554 Commits
Author SHA1 Message Date
Alex | Interchain Labs 960d44842b chore: prep rc2 (#23489) 2025-01-24 12:33:24 -05:00
mergify[bot]andAlex | Interchain Labs 522a2baebd refactor: export HasRegisterServices (backport #23488) (#23490)
Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
2025-01-24 11:33:17 -05:00
auricom 9508724a3c ci: fix simapp dir in makefile (#23498) 2025-01-24 10:45:27 -05:00
mergify[bot]andJulien Robert 4ab1af54c8 chore: re-gen swagger (partial backport #23486) (#23499)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-24 10:40:23 +01:00
36e0cbed15 fix(x/auth/tx): add missing timeoutTimestamp in newBuilderFromDecodedTx (backport #23492) (#23497)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-24 08:26:28 +00:00
mergify[bot]andJulien Robert a2fdd50b20 refactor: simplify sign mode (2/2) (backport #23476) (#23477)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-22 13:47:02 +01:00
mergify[bot]andJulien Robert bc49a8e7fd refactor!: simplify signing packages (backport #23470) (#23475)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-22 13:02:05 +01:00
9c528d5061 build(deps): Bump cosmossdk.io/x/tx from 1.0.0 to 1.0.1 (#23459)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: aljo242 <alex@interchainlabs.io>
2025-01-22 09:19:05 +00:00
mergify[bot]andEric Mokaya 51dc55a3b4 docs: add syncing documentation (backport #23344) (#23474)
Co-authored-by: Eric Mokaya <4112301+ziscky@users.noreply.github.com>
2025-01-22 10:09:14 +01:00
mergify[bot]andJulien Robert 27ff1eb359 fix(x/protocolpool): withdraw rewards before export genesis (backport #23467) (#23471)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-21 15:13:04 +01:00
a79ed8c188 chore: Review feedback (backport #23465) (#23466)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-20 13:55:15 +01:00
2fddc86c8d fix: Add sims export/import test and fix (backport #23462) (#23464)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-20 11:17:54 +01:00
4c47d8dddd refactor!: remove duplicate block (backport #23437) (#23448)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-18 22:26:26 +00:00
2dc4cd5876 build(deps): Bump cosmossdk.io/api from 0.8.1 to 0.8.2 (#23432)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: aljo242 <alex@interchainlabs.io>
2025-01-17 17:32:16 -05:00
Alex | Interchain Labsandaljo242 3a48b2941f chore: remove v2 from 0.52 release branch (#23445)
Co-authored-by: aljo242 <alex@skip.money>
2025-01-17 16:58:29 -05:00
84186b07e1 feat: EmptyAppOptions implement DynamicConfig (backport #23440) (#23446)
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: aljo242 <alex@interchainlabs.io>
2025-01-17 16:45:36 -05:00
mergify[bot]andMarko f42fc60826 chore: revert multisig M>N rule (backport #23439) (#23444)
Co-authored-by: Marko <marko@baricevic.me>
2025-01-17 16:12:12 +01:00
Matt Kocubinski 0390254b29 test: add BeginBlock extension interface to module mocks (#23442) 2025-01-17 15:38:53 +01:00
mergify[bot]andMarko d9e28e42aa refactor(crypto): add check in multisig verification (backport #23395) (#23438)
Co-authored-by: Marko <marko@baricevic.me>
2025-01-17 12:52:38 +00:00
e9a1a1de3f test: add more sims tests (backport #23421) (#23436)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-17 10:38:01 +00:00
mergify[bot] ee47f7ca93 chore(x/auth): use cosmossdk.io/core/codec instead of github.com/cosmos/cosmos-sdk/codec (backport #23403) (#23435) 2025-01-17 11:17:18 +01:00
Julien Robert 0455db9d27 chore: prepare 0.52 rc.2 (#23433) 2025-01-17 10:53:10 +01:00
mergify[bot]andZoro cb11605427 docs: fix autocli for non module commands example code link (backport #23407) (#23434)
Co-authored-by: Zoro <halimao.cat@qq.com>
2025-01-17 10:21:43 +01:00
mergify[bot]andSuiYuan 536fe3f706 docs: fix the outdated description of transaction.Msg (backport #23409) (#23425)
Co-authored-by: SuiYuan <suiyuan.wood@gmail.com>
2025-01-17 01:30:41 +01:00
Alex | Interchain Labs 62609981d0 fix: lint in release/v0.52.x (#23419) 2025-01-17 01:11:19 +01:00
mergify[bot]andTyler f44a150767 fix(x/auth): update proto address conversion query to prevent duplicate HTTP binding (backport #23357) (#23422)
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
2025-01-17 01:08:34 +01:00
mergify[bot] 8da43091dc docs: fix: escape mod reference (backport #23418) (#23424) 2025-01-17 01:00:32 +01:00
Matt Kocubinski 514ce9e0a8 refactor(server): use interface instead of full Application type (#23420) 2025-01-17 00:58:43 +01:00
Julien Robert b885d8a808 chore: prep beta.2 (0.52 branch) (#23414) 2025-01-16 10:52:08 +01:00
mergify[bot]andmmsqe be0c895b67 fix(x/upgrade): register missing implementation for CancelSoftwareUpgradeProposal (backport #23378) (#23412)
Co-authored-by: mmsqe <mavis@crypto.com>
2025-01-16 10:23:43 +01:00
mmsqe 4426a9792b fix(server): allow align block header with skip check header in grpc server (#23244) 2025-01-15 20:40:06 +01:00
mergify[bot]andJulien Robert f4996166e5 docs: clarify what is available in ctx.BlockHeader() (backport #23394) (#23398)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-15 20:37:44 +01:00
mergify[bot]andmmsqe d7004ad1f3 fix(server/v2/cometbft): align default response for filter cmd when handleQueryP2P (backport #23365) (#23379)
Co-authored-by: mmsqe <mavis@crypto.com>
2025-01-14 11:17:19 +01:00
ae5ab855b7 fix(x/upgrade): register missing implementation for SoftwareUpgradeProposal (backport #23179) (#23377)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-14 11:16:42 +01:00
mergify[bot]andmmsqe d08147160c feat(testutil/sims): add back AppStateFnWithExtendedCbs (backport #23236) (#23376)
Co-authored-by: mmsqe <mavis@crypto.com>
2025-01-14 10:40:06 +01:00
MarkoandJulien Robert a40ade9515 feat(server): make rollback command generic (#23321)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-14 09:19:37 +01:00
a05ca7841b test: fix systemtests (partial backport #23361) (#23366)
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-14 08:57:03 +01:00
c0b848a99a test: backport tests changes from #23262 (partial backport #23262) (#23356)
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-13 23:09:58 +01:00
mergify[bot]andMarko e04717f2ac fix: default comet port (backport #23343) (#23353)
Co-authored-by: Marko <marko@baricevic.me>
2025-01-13 18:43:38 +01:00
mergify[bot]andJulien Robert 91602fbdef chore: bump deps (partial backport #23349) (#23352)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-13 18:39:14 +01:00
mergify[bot]andJulien Robert fd651b7366 fix: marshal old tx body if unordered not used (backport #22723) (#23347)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-13 16:43:34 +01:00
2bde4a8557 refactor: use latest store/v2 (partial backport #22336) (#23345)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-13 12:23:20 +01:00
mergify[bot]andJulien Robert 947fa791fc fix(server/v2/grpc): fix reflection (backport #23333) (#23342)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-13 11:55:16 +01:00
5045abbf21 test: Add more sims test scenarios (backport #23278) (#23341)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-13 11:45:37 +01:00
e19ef659f0 chore(x/): use cosmossdk.io/core/codec instead of github.com/cosmos/cosmos-sdk/codec (backport #23313) (#23340)
Co-authored-by: caseylove <casey4love@foxmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-13 10:49:45 +01:00
mergify[bot]andGarmashAlex d828a91274 docs: Add environment documentation link and description (backport #23330) (#23337)
Co-authored-by: GarmashAlex <garmasholeksii@gmail.com>
2025-01-13 10:25:52 +01:00
mergify[bot]andDevOrbitlabs 348975e120 chore(x/gov, x/authz): use cosmossdk.io/core/codec instead of github.com/cosmos/cosmos-sdk/codec (backport #23292) (#23339)
Co-authored-by: DevOrbitlabs <hoa@notional.ventures>
2025-01-13 10:25:34 +01:00
mergify[bot]andJulien Robert f2ec386685 docs: clarification on timeout timestamp (backport #23322) (#23338)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-13 10:20:17 +01:00
mmsqe 0dafc77620 fix(simapp/v2): add MigrateAccountNumberUnsafe for v050-to-v2 (#23335) 2025-01-13 08:42:42 +01:00
mergify[bot] 921e1b2867 fix(simapp/v2): correctly wire client/v2, clean-up api client/v2 (backport #23325) (#23327) 2025-01-10 19:14:30 +01:00
mergify[bot]andMatt Kocubinski 13dddd3705 refactor(x/auth/tx): Provide DefaultTxDecoder (backport #23318) (#23319)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
2025-01-10 13:37:31 +01:00
11ee0b88ec fix(systemtests): align halt-height with comet in upgrade (backport #23306) (#23317)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2025-01-10 11:56:14 +01:00
mmsqe 3ca6544b9b feat(x/auth/ante): allow custom verifyIsOnCurve when validate tx for public key (backport: #23128) (#23285) 2025-01-10 09:33:47 +01:00
2a745c7961 chore(x/upgrade): Use cosmossdk.io/core/codec instead of github.com/cosmos/cosmos-sdk/codec (backport #23261) (#23282)
Co-authored-by: Tuan Tran <tropicaldog17@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-10 09:31:52 +01:00
mergify[bot]andmmsqe 0d4f2ec5c8 fix(x/auth/tx): avoid panic from newWrapperFromDecodedTx (backport #23170) (#23284)
Co-authored-by: mmsqe <tqd0800210105@gmail.com>
2025-01-09 23:47:44 +01:00
mergify[bot]andDevOrbitlabs c0e94ff79e chore(x/auth): use cosmossdk.io/core/codec instead of github.com/cosmos/cosmos-sdk/codec (backport #23273) (#23280)
Co-authored-by: DevOrbitlabs <hoa@notional.ventures>
2025-01-09 21:16:37 +01:00
4c6e34be28 feat(sims): Integration with app v2 (backport #23013) (#23267)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-09 11:18:55 +01:00
mergify[bot]andZoro 0d526b4339 docs: fix runtime doc dead link to app-go-di.md (backport #23264) (#23268)
Co-authored-by: Zoro <halimao.cat@qq.com>
2025-01-09 11:02:04 +01:00
6b943b25c0 docs: add a synopsis upgrade doc for 52 (backport #23097) (#23258)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-08 15:10:13 +01:00
e1c7722765 build: remove RocksDB (partial backport #23212) (#23237)
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-07 21:14:05 +01:00
mergify[bot]andJulien Robert 4ed7118f79 fix(x/staking): use overwritten default bond denom (backport #23233) (#23235)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-07 11:54:48 +01:00
mergify[bot]andarlai 2bcc767825 fix: query balances with --resolve-denom panics on invalid metadata.Display (backport #23149) (#23232)
Co-authored-by: arlai <118589706+arlai-mk@users.noreply.github.com>
2025-01-07 09:09:12 +01:00
Matt KocubinskiandJulien Robert c6327ea6e4 fix(tests): fix x/tx/aminojson test failure (#23207)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 21:26:22 +01:00
mergify[bot]andmmsqe 77beabf213 fix(x/auth/tx): add missing CacheWithValue for ExtensionOptions (backport #23144) (#23206)
Co-authored-by: mmsqe <mavis@crypto.com>
2025-01-06 18:19:36 +01:00
mergify[bot]andJulien Robert 047d440c2b build(deps): bump core,collections,api,x/tx,math final (backport #23198) (#23205)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 17:41:06 +01:00
0b6205e49e ci: ci cleanup (backport #23192) (#23203)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 16:04:27 +01:00
fb699ac31a feat(collections): add Address and Integer codecs (backport #22517) (#23202)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 15:45:52 +01:00
mergify[bot]andmmsqe 4224be3f02 feat(simsx): allow RunWithSeeds with custom randAccFn (backport #23197) (#23199)
Co-authored-by: mmsqe <mavis@crypto.com>
2025-01-06 13:59:33 +01:00
96c05451f4 test(test/systemtests): Add GasImprovement test (backport #22927) (#23067)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 13:24:35 +01:00
95c44e587a fix(x/gov,x/distribution): Balance assertions on genesis import shouldn't be exact (backport #22832) (#23194)
Co-authored-by: violet <158512193+fastfadingviolets@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 12:34:07 +01:00
mergify[bot]andmmsqe 394c22a860 fix(simsx): make use chainID from config (backport #23185) (#23196)
Co-authored-by: mmsqe <mavis@crypto.com>
2025-01-06 12:02:28 +01:00
mergify[bot]andMarko 3c04752296 fix(x/staking): avoid overriding error (backport #23076) (#23195)
Co-authored-by: Marko <marko@baricevic.me>
2025-01-06 11:05:05 +01:00
mergify[bot]andMiguel Dingli 773d28c975 test: Fix total supply bug in test util GenesisStateWithValSet (backport #23072) (#23110)
Co-authored-by: Miguel Dingli <migueldingli97@gmail.com>
2025-01-06 10:47:48 +01:00
43e24567f0 fix: collection filtered pagination (backport #23002) (#23139)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
Co-authored-by: akhilkumarpilli <akhilkumar7947@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 10:43:27 +01:00
117006b281 feat(simapp/v2): wire new grpc gateway server (partial backport #22941) (#23189)
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 10:35:31 +01:00
92af502815 refactor: improve edge case handling for recursion limits (backport #22988) (#23191)
Co-authored-by: haiyizxx <haiyizxx@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 09:38:19 +01:00
dependabot[bot]andmarbar3778 8e710b7efc build(deps): Bump github.com/cosmos/iavl from 1.3.4 to 1.3.5 (#23121)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2025-01-06 09:07:58 +01:00
b9573767d2 fix(x/auth/tx): avoid panic from intoAnyV2 when v1.PublicKey is optional (backport #23148) (#23187)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 09:07:02 +01:00
54259e6d10 refactor: remove invariants (backport #22994) (#23040)
Co-authored-by: Alex | Skip <alex@skip.money>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2025-01-06 09:06:09 +01:00
mergify[bot]andhatti 0c2e4263f5 docs: add missing modules accounts and group in modules list (backport #23125) (#23186)
Co-authored-by: hatti <hattizai@gmail.com>
2025-01-06 08:54:35 +01:00
mergify[bot] 84301c8db0 test(systemtest): Fix QueryBySig (backport #23102) (#23112) 2024-12-29 09:02:58 +01:00
2a3b0bb34a docs: fixed typos and improved clarity in documentation (partial backport #23077) (#23111)
Co-authored-by: Bob <158583129+bouchmann@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-28 22:44:49 +01:00
mergify[bot]andleo 5bbb91676d docs: Quotation marks are used incorrectly. (backport #23071) (#23114)
Co-authored-by: leo <lc582041246@gmail.com>
2024-12-28 22:41:04 +01:00
mergify[bot]andDongLieu d254181005 docs: updates Example, Use auctocli (backport #23088) (#23113)
Co-authored-by: DongLieu <93205232+DongLieu@users.noreply.github.com>
2024-12-28 22:39:24 +01:00
mergify[bot]andshubh7791 4d1dd3d37e docs: Fix typo in x/slashing/README.md (backport #23107) (#23109)
Co-authored-by: shubh7791 <103331736+shubh7791@users.noreply.github.com>
2024-12-28 22:36:31 +01:00
Robert Zaremba 1a7ce167ed build(deps): use server/v2/cometbft v1.0.0-beta.1 (#23068) 2024-12-24 11:15:54 +01:00
mergify[bot] 013e5f59f2 docs: fix typos in documentation files (backport #23063) (#23066) 2024-12-23 13:42:00 +01:00
612848c9b4 docs: fix dead link in UPGRADING.md (backport #23059) (#23065)
Co-authored-by: Zoro <halimao.cat@qq.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-12-23 11:50:58 +00:00
mergify[bot]andJulien Robert f796021c99 docs: create v2 upgrading guide skeleton (backport #22696) (#23036)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-20 12:16:36 +01:00
mergify[bot]andJulien Robert 0e797c8066 chore: prepare v2 beta (3/3) (backport #23034) (#23035)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-20 10:42:16 +01:00
ba8d717352 refactor(simapp/v2): wire telemetry in testnet command (partial backport #23022) (#23033)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-20 09:57:07 +01:00
dependabot[bot] 44d6a55278 build(deps): Bump github.com/cosmos/ledger-cosmos-go from 0.13.3 to 0.14.0 (#23031) 2024-12-20 07:28:44 +01:00
mergify[bot]andDamian Nolan 05b5a4eb71 fix(baseapp): fulfil all header.Info fields in test helpers context (backport #23014) (#23016)
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
2024-12-19 21:59:32 +01:00
mergify[bot]andJulien Robert 4abcefc19d test: investigate test failure due to wal log (backport #22679) (#23011)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-19 18:52:43 +01:00
5ac1da46b7 feat(server/v2/cometbft): Implement necessary handlers and helpers for vote extensions (backport #22830) (#23006)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-19 14:05:15 +01:00
mergify[bot]andgithub-actions[bot] 243332dca2 chore: fix spelling errors (backport #23004) (#23005)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-19 13:31:19 +01:00
Julien Robert 57bcb144a8 chore: the great replace removal (release/v0.52.x) (3/3) (#22986) 2024-12-18 18:39:16 +01:00
39dfcb5d8e chore(docs): fix incorrect usage of 'a' and 'an' across documentation (backport #22976) (#22987)
Co-authored-by: Ocenka <testoviydiman1@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-18 18:24:22 +01:00
Julien Robert 4b225cacb8 chore: the great replace removal + cl + release notes prep (release/v0.52.x) (2/3) (#22983) 2024-12-18 17:28:53 +01:00
mergify[bot]andJulien Robert d2dd935351 refactor: simplify group dependency graph (partial backport #22978) (#22982)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-18 15:36:37 +01:00
Julien Robert 98acf3af8f chore: the great replace removal (release/v0.52.x) (1/3) (#22977) 2024-12-18 13:01:43 +01:00
mergify[bot]andJulián Toledano 47409028a7 feat(client/v2): support definitions of inner messages (backport #22890) (#22980)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-12-18 12:09:10 +01:00
221b8ab377 refactor(x/mint): remove staking as a required module (backport #21858) (#22979)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-18 12:08:54 +01:00
Julien Robert fa8ce1ebd7 sync with main 2024-12-18 11:40:25 +01:00
mergify[bot]andJulien Robert 182dc41cb0 chore: package release prep (3/n) (backport #22929) (#22971)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-18 10:42:23 +01:00
mergify[bot]andJulien Robert 61390f600a refactor: limit breaking changes for next version (backport #22972) (#22974)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-18 10:10:11 +01:00
mergify[bot] 335697d946 chore: fix docs links (backport #22931) (#22933) 2024-12-17 19:55:46 +01:00
b6fa6747c5 fix(x/accounts/default/lockup): Lockup account track undelegation when unbonding entry is mature (backport #22254) (#22930)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-17 18:03:28 +01:00
mergify[bot]andJulien Robert 6634711fb0 chore: re-add IntProto and DecProto and deprecate msg (backport #22925) (#22928)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-17 16:22:58 +01:00
dependabot[bot]andJulien Robert bf4f3c730d build(deps): Bump github.com/cosmos/iavl from 1.3.2 to 1.3.3 (#22920)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-17 11:03:01 +01:00
mergify[bot]andJulien Robert 3104dd1b51 chore: package release prep (2/n) (backport #22885) (#22910)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-16 21:38:49 +01:00
mergify[bot]andAlex | Skip 50ba3c9391 refactor(x/validate): add nil protection (backport #22902) (#22909)
Co-authored-by: Alex | Skip <alex@skip.money>
2024-12-16 20:45:32 +01:00
mergify[bot] 9065da9401 test: fix failing tests after protocompat changes (backport #22889) (#22897) 2024-12-16 19:07:25 +01:00
9b38363003 chore: fix spelling errors (backport #22888) (#22899)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-12-16 18:46:00 +01:00
Alexander Peters 896911659d Merge commit from fork
* Limit recursion depth for unknown field detection

* Limit unpack any

* Update changelog

* Another limit recursion depth for unknown field detection

* Remove x/tx files
2024-12-16 17:07:24 +01:00
mergify[bot]andmmsqe 98393bea6b fix(test): avoid concurrent read and write on same hash in oe test (backport #22892) (#22894)
Co-authored-by: mmsqe <mavis@crypto.com>
2024-12-16 15:00:01 +01:00
0a18aca8b1 refactor(x/staking)!: removing unbonding queue index (backport #22795) (#22886)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-16 13:15:43 +01:00
mergify[bot]andJulien Robert 854c024ad9 chore: package release prep + update UPGRADING.md (backport #22864) (#22883)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-16 11:24:37 +01:00
mergify[bot]andlilasxie 356ca4ed83 docs: correct Continous spelling to Continuous (backport #22880) (#22882)
Co-authored-by: lilasxie <thanklilas@163.com>
2024-12-16 09:50:33 +01:00
mergify[bot] b6441e00a6 docs: fix spelling errors in the description (backport #22874) (#22879) 2024-12-16 07:42:44 +01:00
mergify[bot] 2e15f67370 refactor(client/v2): remove gov dependency (backport #22867) (#22869) 2024-12-13 21:01:29 +01:00
mergify[bot]andtestinginprod f1e881e81b fix(baseapp): hybrid handlers do not drop any (backport #22866) (#22868)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
2024-12-13 16:57:09 +01:00
Akhil Kumar P a643d3afcf chore: backport x/staking integration test migration changes (#22863) 2024-12-13 13:17:17 +01:00
son trinh eac97c9055 chore: Using context.Context in x/staking and testutil test helper (#22861) 2024-12-13 09:54:59 +01:00
mergify[bot]andJulien Robert b740c7f341 chore: sync changelog to main + clean-up replaces (backport #22846) (#22860)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-13 09:48:49 +01:00
1fbc00394a feat(tools/benchmark): introduce benchmark module (backport #22778) (#22851)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-13 08:49:21 +01:00
mergify[bot]andJulien Robert af4ecd9571 fix(stf,server/v2/cometbft): fix default events + improve codec handling (backport #22837) (#22848)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-12 12:03:46 +01:00
Robert ZarembaandJulien Robert aa32fa0c54 build(deps): fix x/protocolpool version in x/feegrant (#22839)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-12 10:20:37 +01:00
mergify[bot]andJulien Robert 25d0b700d4 test(systemtest): fix cometbft client (backport #22835) (#22836)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-11 22:04:20 +01:00
d6d177771d refactor(server/v2/cometbft): Handle non-module service queries (backport #22803) (#22834)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-11 17:15:21 +01:00
mergify[bot]andJulien Robert 95e940670d refactor(testutil)!: remove cmdtest (backport #22826) (#22828)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-11 13:19:15 +01:00
d7e7af42e2 feat(client/v2)!: dynamic prompt (backport #22775) (#22827)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-11 12:30:41 +01:00
mergify[bot]andJulien Robert 721e83882c docs: runtime docs (backport #22816) (#22824)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-11 09:37:19 +01:00
mergify[bot]andJulien Robert 3ba671f0e8 chore(client/v2): sync client/v2 with main (backport #22493, #22817) (#22820)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-10 22:30:41 +01:00
0cf6cd800c feat(version): update version command to return v2 info (backport #22807) (#22818)
Co-authored-by: Alex | Skip <alex@skip.money>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-10 18:17:04 +01:00
9ec294a356 feat(indexer/postgres)!: add basic support for header, txs and events (backport #22695) (#22808)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-09 21:02:58 +01:00
mergify[bot]andJulien Robert 10efb9c1b5 test(systemtests): fix export v2 (backport #22799) (#22806)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-09 16:57:51 +01:00
17c17b6287 feat(x/accounts)!: make address generation more robust and add predictable address creation (backport #22776) (#22805)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-09 16:38:55 +01:00
d65bc30bfd chore: fix spelling errors (backport #22802) (#22804)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-09 13:58:31 +01:00
9316c676f5 chore(docs): update store v2 adr (backport #22794) (#22801)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-09 12:31:46 +01:00
mergify[bot] 96c4e7a535 docs: rewrite building module section (2/n) -- env + core services (backport #22790) (#22800) 2024-12-09 11:14:52 +01:00
mergify[bot]andJulien Robert db667a849d fix(simapp/v2): register extra gRPC gateway routes (backport #22786) (#22798)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-09 08:58:12 +01:00
mergify[bot]andJulien Robert aa9a8d9121 test(systemtests): fix mint v2 tests (backport #22789) (#22792)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-06 15:13:01 +01:00
mergify[bot]andson trinh 0432cffdc0 docs(x/accounts/defaults/lockup): Add slash document for lockup account (backport #22783) (#22791)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
2024-12-06 14:38:30 +01:00
mergify[bot]andJulien Robert 7f5ff068c2 test(systemtests): fix gRPC tests for v1 & v2 (backport #22774) (#22788)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-06 12:18:14 +01:00
b37887e09c test(systemtests): fix query block-results in TestStakeUnstake for v2 (backport #22782) (#22784)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-06 07:39:56 +01:00
mergify[bot] 8b4dd8ee34 fix(confix): correctly distinguish server/v2 config (backport #22780) (#22781) 2024-12-06 07:21:26 +01:00
a565cf5c2a test(server/v2/cometbft): Add Consensus query p2p, app, grpc (backport #22771) (#22773)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-05 12:30:54 +01:00
mergify[bot]andDong Lieu d183da281d docs(x/gov): Sync Example with Use in autocli (backport #22768) (#22770)
Co-authored-by: Dong Lieu <93205232+DongLieu@users.noreply.github.com>
2024-12-05 10:00:01 +01:00
mergify[bot]andJulien Robert ffb870ec88 fix(server/v2/cometbft): proper query error (backport #22746) (#22759)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-04 17:23:08 +01:00
mergify[bot]andDamian Nolan 17fe120ba0 fix(baseapp): sort res.Validators before comparing in InitChain (backport #22757) (#22758)
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
2024-12-04 16:47:14 +01:00
61865a6bd8 fix: prune cmd should disable async pruning (backport #22656) (#22756)
Co-authored-by: yihuang <huang@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-04 14:28:18 +01:00
mergify[bot]andJulien Robert 4c5632ca90 feat(server/v2/stf): delayed marshalling of typed event (partial backport #22684) (#22751)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-04 11:40:58 +01:00
a595e3cc97 refactor(x/accounts): revert #22674 and bump runtime (partial backport #22744) (#22749)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-04 11:15:42 +01:00
mergify[bot]andDamian Nolan a3c2f423d4 fix(baseapp): set req.Time for ctx header info in ExtendVote (backport #22745) (#22750)
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
2024-12-04 11:15:25 +01:00
c9a0baadad ci: disable mockgen that fails duplicate imports error (backport #22743) (#22748)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-04 11:08:32 +01:00
mergify[bot]andAlex | Skip 5a18da34d8 docs(simapp): update CHANGELOG to proper version (backport #22739) (#22740)
Co-authored-by: Alex | Skip <alex@djinntek.world>
2024-12-03 23:34:52 +01:00
mergify[bot]andJulien Robert e98f6905e1 refactor(server/v2/cometbft): integrate appmanager changes (partial backport #22729) (#22738)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-03 22:44:16 +01:00
mergify[bot]andDamian Nolan dd8557ddd5 fix(baseapp): correctly set header info time on query ctx (backport #22732) (#22737)
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
2024-12-03 22:20:13 +01:00
mergify[bot]andJulien Robert 43af640664 refactor(server/v2/grpc): simplify node service (backport #22728) (#22735)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-03 22:09:43 +01:00
7911d732d4 refactor(server/v2/cometbft): sync with storage changes (partial backport #22683) (#22734)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-03 17:47:39 +01:00
mergify[bot]andJulien Robert a9f8400bf0 docs: rewrite building module section (1/n) - mm (backport #22724) (#22730)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-03 15:57:08 +01:00
mergify[bot]andJulien Robert c695ed849e fix(x/auth): facultative vesting as well in simulation (backport #22721) (#22726)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-03 10:01:52 +01:00
mergify[bot]andMarko 76f8af9617 fix(crypto): bls compilation (backport #22717) (#22720)
Co-authored-by: Marko <marko@baricevic.me>
2024-12-02 19:01:39 +01:00
21bad344bb feat(simapp/v2): wire grpcgateway server (partial backport #22701) (#22713)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-12-02 13:36:25 +01:00
mergify[bot]andmmsqe b357013613 fix(simapp/v2): failed to start HTTP server on port 8080 conflict (backport #22687) (#22711)
Co-authored-by: mmsqe <mavis@crypto.com>
2024-12-02 11:42:48 +01:00
mergify[bot] e17f3abe6f fix(simapp/v2): add binary version cmd (backport #22705) (#22708) 2024-12-02 09:17:13 +01:00
6d4992bc3e refactor(server/v2/cometbft): drop sqlite (partial backport #22424) (#22700)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-30 00:10:11 +01:00
Alexander Peters 92733752d3 test: fix chain upgrade (0.50 -> 0.52) test setup (#22685) 2024-11-28 16:31:13 +01:00
mergify[bot]andJulien Robert bfdff957b1 feat(server/v2,upgrade): add skip upgrade flag (backport #22682) (#22686)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-28 16:29:59 +01:00
61691b5c2c feat(indexer): add to modules and implement proto fields (backport #22544) (#22676)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Facundo <facundomedica@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-28 14:12:02 +01:00
mergify[bot] 112d0a8e17 feat(server/v2/cometbft): optimistic execution (backport #22560) (#22680) 2024-11-28 13:51:29 +01:00
mergify[bot]andJulien Robert 7e68997d13 build(deps): bump cometbft to v1.0.0-rc2 (backport #22577) (#22678)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-28 13:11:52 +01:00
mergify[bot]andHieu Vu 496ec07f01 fix: TestAccountsMigration systemtest with simdv2 (backport #22673) (#22674)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-11-28 10:37:15 +01:00
dependabot[bot]andJulien Robert 3c34dedbcd build(deps): Bump github.com/cosmos/iavl from 1.3.1 to 1.3.2 (#22664)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-27 11:21:56 +01:00
9402649d98 refactor(systemtests): Extract system test framework (backport #22578) (#22655)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-26 18:01:24 +01:00
mergify[bot]andMarko 26e869e112 chore: move generic txdecoder (backport #22653) (#22654)
Co-authored-by: Marko <marko@baricevic.me>
2024-11-26 15:50:43 +01:00
mergify[bot]andJulien Robert d52f5e8642 fix(x/staking): use staking bonddenom in check (backport #22646) (#22649)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-26 09:36:18 +01:00
mergify[bot]andJulien Robert 53dff03a36 fix(testutil/integration): use only one context in integration test framework (backport #22616) (#22642)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-25 13:02:50 +01:00
c9451b7fd8 feat(x/bank): Allow value with slashes in DenomMetadata (backport #22543) (#22640)
Co-authored-by: Joowon Yun <40225835+JoowonYun@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-25 11:39:45 +01:00
mergify[bot]andHieu Vu a1d78efc49 test: fix integration test TestSendEnabled (backport #22620) (#22624)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-11-22 16:37:01 +01:00
c8ef0ef3ff fix: match comets bls implmentation (backport #22613) (#22621)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: sontrinh16 <trinhleson2000@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-22 13:15:11 +01:00
mergify[bot]andviolet 0d34054516 fix(client/v2/autocli): prevent duplicate addition of customCommands (backport #22576) (#22614)
Co-authored-by: violet <158512193+fastfadingviolets@users.noreply.github.com>
2024-11-21 16:39:40 +01:00
adf5e1ee1f build(deps): Bump cosmossdk.io/math from 1.3.0 to 1.4.0 (#22611)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-21 09:17:27 +01:00
cc6b60ff8a fix(server/v2/api/telemetry): enable global metrics (backport #22571) (#22579)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-20 19:57:53 +01:00
mergify[bot]andJulien Robert f1b3b3d7e6 refactor(server/v2/cometbft): add codec.Codec and clean-up APIs (backport #22566) (#22575)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-20 17:07:15 +01:00
mergify[bot]andJulien Robert 8f7fbf6cd5 fix(server(/v2)): fix fallback genesis path (backport #22564) (#22572)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-20 16:18:49 +01:00
mergify[bot]andDamian Nolan 756d4bbaf1 fix: only overwrite context chainID when necessary (backport #22568) (#22569)
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
2024-11-20 12:05:56 +01:00
mergify[bot]andEric Mokaya 088c8d1967 docs(client): Update setFeeGranter and setFeePayer comments (backport #22526) (#22567)
Co-authored-by: Eric Mokaya <4112301+ziscky@users.noreply.github.com>
2024-11-20 11:35:18 +01:00
mergify[bot] 7c1bb027ab fix(baseapp): populate header info in NewUncachedContext (backport #22557) (#22565) 2024-11-20 11:54:48 +04:00
mergify[bot]andNAIHANU 3a26c3be15 docs: Update reference of Approximation (backport #22550) (#22558)
Co-authored-by: NAIHANU <NAIHANU@protonmail.com>
2024-11-19 16:47:35 +01:00
mergify[bot]andJulien Robert 3fcdcae7cb fix(server/v2/comebft): wire missing services + fix simulation (backport #21964) (#22555)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-19 16:24:50 +01:00
0083431ba9 feat(x/protocolpool)!: allow any coins in continuous funds (backport #21916) (#22512)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Facundo <facundomedica@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-18 11:30:03 +01:00
dependabot[bot] 12ac327eda build(deps): Bump cosmossdk.io/log from 1.4.1 to 1.5.0 (#22490) 2024-11-13 11:41:42 +04:00
mergify[bot]andmiddthe 6ccd1e4e25 docs: Update protobuf tx signing message format outer link (backport #22510) (#22511)
Co-authored-by: middthe <middthe@gmail.com>
2024-11-12 09:14:52 +01:00
mergify[bot] 2b4f5fb326 test(accounts): fix integration tests (backport #22418) (#22509) 2024-11-11 22:04:40 +04:00
mergify[bot]andJulien Robert 0d068d1f5a fix(server/v2): improve server stop (backport #22455) (#22496)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-08 16:36:10 +01:00
9a7ca00faf refactor(server/v2): simplify genesis flow (partial backport #22435) (#22494)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-08 16:32:48 +01:00
1250d2a6da test(integration): port x/bank tests to server/v2 app (backport #21912) (#22457)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-08 15:30:23 +01:00
mergify[bot] a0458127fc feat(x/circuit): Allow msg Reset with empty msgURL (backport #22459) (#22491) 2024-11-08 10:10:10 +04:00
cb32699c1f build(deps): upgrade to iavl@v1.3.1 (backport #22436) (#22440)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-07 21:00:36 +01:00
mergify[bot]andauricom 394e1c514e build(deps): Bump actions/xxx-artifact from v3 to v4 (backport #22468) (#22470)
Co-authored-by: auricom <27022259+auricom@users.noreply.github.com>
2024-11-07 17:34:27 +01:00
dependabot[bot]andgithub-actions 964b429f74 build(deps): Bump cosmossdk.io/x/tx from 1.0.0-alpha.1 to 1.0.0-alpha.2 (#22467)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-07 13:45:49 +01:00
9642391dbc fix(indexer): the issues during simapp v1 integration (backport #22413) (#22461)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-07 10:21:17 +01:00
mergify[bot]andGnaD 919e39d101 feat(x/circuit): Add validation for permission when an account is assigned and validation for msgURL (backport #22460) (#22464)
Co-authored-by: GnaD <89174180+GNaD13@users.noreply.github.com>
2024-11-07 10:02:53 +01:00
mergify[bot]andJulien Robert 535aa2f350 fix(simapp/v2): full AutoCLI support (backport #22410) (#22458)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-06 22:12:33 +01:00
mergify[bot]andGnaD 84f29c8d4a docs(x/circuit): Update specific detail on x/circuit module document (backport #22453) (#22456)
Co-authored-by: GnaD <89174180+GNaD13@users.noreply.github.com>
2024-11-06 19:53:44 +01:00
mergify[bot]andJulien Robert f86f823d3a refactor(server/v2): remove serverv2.AppI (partial backport #22446) (#22454)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-06 19:07:40 +01:00
mergify[bot]andJulien Robert e018ac1c1d feat(client/v2): add keyring flags in query commands (backport #22443) (#22444)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-06 16:20:11 +01:00
Alexander Peters 3021efde01 chore: Set build tag for chain upgrade test (#22442) 2024-11-06 13:09:38 +01:00
d4d25aff87 docs: Update tendermint validators query pagination documentation (backport #22412) (#22439)
Co-authored-by: Eric Mokaya <4112301+ziscky@users.noreply.github.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-11-06 10:41:35 +01:00
d1911948f5 refactor(client/v2): offchain uses client/v2/factory (backport #22344) (#22437)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-05 17:48:47 +01:00
Alexander Peters 5850522376 test(system): Correct legacy chain initializer (#22433) 2024-11-05 16:32:03 +01:00
mergify[bot]andJulien Robert a98ac47c84 fix(x/group): proper address rendering in error (backport #22425) (#22431)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-05 10:15:30 +01:00
d67d6a275b refactor(serevr/v2/cometbft): update RegisterQueryHandlers and GRPC queries (backport #22403) (#22429)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Hieu Vu <hieuvubk@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-05 09:34:57 +01:00
mergify[bot] 5bb5c457b0 docs: update ADR 59 (backport #22423) (#22430) 2024-11-05 11:46:24 +04:00
1217642485 feat(client/v2): broadcast logic (backport #22282) (#22415)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-11-04 17:47:11 +01:00
mergify[bot]andEric Mokaya 942ffb37cf docs: Module account address documentation (backport #22289) (#22417)
Co-authored-by: Eric Mokaya <4112301+ziscky@users.noreply.github.com>
2024-11-04 17:31:56 +01:00
mergify[bot]andJulián Toledano c74f7e83d1 feat(client/v2): factory (backport #20623) (#22416)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-11-04 15:24:24 +01:00
878e306e23 feat(indexer): implement schema.HasModuleCodec interface in the bank module (backport #22349) (#22398)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-11-04 13:10:54 +01:00
a967b93e24 fix(server/v2): return ErrHelp (backport #22399) (#22400)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-31 09:20:35 +01:00
ea770de0fd refactor(server/v2): eager config loading (backport #22267) (#22391)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-29 10:49:58 +01:00
mergify[bot] 623d7227a3 test(system): check feePayers signature (backport #22389) (#22390) 2024-10-28 23:41:34 +04:00
mergify[bot] 2ff319cfe7 ci: increase test-system timeout (backport #22386) (#22387) 2024-10-28 17:11:46 +04:00
dependabot[bot] 7f3242f7e6 build(deps): Bump cosmossdk.io/core from 1.0.0-alpha.4 to 1.0.0-alpha.5 (#22383) 2024-10-28 15:11:17 +04:00
mergify[bot]andHieu Vu d398b23061 test: migrate e2e/tx tests to systemtest (backport #22152) (#22354)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-10-27 23:59:09 +01:00
33d8838df7 test: migrate remaining e2e tests to integration tests (backport #22364) (#22381)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-27 23:56:35 +01:00
08f2a26e51 test: e2e/client to system tests (backport #21981) (#21986)
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Julian Toledano <jtoledanodiaz@gmail.com>
2024-10-27 23:55:50 +01:00
mergify[bot]andPratik patil f16b478e13 docs: fixed typo in threshold and quorums section of onchain multi-sig guide in user guide section of sdk docs (backport #22374) (#22375)
Co-authored-by: Pratik patil <64604209+pratikpatil2001@users.noreply.github.com>
2024-10-26 21:51:27 +02:00
b5e9e56d18 feat(accounts): re-introduce bundler (backport #21562) (#22365)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-25 17:20:59 +02:00
mergify[bot]andJulián Toledano 3564de3eab docs: learn/advance (backport #22367) (#22370)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-10-25 17:16:47 +02:00
d7eb09a9d9 test: migrate e2e/genutil to systemtest (backport #22325) (#22366)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-25 15:58:29 +02:00
mergify[bot]andAkhil Kumar P eefb4c5586 test: migrate e2e/baseapp to integration tests (backport #22357) (#22359)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-10-24 16:39:13 +02:00
mergify[bot]andAkhil Kumar P 5fad40124a test: add x/circuit system tests (backport #22331) (#22355)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-10-24 12:05:03 +02:00
mergify[bot]andMark Rushakoff c296622417 refactor(simdv2): allow non-comet server components (backport #22351) (#22353)
Co-authored-by: Mark Rushakoff <mark.rushakoff@gmail.com>
2024-10-24 10:40:41 +02:00
mergify[bot] 9179814271 chore(simdv2): allow overriding the --home flag (backport #22348) (#22350) 2024-10-24 00:14:29 +04:00
c6b5f4afbe chore: remove unused local variables (backport #22340) (#22343)
Co-authored-by: zakir <80246097+zakir-code@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-23 13:24:11 +02:00
mergify[bot]andJulien Robert 3bb6b60cc5 docs(x/accounts): improve comments (backport #22339) (#22342)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-23 13:02:51 +02:00
mergify[bot]andLucas Francisco López 1d727a337a test: x/accounts systemtests (backport #22320) (#22338)
Co-authored-by: Lucas Francisco López <lucaslopezf@gmail.com>
2024-10-23 12:31:56 +02:00
mergify[bot]andMark Rushakoff d6028b1797 chore(client): use command's configured output (backport #22334) (#22337)
Co-authored-by: Mark Rushakoff <mark.rushakoff@gmail.com>
2024-10-23 01:26:38 +02:00
dependabot[bot] 7df17f4671 build(deps): Bump cosmossdk.io/x/tx from 0.13.4-0.20241003111526-30003f667944 to 1.0.0-alpha.1 (#22330) 2024-10-22 20:03:20 +02:00
mergify[bot] b102343368 fix(x/accounts/lockup): fix proto path (backport #22319) (#22328) 2024-10-22 10:49:29 +02:00
e87562ab45 feat(server/v2): init the indexer in server/v2 (partial backport #22218) (#22324)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-21 17:18:37 +02:00
mergify[bot] 39a726b673 refactor(server/v2): simplify app manager (partial backport #22300) (#22323) 2024-10-21 16:13:35 +02:00
mergify[bot]andJulien Robert 89219a38fc feat(systemtests): increase verbosity (backport #22306) (#22310)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-18 13:28:10 +02:00
mergify[bot] 53ae84a49c fix: sequence should be higher or equal than expected during checktx and equal during deliver tx (backport #22299) (#22307) 2024-10-17 22:44:12 +02:00
mergify[bot]andAkhil Kumar P 2f4dda4118 test: migrate e2e/mint to system tests (backport #22294) (#22304)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-10-17 16:33:19 +02:00
mergify[bot]andJulien Robert 15bd96f57d feat(baseapp): Abort OE in PrepareProposal (Upstream dydx) (backport #22287) (#22303)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-17 15:16:55 +02:00
mergify[bot]andJulien Robert ce839cc81b fix(server/v2/cometbft): fix mock store (backport #22293) (#22298)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-17 12:54:27 +02:00
0eac5e1988 refactor: improvements on rest v2 server (backport #22292) (#22297)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-17 11:13:46 +02:00
mergify[bot]andVishal Potpelliwar 9e0831bd00 docs(x/accounts): fix doc (backport #22295) (#22296)
Co-authored-by: Vishal Potpelliwar <71565171+vishal-kanna@users.noreply.github.com>
2024-10-17 10:56:54 +02:00
mergify[bot]andAkhil Kumar P 40f7878ca0 test: migrate e2e/group to system tests (backport #22278) (#22286)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-10-17 10:20:25 +02:00
mergify[bot] 1cd7babcf2 chore: add crisis changelog (backport #22280) (#22283) 2024-10-16 20:06:27 +02:00
aab02aba36 chore(server): bump cosmossdk.io/core and correct comment naming (backport #22245) (#22269)
Co-authored-by: Hoa Nguyen <hoa@notional.ventures>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-10-15 16:28:08 +02:00
5f534c9e11 chore(server/v2/cometbft): simplify getProtoRegistry (backport #22248) (#22260)
Co-authored-by: Hoa Nguyen <hoa@notional.ventures>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-15 15:41:01 +02:00
mergify[bot] f15e5b9b70 chore(doc): Update sims doc (backport #22258) (#22266) 2024-10-15 15:09:32 +02:00
mergify[bot] 2a7fba48cc docs: update some learn/advanced (backport #22255) (#22265) 2024-10-15 14:49:25 +02:00
8179cf4748 docs(crypto): update docs (backport #22247) (#22256)
Co-authored-by: xujikks <xujikksjjfjf@163.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-14 14:50:47 +02:00
mergify[bot]andJulien Robert 5ac8aaec10 fix(server/v2/cometbft): wire app closer (backport #22240) (#22250)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-14 09:20:52 +02:00
mergify[bot]andJulien Robert 8abc73ac4b fix(server/v2): use only one logger for app and server (backport #22241) (#22249)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-14 09:11:07 +02:00
mergify[bot]andAkhil Kumar P ba5966f7dd test: migrate e2e/auth to system tests and fix sign-batch (backport #22149) (#22234)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-10-11 14:54:06 +02:00
mergify[bot]andJulien Robert a96debdcb3 chore(x/group): update supported flags (backport #22229) (#22230)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-11 13:43:29 +02:00
57a32ddc6c test(systemtest): Fix prune & gov test (backport #22190) (#22196)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-11 09:34:57 +02:00
mergify[bot] 3f4a25d19c refactor(runtime/v2): use AppI.GetStore() to fetch an initialized RootStore (backport #22205) (#22224) 2024-10-10 19:07:35 +02:00
mergify[bot]andJulián Toledano 0f961f7177 docs(x/staking): update readme (backport #22216) (#22221)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-10-10 15:19:33 +02:00
Julien Robert f4d3000cfa chore: link fixes in 0.52 (#22212) 2024-10-10 10:24:42 +00:00
mergify[bot]andJulien Robert 69c55a882b docs: add docs boilerplate (backport #22202) (#22209)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-10 10:29:47 +02:00
mergify[bot]andJulien Robert 4af4c271ff docs: bring back user docs in main repo (backport #22201) (#22208)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-10 09:33:49 +02:00
mergify[bot]andauricom 9f702257b2 ci: reduce rocksdb-cache execiton frequence (backport #22193) (#22199)
Co-authored-by: auricom <27022259+auricom@users.noreply.github.com>
2024-10-09 22:01:52 +02:00
mergify[bot]andJulián Toledano 5426049e1d docs: update learn/beginner docs (backport #22191) (#22198)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-10-09 21:42:31 +02:00
mergify[bot] e098b30901 docs: fix pre.sh (backport #22194) (#22197) 2024-10-09 19:29:12 +02:00
mergify[bot]andJulien Robert fd5343745d ci: push docker image on betas (backport #22189) (#22195)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-09 17:40:02 +02:00
Julien Robert c854faed40 chore: prepare 0.52 beta.2 (#22171) 2024-10-09 10:37:34 +02:00
mergify[bot]andson trinh a01e6303a7 docs(x/accounts/defaults/lockup): Add tutorial document (backport #22168) (#22187)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
2024-10-09 09:38:23 +02:00
mergify[bot]andWukingbow 601a75a22b docs: update protobuf links (backport #22182) (#22186)
Co-authored-by: Wukingbow <389092100@qq.com>
2024-10-09 09:37:49 +02:00
c3a6f35f80 refactor(genutil): Use sdk types genesis validator (backport #21678) (#22183)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-09 09:09:07 +02:00
1780d7dfa6 refactor(server/v2): clean up storage use and config (backport #22008) (#22176)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-09 08:49:41 +02:00
mergify[bot]andJulien Robert 1aa3a284d7 fix(client/v2): *big.Int unmarshal (backport #21853) (#22174)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-08 21:24:01 +02:00
mergify[bot]andtestinginprod 3ecd14336d docs(x/accounts): init of the x/accounts module docs. (backport #22099) (#22172)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
2024-10-08 15:53:51 +02:00
Julien Robert d7f315d7ec docs: prepare 0.52 docs deployment (#22160) 2024-10-08 11:18:01 +02:00
729b516c6f docs: update cometbft db code reference link (backport #22166) (#22169)
Co-authored-by: tutufen <tutufen@outlook.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-08 10:19:25 +02:00
e4422645fe docs(core): create docs for environment and core API (backport #22156) (#22159)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-07 22:09:25 +02:00
mergify[bot]andXiaoBei befdf581a2 docs: modify the corresponding link in the code document (backport #22151) (#22157)
Co-authored-by: XiaoBei <1505929057@qq.com>
2024-10-07 20:08:14 +02:00
a004b1569e docs: Update mint docs (backport #22108) (#22155)
Co-authored-by: Lucas Francisco López <lucaslopezf@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-07 15:59:20 +02:00
3fea483df8 test(systemtests): fix failing tests (backport #22145) (#22154)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-07 15:42:11 +02:00
mergify[bot]andJulián Toledano 090efc9f3b docs(x/distribution): updates (backport #22148) (#22153)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-10-07 15:38:58 +02:00
mergify[bot]andXiaoBei 245434ef9f docs: fix inaccessible links (backport #22147) (#22150)
Co-authored-by: XiaoBei <1505929057@qq.com>
2024-10-07 13:42:10 +02:00
mergify[bot]andharry m. k. 41117b4fa6 docs(gov): remove stores & proposal processing queue (backport #22143) (#22144)
Co-authored-by: harry m. k. <harryMaksim@protonmail.com>
2024-10-07 11:35:04 +02:00
eab8e2a4a6 fix(baseapp): align block header when query with latest height (backport #21003) (#22142)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-10-07 10:48:29 +02:00
mergify[bot]andtutufen 479f01eb17 docs: remove invariants (backport #22136) (#22137)
Co-authored-by: tutufen <tutufen@outlook.com>
2024-10-07 10:25:42 +05:30
mergify[bot]andAkhil Kumar P aead233e24 test: migrate e2e/distribution to system tests (backport #21908) (#22133)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-10-04 17:46:34 +02:00
mergify[bot]andEric Mokaya 10c19a2592 docs: demonstrate how to define hooks using depinject (backport #21892) (#22132)
Co-authored-by: Eric Mokaya <4112301+ziscky@users.noreply.github.com>
2024-10-04 17:42:25 +02:00
0768b9b0bd chore(systemtests): Remove testutil dependency (backport #21995) (#22092)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-04 17:42:07 +02:00
mergify[bot]andEzequiel Raynaudo fa19c99f56 docs(x/consensus): fixes (backport #22114) (#22130)
Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
2024-10-04 15:22:40 +02:00
mergify[bot] dd873c9c52 docs: pre,begin,end block (backport #22127) (#22129) 2024-10-04 14:37:00 +02:00
mergify[bot] 68b6d26d76 docs: remove invariants (backport #22126) (#22128) 2024-10-04 14:36:46 +02:00
e3104faaec feat(epochs): add wrapper of epoch getter (backport #22068) (#22124)
Co-authored-by: Narangde <hansol.lee@storyprotocol.xyz>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-04 10:44:13 +02:00
mergify[bot]andtutufen bbdee5cfdf docs(server): fix comet bootstrap-state command example (backport #22106) (#22122)
Co-authored-by: tutufen <tutufen@outlook.com>
2024-10-04 10:03:00 +02:00
19e1e3f553 fix(crypto/ledger): Improve error message when deriving paths (backport #22116) (#22117)
Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 23:08:08 +02:00
mergify[bot] 892138bcbd docs: Update upgrade docs (backport #22105) (#22113) 2024-10-03 20:33:41 +02:00
mergify[bot] 39792ba8e8 docs: Update slashing docs (backport #22107) (#22110) 2024-10-03 19:17:21 +02:00
mergify[bot]andEzequiel Raynaudo b78ad4f0af docs(crypto): Add readme file (backport #22082) (#22109)
Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
2024-10-03 17:50:01 +02:00
mergify[bot]andXiaoBei 1195a4468f docs: fix several typos in the document (backport #22098) (#22104)
Co-authored-by: XiaoBei <1505929057@qq.com>
2024-10-03 15:58:20 +02:00
mergify[bot] 8b14cc357a feat(baseapp): integrate the appdata.Listener in baseapp (backport #21965) (#22100) 2024-10-03 15:31:48 +02:00
mergify[bot]andtutufen 08465aebf4 docs(x/genutil): fix genesis migrate command examples (backport #22090) (#22096)
Co-authored-by: tutufen <tutufen@outlook.com>
2024-10-03 14:25:10 +02:00
7dff16eb43 fix(cometbft/grpc): gRPC path parsing (backport #22081) (#22091)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 14:05:31 +02:00
c29d3e819f test(server/v2): Add system-test for store's command (backport #21357) (#22093)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 14:02:01 +02:00
mergify[bot]andMarko 3ea9f297f4 feat(server/v2/cometbft): add checktx handler (backport #21985) (#22094)
Co-authored-by: Marko <marko@baricevic.me>
2024-10-03 13:59:55 +02:00
66b46f7edf test: backport x/tx tests from #21825 (#22087)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 11:58:56 +00:00
mergify[bot]andJulien Robert a72390a049 refactor(x/bank): swap sendrestriction check in InputOutputCoins (backport #21976) (#22086)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 11:45:06 +00:00
mergify[bot]andJulien Robert 41e88d82ce ci: split system tests in two job (backport #22080) (#22089)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 13:31:21 +02:00
mergify[bot]andLucas Francisco López b05abc3644 docs: Update nft docs (backport #22060) (#22085)
Co-authored-by: Lucas Francisco López <lucaslopezf@gmail.com>
2024-10-03 13:20:52 +02:00
mergify[bot]andtutufen 38772c7f85 docs(x/circuit): fix circuit command examples (backport #22076) (#22083)
Co-authored-by: tutufen <tutufen@outlook.com>
2024-10-03 13:18:17 +02:00
mergify[bot]andAkhil Kumar P 5fa9548ce4 docs: update authz docs (backport #22062) (#22084)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-10-03 13:18:03 +02:00
mergify[bot]andHieu Vu 3202a79517 docs: Update build/abci docs (backport #22067) (#22078)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-10-03 13:00:49 +02:00
95354cb2e5 refactor(server/v2/cometbft): partial backport of #22043 and #21989 (#22073)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 10:59:38 +00:00
mergify[bot]andJulián Toledano 9a9191a557 docs: update learn/intro (backport #22046) (#22079)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-10-03 12:55:38 +02:00
mergify[bot]andson trinh bc9da2c206 docs: update bank docs (backport #22053) (#22077)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
2024-10-03 12:52:28 +02:00
mergify[bot]andEmmanuel T Odeke 47a95c4dff test(x/auth/vesting/types): test Periods.String() (backport #22059) (#22075)
Co-authored-by: Emmanuel T Odeke <emmanuel@orijtech.com>
2024-10-03 10:35:51 +00:00
mergify[bot]andJulien Robert 6960bcd407 docs: update package list (backport #22063) (#22074)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 12:29:08 +02:00
mergify[bot]andXiaoBei b99e998c05 docs: fix several typos in the document (backport #22066) (#22071)
Co-authored-by: XiaoBei <1505929057@qq.com>
2024-10-03 09:22:36 +00:00
1ae81c5311 feat(server/v2/cometbft,stf): Listener integration in server/v2 (backport #21917) (#22051)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 11:09:28 +02:00
mergify[bot]andtutufen ce10b1fa9a docs(keys): remove unsupported --dry-run flag description for keys migrate (backport #22057) (#22069)
Co-authored-by: tutufen <tutufen@outlook.com>
2024-10-03 11:06:08 +02:00
mergify[bot]andJulien Robert 171a3c866a docs: update gov docs (backport #22048) (#22065)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 10:30:22 +02:00
mergify[bot]andclmyy 840aabdf0b docs: fix several typos in the document (backport #22052) (#22061)
Co-authored-by: clmyy <clonemonkeyy@gmail.com>
2024-10-03 09:54:11 +02:00
mergify[bot]andJulien Robert e9486fc4f1 docs: tooling (backport #22049) (#22058)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-10-03 07:42:33 +00:00
mergify[bot]andAlexander Peters 96c62b0fd9 docs: Add initial doc for system tests (backport #22002) (#22045)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-10-02 16:21:31 +02:00
mergify[bot]andMarko 82f3a16ec9 refactor(baseapp): create checktx handler (backport #21979) (#22044)
Co-authored-by: Marko <marko@baricevic.me>
2024-10-02 12:12:40 +00:00
mergify[bot] d6ec71ff73 fix(x/auth): fix slice init length (backport #22006) (#22011) 2024-10-01 19:22:16 +00:00
mergify[bot]andMarko 7dd89bcd3e docs: amend docs for 52 changes (backport #21992) (#21996)
Co-authored-by: Marko <marko@baricevic.me>
2024-10-01 12:10:27 +02:00
mergify[bot]andAkhil Kumar P acc35aa576 test: migrate e2e/authz to system tests (backport #21819) (#21993)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-10-01 10:37:26 +02:00
mergify[bot]andHieu Vu 4a3b2a9e7a test(gov): Migrate e2e to system test (backport #21927) (#21987)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-10-01 10:02:39 +02:00
mergify[bot]andEric Mokaya 000d394303 docs: add instructions to change DefaultGenesis (backport #21680) (#21991)
Co-authored-by: Eric Mokaya <4112301+ziscky@users.noreply.github.com>
2024-10-01 07:46:40 +00:00
mergify[bot]andJulien Robert c32c775238 chore(baseapp): fix api break latest schema (backport #21978) (#21983)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-30 12:29:57 +00:00
mergify[bot]andAdamKorcz 7acff9b5e8 test(fuzz): fix broken OSS-Fuz build (backport #21940) (#21980)
Co-authored-by: AdamKorcz <44787359+AdamKorcz@users.noreply.github.com>
2024-09-30 13:04:30 +02:00
649fe35d1f feat(accounts): make x/accounts more depinject friendly (backport #21928) (#21977)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-30 08:48:50 +00:00
da48079989 chore(server/v2/cometbft): improve code check (backport #21955) (#21975)
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-30 06:31:54 +00:00
0aa9fb4278 docs: update tooling link (backport #21973) (#21974)
Co-authored-by: Wukingbow <40993922+Wukingbow@users.noreply.github.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-30 06:30:33 +00:00
mergify[bot]andbeep 39fe6693ce fix(baseapp): startTime of telemetry metric should be calculated before defer (backport #21968) (#21970)
Co-authored-by: beep <beepdeepor@gmail.com>
2024-09-29 20:41:04 +02:00
mergify[bot]andJulien Robert 8b843727b0 refactor: simplify collected metrics (backport #21963) (#21967)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-28 19:22:10 +00:00
mergify[bot]andJulien Robert 76779797b1 feat(simapp/v2): wire telemetry + server refactors (partial backport #21746) (#21962)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-27 17:29:10 +00:00
mergify[bot] b6a768c1c3 chore(confix): update v2 config (backport #21956) (#21959) 2024-09-27 18:55:40 +02:00
957a14da13 fix(sims): Use liveness matrix for val sign status in sims (backport #21952) (#21957)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-27 11:32:15 +00:00
mergify[bot]andAlexander Peters 08c2261ebb chore(systemtest): More stable fraud test (backport #21949) (#21951)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-09-27 12:14:46 +02:00
f595146abd chore: regenerate addrbook.json for in-place-testnet (backport #21941) (#21946)
Co-authored-by: Adam Tucker <adam@osmosis.team>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-27 07:50:21 +00:00
c4dc83d1a8 feat(client/v2): improve error message on enums (backport #21936) (#21937)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-26 21:18:50 +02:00
mergify[bot]andJulien Robert 0ccdb4ffd4 ci: actually enable v2 system test (backport #21539) (#21931)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-26 13:43:30 +00:00
mergify[bot]andJohn Letey 174ca005f1 fix(client/v2): correctly handle enhanced sub commands (backport #21809) (#21929)
Co-authored-by: John Letey <john@noble.xyz>
2024-09-26 15:24:00 +02:00
596a65c80f fix(cli): avoid id isn't supported error when query address-by-acc-num (backport #21919) (#21921)
Co-authored-by: mmsqe <mavis@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-26 09:26:14 +02:00
388879c236 fix(sims): Skip sims test when running dry on validators (backport #21906) (#21909)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-25 15:32:15 +02:00
mergify[bot]andJulián Toledano 9923c45024 test: e2e/staking to system tests (backport #21882) (#21902)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-09-25 07:19:46 +00:00
mergify[bot]andMarko 5ad47e3d40 chore(docs): rename merlin to simapp (backport #21884) (#21885)
Co-authored-by: Marko <marko@baricevic.me>
2024-09-24 18:22:14 +02:00
mergify[bot]andAlexander Peters 241791f5ad test: fix flaky Snapshotter test (backport #21878) (#21880)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-09-24 17:30:35 +02:00
mergify[bot]andAlexander Peters 3bb848d89a fix(systemtest): upgrade test (backport #21877) (#21879)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-09-24 13:36:48 +00:00
72f1c12ee6 feat(auth): allow BaseAccounts to be migrated to x/accounts (backport #21820) (#21863)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-24 07:19:19 +00:00
0255823d3c build(deps): Bump github.com/cometbft/cometbft-db from 0.15.0 to 1.0.1 (#21870)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-24 07:16:50 +00:00
70e80ca4db fix(x/staking): query redelegation command (backport #21856) (#21860)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-23 15:09:14 +00:00
d4bde7b614 feat(crypto/keyring): add Linux's keyctl support (backport #21653) (#21839)
Co-authored-by: Alessio Treglia <al@essio.dev>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-21 11:10:31 +00:00
mergify[bot] e655fd535e feat: introduce x/validate and split x/auth/tx/config (backport #21822) (#21836) 2024-09-20 17:00:16 +00:00
781d9007e8 refactor(simapp/v2): remove RunWithCtx (backport #21739) (#21826)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-20 10:49:27 +00:00
mergify[bot]andcool-developer 6bda2aa061 fix(staking): avoid the double iterator close in staking (backport #21823) (#21824)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
2024-09-20 00:38:13 +02:00
a1e7ef0446 feat(testutil/integration): allow to pass baseapp options (backport #21816) (#21817)
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-19 14:52:23 +00:00
ba74aa5cfc feat(server/v2): refactor the server/v2 events (backport #21785) (#21807)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-18 18:12:32 +02:00
mergify[bot]andAlexander Peters e42e270078 fix(sims): TestAppSimulationAfterImport and legacy proposal handling (backport #21800) (#21805)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-09-18 17:28:21 +02:00
mergify[bot]andJulien Robert 93959d6976 refactor(mempool)!: match server/v2/cometbft and sdk mempool interface (backport #21744) (#21803)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-18 14:33:06 +00:00
fea175a70b feat: make validator key injectable by application developers (backport #21608) (#21802)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-18 16:09:44 +02:00
mergify[bot]andJulien Robert 2174a3d9e5 feat(client/v2): use x/tx AminoNameAsTypeURL option (backport #21712) (#21797)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-18 10:20:50 +00:00
mergify[bot]andMarko 02595f5539 docs: minor cleanup to simulation docs (backport #21777) (#21796)
Co-authored-by: Marko <marko@baricevic.me>
2024-09-18 11:49:17 +02:00
mergify[bot]andJulien Robert dd554557ec chore: add simsx labels & more (backport #21776) (#21795)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-18 10:31:49 +02:00
0ac99503ca refactor(runtime): reduce loop iteration complexity of checkStoreUpgrade (backport #21791) (#21793)
Co-authored-by: winniehere <winnie050812@qq.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-18 09:51:36 +02:00
0f778f6470 feat(auth): support accounts from auth (backport #21688) (#21787)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-17 19:24:51 +00:00
mergify[bot] 08796cdfe1 docs: fix buf link in protobuf.md (backport #21781) (#21783) 2024-09-17 20:09:41 +02:00
mergify[bot]andJulien Robert 8eea651425 feat(runtime(v2)): add sanity checks on store upgrades (backport #21748) (#21778)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-17 12:02:04 +00:00
mergify[bot]andJulien Robert 2ad5ab913d chore: bump golangci-lint and fix all linting issues (backport #21761) (#21779)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-17 11:49:10 +00:00
mergify[bot]andJulien Robert e9aece088d fix(runtime): fix option order (backport #21769) (#21770)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-17 10:13:17 +00:00
mergify[bot]andJulien Robert 73eea7c93a docs(x/circuit): display correct example (backport #21768) (#21772)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-17 10:11:42 +00:00
8823508147 feat(sims): Add sims2 framework and factory methods (backport #21613) (#21752)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-17 10:04:02 +00:00
391d4d72fb chore: remove consensus authority (backport #21734) (#21764)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-17 07:51:43 +00:00
mergify[bot]andJulien Robert e8841b6d20 feat(server/v2/cometbft): wire mempool config (backport #21741) (#21762)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-16 19:07:41 +00:00
mergify[bot]andJulien Robert 8c60090763 test(e2e/accounts): fix build (backport #21725) (#21743)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-16 08:46:32 +00:00
mergify[bot]andJulien Robert 18b6e639f5 test: fix sims (backport #21735) (#21738)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-15 18:27:37 +00:00
150d17c3fc feat: replace the cosmos-db usecases in the tests with core/testing (backport #21525) (#21720)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-13 20:18:05 +00:00
mergify[bot] 64beb97259 feat(types/collections): add LegacyDec collection value (backport #21693) (#21723) 2024-09-13 21:19:07 +02:00
mergify[bot] 45b18a1045 refactor(server): alias AppOptions to coreserver.DynamicConfig (backport #21711) (#21722) 2024-09-13 21:18:30 +02:00
mergify[bot]andJulien Robert 21303e2780 refactor(simapp): simplify simapp di (backport #21718) (#21721)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-13 18:53:52 +00:00
71803b7dd3 feat(runtime/v2): store loader on simappv2 (backport #21704) (#21717)
Co-authored-by: Randy Grok <98407738+randygrok@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-13 16:47:32 +02:00
mergify[bot]andJulien Robert 51b418ad80 docs(x/auth): vesting (backport #21715) (#21716)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-13 13:04:05 +00:00
mergify[bot]andAlexander Peters ff7faf57d5 refactor(systemtest): Add cli.RunAndWait for common operations (backport #21689) (#21713)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-09-13 14:50:40 +02:00
18dd4cde21 fix(runtime/v2): provide default factory options if unset in app builder (backport #21690) (#21710)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-13 10:50:56 +00:00
869eb8ff78 chore: remove duplicate proto files for the same proto file (backport #21648) (#21709)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-13 10:38:25 +00:00
7a78068c37 feat(x/genutil): add better error messages for genesis validation (backport #21701) (#21707)
Co-authored-by: Eric Mokaya <4112301+ziscky@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-13 09:59:53 +00:00
035ed0d591 test: migrate e2e/bank to system tests (backport #21607) (#21703)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-13 07:23:14 +00:00
mergify[bot]andcool-developer 5c6c790ec3 chore: fix the gci lint issue in testutil (backport #21695) (#21702)
Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com>
2024-09-13 09:12:08 +02:00
mergify[bot] 3a2c9ee078 docs(x/authz): update grant docs (backport #21677) (#21699) 2024-09-13 05:27:43 +00:00
mergify[bot]andJulien Robert b88a473dcd ci: remove duplicate gosec & lint fixes (backport #21685) (#21686)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-12 15:15:53 +02:00
mergify[bot]andJulien Robert 1ff55a78be refactor(server/v2/cometbft): use only protov1 and backport #21084 (backport #21681) (#21684)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-12 13:53:16 +02:00
mergify[bot]andJulien Robert 830784bb21 refactor(server/v2): kill viper from server components (backport #21663) (#21673)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-12 09:00:51 +00:00
8b70c6caf7 refactor: remove viper as a direct dependency (backport #21635) (#21672)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-12 08:41:25 +00:00
mergify[bot] 1c9a7830d4 docs(client/debug): correct debug raw-bytes command example (backport #21671) (#21675) 2024-09-12 09:37:15 +02:00
mergify[bot] e1f26dd2be build: don't reinstall golangci-lint if already installed (backport #21662) (#21674) 2024-09-12 07:05:41 +00:00
e7724c6647 ci: centralized job for rocksdb libaries cache (backport #21657) (#21665)
Co-authored-by: auricom <27022259+auricom@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-11 20:29:29 +00:00
mergify[bot]andMark Rushakoff 81ae5691ab fix: remove stray fmt.Println (backport #21661) (#21664)
Co-authored-by: Mark Rushakoff <mark.rushakoff@gmail.com>
2024-09-11 22:13:59 +02:00
9e78489854 ci: rocksdb version in makefile (backport #21654) (#21656)
Co-authored-by: auricom <27022259+auricom@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-11 13:05:45 +00:00
mergify[bot] b2feec158f refactor: decouple comet from modules (backport #21382) (#21650) 2024-09-11 14:06:15 +02:00
mergify[bot] 20f7cd7aac fix(unorderedtx): issues reported in audit (backport #21467) (#21655) 2024-09-11 14:04:46 +02:00
b84a24948b ci: remove nix from gh workflows (backport #21572) (#21646)
Co-authored-by: auricom <27022259+auricom@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-11 11:08:02 +00:00
mergify[bot]andhatti f42eb8e014 docs(x/epochs): fix note box display failure (backport #21644) (#21647)
Co-authored-by: hatti <hattizai@gmail.com>
2024-09-11 10:43:52 +02:00
mergify[bot]andJulien Robert 7c3945f262 fix(x/accounts/lockup): prevent double withdraw (backport #21619) (#21641)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-11 08:13:55 +00:00
Julien Robert 6598689583 chore: prepare v0.52.0-beta.1 (#21550) 2024-09-10 23:25:31 +02:00
mergify[bot]andDaniel Wedul cdce191f37 fix(x/bank): Better handling of negative spendable balances (backport #21407) (#21639)
Co-authored-by: Daniel Wedul <github@wedul.com>
2024-09-10 21:01:05 +02:00
df020efd00 refactor: remove consensus as a imported type in modules (backport #21480) (#21638)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-10 19:10:37 +02:00
c9ae447ba7 docs: use the right link for app.go[Supplementary Omission] (backport #21616) (#21628)
Co-authored-by: Gin <GINMEL@proton.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-10 15:30:10 +02:00
mergify[bot]andpsiphi5 ce2947273d perf: incremental json parsing for AppGenesis (backport #21249) (#21627)
Co-authored-by: psiphi5 <158285278+psiphi5@users.noreply.github.com>
2024-09-10 06:59:31 +00:00
dependabot[bot] 80f6ca0a06 build(deps): Bump github.com/cometbft/cometbft-db from 0.14.0 to 0.15.0 (#21626) 2024-09-10 08:42:12 +02:00
mergify[bot]andJulien Robert b7dcee3313 build(deps): bump to core v1.0.0-alpha.1 and remove replaces (backport #21603) (#21611)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-09 22:02:08 +02:00
mergify[bot]andGin c4d1e2c9dd docs: use the right link for app.go (backport #21585) (#21618)
Co-authored-by: Gin <GINMEL@proton.me>
2024-09-09 21:39:12 +02:00
430fe7237c chore: fix spelling errors (backport #21610) (#21612)
Co-authored-by: Cosmos SDK <113218068+github-prbot@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-09 13:56:42 +00:00
0eb9540f45 test(server/v2/cometbft): Add abci unit tests (backport #21020) (#21605)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-09 10:56:50 +00:00
mergify[bot]andfx0x55 ec08ea75d0 refactor(x/bank): Simplify the return (backport #21602) (#21604)
Co-authored-by: fx0x55 <80245546+fx0x55@users.noreply.github.com>
2024-09-09 10:23:54 +00:00
01c0e9ba35 build(deps): update comet (backport #21586) (#21598)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-09-09 08:24:36 +00:00
mergify[bot]andlilasxie 46ff3d5fb3 docs(client/debug): correct and improve debug pubkey-raw command example (backport #21594) (#21599)
Co-authored-by: lilasxie <thanklilas@163.com>
2024-09-09 10:20:40 +02:00
mergify[bot]andhatti 86fb4a8d70 docs(x/gov): fix typos (backport #21588) (#21593)
Co-authored-by: hatti <hattizai@gmail.com>
2024-09-09 07:38:48 +00:00
3e88fa6b47 refactor(baseapp): remove AccAddress.String() (backport #21521) (#21583)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-09 09:26:54 +02:00
mergify[bot] 3cdae66416 docs(x/evidence): fix evidence module subcommands help message (backport #21589) (#21591) 2024-09-09 08:50:25 +02:00
384fa5fff5 feat: unify version modifier for v2 (backport #21508) (#21578)
Co-authored-by: Randy Grok <98407738+randygrok@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-06 18:57:40 +00:00
mergify[bot]andJulien Robert 889becd2c0 feat: replace the cosmos-db.DB interface with core/store interface (backport #21450) (#21490)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-06 10:30:01 +00:00
mergify[bot] 8ce77cbb24 chore: audit auth (backport #21566) (#21568) 2024-09-05 19:46:38 +02:00
mergify[bot]andson trinh 9adce9e987 refactor(x/gov): Audit gov changes (backport #21454) (#21567)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
2024-09-05 17:31:06 +00:00
mergify[bot]andJulien Robert 68ec945293 refactor(core): move amino registrar and drop legacy package (backport #21531) (#21561)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-05 13:04:00 +00:00
mergify[bot]andJulien Robert a6f0b642d8 refactor: simplify epoch hooks (backport #21552) (#21557)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-05 13:01:26 +02:00
mergify[bot] 47e889d7a6 docs: system test tutorial (backport #20812) (#21553) 2024-09-05 06:58:08 +02:00
mergify[bot]andomahs de345f16d7 docs: fix typos (backport #21514) (#21551)
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
2024-09-04 22:09:30 +02:00
mergify[bot] c4c0142ef4 docs: add ignite to docs (backport #21537) (#21547) 2024-09-04 20:30:53 +02:00
mergify[bot]andEzequiel Raynaudo 9b589f47c6 refactor(staking): check for nil ptrs after GetCachedValue() (backport #21300) (#21546)
Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
2024-09-04 15:35:39 +00:00
ea4408c405 refactor: using unsafe.String and unsafe.SliceData (backport #21412) (#21545)
Co-authored-by: cui <523516579@qq.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-04 15:35:17 +00:00
fa8ea23056 feat(x/genutil)!: bulk add genesis accounts (backport #21372) (#21543)
Co-authored-by: Reece Williams <31943163+Reecepbcups@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-04 12:42:31 +00:00
mergify[bot]andJulien Robert 6bdb69ea19 chore: extract improvements from #21497 (backport #21506) (#21542)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-04 11:27:57 +00:00
7262d4037c fix(mempool): data race in mempool prepare proposal handler (backport #21413) (#21540)
Co-authored-by: yihuang <huang@crypto.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-04 11:09:41 +00:00
mergify[bot]andMatt Kocubinski 8c2a2b9d08 docs(x/authz): update changelog to include API breaking events change (backport #21522) (#21538)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
2024-09-04 10:51:48 +02:00
e9aec66213 refactor(server/v2): Update prepare & process proposal (backport #21237) (#21536)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-04 10:16:57 +02:00
mergify[bot]andJulien Robert 57c6f6001c docs(core): add core documentation and principles (backport #21511) (#21530)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-03 22:44:18 +00:00
7d5ab19311 refactor: revert auth extraction (backport #21507) (#21529)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-03 22:21:22 +00:00
f1135816b6 feat(accounts/base): give chains the possibility to pick their chosen pubkey types for the base accounts (backport #21466) (#21524)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-03 22:11:25 +00:00
mergify[bot]andJulián Toledano a2e1cd0193 refactor(baseapp): audit QA v0.52 (backport #21515) (#21520)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-09-03 14:31:39 +00:00
fbfb6e59c9 fix(sims): OOM at sim-multi-seed-long run (backport #21503) (#21517)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-03 14:27:08 +00:00
mergify[bot] e1a1c05481 fix(types/mempool): fix slice init length (backport #21494) (#21518) 2024-09-03 16:06:07 +02:00
mergify[bot] 9299847082 feat(types/module): add deprecation panics on unsupported apis (backport #21512) (#21516) 2024-09-03 15:40:00 +02:00
7f14281acd chore: remove accounts replaces (backport #21504) (#21509)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-02 20:21:02 +00:00
mergify[bot]andAkhil Kumar P 52e4b33943 refactor(x/slashing): audit QA (backport #21477) (#21501)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-09-02 13:39:40 +02:00
ff18b0ac20 refactor(types,client,simapp): remove some address String() calls (backport #21455) (#21499)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-09-02 10:50:30 +00:00
mergify[bot] 5d9c02d7c0 fix(x/consensus)!: update cons params parsing checks (backport #21484) (#21492) 2024-08-31 18:48:38 +02:00
mergify[bot]andJulien Robert 5d2fcfa65b chore: update schema to v0.2.0 in all go.mod's (backport #21488) (#21491)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-30 23:44:56 +02:00
mergify[bot] e3c86d1537 refactor(server): audit QA (backport #21442) (#21485) 2024-08-30 19:06:25 +02:00
mergify[bot]andCosmos SDK f6a91e90fe chore: fix spelling errors (backport #21478) (#21479)
Co-authored-by: Cosmos SDK <113218068+github-prbot@users.noreply.github.com>
2024-08-30 12:43:05 +00:00
mergify[bot]andJulien Robert 31b4c2e26b docs(x/genutil): audit genutil (backport #21471) (#21476)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-30 09:43:55 +00:00
dependabot[bot]andgithub-actions 8486e3a5c7 build(deps): Bump github.com/cosmos/ics23/go from 0.10.0 to 0.11.0 (#21474)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-30 07:56:27 +00:00
e578209163 refactor(simapp): Audit simapp (backport #21311) (#21470)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-29 21:53:27 +00:00
f7d99b61a5 fix(core/gas): Add consumed API for GasMeter (backport #21443) (#21468)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-29 15:44:46 +00:00
mergify[bot]andJulien Robert 32ab717166 feat(x/bank): add origin address in event multisend (backport #21460) (#21464)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-29 14:55:07 +02:00
mergify[bot]andAkhil Kumar P 2c1f4fa038 refactor(x/bank): audit QA (backport #21459) (#21463)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
2024-08-29 12:12:59 +00:00
mergify[bot]andFacundo Medica 275eb61f9c fix(baseapp): preblock events are not emmitted correctly (backport #21444) (#21457)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-08-29 10:19:27 +00:00
mergify[bot]andHieu Vu 243b819c5e refactor(x/auth/tx): Implement UnorderedTxManager tx validator (backport #21426) (#21456)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-08-29 10:17:42 +00:00
1260f6703f feat(server/v2): add min gas price and check with tx fee (backport #21173) (#21453)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-29 08:22:04 +00:00
mergify[bot]andFacundo Medica 69878d8e6f refactor(x/circuit): add TxValidator (backport #21441) (#21445)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-08-28 16:09:36 +00:00
mergify[bot]andJulien Robert 4e9f0bc7b1 chore(types): deprecate acc address stringer (backport #21435) (#21438)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-28 10:50:58 +00:00
mergify[bot]andJulien Robert c790d49b38 feat(x/auth/tx): extend app module + docs (backport #21409) (#21439)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-28 10:10:48 +00:00
mergify[bot]andJulien Robert 49bcd45738 feat(client): use address codec for tx.Sign (backport #21436) (#21437)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-28 08:43:22 +00:00
mergify[bot]andHyde Zhang ab7c6ac66d refactor: unnecessary error return of NewSigningOptions function (backport #21424) (#21427)
Co-authored-by: Hyde Zhang <xueshi.zhang90@gmail.com>
2024-08-27 20:19:26 +00:00
487d2f07c9 refactor(runtime): Audit runtime changes (backport #21309) (#21423)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-27 13:19:54 +00:00
mergify[bot]andJulien Robert 74b5e7a09a refactor(simapp,runtime): audit changes (backport #21310) (#21421)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-27 12:42:49 +00:00
c288f4ae04 refactor(types): audit QA (backport #21355) (#21422)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-27 12:36:55 +00:00
mergify[bot]andJulián Toledano 316c67aed3 refactor(x/consensus): audit QA v0.52 (backport #21416) (#21419)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-08-27 11:55:54 +00:00
b522c2c22a chore: cleanup core/app (backport #21368) (#21417)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-27 10:41:18 +00:00
mergify[bot] b2c23403f8 docs(simapp): refactored README readability and more usability (backport #21383) (#21411) 2024-08-27 05:43:56 +00:00
mergify[bot]andFacundo Medica e849ba5d6d fix!: Add ValidateTx to ExtensionOptionChecker ante (backport #21403) (#21406)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-08-26 15:18:53 +00:00
df1549447a fix: reimplement sig verification for app v2 (backport #21386) (#21401)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-26 12:01:55 +00:00
mergify[bot]andJulián Toledano e5db7e4a80 test(x/slashing): add infractions test (backport #21387) (#21402)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-08-26 11:21:10 +00:00
mergify[bot]andKI f006f3e6ed docs: fix outdated link (backport #21397) (#21399)
Co-authored-by: KI <KIVIKY@protonmail.com>
2024-08-26 10:07:02 +00:00
mergify[bot]andLucas Francisco López 0790a07c40 refactor(x/circuit): audit QA (backport #21370) (#21398)
Co-authored-by: Lucas Francisco López <lucaslopezf@gmail.com>
2024-08-26 09:56:48 +00:00
mergify[bot]andJulián Toledano 8fb1a8c7bf refactor(x/feegrant)!: audit QA v0.52 (backport #21377) (#21396)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-08-26 09:55:35 +00:00
mergify[bot]andJulien Robert cb1b2841c1 refactor(core,stf,x)!: remove InvokeTyped from router (backport #21224) (#21392)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-23 21:59:49 +00:00
068e4308be refactor(cli): Standardize Use field convention and update readme (backport #21369) (#21376)
Co-authored-by: Lucas Francisco López <lucaslopezf@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-23 20:08:16 +00:00
e2197e5134 chore: run make protogen (backport #21378) (#21390)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-23 19:46:13 +00:00
mergify[bot]andEzequiel Raynaudo 64a44d2405 docs(x/feegrant): Update readme (backport #21364) (#21367)
Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
2024-08-20 09:45:17 +02:00
mergify[bot]andFacundo Medica eb9be58ef6 fix(x/protocolpool)!: do not incur into extra writes if there are no continuous funds (backport #21356) (#21360)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-08-19 16:16:45 +00:00
mergify[bot] 3285de7f6c refactor: remove x/exp dep (backport #21281) (#21358) 2024-08-19 15:46:41 +00:00
mergify[bot]andLucas Francisco López 9f13c18515 refactor(x/protocolpool): audit QA (backport #21337) (#21353)
Co-authored-by: Lucas Francisco López <lucaslopezf@gmail.com>
2024-08-19 10:30:19 +02:00
dependabot[bot]andgithub-actions dc1a83dcbe build(deps): Bump cosmossdk.io/log from 1.4.0 to 1.4.1 (#21350)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-19 09:37:43 +02:00
mergify[bot]andLucas Francisco López 8ca4c3c981 refactor(x/distribution): audit QA (backport #21316) (#21338)
Co-authored-by: Lucas Francisco López <lucaslopezf@gmail.com>
2024-08-17 20:03:50 +00:00
mergify[bot]andJulien Robert 6838d1d111 docs: rename app v2 to app di when talking about runtime v0 (backport #21329) (#21334)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-17 09:21:13 +00:00
mergify[bot]andJulien Robert cea0fb50bb fix(x/authz): bring back msg response in DispatchActions (backport #21044) (#21332)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-16 13:45:27 +00:00
mergify[bot]andJulien Robert 5acda5d78d chore: fix all lint issue since golangci-lint bump (backport #21326) (#21331)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-16 13:30:09 +00:00
mergify[bot]andJulián Toledano 93b32190ef refactor(x/mint): v0.52 audit x/mint (backport #21301) (#21330)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-08-16 13:25:23 +00:00
Julien Robert 8598f34c91 ci: run tests on push to release/v0.52.x (#21319) 2024-08-16 14:34:11 +02:00
mergify[bot]andCosmos SDK d59cd1cdc5 chore: fix spelling errors (backport #21327) (#21328)
Co-authored-by: Cosmos SDK <113218068+github-prbot@users.noreply.github.com>
2024-08-16 14:31:30 +02:00
905e450966 feat: export genesis in simapp v2 (backport #21199) (#21325)
Co-authored-by: Randy Grok <98407738+randygrok@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-16 13:58:48 +02:00
ce55ced719 fix(baseapp)!: Halt at height now does not produce the halt height block (backport #21256) (#21322)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-16 08:52:41 +00:00
mergify[bot]andJulien Robert 6833172e75 chore: readmes + upgrading docs (prepare alpha) (backport #21271) (#21318)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-15 22:50:03 +02:00
60dc2597e6 feat(client): add auto cli for node service (backport #21074) (#21317)
Co-authored-by: zakir <80246097+zakir-code@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-15 19:32:32 +00:00
mergify[bot]andJulien Robert 1e3b81f6f9 build(deps): use Go 1.23 instead of Go 1.22 (backport #21280) (#21308)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-15 15:42:24 +02:00
mergify[bot]andson trinh 8f171a1c54 refactor(x/auth): audit x/auth changes (backport #21146) (#21302)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
2024-08-15 02:46:34 +07:00
mergify[bot]andjames.zhang a7a9bcb0f7 chore: remove todo: "abstract out staking message back to staking" (backport #21266) (#21299)
Co-authored-by: james.zhang <68689915+zenzenless@users.noreply.github.com>
2024-08-14 10:21:13 +00:00
dependabot[bot]andgithub-actions d32e1eab16 build(deps): Bump github.com/cosmos/gogoproto from 1.6.1-0.20240809124342-d6a57064ada0 to 1.7.0 (#21291)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-14 09:30:29 +02:00
mergify[bot]andJulián Toledano 1bc7ff528c refactor(x/slashing): audit x/slashing changes (backport #21270) (#21279)
Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com>
2024-08-13 22:14:05 +02:00
mergify[bot]andEzequiel Raynaudo 0230cc50b9 docs: Fix old links in x/staking (backport #21277) (#21278)
Co-authored-by: Ezequiel Raynaudo <raynaudo.ee@gmail.com>
2024-08-13 21:41:49 +02:00
mergify[bot]andMarko 43ce882240 refactor: use corestore.StoreUpgrades (backport #21259) (#21274)
Co-authored-by: Marko <marko@baricevic.me>
2024-08-13 17:49:50 +02:00
mergify[bot]andTom 595daaf96c feat(confix): allow customization of migration plan (backport #21202) (#21267)
Co-authored-by: Tom <54514587+GAtom22@users.noreply.github.com>
2024-08-13 14:12:15 +02:00
737399873a refactor: remove consensus messages (backport #21248) (#21260)
Co-authored-by: Marko <marko@baricevic.me>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-12 15:18:10 +00:00
Julien Robert 477002fb52 chore: bump dependencies in v0.52 to fix compat (#21258) 2024-08-12 16:34:32 +02:00
mergify[bot]andson trinh 8c83145933 refactor(x/authz): audit x/authz changes (backport #21251) (#21254)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
2024-08-12 10:24:00 +00:00
5bd3049335 feat: module hash by height query (backport #20779) (#21246)
Co-authored-by: Adam Tucker <adam@osmosis.team>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-10 10:18:12 +02:00
09c9857276 refactor(x/consensus): audit QA (backport #21151) (#21240)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-08-09 18:34:55 +00:00
mergify[bot]andHemanth Sai f0e556a294 chore: fix spelling errors (backport #21235) (#21236)
Co-authored-by: Hemanth Sai <ghshemanth@gmail.com>
2024-08-09 07:02:40 +00:00
dependabot[bot]andgithub-actions eb954fbfa9 build(deps): Bump github.com/cosmos/gogoproto from 1.5.0 to 1.6.0 (#21233)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-09 08:43:20 +02:00
mergify[bot]andHieu Vu 482bb56401 refactor(serverv2/cometbft): Update vote extensions (backport #21198) (#21221)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-08-08 12:43:34 +00:00
mergify[bot]andJulien Robert a24c76fcca refactor: clarify usage of genesis.TxHandler in v1 vs v2 (backport #21213) (#21218)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-08 11:48:30 +00:00
mergify[bot]andJulien Robert 8de031599c build(deps): bump proto-builder and regen protos (backport #21215) (#21216)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-08 09:47:10 +00:00
mergify[bot]andJulien Robert f5b4c23ec3 refactor(x): update to latest core (partial backport #21166) (#21214)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-08 08:28:19 +00:00
dependabot[bot] 27cd8ed9f9 build(deps): Bump cosmossdk.io/log from 1.3.1 to 1.4.0 (#21210) 2024-08-08 07:57:01 +02:00
mergify[bot]andJulien Robert 334b2f0aff fix(server/v2/cometbft): add tx result for failed tx (backport #21200) (#21201)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-07 13:22:14 +00:00
mergify[bot]andJulien Robert 4f5c319459 ci: attempt to fix goreleaser (backport #21194) (#21195)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-07 10:32:26 +02:00
mergify[bot]andFacundo Medica adcf958f34 refactor(bank): audit/QA changes (backport #21048) (#21187)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-08-06 21:19:35 +02:00
c21b60638c feat(simapp): Add snapshots commands (backport #21065) (#21185)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-06 18:02:14 +02:00
mergify[bot]andFacundo Medica 77f1ef7c90 refactor(baseapp): improve readability of preblock (backport #21179) (#21180)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-08-06 12:28:31 +02:00
552f18a961 refactor(server/v2/cometbft): Consensus get chain-id from viper (backport #21116) (#21164)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-02 16:41:57 +02:00
mergify[bot]andFacundo Medica c225e3faab fix(baseapp): return events from preblocker in FinalizeBlockResponse (backport #21159) (#21161)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-08-02 11:04:29 +00:00
Julien Robert 580af8b234 chore: keep in release branch only sdk versioned software 2/2 (#21140) 2024-08-02 12:52:04 +02:00
mergify[bot]andAlexander Peters bad0add080 chore(systemtests): better support for app v2 (backport #21128) (#21160)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-08-02 12:46:46 +02:00
mergify[bot] 8c825cb324 fix(systemtests): Fix account creation test to wait for TX committed (backport #21149) (#21157) 2024-08-02 06:53:56 +00:00
mergify[bot]andChristoph Otter 1252e670b6 docs: Fix cli usage examples (backport #21150) (#21153)
Co-authored-by: Christoph Otter <chipshort@tutanota.com>
2024-08-01 15:11:22 +00:00
mergify[bot]andJulien Robert 776df21de8 chore: remove runtime/v2 from release/v0.52.x (#21148)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-01 11:30:14 +00:00
mergify[bot]andJulien Robert 7c24d56743 fix(server/v2/cometbft): fix slice appending (backport #21142) (#21145)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-08-01 12:31:11 +02:00
mergify[bot]andAlexander Peters 261285c8fa test(systemtests): Add double signing test (backport #21115) (#21143)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-08-01 11:54:06 +02:00
Julien Robert 99ac978524 chore: remove unreleased and not sdk dependent packages from v0.52.x 1/n (#21093) 2024-08-01 08:04:46 +00:00
mergify[bot]andJulien Robert c769b1312b refactor(server/v2): add missing comet flags (backport #21123) (#21129)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-07-31 21:41:33 +00:00
mergify[bot]andMarko 003d2ff2a7 refactor: remove comet info from consensus as it will be stored in context for v2 (backport #21120) (#21131)
Co-authored-by: Marko <marko@baricevic.me>
2024-07-31 21:32:00 +00:00
0ca08e1ee1 feat(serverv2): integrate gRPC (backport #21038) (#21132)
Co-authored-by: testinginprod <98415576+testinginprod@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-07-31 23:21:30 +02:00
3135f41a6d fix(simapp): concurrent map writes when calling GetSigners (backport #21073) (#21126)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
Co-authored-by: Facundo <facundomedica@gmail.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-07-31 21:02:39 +00:00
mergify[bot]andMatt Kocubinski 1b27e4fd6e fix(x/auth/tx): JSON TX encoding/decoding (backport #20803) (#21125)
Co-authored-by: Matt Kocubinski <mkocubinski@gmail.com>
2024-07-31 16:57:44 +02:00
mergify[bot]andAlexander Peters 2b7826d2af fix: fixes evidence skipped (backport #21122) (#21124)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-07-31 16:20:22 +02:00
16b25450fb feat: check latest block if no arg in q block and q block-results (backport #21084) (#21110)
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
2024-07-30 08:37:21 +00:00
2ee5230b2c feat(confix): add migration to v2 (backport #21052) (#21103)
Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com>
Co-authored-by: akhilkumarpilli <akhilkumar7947@gmail.com>
2024-07-30 10:33:06 +02:00
mergify[bot]andson trinh 7d801cc3c9 feat(tx)!: make timeout_height time based (backport #20870) (#21104)
Co-authored-by: son trinh <trinhleson2000@gmail.com>
2024-07-29 14:21:00 +02:00
mergify[bot]andHieu Vu 029d6e5106 refactor(simd/v2): Rename to minimum-gas-price (backport #21099) (#21102)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-07-29 11:09:47 +02:00
mergify[bot] 332a2be630 ci: make init-simapp v1 / v2 consistent (backport #21082) (#21097) 2024-07-28 10:16:46 +02:00
fcb808a54c feat(log): remove core dependency and update core interface to be dependency free (backport #21045) (#21089)
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-07-26 13:43:42 +02:00
mergify[bot] 6bd057bd09 chore(network): remove DefaultConfigWithAppConfigWithQueryGasLimit (backport #21055) (#21083) 2024-07-26 10:49:01 +00:00
mergify[bot]andJulien Robert 0ce6feabb8 fix(runtime): remove appv1alpha1.Config from runtime (backport #21042) (#21079)
Co-authored-by: Julien Robert <julien@rbrt.fr>
2024-07-26 08:36:29 +02:00
mergify[bot]andMarko f25bf6d4f6 chore: add test for account creation (backport #21053) (#21066)
Co-authored-by: Marko <marko@baricevic.me>
2024-07-25 06:35:54 +00:00
mergify[bot]andAlexander Peters 826d4d3f28 refactor(sims)!: Remove Baseapp from sims (backport #21039) (#21058)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-07-24 18:19:32 +02:00
mergify[bot]andFacundo Medica 072a38d556 feat(x/protocolpool,x/distribution)!: remove dependency + fix continuous fund bug (backport #20790) (#21060)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-07-24 18:19:12 +02:00
mergify[bot]andFacundo Medica 8e44789135 fix(x/slashing): do not error when val has zero tokens (backport #20977) (#21054)
Co-authored-by: Facundo Medica <14063057+facundomedica@users.noreply.github.com>
2024-07-24 11:32:11 +00:00
mergify[bot]andHieu Vu 74cd41a3c4 docs(x/epochs): Fix proto comment (backport #21047) (#21056)
Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com>
2024-07-24 13:22:33 +02:00
mergify[bot]andAlexander Peters 317c8b2a24 test(sims): Reduce test scope to 150 blocks for long sim run (backport #21049) (#21051)
Co-authored-by: Alexander Peters <alpe@users.noreply.github.com>
2024-07-24 11:06:31 +02:00
4676 changed files with 253754 additions and 813138 deletions
+32
View File
@@ -0,0 +1,32 @@
language: "en"
early_access: false
reviews:
request_changes_workflow: false
high_level_summary: true
poem: false
review_status: true
collapse_walkthrough: true
path_filters:
- "!api/"
path_instructions:
- path: "**/*.go"
instructions: "Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations."
- path: "tests/**/*"
instructions: |
"Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request"
- path: "**/*_test.go"
instructions: |
"Assess the unit test code assessing sufficient code coverage for the changes associated in the pull request"
- path: "**/*.md"
instructions: |
"Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
auto_review:
enabled: true
ignore_title_keywords:
- "WIP"
- "DO NOT MERGE"
drafts: false
base_branches:
- "main"
chat:
auto_reply: true
+9
View File
@@ -0,0 +1,9 @@
cips
pullrequest
keypair
pastTime
hasTables
Nam
EyT
upTo
pullRequests
+14
View File
@@ -0,0 +1,14 @@
# CODEOWNERS: https://help.github.com/articles/about-codeowners/
# NOTE: Order is important; the last matching pattern takes the most precedence
# Primary repo maintainers
* @cosmos/sdk-core-dev
# CODEOWNERS for docs configuration
/docs/docusaurus.config.js @julienrbrt @tac0turtle
/docs/sidebars.js @julienrbrt @tac0turtle
/docs/pre.sh @julienrbrt @tac0turtle
/docs/post.sh @julienrbrt @tac0turtle
+49
View File
@@ -0,0 +1,49 @@
name: 🐛 Bug report
description: Create a report to help us squash bugs!
title: "[Bug]: "
labels: ["T:Bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
Before smashing the submit button please review the template.
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search existing issues to avoid creating duplicates.
options:
- label: I have searched the existing issues
required: true
- type: markdown
attributes:
value: |
IMPORTANT: Prior to opening a bug report, check if it affects one of the core modules
and if its eligible for a bug bounty on `SECURITY.md`. Bugs that are not submitted
through the appropriate channels won't receive any bounty.
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see!
value: "A bug happened!"
validations:
required: true
- type: input
attributes:
label: Cosmos SDK Version
description: If applicable, specify the version you're using
placeholder: 0.46, 0.47, main, etc.
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: How to reproduce?
description: If applicable could you describe how we could reproduce the bug
placeholder: Tell us what how to reproduce the bug!
validations:
required: false
+18
View File
@@ -0,0 +1,18 @@
name: Documentation Request
description: Create an issue for missing or incorrect documentation
title: "[Documentation]: "
labels: ["T:Docs"]
body:
- type: markdown
attributes:
value: |
✰ Thanks for opening an issue! ✰
Tell us where what you would like to see get added to the documentation or if there is an error in the documentation?
- type: textarea
id: what-happened
attributes:
label: Summary
placeholder: Description of what you would like to see
validations:
required: true
+43
View File
@@ -0,0 +1,43 @@
name: Epic
description: Create an epic/user
title: "[Epic]: "
labels: ["T:Epic"]
body:
- type: markdown
attributes:
value: |
Thanks for opening this issue, this template is meant for long lived work scopes, if this is what you're looking for please continue
- type: textarea
id: summary
attributes:
label: Summary
description: |
What are the user needs?
How could this solution fix the user facing problem?
placeholder: Short, concise description of the proposed feature/changes to the repository
validations:
required: true
- type: textarea
id: problem
attributes:
label: Problem Definition
description: |
Why do we need this feature?
What problems may be addressed by introducing this feature?
What benefits does the SDK stand to gain by including this feature?
Are there any disadvantages of including this feature?
placeholder: Description of the issue being faced
validations:
required: true
- type: textarea
id: work
attributes:
label: Work Breakdown
description: |
Break the work into many bullet points that will later be turned into issues that can be assigned to developers to work on
This work may been to be broken up into phases of work in order to better organize when and how things get done.
placeholder: Description of the steps needed to deliver this feature
validations:
required: true
@@ -0,0 +1,41 @@
name: Feature Request
description: Create a proposal to request a feature
title: "[Feature]: "
labels: ["T:feature-request"]
body:
- type: markdown
attributes:
value: |
✰ Thanks for opening an issue! ✰
- type: textarea
id: summary
attributes:
label: Summary
description: |
What are the user needs?
How could this solution fix the user facing problem?
placeholder: Short, concise description of the proposed feature/changes to the repository
validations:
required: true
- type: textarea
id: problem
attributes:
label: Problem Definition
description: |
If applicable please answer the below questions
Why do we need this feature?
What problems may be addressed by introducing this feature?
What benefits does the SDK stand to gain by including this feature?
Are there any disadvantages of including this feature?
placeholder: Description of the issue being faced
validations:
required: false
- type: textarea
id: proposal
attributes:
label: Proposed Feature
description: |
Description of the proposed features or changes to an existing feature to meet your needs
placeholder: Description of the proposed feature(s)
validations:
required: true
@@ -0,0 +1,40 @@
---
name: Module Readiness Checklist
about: Pre-flight checklist that modules must pass in order to be included in a release of the Cosmos SDK
labels: 'module-readiness-checklist'
---
## x/{MODULE_NAME} Module Readiness Checklist
This checklist is to be used for tracking the final internal audit of new Cosmos SDK modules prior to inclusion in a published release.
### Release Candidate Checklist
The following checklist should be gone through once the module has been fully implemented. This audit should be performed directly on `main`, or preferably on a `alpha` or `beta` release tag that includes the module.
The module **should not** be included in any Release Candidate tag until it has passed this checklist.
- [ ] API audit (at least 1 person) (@assignee)
- [ ] Are Msg and Query methods and types well-named and organized?
- [ ] Is everything well documented (inline godoc as well as the spec [README.md](https://github.com/cosmos/cosmos-sdk/blob/main/docs/spec/README.md) in module directory)
- [ ] State machine audit (at least 2 people) (@assignee1, @assignee2)
- [ ] Read through MsgServer code and verify correctness upon visual inspection
- [ ] Ensure all state machine code which could be confusing is properly commented
- [ ] Make sure state machine logic matches Msg method documentation
- [ ] Ensure that all state machine edge cases are covered with tests and that test coverage is sufficient (at least 90% coverage on module code)
- [ ] Assess potential threats for each method including spam attacks and ensure that threats have been addressed sufficiently. This should be done by writing up threat assessment for each method
- [ ] Assess potential risks of any new third party dependencies and decide whether a dependency audit is needed
- [ ] Completeness audit, fully implemented with tests (at least 1 person) (@assignee)
- [ ] Genesis import and export of all state
- [ ] Query services
- [ ] CLI methods
- [ ] All necessary migration scripts are present (if this is an upgrade of existing module)
### Published Release Checklist
After the above checks have been audited and the module is included in a tagged Release Candidate, the following additional checklist should be undertaken for live testing, and potentially a 3rd party audit (if deemed necessary):
- [ ] Testnet / devnet testing (2-3 people) (@assignee1, @assignee2, @assignee3)
- [ ] All Msg methods have been tested especially in light of any potential threats identified
- [ ] Genesis import and export has been tested
- [ ] Nice to have (and needed in some cases if threats could be high): Official 3rd party audit
+89
View File
@@ -0,0 +1,89 @@
<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺
v ✰ Thanks for opening an issue! ✰
v Before smashing the submit button please review the template.
v Word of caution: poorly thought-out proposals may be rejected
v without deliberation
☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -->
## Summary
<!-- In a few short sentences summarize the release -->
## Major Changes
<!-- Describe the major changes associated to this release -->
## Gotchas
<!-- Gotchas is an area which changes could of been made that the auditors should be aware of -->
## QA Breakdown
* Audit
* [ ] Audit BaseApp
* [ ] Audit Types
* [ ] Audit x/auth
* [ ] Audit x/authz
* [ ] Audit x/bank
* [ ] Audit x/bank/v2
* [ ] Audit x/circuit
* [ ] Audit x/consensus
* [ ] Audit x/crisis
* [ ] Audit x/distribution
* [ ] Audit x/evidence
* [ ] Audit x/epochs
* [ ] Audit x/feegrant
* [ ] Audit x/genutil
* [ ] Audit x/gov
* [ ] Audit x/group
* [ ] Audit x/mint
* [ ] Audit x/nft
* [ ] Audit x/protocolpool
* [ ] Audit x/slashing
* [ ] Audit x/staking
* [ ] Audit x/tx
* [ ] Audit x/upgrade
* [ ] Audit client
* [ ] Audit server
* [ ] Audit store
* [ ] Audit runtime
* [ ] Audit simapp
* [ ] Release alpha
* [ ] Cosmos-SDK testnet
* [ ] Public testnet (IBC, WASM, SDK)
* [ ] Upgrade a chain with data from vX
* Release documentation
* [ ] Audit UPGRADING.md
* [ ] Update all codeblock to the appropriate version number
### Audit checklist
* please copy to a markdown to follow while you walk through the code
* 2 people should be assigned to each section
* [ ] API audit
* spec audit: check if the spec is complete.
* Are Msg and Query methods and types well-named and organized?
* Is everything well documented (inline godoc as well as package [`README.md`](https://docs.cosmos.network/main/spec/SPEC_MODULE#common-layout) in module directory)
* check the proto definition - make sure everything is in accordance to ADR-30 (at least 1 person, TODO assignee)
* Check new fields and endpoints have the `Since: cosmos-sdk X` comment
* [ ] Completeness audit, fully implemented with tests
* [ ] Genesis import and export of all state
* [ ] Query services
* [ ] CLI methods
* [ ] All necessary migration scripts are present (if this is an upgrade of existing module)
* [ ] State machine audit
* [ ] Read through MsgServer code and verify correctness upon visual inspection
* [ ] Ensure all state machine code which could be confusing is properly commented
* [ ] Make sure state machine logic matches Msg method documentation
* [ ] Ensure that all state machine edge cases are covered with tests and that test coverage is sufficient (at least 90% coverage on module code)
* [ ] Assess potential threats for each method including spam attacks and ensure that threats have been addressed sufficiently. This should be done by writing up threat assessment for each method. Specifically we should be paying attention to:
* [ ] algorithmic complexity and places this could be exploited (ex. nested `for` loops)
* [ ] charging gas complex computation (ex. `for` loops)
* [ ] storage is safe (we don't pollute the state).
* [ ] Assess potential risks of any new third party dependencies and decide whether a dependency audit is needed
* [ ] Check correctness of simulation implementation if any
* [ ] Audit Changelog against commit log, ensuring all breaking changes, bug fixes, and improvements are properly documented.
If any changes are needed, please make them against main and backport them to release/vX.X.x
+43
View File
@@ -4,3 +4,46 @@ Closes: #XXXX
<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->
---
## Author Checklist
*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*
I have...
* [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title, you can find examples of the prefixes below:
<!-- * `feat`: A new feature
* `fix`: A bug fix
* `docs`: Documentation only changes
* `style`: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
* `refactor`: A code change that neither fixes a bug nor adds a feature
* `perf`: A code change that improves performance
* `test`: Adding missing tests or correcting existing tests
* `build`: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
* `ci`: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
* `chore`: Other changes that don't modify src or test files
* `revert`: Reverts a previous commit -->
* [ ] confirmed `!` in the type prefix if API or client breaking change
* [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
* [ ] provided a link to the relevant issue or specification
* [ ] reviewed "Files changed" and left comments if necessary
* [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
* [ ] added a changelog entry to `CHANGELOG.md`
* [ ] updated the relevant documentation or specification, including comments for [documenting Go code](https://blog.golang.org/godoc)
* [ ] confirmed all CI checks have passed
## Reviewers Checklist
*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*
Please see [Pull Request Reviewer section in the contributing guide](../CONTRIBUTING.md#reviewer) for more information on how to review a pull request.
I have...
* [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
* [ ] confirmed all author checklist items have been addressed
* [ ] reviewed state machine logic, API design and naming, documentation is accurate, tests and test coverage
@@ -0,0 +1,36 @@
# from https://github.com/MercymeIlya/last-workflow-status with fixes
name: "Get status of last workflow"
description: "Get conclusion of last workflow run on current branch."
branding:
icon: "arrow-left"
color: "yellow"
inputs:
github_token:
description: Secret GitHub API token to use for making API requests.
default: ${{ github.token }}
required: true
outputs:
last_status:
description: "Conclusion of last workflow run on current branch"
value: ${{ steps.last_status.outputs.last_status }}
runs:
using: "composite"
steps:
- name: Get workflow id
shell: bash
run: |
WORKFLOW_ID=$(curl --header 'authorization: Bearer ${{ inputs.github_token }}' \
--header 'content-type: application/json' \
https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }} | jq -r .workflow_id)
echo "WORKFLOW_ID=$WORKFLOW_ID" >> $GITHUB_ENV
echo "Workflow id: ${WORKFLOW_ID}"
- name: Get previous build status
shell: bash
id: last_status
run: |
last_status=$(curl --silent --header 'authorization: Bearer ${{ inputs.github_token }}' \
--header 'content-type: application/json' \
"https://api.github.com/repos/${{ github.repository }}/actions/workflows/${{ env.WORKFLOW_ID }}/runs?per_page=1&status=completed&branch=${{ env.GITHUB_HEAD_REF }}" \
| jq -r .workflow_runs[0].conclusion)
echo "Status of the previous build: $last_status"
echo "::set-output name=last_status::${last_status}"
+1 -1
View File
@@ -8,4 +8,4 @@ paths-ignore:
- api
- '**/*_test.go'
- '**/*.pulsar.go'
- '**/*.pb.go'
- '**/*.pb.gp'
+145
View File
@@ -43,6 +43,15 @@ updates:
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/orm"
schedule:
interval: weekly
day: wednesday
time: "01:25"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/core"
schedule:
@@ -52,6 +61,15 @@ updates:
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/core/testing"
schedule:
interval: weekly
day: thursday
time: "01:30"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/depinject"
schedule:
@@ -88,6 +106,24 @@ updates:
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/indexer/postgres"
schedule:
interval: weekly
day: wednesday
time: "01:53"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/indexer/postgres/tests"
schedule:
interval: weekly
day: wednesday
time: "01:53"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/schema"
schedule:
@@ -124,6 +160,15 @@ updates:
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/tools/hubl"
schedule:
interval: weekly
day: thursday
time: "02:15"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/collections"
schedule:
@@ -133,6 +178,60 @@ updates:
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "x/accounts"
schedule:
interval: weekly
day: wednesday
time: "02:35"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "x/accounts/defaults/base"
schedule:
interval: weekly
day: wednesday
time: "02:45"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "x/accounts/defaults/multisig"
schedule:
interval: weekly
day: wednesday
time: "02:45"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "x/accounts/defaults/lockup"
schedule:
interval: weekly
day: wednesday
time: "02:55"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/x/nft"
schedule:
interval: weekly
day: monday
time: "02:25"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/x/circuit"
schedule:
interval: weekly
day: tuesday
time: "02:30"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "x/feegrant"
schedule:
@@ -142,6 +241,7 @@ updates:
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/x/evidence"
schedule:
@@ -178,6 +278,51 @@ updates:
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/x/protocolpool"
schedule:
interval: weekly
day: wednesday
time: "03:00"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/x/params"
schedule:
interval: weekly
day: wednesday
time: "03:05"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/x/auth"
schedule:
interval: weekly
day: wednesday
time: "03:10"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/x/epochs"
schedule:
interval: weekly
day: wednesday
time: "03:15"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/x/bank"
schedule:
interval: weekly
day: wednesday
time: "03:20"
labels:
- "A:automerge"
- dependencies
- package-ecosystem: gomod
directory: "/tools/benchmark"
schedule:
+2
View File
@@ -0,0 +1,2 @@
needs-triage: # if no label is set then set triage
- ''
+40
View File
@@ -5,6 +5,8 @@
- tools/confix/**/*
"C:Cosmovisor":
- tools/cosmovisor/**/*
"C:Hubl":
- tools/hubl/**/*
"C:Keys":
- client/keys/**/*
"C:Simulations":
@@ -17,16 +19,36 @@
- store/**/*
"C:collections":
- collections/**/*
"C:core/testing":
- core/testing/**/*
"C:log":
- log/*
"C:orm":
- orm/**/*
"C:schema":
- schema/**/*
"C:indexer/postgres":
- indexer/postgres/**/*
"C:x/accounts":
- x/accounts/**/*
"C:x/accounts/base":
- x/accounts/defaults/base/**/*
"C:x/accounts/multisig":
- x/accounts/defaults/multisig/**/*
"C:x/accounts/lockup":
- x/accounts/defaults/lockup/**/*
"C:x/auth":
- x/auth/**/*
"C:x/authz":
- x/authz/**/*
"C:x/bank":
- x/bank/**/*
"C:x/circuit":
- x/circuit/**/*
"C:x/consensus":
- x/consensus/**/*
"C:x/crisis":
- x/crisis/**/*
"C:x/distribution":
- x/distribution/**/*
"C:x/evidence":
@@ -37,8 +59,14 @@
- x/genutil/**/*
"C:x/gov":
- x/gov/**/*
"C:x/group":
- x/group/**/*
"C:x/mint":
- x/mint/**/*
"C:x/nft":
- x/nft/**/*
"C:x/params":
- x/params/**/*
"C:x/protocolpool":
- x/protocolpool/**/*
"C:x/slashing":
@@ -51,6 +79,18 @@
- x/upgrade/**/*
"C:x/epochs":
- x/epochs/**/*
"C:x/validate":
- x/validate/**/*
"C:server/v2":
- server/v2/**/*
"C:server/v2 stf":
- server/v2/stf/**/*
"C:server/v2 appmanager":
- server/v2/appmanager/**/*
"C:server/v2 cometbft":
- server/v2/cometbft/**/*
"C:server/v2 api":
- server/v2/api/**/*
"Type: ADR":
- docs/architecture/**/*
"Type: Build":
-38
View File
@@ -1,38 +0,0 @@
name: Build Docs
# This workflow runs when a PR is labeled with `docs`
# This will check if the docs build successfully by running `make build-docs`
on:
pull_request:
branches:
- main
- "release/**"
paths:
- "docs/**"
- "x/**/*.md"
- .github/workflows/deploy-docs.yml
- .github/workflows/build-docs.yml
permissions:
contents: read
jobs:
check-docs-build:
name: Check docs build
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v6
with:
persist-credentials: false
fetch-depth: 0
- name: Setup Node.js 🔧
uses: actions/setup-node@v6
with:
node-version: "24.x"
# npm install npm should be removed when https://github.com/npm/cli/issues/4942 is fixed
- name: Build docs 🔧
run: |
npm install -g npm@8.5.5
make build-docs
+6 -14
View File
@@ -15,15 +15,15 @@ concurrency:
jobs:
build:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
strategy:
matrix:
go-arch: ["amd64", "arm64"] # drop 32 bit support for now (and maybe forever)
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: install aarch64-gcc
if: matrix.go-arch == 'arm64'
@@ -33,22 +33,14 @@ jobs:
###################
- name: Build
run: GOARCH=${{ matrix.go-arch }} make build
- name: Build with legacy app.go
run: GOARCH=${{ matrix.go-arch }} COSMOS_BUILD_OPTIONS="legacy" make build
# TODO re-add with comet v1
- name: Build with BLS12381
if: matrix.go-arch == 'amd64'
run: GOARCH=${{ matrix.go-arch }} COSMOS_BUILD_OPTIONS="bls12381" make build
run: GOARCH=${{ matrix.go-arch }} COSMOS_BUILD_OPTIONS=bls12381 make build
- name: Build with Secp_cgo
if: matrix.go-arch == 'amd64'
run: GOARCH=${{ matrix.go-arch }} COSMOS_BUILD_OPTIONS="secp" make build
- name: Build with legacy app.go and Secp_cgo
if: matrix.go-arch == 'amd64'
run: GOARCH=${{ matrix.go-arch }} COSMOS_BUILD_OPTIONS="legacy,secp" make build
run: GOARCH=${{ matrix.go-arch }} COSMOS_BUILD_OPTIONS=secp make build
###################
## Build Tooling ##
###################
- name: Build Cosmovisor
run: GOARCH=${{ matrix.go-arch }} make cosmovisor
- name: Build Confix
run: GOARCH=${{ matrix.go-arch }} make confix
+3 -3
View File
@@ -9,11 +9,11 @@ permissions:
jobs:
remind:
name: Changelog Reminder
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
# Skip draft PRs and PRs starting with: revert, test, chore, ci, docs, style, build, refactor
if: ${{ !github.event.pull_request.draft && !contains(github.event.pull_request.title, 'revert') && !contains(github.event.pull_request.title, 'test') && !contains(github.event.pull_request.title, 'chore') && !contains(github.event.pull_request.title, 'ci') && !contains(github.event.pull_request.title, 'docs') && !contains(github.event.pull_request.title, 'style') && !contains(github.event.pull_request.title, 'build') && !contains(github.event.pull_request.title, 'refactor') }}
if: "!github.event.pull_request.draft && !contains(github.event.pull_request.title, 'revert') && !contains(github.event.pull_request.title, 'test') && !contains(github.event.pull_request.title, 'chore') && !contains(github.event.pull_request.title, 'ci') && !contains(github.event.pull_request.title, 'docs') && !contains(github.event.pull_request.title, 'style') && !contains(github.event.pull_request.title, 'build') && !contains(github.event.pull_request.title, 'refactor')"
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: mskelton/changelog-reminder-action@v3
with:
message: "@${{ github.actor }} your pull request is missing a changelog!"
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
remove-old-artifacts:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
+12 -7
View File
@@ -18,7 +18,7 @@ concurrency:
jobs:
analyze:
name: Analyze
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
@@ -26,22 +26,27 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
- uses: actions/setup-go@v6
uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
uses: github/codeql-action/init@v3
with:
languages: "go"
config-file: ./.github/codeql/config.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v4
uses: github/codeql-action/autobuild@v3
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -55,4 +60,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
uses: github/codeql-action/analyze@v3
+19
View File
@@ -0,0 +1,19 @@
name: "Warn about consensus code changes"
on:
pull_request_target:
types:
- opened
- edited
- synchronize
jobs:
main:
permissions:
pull-requests: write # For reading the PR and posting comment
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: orijtech/consensuswarn@main
with:
roots: "github.com/cosmos/cosmos-sdk/baseapp.BaseApp.PrepareProposal,github.com/cosmos/cosmos-sdk/baseapp.BaseApp.ProcessProposal,github.com/cosmos/cosmos-sdk/baseapp.BaseApp.FinalizeBlock,github.com/cosmos/cosmos-sdk/baseapp.BaseApp.Commit,github.com/cosmos/cosmos-sdk/baseapp.BaseApp.VerifyVoteExtension"
+9 -18
View File
@@ -2,31 +2,22 @@ name: Dependabot Update All Go Modules
on: pull_request
permissions:
contents: write
pull-requests: write
env:
PR_TITLE: ${{ github.event.pull_request.title }}
jobs:
update-all:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Generate Token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v1
id: app-token
with:
app-id: "${{ secrets.APP_ID }}"
private-key: "${{ secrets.APP_PRIVATE_KEY }}"
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
token: "${{ steps.app-token.outputs.token }}"
- uses: actions/setup-go@v6
# Secret to be added in the repo under Settings > Secrets > Dependabot
token: ${{ secrets.PRBOT_PAT }}
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: Extract updated dependency
id: deps
@@ -34,8 +25,8 @@ jobs:
# Extract the dependency name from the PR title
# Example: "build(deps): Bump github.com/cosmos/cosmos-sdk from 0.46.0 to 0.47.0"
# Extracts "github.com/cosmos/cosmos-sdk" and "0.47.0"
echo "name=$(echo "$PR_TITLE" | cut -d ' ' -f 3)" >> $GITHUB_OUTPUT
echo "version=$(echo "$PR_TITLE" | cut -d ' ' -f 7)" >> $GITHUB_OUTPUT
echo "name=$(echo "${{ github.event.pull_request.title }}" | cut -d ' ' -f 3)" >> $GITHUB_OUTPUT
echo "version=$(echo "${{ github.event.pull_request.title }}" | cut -d ' ' -f 7)" >> $GITHUB_OUTPUT
- name: Update all Go modules
run: |
./scripts/go-update-dep-all.sh ${{ format('{0}@v{1}', steps.deps.outputs.name, steps.deps.outputs.version) }}
@@ -43,5 +34,5 @@ jobs:
- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
default_author: user_info
default_author: github_actions
message: "${{ github.event.pull_request.title }} for all modules"
+6 -24
View File
@@ -8,39 +8,21 @@ permissions:
jobs:
dependency-review:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- name: "Checkout Repository"
uses: actions/checkout@v6
- name: "Setup Go"
uses: actions/setup-go@v6
uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: "Dependency Review"
uses: actions/dependency-review-action@v4
with:
base-ref: ${{ github.event.pull_request.base.sha || 'main' }}
head-ref: ${{ github.event.pull_request.head.sha || github.ref }}
fail-on-severity: high
fail-on-severity: high # otherwise we fail on ourselves due to https://github.com/advisories/GHSA-qfc5-6r3j-jj22, https://github.com/advisories/GHSA-w44m-8mv2-v78h TODO(@julienrbrt) submit a PR to the action to ignore packages
- name: "Dependency audit"
run: ./scripts/dep-assert.sh
- name: "Go vulnerability check"
id: govuln
run: |
# Run the vulnerability check and capture its output (ignoring non-zero exit codes)
make vulncheck 2>&1 | tee govulncheck-output.txt || true
# Extract vulnerability identifiers from the output (e.g., GO-2025-3443)
vulnerabilities=$(grep -o 'GO-[0-9]\{4\}-[0-9]\+' govulncheck-output.txt | sort | uniq)
echo "Detected vulnerabilities: $vulnerabilities"
# Check if any vulnerability other than GO-2025-3443 exists
for vuln in $vulnerabilities; do
if [ "$vuln" != "GO-2025-3443" ]; then
echo "Found vulnerability $vuln, failing..."
exit 1
fi
done
echo "Only known vulnerability (GO-2025-3443) present. Continuing."
run: make vulncheck
+5 -8
View File
@@ -22,7 +22,6 @@ on:
permissions:
contents: read
packages: write
id-token: write
env:
# Use docker.io for Docker Hub if empty
@@ -32,9 +31,9 @@ env:
jobs:
build:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -61,13 +60,11 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Depot
uses: depot/setup-action@v1
- name: Publish to GitHub Packages
uses: depot/build-push-action@v1
uses: docker/build-push-action@v6
with:
project: gnm1jqptpw
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
cache-from: type=gha
cache-to: type=gha,mode=max
-72
View File
@@ -1,72 +0,0 @@
name: Enforce Signed Commits on PRs
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
permissions:
contents: read # needed to read commits
pull-requests: write # needed to close the PR
issues: write # needed to post a comment
jobs:
check-signed-commits:
# Skip drafts to avoid noise while a PR is still being prepared
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- name: Verify all PR commits are signed
uses: actions/github-script@v8
with:
script: |
const { owner, repo } = context.repo;
const prNumber = context.payload.pull_request.number;
// Get all commits in the PR (handles pagination)
const commits = await github.paginate(
github.rest.pulls.listCommits,
{ owner, repo, pull_number: prNumber, per_page: 100 }
);
// Any commit without a verified signature?
const unsigned = commits.filter(c => !(c.commit?.verification?.verified));
if (unsigned.length === 0) {
core.info("All commits are verified-signed. ✅");
return;
}
// Build a helpful message & list the offending commits
const list = unsigned
.map(c => `- ${c.sha.substring(0,7)} — ${c.commit.message.split('\n')[0]}`)
.join('\n');
const msg = [
"🔒 **PR closed: unsigned commits detected**",
"",
`This pull request contains **${unsigned.length}** commit(s) without a *verified* signature.`,
"",
"**How to fix:**",
"1. Set up commit signing (GPG or SSH).",
"2. Amend/rebase so **every** commit in this PR is verified-signed.",
"3. Push the updated branch and open a new PR, or ask a maintainer to reopen once fixed.",
"",
"Docs: https://docs.github.com/authentication/managing-commit-signature-verification",
"",
"**Unsigned commits:**",
list
].join("\n");
// Post the explanation as a PR comment (PRs are Issues in the API)
await github.rest.issues.createComment({
owner, repo, issue_number: prNumber, body: msg
});
// Close the PR
await github.rest.pulls.update({
owner, repo, pull_number: prNumber, state: "closed"
});
// Mark the job as failed so its obvious in checks
core.setFailed(`Closed PR: found ${unsigned.length} unsigned commit(s).`);
+1 -1
View File
@@ -5,7 +5,7 @@ on:
jobs:
triage:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: github/issue-labeler@v3.4
if: join(github.event.issue.labels) == ''
+1 -1
View File
@@ -9,7 +9,7 @@ on:
jobs:
add-to-project:
name: Add issue to project
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/add-to-project@v1.0.2
with:
+2 -2
View File
@@ -15,9 +15,9 @@ jobs:
permissions:
pull-requests: read # for amannn/action-semantic-pull-request to analyze PRs
statuses: write # for amannn/action-semantic-pull-request to mark status of analyzed PR
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v6.1.1
- uses: amannn/action-semantic-pull-request@v5.5.3
id: lint_pr_title
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+4 -4
View File
@@ -12,12 +12,12 @@ permissions:
jobs:
golangci:
name: golangci-lint
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- uses: technote-space/get-diff-action@v6.1.2
id: git_diff
+5 -5
View File
@@ -5,22 +5,22 @@ on:
- "docs/**"
jobs:
markdown-link-check:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- run: cd docs && sh ./pre.sh
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.17
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.15
with:
folder-path: "docs"
- run: cd docs && sh ./post.sh
sims-notify-failure:
permissions:
contents: none
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
if: ${{ failure() }}
steps:
- name: Notify Slack on failure
uses: rtCamp/action-slack-notify@v2.3.3
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
+30
View File
@@ -0,0 +1,30 @@
name: Spell Check
on:
pull_request:
schedule:
- cron: "0 12 * * *"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run codespell
continue-on-error: true
run: |
sudo apt-get install codespell -y
codespell -w --skip="*.pulsar.go,*.pb.go,*.pb.gw.go,*.cosmos_orm.go,*.json,*.git,*.js,crypto/keys,fuzz,*.h,proto/tendermint,*.bin,go.sum,go.mod" --ignore-words=.github/.codespellignore
- uses: peter-evans/create-pull-request@v6
if: github.event_name != 'pull_request'
with:
token: ${{ secrets.PRBOT_PAT }}
commit-message: "chore: spelling errors fixes"
title: "chore: fix spelling errors"
branch: "bot/fix-typos"
delete-branch: true
body: |
This PR fixes typos in the codebase.
Please review it, and merge if everything is fine.
If there are proto changes, run `make proto-gen` and commit the changes.
+8 -8
View File
@@ -13,14 +13,14 @@ concurrency:
jobs:
go-mod-tidy:
name: Check go mod tidy
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v6
uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: Run go mod tidy
run: ./scripts/go-mod-tidy-all.sh
@@ -33,14 +33,14 @@ jobs:
generate-mocks:
name: Check up to date mocks
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v6
uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: Generate mocks
run: make mocks
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
permissions:
contents: read # for actions/labeler to determine modified files
pull-requests: write # for actions/labeler to add labels to PRs
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4 # v5 is broken, ref https://github.com/actions/labeler/issues/712. Do not bump.
with:
+3 -9
View File
@@ -26,15 +26,13 @@ concurrency:
jobs:
build:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
# set VERSION to new version when making changes, when merged to main the image will automatically be pushed
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
@@ -59,13 +57,9 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Depot
uses: depot/setup-action@v1
- name: Publish to GHCR
uses: depot/build-push-action@v1
uses: docker/build-push-action@v6
with:
project: gnm1jqptpw
context: ./contrib/devtools
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
+3 -3
View File
@@ -13,11 +13,11 @@
# jobs:
# root:
# runs-on: depot-ubuntu-22.04-4
# runs-on: ubuntu-latest
# name: "Push to buf.build/cosmos/cosmos-sdk"
# steps:
# - uses: actions/checkout@v5
# - uses: bufbuild/buf-setup-action@v1.50.0
# - uses: actions/checkout@v4
# - uses: bufbuild/buf-setup-action@v1.29.0
# - run: buf push proto --tag ${{ github.ref_type == 'tag' && github.ref_name || github.sha }} # https://github.com/bufbuild/buf-push-action/issues/20
## TODO at each module tag to their own buf repository
+6 -6
View File
@@ -11,20 +11,20 @@ permissions:
jobs:
lint:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- uses: bufbuild/buf-setup-action@v1.50.0
- uses: actions/checkout@v4
- uses: bufbuild/buf-setup-action@v1.35.0
- uses: bufbuild/buf-lint-action@v1
with:
input: "proto"
break-check:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: bufbuild/buf-setup-action@v1.50.0
- uses: actions/checkout@v4
- uses: bufbuild/buf-setup-action@v1.35.0
- uses: bufbuild/buf-breaking-action@v1
with:
input: "proto"
+4 -4
View File
@@ -11,12 +11,12 @@ jobs:
goreleaser:
permissions:
contents: write # for goreleaser/goreleaser-action to create a GitHub release
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
# get 'v*.*.*' part from 'confix/v*.*.*' and save to $GITHUB_ENV
- name: Set env
+4 -4
View File
@@ -11,12 +11,12 @@ jobs:
goreleaser:
permissions:
contents: write # for goreleaser/goreleaser-action to create a GitHub release
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
# get 'v*.*.*' part from 'cosmovisor/v*.*.*' and save to $GITHUB_ENV
- name: Set env
-39
View File
@@ -1,39 +0,0 @@
name: Release Simd
on:
push:
tags:
- "simd/v*.*.*"
permissions:
contents: read
jobs:
goreleaser:
permissions:
contents: write # for goreleaser/goreleaser-action to create a GitHub release
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: "1.25.5"
check-latest: true
# get 'v*.*.*' part from 'simd/v*.*.*' and save to $GITHUB_ENV
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/simd/}" >> $GITHUB_ENV
# remove the possible pre-existing same tag for cosmos-sdk related tags instead of simd tags
# Because goreleaser enforces semantic versioning and will error on non compliant tags.(https://goreleaser.com/limitations/semver/)
- name: Tag without prefix locally to avoid error in goreleaser
run: |-
git tag -d ${{ env.RELEASE_VERSION }} || echo "No such a tag exists before"
git tag ${{ env.RELEASE_VERSION }} HEAD
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v3
with:
# stick to version v0.179.0(https://github.com/cosmos/cosmos-sdk/issues/11125)
version: v0.179.0
args: release --rm-dist --skip-validate
workdir: simapp
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GORELEASER_CURRENT_TAG: simd/${{ env.RELEASE_VERSION }}
+6 -6
View File
@@ -14,13 +14,13 @@ jobs:
release:
permissions:
contents: write # for goreleaser/goreleaser-action to create a GitHub release
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v6
uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: Unshallow
run: git fetch --prune --unshallow
@@ -34,10 +34,10 @@ jobs:
release-success:
needs: release
if: ${{ success() }}
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- name: Notify Slack on success
uses: rtCamp/action-slack-notify@v2.3.3
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: cosmos-tech
+40 -15
View File
@@ -16,12 +16,12 @@ jobs:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip-sims')"
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
ref: "release/v0.47.x"
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- run: make build
@@ -31,9 +31,9 @@ jobs:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: Install runsim
run: go install github.com/cosmos/tools/cmd/runsim@v1.0.0
@@ -47,12 +47,12 @@ jobs:
needs: [build, install-runsim]
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
ref: "release/v0.47.x"
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- uses: actions/cache@v4
with:
@@ -66,12 +66,12 @@ jobs:
runs-on: ubuntu-latest
needs: [build, install-runsim]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
ref: "release/v0.47.x"
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- uses: actions/cache@v4
with:
@@ -85,12 +85,12 @@ jobs:
runs-on: ubuntu-latest
needs: [build, install-runsim]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
ref: "release/v0.47.x"
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- uses: actions/cache@v4
with:
@@ -100,6 +100,31 @@ jobs:
run: |
make test-sim-multi-seed-short
sims-notify-success:
needs:
[test-sim-multi-seed-short, test-sim-after-import, test-sim-import-export]
runs-on: ubuntu-latest
if: ${{ success() }}
steps:
- uses: actions/checkout@v4
- name: Get previous workflow status
uses: ./.github/actions/last-workflow-status
id: last_status
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Notify Slack on success
if: ${{ steps.last_status.outputs.last_status == 'failure' }}
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
SLACK_USERNAME: Sim Tests release/0.47.x
SLACK_ICON_EMOJI: ":white_check_mark:"
SLACK_COLOR: good
SLACK_MESSAGE: 0.47.x Sims are passing
SLACK_FOOTER: ""
sims-notify-failure:
permissions:
contents: none
@@ -109,7 +134,7 @@ jobs:
if: ${{ failure() }}
steps:
- name: Notify Slack on failure
uses: rtCamp/action-slack-notify@v2.3.3
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
+46 -22
View File
@@ -1,7 +1,6 @@
name: Sims release/0.50.x
# Sims workflow runs multiple types of simulations (nondeterminism, import-export, after-import, multi-seed-short)
# This workflow will run on all Pull Requests, if a .go, .mod or .sum file have been changed
on:
schedule:
- cron: "0 0,12 * * *"
@@ -14,27 +13,27 @@ concurrency:
jobs:
build:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip-sims')"
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
ref: "release/v0.50.x"
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- run: make build
install-runsim:
permissions:
contents: none
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: Install runsim
run: go install github.com/cosmos/tools/cmd/runsim@v1.0.0
@@ -44,16 +43,16 @@ jobs:
key: ${{ runner.os }}-go-runsim-binary
test-sim-import-export:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
needs: [build, install-runsim]
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
ref: "release/v0.50.x"
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- uses: actions/cache@v4
with:
@@ -64,15 +63,15 @@ jobs:
make test-sim-import-export
test-sim-after-import:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
needs: [build, install-runsim]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
ref: "release/v0.50.x"
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- uses: actions/cache@v4
with:
@@ -83,15 +82,15 @@ jobs:
make test-sim-after-import
test-sim-multi-seed-short:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
needs: [build, install-runsim]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
with:
ref: "release/v0.50.x"
- uses: actions/setup-go@v6
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- uses: actions/cache@v4
with:
@@ -101,16 +100,41 @@ jobs:
run: |
make test-sim-multi-seed-short
sims-notify-success:
needs:
[test-sim-multi-seed-short, test-sim-after-import, test-sim-import-export]
runs-on: ubuntu-latest
if: ${{ success() }}
steps:
- uses: actions/checkout@v4
- name: Get previous workflow status
uses: ./.github/actions/last-workflow-status
id: last_status
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Notify Slack on success
if: ${{ steps.last_status.outputs.last_status == 'failure' }}
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
SLACK_USERNAME: Sim Tests release/0.50.x
SLACK_ICON_EMOJI: ":white_check_mark:"
SLACK_COLOR: good
SLACK_MESSAGE: 0.50.x Sims are passing
SLACK_FOOTER: ""
sims-notify-failure:
permissions:
contents: none
needs:
[test-sim-multi-seed-short, test-sim-after-import, test-sim-import-export]
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
if: ${{ failure() }}
steps:
- name: Notify Slack on failure
uses: rtCamp/action-slack-notify@v2.3.3
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
-121
View File
@@ -1,121 +0,0 @@
name: Sims release/0.53.x
# Sims workflow runs multiple types of simulations (nondeterminism, import-export, after-import, multi-seed-short)
# This workflow will run on all Pull Requests, if a .go, .mod or .sum file have been changed
on:
schedule:
- cron: "0 0,12 * * *"
release:
types: [published]
concurrency:
group: ci-${{ github.ref }}-sims-050
cancel-in-progress: true
jobs:
build:
runs-on: depot-ubuntu-22.04-4
if: "!contains(github.event.head_commit.message, 'skip-sims')"
steps:
- uses: actions/checkout@v6
with:
ref: "release/v0.53.x"
- uses: actions/setup-go@v6
with:
go-version: "1.25.5"
check-latest: true
- run: make build
install-runsim:
permissions:
contents: none
runs-on: depot-ubuntu-22.04-4
needs: build
steps:
- uses: actions/setup-go@v6
with:
go-version: "1.25.5"
check-latest: true
- name: Install runsim
run: go install github.com/cosmos/tools/cmd/runsim@v1.0.0
- uses: actions/cache@v4
with:
path: ~/go/bin
key: ${{ runner.os }}-go-runsim-binary
test-sim-import-export:
runs-on: depot-ubuntu-22.04-4
needs: [build, install-runsim]
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
with:
ref: "release/v0.53.x"
- uses: actions/setup-go@v6
with:
go-version: "1.25.5"
check-latest: true
- uses: actions/cache@v4
with:
path: ~/go/bin
key: ${{ runner.os }}-go-runsim-binary
- name: test-sim-import-export
run: |
make test-sim-import-export
test-sim-after-import:
runs-on: depot-ubuntu-22.04-4
needs: [build, install-runsim]
steps:
- uses: actions/checkout@v6
with:
ref: "release/v0.53.x"
- uses: actions/setup-go@v6
with:
go-version: "1.25.5"
check-latest: true
- uses: actions/cache@v4
with:
path: ~/go/bin
key: ${{ runner.os }}-go-runsim-binary
- name: test-sim-after-import
run: |
make test-sim-after-import
test-sim-multi-seed-short:
runs-on: depot-ubuntu-22.04-4
needs: [build, install-runsim]
steps:
- uses: actions/checkout@v6
with:
ref: "release/v0.53.x"
- uses: actions/setup-go@v6
with:
go-version: "1.25.5"
check-latest: true
- uses: actions/cache@v4
with:
path: ~/go/bin
key: ${{ runner.os }}-go-runsim-binary
- name: test-sim-multi-seed-short
run: |
make test-sim-multi-seed-short
sims-notify-failure:
permissions:
contents: none
needs:
[test-sim-multi-seed-short, test-sim-after-import, test-sim-import-export]
runs-on: depot-ubuntu-22.04-4
if: ${{ failure() }}
steps:
- name: Notify Slack on failure
uses: rtCamp/action-slack-notify@v2.3.3
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
SLACK_USERNAME: Sim Tests release/0.50.x
SLACK_ICON_EMOJI: ":skull:"
SLACK_COLOR: danger
SLACK_MESSAGE: 0.50.x Sims are failing
SLACK_FOOTER: ""
+27 -17
View File
@@ -16,12 +16,12 @@ concurrency:
jobs:
test-sim-multi-seed-long:
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: test-sim-multi-seed-long
env:
@@ -29,30 +29,40 @@ jobs:
run: |
make test-sim-multi-seed-long
test-sim-import-export:
runs-on: depot-ubuntu-22.04-4
timeout-minutes: 60
sims-notify-success:
needs: [test-sim-multi-seed-long]
runs-on: ubuntu-latest
if: ${{ success() }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- name: Check out repository
uses: actions/checkout@v4
- name: Get previous workflow status
uses: ./.github/actions/last-workflow-status
id: last_status
with:
go-version: "1.25.5"
check-latest: true
- name: test-sim-import-export
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Notify Slack on success
if: ${{ steps.last_status.outputs.last_status == 'failure' }}
uses: rtCamp/action-slack-notify@v2.3.0
env:
GOMEMLIMIT: 14GiB # reserve 2 GiB as buffer for GC to avoid OOM
run: |
make test-sim-import-export
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
SLACK_USERNAME: Sim Tests
SLACK_ICON_EMOJI: ":white_check_mark:"
SLACK_COLOR: good
SLACK_MESSAGE: Sims Nightly (Long) are passing
SLACK_FOOTER: ""
sims-notify-failure:
permissions:
contents: none
needs: [test-sim-multi-seed-long]
runs-on: depot-ubuntu-22.04-4
runs-on: ubuntu-latest
if: ${{ failure() }}
steps:
- name: Notify Slack on failure
uses: rtCamp/action-slack-notify@v2.3.3
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
+75 -20
View File
@@ -15,68 +15,123 @@ jobs:
build:
permissions:
contents: read # for actions/checkout to fetch code
runs-on: depot-ubuntu-22.04-16
runs-on: large-sdk-runner
if: "!contains(github.event.head_commit.message, 'skip-sims')"
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- run: make build
test-sim-import-export:
runs-on: depot-ubuntu-22.04-16
runs-on: large-sdk-runner
needs: [build]
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: test-sim-import-export
run: |
make test-sim-import-export
test-sim-after-import:
runs-on: depot-ubuntu-22.04-16
runs-on: large-sdk-runner
needs: [build]
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: test-sim-after-import
run: |
make test-sim-after-import
test-sim-deterministic:
runs-on: depot-ubuntu-22.04-16
runs-on: large-sdk-runner
needs: [build]
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: test-sim-nondeterminism-streaming
run: |
make test-sim-nondeterminism-streaming
test-sim-multi-seed-short:
runs-on: depot-ubuntu-22.04-16
runs-on: large-sdk-runner
needs: [build]
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
go-version: "1.23"
check-latest: true
- name: test-sim-multi-seed-short
run: |
make test-sim-multi-seed-short
sims-notify-success:
needs:
[
test-sim-multi-seed-short,
test-sim-after-import,
test-sim-import-export,
test-sim-deterministic,
]
runs-on: large-sdk-runner
if: ${{ success() }}
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Get previous workflow status
uses: ./.github/actions/last-workflow-status
id: last_status
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Notify Slack on success
if: ${{ steps.last_status.outputs.last_status == 'failure' }}
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
SLACK_USERNAME: Sim Tests
SLACK_ICON_EMOJI: ":white_check_mark:"
SLACK_COLOR: good
SLACK_MESSAGE: Sims are passing
SLACK_FOOTER: ""
sims-notify-failure:
permissions:
contents: none
needs:
[
test-sim-multi-seed-short,
test-sim-after-import,
test-sim-import-export,
test-sim-deterministic,
]
runs-on: large-sdk-runner
if: ${{ failure() }}
steps:
- name: Notify Slack on failure
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: sdk-sims
SLACK_USERNAME: Sim Tests
SLACK_ICON_EMOJI: ":skull:"
SLACK_COLOR: danger
SLACK_MESSAGE: Sims are failing
SLACK_FOOTER: ""
+14 -9
View File
@@ -2,20 +2,25 @@ name: "Close stale issues & pull requests"
on:
schedule:
- cron: "0 0 * * *"
permissions: read-all
permissions:
contents: read
jobs:
stale:
permissions:
pull-requests: write # For reading the PR and adding the label
issues: write # for actions/stale to close stale issues
pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10
- uses: actions/stale@v9
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days-before-close if no further activity occurs."
stale-issue-message: "This issue is stale because it has been open 45 days with no activity. Remove `Status: Stale` label or comment or this will be closed in 7 days."
days-before-stale: 45
days-before-close: 7
stale-pr-label: "Status: Stale"
stale-issue-label: "Status: Stale"
stale-pr-message: "This pull request has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions."
days-before-stale: -1
days-before-close: -1
days-before-pr-stale: 30
days-before-pr-close: 4
exempt-pr-labels: "pinned, security, proposal, blocked"
-88
View File
@@ -1,88 +0,0 @@
name: System Tests
on:
pull_request:
merge_group:
push:
branches:
- main
- release/v0.53.x
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}-system-tests
cancel-in-progress: true
jobs:
setup:
runs-on: depot-ubuntu-22.04-4
outputs:
git_diff: ${{ steps.git_diff.outputs.diff }}
steps:
- uses: actions/checkout@v6
with:
fetch-tags: true
- uses: actions/setup-go@v6
with:
go-version: "1.25.5"
check-latest: true
cache: true
cache-dependency-path: |
./go.sum
**/go.mod
**/go.sum
**/Makefile
Makefile
- uses: technote-space/get-diff-action@v6.1.2
id: git_diff
with:
PATTERNS: |
**/*.go
go.mod
go.sum
**/go.mod
**/go.sum
**/Makefile
Makefile
test-system:
needs: setup
if: needs.setup.outputs.git_diff
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v6
- name: Run system tests
run: |
mkdir -p ./tests/systemtests/testnet
make test-system
- name: Upload system test logs if failed
if: failure()
uses: actions/upload-artifact@v4
with:
name: system-test-logs
path: ./tests/systemtests/testnet/*.out
test-system-legacy:
needs: setup
if: needs.setup.outputs.git_diff
runs-on: depot-ubuntu-22.04-4
steps:
- uses: actions/checkout@v6
- name: Run legacy system tests
run: |
mkdir -p ./tests/systemtests/testnet
COSMOS_BUILD_OPTIONS=legacy make test-system
- name: Upload legacy system test logs if failed
if: failure()
uses: actions/upload-artifact@v4
with:
name: legacy-system-test-logs
path: ./tests/systemtests/testnet/*.out
+1012 -233
View File
File diff suppressed because it is too large Load Diff
+2 -5
View File
@@ -13,7 +13,7 @@ private
# Build
vendor
build
/build
dist
tools-stamp
buf-stamp
@@ -52,8 +52,6 @@ vagrant
.dir-locals.el
.vscode
.venv
# Depinject & Graphviz
dependency-graph.png
debug_container.dot
@@ -65,5 +63,4 @@ debug_container.log
*.synctex.gz
/x/genutil/config/priv_validator_key.json
/x/genutil/data/priv_validator_state.json
/.envrc
/.env
simapp/simapp.test
+1
View File
@@ -0,0 +1 @@
image: ghcr.io/notional-labs/cosmos
+96 -126
View File
@@ -1,22 +1,25 @@
version: "2"
run:
tests: true
timeout: 15m
allow-parallel-runners: true
build-tags:
- e2e
- ledger
- test_ledger_mock
- sims
tests: true
allow-parallel-runners: true
linters:
default: none
disable-all: true
enable:
- copyloopvar
- dogsled
- errcheck
- errorlint
- copyloopvar
- gci
- goconst
- gocritic
- gofumpt
- gosec
- gosimple
- govet
- ineffassign
- misspell
@@ -24,130 +27,97 @@ linters:
- nolintlint
- revive
- staticcheck
- stylecheck
- thelper
- typecheck
- unconvert
- unused
settings:
dogsled:
max-blank-identifiers: 6
gocritic:
disabled-checks:
- regexpMust
- appendAssign
- ifElseChain
gosec:
excludes:
- G101
- G107
- G404
confidence: medium
misspell:
locale: US
nolintlint:
require-explanation: true
require-specific: false
allow-unused: false
revive:
rules:
- name: redefines-builtin-id
disabled: true
- name: exported
severity: error
disabled: false
staticcheck:
checks:
- all
unused:
local-variables-are-used: false
exclusions:
generated: lax
presets:
- common-false-positives
- legacy
- std-error-handling
rules:
- linters:
- staticcheck
text: 'ST1000:'
- linters:
- revive
text: 'or be unexported' # don't report types that have no comments at all. there are way too many of these.
- linters:
- staticcheck
text: 'ST1003:'
- linters:
- staticcheck
text: 'ST1016:'
- linters:
- staticcheck
path: migrations
text: 'SA1019:'
- linters:
- staticcheck
text: 'SA1019: codec.NewAminoCodec is deprecated'
- linters:
- staticcheck
text: 'SA1019: legacybech32.MustMarshalPubKey'
- linters:
- staticcheck
text: 'SA1019: legacybech32.MarshalPubKey'
- linters:
- staticcheck
text: 'SA1019: legacybech32.UnmarshalPubKey'
- linters:
- staticcheck
text: 'SA1019: params.SendEnabled is deprecated'
- linters:
- gosec
text: 'G115: integer overflow conversion'
- linters:
- nolintlint
text: leading space
paths:
- server/grpc/gogoreflection/fix_registration.go
- fix_registration.go
- .*\.pb\.go$
- .*\.pb\.gw\.go$
- .*\.pulsar\.go$
- crypto/keys/secp256k1/internal/*
- types/coin_regex.go
- testutil/testdata
- x/params
- x/crisis
- third_party$
- builtin$
- examples$
issues:
exclude-dirs:
- testutil/testdata
exclude-files:
- server/grpc/gogoreflection/fix_registration.go
- "fix_registration.go"
- ".*\\.pb\\.go$"
- ".*\\.pb\\.gw\\.go$"
- ".*\\.pulsar\\.go$"
- crypto/keys/secp256k1/internal/*
- types/coin_regex.go
exclude-rules:
- text: "ST1003:" # We are fine with our current naming
linters:
- stylecheck
# FIXME: Disabled until golangci-lint updates stylecheck with this fix:
# https://github.com/dominikh/go-tools/issues/389
- text: "ST1016:" # Ok with inconsistent receiver names
linters:
- stylecheck
- path: "migrations" # migraitions always use deprecated code
text: "SA1019:"
linters:
- staticcheck
- text: "SA1019: codec.NewAminoCodec is deprecated" # TODO remove once migration path is set out
linters:
- staticcheck
- text: "SA1019: legacybech32.MustMarshalPubKey" # TODO remove once ready to remove from the sdk
linters:
- staticcheck
- text: "SA1019: legacybech32.MarshalPubKey" # TODO remove once ready to remove from the sdk
linters:
- staticcheck
- text: "SA1019: legacybech32.UnmarshalPubKey" # TODO remove once ready to remove from the sdk
linters:
- staticcheck
- text: "SA1019: params.SendEnabled is deprecated" # TODO remove once ready to remove from the sdk
linters:
- staticcheck
- text: "G115: integer overflow conversion" # We are doing this everywhere.
linters:
- gosec
- text: "leading space"
linters:
- nolintlint
max-issues-per-linter: 10000
max-same-issues: 10000
formatters:
enable:
- gci
- gofumpt
settings:
gci:
sections:
- standard
- default
- prefix(cosmossdk.io)
- prefix(github.com/cosmos/cosmos-sdk)
custom-order: true
gofumpt:
extra-rules: true
exclusions:
generated: lax
paths:
- server/grpc/gogoreflection/fix_registration.go
- fix_registration.go
- .*\.pb\.go$
- .*\.pb\.gw\.go$
- .*\.pulsar\.go$
- crypto/keys/secp256k1/internal/*
- types/coin_regex.go
- testutil/testdata
- x/params
- x/crisis
- third_party$
- builtin$
- examples$
linters-settings:
gci:
custom-order: true
sections:
- standard # Standard section: captures all standard packages.
- default # Default section: contains all imports that could not be matched to another section type.
- prefix(cosmossdk.io)
- prefix(github.com/cosmos/cosmos-sdk)
revive:
rules:
- name: redefines-builtin-id
disabled: true
gosec:
# Available rules: https://github.com/securego/gosec#available-rules
excludes:
- G101 # Potential hardcoded credentials
- G107 # Potential HTTP request made with variable url
- G404 # Use of weak random number generator (math/rand instead of crypto/rand)
exclude-generated: true
confidence: medium
misspell:
locale: US
gofumpt:
extra-rules: true
dogsled:
max-blank-identifiers: 6
nolintlint:
allow-unused: false
require-explanation: true
require-specific: false
gosimple:
checks: ["all"]
gocritic:
disabled-checks:
- regexpMust
- appendAssign
- ifElseChain
unused:
local-variables-are-used: false
+12 -20
View File
@@ -1,25 +1,21 @@
queue_rules:
- name: default
queue_conditions:
conditions:
- "#approved-reviews-by>1"
pull_request_rules:
- name: automerge to main with label automerge and branch protection passing
conditions:
- "#approved-reviews-by>1"
- base=main
- label=A:automerge
merge_conditions:
- "#approved-reviews-by>1"
commit_message_template: |
{{ title }} (#{{ number }})
{{ body }}
merge_method: squash
pull_request_rules:
- name: backport patches to v0.53.x branch
conditions:
- base=main
- label=backport/v0.53.x
actions:
backport:
branches:
- release/v0.53.x
queue:
name: default
method: squash
commit_message_template: |
{{ title }} (#{{ number }})
{{ body }}
- name: backport patches to v0.50.x branch
conditions:
- base=main
@@ -52,7 +48,3 @@ pull_request_rules:
backport:
branches:
- release/v0.45.x
- name: automerge to main with label automerge and branch protection passing
conditions: []
actions:
queue:
+18
View File
@@ -11,6 +11,24 @@
"program": "${fileDirname}",
"args": ["-test.timeout", "30m", "-test.v"],
"buildFlags": "-tags e2e"
},
{
"name": "Start: simapp/v2",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/simapp/v2/simdv2",
"args": ["start"],
"buildFlags": ""
},
{
"name": "Start: simapp/v1",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/simapp/simd",
"args": ["start"],
"buildFlags": ""
}
]
}
+196 -679
View File
@@ -36,726 +36,243 @@ Ref: https://keepachangelog.com/en/1.0.0/
# Changelog
## UNRELEASED
## [Unreleased]
### Breaking Changes
Every module contains its own CHANGELOG.md. Please refer to the module you are interested in.
* [#25090](https://github.com/cosmos/cosmos-sdk/pull/25090) Moved deprecated modules to `./contrib`. These modules are still available but will no longer be actively maintained or supported in the Cosmos SDK Bug Bounty program.
* `x/group`
* `x/nft`
* `x/circuit`
* `x/crisis`
* (crypto) [#24414](https://github.com/cosmos/cosmos-sdk/pull/24414) Remove sr25519 support, since it was removed in CometBFT v1.x (see: CometBFT [#3646](https://github.com/cometbft/cometbft/pull/3646)).
* (x/gov) [#25615](https://github.com/cosmos/cosmos-sdk/pull/25615) Decouple `x/gov` from `x/staking` by making `CalculateVoteResultsAndVotingPowerFn` a required parameter to `keeper.NewKeeper` instead of `StakingKeeper`.
`BondedTokens` has been renamed to `ValidatorPower` and `TotalBondedTokens` has been renamed to `TotalValidatorPower` to allow for multiple validator power representations.
* (x/gov) [#25617](https://github.com/cosmos/cosmos-sdk/pull/25617) `AfterProposalSubmission` hook now includes proposer address as a parameter.
* (x/gov) [#25616](https://github.com/cosmos/cosmos-sdk/pull/25616) `DistrKeeper` `x/distribution` is now optional. Genesis validation ensures `distrKeeper` is set if distribution module is used as proposal cancel destination.
## [v0.52.0-rc.2](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.52.0-rc.2) - 2025-01-23
Every module contains its own CHANGELOG.md. Please refer to the module you are interested in.
### Features
* [#25471](https://github.com/cosmos/cosmos-sdk/pull/25471) Full BLS 12-381 support enabled.
* [#24872](https://github.com/cosmos/cosmos-sdk/pull/24872) Support BLS 12-381 for cli `init`, `gentx`, `collect-gentx`
* (crypto) [#24919](https://github.com/cosmos/cosmos-sdk/pull/24919) add `NewPubKeyFromBytes` function to the `secp256r1` package to create `PubKey` from bytes
* (server) [#24720](https://github.com/cosmos/cosmos-sdk/pull/24720) add `verbose_log_level` flag for configuring the log level when switching to verbose logging mode during sensitive operations (such as chain upgrades).
* (crypto) [#24861](https://github.com/cosmos/cosmos-sdk/pull/24861) add `PubKeyFromCometTypeAndBytes` helper function to convert from `comet/v2` PubKeys to the `cryptotypes.Pubkey` interface.
* (abci_utils) [#25008](https://github.com/cosmos/cosmos-sdk/pull/25008) add the ability to assign a custom signer extraction adapter in `DefaultProposalHandler`.
* (crypto/ledger) [#25435](https://github.com/cosmos/cosmos-sdk/pull/25435) Add SetDERConversion to reset skipDERConversion and App name for ledger.
* (gRPC) [#25565](https://github.com/cosmos/cosmos-sdk/pull/25565) Support for multi gRPC query clients serve with historical binaries to serve proper historical state.
* (blockstm) [#25600](https://github.com/cosmos/cosmos-sdk/pull/25600) Allow dynamic retrieval of the coin denomination from multi store at runtime.
* [#25516](https://github.com/cosmos/cosmos-sdk/pull/25516) Support automatic configuration of OpenTelemetry via [OpenTelemetry declarative configuration](https://pkg.go.dev/go.opentelemetry.io/contrib/otelconf) and add OpenTelemetry instrumentation of `BaseApp`.
* (sims) [#23013](https://github.com/cosmos/cosmos-sdk/pull/23013) Integration with app v2
* (x/auth/ante) [#23128](https://github.com/cosmos/cosmos-sdk/pull/23128) Allow custom verifyIsOnCurve when validate tx for public key like ethsecp256k1.
* (server) [#23321](https://github.com/cosmos/cosmos-sdk/pull/23321) Add custom rollback command option. In order to use it, you need to implement the Rollback interface and remove the default rollback command with `cmd.RemoveCommand(cmd.RollbackCmd)` and then add it back with `cmd.AddCommand(cmd.NewCustomRollbackCmd(appCreator, rollbackable))`.
### Improvements
* (types) [#25342](https://github.com/cosmos/cosmos-sdk/pull/25342) Undeprecated `EmitEvent` and `EmitEvents` on the `EventManager`. These functions will continue to be maintained.
* (types) [#24668](https://github.com/cosmos/cosmos-sdk/pull/24668) Scope the global config to a particular binary so that multiple SDK binaries can be properly run on the same machine.
* (baseapp) [#24655](https://github.com/cosmos/cosmos-sdk/pull/24655) Add mutex locks for `state` and make `lastCommitInfo` atomic to prevent race conditions between `Commit` and `CreateQueryContext`.
* (proto) [#24161](https://github.com/cosmos/cosmos-sdk/pull/24161) Remove unnecessary annotations from `x/staking` authz proto.
* (x/bank) [#24660](https://github.com/cosmos/cosmos-sdk/pull/24660) Improve performance of the `GetAllBalances` and `GetAccountsBalances` keeper methods.
* (collections) [#25464](https://github.com/cosmos/cosmos-sdk/pull/25464) Add `IterateRaw` method to `Multi` index type to satisfty query `Collection` interface.
* (x/mint) [#25562](https://github.com/cosmos/cosmos-sdk/pull/25562) Improve and test `x/mint` params validation.
* (api) [#25613](https://github.com/cosmos/cosmos-sdk/pull/25613) Separated deprecated modules into the contrib directory, distinct from api, to enable and unblock new proto changes without affecting legacy code.
* (server) [#25632](https://github.com/cosmos/cosmos-sdk/pull/25632) Add missing call to close the app on shutdown.
* [#23470](https://github.com/cosmos/cosmos-sdk/pull/23470) Converge to use of one single sign mode type and signer data:
* Use api's signmode throughout the SDK to align with `cosmossdk.io/tx`. This allows developer not to juggle between sign mode types
* Deprecate `authsigning.SignerData` in favor of txsigning.SignerData and replace its usage
* Remove `APISignModeToInternal` from `x/auth` as no conversion is necessary by the user anymore
* (all) [#23445](https://github.com/cosmos/cosmos-sdk/pull/23445) Remove `v2` code from codebase.
* (codec) [#22988](https://github.com/cosmos/cosmos-sdk/pull/22988) Improve edge case handling for recursion limits.
* (proto) [#23437](https://github.com/cosmos/cosmos-sdk/pull/23437) Deprecate `Block` field from `GetBlockByHeightResponse` and return empty comet block for `GetBlockByHeight`.
* (module) [#23488](https://github.com/cosmos/cosmos-sdk/pull/23488) Remove CoreAppModuleAdaptor which is no longer used and add HasRegisterServices public interface.
### Bug Fixes
* (x/staking) [#25649](https://github.com/cosmos/cosmos-sdk/pull/25649) Add missing `defer iterator.Close()` calls in `IterateDelegatorRedelegations` and `GetRedelegations` to prevent resource leaks.
* (mempool) [#25563](https://github.com/cosmos/cosmos-sdk/pull/25563) Cleanup sender indices in case of tx replacement.
* (x/epochs) [#25425](https://github.com/cosmos/cosmos-sdk/pull/25425) Fix `InvokeSetHooks` being called with a nil keeper and `AppModule` containing a copy instead of a pointer (hooks set post creating the `AppModule` like with depinject didn't apply because it's a different instance).
* (client, client/rpc, x/auth/tx) [#24551](https://github.com/cosmos/cosmos-sdk/pull/24551) Handle cancellation properly when supplying context to client methods.
* (x/authz) [#24638](https://github.com/cosmos/cosmos-sdk/pull/24638) Fixed a minor bug where the grant key was cast as a string and dumped directly into the error message leading to an error string possibly containing invalid UTF-8.
* (client, client/rpc, x/auth/tx) [#24551](https://github.com/cosmos/cosmos-sdk/pull/24551) Handle cancellation properly when supplying context to client methods.
* (x/epochs) [#24770](https://github.com/cosmos/cosmos-sdk/pull/24770) Fix register of epoch hooks in `InvokeSetHooks`.
* (x/epochs) [#25087](https://github.com/cosmos/cosmos-sdk/pull/25087) Remove redundant error check in BeginBlocker.
* [GHSA-p22h-3m2v-cmgh](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-p22h-3m2v-cmgh) Fix x/distribution can halt when historical rewards overflow.
* (x/staking) [#25258](https://github.com/cosmos/cosmos-sdk/pull/25258) Add delegator address to redelegate event.
* (cli) [#25485](https://github.com/cosmos/cosmos-sdk/pull/25485) Avoid failed to convert address field in `withdraw-validator-commission` cmd.
* (baseapp) [#25642](https://github.com/cosmos/cosmos-sdk/pull/25642) Mark pre-block events for indexing based on local configuration.
* (x/auth/tx) [#23492](https://github.com/cosmos/cosmos-sdk/pull/23492) Add missing timeoutTimestamp in newBuilderFromDecodedTx.
* (query) [#23002](https://github.com/cosmos/cosmos-sdk/pull/23002) Fix collection filtered pagination.
* (x/auth/tx) [#23170](https://github.com/cosmos/cosmos-sdk/pull/23170) Avoid panic from `newWrapperFromDecodedTx` when `AuthInfo.Fee` is optional in decodedTx.
* (x/auth/tx) [#23144](https://github.com/cosmos/cosmos-sdk/pull/23144) Add missing `CacheWithValue` for `ExtensionOptions`.
* (x/auth/tx) [#23148](https://github.com/cosmos/cosmos-sdk/pull/23148) Avoid panic from `intoAnyV2` when v1.PublicKey is optional.
* (server) [#23244](https://github.com/cosmos/cosmos-sdk/pull/23244) Allow align block header with skip check header in grpc server.
* (x/auth) [#23357](https://github.com/cosmos/cosmos-sdk/pull/23357) Fixes accessibility of the AddressStringToBytes HTTP binding and adds another binding to AddressBytesToString.
### Deprecated
* (x/nft) [#24575](https://github.com/cosmos/cosmos-sdk/pull/24575) Deprecate the `x/nft` module in the Cosmos SDK repository. This module will not be maintained to the extent that our core modules will and will be kept in a [legacy repo](https://github.com/cosmos/cosmos-legacy).
* (x/group) [#24571](https://github.com/cosmos/cosmos-sdk/pull/24571) Deprecate the `x/group` module in the Cosmos SDK repository. This module will not be maintained to the extent that our core modules will and will be kept in a [legacy repo](https://github.com/cosmos/cosmos-legacy).
* (types) [#24664](https://github.com/cosmos/cosmos-sdk/pull/24664) Deprecate the `Invariant` type in the Cosmos SDK.
* [#25516](https://github.com/cosmos/cosmos-sdk/pull/25516) Deprecate all existing methods and types in the `telemetry` package, usage of `github.com/hashicorp/go-metrics` and the `telemetry` configuration section. New instrumentation should use the official [OpenTelemetry go API](https://pkg.go.dev/go.opentelemetry.io/otel) and Cosmos SDK appllications can automatically expose OpenTelemetry metrics, traces and logs via [OpenTelemetry declarative configuration](https://pkg.go.dev/go.opentelemetry.io/contrib/otelconf).
* (modules) [#22994](https://github.com/cosmos/cosmos-sdk/pull/22994) Deprecate `Invariants` and associated methods.
## [v0.53.4](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.53.3) - 2025-07-25
## [v0.52.0-rc.1](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.52.0-rc.1) - 2024-12-18
This patch update also includes minor dependency bumps.
Every module contains its own CHANGELOG.md. Please refer to the module you are interested in.
### Features
* (abci_utils) [#25008](https://github.com/cosmos/cosmos-sdk/pull/24861) add the ability to assign a custom signer extraction adapter in `DefaultProposalHandler`.
## [v0.53.3](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.53.3) - 2025-07-08
### Bug Fixes
* [GHSA-p22h-3m2v-cmgh](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-p22h-3m2v-cmgh) Fix x/distribution can halt when historical rewards overflow.
## [v0.53.2](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.53.2) - 2025-06-02
This patch update also includes minor dependency bumps.
### Bug Fixes
* (x/epochs) [#24770](https://github.com/cosmos/cosmos-sdk/pull/24770) Fix register of epoch hooks in `InvokeSetHooks`.
## [v0.53.0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.53.0) - 2025-04-29
### Features
* (simsx) [#24062](https://github.com/cosmos/cosmos-sdk/pull/24062) [#24145](https://github.com/cosmos/cosmos-sdk/pull/24145) Add new simsx framework on top of simulations for better module dev experience.
* (baseapp) [#24069](https://github.com/cosmos/cosmos-sdk/pull/24069) Create CheckTxHandler to allow extending the logic of CheckTx.
* (types) [#24093](https://github.com/cosmos/cosmos-sdk/pull/24093) Added a new method, `IsGT`, for `types.Coin`. This method is used to check if a `types.Coin` is greater than another `types.Coin`.
* (client/keys) [#24071](https://github.com/cosmos/cosmos-sdk/pull/24071) Add support for importing hex key using standard input.
* (types) [#23780](https://github.com/cosmos/cosmos-sdk/pull/23780) Add a ValueCodec for the math.Uint type that can be used in collections maps.
* (perf)[#24045](https://github.com/cosmos/cosmos-sdk/pull/24045) Sims: Replace runsim command with Go stdlib testing. CLI: `Commit` default true, `Lean`, `SimulateEveryOperation`, `PrintAllInvariants`, `DBBackend` params removed
* (crypto/keyring) [#24040](https://github.com/cosmos/cosmos-sdk/pull/24040) Expose the db keyring used in the keystore.
* (types) [#23919](https://github.com/cosmos/cosmos-sdk/pull/23919) Add MustValAddressFromBech32 function.
* (all) [#23708](https://github.com/cosmos/cosmos-sdk/pull/23708) Add unordered transaction support.
* Adds a `--timeout-timestamp` flag that allows users to specify a block time at which the unordered transactions should expire from the mempool.
* (x/epochs) [#23815](https://github.com/cosmos/cosmos-sdk/pull/23815) Upstream `x/epochs` from Osmosis
* (client) [#23811](https://github.com/cosmos/cosmos-sdk/pull/23811) Add auto cli for node service.
* (genutil) [#24018](https://github.com/cosmos/cosmos-sdk/pull/24018) Allow manually setting the consensus key type in genesis
* (client) [#18557](https://github.com/cosmos/cosmos-sdk/pull/18557) Add `--qrcode` flag to `keys show` command to support displaying keys address QR code.
* (x/auth) [#24030](https://github.com/cosmos/cosmos-sdk/pull/24030) Allow usage of ed25519 keys for transaction signing.
* (baseapp) [#24163](https://github.com/cosmos/cosmos-sdk/pull/24163) Add `StreamingManager` to baseapp to extend the abci listeners.
* (x/protocolpool) [#23933](https://github.com/cosmos/cosmos-sdk/pull/23933) Add x/protocolpool module.
* x/distribution can now utilize an externally managed community pool. NOTE: this will make the message handlers for FundCommunityPool and CommunityPoolSpend error, as well as the query handler for CommunityPool.
* (client) [#17513](https://github.com/cosmos/cosmos-sdk/pull/17513) Allow overwriting `client.toml`. Use `client.CreateClientConfig` in place of `client.ReadFromClientConfig` and provide a custom template and a custom config.
* (tests) [#17868](https://github.com/cosmos/cosmos-sdk/pull/17868) Added helper method `SubmitTestTx` in testutil to broadcast test txns to test e2e tests.
* (client) [#18101](https://github.com/cosmos/cosmos-sdk/pull/18101) Add a `keyring-default-keyname` in `client.toml` for specifying a default key name, and skip the need to use the `--from` flag when signing transactions.
* (x/gov) [#24355](https://github.com/cosmos/cosmos-sdk/pull/24355) Allow users to set a custom CalculateVoteResultsAndVotingPower function to be used in govkeeper.Tally.
* (x/mint) [#24436](https://github.com/cosmos/cosmos-sdk/pull/24436) Allow users to set a custom minting function used in the `x/mint` begin blocker.
* The `InflationCalculationFn` argument to `mint.NewAppModule()` is now ignored and must be nil. To set a custom `InflationCalculationFn` on the default minter, use `mintkeeper.WithMintFn(mintkeeper.DefaultMintFn(customInflationFn))`.
* (api) [#24428](https://github.com/cosmos/cosmos-sdk/pull/24428) Add block height to response headers
* (baseapp) [#25470](https://github.com/cosmos/cosmos-sdk/pull/25470) Support mount object store in baseapp, add `ObjectStore` api in context.
* (baseapp) [#25334](https://github.com/cosmos/cosmos-sdk/pull/25334) Add `Executor` to support custom execution logic and incarnation cache for performance optimisation
### Improvements
* (x/feegrant) [24461](https://github.com/cosmos/cosmos-sdk/pull/24461) Use collections for `FeeAllowance`, `FeeAllowanceQueue`.
* (client) [#24561](https://github.com/cosmos/cosmos-sdk/pull/24561) TimeoutTimestamp flag has been changed to TimeoutDuration, which now sets the timeout timestamp of unordered transactions to the current time + duration passed.
* (telemetry) [#24541](https://github.com/cosmos/cosmos-sdk/pull/24541) Telemetry now includes a pre_blocker metric key. x/upgrade should migrate to this key in v0.54.0.
* (x/auth) [#24541](https://github.com/cosmos/cosmos-sdk/pull/24541) x/auth's PreBlocker now emits telemetry under the pre_blocker metric key.
* (x/bank) [#24431](https://github.com/cosmos/cosmos-sdk/pull/24431) Reduce the number of `ValidateDenom` calls in `bank.SendCoins` and `Coin`.
* The `AmountOf()` method on`sdk.Coins` no longer will `panic` if given an invalid denom and will instead return a zero value.
* (x/staking) [#24391](https://github.com/cosmos/cosmos-sdk/pull/24391) Replace panics with error results; more verbose error messages
* (x/staking) [#24354](https://github.com/cosmos/cosmos-sdk/pull/24354) Optimize validator endblock by reducing bech32 conversions, resulting in significant performance improvement
* (client/keys) [#18950](https://github.com/cosmos/cosmos-sdk/pull/18950) Improve `<appd> keys add`, `<appd> keys import` and `<appd> keys rename` by checking name validation.
* (client/keys) [#18703](https://github.com/cosmos/cosmos-sdk/pull/18703) Improve `<appd> keys add` and `<appd> keys show` by checking whether there are duplicate keys in the multisig case.
* (client/keys) [#18745](https://github.com/cosmos/cosmos-sdk/pull/18745) Improve `<appd> keys export` and `<appd> keys mnemonic` by adding --yes option to skip interactive confirmation.
* (x/bank) [#24106](https://github.com/cosmos/cosmos-sdk/pull/24106) `SendCoins` now checks for `SendRestrictions` before instead of after deducting coins using `subUnlockedCoins`.
* (crypto/ledger) [#24036](https://github.com/cosmos/cosmos-sdk/pull/24036) Improve error message when deriving paths using index > 100
* (gRPC) [#23844](https://github.com/cosmos/cosmos-sdk/pull/23844) Add debug log prints for each gRPC request.
* (gRPC) [#24073](https://github.com/cosmos/cosmos-sdk/pull/24073) Adds error handling for out-of-gas panics in grpc query handlers.
* (server) [#24072](https://github.com/cosmos/cosmos-sdk/pull/24072) Return BlockHeader by shallow copy in server Context.
* (x/bank) [#24053](https://github.com/cosmos/cosmos-sdk/pull/24053) Resolve a foot-gun by swapping send restrictions check in `InputOutputCoins` before coin deduction.
* (codec/types) [#24336](https://github.com/cosmos/cosmos-sdk/pull/24336) Most types definitions were moved to `github.com/cosmos/gogoproto/types/any` with aliases to these left in `codec/types` so that there should be no breakage to existing code. This allows protobuf generated code to optionally reference the SDK's custom `Any` type without a direct dependency on the SDK. This can be done by changing the `protoc` `M` parameter for `any.proto` to `Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any`.
### Bug Fixes
* (server)[#24583](https://github.com/cosmos/cosmos-sdk/pull/24583) Fix height calculation in pruning manager and better restart handling.
* (x/gov)[#24460](https://github.com/cosmos/cosmos-sdk/pull/24460) Do not call Remove during Walk in defaultCalculateVoteResultsAndVotingPower.
* (baseapp) [24261](https://github.com/cosmos/cosmos-sdk/pull/24261) Fix post handler error always results in code 1
* (server) [#24068](https://github.com/cosmos/cosmos-sdk/pull/24068) Allow align block header with skip check header in grpc server.
* (x/gov) [#24044](https://github.com/cosmos/cosmos-sdk/pull/24044) Fix some places in which we call Remove inside a Walk (x/gov).
* (baseapp) [#24042](https://github.com/cosmos/cosmos-sdk/pull/24042) Fixed a data race inside BaseApp.getContext, found by end-to-end (e2e) tests.
* (client/server) [#24059](https://github.com/cosmos/cosmos-sdk/pull/24059) Consistently set viper prefix in client and server. It defaults for the binary name for both client and server.
* (client/keys) [#24041](https://github.com/cosmos/cosmos-sdk/pull/24041) `keys delete` won't terminate when a key is not found, but will log the error.
* (baseapp) [#24027](https://github.com/cosmos/cosmos-sdk/pull/24027) Ensure that `BaseApp.Init` checks that the commit multistore is set to protect against nil dereferences.
* (x/group) [GHSA-47ww-ff84-4jrg](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-47ww-ff84-4jrg) Fix x/group can halt when erroring in EndBlocker
* (x/distribution) [#23934](https://github.com/cosmos/cosmos-sdk/pull/23934) Fix vulnerability in `incrementReferenceCount` in distribution.
* (baseapp) [#23879](https://github.com/cosmos/cosmos-sdk/pull/23879) Ensure finalize block response is not empty in the defer check of FinalizeBlock to avoid panic by nil pointer.
* (query) [#23883](https://github.com/cosmos/cosmos-sdk/pull/23883) Fix NPE in query pagination.
* (client) [#23860](https://github.com/cosmos/cosmos-sdk/pull/23860) Add missing `unordered` field for legacy amino signing of tx body.
* (x/bank) [#23836](https://github.com/cosmos/cosmos-sdk/pull/23836) Fix `DenomMetadata` rpc allow value with slashes.
* (query) [87d3a43](https://github.com/cosmos/cosmos-sdk/commit/87d3a432af95f4cf96aa02351ed5fcc51cca6e7b) Fix collection filtered pagination.
* (sims) [#23952](https://github.com/cosmos/cosmos-sdk/pull/23952) Use liveness matrix for validator sign status in sims
* (baseapp) [#24055](https://github.com/cosmos/cosmos-sdk/pull/24055) Align block header when query with latest height.
* (baseapp) [#24074](https://github.com/cosmos/cosmos-sdk/pull/24074) Use CometBFT's ComputeProtoSizeForTxs in defaultTxSelector.SelectTxForProposal for consistency.
* (cli) [#24090](https://github.com/cosmos/cosmos-sdk/pull/24090) Prune cmd should disable async pruning.
* (x/auth) [#19239](https://github.com/cosmos/cosmos-sdk/pull/19239) Sets from flag in multi-sign command to avoid no key name provided error.
* (x/auth) [#23741](https://github.com/cosmos/cosmos-sdk/pull/23741) Support legacy global AccountNumber for legacy compatibility.
* (baseapp) [#24526](https://github.com/cosmos/cosmos-sdk/pull/24526) Fix incorrect retention height when `commitHeight` equals `minRetainBlocks`.
* (x/protocolpool) [#24594](https://github.com/cosmos/cosmos-sdk/pull/24594) Fix NPE when initializing module via depinject.
* (x/epochs) [#24610](https://github.com/cosmos/cosmos-sdk/pull/24610) Fix semantics of `CurrentEpochStartHeight` being set before epoch has started.
## [v0.50.13](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.13) - 2025-03-12
### Bug Fixes
* [GHSA-47ww-ff84-4jrg](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-47ww-ff84-4jrg) Fix x/group can halt when erroring in EndBlocker
## [v0.50.12](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.12) - 2025-02-20
### Bug Fixes
* [GHSA-x5vx-95h7-rv4p](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-x5vx-95h7-rv4p) Fix Group module can halt chain when handling a malicious proposal.
## [v0.50.11](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.11) - 2024-12-16
### Features
* (crypto/keyring) [#21653](https://github.com/cosmos/cosmos-sdk/pull/21653) New Linux-only backend that adds Linux kernel's `keyctl` support.
### Improvements
* (server) [#21941](https://github.com/cosmos/cosmos-sdk/pull/21941) Regenerate addrbook.json for in place testnet.
### Bug Fixes
* Fix [ABS-0043/ABS-0044](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-8wcc-m6j2-qxvm) Limit recursion depth for unknown field detection and unpack any
* (server) [#22564](https://github.com/cosmos/cosmos-sdk/pull/22564) Fix fallback genesis path in server
* (x/group) [#22425](https://github.com/cosmos/cosmos-sdk/pull/22425) Proper address rendering in error
* (sims) [#21906](https://github.com/cosmos/cosmos-sdk/pull/21906) Skip sims test when running dry on validators
* (cli) [#21919](https://github.com/cosmos/cosmos-sdk/pull/21919) Query address-by-acc-num by account_id instead of id.
* (x/group) [#22229](https://github.com/cosmos/cosmos-sdk/pull/22229) Accept `1` and `try` in CLI for group proposal exec.
## [v0.50.10](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.10) - 2024-09-20
### Features
* (cli) [#20779](https://github.com/cosmos/cosmos-sdk/pull/20779) Added `module-hash-by-height` command to query and retrieve module hashes at a specified blockchain height, enhancing debugging capabilities.
* (cli) [#21372](https://github.com/cosmos/cosmos-sdk/pull/21372) Added a `bulk-add-genesis-account` genesis command to add many genesis accounts at once.
* (types/collections) [#21724](https://github.com/cosmos/cosmos-sdk/pull/21724) Added `LegacyDec` collection value.
### Improvements
* (x/bank) [#21460](https://github.com/cosmos/cosmos-sdk/pull/21460) Added `Sender` attribute in `MsgMultiSend` event.
* (genutil) [#21701](https://github.com/cosmos/cosmos-sdk/pull/21701) Improved error messages for genesis validation.
* (testutil/integration) [#21816](https://github.com/cosmos/cosmos-sdk/pull/21816) Allow to pass baseapp options in `NewIntegrationApp`.
### Bug Fixes
* (runtime) [#21769](https://github.com/cosmos/cosmos-sdk/pull/21769) Fix baseapp options ordering to avoid overwriting options set by modules.
* (x/consensus) [#21493](https://github.com/cosmos/cosmos-sdk/pull/21493) Fix regression that prevented to upgrade to > v0.50.7 without consensus version params.
* (baseapp) [#21256](https://github.com/cosmos/cosmos-sdk/pull/21256) Halt height will not commit the block indicated, meaning that if halt-height is set to 10, only blocks until 9 (included) will be committed. This is to go back to the original behavior before a change was introduced in v0.50.0.
* (baseapp) [#21444](https://github.com/cosmos/cosmos-sdk/pull/21444) Follow-up, Return PreBlocker events in FinalizeBlockResponse.
* (baseapp) [#21413](https://github.com/cosmos/cosmos-sdk/pull/21413) Fix data race in sdk mempool.
## [v0.50.9](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.9) - 2024-08-07
## Bug Fixes
* (baseapp) [#21159](https://github.com/cosmos/cosmos-sdk/pull/21159) Return PreBlocker events in FinalizeBlockResponse.
* [#20939](https://github.com/cosmos/cosmos-sdk/pull/20939) Fix collection reverse iterator to include `pagination.key` in the result.
* (client/grpc) [#20969](https://github.com/cosmos/cosmos-sdk/pull/20969) Fix `node.NewQueryServer` method not setting `cfg`.
* (testutil/integration) [#21006](https://github.com/cosmos/cosmos-sdk/pull/21006) Fix `NewIntegrationApp` method not writing default genesis to state.
* (runtime) [#21080](https://github.com/cosmos/cosmos-sdk/pull/21080) Fix `app.yaml` / `app.json` incompatibility with `depinject v1.0.0`.
## [v0.50.8](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.8) - 2024-07-15
## Features
* (client) [#20690](https://github.com/cosmos/cosmos-sdk/pull/20690) Import mnemonic from file
## Improvements
* (x/authz,x/feegrant) [#20590](https://github.com/cosmos/cosmos-sdk/pull/20590) Provide updated keeper in depinject for authz and feegrant modules.
* [#20631](https://github.com/cosmos/cosmos-sdk/pull/20631) Fix json parsing in the wait-tx command.
* (x/auth) [#20438](https://github.com/cosmos/cosmos-sdk/pull/20438) Add `--skip-signature-verification` flag to multisign command to allow nested multisigs.
## [v0.50.7](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.7) - 2024-06-04
### Improvements
* (debug) [#20328](https://github.com/cosmos/cosmos-sdk/pull/20328) Add consensus address for debug cmd.
* (runtime) [#20264](https://github.com/cosmos/cosmos-sdk/pull/20264) Expose grpc query router via depinject.
* (x/consensus) [#20381](https://github.com/cosmos/cosmos-sdk/pull/20381) Use Comet utility for consensus module consensus param updates.
* (client) [#20356](https://github.com/cosmos/cosmos-sdk/pull/20356) Overwrite client context when available in `SetCmdClientContext`.
### Bug Fixes
* (simulation) [#17911](https://github.com/cosmos/cosmos-sdk/pull/17911) Fix all problems with executing command `make test-sim-custom-genesis-fast` for simulation test.
* (simulation) [#18196](https://github.com/cosmos/cosmos-sdk/pull/18196) Fix the problem of `validator set is empty after InitGenesis` in simulation test.
* (baseapp) [#20346](https://github.com/cosmos/cosmos-sdk/pull/20346) Correctly assign `execModeSimulate` to context for `simulateTx`.
* (baseapp) [#20144](https://github.com/cosmos/cosmos-sdk/pull/20144) Remove txs from mempool when AnteHandler fails in recheck.
* (baseapp) [#20107](https://github.com/cosmos/cosmos-sdk/pull/20107) Avoid header height overwrite block height.
* (cli) [#20020](https://github.com/cosmos/cosmos-sdk/pull/20020) Make bootstrap-state command support both new and legacy genesis format.
* (testutil/sims) [#20151](https://github.com/cosmos/cosmos-sdk/pull/20151) Set all signatures and don't overwrite the previous one in `GenSignedMockTx`.
## [v0.50.6](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.6) - 2024-04-22
### Features
* (runtime) [#18475](https://github.com/cosmos/cosmos-sdk/pull/18475) Adds an implementation for core.branch.Service.
* (baseapp) [#18499](https://github.com/cosmos/cosmos-sdk/pull/18499) Add `MsgRouter` response type from message name function.
* (client) [#18557](https://github.com/cosmos/cosmos-sdk/pull/18557) Add `--qrcode` flag to `keys show` command to support displaying keys address QR code.
* (types) [#18768](https://github.com/cosmos/cosmos-sdk/pull/18768) Add MustValAddressFromBech32 function.
* (gRPC) [#19049](https://github.com/cosmos/cosmos-sdk/pull/19049) Add debug log prints for each gRPC request.
* (types) [#19164](https://github.com/cosmos/cosmos-sdk/pull/19164) Add a ValueCodec for the math.Uint type that can be used in collections maps.
* (types) [#19281](https://github.com/cosmos/cosmos-sdk/pull/19281) Added a new method, `IsGT`, for `types.Coin`. This method is used to check if a `types.Coin` is greater than another `types.Coin`.
* (runtime) [#19571](https://github.com/cosmos/cosmos-sdk/pull/19571) Implement `core/router.Service` in runtime. This service is present in all modules (when using depinject).
* (types) [#19759](https://github.com/cosmos/cosmos-sdk/pull/19759) Align SignerExtractionAdapter in PriorityNonceMempool Remove.
* (client) [#19870](https://github.com/cosmos/cosmos-sdk/pull/19870) Add new query command `wait-tx`. Alias `event-query-tx-for` to `wait-tx` for backward compatibility.
* (client) [#19905](https://github.com/cosmos/cosmos-sdk/pull/19905) Add grpc client config to `client.toml`.
* (genutil) [#19971](https://github.com/cosmos/cosmos-sdk/pull/19971) Allow manually setting the consensus key type in genesis
* (runtime) [#19953](https://github.com/cosmos/cosmos-sdk/pull/19953) Implement `core/transaction.Service` in runtime.
* (runtime) [#18475](https://github.com/cosmos/cosmos-sdk/pull/18475) Adds an implementation for `core.branch.Service`.
* (runtime) [#19004](https://github.com/cosmos/cosmos-sdk/pull/19004) Adds an implementation for `core/header.Service` in runtime.
* (runtime) [#20238](https://github.com/cosmos/cosmos-sdk/pull/20238) Adds an implementation for `core/comet.Service` in runtime.
* (tests) [#20013](https://github.com/cosmos/cosmos-sdk/pull/20013) Introduce system tests to run multi node local testnet in CI
* (crypto/keyring) [#20212](https://github.com/cosmos/cosmos-sdk/pull/20212) Expose the db keyring used in the keystore.
* (client/tx) [#20870](https://github.com/cosmos/cosmos-sdk/pull/20870) Add `timeout-timestamp` field for tx body defines time based timeout.Add `WithTimeoutTimestamp` to tx factory. Increased gas cost for processing newly added timeout timestamp field in tx body.
* (client) [#21074](https://github.com/cosmos/cosmos-sdk/pull/21074) Add auto cli for node service
* (x/validate) [#21822](https://github.com/cosmos/cosmos-sdk/pull/21822) New module solely responsible for providing ante/post handlers and tx validators for v2. It can be extended by the app developer to provide extra tx validators.
* In comparison to x/auth/tx/config, there is no app config to skip ante/post handlers, as overwriting them in baseapp or not injecting the x/validate module has the same effect.
* (baseapp) [#21979](https://github.com/cosmos/cosmos-sdk/pull/21979) Create CheckTxHandler to allow extending the logic of CheckTx.
### Improvements
* (telemetry) [#19903](https://github.com/cosmos/cosmos-sdk/pull/19903) Conditionally emit metrics based on enablement.
* **Introduction of `Now` Function**: Added a new function called `Now` to the telemetry package. It returns the current system time if telemetry is enabled, or a zero time if telemetry is not enabled.
* **Atomic Global Variable**: Implemented an atomic global variable to manage the state of telemetry's enablement. This ensures thread safety for the telemetry state.
* **Conditional Telemetry Emission**: All telemetry functions have been updated to emit metrics only when telemetry is enabled. They perform a check with `isTelemetryEnabled()` and return early if telemetry is disabled, minimizing unnecessary operations and overhead.
* (deps) [#19810](https://github.com/cosmos/cosmos-sdk/pull/19810) Upgrade prometheus version and fix API breaking change due to prometheus bump.
* (deps) [#19810](https://github.com/cosmos/cosmos-sdk/pull/19810) Bump `cosmossdk.io/store` to v1.1.0.
* (server) [#19884](https://github.com/cosmos/cosmos-sdk/pull/19884) Add start customizability to start command options.
* (x/gov) [#19853](https://github.com/cosmos/cosmos-sdk/pull/19853) Emit `depositor` in `EventTypeProposalDeposit`.
* (x/gov) [#19844](https://github.com/cosmos/cosmos-sdk/pull/19844) Emit the proposer of governance proposals.
* (baseapp) [#19616](https://github.com/cosmos/cosmos-sdk/pull/19616) Don't share gas meter in tx execution.
## Bug Fixes
* (x/authz) [#20114](https://github.com/cosmos/cosmos-sdk/pull/20114) Follow up of [GHSA-4j93-fm92-rp4m](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-4j93-fm92-rp4m) for `x/authz`.
* (crypto) [#19691](https://github.com/cosmos/cosmos-sdk/pull/19745) Fix tx sign doesn't throw an error when incorrect Ledger is used.
* (baseapp) [#19970](https://github.com/cosmos/cosmos-sdk/pull/19970) Fix default config values to use no-op mempool as default.
* (crypto) [#20027](https://github.com/cosmos/cosmos-sdk/pull/20027) secp256r1 keys now implement gogoproto's customtype interface.
* (x/bank) [#20028](https://github.com/cosmos/cosmos-sdk/pull/20028) Align query with multi denoms for send-enabled.
## [v0.50.5](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.5) - 2024-03-12
### Features
* (baseapp) [#19626](https://github.com/cosmos/cosmos-sdk/pull/19626) Add `DisableBlockGasMeter` option to `BaseApp`, which removes the block gas meter during transaction execution.
### Improvements
* (x/distribution) [#19707](https://github.com/cosmos/cosmos-sdk/pull/19707) Add autocli config for `DelegationTotalRewards` for CLI consistency with `q rewards` commands in previous versions.
* RocksDB libraries have been upgraded to support RockDB v9 instead of v8.
* (all) [#16537](https://github.com/cosmos/cosmos-sdk/pull/16537) Properly propagated `fmt.Errorf` errors and using `errors.New` where appropriate.
* (client) [#17503](https://github.com/cosmos/cosmos-sdk/pull/17503) Add `client.Context{}.WithAddressCodec`, `WithValidatorAddressCodec`, `WithConsensusAddressCodec` to provide address codecs to the client context. See the [UPGRADING.md](./UPGRADING.md) for more details.
* (crypto/keyring) [#17503](https://github.com/cosmos/cosmos-sdk/pull/17503) Simplify keyring interfaces to use `[]byte` instead of `sdk.Address` for addresses.
* (rpc) [#17470](https://github.com/cosmos/cosmos-sdk/pull/17470) Avoid open 0.0.0.0 to public by default and add `listen-ip-address` argument for `testnet init-files` cmd.
* (types) [#17670](https://github.com/cosmos/cosmos-sdk/pull/17670) Use `ctx.CometInfo` in place of `ctx.VoteInfos`
* [#17733](https://github.com/cosmos/cosmos-sdk/pull/17733) Ensure `buf export` exports all proto dependencies
* (crypto/keys) [#18026](https://github.com/cosmos/cosmos-sdk/pull/18026) Made public key generation constant time on `secp256k1`
* (crypto | x/auth) [#14372](https://github.com/cosmos/cosmos-sdk/pull/18194) Key checks on signatures antehandle.
* (types) [#18440](https://github.com/cosmos/cosmos-sdk/pull/18440) Add `AmountOfNoValidation` to `sdk.DecCoins`.
* (client/keys) [#18663](https://github.com/cosmos/cosmos-sdk/pull/18663) Improve `<appd> keys add` by displaying mnemonic discreetly on an alternate screen and adding `--indiscreet` option to disable it.
* (client/keys) [#18684](https://github.com/cosmos/cosmos-sdk/pull/18684) Improve `<appd> keys export` by displaying unarmored hex private key discreetly on an alternate screen and adding `--indiscreet` option to disable it.
* (client/keys) [#18687](https://github.com/cosmos/cosmos-sdk/pull/18687) Improve `<appd> keys mnemonic` by displaying mnemonic discreetly on an alternate screen and adding `--indiscreet` option to disable it.
* (client/keys) [#18703](https://github.com/cosmos/cosmos-sdk/pull/18703) Improve `<appd> keys add` and `<appd> keys show` by checking whether there are duplicate keys in the multisig case.
* Usage of `Must...` kind of functions are avoided in keeper methods.
* (client/keys) [#18743](https://github.com/cosmos/cosmos-sdk/pull/18743) Improve `<appd> keys add -i` by hiding inputting of bip39 passphrase.
* (client/keys) [#18745](https://github.com/cosmos/cosmos-sdk/pull/18745) Improve `<appd> keys export` and `<appd> keys mnemonic` by adding --yes option to skip interactive confirmation.
* (client/keys) [#18950](https://github.com/cosmos/cosmos-sdk/pull/18950) Improve `<appd> keys add`, `<appd> keys import` and `<appd> keys rename` by checking name validation.
* (types) [#18963](https://github.com/cosmos/cosmos-sdk/pull/18963) Swap out amino json encoding of `ABCIMessageLogs` for std lib json encoding
* (types) [#19512](https://github.com/cosmos/cosmos-sdk/pull/19512) The notion of basic manager does not exist anymore (and all related helpers).
* The module manager now can do everything that the basic manager was doing.
* `AppModuleBasic` has been deprecated for extension interfaces.
* Modules can now implement `appmodule.HasRegisterInterfaces`, `module.HasGRPCGateway` and `module.HasAminoCodec` when relevant.
* SDK modules now directly implement those extension interfaces on `AppModule` instead of `AppModuleBasic`.
* (server) [#19455](https://github.com/cosmos/cosmos-sdk/pull/19455) Allow calling back into the application struct in PostSetup.
* (types) [#19672](https://github.com/cosmos/cosmos-sdk/pull/19672) `PreBlock` now returns only an error for consistency with server/v2. The SDK has upgraded x/upgrade accordingly. `ResponsePreBlock` hence has been removed.
* (x/auth) [#19651](https://github.com/cosmos/cosmos-sdk/pull/19651) Allow empty public keys in `GetSignBytesAdapter`.
* (x/genutil) [#19735](https://github.com/cosmos/cosmos-sdk/pull/19735) Update genesis api to match new `appmodule.HasGenesis` interface.
* (types) [#19869](https://github.com/cosmos/cosmos-sdk/pull/19869) Removed `Any` type from `codec/types` and replaced it with an alias for `cosmos/gogoproto/types/any`.
* (server) [#19854](https://github.com/cosmos/cosmos-sdk/pull/19854) Add customizability to start command.
* Add `StartCmdOptions` in `server.AddCommands` instead of `servertypes.ModuleInitFlags`. To set custom flags set them in the `StartCmdOptions` struct on the `AddFlags` field.
* Add `StartCommandHandler` to `StartCmdOptions` to allow custom start command handlers. Users now have total control over how the app starts.
* (server) [#19966](https://github.com/cosmos/cosmos-sdk/pull/19966) Return BlockHeader by shallow copy in server Context.
* (codec) [#20122](https://github.com/cosmos/cosmos-sdk/pull/20122) Added a cache to address codec.
* (proto) [#20098](https://github.com/cosmos/cosmos-sdk/pull/20098) Use cosmos_proto added_in annotation instead of // Since comments.
* (baseapp) [#20208](https://github.com/cosmos/cosmos-sdk/pull/20208) Skip running validateBasic for rechecking txs.
* (baseapp) [#20380](https://github.com/cosmos/cosmos-sdk/pull/20380) Enhanced OfferSnapshot documentation.
* (client) [#20771](https://github.com/cosmos/cosmos-sdk/pull/20771) Remove `ReadDefaultValuesFromDefaultClientConfig` from `client` package. (It was introduced in `v0.50.6` as a quick fix).
* (grpcserver) [#20945](https://github.com/cosmos/cosmos-sdk/pull/20945) Adds error handling for out-of-gas panics in grpc query handlers.
* (internal) [#21412](https://github.com/cosmos/cosmos-sdk/pull/21412) Using unsafe.String and unsafe.SliceData.
* (client) [#21436](https://github.com/cosmos/cosmos-sdk/pull/21436) Use `address.Codec` from client.Context in `tx.Sign`.
* (x/genutil) [#21249](https://github.com/cosmos/cosmos-sdk/pull/21249) Incremental JSON parsing for AppGenesis where possible.
* (genutil) [#21701](https://github.com/cosmos/cosmos-sdk/pull/21701) Improved error messages for genesis validation.
* (runtime) [#21704](https://github.com/cosmos/cosmos-sdk/pull/21704) Move `upgradetypes.StoreLoader` to runtime and alias it in upgrade for backward compatibility.
* (sims)[#21613](https://github.com/cosmos/cosmos-sdk/pull/21613) Add sims2 framework and factory methods for simpler message factories in modules
* (modules) [#21963](https://github.com/cosmos/cosmos-sdk/pull/21963) Duplicatable metrics are no more collected in modules. They were unnecessary overhead.
* (crypto/ledger) [#22116](https://github.com/cosmos/cosmos-sdk/pull/22116) Improve error message when deriving paths using index >100
* (testutil/integration) [#22616](https://github.com/cosmos/cosmos-sdk/pull/22616) Remove double context in integration tests v1.
* Use `integrationApp.Context()` instead of creating a context prior.
* (version) [#22807](https://github.com/cosmos/cosmos-sdk/pull/22807) Return server/v2 information in the `version` functions and commands.
* [#22826](https://github.com/cosmos/cosmos-sdk/pull/22826) Simplify testing frameworks by removing `testutil/cmdtest`.
### Bug Fixes
* (x/gov) [#19725](https://github.com/cosmos/cosmos-sdk/pull/19725) Fetch a failed proposal tally from proposal.FinalTallyResult in the gprc query.
* (types) [#19709](https://github.com/cosmos/cosmos-sdk/pull/19709) Fix skip staking genesis export when using `CoreAppModuleAdaptor` / `CoreAppModuleBasicAdaptor` for it.
* (x/auth) [#19549](https://github.com/cosmos/cosmos-sdk/pull/19549) Accept custom get signers when injecting `x/auth/tx`.
* (x/staking) Fix a possible bypass of delegator slashing: [GHSA-86h5-xcpx-cfqc](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-86h5-xcpx-cfqc)
* (baseapp) Fix a bug in `baseapp.ValidateVoteExtensions` helper ([GHSA-95rx-m9m5-m94v](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-95rx-m9m5-m94v)). The helper has been fixed and for avoiding API breaking changes `currentHeight` and `chainID` arguments are ignored. Those arguments are removed from the helper in v0.51+.
## [v0.50.4](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.4) - 2024-02-19
### Features
* (server) [#19280](https://github.com/cosmos/cosmos-sdk/pull/19280) Adds in-place testnet CLI command.
### Improvements
* (client) [#19393](https://github.com/cosmos/cosmos-sdk/pull/19393/) Add `ReadDefaultValuesFromDefaultClientConfig` to populate the default values from the default client config in client.Context without creating a app folder.
### Bug Fixes
* (x/auth/vesting) [GHSA-4j93-fm92-rp4m](#bug-fixes) Add `BlockedAddr` check in `CreatePeriodicVestingAccount`.
* (baseapp) [#19338](https://github.com/cosmos/cosmos-sdk/pull/19338) Set HeaderInfo in context when calling `setState`.
* (baseapp): [#19200](https://github.com/cosmos/cosmos-sdk/pull/19200) Ensure that sdk side ve math matches cometbft.
* [#19106](https://github.com/cosmos/cosmos-sdk/pull/19106) Allow empty public keys when setting signatures. Public keys aren't needed for every transaction.
* (baseapp) [#19198](https://github.com/cosmos/cosmos-sdk/pull/19198) Remove usage of pointers in logs in all optimistic execution goroutines.
* (baseapp) [#19177](https://github.com/cosmos/cosmos-sdk/pull/19177) Fix baseapp `DefaultProposalHandler` same-sender non-sequential sequence.
* (crypto) [#19371](https://github.com/cosmos/cosmos-sdk/pull/19371) Avoid CLI redundant log in stdout, log to stderr instead.
## [v0.50.3](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.3) - 2024-01-15
### Features
* (types) [#18991](https://github.com/cosmos/cosmos-sdk/pull/18991) Add SignerExtractionAdapter to PriorityNonceMempool/Config and provide Default implementation matching existing behavior.
* (gRPC) [#19043](https://github.com/cosmos/cosmos-sdk/pull/19043) Add `halt_height` to the gRPC `/cosmos/base/node/v1beta1/config` request.
### Improvements
* (x/bank) [#18956](https://github.com/cosmos/cosmos-sdk/pull/18956) Introduced a new `DenomOwnersByQuery` query method for `DenomOwners`, which accepts the denom value as a query string parameter, resolving issues with denoms containing slashes.
* (x/gov) [#18707](https://github.com/cosmos/cosmos-sdk/pull/18707) Improve genesis validation.
* (x/auth/tx) [#18772](https://github.com/cosmos/cosmos-sdk/pull/18772) Remove misleading gas wanted from tx simulation failure log.
* (client/tx) [#18852](https://github.com/cosmos/cosmos-sdk/pull/18852) Add `WithFromName` to tx factory.
* (types) [#18888](https://github.com/cosmos/cosmos-sdk/pull/18888) Speedup DecCoin.Sort() if len(coins) <= 1
* (types) [#18875](https://github.com/cosmos/cosmos-sdk/pull/18875) Speedup coins.Sort() if len(coins) <= 1
* (baseapp) [#18915](https://github.com/cosmos/cosmos-sdk/pull/18915) Add a new `ExecModeVerifyVoteExtension` exec mode and ensure it's populated in the `Context` during `VerifyVoteExtension` execution.
* (testutil) [#18930](https://github.com/cosmos/cosmos-sdk/pull/18930) Add NodeURI for clientCtx.
### Bug Fixes
* (baseapp) [#19058](https://github.com/cosmos/cosmos-sdk/pull/19058) Fix baseapp posthandler branch would fail if the `runMsgs` had returned an error.
* (baseapp) [#18609](https://github.com/cosmos/cosmos-sdk/issues/18609) Fixed accounting in the block gas meter after module's beginBlock and before DeliverTx, ensuring transaction processing always starts with the expected zeroed out block gas meter.
* (baseapp) [#18895](https://github.com/cosmos/cosmos-sdk/pull/18895) Fix de-duplicating vote extensions during validation in ValidateVoteExtensions.
## [v0.50.2](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.2) - 2023-12-11
### Features
* (debug) [#18219](https://github.com/cosmos/cosmos-sdk/pull/18219) Add debug commands for application codec types.
* (client/keys) [#17639](https://github.com/cosmos/cosmos-sdk/pull/17639) Allows using and saving public keys encoded as base64.
* (server) [#17094](https://github.com/cosmos/cosmos-sdk/pull/17094) Add a `shutdown-grace` flag for waiting a given time before exit.
### Improvements
* (telemetry) [#18646] (https://github.com/cosmos/cosmos-sdk/pull/18646) Enable statsd and dogstatsd telemetry sinks.
* (server) [#18478](https://github.com/cosmos/cosmos-sdk/pull/18478) Add command flag to disable colored logs.
* (x/gov) [#18025](https://github.com/cosmos/cosmos-sdk/pull/18025) Improve `<appd> q gov proposer` by querying directly a proposal instead of tx events. It is an alias of `q gov proposal` as the proposer is a field of the proposal.
* (version) [#18063](https://github.com/cosmos/cosmos-sdk/pull/18063) Allow to define extra info to be displayed in `<appd> version --long` command.
* (codec/unknownproto)[#18541](https://github.com/cosmos/cosmos-sdk/pull/18541) Remove the use of "protoc-gen-gogo/descriptor" in favour of using the official protobuf descriptorpb types inside unknownproto.
### Bug Fixes
* (x/auth) [#18564](https://github.com/cosmos/cosmos-sdk/pull/18564) Fix total fees calculation when batch signing.
* (server) [#18537](https://github.com/cosmos/cosmos-sdk/pull/18537) Fix panic when defining minimum gas config as `100stake;100uatom`. Use a `,` delimiter instead of `;`. Fixes the server config getter to use the correct delimiter.
* [#18531](https://github.com/cosmos/cosmos-sdk/pull/18531) Baseapp's `GetConsensusParams` returns an empty struct instead of panicking if no params are found.
* (client/tx) [#18472](https://github.com/cosmos/cosmos-sdk/pull/18472) Utilizes the correct Pubkey when simulating a transaction.
* (baseapp) [#18486](https://github.com/cosmos/cosmos-sdk/pull/18486) Fixed FinalizeBlock calls not being passed to ABCIListeners.
* (baseapp) [#18627](https://github.com/cosmos/cosmos-sdk/pull/18627) Post handlers are run on non successful transaction executions too.
* (baseapp) [#18654](https://github.com/cosmos/cosmos-sdk/pull/18654) Fixes an issue in which `gogoproto.Merge` does not work with gogoproto messages with custom types.
## [v0.50.1](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.1) - 2023-11-07
> v0.50.0 has been retracted due to a mistake in tagging the release. Please use v0.50.1 instead.
### Features
* (baseapp) [#18071](https://github.com/cosmos/cosmos-sdk/pull/18071) Add hybrid handlers to `MsgServiceRouter`.
* (server) [#18162](https://github.com/cosmos/cosmos-sdk/pull/18162) Start gRPC & API server in standalone mode.
* (baseapp & types) [#17712](https://github.com/cosmos/cosmos-sdk/pull/17712) Introduce `PreBlock`, which runs before begin blocker other modules, and allows to modify consensus parameters, and the changes are visible to the following state machine logics. Additionally it can be used for vote extensions.
* (genutil) [#17571](https://github.com/cosmos/cosmos-sdk/pull/17571) Allow creation of `AppGenesis` without a file lookup.
* (codec) [#17042](https://github.com/cosmos/cosmos-sdk/pull/17042) Add `CollValueV2` which supports encoding of protov2 messages in collections.
* (x/gov) [#16976](https://github.com/cosmos/cosmos-sdk/pull/16976) Add `failed_reason` field to `Proposal` under `x/gov` to indicate the reason for a failed proposal. Referenced from [#238](https://github.com/bnb-chain/greenfield-cosmos-sdk/pull/238) under `bnb-chain/greenfield-cosmos-sdk`.
* (baseapp) [#16898](https://github.com/cosmos/cosmos-sdk/pull/16898) Add `preFinalizeBlockHook` to allow vote extensions persistence.
* (cli) [#16887](https://github.com/cosmos/cosmos-sdk/pull/16887) Add two new CLI commands: `<appd> tx simulate` for simulating a transaction; `<appd> query block-results` for querying CometBFT RPC for block results.
* (x/bank) [#16852](https://github.com/cosmos/cosmos-sdk/pull/16852) Add `DenomMetadataByQueryString` query in bank module to support metadata query by query string.
* (baseapp) [#16581](https://github.com/cosmos/cosmos-sdk/pull/16581) Implement Optimistic Execution as an experimental feature (not enabled by default).
* (types) [#16257](https://github.com/cosmos/cosmos-sdk/pull/16257) Allow setting the base denom in the denom registry.
* (baseapp) [#16239](https://github.com/cosmos/cosmos-sdk/pull/16239) Add Gas Limits to allow node operators to resource bound queries.
* (cli) [#16209](https://github.com/cosmos/cosmos-sdk/pull/16209) Make `StartCmd` more customizable.
* (types/simulation) [#16074](https://github.com/cosmos/cosmos-sdk/pull/16074) Add generic SimulationStoreDecoder for modules using collections.
* (genutil) [#16046](https://github.com/cosmos/cosmos-sdk/pull/16046) Add "module-name" flag to genutil `add-genesis-account` to enable initializing module accounts at genesis.* [#15970](https://github.com/cosmos/cosmos-sdk/pull/15970) Enable SIGN_MODE_TEXTUAL.
* (types) [#15958](https://github.com/cosmos/cosmos-sdk/pull/15958) Add `module.NewBasicManagerFromManager` for creating a basic module manager from a module manager.
* (types/module) [#15829](https://github.com/cosmos/cosmos-sdk/pull/15829) Add new endblocker interface to handle valset updates.
* (runtime) [#15818](https://github.com/cosmos/cosmos-sdk/pull/15818) Provide logger through `depinject` instead of appBuilder.
* (types) [#15735](https://github.com/cosmos/cosmos-sdk/pull/15735) Make `ValidateBasic() error` method of `Msg` interface optional. Modules should validate messages directly in their message handlers ([RFC 001](https://docs.cosmos.network/main/rfc/rfc-001-tx-validation)).
* (x/genutil) [#15679](https://github.com/cosmos/cosmos-sdk/pull/15679) Allow applications to specify a custom genesis migration function for the `genesis migrate` command.
* (telemetry) [#15657](https://github.com/cosmos/cosmos-sdk/pull/15657) Emit more data (go version, sdk version, upgrade height) in prom metrics.
* (client) [#15597](https://github.com/cosmos/cosmos-sdk/pull/15597) Add status endpoint for clients.
* (testutil/integration) [#15556](https://github.com/cosmos/cosmos-sdk/pull/15556) Introduce `testutil/integration` package for module integration testing.
* (runtime) [#15547](https://github.com/cosmos/cosmos-sdk/pull/15547) Allow runtime to pass event core api service to modules.
* (client) [#15458](https://github.com/cosmos/cosmos-sdk/pull/15458) Add a `CmdContext` field to client.Context initialized to cobra command's context.
* (x/genutil) [#15301](https://github.com/cosmos/cosmos-sdk/pull/15031) Add application genesis. The genesis is now entirely managed by the application and passed to CometBFT at note instantiation. Functions that were taking a `cmttypes.GenesisDoc{}` now takes a `genutiltypes.AppGenesis{}`.
* (core) [#15133](https://github.com/cosmos/cosmos-sdk/pull/15133) Implement RegisterServices in the module manager.
* (x/bank) [#14894](https://github.com/cosmos/cosmos-sdk/pull/14894) Return a human readable denomination for IBC vouchers when querying bank balances. Added a `ResolveDenom` parameter to `types.QueryAllBalancesRequest` and `--resolve-denom` flag to `GetBalancesCmd()`.
* (core) [#14860](https://github.com/cosmos/cosmos-sdk/pull/14860) Add `Precommit` and `PrepareCheckState` AppModule callbacks.
* (x/gov) [#14720](https://github.com/cosmos/cosmos-sdk/pull/14720) Upstream expedited proposals from Osmosis.
* (cli) [#14659](https://github.com/cosmos/cosmos-sdk/pull/14659) Added ability to query blocks by events with queries directly passed to Tendermint, which will allow for full query operator support, e.g. `>`.
* (x/auth) [#14650](https://github.com/cosmos/cosmos-sdk/pull/14650) Add Textual SignModeHandler. Enable `SIGN_MODE_TEXTUAL` by following the [UPGRADING.md](./UPGRADING.md) instructions.
* (x/crisis) [#14588](https://github.com/cosmos/cosmos-sdk/pull/14588) Use CacheContext() in AssertInvariants().
* (mempool) [#14484](https://github.com/cosmos/cosmos-sdk/pull/14484) Add priority nonce mempool option for transaction replacement.
* (query) [#14468](https://github.com/cosmos/cosmos-sdk/pull/14468) Implement pagination for collections.
* (x/gov) [#14373](https://github.com/cosmos/cosmos-sdk/pull/14373) Add new proto field `constitution` of type `string` to gov module genesis state, which allows chain builders to lay a strong foundation by specifying purpose.
* (client) [#14342](https://github.com/cosmos/cosmos-sdk/pull/14342) Add `<app> config` command is now a sub-command, for setting, getting and migrating Cosmos SDK configuration files.
* (x/distribution) [#14322](https://github.com/cosmos/cosmos-sdk/pull/14322) Introduce a new gRPC message handler, `DepositValidatorRewardsPool`, that allows explicit funding of a validator's reward pool.
* (x/bank) [#14224](https://github.com/cosmos/cosmos-sdk/pull/14224) Allow injection of restrictions on transfers using `AppendSendRestriction` or `PrependSendRestriction`.
### Improvements
* (x/gov) [#18189](https://github.com/cosmos/cosmos-sdk/pull/18189) Limit the accepted deposit coins for a proposal to the minimum proposal deposit denoms.
* (x/staking) [#18049](https://github.com/cosmos/cosmos-sdk/pull/18049) Return early if Slash encounters zero tokens to burn.
* (x/staking) [#18035](https://github.com/cosmos/cosmos-sdk/pull/18035) Hoisted out of the redelegation loop, the non-changing validator and delegator addresses parsing.
* (keyring) [#17913](https://github.com/cosmos/cosmos-sdk/pull/17913) Add `NewAutoCLIKeyring` for creating an AutoCLI keyring from a SDK keyring.
* (x/consensus) [#18041](https://github.com/cosmos/cosmos-sdk/pull/18041) Let `ToProtoConsensusParams()` return an error.
* (x/gov) [#17780](https://github.com/cosmos/cosmos-sdk/pull/17780) Recover panics and turn them into errors when executing x/gov proposals.
* (baseapp) [#17667](https://github.com/cosmos/cosmos-sdk/pull/17667) Close databases opened by SDK in `baseApp.Close()`.
* (types/module) [#17554](https://github.com/cosmos/cosmos-sdk/pull/17554) Introduce `HasABCIGenesis` which is implemented by a module only when a validatorset update needs to be returned.
* (cli) [#17389](https://github.com/cosmos/cosmos-sdk/pull/17389) gRPC CometBFT commands have been added under `<aapd> q consensus comet`. CometBFT commands placement in the SDK has been simplified. See the exhaustive list below.
* `client/rpc.StatusCommand()` is now at `server.StatusCommand()`
* (testutil) [#17216](https://github.com/cosmos/cosmos-sdk/issues/17216) Add `DefaultContextWithKeys` to `testutil` package.
* (cli) [#17187](https://github.com/cosmos/cosmos-sdk/pull/17187) Do not use `ctx.PrintObjectLegacy` in commands anymore.
* `<appd> q gov proposer [proposal-id]` now returns a proposal id as int instead of string.
* (x/staking) [#17164](https://github.com/cosmos/cosmos-sdk/pull/17164) Add `BondedTokensAndPubKeyByConsAddr` to the keeper to enable vote extension verification.
* (x/group, x/gov) [#17109](https://github.com/cosmos/cosmos-sdk/pull/17109) Let proposal summary be 40x longer than metadata limit.
* (version) [#17096](https://github.com/cosmos/cosmos-sdk/pull/17096) Improve `getSDKVersion()` to handle module replacements.
* (types) [#16890](https://github.com/cosmos/cosmos-sdk/pull/16890) Remove `GetTxCmd() *cobra.Command` and `GetQueryCmd() *cobra.Command` from `module.AppModuleBasic` interface.
* (x/authz) [#16869](https://github.com/cosmos/cosmos-sdk/pull/16869) Improve error message when grant not found.
* (all) [#16497](https://github.com/cosmos/cosmos-sdk/pull/16497) Removed all exported vestiges of `sdk.MustSortJSON` and `sdk.SortJSON`.
* (server) [#16238](https://github.com/cosmos/cosmos-sdk/pull/16238) Don't setup p2p node keys if starting a node in GRPC only mode.
* (cli) [#16206](https://github.com/cosmos/cosmos-sdk/pull/16206) Make ABCI handshake profileable.
* (types) [#16076](https://github.com/cosmos/cosmos-sdk/pull/16076) Optimize `ChainAnteDecorators`/`ChainPostDecorators` to instantiate the functions once instead of on every invocation of the returned `AnteHandler`/`PostHandler`.
* (server) [#16071](https://github.com/cosmos/cosmos-sdk/pull/16071) When `mempool.max-txs` is set to a negative value, use a no-op mempool (effectively disable the app mempool).
* (types/query) [#16041](https://github.com/cosmos/cosmos-sdk/pull/16041) Change pagination max limit to a variable in order to be modified by application devs.
* (simapp) [#15958](https://github.com/cosmos/cosmos-sdk/pull/15958) Refactor SimApp for removing the global basic manager.
* (all modules) [#15901](https://github.com/cosmos/cosmos-sdk/issues/15901) All core Cosmos SDK modules query commands have migrated to [AutoCLI](https://docs.cosmos.network/main/core/autocli), ensuring parity between gRPC and CLI queries.
* (x/auth) [#15867](https://github.com/cosmos/cosmos-sdk/pull/15867) Support better logging for signature verification failure.
* (store/cachekv) [#15767](https://github.com/cosmos/cosmos-sdk/pull/15767) Reduce peak RAM usage during and after `InitGenesis`.
* (x/bank) [#15764](https://github.com/cosmos/cosmos-sdk/pull/15764) Speedup x/bank `InitGenesis`.
* (x/slashing) [#15580](https://github.com/cosmos/cosmos-sdk/pull/15580) Refactor the validator's missed block signing window to be a chunked bitmap instead of a "logical" bitmap, significantly reducing the storage footprint.
* (x/gov) [#15554](https://github.com/cosmos/cosmos-sdk/pull/15554) Add proposal result log in `active_proposal` event. When a proposal passes but fails to execute, the proposal result is logged in the `active_proposal` event.
* (x/consensus) [#15553](https://github.com/cosmos/cosmos-sdk/pull/15553) Migrate consensus module to use collections.
* (server) [#15358](https://github.com/cosmos/cosmos-sdk/pull/15358) Add `server.InterceptConfigsAndCreateContext` as alternative to `server.InterceptConfigsPreRunHandler` which does not set the server context and the default SDK logger.
* (mempool) [#15328](https://github.com/cosmos/cosmos-sdk/pull/15328) Improve the `PriorityNonceMempool`:
* Support generic transaction prioritization, instead of `ctx.Priority()`
* Improve construction through the use of a single `PriorityNonceMempoolConfig` instead of option functions
* (x/authz) [#15164](https://github.com/cosmos/cosmos-sdk/pull/15164) Add `MsgCancelUnbondingDelegation` to staking authorization.
* (server) [#15041](https://github.com/cosmos/cosmos-sdk/pull/15041) Remove unnecessary sleeps from gRPC and API server initiation. The servers will start and accept requests as soon as they're ready.
* (baseapp) [#15023](https://github.com/cosmos/cosmos-sdk/pull/15023) & [#15213](https://github.com/cosmos/cosmos-sdk/pull/15213) Add `MessageRouter` interface to baseapp and pass it to authz, gov and groups instead of concrete type.
* [#15011](https://github.com/cosmos/cosmos-sdk/pull/15011) Introduce `cosmossdk.io/log` package to provide a consistent logging interface through the SDK. CometBFT logger is now replaced by `cosmossdk.io/log.Logger`.
* (x/staking) [#14864](https://github.com/cosmos/cosmos-sdk/pull/14864) `<appd> tx staking create-validator` CLI command now takes a json file as an arg instead of using required flags.
* (x/auth) [#14758](https://github.com/cosmos/cosmos-sdk/pull/14758) Allow transaction event queries to directly passed to Tendermint, which will allow for full query operator support, e.g. `>`.
* (x/evidence) [#14757](https://github.com/cosmos/cosmos-sdk/pull/14757) Evidence messages do not need to implement a `.Type()` anymore.
* (x/auth/tx) [#14751](https://github.com/cosmos/cosmos-sdk/pull/14751) Remove `.Type()` and `Route()` methods from all msgs and `legacytx.LegacyMsg` interface.
* (cli) [#14659](https://github.com/cosmos/cosmos-sdk/pull/14659) Added ability to query blocks by either height/hash `<app> q block --type=height|hash <height|hash>`.
* (x/staking) [#14590](https://github.com/cosmos/cosmos-sdk/pull/14590) Return undelegate amount in MsgUndelegateResponse.
* [#14529](https://github.com/cosmos/cosmos-sdk/pull/14529) Add new property `BondDenom` to `SimulationState` struct.
* (store) [#14439](https://github.com/cosmos/cosmos-sdk/pull/14439) Remove global metric gatherer from store.
* By default store has a no op metric gatherer, the application developer must set another metric gatherer or us the provided one in `store/metrics`.
* (store) [#14438](https://github.com/cosmos/cosmos-sdk/pull/14438) Pass logger from baseapp to store.
* (baseapp) [#14417](https://github.com/cosmos/cosmos-sdk/pull/14417) The store package no longer has a dependency on baseapp.
* (module) [#14415](https://github.com/cosmos/cosmos-sdk/pull/14415) Loosen assertions in SetOrderBeginBlockers() and SetOrderEndBlockers().
* (store) [#14410](https://github.com/cosmos/cosmos-sdk/pull/14410) `rootmulti.Store.loadVersion` has validation to check if all the module stores' height is correct, it will error if any module store has incorrect height.
* [#14406](https://github.com/cosmos/cosmos-sdk/issues/14406) Migrate usage of `types/store.go` to `store/types/..`.
* (context)[#14384](https://github.com/cosmos/cosmos-sdk/pull/14384) Refactor(context): Pass EventManager to the context as an interface.
* (types) [#14354](https://github.com/cosmos/cosmos-sdk/pull/14354) Improve performance on Context.KVStore and Context.TransientStore by 40%.
* (crypto/keyring) [#14151](https://github.com/cosmos/cosmos-sdk/pull/14151) Move keys presentation from `crypto/keyring` to `client/keys`
* (signing) [#14087](https://github.com/cosmos/cosmos-sdk/pull/14087) Add SignModeHandlerWithContext interface with a new `GetSignBytesWithContext` to get the sign bytes using `context.Context` as an argument to access state.
* (server) [#14062](https://github.com/cosmos/cosmos-sdk/pull/14062) Remove rosetta from server start.
* (crypto) [#3129](https://github.com/cosmos/cosmos-sdk/pull/3129) New armor and keyring key derivation uses aead and encryption uses chacha20poly.
### State Machine Breaking
* (x/gov) [#18146](https://github.com/cosmos/cosmos-sdk/pull/18146) Add denom check to reject denoms outside of those listed in `MinDeposit`. A new `MinDepositRatio` param is added (with a default value of `0.001`) and now deposits are required to be at least `MinDepositRatio*MinDeposit` to be accepted.
* (x/group,x/gov) [#16235](https://github.com/cosmos/cosmos-sdk/pull/16235) A group and gov proposal is rejected if the proposal metadata title and summary do not match the proposal title and summary.
* (baseapp) [#15930](https://github.com/cosmos/cosmos-sdk/pull/15930) change vote info provided by prepare and process proposal to the one in the block.
* (x/staking) [#15731](https://github.com/cosmos/cosmos-sdk/pull/15731) Introducing a new index to retrieve the delegations by validator efficiently.
* (x/staking) [#15701](https://github.com/cosmos/cosmos-sdk/pull/15701) The `HistoricalInfoKey` has been updated to use a binary format.
* (x/slashing) [#15580](https://github.com/cosmos/cosmos-sdk/pull/15580) The validator slashing window now stores "chunked" bitmap entries for each validator's signing window instead of a single boolean entry per signing window index.
* (x/staking) [#14590](https://github.com/cosmos/cosmos-sdk/pull/14590) `MsgUndelegateResponse` now includes undelegated amount. `x/staking` module's `keeper.Undelegate` now returns 3 values (completionTime,undelegateAmount,error) instead of 2.
* (x/feegrant) [#14294](https://github.com/cosmos/cosmos-sdk/pull/14294) Moved the logic of rejecting duplicate grant from `msg_server` to `keeper` method.
* (baseapp) [#18383](https://github.com/cosmos/cosmos-sdk/pull/18383) Fixed a data race inside BaseApp.getContext, found by end-to-end (e2e) tests.
* (client/server) [#18345](https://github.com/cosmos/cosmos-sdk/pull/18345) Consistently set viper prefix in client and server. It defaults for the binary name for both client and server.
* (baseapp) [#18551](https://github.com/cosmos/cosmos-sdk/pull/18551) Fix SelectTxForProposal the calculation method of tx bytes size is inconsistent with CometBFT
* (client/keys) [#18562](https://github.com/cosmos/cosmos-sdk/pull/18562) `keys delete` won't terminate when a key is not found.
* (client) [#18622](https://github.com/cosmos/cosmos-sdk/pull/18622) Fixed a potential under/overflow from `uint64->int64` when computing gas fees as a LegacyDec.
* (baseapp) [#18727](https://github.com/cosmos/cosmos-sdk/pull/18727) Ensure that `BaseApp.Init` firstly returns any errors from a nil commit multistore instead of panicking on nil dereferencing and before sealing the app.
* (server) [#18994](https://github.com/cosmos/cosmos-sdk/pull/18994) Update server context directly rather than a reference to a sub-object
* [#19833](https://github.com/cosmos/cosmos-sdk/pull/19833) Fix some places in which we call Remove inside a Walk.
* [#19851](https://github.com/cosmos/cosmos-sdk/pull/19851) Fix some places in which we call Remove inside a Walk (x/staking and x/gov).
* (sims) [#21952](https://github.com/cosmos/cosmos-sdk/pull/21952) Use liveness matrix for validator sign status in sims
* (baseapp) [#21003](https://github.com/cosmos/cosmos-sdk/pull/21003) Align block header when query with latest height.
* (sims) [#21906](https://github.com/cosmos/cosmos-sdk/pull/21906) Skip sims test when running dry on validators
* (cli) [#21919](https://github.com/cosmos/cosmos-sdk/pull/21919) Query address-by-acc-num by account_id instead of id.
* (cli) [#22656](https://github.com/cosmos/cosmos-sdk/pull/22656) Prune cmd should disable async pruning.
### API Breaking Changes
* (x/auth) [#17787](https://github.com/cosmos/cosmos-sdk/pull/17787) Remove Tip functionality.
* (types) `module.EndBlockAppModule` has been replaced by Core API `appmodule.HasEndBlocker` or `module.HasABCIEndBlock` when needing validator updates.
* (types) `module.BeginBlockAppModule` has been replaced by Core API `appmodule.HasBeginBlocker`.
* (types) [#17358](https://github.com/cosmos/cosmos-sdk/pull/17358) Remove deprecated `sdk.Handler`, use `baseapp.MsgServiceHandler` instead.
* (client) [#17197](https://github.com/cosmos/cosmos-sdk/pull/17197) `keys.Commands` does not take a home directory anymore. It is inferred from the root command.
* (x/staking) [#17157](https://github.com/cosmos/cosmos-sdk/pull/17157) `GetValidatorsByPowerIndexKey` and `ValidateBasic` for historical info takes a validator address codec in order to be able to decode/encode addresses.
* `GetOperator()` now returns the address as it is represented in state, by default this is an encoded address
* `GetConsAddr() ([]byte, error)` returns `[]byte` instead of sdk.ConsAddres.
* `FromABCIEvidence` & `GetConsensusAddress(consAc address.Codec)` now take a consensus address codec to be able to decode the incoming address.
* (x/distribution) `Delegate` & `SlashValidator` helper function added the mock staking keeper as a parameter passed to the function
* (x/staking) [#17098](https://github.com/cosmos/cosmos-sdk/pull/17098) `NewMsgCreateValidator`, `NewValidator`, `NewMsgCancelUnbondingDelegation`, `NewMsgUndelegate`, `NewMsgBeginRedelegate`, `NewMsgDelegate` and `NewMsgEditValidator` takes a string instead of `sdk.ValAddress` or `sdk.AccAddress`:
* `NewRedelegation` and `NewUnbondingDelegation` takes a validatorAddressCodec and a delegatorAddressCodec in order to decode the addresses.
* `NewRedelegationResponse` takes a string instead of `sdk.ValAddress` or `sdk.AccAddress`.
* `NewMsgCreateValidator.Validate()` takes an address codec in order to decode the address.
* `BuildCreateValidatorMsg` takes a ValidatorAddressCodec in order to decode addresses.
* (x/slashing) [#17098](https://github.com/cosmos/cosmos-sdk/pull/17098) `NewMsgUnjail` takes a string instead of `sdk.ValAddress`
* (x/genutil) [#17098](https://github.com/cosmos/cosmos-sdk/pull/17098) `GenAppStateFromConfig`, AddGenesisAccountCmd and `GenTxCmd` takes an addresscodec to decode addresses.
* (x/distribution) [#17098](https://github.com/cosmos/cosmos-sdk/pull/17098) `NewMsgDepositValidatorRewardsPool`, `NewMsgFundCommunityPool`, `NewMsgWithdrawValidatorCommission` and `NewMsgWithdrawDelegatorReward` takes a string instead of `sdk.ValAddress` or `sdk.AccAddress`.
* (x/staking) [#16959](https://github.com/cosmos/cosmos-sdk/pull/16959) Add validator and consensus address codec as staking keeper arguments.
* (x/staking) [#16958](https://github.com/cosmos/cosmos-sdk/pull/16958) DelegationI interface `GetDelegatorAddr` & `GetValidatorAddr` have been migrated to return string instead of sdk.AccAddress and sdk.ValAddress respectively. stakingtypes.NewDelegation takes a string instead of sdk.AccAddress and sdk.ValAddress.
* (testutil) [#16899](https://github.com/cosmos/cosmos-sdk/pull/16899) The *cli testutil* `QueryBalancesExec` has been removed. Use the gRPC or REST query instead.
* (x/staking) [#16795](https://github.com/cosmos/cosmos-sdk/pull/16795) `DelegationToDelegationResponse`, `DelegationsToDelegationResponses`, `RedelegationsToRedelegationResponses` are no longer exported.
* (x/auth/vesting) [#16741](https://github.com/cosmos/cosmos-sdk/pull/16741) Vesting account constructor now return an error with the result of their validate function.
* (x/auth) [#16650](https://github.com/cosmos/cosmos-sdk/pull/16650) The *cli testutil* `QueryAccountExec` has been removed. Use the gRPC or REST query instead.
* (x/auth) [#16621](https://github.com/cosmos/cosmos-sdk/pull/16621) Pass address codec to auth new keeper constructor.
* (x/auth) [#16423](https://github.com/cosmos/cosmos-sdk/pull/16423) `helpers.AddGenesisAccount` has been moved to `x/genutil` to remove the cyclic dependency between `x/auth` and `x/genutil`.
* (baseapp) [#16342](https://github.com/cosmos/cosmos-sdk/pull/16342) NewContext was renamed to NewContextLegacy. The replacement (NewContext) now does not take a header, instead you should set the header via `WithHeaderInfo` or `WithBlockHeight`. Note that `WithBlockHeight` will soon be deprecated and its recommended to use `WithHeaderInfo`.
* (x/mint) [#16329](https://github.com/cosmos/cosmos-sdk/pull/16329) Use collections for state management:
* Removed: keeper `GetParams`, `SetParams`, `GetMinter`, `SetMinter`.
* (x/crisis) [#16328](https://github.com/cosmos/cosmos-sdk/pull/16328) Use collections for state management:
* Removed: keeper `GetConstantFee`, `SetConstantFee`
* (x/staking) [#16324](https://github.com/cosmos/cosmos-sdk/pull/16324) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey`, and methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context` and return an `error`. Notable changes:
* `Validator` method now returns `types.ErrNoValidatorFound` instead of `nil` when not found.
* (x/distribution) [#16302](https://github.com/cosmos/cosmos-sdk/pull/16302) Use collections for FeePool state management.
* Removed: keeper `GetFeePool`, `SetFeePool`, `GetFeePoolCommunityCoins`
* (types) [#16272](https://github.com/cosmos/cosmos-sdk/pull/16272) `FeeGranter` in the `FeeTx` interface returns `[]byte` instead of `string`.
* (x/gov) [#16268](https://github.com/cosmos/cosmos-sdk/pull/16268) Use collections for proposal state management (part 2):
* this finalizes the gov collections migration
* Removed: types all the key related functions
* Removed: keeper `InsertActiveProposalsQueue`, `RemoveActiveProposalsQueue`, `InsertInactiveProposalsQueue`, `RemoveInactiveProposalsQueue`, `IterateInactiveProposalsQueue`, `IterateActiveProposalsQueue`, `ActiveProposalsQueueIterator`, `InactiveProposalsQueueIterator`
* (x/slashing) [#16246](https://github.com/cosmos/cosmos-sdk/issues/16246) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey`, and methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context` and return an `error`. `GetValidatorSigningInfo` now returns an error instead of a `found bool`, the error can be `nil` (found), `ErrNoSigningInfoFound` (not found) and any other error.
* (module) [#16227](https://github.com/cosmos/cosmos-sdk/issues/16227) `manager.RunMigrations()` now take a `context.Context` instead of a `sdk.Context`.
* (x/crisis) [#16216](https://github.com/cosmos/cosmos-sdk/issues/16216) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey`, methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context` and return an `error` instead of panicking.
* (x/distribution) [#16211](https://github.com/cosmos/cosmos-sdk/pull/16211) Use collections for params state management.
* (cli) [#16209](https://github.com/cosmos/cosmos-sdk/pull/16209) Add API `StartCmdWithOptions` to create customized start command.
* (x/mint) [#16179](https://github.com/cosmos/cosmos-sdk/issues/16179) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey`, and methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context` and return an `error`.
* (x/gov) [#16171](https://github.com/cosmos/cosmos-sdk/pull/16171) Use collections for proposal state management (part 1):
* Removed: keeper: `GetProposal`, `UnmarshalProposal`, `MarshalProposal`, `IterateProposal`, `GetProposal`, `GetProposalFiltered`, `GetProposals`, `GetProposalID`, `SetProposalID`
* Removed: errors unused errors
* (x/gov) [#16164](https://github.com/cosmos/cosmos-sdk/pull/16164) Use collections for vote state management:
* Removed: types `VoteKey`, `VoteKeys`
* Removed: keeper `IterateVotes`, `IterateAllVotes`, `GetVotes`, `GetVote`, `SetVote`
* (sims) [#16155](https://github.com/cosmos/cosmos-sdk/pull/16155)
* `simulation.NewOperationMsg` now marshals the operation msg as proto bytes instead of legacy amino JSON bytes.
* `simulation.NewOperationMsg` is now 2-arity instead of 3-arity with the obsolete argument `codec.ProtoCodec` removed.
* The field `OperationMsg.Msg` is now of type `[]byte` instead of `json.RawMessage`.
* (x/gov) [#16127](https://github.com/cosmos/cosmos-sdk/pull/16127) Use collections for deposit state management:
* The following methods are removed from the gov keeper: `GetDeposit`, `GetAllDeposits`, `IterateAllDeposits`.
* The following functions are removed from the gov types: `DepositKey`, `DepositsKey`.
* (x/gov) [#16118](https://github.com/cosmos/cosmos-sdk/pull/16118/) Use collections for constitution and params state management.
* (x/gov) [#16106](https://github.com/cosmos/cosmos-sdk/pull/16106) Remove gRPC query methods from gov keeper.
* (x/*all*) [#16052](https://github.com/cosmos/cosmos-sdk/pull/16062) `GetSignBytes` implementations on messages and global legacy amino codec definitions have been removed from all modules.
* (sims) [#16052](https://github.com/cosmos/cosmos-sdk/pull/16062) `GetOrGenerate` no longer requires a codec argument is now 4-arity instead of 5-arity.
* (types/math) [#16040](https://github.com/cosmos/cosmos-sdk/pull/16798) Remove aliases in `types/math.go` (part 2).
* (types/math) [#16040](https://github.com/cosmos/cosmos-sdk/pull/16040) Remove aliases in `types/math.go` (part 1).
* (x/auth) [#16016](https://github.com/cosmos/cosmos-sdk/pull/16016) Use collections for accounts state management:
* removed: keeper `HasAccountByID`, `AccountAddressByID`, `SetParams
* (x/genutil) [#15999](https://github.com/cosmos/cosmos-sdk/pull/15999) Genutil now takes the `GenesisTxHanlder` interface instead of deliverTx. The interface is implemented on baseapp
* (x/gov) [#15988](https://github.com/cosmos/cosmos-sdk/issues/15988) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey`, methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context` and return an `error` (instead of panicking or returning a `found bool`). Iterators callback functions now return an error instead of a `bool`.
* (x/auth) [#15985](https://github.com/cosmos/cosmos-sdk/pull/15985) The `AccountKeeper` does not expose the `QueryServer` and `MsgServer` APIs anymore.
* (x/authz) [#15962](https://github.com/cosmos/cosmos-sdk/issues/15962) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey`, methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context`. The `Authorization` interface's `Accept` method now takes a `context.Context` instead of a `sdk.Context`.
* (x/distribution) [#15948](https://github.com/cosmos/cosmos-sdk/issues/15948) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey` and methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context`. Keeper methods also now return an `error`.
* (x/bank) [#15891](https://github.com/cosmos/cosmos-sdk/issues/15891) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey` and methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context`. Also `FundAccount` and `FundModuleAccount` from the `testutil` package accept a `context.Context` instead of a `sdk.Context`, and it's position was moved to the first place.
* (x/slashing) [#15875](https://github.com/cosmos/cosmos-sdk/pull/15875) `x/slashing.NewAppModule` now requires an `InterfaceRegistry` parameter.
* (x/crisis) [#15852](https://github.com/cosmos/cosmos-sdk/pull/15852) Crisis keeper now takes a instance of the address codec to be able to decode user addresses
* (x/auth) [#15822](https://github.com/cosmos/cosmos-sdk/pull/15822) The type of struct field `ante.HandlerOptions.SignModeHandler` has been changed to `x/tx/signing.HandlerMap`.
* (client) [#15822](https://github.com/cosmos/cosmos-sdk/pull/15822) The return type of the interface method `TxConfig.SignModeHandler` has been changed to `x/tx/signing.HandlerMap`.
* The signature of `VerifySignature` has been changed to accept a `x/tx/signing.HandlerMap` and other structs from `x/tx` as arguments.
* The signature of `NewTxConfigWithTextual` has been deprecated and its signature changed to accept a `SignModeOptions`.
* The signature of `NewSigVerificationDecorator` has been changed to accept a `x/tx/signing.HandlerMap`.
* (x/bank) [#15818](https://github.com/cosmos/cosmos-sdk/issues/15818) `BaseViewKeeper`'s `Logger` method now doesn't require a context. `NewBaseKeeper`, `NewBaseSendKeeper` and `NewBaseViewKeeper` now also require a `log.Logger` to be passed in.
* (x/genutil) [#15679](https://github.com/cosmos/cosmos-sdk/pull/15679) `MigrateGenesisCmd` now takes a `MigrationMap` instead of having the SDK genesis migration hardcoded.
* (client) [#15673](https://github.com/cosmos/cosmos-sdk/pull/15673) Move `client/keys.OutputFormatJSON` and `client/keys.OutputFormatText` to `client/flags` package.
* (x/*all*) [#15648](https://github.com/cosmos/cosmos-sdk/issues/15648) Make `SetParams` consistent across all modules and validate the params at the message handling instead of `SetParams` method.
* (codec) [#15600](https://github.com/cosmos/cosmos-sdk/pull/15600) [#15873](https://github.com/cosmos/cosmos-sdk/pull/15873) add support for getting signers to `codec.Codec` and `InterfaceRegistry`:
* `InterfaceRegistry` is has unexported methods and implements `protodesc.Resolver` plus the `RangeFiles` and `SigningContext` methods. All implementations of `InterfaceRegistry` by other users must now embed the official implementation.
* `Codec` has new methods `InterfaceRegistry`, `GetMsgAnySigners`, `GetMsgV1Signers`, and `GetMsgV2Signers` as well as unexported methods. All implementations of `Codec` by other users must now embed an official implementation from the `codec` package.
* `AminoCodec` is marked as deprecated and no longer implements `Codec.
* (client) [#15597](https://github.com/cosmos/cosmos-sdk/pull/15597) `RegisterNodeService` now requires a config parameter.
* (x/nft) [#15588](https://github.com/cosmos/cosmos-sdk/pull/15588) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey` and methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context`.
* (baseapp) [#15568](https://github.com/cosmos/cosmos-sdk/pull/15568) `SetIAVLLazyLoading` is removed from baseapp.
* (x/genutil) [#15567](https://github.com/cosmos/cosmos-sdk/pull/15567) `CollectGenTxsCmd` & `GenTxCmd` takes a address.Codec to be able to decode addresses.
* (x/bank) [#15567](https://github.com/cosmos/cosmos-sdk/pull/15567) `GenesisBalance.GetAddress` now returns a string instead of `sdk.AccAddress`
* `MsgSendExec` test helper function now takes a address.Codec
* (x/auth) [#15520](https://github.com/cosmos/cosmos-sdk/pull/15520) `NewAccountKeeper` now takes a `KVStoreService` instead of a `StoreKey` and methods in the `Keeper` now take a `context.Context` instead of a `sdk.Context`.
* (baseapp) [#15519](https://github.com/cosmos/cosmos-sdk/pull/15519/files) `runTxMode`s were renamed to `execMode`. `ModeDeliver` as changed to `ModeFinalize` and a new `ModeVoteExtension` was added for vote extensions.
* (baseapp) [#15519](https://github.com/cosmos/cosmos-sdk/pull/15519/files) Writing of state to the multistore was moved to `FinalizeBlock`. `Commit` still handles the committing values to disk.
* (baseapp) [#15519](https://github.com/cosmos/cosmos-sdk/pull/15519/files) Calls to BeginBlock and EndBlock have been replaced with core api beginblock & endblock.
* (baseapp) [#15519](https://github.com/cosmos/cosmos-sdk/pull/15519/files) BeginBlock and EndBlock are now internal to baseapp. For testing, user must call `FinalizeBlock`. BeginBlock and EndBlock calls are internal to Baseapp.
* (baseapp) [#15519](https://github.com/cosmos/cosmos-sdk/pull/15519/files) All calls to ABCI methods now accept a pointer of the abci request and response types
* (x/consensus) [#15517](https://github.com/cosmos/cosmos-sdk/pull/15517) `NewKeeper` now takes a `KVStoreService` instead of a `StoreKey`.
* (x/bank) [#15477](https://github.com/cosmos/cosmos-sdk/pull/15477) `banktypes.NewMsgMultiSend` and `keeper.InputOutputCoins` only accept one input.
* (server) [#15358](https://github.com/cosmos/cosmos-sdk/pull/15358) Remove `server.ErrorCode` that was not used anywhere.
* (x/capability) [#15344](https://github.com/cosmos/cosmos-sdk/pull/15344) Capability module was removed and is now housed in [IBC-GO](https://github.com/cosmos/ibc-go).
* (mempool) [#15328](https://github.com/cosmos/cosmos-sdk/pull/15328) The `PriorityNonceMempool` is now generic over type `C comparable` and takes a single `PriorityNonceMempoolConfig[C]` argument. See `DefaultPriorityNonceMempoolConfig` for how to construct the configuration and a `TxPriority` type.
* [#15299](https://github.com/cosmos/cosmos-sdk/pull/15299) Remove `StdTx` transaction and signing APIs. No SDK version has actually supported `StdTx` since before Stargate.
* [#15284](https://github.com/cosmos/cosmos-sdk/pull/15284)
* (x/gov) [#15284](https://github.com/cosmos/cosmos-sdk/pull/15284) `NewKeeper` now requires `codec.Codec`.
* (x/authx) [#15284](https://github.com/cosmos/cosmos-sdk/pull/15284) `NewKeeper` now requires `codec.Codec`.
* `types/tx.Tx` no longer implements `sdk.Tx`.
* `sdk.Tx` now requires a new method `GetMsgsV2()`.
* `sdk.Msg.GetSigners` was deprecated and is no longer supported. Use the `cosmos.msg.v1.signer` protobuf annotation instead.
* `TxConfig` has a new method `SigningContext() *signing.Context`.
* `SigVerifiableTx.GetSigners()` now returns `([][]byte, error)` instead of `[]sdk.AccAddress`.
* `AccountKeeper` now has an `AddressCodec() address.Codec` method and the expected `AccountKeeper` for `x/auth/ante` expects this method.
* [#15211](https://github.com/cosmos/cosmos-sdk/pull/15211) Remove usage of `github.com/cometbft/cometbft/libs/bytes.HexBytes` in favor of `[]byte` thorough the SDK.
* (crypto) [#15070](https://github.com/cosmos/cosmos-sdk/pull/15070) `GenerateFromPassword` and `Cost` from `bcrypt.go` now take a `uint32` instead of a `int` type.
* (types) [#15067](https://github.com/cosmos/cosmos-sdk/pull/15067) Remove deprecated alias from `types/errors`. Use `cosmossdk.io/errors` instead.
* (server) [#15041](https://github.com/cosmos/cosmos-sdk/pull/15041) Refactor how gRPC and API servers are started to remove unnecessary sleeps:
* `api.Server#Start` now accepts a `context.Context`. The caller is responsible for ensuring that the context is canceled such that the API server can gracefully exit. The caller does not need to stop the server.
* To start the gRPC server you must first create the server via `NewGRPCServer`, after which you can start the gRPC server via `StartGRPCServer` which accepts a `context.Context`. The caller is responsible for ensuring that the context is canceled such that the gRPC server can gracefully exit. The caller does not need to stop the server.
* Rename `WaitForQuitSignals` to `ListenForQuitSignals`. Note, this function is no longer blocking. Thus the caller is expected to provide a `context.CancelFunc` which indicates that when a signal is caught, that any spawned processes can gracefully exit.
* Remove `ServerStartTime` constant.
* [#15011](https://github.com/cosmos/cosmos-sdk/pull/15011) All functions that were taking a CometBFT logger, now take `cosmossdk.io/log.Logger` instead.
* (simapp) [#14977](https://github.com/cosmos/cosmos-sdk/pull/14977) Move simulation helpers functions (`AppStateFn` and `AppStateRandomizedFn`) to `testutil/sims`. These takes an extra genesisState argument which is the default state of the app.
* (x/bank) [#14894](https://github.com/cosmos/cosmos-sdk/pull/14894) Allow a human readable denomination for coins when querying bank balances. Added a `ResolveDenom` parameter to `types.QueryAllBalancesRequest`.
* [#14847](https://github.com/cosmos/cosmos-sdk/pull/14847) App and ModuleManager methods `InitGenesis`, `ExportGenesis`, `BeginBlock` and `EndBlock` now also return an error.
* (x/upgrade) [#14764](https://github.com/cosmos/cosmos-sdk/pull/14764) The `x/upgrade` module is extracted to have a separate go.mod file which allows it to be a standalone module.
* (x/auth) [#14758](https://github.com/cosmos/cosmos-sdk/pull/14758) Refactor transaction searching:
* Refactor `QueryTxsByEvents` to accept a `query` of type `string` instead of `events` of type `[]string`
* Refactor CLI methods to accept `--query` flag instead of `--events`
* Pass `prove=false` to Tendermint's `TxSearch` RPC method
* (simulation) [#14751](https://github.com/cosmos/cosmos-sdk/pull/14751) Remove the `MsgType` field from `simulation.OperationInput` struct.
* (store) [#14746](https://github.com/cosmos/cosmos-sdk/pull/14746) Extract Store in its own go.mod and rename the package to `cosmossdk.io/store`.
* (x/nft) [#14725](https://github.com/cosmos/cosmos-sdk/pull/14725) Extract NFT in its own go.mod and rename the package to `cosmossdk.io/x/nft`.
* (x/gov) [#14720](https://github.com/cosmos/cosmos-sdk/pull/14720) Add an expedited field in the gov v1 proposal and `MsgNewMsgProposal`.
* (x/feegrant) [#14649](https://github.com/cosmos/cosmos-sdk/pull/14649) Extract Feegrant in its own go.mod and rename the package to `cosmossdk.io/x/feegrant`.
* (tx) [#14634](https://github.com/cosmos/cosmos-sdk/pull/14634) Move the `tx` go module to `x/tx`.
* (store/streaming)[#14603](https://github.com/cosmos/cosmos-sdk/pull/14603) `StoreDecoderRegistry` moved from store to `types/simulations` this breaks the `AppModuleSimulation` interface.
* (snapshots) [#14597](https://github.com/cosmos/cosmos-sdk/pull/14597) Move `snapshots` to `store/snapshots`, rename and bump proto package to v1.
* (x/staking) [#14590](https://github.com/cosmos/cosmos-sdk/pull/14590) `MsgUndelegateResponse` now includes undelegated amount. `x/staking` module's `keeper.Undelegate` now returns 3 values (completionTime,undelegateAmount,error) instead of 2.
* (crypto/keyring) [#14151](https://github.com/cosmos/cosmos-sdk/pull/14151) Move keys presentation from `crypto/keyring` to `client/keys`
* (baseapp) [#14050](https://github.com/cosmos/cosmos-sdk/pull/14050) Refactor `ABCIListener` interface to accept Go contexts.
* (x/auth) [#13850](https://github.com/cosmos/cosmos-sdk/pull/13850/) Remove `MarshalYAML` methods from module (`x/...`) types.
* (modules) [#13850](https://github.com/cosmos/cosmos-sdk/pull/13850) and [#14046](https://github.com/cosmos/cosmos-sdk/pull/14046) Remove gogoproto stringer annotations. This removes the custom `String()` methods on all types that were using the annotations.
* (x/evidence) [14724](https://github.com/cosmos/cosmos-sdk/pull/14724) Extract Evidence in its own go.mod and rename the package to `cosmossdk.io/x/evidence`.
* (crypto/keyring) [#13734](https://github.com/cosmos/cosmos-sdk/pull/13834) The keyring's `Sign` method now takes a new `signMode` argument. It is only used if the signing key is a Ledger hardware device. You can set it to 0 in all other cases.
* (snapshots) [14048](https://github.com/cosmos/cosmos-sdk/pull/14048) Move the Snapshot package to the store package. This is done in an effort group all storage related logic under one package.
* (signing) [#13701](https://github.com/cosmos/cosmos-sdk/pull/) Add `context.Context` as an argument `x/auth/signing.VerifySignature`.
* (store) [#11825](https://github.com/cosmos/cosmos-sdk/pull/11825) Make extension snapshotter interface safer to use, renamed the util function `WriteExtensionItem` to `WriteExtensionPayload`.
* (baseapp) [#16244](https://github.com/cosmos/cosmos-sdk/pull/16244) `SetProtocolVersion` has been renamed to `SetAppVersion`. It now updates the consensus params in baseapp's `ParamStore`.
* (types) [#16918](https://github.com/cosmos/cosmos-sdk/pull/16918), [#22925](https://github.com/cosmos/cosmos-sdk/pull/22925) Deprecate `IntProto` and `DecProto`. Instead, `math.Int` and `math.LegacyDec` should be used respectively. Both types support `Marshal` and `Unmarshal` which should be used for binary marshaling.
* (client) [#17215](https://github.com/cosmos/cosmos-sdk/pull/17215) `server.StartCmd`,`server.ExportCmd`,`server.NewRollbackCmd`,`pruning.Cmd`,`genutilcli.InitCmd`,`genutilcli.GenTxCmd`,`genutilcli.CollectGenTxsCmd`,`genutilcli.AddGenesisAccountCmd`, do not take a home directory anymore. It is inferred from the root command.
* (client) [#17259](https://github.com/cosmos/cosmos-sdk/pull/17259) Remove deprecated `clientCtx.PrintObjectLegacy`. Use `clientCtx.PrintProto` or `clientCtx.PrintRaw` instead.
* (types) [#17348](https://github.com/cosmos/cosmos-sdk/pull/17348) Remove the `WrapServiceResult` function.
* The `*sdk.Result` returned by the msg server router will not contain the `.Data` field.
* (types) [#17426](https://github.com/cosmos/cosmos-sdk/pull/17426) `NewContext` does not take a `cmtproto.Header{}` any longer.
* `WithChainID` / `WithBlockHeight` / `WithBlockHeader` must be used to set values on the context
* (client/keys) [#17503](https://github.com/cosmos/cosmos-sdk/pull/17503) `clientkeys.NewKeyOutput`, `MkConsKeyOutput`, `MkValKeyOutput`, `MkAccKeyOutput`, `MkAccKeysOutput` now take their corresponding address codec instead of using the global SDK config.
* (types/simulation) [#17737](https://github.com/cosmos/cosmos-sdk/pull/17737) Remove unused parameter from `RandomFees`
* (types) [#17738](https://github.com/cosmos/cosmos-sdk/pull/17738) `WithBlockTime()` was removed & `BlockTime()` were deprecated in favor of `WithHeaderInfo()` & `HeaderInfo()`. `BlockTime` now gets data from `HeaderInfo()` instead of `BlockHeader()`.
* (client) [#17746](https://github.com/cosmos/cosmos-sdk/pull/17746) `txEncodeAmino` & `txDecodeAmino` txs via grpc and rest were removed
* (app) [#17838](https://github.com/cosmos/cosmos-sdk/pull/17838) Params module was removed from simapp and all imports of the params module removed throughout the repo.
* The Cosmos SDK has migrated away from using params, if your app still uses it, then you can leave it plugged into your app
* (x/bank/testutil) [#17868](https://github.com/cosmos/cosmos-sdk/pull/17868) `MsgSendExec` has been removed because of AutoCLI migration.
* (types) [#17885](https://github.com/cosmos/cosmos-sdk/pull/17885) `InitGenesis` & `ExportGenesis` now take `context.Context` instead of `sdk.Context`
* (x/gov/testutil) [#17986](https://github.com/cosmos/cosmos-sdk/pull/18036) `MsgDeposit` has been removed because of AutoCLI migration.
* (x/staking/testutil) [#17986](https://github.com/cosmos/cosmos-sdk/pull/17986) `MsgRedelegateExec`, `MsgUnbondExec` has been removed because of AutoCLI migration.
* (x/group) [#17937](https://github.com/cosmos/cosmos-sdk/pull/17937) Groups module was moved to its own go.mod `cosmossdk.io/x/group`
* (x/gov) [#18197](https://github.com/cosmos/cosmos-sdk/pull/18197) Gov module was moved to its own go.mod `cosmossdk.io/x/gov`
* (x/distribution) [#18199](https://github.com/cosmos/cosmos-sdk/pull/18199) Distribution module was moved to its own go.mod `cosmossdk.io/x/distribution`
* (x/slashing) [#18201](https://github.com/cosmos/cosmos-sdk/pull/18201) Slashing module was moved to its own go.mod `cosmossdk.io/x/slashing`
* (x/staking) [#18257](https://github.com/cosmos/cosmos-sdk/pull/18257) Staking module was moved to its own go.mod `cosmossdk.io/x/staking`
* (types) [#18268](https://github.com/cosmos/cosmos-sdk/pull/18268) Remove global setting of basedenom. Use the staking module parameter instead
* (x/authz) [#18265](https://github.com/cosmos/cosmos-sdk/pull/18265) Authz module was moved to its own go.mod `cosmossdk.io/x/authz`
* (x/mint) [#18283](https://github.com/cosmos/cosmos-sdk/pull/18283) Mint module was moved to its own go.mod `cosmossdk.io/x/mint`
* (server) [#18303](https://github.com/cosmos/cosmos-sdk/pull/18303) `x/genutil` now handles the application export. `server.AddCommands` does not take an `AppExporter` but instead `genutilcli.Commands` does.
* (types) [#18372](https://github.com/cosmos/cosmos-sdk/pull/18372) Removed global configuration for coin type and purpose. Setters and getters should be removed and access directly to defined types.
* (types) [#18607](https://github.com/cosmos/cosmos-sdk/pull/18607) Removed address verifier from global config, moved verifier function to bech32 codec.
* (types) [#18695](https://github.com/cosmos/cosmos-sdk/pull/18695) Removed global configuration for txEncoder.
* (server) [#18909](https://github.com/cosmos/cosmos-sdk/pull/18909) Remove configuration endpoint on grpc reflection endpoint in favour of auth module bech32prefix endpoint already exposed.
* (crypto) [#19541](https://github.com/cosmos/cosmos-sdk/pull/19541) The deprecated `FromTmProtoPublicKey`, `ToTmProtoPublicKey`, `FromTmPubKeyInterface` and `ToTmPubKeyInterface` functions have been removed. Use their replacements (`Cmt` instead of `Tm`) instead.
* (types) [#19512](https://github.com/cosmos/cosmos-sdk/pull/19512) Remove basic manager and all related functions (`module.BasicManager`, `module.NewBasicManager`, `module.NewBasicManagerFromManager`, `NewGenesisOnlyAppModule`).
* The module manager now can do everything that the basic manager was doing.
* When using runtime, just inject the module manager when needed using your app config.
* All `AppModuleBasic` structs have been removed.
* (types) [#19627](https://github.com/cosmos/cosmos-sdk/pull/19627) and [#19735](https://github.com/cosmos/cosmos-sdk/pull/19735) All genesis interfaces now don't take `codec.JsonCodec`:
* Every module has the codec already, passing it created an unneeded dependency.
* Additionally, to reflect this change, the module manager does not take a codec either.
* (types) [#19652](https://github.com/cosmos/cosmos-sdk/pull/19652) and [#19758](https://github.com/cosmos/cosmos-sdk/pull/19758)
* Moved`types/module.HasRegisterInterfaces` to `cosmossdk.io/core`.
* Moved `RegisterInterfaces` and `RegisterImplementations` from `InterfaceRegistry` to `cosmossdk.io/core/registry.InterfaceRegistrar` interface.
* (types) [#19742](https://github.com/cosmos/cosmos-sdk/pull/19742) Removes the use of `Accounts.String`
* `SimulationState` now has address and validator codecs as fields.
* (runtime) [#19747](https://github.com/cosmos/cosmos-sdk/pull/19747) `runtime.ValidatorAddressCodec` and `runtime.ConsensusAddressCodec` have been moved to `core`.
* (all) [#19726](https://github.com/cosmos/cosmos-sdk/pull/19726) Integrate comet v1
* [#19833](https://github.com/cosmos/cosmos-sdk/pull/19833) Fix some places in which we call Remove inside a Walk.
* [#19839](https://github.com/cosmos/cosmos-sdk/pull/19839) `Tx.GetMsgsV2` has been replaced with `Tx.GetReflectMessages`, and `Codec.GetMsgV1Signers` and `Codec.GetMsgV2Signers` have been replaced with `GetMsgSigners` and `GetReflectMsgSigners` respectively. These API changes clear up confusion as to the use and purpose of these methods.
* [#19851](https://github.com/cosmos/cosmos-sdk/pull/19851) Fix some places in which we call Remove inside a Walk (x/staking and x/gov).
* (server) [#19854](https://github.com/cosmos/cosmos-sdk/pull/19854) Remove `servertypes.ModuleInitFlags` types and from `server.AddCommands` as `StartCmdOptions` already achieves the same goal.
* (x/genutil) [#19926](https://github.com/cosmos/cosmos-sdk/pull/19926) Removal of the `Address.String()` method and related changes:
* Added an address codec as an argument to `CollectTxs`, `GenAppStateFromConfig`, and `AddGenesisAccount`.
* Removed the `ValidatorAddressCodec` argument from `CollectGenTxsCmd`, now utilizing the context for this purpose.
* Changed `ValidateAccountInGenesis` to accept a string instead of an `AccAddress`.
* (baseapp) [#19993](https://github.com/cosmos/cosmos-sdk/pull/19993) Indicate pruning with error code "not found" rather than "invalid request".
* (x/consensus) [#20010](https://github.com/cosmos/cosmos-sdk/pull/20010) Move consensus module to be its own go.mod
* (x/crisis) [#20043](https://github.com/cosmos/cosmos-sdk/pull/20043) Changed `NewMsgVerifyInvariant` to accept a string as argument instead of an `AccAddress`.
* (x/simulation)[#20056](https://github.com/cosmos/cosmos-sdk/pull/20056) `SimulateFromSeed` now takes an address codec as argument.
* (server) [#20140](https://github.com/cosmos/cosmos-sdk/pull/20140) Remove embedded grpc-web proxy in favor of standalone grpc-web proxy. [Envoy Proxy](https://www.envoyproxy.io/docs/envoy/latest/start/start)
* (client) [#20255](https://github.com/cosmos/cosmos-sdk/pull/20255) Use comet proofOp proto type instead of sdk version to avoid needing to translate to later be proven in the merkle proof runtime.
* (types)[#20369](https://github.com/cosmos/cosmos-sdk/pull/20369) The signature of `HasAminoCodec` has changed to accept a `core/legacy.Amino` interface instead of `codec.LegacyAmino`.
* (server) [#20422](https://github.com/cosmos/cosmos-sdk/pull/20422) Deprecated `ServerContext`. To get `cmtcfg.Config` from cmd, use `client.GetCometConfigFromCmd(cmd)` instead of `server.GetServerContextFromCmd(cmd).Config`
* (x/genutil) [#20740](https://github.com/cosmos/cosmos-sdk/pull/20740) Update `genutilcli.Commands` and `genutilcli.CommandsWithCustomMigrationMap` to take the genesis module and abstract the module manager.
* (types/errors) [#20756](https://github.com/cosmos/cosmos-sdk/pull/20756) Remove `ResponseCheckTxWithEvents`, `ResponseExecTxResultWithEvents` & `QueryResult` from types/errors pkg. They have been moved to `baseapp/errors.go` and made private.
* (client) [#20976](https://github.com/cosmos/cosmos-sdk/pull/20976) Simplified command initialization by removing unnecessary parameters such as `txConfig` and `addressCodec`.
* Remove parameter `txConfig` from `genutilcli.Commands`,`genutilcli.CommandsWithCustomMigrationMap`,`genutilcli.GenTxCmd`.
* Remove parameter `addressCodec` from `genutilcli.GenTxCmd`,`genutilcli.AddGenesisAccountCmd`,`stakingcli.BuildCreateValidatorMsg`.
* (sims) [#21039](https://github.com/cosmos/cosmos-sdk/pull/21039): Remove Baseapp from sims by a new interface `simtypes.AppEntrypoint`.
* (x/genutil) [#21372](https://github.com/cosmos/cosmos-sdk/pull/21372) Remove `AddGenesisAccount` for `AddGenesisAccounts`.
* (baseapp) [#21413](https://github.com/cosmos/cosmos-sdk/pull/21413) Add `SelectBy` method to `Mempool` interface, which is thread-safe to use.
* (types/mempool) [#21744](https://github.com/cosmos/cosmos-sdk/pull/21744) Update types/mempool.Mempool interface to take decoded transactions. This avoid to decode the transaction twice.
* (x/auth/tx/config) [#21822](https://github.com/cosmos/cosmos-sdk/pull/21822) Sign mode textual is no more automatically added to tx config when using runtime. Should be added manually on the server side.
* (x/auth/tx/config) [#21822](https://github.com/cosmos/cosmos-sdk/pull/21822) This depinject module now only provide txconfig and tx config options. `x/validate` now handles the providing of ante/post handlers, alongside tx validators for v2. The corresponding app config options have been removed from the depinject module config.
* (x/crisis) [#20809](https://github.com/cosmos/cosmos-sdk/pull/20809) Crisis module was removed from the Cosmos SDK.
* (client) [#22775](https://github.com/cosmos/cosmos-sdk/pull/22775) Removed client prompt validations.
### Client Breaking Changes
* (x/gov) [#17910](https://github.com/cosmos/cosmos-sdk/pull/17910) Remove telemetry for counting votes and proposals. It was incorrectly counting votes. Use alternatives, such as state streaming.
* (abci) [#15845](https://github.com/cosmos/cosmos-sdk/pull/15845) Remove duplicating events in `logs`.
* (abci) [#15845](https://github.com/cosmos/cosmos-sdk/pull/15845) Add `msg_index` to all event attributes to associate events and messages.
* (x/staking) [#15701](https://github.com/cosmos/cosmos-sdk/pull/15701) `HistoricalInfoKey` now has a binary format.
* (store/streaming) [#15519](https://github.com/cosmos/cosmos-sdk/pull/15519/files) State Streaming removed emitting of beginblock, endblock and delivertx in favour of emitting FinalizeBlock.
* (baseapp) [#15519](https://github.com/cosmos/cosmos-sdk/pull/15519/files) BeginBlock & EndBlock events have begin or endblock in the events in order to identify which stage they are emitted from since they are returned to comet as FinalizeBlock events.
* (grpc-web) [#14652](https://github.com/cosmos/cosmos-sdk/pull/14652) Use same port for gRPC-Web and the API server.
* (runtime) [#19040](https://github.com/cosmos/cosmos-sdk/pull/19040) Simplify app config implementation and deprecate `/cosmos/app/v1alpha1/config` query.
### CLI Breaking Changes
* (all) The migration of modules to [AutoCLI](https://docs.cosmos.network/main/core/autocli) led to no changes in UX but a [small change in CLI outputs](https://github.com/cosmos/cosmos-sdk/issues/16651) where results can be nested.
* (all) Query pagination flags have been renamed with the migration to AutoCLI:
* `--reverse` -> `--page-reverse`
* `--offset` -> `--page-offset`
* `--limit` -> `--page-limit`
* `--count-total` -> `--page-count-total`
* (cli) [#17184](https://github.com/cosmos/cosmos-sdk/pull/17184) All json keys returned by the `status` command are now snake case instead of pascal case.
* (server) [#17177](https://github.com/cosmos/cosmos-sdk/pull/17177) Remove `iavl-lazy-loading` configuration.
* (x/gov) [#16987](https://github.com/cosmos/cosmos-sdk/pull/16987) In `<appd> query gov proposals` the proposal status flag have renamed from `--status` to `--proposal-status`. Additionally, that flags now uses the ENUM values: `PROPOSAL_STATUS_DEPOSIT_PERIOD`, `PROPOSAL_STATUS_VOTING_PERIOD`, `PROPOSAL_STATUS_PASSED`, `PROPOSAL_STATUS_REJECTED`, `PROPOSAL_STATUS_FAILED`.
* (x/bank) [#16899](https://github.com/cosmos/cosmos-sdk/pull/16899) With the migration to AutoCLI some bank commands have been split in two:
* Use `total-supply` (or `total`) for querying the total supply and `total-supply-of` for querying the supply of a specific denom.
* Use `denoms-metadata` for querying all denom metadata and `denom-metadata` for querying a specific denom metadata.
* (rosetta) [#16276](https://github.com/cosmos/cosmos-sdk/issues/16276) Rosetta migration to standalone repo.
* (cli) [#15826](https://github.com/cosmos/cosmos-sdk/pull/15826) Remove `<appd> q account` command. Use `<appd> q auth account` instead.
* (cli) [#15299](https://github.com/cosmos/cosmos-sdk/pull/15299) Remove `--amino` flag from `sign` and `multi-sign` commands. Amino `StdTx` has been deprecated for a while. Amino JSON signing still works as expected.
* (x/gov) [#14880](https://github.com/cosmos/cosmos-sdk/pull/14880) Remove `<app> tx gov submit-legacy-proposal cancel-software-upgrade` and `software-upgrade` commands. These commands are now in the `x/upgrade` module and using gov v1. Use `tx upgrade software-upgrade` instead.
* (x/staking) [#14864](https://github.com/cosmos/cosmos-sdk/pull/14864) `<appd> tx staking create-validator` CLI command now takes a json file as an arg instead of using required flags.
* (cli) [#14659](https://github.com/cosmos/cosmos-sdk/pull/14659) `<app> q block <height>` is removed as it just output json. The new command allows either height/hash and is `<app> q block --type=height|hash <height|hash>`.
* (grpc-web) [#14652](https://github.com/cosmos/cosmos-sdk/pull/14652) Remove `grpc-web.address` flag.
* (client) [#14342](https://github.com/cosmos/cosmos-sdk/pull/14342) `<app> config` command is now a sub-command using Confix. Use `<app> config --help` to learn more.
### Bug Fixes
* (server) [#18254](https://github.com/cosmos/cosmos-sdk/pull/18254) Don't hardcode gRPC address to localhost.
* (x/gov) [#18173](https://github.com/cosmos/cosmos-sdk/pull/18173) Gov hooks now return an error and are *blocking* when they fail. Expect for `AfterProposalFailedMinDeposit` and `AfterProposalVotingPeriodEnded` which log the error and continue.
* (x/gov) [#17873](https://github.com/cosmos/cosmos-sdk/pull/17873) Fail any inactive and active proposals that cannot be decoded.
* (x/slashing) [#18016](https://github.com/cosmos/cosmos-sdk/pull/18016) Fixed builder function for missed blocks key (`validatorMissedBlockBitArrayPrefixKey`) in slashing/migration/v4.
* (x/bank) [#18107](https://github.com/cosmos/cosmos-sdk/pull/18107) Add missing keypair of SendEnabled to restore legacy param set before migration.
* (baseapp) [#17769](https://github.com/cosmos/cosmos-sdk/pull/17769) Ensure we respect block size constraints in the `DefaultProposalHandler`'s `PrepareProposal` handler when a nil or no-op mempool is used. We provide a `TxSelector` type to assist in making transaction selection generalized. We also fix a comparison bug in tx selection when `req.maxTxBytes` is reached.
* (mempool) [#17668](https://github.com/cosmos/cosmos-sdk/pull/17668) Fix `PriorityNonceIterator.Next()` nil pointer ref for min priority at the end of iteration.
* (config) [#17649](https://github.com/cosmos/cosmos-sdk/pull/17649) Fix `mempool.max-txs` configuration is invalid in `app.config`.
* (baseapp) [#17518](https://github.com/cosmos/cosmos-sdk/pull/17518) Utilizing voting power from vote extensions (CometBFT) instead of the current bonded tokens (x/staking) to determine if a set of vote extensions are valid.
* (baseapp) [#17251](https://github.com/cosmos/cosmos-sdk/pull/17251) VerifyVoteExtensions and ExtendVote initialize their own contexts/states, allowing VerifyVoteExtensions being called without ExtendVote.
* (x/distribution) [#17236](https://github.com/cosmos/cosmos-sdk/pull/17236) Using "validateCommunityTax" in "Params.ValidateBasic", preventing panic when field "CommunityTax" is nil.
* (x/bank) [#17170](https://github.com/cosmos/cosmos-sdk/pull/17170) Avoid empty spendable error message on send coins.
* (x/group) [#17146](https://github.com/cosmos/cosmos-sdk/pull/17146) Rename x/group legacy ORM package's error codespace from "orm" to "legacy_orm", preventing collisions with ORM's error codespace "orm".
* (types/query) [#16905](https://github.com/cosmos/cosmos-sdk/pull/16905) Collections Pagination now applies proper count when filtering results.
* (x/bank) [#16841](https://github.com/cosmos/cosmos-sdk/pull/16841) Correctly process legacy `DenomAddressIndex` values.
* (x/auth/vesting) [#16733](https://github.com/cosmos/cosmos-sdk/pull/16733) Panic on overflowing and negative EndTimes when creating a PeriodicVestingAccount.
* (x/consensus) [#16713](https://github.com/cosmos/cosmos-sdk/pull/16713) Add missing ABCI param in `MsgUpdateParams`.
* (baseapp) [#16700](https://github.com/cosmos/cosmos-sdk/pull/16700) Fix consensus failure in returning no response to malformed transactions.
* [#16639](https://github.com/cosmos/cosmos-sdk/pull/16639) Make sure we don't execute blocks beyond the halt height.
* (baseapp) [#16613](https://github.com/cosmos/cosmos-sdk/pull/16613) Ensure each message in a transaction has a registered handler, otherwise `CheckTx` will fail.
* (baseapp) [#16596](https://github.com/cosmos/cosmos-sdk/pull/16596) Return error during `ExtendVote` and `VerifyVoteExtension` if the request height is earlier than `VoteExtensionsEnableHeight`.
* (baseapp) [#16259](https://github.com/cosmos/cosmos-sdk/pull/16259) Ensure the `Context` block height is correct after `InitChain` and prior to the second block.
* (x/gov) [#16231](https://github.com/cosmos/cosmos-sdk/pull/16231) Fix Rawlog JSON formatting of proposal_vote option field.* (cli) [#16138](https://github.com/cosmos/cosmos-sdk/pull/16138) Fix snapshot commands panic if snapshot don't exists.
* (x/staking) [#16043](https://github.com/cosmos/cosmos-sdk/pull/16043) Call `AfterUnbondingInitiated` hook for new unbonding entries only and fix `UnbondingDelegation` entries handling. This is a behavior change compared to Cosmos SDK v0.47.x, now the hook is called only for new unbonding entries.
* (types) [#16010](https://github.com/cosmos/cosmos-sdk/pull/16010) Let `module.CoreAppModuleBasicAdaptor` fallback to legacy genesis handling.
* (types) [#15691](https://github.com/cosmos/cosmos-sdk/pull/15691) Make `Coin.Validate()` check that `.Amount` is not nil.
* (x/crypto) [#15258](https://github.com/cosmos/cosmos-sdk/pull/15258) Write keyhash file with permissions 0600 instead of 0555.
* (x/auth) [#15059](https://github.com/cosmos/cosmos-sdk/pull/15059) `ante.CountSubKeys` returns 0 when passing a nil `Pubkey`.
* (x/capability) [#15030](https://github.com/cosmos/cosmos-sdk/pull/15030) Prevent `x/capability` from consuming `GasMeter` gas during `InitMemStore`
* (types/coin) [#14739](https://github.com/cosmos/cosmos-sdk/pull/14739) Deprecate the method `Coin.IsEqual` in favour of `Coin.Equal`. The difference between the two methods is that the first one results in a panic when denoms are not equal. This panic lead to unexpected behavior.
* (server) [#18303](https://github.com/cosmos/cosmos-sdk/pull/18303) `appd export` has moved with other genesis commands, use `appd genesis export` instead.
* (perf)[#20490](https://github.com/cosmos/cosmos-sdk/pull/20490) Sims: Replace runsim command with Go stdlib testing. CLI: `Commit` default true, `Lean`, `SimulateEveryOperation`, `PrintAllInvariants`, `DBBackend` params removed
* (client/tx) [#20870](https://github.com/cosmos/cosmos-sdk/pull/20870) Removed `timeout-height` flag replace with `timeout-timestamp` flag for a time based timeout.
### Deprecated
* (types) [#16980](https://github.com/cosmos/cosmos-sdk/pull/16980) Deprecate `IntProto` and `DecProto`. Instead, `math.Int` and `math.LegacyDec` should be used respectively. Both types support `Marshal` and `Unmarshal` for binary serialization.
* (x/staking) [#14567](https://github.com/cosmos/cosmos-sdk/pull/14567) The `delegator_address` field of `MsgCreateValidator` has been deprecated.
The validator address bytes and delegator address bytes refer to the same account while creating validator (defer only in bech32 notation).
* (simapp) [#19146](https://github.com/cosmos/cosmos-sdk/pull/19146) Replace `--v` CLI option with `--validator-count`/`-n`.
* (module) [#19370](https://github.com/cosmos/cosmos-sdk/pull/19370) Deprecate `module.Configurator`, use `appmodule.HasMigrations` and `appmodule.HasServices` instead from Core API.
* (types) [#21435](https://github.com/cosmos/cosmos-sdk/pull/21435) The `String()` method on `AccAddress`, `ValAddress` and `ConsAddress` have been deprecated. This is done because those are still using the deprecated global `sdk.Config`. Use an `address.Codec` instead.
## Previous Versions
[CHANGELOG of previous versions](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md#v0470---2023-03-14).
[CHANGELOG of previous versions](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md#v0509---2024-08-07).
+46
View File
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at community@interchain.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
+157
View File
@@ -0,0 +1,157 @@
# Coding Guidelines
This document is an extension to [CONTRIBUTING](./CONTRIBUTING.md) and provides more details about the coding guidelines and requirements.
## API & Design
* Code must be well structured:
* packages must have a limited responsibility (different concerns can go to different packages),
* types must be easy to compose,
* think about maintainability and testability.
* "Depend upon abstractions, [not] concretions".
* Try to limit the number of methods you are exposing. It's easier to expose something later than to hide it.
* Take advantage of `internal` package concept.
* Follow agreed-upon design patterns and naming conventions.
* publicly-exposed functions are named logically, have forward-thinking arguments and return types.
* Avoid global variables and global configurators.
* Favor composable and extensible designs.
* Minimize code duplication.
* Limit third-party dependencies.
### Performance
* Avoid unnecessary operations or memory allocations.
### Security
* Pay proper attention to exploits involving:
* gas usage
* transaction verification and signatures
* malleability
* code must be always deterministic
* Thread safety. If some functionality is not thread-safe, or uses something that is not thread-safe, then clearly indicate the risk on each level.
### Documentation
When writing code that is complex or relies on another piece of the code, it is advised to create a diagram or a flowchart to explain the logic. This will help other developers to understand the code and will also help you to understand the logic better.
The Cosmos SDK uses [Mermaid.js](https://mermaid.js.org/), you can find the documentation on how to use it [here](https://mermaid.js.org/intro/).
## Acceptance tests
Start the design by defining Acceptance Tests. The purpose of Acceptance Testing is to
validate that the product being developed corresponds to the needs of the real users
and is ready for launch. Hence we often talk about **User Acceptance Test** (UAT).
It also gives a better understanding of the product and helps designing a right interface
and API.
UAT should be revisited at each stage of the product development:
### Why Acceptance Testing
* Automated acceptance tests catch serious problems that unit or component test suites could never catch.
* Automated acceptance tests deliver business value the users are expecting as they test user scenarios.
* Automated acceptance tests executed and passed on every build help improve the software delivery process.
* Testers, developers, and customers need to work closely to create suitable automated acceptance test suites.
### How to define Acceptance Test
The best way to define AT is by starting from the user stories and think about all positive and negative scenarios a user can perform.
Product Developers should collaborate with stakeholders to define AT. Functional experts and business users are both needed for defining AT.
A good pattern for defining AT is listing scenarios with [GIVEN-WHEN-THEN](https://martinfowler.com/bliki/GivenWhenThen.html) format where:
* **GIVEN**: A set of initial circumstances (e.g. bank balance)
* **WHEN**: Some event happens (e.g. customer attempts a transfer)
* **THEN**: The expected result as per the defined behavior of the system
In other words: we define a use case input, current state and the expected outcome. Example:
> Feature: User trades stocks.
> Scenario: User requests a sell before close of trading
>
> Given I have 100 shares of MSFT stock
> And I have 150 shares of APPL stock
> And the time is before close of trading
>
> When I ask to sell 20 shares of MSFT stock
>
> Then I should have 80 shares of MSFT stock
> And I should have 150 shares of APPL stock
> And a sell order for 20 shares of MSFT stock should have been executed
*Reference: [writing acceptance tests](https://openclassrooms.com/en/courses/4544611-write-agile-documentation-user-stories-acceptance-tests/4810081-writing-acceptance-tests)*.
### How and where to add acceptance tests
Acceptance tests are written in the Markdown format, using the scenario template described above, and be part of the specification (`xx_test.md` file in *spec* directory). Example: [`eco-credits/spec/06.test.md`](https://github.com/regen-network/regen-ledger/blob/7297783577e6cd102c5093365b573163680f36a1/x/ecocredit/spec/06_tests.md).
Acceptance tests should be defined during the design phase or at an early stage of development. Moreover, they should be defined before writing a module architecture - it will clarify the purpose and usage of the software.
Automated tests should cover all acceptance tests scenarios.
## Automated Tests
Make sure your code is well tested:
* Provide unit tests for every unit of your code if possible. Unit tests are expected to comprise 70%-80% of your tests.
* Describe the test scenarios you are implementing for integration tests.
* Create integration tests for queries and msgs.
* Use both test cases and property / fuzzy testing. We use the [rapid](https://github.com/flyingmutant/rapid) Go library for property-based and fuzzy testing.
* Do not decrease code test coverage. Explain in a PR if test coverage is decreased.
We expect tests to use `require` or `assert` rather than `t.Skip` or `t.Fail`,
unless there is a reason to do otherwise.
When testing a function under a variety of different inputs, we prefer to use
[table driven tests](https://github.com/golang/go/wiki/TableDrivenTests).
Table driven test error messages should follow the following format
`<desc>, tc #<index>, i #<index>`.
`<desc>` is an optional short description of what's failing, `tc` is the
index within the test case table that is failing, and `i` is when there
is a loop, exactly which iteration of the loop failed.
The idea is you should be able to see the
error message and figure out exactly what failed.
Here is an example check:
```go
<some table>
for tcIndex, tc := range cases {
<some code>
resp, err := doSomething()
require.NoError(err)
require.Equal(t, tc.expected, resp, "should correctly perform X")
```
## Quality Assurance
We are forming a QA team that will support the core Cosmos SDK team and collaborators by:
* Improving the Cosmos SDK QA Processes
* Improving automation in QA and testing
* Defining high-quality metrics
* Maintaining and improving testing frameworks (unit tests, integration tests, and functional tests)
* Defining test scenarios.
* Verifying user experience and defining a high quality.
* We want to have **acceptance tests**! Document and list acceptance lists that are implemented and identify acceptance tests that are still missing.
* Acceptance tests should be specified in `acceptance-tests` directory as Markdown files.
* Supporting other teams with testing frameworks, automation, and User Experience testing.
* Testing chain upgrades for every new breaking change.
* Defining automated tests that assure data integrity after an update.
Desired outcomes:
* QA team works with Development Team.
* QA is happening in parallel with Core Cosmos SDK development.
* Releases are more predictable.
* QA reports. Goal is to guide with new tasks and be one of the QA measures.
As a developer, you must help the QA team by providing instructions for User Experience (UX) and functional testing.
### QA Team to cross check Acceptance Tests
Once the AT are defined, the QA team will have an overview of the behavior a user can expect and:
* validate the user experience will be good
* validate the implementation conforms the acceptance tests
* by having a broader overview of the use cases, QA team should be able to define **test suites** and test data to efficiently automate Acceptance Tests and reuse the work.
+400
View File
@@ -0,0 +1,400 @@
# Contributing
* [Teams Dev Calls](#teams-dev-calls)
* [Architecture Decision Records (ADR)](#architecture-decision-records-adr)
* [Development Procedure](#development-procedure)
* [Testing](#testing)
* [Pull Requests](#pull-requests)
* [Pull Request Templates](#pull-request-templates)
* [Pull Request Accountability](#pull-request-accountability)
* [Owner](#owner)
* [Reviewer](#reviewer)
* [External Contributors](#external-contributors)
* [Requesting Reviews](#requesting-reviews)
* [Updating Documentation](#updating-documentation)
* [RFC & ADR](#rfc--adr)
* [Dependencies](#dependencies)
* [`go.work`](#gowork)
* [`go.mod`](#gomod)
* [Protobuf](#protobuf)
* [Branching Model and Release](#branching-model-and-release)
* [PR Targeting](#pr-targeting)
* [Code Owner Membership](#code-owner-membership)
* [Concept & Feature Approval Process](#concept--feature-approval-process)
* [Strategy Discovery](#strategy-discovery)
* [Concept Approval](#concept-approval)
* [Time Bound Period](#time-bound-period)
* [Implementation & Release Approval](#implementation--release-approval)
Thank you for considering making contributions to the Cosmos SDK and related repositories!
Contributing to this repo can mean many things, such as participating in
discussion or proposing code changes. To ensure a smooth workflow for all
contributors, the general procedure for contributing has been established:
1. Start by browsing [new issues](https://github.com/cosmos/cosmos-sdk/issues) and [discussions](https://github.com/cosmos/cosmos-sdk/discussions). If you are looking for something interesting or if you have something in your mind, there is a chance it had been discussed.
* Looking for a good place to start contributing? How about checking out some [good first issues](https://github.com/cosmos/cosmos-sdk/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) or [bugs](https://github.com/cosmos/cosmos-sdk/issues?q=is%3Aopen+is%3Aissue+label%3A%22T%3A+Bug%22)?
2. Determine whether a GitHub issue or discussion is more appropriate for your needs:
1. If want to propose something new that requires specification or an additional design, or you would like to change a process, start with a [new discussion](https://github.com/cosmos/cosmos-sdk/discussions/new). With discussions, we can better handle the design process using discussion threads. A discussion usually leads to one or more issues.
2. If the issue you want addressed is a specific proposal or a bug, then open a [new issue](https://github.com/cosmos/cosmos-sdk/issues/new/choose).
3. Review existing [issues](https://github.com/cosmos/cosmos-sdk/issues) to find an issue you'd like to help with.
3. Participate in thoughtful discussion on that issue.
4. If you would like to contribute:
1. Ensure that the proposal has been accepted.
2. Ensure that nobody else has already begun working on this issue. If they have,
make sure to contact them to collaborate.
3. If nobody has been assigned to the issue and you would like to work on it,
make a comment on the issue to inform the community of your intentions
to begin work.
5. To submit your work as a contribution to the repository follow standard GitHub best practices. See [pull request guideline](#pull-requests) below.
**Note:** For very small or blatantly obvious problems, you are
not required to an open issue to submit a PR, but be aware that for more complex
problems/features, if a PR is opened before an adequate design discussion has
taken place in a GitHub issue, that PR runs a high likelihood of being rejected.
**Note 2:** At this time, we will not be accepting contributions that only fix spelling
or grammar errors in documentation, code or elsewhere. The repository has a nightly job that
spell checks all files and will automatically open PRs for any spelling errors.
## Teams Dev Calls
The Cosmos SDK has many stakeholders contributing and shaping the project. The Core SDK team is composed of Binary Builders & Zondax. Any long-term contributors and additional maintainers from other projects are welcome. We use self-organizing principles to coordinate and collaborate across organizations in structured "EPIC" that focus on specific problem domains or architectural components of the Cosmos SDK.
The developers work in sprints, which are available in a [GitHub Project](https://github.com/orgs/cosmos/projects/26/views/22). The current EPICs are pinned at the top of the [issues list](https://github.com/cosmos/cosmos-sdk/issues).
The important development announcements are shared on [Discord](https://discord.gg/interchain) in the `#dev-announcements` channel.
To synchronize we have few major meetings:
* Cosmos SDK Standup on Monday and Thursday at 14:00 UTC (limited participation to core devs).
* Cosmos SDK Community Call on the second Thursday of the month at 13:00 UTC.
If you would like to join one of the community call, then please request to join the [Cosmos SDK Google Group](https://groups.google.com/g/cosmos-sdk-community).
## Architecture Decision Records (ADR)
When proposing an architecture decision for the Cosmos SDK, please start by opening an [issue](https://github.com/cosmos/cosmos-sdk/issues/new/choose). Once the proposal has been discussed and there is rough alignment on a high-level approach to the design, the [ADR creation process](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/PROCESS.md) can begin. We are following this process to ensure all involved parties are in agreement before any party begins coding the proposed implementation. If you would like to see examples of how these are written, please refer to the current [ADRs](https://github.com/cosmos/cosmos-sdk/tree/main/docs/architecture).
## Development Procedure
* The latest state of development is on `main`.
* `main` must never fail `make lint test test-race`.
* No `--force` onto `main` (except when reverting a broken commit, which should seldom happen).
* Create a branch to start work:
* Fork the repo (core developers must create a branch directly in the Cosmos SDK repo),
branch from the HEAD of `main`, make some commits, and submit a PR to `main`.
* For core developers working within the `cosmos-sdk` repo, follow branch name conventions to ensure a clear
ownership of branches: `{moniker}/{issue#}-branch-name`.
* See [Branching Model](#branching-model-and-release) for more details.
* Be sure to run `make format` before every commit. The easiest way
to do this is have your editor run it for you upon saving a file (most of the editors
will do it anyway using a pre-configured setup of the programming language mode).
Additionally, be sure that your code is lint compliant by running `make lint-fix`.
A convenience git `pre-commit` hook that runs the formatters automatically
before each commit is available in the `contrib/githooks/` directory.
* Follow the [CODING GUIDELINES](CODING_GUIDELINES.md), which defines criteria for designing and coding a software.
Code is merged into main through pull request procedure.
### Testing
Tests can be executed by running `make test` at the top level of the Cosmos SDK repository.
### Pull Requests
Before submitting a pull request:
* merge the latest main `git merge origin/main`,
* run `make lint test` to ensure that all checks and tests pass.
Then:
1. If you have something to show, **start with a `Draft` PR**. It's good to have early validation of your work and we highly recommend this practice. A Draft PR also indicates to the community that the work is in progress.
Draft PRs also helps the core team provide early feedback and ensure the work is in the right direction.
2. When the code is complete, change your PR from `Draft` to `Ready for Review`.
3. Go through the actions for each checkbox present in the PR template description. The PR actions are automatically provided for each new PR.
4. Be sure to include a relevant changelog entry in the `Unreleased` section of `CHANGELOG.md` (see file for log format). The entry should be on top of all others changes in the section.
PRs must have a category prefix that is based on the type of changes being made (for example, `fix`, `feat`,
`refactor`, `docs`, and so on). The *type* must be included in the PR title as a prefix (for example,
`fix: <description>`). This convention ensures that all changes that are committed to the base branch follow the
[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
Additionally, each PR should only address a single issue.
Pull requests are merged automatically using the automerge functionality of Github.
NOTE: when merging, GitHub will squash commits and rebase on top of the main.
### Pull Request Templates
There are three PR templates. The [default template](./.github/PULL_REQUEST_TEMPLATE.md) is for types `fix`, `feat`, and `refactor`. We also have a [docs template](./.github/PULL_REQUEST_TEMPLATE/docs.md) for documentation changes. When previewing a PR before it has been opened, you can change the template by adding one of the following parameters to the url:
* `template=docs.md`
### Pull Request Accountability
#### Owner
The pull request owner is responsible for ensuring that the PR is ready for review and merging after reviews are delivered. This includes:
* Ensuring that the PR is up to date with the latest changes in the main branch.
* Ensuring that the PR passes all checks.
* Ensuring that the PR has a clear description of the changes.
* Ensuring that the PR has a clear description of the testing strategy.
* Ensuring that the PR has a clear description of the impact of the changes.
* Ensuring that the PR has a clear description of the risks associated with the changes.
* Ensuring that the PR has a clear description of the next steps.
* Ensuring that the PR has a clear description of the dependencies.
The pull request owner is responsible for assigning reviewers on the team, responding to feedback, and ensuring that the PR is merged in a timely manner. If a PR is reviewed, but an approval is not given by the reviewer the pull request owner is responsible for addressing the feedback, ensuring that the PR is ready for review again and notifying the reviewers that the PR is ready for review.
Once approvals have been given by the reviewer(s) it is the responsibility of the pull request owner to merge the PR.
#### Reviewer
Reviewers or other contributors should not merge main into the PR unless discussed with the pull request owner and ownership has been transferred.
The reviewer is responsible for ensuring that the PR meets the following criteria:
##### Code Quality
* *Readability*: Ensure the code is easy to read and understand. Check for clear and concise variable names, appropriate comments, and overall readability.
* *Coding Standards*: Verify adherence to the teams coding standards and style guides. This includes indentation, spacing, naming conventions, and file organization.
* *Code Structure*: Check for proper use of functions, classes, and modules. Ensure the code is organized logically and is modular.
* *Complexity*: Look for complex code that could be simplified. Ensure there are no nested loops.
##### Functionality
* *Correctness*: Verify that the code performs the intended function correctly. Check the logic and ensure that edge cases are handled.
* *Bug Fixes*: Ensure any reported bugs are adequately addressed. Verify that the fixes resolve the issues without introducing new bugs.
* *Feature Implementation*: Confirm that new features are implemented as specified in the requirements or user stories.
##### Testing
* *Test Coverage*: Check that there are sufficient unit tests, integration tests and E2E tests for the new code. Ensure tests cover both normal and edge cases.
* *Test Quality*: Review the quality of the tests. Ensure they are meaningful and not just checking trivial cases.
* *Passing Tests*: Verify that all tests pass, including any new tests added with the PR.
##### Documentation
* *Code* Comments: Ensure there are comments explaining non-obvious parts of the code.
* *API Documentation*: Verify that any new or modified public methods, classes, or modules are properly documented.
* *User Documentation*: Check for updates to user documentation, if the PR includes changes that affect the user experience.
##### Performance
* *Efficiency*: Ensure the code performs efficiently and does not introduce performance bottlenecks.
* *Resource Usage*: Check for appropriate use of resources, such as memory and CPU. Ensure there are no memory leaks or excessive resource consumption.
### External Contributors
External contributors can not manage getting reviewers and assigning reviewers to PRs. When an external contribution requires reviewers, they will be assigned in the team meeting or adhoc based on current workloads. One of the reviewers will be assigned the owner of the PR and will be responsible for ensuring the PR is ready for review and merging after reviews are delivered. The owner has the right to overtake the contribution if the external contributor is not responsive or the PR is not moving forward.
### Requesting Reviews
In order to accommodate the review process, the author of the PR must complete the author checklist
(from the pull request template)
to the best of their abilities before marking the PR as "Ready for Review". If you would like to
receive early feedback on the PR, open the PR as a "Draft" and leave a comment in the PR indicating
that you would like early feedback and tagging whoever you would like to receive feedback from.
Codeowners are marked automatically as the reviewers.
All PRs require at least two review approvals before they can be merged (one review might be acceptable in
the case of minor changes to [docs](./.github/PULL_REQUEST_TEMPLATE/docs.md) changes that do not affect production code). Each PR template has a reviewers checklist that must be completed before the PR can be merged. Each reviewer is responsible
for all checked items unless they have indicated otherwise by leaving their handle next to specific
items. In addition, use the following review explanations:
* `LGTM` without an explicit approval means that the changes look good, but you haven't thoroughly reviewed the reviewer checklist items.
* `Approval` means that you have completed some or all of the reviewer checklist items. If you only reviewed selected items, you must add your handle next to the items that you have reviewed. In addition, follow these guidelines:
* You must also think through anything which ought to be included but is not
* You must think through whether any added code could be partially combined (DRYed) with existing code
* You must think through any potential security issues or incentive-compatibility flaws introduced by the changes
* Naming must be consistent with conventions and the rest of the codebase
* Code must live in a reasonable location, considering dependency structures (for example, not importing testing modules in production code, or including example code modules in production code).
* If you approve the PR, you are responsible for any issues mentioned here and any issues that should have been addressed after thoroughly reviewing the reviewer checklist items in the pull request template.
* If you sat down with the PR submitter and did a pairing review, add this information in the `Approval` or your PR comments.
* If you are only making "surface level" reviews, submit notes as a `comment` review.
### Updating Documentation
If you open a PR on the Cosmos SDK, it is mandatory to update the relevant documentation in `/docs`.
* If your change relates to the core SDK (baseapp, store, ...), be sure to update the content in `docs/basics/`, `docs/core/` and/or `docs/building-modules/` folders.
* If your changes relate to the core of the CLI (not specifically to module's CLI/Rest), then modify the content in the `docs/run-node/` folder.
* If your changes relate to a module, then be sure to update the module's spec in `x/{moduleName}/README.md`.
When writing documentation, follow the [Documentation Writing Guidelines](./docs/DOC_WRITING_GUIDELINES.md).
### RFC & ADR
Within the Cosmos SDK we have two forms of documenting decisions, Request For Comment (RFC) & Architecture Design Record (ADR). They perform two different functions. The process for assessing if something needs an RFC is located in the respective folders:
* [RFC Process](./docs/rfc/PROCESS.md)
* [ADR Process](./docs/architecture/PROCESS.md)
## Dependencies
We use [Go Modules](https://github.com/golang/go/wiki/Modules) to manage
dependency versions.
The main branch of every Cosmos repository should just build with `go get`,
which means they should be kept up-to-date with their dependencies, so we can
get away with telling people they can just `go get` our software.
Since some dependencies are not under our control, a third party may break our
build, in which case we can fall back on `go mod tidy -v`.
### `go.work`
The Cosmos SDK is a multi-module repo, for this reason, the use of a `go.work` file is handy.
We provide a [`go.work.example`](./go.work.example) that contains all the modules used in the SDK.
Do note that contributions modifying multiple Go modules should be submitted as separate PRs, this allows us to tag the changes and avoid `replace`s.
For consistency between our CI and the local tests, `GOWORK=off` is set in the `Makefile`. This means that the `go.work` file is not used when using `make test` or any other `make` command.
### `go.mod`
When extracting a package to its own go modules, some extra steps are required, for keeping our CI checks and Dev UX:
* Add a CHANGELOG.md / README.md under the new package folder
* Add the package in [`labeler.yml`](./.github/pr_labeler.yml)
* Add the package in [`go.work.example`](./go.work.example)
* Add weekly dependabot checks (see [dependabot.yml](./.github/dependabot.yml))
* Add tests to github workflow [test.yml](.github/workflows/test.yml) (under submodules)
* Configure SonarCloud
* Add `sonar-projects.properties` (see math [sonar-project.properties](./math/sonar-project.properties) for example)
* Add a GitHub Workflow entry for running the scans (see [test.yml](.github/workflows/test.yml))
* Ask the team to add the project to SonarCloud
* (optional) Configure a `cosmossdk.io` vanity url by submitting a PR to [cosmos/vanity](https://github.com/cosmos/vanity).
## Protobuf
We use [Protocol Buffers](https://developers.google.com/protocol-buffers) along with [gogoproto](https://github.com/cosmos/gogoproto) to generate code for use in Cosmos SDK.
For deterministic behavior around Protobuf tooling, everything is containerized using Docker. Make sure to have Docker installed on your machine, or head to [Docker's website](https://docs.docker.com/get-docker/) to install it.
For formatting code in `.proto` files, you can run `make proto-format` command.
For linting and checking breaking changes, we use [buf](https://buf.build/). You can use the commands `make proto-lint` and `make proto-check-breaking` to respectively lint your proto files and check for breaking changes.
To generate the protobuf stubs, you can run `make proto-gen`.
We also added the `make proto-all` command to run all the above commands sequentially.
In order for imports to properly compile in your IDE, you may need to manually set your protobuf path in your IDE's workspace settings/config.
For example, in vscode your `.vscode/settings.json` should look like:
```json
{
"protoc": {
"options": [
"--proto_path=${workspaceRoot}/proto",
]
}
}
```
## Branching Model and Release
User-facing repos should adhere to the trunk based development branching model: https://trunkbaseddevelopment.com. User branches should start with a user name, example: `{moniker}/{issue#}-branch-name`.
The Cosmos SDK repository is a [multi Go module](https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository) repository. It means that we have more than one Go module in a single repository.
The Cosmos SDK utilizes [semantic versioning](https://semver.org/).
### PR Targeting
Ensure that you base and target your PR on the `main` branch.
All feature additions and all bug fixes must be targeted against `main`. Exception is for bug fixes which are only related to a released version. In that case, the related bug fix PRs must target against the release branch.
If needed, we backport a commit from `main` to a release branch (excluding consensus breaking feature, API breaking and similar).
## Code Owner Membership
In the ethos of open-source projects, and out of necessity to keep the code
alive, the core contributor team will strive to permit special repo privileges
to developers who show an aptitude towards developing with this code base.
Several different kinds of privileges may be granted however most common
privileges to be granted are merge rights to either part of, or the entirety of the
code base (through the GitHub `CODEOWNERS` file). The onboarding process for
new code owners is as follows: On a bi-monthly basis (or more frequently if
agreeable) all the existing code owners will privately convene to discuss
potential new candidates as well as the potential for existing code-owners to
exit or "pass on the torch". This private meeting is to be held as a
phone/video meeting.
Subsequently after the meeting, and pending final approval from the ICF,
one of the existing code owners should open a PR modifying the `CODEOWNERS` file.
The other code owners should then all approve this PR to publicly display their support.
Only if unanimous consensus is reached among all the existing code-owners will
an invitation be extended to a new potential-member. Likewise, when an existing
member is suggested to be removed/or have their privileges reduced, the member
in question must agree to the decision for their removal or else no action
should be taken. If however, a code-owner is demonstrably shown to intentionally
have had acted maliciously or grossly negligent, code-owner privileges may be
stripped with no prior warning or consent from the member in question.
Other potential removal criteria:
* Missing 3 scheduled meetings results in ICF evaluating whether the member should be
removed / replaced
* Violation of Code of Conduct
Earning this privilege should be considered to be no small feat and is by no
means guaranteed by any quantifiable metric. Serving as a code owner is a symbol of great trust from
the community of this project.
## Concept & Feature Approval Process
The process for how Cosmos SDK maintainers take features and ADRs from concept to release
is broken up into three distinct stages: **Strategy Discovery**, **Concept Approval**, and
**Implementation & Release Approval**
### Strategy Discovery
* Develop long term priorities, strategy and roadmap for the Cosmos SDK
* Release committee not yet defined as there is already a roadmap that can be used for the time being
### Concept Approval
* Architecture Decision Records (ADRs) may be proposed by any contributors or maintainers of the Cosmos SDK,
and should follow the guidelines outlined in the
[ADR Creation Process](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/PROCESS.md)
* After proposal, a time bound period for Request for Comment (RFC) on ADRs commences
* ADRs are intended to be iterative, and may be merged into `main` while still in a `Proposed` status
#### Time Bound Period
* Once a PR for an ADR is opened, reviewers are expected to perform a first review within 1 week of pull request being open
* Time bound period for individual ADR Pull Requests to be merged should not exceed 2 weeks
* Total time bound period for an ADR to reach a decision (`ABANDONED | ACCEPTED | REJECTED`) should not exceed 4 weeks
If an individual Pull Request for an ADR needs more time than 2 weeks to reach resolution, it should be merged
in current state (`Draft` or `Proposed`), with its contents updated to summarize
the current state of its discussion.
If an ADR is taking longer than 4 weeks to reach a final conclusion, there should be a synchronous meeting with reviewers and all stake holders
* unanimously setting a new time bound period for this ADR
* making changes to the Concept Approval Process (as outlined here)
* making changes to the members of the Concept Approval Committee
### Implementation & Release Approval
The following process should be adhered to both for implementation PRs corresponding to ADRs, as
well as for PRs made as part of a release process:
* Code reviewers should ensure the PR does exactly what the ADR said it should
* Code reviewers should have more senior engineering capability
* 1/2 approval is required from the **primary repo maintainers** in `CODEOWNERS`
**Note**: For any major release series denoted as a "Stable Release" (e.g. v0.42 "Stargate"), a separate release
committee is often established. Stable Releases, and their corresponding release committees are documented
separately in [Stable Release Policy](./RELEASE_PROCESS.md#stable-release-policy)*
+11 -5
View File
@@ -12,7 +12,7 @@
#
# This image is pushed to the GHCR as https://ghcr.io/cosmos/simapp
FROM golang:1.25-alpine AS build-env
FROM golang:1.23-alpine AS build-env
# Install minimum necessary dependencies
ENV PACKAGES curl make git libc-dev bash gcc linux-headers eudev-dev
@@ -23,10 +23,16 @@ WORKDIR /go/src/github.com/cosmos/cosmos-sdk
# optimization: if go.sum didn't change, docker will use cached image
COPY go.mod go.sum ./
COPY collections/go.mod collections/go.sum ./collections/
COPY store/go.mod store/go.sum ./store/
COPY log/go.mod log/go.sum ./log/
COPY x/accounts/go.mod x/accounts/go.sum ./x/accounts/
COPY x/protocolpool/go.mod x/protocolpool/go.sum ./x/protocolpool/
COPY x/gov/go.mod x/gov/go.sum ./x/gov/
COPY x/distribution/go.mod x/distribution/go.sum ./x/distribution/
COPY x/slashing/go.mod x/slashing/go.sum ./x/slashing/
COPY x/staking/go.mod x/staking/go.sum ./x/staking/
COPY x/authz/go.mod x/authz/go.sum ./x/authz/
COPY x/bank/go.mod x/bank/go.sum ./x/bank/
COPY x/mint/go.mod x/mint/go.sum ./x/mint/
COPY x/consensus/go.mod x/consensus/go.sum ./x/consensus/
RUN go mod download
# Add source files
+9 -526
View File
@@ -1,534 +1,17 @@
#!/usr/bin/make -f
PACKAGES_NOSIMULATION=$(shell go list ./... | grep -v '/simulation')
PACKAGES_SIMTEST=$(shell go list ./... | grep '/simulation')
include scripts/build/linting.mk
include scripts/build/protobuf.mk
include scripts/build/localnet.mk
include scripts/build/simulations.mk
include scripts/build/testing.mk
include scripts/build/documentation.mk
include scripts/build/build.mk
# Ensure all tags are fetched
VERSION_RAW := $(shell git fetch --tags --force >/dev/null 2>&1; git describe --tags --always --match "v*")
VERSION := $(shell echo $(VERSION_RAW) | sed -E 's/^v?([0-9]+\.[0-9]+\.[0-9]+.*)/\1/')
# Fallback if the version is just a commit hash (not semver-like)
ifeq ($(findstring -,$(VERSION)),) # No "-" means it's just a hash
VERSION := 0.0.0-$(VERSION_RAW)
endif
export VERSION
export CMTVERSION := $(shell go list -m github.com/cometbft/cometbft | sed 's:.* ::')
export COMMIT := $(shell git log -1 --format='%H')
LEDGER_ENABLED ?= true
BINDIR ?= $(GOPATH)/bin
BUILDDIR ?= $(CURDIR)/build
SIMAPP = ./simapp
MOCKS_DIR = $(CURDIR)/tests/mocks
HTTPS_GIT := https://github.com/cosmos/cosmos-sdk.git
DOCKER := $(shell which docker)
PROJECT_NAME = $(shell git remote get-url origin | xargs basename -s .git)
# process build tags
build_tags = netgo
ifeq ($(LEDGER_ENABLED),true)
ifeq ($(OS),Windows_NT)
GCCEXE = $(shell where gcc.exe 2> NUL)
ifeq ($(GCCEXE),)
$(error gcc.exe not installed for ledger support, please install or set LEDGER_ENABLED=false)
else
build_tags += ledger
endif
else
UNAME_S = $(shell uname -s)
ifeq ($(UNAME_S),OpenBSD)
$(warning OpenBSD detected, disabling ledger support (https://github.com/cosmos/cosmos-sdk/issues/1988))
else
GCC = $(shell command -v gcc 2> /dev/null)
ifeq ($(GCC),)
$(error gcc not installed for ledger support, please install or set LEDGER_ENABLED=false)
else
build_tags += ledger
endif
endif
endif
endif
ifeq (secp,$(findstring secp,$(COSMOS_BUILD_OPTIONS)))
build_tags += libsecp256k1_sdk
endif
ifeq (legacy,$(findstring legacy,$(COSMOS_BUILD_OPTIONS)))
build_tags += app_v1
endif
whitespace :=
whitespace += $(whitespace)
comma := ,
build_tags_comma_sep := $(subst $(whitespace),$(comma),$(build_tags))
# process linker flags
ldflags = -X github.com/cosmos/cosmos-sdk/version.Name=sim \
-X github.com/cosmos/cosmos-sdk/version.AppName=simd \
-X github.com/cosmos/cosmos-sdk/version.Version=$(VERSION) \
-X github.com/cosmos/cosmos-sdk/version.Commit=$(COMMIT) \
-X "github.com/cosmos/cosmos-sdk/version.BuildTags=$(build_tags_comma_sep)" \
-X github.com/cometbft/cometbft/version.TMCoreSemVer=$(CMTVERSION)
# DB backend selection
ifeq (cleveldb,$(findstring cleveldb,$(COSMOS_BUILD_OPTIONS)))
build_tags += gcc
endif
ifeq (badgerdb,$(findstring badgerdb,$(COSMOS_BUILD_OPTIONS)))
build_tags += badgerdb
endif
# handle rocksdb
ifeq (rocksdb,$(findstring rocksdb,$(COSMOS_BUILD_OPTIONS)))
CGO_ENABLED=1
build_tags += rocksdb
endif
# handle boltdb
ifeq (boltdb,$(findstring boltdb,$(COSMOS_BUILD_OPTIONS)))
build_tags += boltdb
endif
ifeq (,$(findstring nostrip,$(COSMOS_BUILD_OPTIONS)))
ldflags += -w -s
endif
ldflags += $(LDFLAGS)
ldflags := $(strip $(ldflags))
build_tags += $(BUILD_TAGS)
build_tags := $(strip $(build_tags))
BUILD_FLAGS := -tags "$(build_tags)" -ldflags '$(ldflags)'
# check for nostrip option
ifeq (,$(findstring nostrip,$(COSMOS_BUILD_OPTIONS)))
BUILD_FLAGS += -trimpath
endif
# Check for debug option
ifeq (debug,$(findstring debug,$(COSMOS_BUILD_OPTIONS)))
BUILD_FLAGS += -gcflags "all=-N -l"
endif
all: tools build lint test vulncheck
###############################################################################
### Build ###
###############################################################################
BUILD_TARGETS := build install
build: BUILD_ARGS=-o $(BUILDDIR)/
build-linux-amd64:
GOOS=linux GOARCH=amd64 LEDGER_ENABLED=false $(MAKE) build
build-linux-arm64:
GOOS=linux GOARCH=arm64 LEDGER_ENABLED=false $(MAKE) build
$(BUILD_TARGETS): go.sum $(BUILDDIR)/
cd ${CURRENT_DIR}/simapp && go $@ -mod=readonly $(BUILD_FLAGS) $(BUILD_ARGS) ./...
$(BUILDDIR)/:
mkdir -p $(BUILDDIR)/
cosmovisor:
$(MAKE) -C tools/cosmovisor cosmovisor
confix:
$(MAKE) -C tools/confix confix
.PHONY: build build-linux-amd64 build-linux-arm64 cosmovisor confix
#? mocks: Generate mock file
mocks: $(MOCKS_DIR)
@go install go.uber.org/mock/mockgen@v0.6.0
sh ./scripts/mockgen.sh
.PHONY: mocks
vulncheck: $(BUILDDIR)/
GOBIN=$(BUILDDIR) go install golang.org/x/vuln/cmd/govulncheck@latest
$(BUILDDIR)/govulncheck ./...
$(MOCKS_DIR):
mkdir -p $(MOCKS_DIR)
distclean: clean tools-clean
clean:
rm -rf \
$(BUILDDIR)/ \
artifacts/ \
tmp-swagger-gen/ \
.testnets
.PHONY: distclean clean
###############################################################################
### Tools & Dependencies ###
###############################################################################
.DEFAULT_GOAL := help
#? go.sum: Run go mod tidy and ensure dependencies have not been modified.
go.sum: go.mod
echo "Ensure dependencies have not been modified ..." >&2
go mod verify
go mod tidy
###############################################################################
### Documentation ###
###############################################################################
godocs:
@echo "--> Wait a few seconds and visit http://localhost:6060/pkg/github.com/cosmos/cosmos-sdk/types"
go install golang.org/x/tools/cmd/godoc@latest
godoc -http=:6060
build-docs:
@cd docs && DOCS_DOMAIN=docs.cosmos.network sh ./build-all.sh
.PHONY: build-docs
###############################################################################
### Tests & Simulation ###
###############################################################################
# make init-simapp initializes a single local node network
# it is useful for testing and development
# Usage: make install && make init-simapp && simd start
# Warning: make init-simapp will remove all data in simapp home directory
init-simapp:
./scripts/init-simapp.sh
test: test-unit
test-e2e:
$(MAKE) -C tests test-e2e
test-e2e-cov:
$(MAKE) -C tests test-e2e-cov
test-integration:
$(MAKE) -C tests test-integration
test-integration-cov:
$(MAKE) -C tests test-integration-cov
test-all: test-unit test-e2e test-integration test-ledger-mock test-race
TEST_PACKAGES=./...
TEST_TARGETS := test-unit test-unit-amino test-unit-proto test-ledger-mock test-race test-ledger test-race
# Test runs-specific rules. To add a new test target, just add
# a new rule, customise ARGS or TEST_PACKAGES ad libitum, and
# append the new rule to the TEST_TARGETS list.
test-unit: test_tags += cgo ledger test_ledger_mock norace
test-unit-amino: test_tags += ledger test_ledger_mock test_amino norace
test-ledger: test_tags += cgo ledger norace
test-ledger-mock: test_tags += ledger test_ledger_mock norace
test-race: test_tags += cgo ledger test_ledger_mock
test-race: ARGS=-race
test-race: TEST_PACKAGES=$(PACKAGES_NOSIMULATION)
$(TEST_TARGETS): run-tests
# check-* compiles and collects tests without running them
# note: go test -c doesn't support multiple packages yet (https://github.com/golang/go/issues/15513)
CHECK_TEST_TARGETS := check-test-unit check-test-unit-amino
check-test-unit: test_tags += cgo ledger test_ledger_mock norace
check-test-unit-amino: test_tags += ledger test_ledger_mock test_amino norace
$(CHECK_TEST_TARGETS): EXTRA_ARGS=-run=none
$(CHECK_TEST_TARGETS): run-tests
ARGS += -tags "$(test_tags)"
SUB_MODULES = $(shell find . -type f -name 'go.mod' -print0 | xargs -0 -n1 dirname | sort | grep -v './tests/systemtests')
CURRENT_DIR = $(shell pwd)
run-tests:
@(cd store/streaming/abci/examples/file && go build .)
ifneq (,$(shell which tparse 2>/dev/null))
@echo "Starting unit tests"; \
finalec=0; \
for module in $(SUB_MODULES); do \
cd ${CURRENT_DIR}/$$module; \
echo "Running unit tests for $$(grep '^module' go.mod)"; \
go test -mod=readonly -json $(ARGS) $(TEST_PACKAGES) ./... | tparse; \
ec=$$?; \
if [ "$$ec" -ne '0' ]; then finalec=$$ec; fi; \
done; \
exit $$finalec
else
@echo "Starting unit tests"; \
finalec=0; \
for module in $(SUB_MODULES); do \
cd ${CURRENT_DIR}/$$module; \
echo "Running unit tests for $$(grep '^module' go.mod)"; \
go test -mod=readonly $(ARGS) $(TEST_PACKAGES) ./... ; \
ec=$$?; \
if [ "$$ec" -ne '0' ]; then finalec=$$ec; fi; \
done; \
exit $$finalec
endif
.PHONY: run-tests test test-all $(TEST_TARGETS)
test-sim-nondeterminism:
@echo "Running non-determinism test..."
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -timeout=30m -tags='sims' -run TestAppStateDeterminism \
-NumBlocks=100 -BlockSize=200 -Period=0
# Requires an exported plugin. See store/streaming/README.md for documentation.
#
# example:
# export COSMOS_SDK_ABCI_V1=<path-to-plugin-binary>
# make test-sim-nondeterminism-streaming
#
# Using the built-in examples:
# export COSMOS_SDK_ABCI_V1=<path-to-sdk>/store/streaming/abci/examples/file/file
# make test-sim-nondeterminism-streaming
test-sim-nondeterminism-streaming:
@echo "Running non-determinism-streaming test..."
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -timeout=30m -tags='sims' -run TestAppStateDeterminism \
-NumBlocks=100 -BlockSize=200 -Period=0 -EnableStreaming=true
test-sim-custom-genesis-fast:
@echo "Running custom genesis simulation..."
@echo "By default, ${HOME}/.simapp/config/genesis.json will be used."
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -timeout=30m -tags='sims' -run TestFullAppSimulation -Genesis=${HOME}/.simapp/config/genesis.json \
-NumBlocks=100 -BlockSize=200 -Seed=99 -Period=5 -SigverifyTx=false
test-sim-import-export:
@echo "Running application import/export simulation. This may take several minutes..."
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -timeout 20m -tags='sims' -run TestAppImportExport \
-NumBlocks=50 -Period=5
test-sim-after-import:
@echo "Running application simulation-after-import. This may take several minutes..."
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -timeout 30m -tags='sims' -run TestAppSimulationAfterImport \
-NumBlocks=50 -Period=5
test-sim-custom-genesis-multi-seed:
@echo "Running multi-seed custom genesis simulation..."
@echo "By default, ${HOME}/.simapp/config/genesis.json will be used."
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -timeout 30m -tags='sims' -run TestFullAppSimulation -Genesis=${HOME}/.simapp/config/genesis.json \
-NumBlocks=400 -Period=5
test-sim-multi-seed-long:
@echo "Running long multi-seed application simulation. This may take awhile!"
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -timeout=1h -tags='sims' -run TestFullAppSimulation \
-NumBlocks=500 -Period=50
test-sim-multi-seed-short:
@echo "Running short multi-seed application simulation. This may take awhile!"
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -timeout 30m -tags='sims' -run TestFullAppSimulation \
-NumBlocks=50 -Period=10
.PHONY: \
test-sim-nondeterminism \
test-sim-nondeterminism-streaming \
test-sim-custom-genesis-fast \
test-sim-import-export \
test-sim-after-import \
test-sim-custom-genesis-multi-seed \
test-sim-multi-seed-short \
test-sim-multi-seed-long
SIM_NUM_BLOCKS ?= 500
SIM_BLOCK_SIZE ?= 200
SIM_COMMIT ?= true
#? test-sim-fuzz: Run fuzz test for simapp
test-sim-fuzz:
@echo "Running application fuzz for numBlocks=2, blockSize=20. This may take awhile!"
#ld flags are a quick fix to make it work on current osx
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -json -tags='sims' -ldflags="-extldflags=-Wl,-ld_classic" -timeout=60m -fuzztime=60m -run=^$$ -fuzz=FuzzFullAppSimulation -GenesisTime=1714720615 -NumBlocks=2 -BlockSize=20
#? test-sim-benchmark: Run benchmark test for simapp
test-sim-benchmark:
@echo "Running application benchmark for numBlocks=$(SIM_NUM_BLOCKS), blockSize=$(SIM_BLOCK_SIZE). This may take awhile!"
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -tags='sims' -run=^$$ $(.) -bench ^BenchmarkFullAppSimulation$$ \
-NumBlocks=$(SIM_NUM_BLOCKS) -BlockSize=$(SIM_BLOCK_SIZE) -Commit=$(SIM_COMMIT) -Seed=57 -timeout 30m
# Requires an exported plugin. See store/streaming/README.md for documentation.
#
# example:
# export COSMOS_SDK_ABCI_V1=<path-to-plugin-binary>
# make test-sim-benchmark-streaming
#
# Using the built-in examples:
# export COSMOS_SDK_ABCI_V1=<path-to-sdk>/store/streaming/abci/examples/file/file
# make test-sim-benchmark-streaming
test-sim-benchmark-streaming:
@echo "Running application benchmark for numBlocks=$(SIM_NUM_BLOCKS), blockSize=$(SIM_BLOCK_SIZE). This may take awhile!"
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -run=^$$ $(.) -bench ^BenchmarkFullAppSimulation$$ \
-NumBlocks=$(SIM_NUM_BLOCKS) -BlockSize=$(SIM_BLOCK_SIZE) -Commit=$(SIM_COMMIT) -timeout 24h -EnableStreaming=true
test-sim-profile:
@echo "Running application benchmark for numBlocks=$(SIM_NUM_BLOCKS), blockSize=$(SIM_BLOCK_SIZE). This may take awhile!"
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -benchmem -run=^$$ $(.) -bench ^BenchmarkFullAppSimulation$$ \
-NumBlocks=$(SIM_NUM_BLOCKS) -BlockSize=$(SIM_BLOCK_SIZE) -Commit=$(SIM_COMMIT) -timeout 24h -cpuprofile cpu.out -memprofile mem.out
# Requires an exported plugin. See store/streaming/README.md for documentation.
#
# example:
# export COSMOS_SDK_ABCI_V1=<path-to-plugin-binary>
# make test-sim-profile-streaming
#
# Using the built-in examples:
# export COSMOS_SDK_ABCI_V1=<path-to-sdk>/store/streaming/abci/examples/file/file
# make test-sim-profile-streaming
test-sim-profile-streaming:
@echo "Running application benchmark for numBlocks=$(SIM_NUM_BLOCKS), blockSize=$(SIM_BLOCK_SIZE). This may take awhile!"
@cd ${CURRENT_DIR}/simapp && go test -failfast -mod=readonly -benchmem -run=^$$ $(.) -bench ^BenchmarkFullAppSimulation$$ \
-NumBlocks=$(SIM_NUM_BLOCKS) -BlockSize=$(SIM_BLOCK_SIZE) -Commit=$(SIM_COMMIT) -timeout 24h -cpuprofile cpu.out -memprofile mem.out -EnableStreaming=true
.PHONY: test-sim-profile test-sim-benchmark test-sim-fuzz
benchmark:
@go test -mod=readonly -bench=. $(PACKAGES_NOSIMULATION)
.PHONY: benchmark
###############################################################################
### Linting ###
###############################################################################
golangci_version=v2.6.2
lint-install:
@echo "--> Installing golangci-lint $(golangci_version)"
@go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(golangci_version)
lint:
@echo "--> Running linter on all files"
@$(MAKE) lint-install
@./scripts/go-lint-all.bash --timeout=15m
lint-fix:
@echo "--> Running linter"
@$(MAKE) lint-install
@./scripts/go-lint-all.bash --fix
.PHONY: lint lint-fix
###############################################################################
### Protobuf ###
###############################################################################
protoVer=0.17.1
protoImageName=ghcr.io/cosmos/proto-builder:$(protoVer)
protoImage=$(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace $(protoImageName)
proto-all: proto-format proto-lint proto-gen
proto-gen:
@echo "Generating Protobuf files"
@$(protoImage) sh ./scripts/protocgen.sh 2>&1 | tee protocgen.log | \
awk '{print $$0} /contains the reserved field name/ && /tendermint/ {next} 1'
proto-swagger-gen:
@echo "Generating Protobuf Swagger"
@$(protoImage) sh ./scripts/protoc-swagger-gen.sh
proto-format:
@$(protoImage) find ./ -name "*.proto" -exec clang-format -i {} \;
proto-lint:
@$(protoImage) buf lint --error-format=json
proto-check-breaking:
@$(protoImage) buf breaking --against $(HTTPS_GIT)#branch=main
CMT_URL = https://raw.githubusercontent.com/cometbft/cometbft/v0.38.0/proto/tendermint
CMT_CRYPTO_TYPES = proto/tendermint/crypto
CMT_ABCI_TYPES = proto/tendermint/abci
CMT_TYPES = proto/tendermint/types
CMT_VERSION = proto/tendermint/version
CMT_LIBS = proto/tendermint/libs/bits
CMT_P2P = proto/tendermint/p2p
proto-update-deps:
@echo "Updating Protobuf dependencies"
@mkdir -p $(CMT_ABCI_TYPES)
@curl -sSL $(CMT_URL)/abci/types.proto > $(CMT_ABCI_TYPES)/types.proto
@mkdir -p $(CMT_VERSION)
@curl -sSL $(CMT_URL)/version/types.proto > $(CMT_VERSION)/types.proto
@mkdir -p $(CMT_TYPES)
@curl -sSL $(CMT_URL)/types/types.proto > $(CMT_TYPES)/types.proto
@curl -sSL $(CMT_URL)/types/evidence.proto > $(CMT_TYPES)/evidence.proto
@curl -sSL $(CMT_URL)/types/params.proto > $(CMT_TYPES)/params.proto
@curl -sSL $(CMT_URL)/types/validator.proto > $(CMT_TYPES)/validator.proto
@curl -sSL $(CMT_URL)/types/block.proto > $(CMT_TYPES)/block.proto
@mkdir -p $(CMT_CRYPTO_TYPES)
@curl -sSL $(CMT_URL)/crypto/proof.proto > $(CMT_CRYPTO_TYPES)/proof.proto
@curl -sSL $(CMT_URL)/crypto/keys.proto > $(CMT_CRYPTO_TYPES)/keys.proto
@mkdir -p $(CMT_LIBS)
@curl -sSL $(CMT_URL)/libs/bits/types.proto > $(CMT_LIBS)/types.proto
@mkdir -p $(CMT_P2P)
@curl -sSL $(CMT_URL)/p2p/types.proto > $(CMT_P2P)/types.proto
$(DOCKER) run --rm -v $(CURDIR)/proto:/workspace --workdir /workspace $(protoImageName) buf mod update
.PHONY: proto-all proto-gen proto-swagger-gen proto-format proto-lint proto-check-breaking proto-update-deps
###############################################################################
### Localnet ###
###############################################################################
localnet-build-env:
$(MAKE) -C contrib/images simd-env
localnet-build-dlv:
$(MAKE) -C contrib/images simd-dlv
localnet-build-nodes:
$(DOCKER) run --rm -v $(CURDIR)/.testnets:/data cosmossdk/simd \
testnet init-files --validator-count 4 -o /data --starting-ip-address 192.168.10.2 --keyring-backend=test
docker compose up -d
localnet-stop:
docker compose down
# localnet-start will run a 4-node testnet locally. The nodes are
# based off the docker images in: ./contrib/images/simd-env
localnet-start: localnet-stop localnet-build-env localnet-build-nodes
# localnet-debug will run a 4-node testnet locally in debug mode
# you can read more about the debug mode here: ./contrib/images/simd-dlv/README.md
localnet-debug: localnet-stop localnet-build-dlv localnet-build-nodes
.PHONY: localnet-start localnet-stop localnet-debug localnet-build-env localnet-build-dlv localnet-build-nodes
test-system: build-v53 build
mkdir -p ./tests/systemtests/binaries/
cp $(BUILDDIR)/simd ./tests/systemtests/binaries/
mkdir -p ./tests/systemtests/binaries/v0.53
mv $(BUILDDIR)/simdv53 ./tests/systemtests/binaries/v0.53/simd
$(MAKE) -C tests/systemtests test
.PHONY: test-system
# build-v53 checks out the v0.53.x branch, builds the binary, and renames it to simdv53.
build-v53:
@echo "Starting v53 build process..."
git_status=$$(git status --porcelain) && \
has_changes=false && \
if [ -n "$$git_status" ]; then \
echo "Stashing uncommitted changes..." && \
git stash push -m "Temporary stash for v53 build" && \
has_changes=true; \
else \
echo "No changes to stash"; \
fi && \
echo "Saving current reference..." && \
CURRENT_REF=$$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse HEAD) && \
echo "Checking out release branch..." && \
git checkout release/v0.53.x && \
echo "Building v53 binary..." && \
make build && \
mv build/simd build/simdv53 && \
echo "Returning to original branch..." && \
if [ "$$CURRENT_REF" = "HEAD" ]; then \
git checkout $$(git rev-parse HEAD); \
else \
git checkout $$CURRENT_REF; \
fi && \
if [ "$$has_changes" = "true" ]; then \
echo "Reapplying stashed changes..." && \
git stash pop || echo "Warning: Could not pop stash, your changes may be in the stash list"; \
else \
echo "No changes to reapply"; \
fi
.PHONY: build-v53
-13
View File
@@ -1,13 +0,0 @@
NOTICE
About Cosmos Labs
Cosmos Labs is the development and growth organization behind the Cosmos stack of technologies and ecosystem, the world leading blockchain platform powering more than 200 production chains in finance, payments, and real-world assets. Cosmos Labs leads the development of the Cosmos technology stack, including the Cosmos SDK, CometBFT, and IBC protocols that enable sovereign, interoperable blockchains, in tandem with the Interchain Foundation. Cosmos Labs offers blockchain solutions for enterprises and finance, learn more by visiting: https://cosmos.network/, https://cosmoslabs.io/
Licence
This product This product includes software developed by Cosmos Labs and is licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Attribution
If you distribute this software or derivative works, you must include a copy of this NOTICE file (or equivalent attribution) in your distribution, as required by Section 4(d) of the Apache License, Version 2.0.
+61 -32
View File
@@ -1,8 +1,8 @@
<div align="left">
<div align="center">
<h1> Cosmos SDK </h1>
</div>
![banner](docs/static/img/banner.svg)
![banner](https://github.com/cosmos/cosmos-sdk-docs/blob/main/static/img/banner.jpg)
<div align="center">
<a href="https://github.com/cosmos/cosmos-sdk/blob/main/LICENSE">
@@ -14,65 +14,94 @@
<a href="https://goreportcard.com/report/github.com/cosmos/cosmos-sdk">
<img alt="Go report card" src="https://goreportcard.com/badge/github.com/cosmos/cosmos-sdk" />
</a>
<a href="https://sonarcloud.io/summary/overall?id=cosmos_cosmos-sdk">
<img alt="Code Coverage" src="https://sonarcloud.io/api/project_badges/measure?project=cosmos_cosmos-sdk&metric=coverage" />
</a>
<a href="https://sonarcloud.io/summary/overall?id=cosmos_cosmos-sdk">
<img alt="SonarCloud Analysis" src="https://sonarcloud.io/api/project_badges/measure?project=cosmos_cosmos-sdk&metric=alert_status">
</a>
</div>
<div align="center">
<a href="https://discord.com/invite/interchain">
<a href="https://discord.gg/interchain">
<img alt="Discord" src="https://img.shields.io/discord/669268347736686612.svg" />
</a>
<a href="https://sourcegraph.com/github.com/cosmos/cosmos-sdk?badge">
<img alt="Imported by" src="https://sourcegraph.com/github.com/cosmos/cosmos-sdk/-/badge.svg" />
</a>
<img alt="Sims" src="https://github.com/cosmos/cosmos-sdk/workflows/Sims/badge.svg" />
<img alt="Lint Status" src="https://github.com/cosmos/cosmos-sdk/workflows/Lint/badge.svg" />
</div>
The Cosmos SDK is a modular, open-source blockchain SDK for building secure, high-performance Layer 1 chains with full customizability used by 200+ chains in production. Developers can use the Cosmos SDK to easily and quickly spin up custom blockchains that can natively interoperate.
The Cosmos SDK is a framework for building blockchain applications. [CometBFT (BFT Consensus)](https://github.com/cometbft/cometbft) and the Cosmos SDK are written in the Go programming language. Cosmos SDK is used to build [Gaia](https://github.com/cosmos/gaia), the implementation of the Cosmos Hub.
The Cosmos SDK is tailored for building secure, sovereign application-specific blockchains. Developers building with the Cosmos SDK can use predefined modules that cover standard blockchain functionality or create custom modules for their specific use case. This composable architecture enables robust customization. The SDK provides abstractions for permissioning, governance, state management, account abstraction, tokenization processes, application logic, and more.
Cosmos SDK blockchains get interoperability out-of-the-box via a native integration with the [Inter-Blockchain Communication Protocol (IBC)](https://github.com/cosmos/ibc-go). ibc-go is implemented as a Go module in the Cosmos SDK.
While the Cosmos SDK is plug-and-play with any consensus engine, we recommend using [CometBFT](https://github.com/cometbft/cometbft) for a fast, battle-tested, high-throughput, configurable BFT state machine. CometBFT is developed as part of the Cosmos Stack and its releases are updated alongside the SDK.
**WARNING**: The Cosmos SDK has mostly stabilized, but we are still making some breaking changes.
**Note**: Always use the latest maintained [Go](https://go.dev/dl) version for building Cosmos SDK applications.
## Quick Start
To learn how the Cosmos SDK works from a high-level perspective, see the Cosmos SDK [High-Level Intro](https://docs.cosmos.network/main/intro/overview).
To learn how the Cosmos SDK works from a high-level perspective, see the Cosmos SDK [High-Level Intro](https://docs.cosmos.network/v0.50/learn/intro/overview).
If you want to get started quickly and learn how to build on top of Cosmos SDK, visit [Cosmos SDK Tutorials](https://tutorials.cosmos.network). You can also fork the tutorial's repository to get started building your own Cosmos SDK application.
Note: We advise to always use the latest maintained [Go version](https://go.dev/dl/) for building Cosmos SDK applications.
For more information, see the [Cosmos SDK Documentation](https://docs.cosmos.network).
## Modules
## Contributing
The Cosmos SDK maintains a set of modules that can be included in your blockchain application. For more information
on modules, see our [introduction doc](./x/README.md).
See [CONTRIBUTING.md](./CONTRIBUTING.md) for details on how to contribute and participate in our [dev calls](./CONTRIBUTING.md#teams-dev-calls).
If you want to follow the updates or learn more about the latest design then join our [Discord](https://discord.gg/interchain).
## Maintainers
[Cosmos Labs](https://cosmoslabs.io/) maintains the core components of the stack: Cosmos SDK, CometBFT, IBC, Cosmos EVM, and various developer tools and frameworks. The detailed maintenance policy can be found [here](https://github.com/cosmos/security/blob/main/POLICY.md). In addition to developing and maintaining the Cosmos Stack, Cosmos Labs provides advisory and engineering services for blockchain solutions. [Get in touch with Cosmos Labs](https://www.cosmoslabs.io/contact).
## Tools and Frameworks
Cosmos Labs is a wholly-owned subsidiary of the [Interchain Foundation](https://interchain.io/), the Swiss nonprofit responsible for treasury management, funding public goods, and supporting governance for Cosmos.
The Cosmos ecosystem is vast.
[Awesome Cosmos](https://github.com/cosmos/awesome-cosmos) is a community-curated list of notable frameworks, modules and tools.
The Cosmos Stack is supported by a robust community of open-source contributors.
### Inter-Blockchain Communication (IBC)
## History
The Cosmos SDK was first released in 2019, and the first blockchain to use the SDK in production was the [Cosmos Hub](https://hub.cosmos.network/main). Today, the Cosmos SDK is a popular, battle-tested, open-source framework used by hundreds of chains.
The IBC module for the Cosmos SDK has its own [cosmos/ibc-go repository](https://github.com/cosmos/ibc-go). Go there to build and integrate with the IBC module.
The Cosmos Hub still receives the most up-to-date Cosmos SDK versions. The Cosmos Hub application, `gaia`, has its own [cosmos/gaia repository](https://github.com/cosmos/gaia).
### Version Matrix
## Developer Community and Support
The version matrix below shows which versions of the Cosmos SDK, modules and libraries are compatible with each other.
The issue list of this repo is exclusively for bug reports and feature requests. We have active, helpful communities on Discord, Telegram, and Slack.
#### Core Dependencies
**| Need Help? | Support & Community: [Discord](https://discord.com/invite/interchain) - [Telegram](https://t.me/CosmosOG) - [Talk to an Expert](https://cosmos.network/interest-form) - [Join the #Cosmos-tech Slack Channel](https://forms.gle/A8jawLgB8zuL1FN36) |**
Core dependencies are the core libraries that an application may depend on.
Core dependencies not mentioned here as compatible across all maintained SDK versions.
See an exhaustive list of core dependencies at [cosmossdk.io](https://cosmossdk.io).
## Documentation and Resources
**View the Cosmos SDK documentation: https://docs.cosmos.network/**
| Version | 0.52.z | 0.50.z | 0.47.z |
|--------------------------|-----------|----------------|---------|
| cosmossdk.io/core | 1.y.z | 0.11.z | 0.5.z |
| cosmossdk.io/api | 0.8.z | 0.7.z | 0.3.z |
| cosmossdk.io/x/tx | 1.y.z | < 1.y.z | N/A |
| cosmossdk.io/store | >= 1.10.z | 1.0.0 >= 1.9.z | N/A |
| cosmossdk.io/collections | 1.y.z | < 1.y.z | < 1.y.z |
### Cosmos Stack Libraries
#### Module Dependencies
- [CometBFT](https://github.com/cometbft/cometbft) - High-performance, 10k+ TPS configurable BFT consensus engine.
- [The Inter-Blockchain Communication Protocol (IBC)](https://github.com/cosmos/ibc-go/) - A blockchain interoperability protocol that allows blockchains to transfer any type of data encoded in bytes.
- [Cosmos EVM](https://github.com/cosmos/evm) - Native EVM layer for Cosmos SDK chains.
Module Dependencies are the modules that an application may depend on and which version of the Cosmos SDK they are compatible with.
> Note: The version table only goes back to 0.50.x, as modules started to become modular with 0.50.z.
> X signals that the module was not spun out into its own go.mod file.
> N/A signals that the module was not available in the Cosmos SDK at that time.
| Cosmos SDK | 0.52.z | 0.50.z |
|-----------------------------|--------|--------|
| cosmossdk.io/x/accounts | 0.2.z | N/A |
| cosmossdk.io/x/bank | 0.2.z | X |
| cosmossdk.io/x/circuit | 0.2.z | 0.1.z |
| cosmossdk.io/x/consensus | 0.2.z | X |
| cosmossdk.io/x/distribution | 0.2.z | X |
| cosmossdk.io/x/epochs | 0.2.z | N/A |
| cosmossdk.io/x/evidence | 0.2.z | 0.1.z |
| cosmossdk.io/x/feegrant | 0.2.z | 0.1.z |
| cosmossdk.io/x/gov | 0.2.z | X |
| cosmossdk.io/x/group | 0.2.z | X |
| cosmossdk.io/x/mint | 0.2.z | X |
| cosmossdk.io/x/nft | 0.2.z | 0.1.z |
| cosmossdk.io/x/protocolpool | 0.2.z | N/A |
| cosmossdk.io/x/slashing | 0.2.z | X |
| cosmossdk.io/x/staking | 0.2.z | X |
| cosmossdk.io/x/upgrade | 0.2.z | 0.1.z |
## Disambiguation
+29
View File
@@ -0,0 +1,29 @@
# Releases
The Cosmos-SDK follows both [0ver](https://0ver.org/) and [Semver](https://semver.org/). While this is confusing let's break it down: 0ver is used for the main Cosmos-SDK dependency (`github.com/cosmos/cosmos-sdk`) and Semver is used for all other dependencies.
## Semver Dependencies
Although we adhere to semantic versioning (semver), we have introduced a few modifications to accommodate the unique characteristics of blockchains. One significant divergence is that the major version (Y.x.x) is incremented solely when a consensus-breaking change occurs. On the other hand, the minor version (x.Y.x) is increased when there is a non-consensus-breaking alteration that also results in an incompatible API change. Patch versions will be bumped for all other changes that don't break the API nor Consensus.
```mermaid
flowchart TD
A[Change] --> B{Consensus Breaking?}
B -->|Yes| C[Increase Major Version]
B -->|No| D{API Breaking?}
D -->|Yes| E[Increase Minor Version]
D -->|No| F[Increase Patch Version]
```
## 0ver Dependencies
In terms of the Cosmos-SDK dependency, we adhere to a simpler versioning approach known as 0ver. This flow differs from the previous Semver flow. Under this system, when a consensus-breaking change or an API-breaking change occurs, the Cosmos-SDK team increments the minor version (x.Y.x). Conversely, when a non-consensus-breaking change and a non-API-breaking change take place, the team bumps the patch version (x.x.Y).
```mermaid
flowchart TD
A[Change] --> B{Consensus Breaking?}
B -->|Yes| C[Increase Minor Version]
B -->|No| D{API Breaking?}
D -->|Yes| E[Increase Minor Version]
D -->|No| F[Increase Patch Version]
```
+15 -10
View File
@@ -1,17 +1,22 @@
# Cosmos SDK v0.53.0 Release Notes
# Cosmos SDK v0.52.0-rc.2 Release Notes
💬 [**Release Discussion**](https://github.com/cosmos/cosmos-sdk/discussions/58)
This second release canditate include bug fixes found during integration.
Additionally, it bumps the SDK dependencies to their final release:
## 🚀 Highlights
* cosmossdk.io/core v1.0.0
* cosmossdk.io/collection v1.0.0
* cosmossdk.io/schema v1.0.0
* cosmossdk.io/x/tx v1.0.0
Announcing Cosmos SDK v0.53
Modules remained stable and nothing has changed since their first release candidate.
We encourage chains to already start integrating with this release candidate as APIs are stable.
We are pleased to announce the release of Cosmos SDK v0.53! Were excited to be delivering a new version of the Cosmos SDK that provides key features and updates while minimizing breaking changes so you can focus on what matters most: building.
Cosmos SDK Olympus is the first totally modular (as in package) release of the Cosmos SDK. Many components have been extracted in their own modules. Refer to the [version matrix](https://github.com/cosmos/cosmos-sdk?tab=readme-ov-file#version-matrix) to understand what it means.
Upgrading to this version of the Cosmos SDK from any `v0.50.x` release will **require a coordinated chain upgrade**.
A final release is expected in the coming **days**.
For more upgrade information, check out our [upgrading guide](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/UPGRADING.md)
Please see the [CHANGELOG](https://github.com/cosmos/cosmos-sdk/blob/release/v0.52.x/CHANGELOG.md) for an exhaustive list of changes.
Refer to the [UPGRADING.md](https://github.com/cosmos/cosmos-sdk/blob/release/v0.52.x/UPGRADING.md) for upgrading your application.
## 📝 Changelog
Check out the [changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/CHANGELOG.md) for an exhaustive list of changes, or [compare changes](https://github.com/cosmos/cosmos-sdk/compare/v0.50.12...v0.53.0) from the last release.
Full Commit History: https://github.com/cosmos/cosmos-sdk/compare/v0.52.0-rc.1...v0.52.0-rc.
`v0.50..v0.52`: https://github.com/cosmos/cosmos-sdk/compare/release/v0.50.x...release/v0.52.x
+269
View File
@@ -0,0 +1,269 @@
# Release Process
This document outlines the process for releasing a new version of Cosmos SDK, which involves major release and patch releases as well as maintenance for the major release.
> **Note, the Cosmos SDK went directly from v0.47 to v0.50 and skipped the v0.48 and v0.49 versions.**
## Major Release Procedure
A _major release_ is an increment of the first number (eg: `v1.2``v2.0.0`) or the _point number_ (eg: `v1.1.0 → v1.2.0`, also called _point release_). Each major release opens a _stable release series_ and receives updates outlined in the [Major Release Maintenance](#major-release-maintenance)_section.
Before making a new _major_ release we do beta and release candidate releases. For example, for release 1.0.0:
```text
v1.0.0-beta1 → v1.0.0-beta2 → ... → v1.0.0-rc1 → v1.0.0-rc2 → ... → v1.0.0
```
* Release a first beta version on the `main` branch and freeze `main` from receiving any new features. After beta is released, we focus on releasing the release candidate:
* finish audits and reviews
* kick off a large round of simulation testing (e.g. 400 seeds for 2k blocks)
* perform functional tests
* add more tests
* release new beta version as the bugs are discovered and fixed.
* After the team feels that the `main` works fine we create a `release/vY` branch (going forward known as release branch), where `Y` is the version number, with the patch part substituted to `x` (eg: 0.42.x, 1.0.x). Ensure the release branch is protected so that pushes against the release branch are permitted only by the release manager or release coordinator.
* **PRs targeting this branch can be merged _only_ when exceptional circumstances arise**
* update the GitHub mergify integration by adding instructions for automatically backporting commits from `main` to the `release/vY` using the `backport/Y` label.
* In the release branch prepare a new version section in the `CHANGELOG.md`
* All links must point to their respective pull request.
* The `CHANGELOG.md` must contain only the changes of that specific released version. All other changelog entries must be deleted and linked to the `main` branch changelog ([example](https://github.com/cosmos/cosmos-sdk/blob/release/v0.46.x/CHANGELOG.md#previous-versions)).
* Create release notes, in `RELEASE_NOTES.md`, highlighting the new features and changes in the version. This is needed so the bot knows which entries to add to the release page on GitHub.
* Additionally verify that the `UPGRADING.md` file is up to date and contains all the necessary information for upgrading to the new version.
* Remove GitHub workflows that should not be in the release branch
* `test.yml`: All standalone go module tests should be removed (expect `./simapp`, and `./tests`, SDK and modules tests).
* These packages are tracked and tested directly on main.
* `build.yml`: Only the SDK and SimApp need to be built on release branches.
* Tooling is tracked and tested directly on main.
* This does not apply for tooling depending on the SDK (e.g. `confix`)
* Update `Dockerfile` to not use latest go.mod and go.sum files.
* Create a new annotated git tag for a release candidate (eg: `git tag -a v1.1.0-rc1`) in the release branch.
* from this point we unfreeze main.
* the SDK teams collaborate and do their best to run testnets in order to validate the release.
* when bugs are found, create a PR for `main`, and backport fixes to the release branch.
* create new release candidate tags after bugs are fixed.
* After the team feels the release branch is stable and everything works, create a full release:
* update `CHANGELOG.md`.
* run `gofumpt -w -l .` to format the code.
* create a new annotated git tag (eg `git -a v1.1.0`) in the release branch.
* Create a GitHub release.
See the [Releases document](./RELEASES.md) for more information on the versioning scheme.
## Patch Release Procedure
A _patch release_ is an increment of the patch number (eg: `v1.2.0``v1.2.1`).
**Patch release must not break API nor consensus.**
Updates to the release branch should come from `main` by backporting PRs (usually done by automatic cherry pick followed by a PRs to the release branch). The backports must be marked using `backport/Y` label in PR for main.
It is the PR author's responsibility to fix merge conflicts, update changelog entries, and
ensure CI passes. If a PR originates from an external contributor, a core team member assumes
responsibility to perform this process instead of the original author.
Lastly, it is core team's responsibility to ensure that the PR meets all the SRU criteria.
Point Release must follow the [Stable Release Policy](#stable-release-policy).
After the release branch has all commits required for the next patch release:
* Update `CHANGELOG.md` and `RELEASE_NOTES.md` (if applicable).
* Create a new annotated git tag (eg `git -a v1.1.0`) in the release branch.
* If the release is a submodule update, first go to the submodule folder and name the tag prepending the path to the version:
`cd core && git -a core/v1.1.0` or `cd tools/cosmovisor && git -a tools/cosmovisor/v1.4.0`
* Create a GitHub release (if applicable).
## Major Release Maintenance
Major Release series continue to receive bug fixes (released as a Patch Release) until they reach **End Of Life**.
Major Release series is maintained in compliance with the **Stable Release Policy** as described in this document.
Only the following major release series have a stable release status:
* **0.47** is the previous major release and is supported until the release of **0.52.0**. A fairly strict **bugfix-only** rule applies to pull requests that are requested to be included into a not latest stable point-release.
* **0.50** is the last major release and is supported until the release of **0.54.0**.
The SDK team maintains the last two major releases, any other major release is considered to have reached end of life.
The SDK team will not backport any bug fixes to releases that are not supported.
Widely-used (decided at SDK team's discretion) unsupported releases are considered to be in a security maintenance mode. The SDK team will backport security fixes to these releases.
## Stable Release Policy
### Patch Releases
Once a Cosmos-SDK release has been completed and published, updates for it are released under certain circumstances
and must follow the [Patch Release Procedure](CONTRIBUTING.md#branching-model-and-release).
### Rationale
Unlike in-development `main` branch snapshots, **Cosmos SDK** releases are subject to much wider adoption,
and by a significantly different demographic of users. During development, changes in the `main` branch
affect SDK users, application developers, early adopters, and other advanced users that elect to use
unstable experimental software at their own risk.
Conversely, users of a stable release expect a high degree of stability. They build their applications on it, and the
problems they experience with it could be potentially highly disruptive to their projects.
Stable release updates are recommended to the vast majority of developers, and so it is crucial to treat them
with great caution. Hence, when updates are proposed, they must be accompanied by a strong rationale and present
a low risk of regressions, i.e. even one-line changes could cause unexpected regressions due to side effects or
poorly tested code. We never assume that any change, no matter how little or non-intrusive, is completely exempt
of regression risks.
Therefore, the requirements for stable changes are different than those that are candidates to be merged in
the `main` branch. When preparing future major releases, our aim is to design the most elegant, user-friendly and
maintainable SDK possible which often entails fundamental changes to the SDK's architecture design, rearranging and/or
renaming packages as well as reducing code duplication so that we maintain common functions and data structures in one
place rather than leaving them scattered all over the code base. However, once a release is published, the
priority is to minimize the risk caused by changes that are not strictly required to fix qualifying bugs; this tends to
be correlated with minimizing the size of such changes. As such, the same bug may need to be fixed in different
ways in stable releases and `main` branch.
### Migrations
See the SDK's policy on migrations [here](https://docs.cosmos.network/main/migrations/intro).
### What qualifies as a Stable Release Update (SRU)
* **High-impact bugs**
* Bugs that may directly cause a security vulnerability.
* _Severe regressions_ from a Cosmos-SDK's previous release. This includes all sort of issues
that may cause the core packages or the `x/` modules unusable.
* Bugs that may cause **loss of user's data**.
* Other safe cases:
* Bugs which don't fit in the aforementioned categories for which an obvious safe patch is known.
* Relatively small yet strictly non-breaking features with strong support from the community.
* Relatively small yet strictly non-breaking changes that introduce forward-compatible client
features to smoothen the migration to successive releases.
* Relatively small yet strictly non-breaking CLI improvements.
### What does not qualify as SRU
* State machine changes.
* Breaking changes in Protobuf definitions, as specified in [ADR-044](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-044-protobuf-updates-guidelines.md).
* Changes that introduce API breakages (e.g. public functions and interfaces removal/renaming).
* Client-breaking changes in gRPC and HTTP request and response types.
* CLI-breaking changes.
* Cosmetic fixes, such as formatting or linter warning fixes.
### What pull requests will be included in stable point-releases
Pull requests that fix bugs and add features that fall in the following categories do not require a **Stable Release Exception** to be granted to be included in a stable point-release:
* **Severe regressions**.
* Bugs that may cause **client applications** to be **largely unusable**.
* Bugs that may cause **state corruption or data loss**.
* Bugs that may directly or indirectly cause a **security vulnerability**.
* Non-breaking features that are strongly requested by the community.
* Non-breaking CLI improvements that are strongly requested by the community.
### What pull requests will NOT be automatically included in stable point-releases
As rule of thumb, the following changes will **NOT** be automatically accepted into stable point-releases:
* **State machine changes**.
* **Protobug-breaking changes**, as specified in [ADR-044](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-044-protobuf-updates-guidelines.md).
* **Client-breaking changes**, i.e. changes that prevent gRPC, HTTP and RPC clients to continue interacting with the node without any change.
* **API-breaking changes**, i.e. changes that prevent client applications to _build without modifications_ to the client application's source code.
* **CLI-breaking changes**, i.e. changes that require usage changes for CLI users.
In some circumstances, PRs that don't meet the aforementioned criteria might be raised and asked to be granted a _Stable Release Exception_.
### Stable Release Exception - Procedure
1. Check that the bug is either fixed or not reproducible in `main`. It is, in general, not appropriate to release bug fixes for stable releases without first testing them in `main`. Please apply the label [v0.43](https://github.com/cosmos/cosmos-sdk/milestone/26) to the issue.
2. Add a comment to the issue and ensure it contains the following information (see the bug template below):
* **[Impact]** An explanation of the bug on users and justification for backporting the fix to the stable release.
* A **[Test Case]** section containing detailed instructions on how to reproduce the bug.
* A **[Regression Potential]** section with a clear assessment on how regressions are most likely to manifest as a result of the pull request that aims to fix the bug in the target stable release.
3. **Stable Release Managers** will review and discuss the PR. Once _consensus_ surrounding the rationale has been reached and the technical review has successfully concluded, the pull request will be merged in the respective point-release target branch (e.g. `release/v0.43.x`) and the PR included in the point-release's respective milestone (e.g. `v0.43.5`).
#### Stable Release Exception - Bug template
```md
#### Impact
Brief explanation of the effects of the bug on users and a justification for backporting the fix to the stable release.
#### Test Case
Detailed instructions on how to reproduce the bug on Stargate's most recently published point-release.
#### Regression Potential
Explanation of how regressions might manifest - even if it's unlikely.
It is assumed that stable release fixes are well-tested and they come with a low risk of regressions.
It's crucial to make the effort of thinking about what could happen in case a regression emerges.
```
### Stable Release Managers
The **Stable Release Managers** evaluate and approve or reject updates and backports to Cosmos SDK Stable Release series,
according to the [stable release policy](#stable-release-policy) and [release procedure](#major-release-procedure).
Decisions are made by consensus.
Their responsibilities include:
* Driving the Stable Release Exception process.
* Approving/rejecting proposed changes to a stable release series.
* Executing the release process of stable point-releases in compliance with the [Point Release Procedure](CONTRIBUTING.md).
Currently residing Stable Release Managers:
* @tac0turtle - Marko Baricevic
* @julienrbrt - Julien Robert
## Cosmos SDK Modules
The Cosmos SDK repository is a mono-repo where its Go modules have a different release process and cadence than the Cosmos SDK itself.
There are two types of modules:
1. Modules that import the Cosmos SDK and depend on a specific version of it.
* Modules to be imported in an app (e.g `x/` modules).
* Modules that are not imported into an app and are a standalone module (e.g. `cosmovisor`).
2. Modules that do not depend on the Cosmos SDK.
The same changelog procedure applies to all modules in the Cosmos SDK repository, and must be up-to-date with the latest changes before tagging a module version.
Note: The Cosmos SDK team is in an active process of limiting Go modules that depend on the Cosmos SDK.
### Modules that depend on the Cosmos SDK
The Cosmos SDK team should strive to release modules that depend on the Cosmos SDK at the same time or soon after a major version Cosmos SDK itself.
Those modules can be considered as part of the Cosmos SDK, but features and improvements are released at a different cadence.
* When a module is supposed to be used in an app (e.g `x/` modules), due to the dependency on the SDK, tagging a new version of a module must be done from a Cosmos SDK release branch. A compatibility matrix must be provided in the `README.md` of that module with the corresponding versions.
* Modules that import the SDK but do not need to be imported in an app (`e.g. cosmovisor`) must be released from the `main` branch and follow the process defined below.
> [!IMPORTANT]
> A module depending on a non stabilized version of `github.com/cosmos/cosmos-sdk` (any version prior to the removal of baseapp, runtime, server) SHOULD NOT be tagged following semver.
> For instance, modules are still using 0ver until the main `github.com/cosmos/cosmos-sdk` has stabilized.
### Modules that do not depend on the Cosmos SDK
Modules that do not depend on the Cosmos SDK can be released at any time from the `main` branch of the Cosmos SDK repository.
## Go Monorepo Branching Strategy
The Cosmos SDK uses a monorepo structure with multiple Go modules. Some components are tagged from the main branch, while others are tagged from release branches, as described above.
Here's the strategy for managing this structure:
All modules that do not depend on the Cosmos SDK and tagged from main in a release branch **must be removed from the release branch**.
There are two exceptions to this rule, due to the stabilization of core v1: `cosmossdk.io/x/tx` and `cosmossdk.io/store` are still tagged from the `release/v0.50.x` branch for `v0.50.x` releases.
### Rationale
This strategy provides several benefits:
1. Clean separation: Release branches only contain components that are actually released from those branches.
2. Avoid confusion: Prevents having outdated versions of standalone go modules in release branches.
3. Accurate representation: The release branch accurately represents what's being released from that branch.
4. Consistency: Aligns with the tagging strategy - components tagged from main aren't in release branches, and vice versa.
### Additional Considerations
* When backporting changes, be aware that standalone go modules changes will not be present in release branches.
* To reference the full state of the SDK at the time of branching, consider creating a separate tag on main at the point where each release branch is created.
* Ensure thorough testing of the release branch structure to avoid any integration issues.
This branching strategy helps maintain a clear separation between components tagged from main and those tagged from release branches, while ensuring that release branches accurately represent the state of components that depend on the SDK.
+270
View File
@@ -0,0 +1,270 @@
# Roadmap 2023
Welcome to the Cosmos SDK's team roadmap.
> This document is meant to help the team get feedback on the proposed work and for others to follow where we stand in our process. This will be a living document updated on a regular basis. If you'd like to participate in any workscope or would like to suggest another feature please reach out to [Marko](mailto:marko@binary.builders) or [Sam](mailto:sam@binary.builders) and we will schedule a call to discuss the feature request.
## Q1
### Storage
* [x] [Produce a spec for the new store design](https://github.com/cosmos/cosmos-sdk/issues/12986)
* Research a new design for store. This could entail writing some POC's in order to identify design patterns
* [x] Store as its own go module
* Store module should be its own go.mod without a dependency on the Cosmos SDK
* [ ] [Begin implementation of store v2](https://github.com/cosmos/cosmos-sdk/pull/15028)
* Identify the migration path from store v1 -> store v2
* [ ] Parallel execution of state
* RFC/ADR is merged into the main on the sdk
* [ ] Optimistic execution
* RFC/ADR is merged into main on the sdk
### Client UX
* [x] Release v1 of query support (auto-cli)
* A version of query support has been merged, documentation is missing
* [ ] Dynamic metadata support
* Dynamic support allows the Cosmos SDK to release a cmd line tool that could work with any chain.
* Add metadata support to latest version of Cosmos SDK and, if possible, backport to older versions
* [x] Multi-chain command **(Done)**
* Release a cmd line tool that can be pointed a grpc endpoint which then can produce cmd lines to interact with the chain
* [x] Auto-cli tx support
* Tx support for auto-cli/hubl
* This would fully remove the need for application developers to write cli commands for their modules
* [ ] [Consensus Key Rotation](https://github.com/cosmos/cosmos-sdk/issues/5231)
### Dev UX
* [x] [Release collections v0.1](https://github.com/cosmos/cosmos-sdk/issues/14300)
* Collections is a new abstraction layer similar to the ORM. In the ADR phase it received support from many in the ecosystem.
* V1 release should allow modules to be migrated to collections.
* Migrate 3 modules to use collections api
* Migrating 3 modules to use collections would help in show users how to migrate users
* [ ] [Release ORM v1](https://github.com/cosmos/cosmos-sdk/issues/11088)
* [x] [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970)
* Sign mode textual has been under construction for 2 quarters now, this quarter the goal is to move towards v1 and potentially line up an audit before final release.
* [x] Core API
* [Merge ADR for Core API](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-063-core-module-api.md)
* Migrate three modules to use core api
* [x] Module Dependency
* Give three modules their own go.mods
* [ ] [Metamask signing directly into the sdk](https://github.com/cosmos/cosmos-sdk/discussions/13892)
* [ ] [ADR-033 (internal message routing)](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-033-protobuf-inter-module-comm.md)
* Merge internal message router
* Add docs on how to use the router
* [x] [ADR-54 (dependency management)](https://github.com/cosmos/cosmos-sdk/pull/11802)
* Come to consensus on module dependency graph for the future
* Begin socializing conventions
* [ ] [Remove global bech32](https://github.com/cosmos/cosmos-sdk/issues/13140)
* [x] [Auth module](https://github.com/cosmos/cosmos-sdk/issues/14900)
* Produce a spec/ADR on a proposed new auth module.
* [x] [Implement Amino Json encoder](https://github.com/cosmos/cosmos-sdk/issues/10993)
### Testing
* [x] [integration testing framework](https://github.com/cosmos/cosmos-sdk/issues/14145)
* design and merge an integration testing framework.
* The goals of the framework would that a module only needs to depend on modules that it depends on outside of testing, not all modules in the sdk like today.
### ABCI 2.0
Issue: https://github.com/cosmos/cosmos-sdk/issues/12272
* [x] [ADR ABCI 2.0](https://github.com/cosmos/cosmos-sdk/issues/14674)
* Write ADR for integration of vote extensions & finalize block
**Blocked**:
> once cometBFT has a release candidate of ABCI 2.0 (cmt 0.38)
* Integrate ABCI 2.0
### Security
* [ ] [Circuit breaker](https://github.com/cosmos/cosmos-sdk/issues/14226)
* Implement the circuit breaker module and prepare releases for Cosmos SDK versions 0.45, 0.46 and 0.47
### IAVL
* [x] [ADR 001](https://github.com/cosmos/iavl/pull/608)
* Implementation has been completed, waiting on reviewers
* [x] [Prepare the migration path](https://github.com/cosmos/iavl/issues/675)
* Migration path has not been finalized
* [ ] Test on mainnets
* If possible we would like to test the new IAVL design on mainnets to observer behavior changes.
Issue: https://github.com/cosmos/iavl/issues/548
## Q2
### Storage
* [ ] [Storage v2](https://github.com/cosmos/cosmos-sdk/issues/12986)
* Objective:
* Goal is to get 60% of the way through the rewrite of storage
* Begin testing the rewrite on mainnets if possible
* External Audit
* Progress:
* On pause till ABCI 2.0 ships
* [ ] [Optimistic Execution](https://github.com/cosmos/cosmos-sdk/issues/15365)
* Objective:
* Users should be able to pick between delayed execution and optimistic
* RFC/ADR is merged
* Implementation started.
* Progress:
* On pause till ABCI 2.0 is merged
### Client UX
* [ ] Hubl/AutoCLI
* Objective:
* Allow users to sign and submit transactions using hubl
* Add module support for autocli
* Deprecate/remove legacy cli (optional)
* Progress:
* Signing support is being refactored and is near completion
* Adapting modules to use autocli instead of manually written cli
* [ ] [Consensus Key Rotation](https://github.com/cosmos/cosmos-sdk/issues/5231)
* Objective:
* Allow users to rotate consensus keys for their validators
* Progress
* Merge pull request and updated ADR into main
* [ ] [Operator key rotation](https://github.com/cosmos/cosmos-sdk/issues/3863)
* Objective:
* Allow users to rotate operator keys for their validators
* Progress:
* secondary val index was added to support operator key rotation
* Pr is open and is being worked on
### Dev UX
* Toolkit/SDK ADR.
* Objective:
* Produce a RFC/ADR on how to make core composable
* Merge RFC/ADR into main
* Progress:
* on pause until abci 2.0 integration is completed
* Adopt core api fully in modules
* Objective:
* Remove the Cosmos SDK and Comet as a dependency from all modules
* Release v1 of modules that have their dependency graph cleaned up
* Spin out 4 more modules into their own go.mods
* Progress:
* Core api has been integrated into all modules
* KvStoreService is being added to all modules
* [ ] [Remove global bech32](https://github.com/cosmos/cosmos-sdk/issues/13140)
* Objective:
* Deprecate global bech32 setting
* Progress:
* All modules except bank use the `address.Codec`
* [ ] Make sdk.Msg only be `proto.message`
* Objectives:
* Reduce sdk.Msg to only be proto.message
* Reduce boilerplate in `msgs.go`
* Progress:
* [x] [Make ValidateBasic Optional](https://github.com/cosmos/cosmos-sdk/issues/15648)
* [ ] [Make GetSigners be optional](https://github.com/cosmos/cosmos-sdk/issues/15677)
* [ ] Remove GetsignBytes for legacy amino encoding
* [ ] [Collections](https://github.com/cosmos/cosmos-sdk/issues/14300)
* Objectives
* Migrate all modules
* Add query support
* Add schema support
* Progress:
* We have migrated three modules
### ABCI 2.0
* [ ] [ABCI 2.0](https://github.com/cosmos/cosmos-sdk/issues/12272)
* Objectives:
* Integrate comet 0.38
* QA
* Progress:
* Integration has started
### Testing
* [ ] [Integration framework](https://github.com/cosmos/cosmos-sdk/issues/14145)
* Objectives:
* Migrate all modules
* Progress:
* We have migrated 2-4 modules currently
### Modules
* [ ] [Invariant Checking](https://github.com/cosmos/cosmos-sdk/issues/15706)
* Objective:
* Design a new system for checking invariants
* Implement changes
* Audit current invariants
* Progress:
* NA
* [ ] [Accounts](https://github.com/cosmos/cosmos-sdk/issues/14900)
* Objective:
* Allow users to use account abstractions
* Implementation is completed
* External Audit is scheduled (if needed)
* Progress:
* RFC/ADR is in review
### Research
* [ ] Commitment Structure
* Objective:
* Identify different commitment structures that could be used in the sdk and how they would be plugged (highlevel)
* Progress:
* Conversations in slack have started
* [ ] Cross lang
* Objective:
* Answer, what is needed to support many languages
* Answer, what sort of encoding of passing between the cgo/ffi boundary
* Progress:
* working group is meeting bi weekly
* ADR/RFC is in review
## Q3
### Storage
* Audit & release of storage refactor
* Identify further optimizations for storage
* Goal is to identify the next bottlenecks in storage or the state machine
### Dev UX
* Complete Toolkit/SDK implementation refactor
* Goal is to release the new version of the sdk allowing for further composability
* Implement fee market abstractions
* Goal is to release an alpha version of fee market abstractions
### Modules
* Governance
* Make gov and groups composable with each other, not duplicate
* Staking
* Research a new staking design
* Begin Implementation
### Research
* Nonce Lanes
* Goal is to produce a spec and/or viability of using lanes for nonces instead of a single sequence number.
## Q4
### Research
* Stateless clients
* research how stateless clients could evolve in cosmos
This document will be updated at the end of the quarter on what was achieved and what was not. Shortly before the quarter concludes a new section will be added for the next quarter. We are working on updating the complete one year roadmap and will be posting it here as well.
+17 -20
View File
@@ -21,26 +21,17 @@ the vulnerability can be reproduced on either one of those.
## Reporting a Vulnerability
| Reporting methods |
|---------------------------------------------------------------|
| [GitHub Private Vulnerability Reporting][gh-private-advisory] |
| [HackerOne bug bounty program][h1] |
| Reporting methods | Bounty eligible |
|---------------------------------------------------------------|-----------------|
| [HackerOne program][h1] | yes |
| [security@interchain.io](mailto:security@interchain.io) | no |
All security vulnerabilities can be reported under GitHub's [Private
vulnerability reporting][gh-private-advisory] system. This will open a private
issue for the developers. Try to fill in as much of the questions as possible.
If you are not familiar with the CVSS system for assessing vulnerabilities, just
use the Low/High/Critical severity ratings. A partially filled in report for a
critical vulnerability is still better than no report at all.
Issues identified in this repository may be eligible for a [bug bounty][h1]. For your report to be bounty
eligible it must be reported exclusively through the [HackerOne Bug Bounty][h1].
Vulnerabilities associated with the **Go, Rust or Protobuf code** of the
repository may be eligible for a [bug bounty][h1]. Please see the bug bounty
page for more details on submissions and rewards. If you think the vulnerability
is eligible for a payout, **report on HackerOne first**.
Vulnerabilities in services and their source codes (JavaScript, web page, Google
Workspace) are not in scope for the bug bounty program, but they are welcome to
be reported in GitHub.
If you do not wish to be eligible for a bounty or do not want to use the HackerOne platform to report an
issue, please send your report via email to [security@interchain.io](mailto:security@interchain.io) with
reproduction steps and details of the issue.
### Guidelines
@@ -66,7 +57,13 @@ If you follow these guidelines when reporting an issue to us, we commit to:
### More information
* See [Maintenance and Security](https://github.com/cosmos/security) for detailed policies.
* See [TIMELINE.md] for an example timeline of a disclosure.
* See [DISCLOSURE.md] to see more into the inner workings of the disclosure
process.
* See [EXAMPLES.md] for some of the examples that we are interested in for the
bug bounty program.
[gh-private-advisory]: /../../security/advisories/new
[h1]: https://hackerone.com/cosmos
[TIMELINE.md]: https://github.com/cosmos/security/blob/main/TIMELINE.md
[DISCLOSURE.md]: https://github.com/cosmos/security/blob/main/DISCLOSURE.md
[EXAMPLES.md]: https://github.com/cosmos/security/blob/main/EXAMPLES.md
-503
View File
@@ -1,503 +0,0 @@
# Upgrade Guide
This document provides a full guide for upgrading a Cosmos SDK chain from `v0.50.x` to `v0.53.x`.
This guide includes one **required** change and three **optional** features.
After completing this guide, applications will have:
* The `x/protocolpool` module
* The `x/epochs` module
* Unordered Transaction support
## Table of Contents
* [App Wiring Changes (REQUIRED)](#app-wiring-changes-required)
* [Adding ProtocolPool Module (OPTIONAL)](#adding-protocolpool-module-optional)
* [ProtocolPool Manual Wiring](#protocolpool-manual-wiring)
* [ProtocolPool DI Wiring](#protocolpool-di-wiring)
* [Adding Epochs Module (OPTIONAL)](#adding-epochs-module-optional)
* [Epochs Manual Wiring](#epochs-manual-wiring)
* [Epochs DI Wiring](#epochs-di-wiring)
* [Enable Unordered Transactions (OPTIONAL)](#enable-unordered-transactions-optional)
* [Upgrade Handler](#upgrade-handler)
## App Wiring Changes **REQUIRED**
The `x/auth` module now contains a `PreBlocker` that _must_ be set in the module manager's `SetOrderPreBlockers` method.
```go
app.ModuleManager.SetOrderPreBlockers(
upgradetypes.ModuleName,
authtypes.ModuleName, // NEW
)
```
## Adding ProtocolPool Module **OPTIONAL**
:::warning
Using an external community pool such as `x/protocolpool` will cause the following `x/distribution` handlers to return an error:
**QueryService**
* `CommunityPool`
**MsgService**
* `CommunityPoolSpend`
* `FundCommunityPool`
If your services depend on this functionality from `x/distribution`, please update them to use either `x/protocolpool` or your custom external community pool alternatives.
:::
### Manual Wiring
Import the following:
```go
import (
// ...
"github.com/cosmos/cosmos-sdk/x/protocolpool"
protocolpoolkeeper "github.com/cosmos/cosmos-sdk/x/protocolpool/keeper"
protocolpooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
)
```
Set the module account permissions.
```go
maccPerms = map[string][]string{
// ...
protocolpooltypes.ModuleName: nil,
protocolpooltypes.ProtocolPoolEscrowAccount: nil,
}
```
Add the protocol pool keeper to your application struct.
```go
ProtocolPoolKeeper protocolpoolkeeper.Keeper
```
Add the store key:
```go
keys := storetypes.NewKVStoreKeys(
// ...
protocolpooltypes.StoreKey,
)
```
Instantiate the keeper.
Make sure to do this before the distribution module instantiation, as you will pass the keeper there next.
```go
app.ProtocolPoolKeeper = protocolpoolkeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(keys[protocolpooltypes.StoreKey]),
app.AccountKeeper,
app.BankKeeper,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
)
```
Pass the protocolpool keeper to the distribution keeper:
```go
app.DistrKeeper = distrkeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(keys[distrtypes.StoreKey]),
app.AccountKeeper,
app.BankKeeper,
app.StakingKeeper,
authtypes.FeeCollectorName,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
distrkeeper.WithExternalCommunityPool(app.ProtocolPoolKeeper), // NEW
)
```
Add the protocolpool module to the module manager:
```go
app.ModuleManager = module.NewManager(
// ...
protocolpool.NewAppModule(appCodec, app.ProtocolPoolKeeper, app.AccountKeeper, app.BankKeeper),
)
```
Add an entry for SetOrderBeginBlockers, SetOrderEndBlockers, SetOrderInitGenesis, and SetOrderExportGenesis.
```go
app.ModuleManager.SetOrderBeginBlockers(
// must come AFTER distribution.
distrtypes.ModuleName,
protocolpooltypes.ModuleName,
)
```
```go
app.ModuleManager.SetOrderEndBlockers(
// order does not matter.
protocolpooltypes.ModuleName,
)
```
```go
app.ModuleManager.SetOrderInitGenesis(
// order does not matter.
protocolpooltypes.ModuleName,
)
```
```go
app.ModuleManager.SetOrderInitGenesis(
protocolpooltypes.ModuleName, // must be exported before bank.
banktypes.ModuleName,
)
```
### DI Wiring
Note: _as long as an external community pool keeper (here, `x/protocolpool`) is wired in DI configs, `x/distribution` will automatically use it for its external pool._
First, set up the keeper for the application.
Import the protocolpool keeper:
```go
protocolpoolkeeper "github.com/cosmos/cosmos-sdk/x/protocolpool/keeper"
```
Add the keeper to your application struct:
```go
ProtocolPoolKeeper protocolpoolkeeper.Keeper
```
Add the keeper to the depinject system:
```go
depinject.Inject(
appConfig,
&appBuilder,
&app.appCodec,
&app.legacyAmino,
&app.txConfig,
&app.interfaceRegistry,
// ... other modules
&app.ProtocolPoolKeeper, // NEW MODULE!
)
```
Next, set up configuration for the module.
Import the following:
```go
import (
protocolpoolmodulev1 "cosmossdk.io/api/cosmos/protocolpool/module/v1"
_ "github.com/cosmos/cosmos-sdk/x/protocolpool" // import for side-effects
protocolpooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
)
```
The protocolpool module has module accounts that handle funds. Add them to the module account permission configuration:
```go
moduleAccPerms = []*authmodulev1.ModuleAccountPermission{
// ...
{Account: protocolpooltypes.ModuleName},
{Account: protocolpooltypes.ProtocolPoolEscrowAccount},
}
```
Next, add an entry for BeginBlockers, EndBlockers, InitGenesis, and ExportGenesis.
```go
BeginBlockers: []string{
// ...
// must be AFTER distribution.
distrtypes.ModuleName,
protocolpooltypes.ModuleName,
},
```
```go
EndBlockers: []string{
// ...
// order for protocolpool does not matter.
protocolpooltypes.ModuleName,
},
```
```go
InitGenesis: []string{
// ... must be AFTER distribution.
distrtypes.ModuleName,
protocolpooltypes.ModuleName,
},
```
```go
ExportGenesis: []string{
// ...
// Must be exported before x/bank.
protocolpooltypes.ModuleName,
banktypes.ModuleName,
},
```
Lastly, add an entry for protocolpool in the ModuleConfig.
```go
{
Name: protocolpooltypes.ModuleName,
Config: appconfig.WrapAny(&protocolpoolmodulev1.Module{}),
},
```
## Adding Epochs Module **OPTIONAL**
### Manual Wiring
Import the following:
```go
import (
// ...
"github.com/cosmos/cosmos-sdk/x/epochs"
epochskeeper "github.com/cosmos/cosmos-sdk/x/epochs/keeper"
epochstypes "github.com/cosmos/cosmos-sdk/x/epochs/types"
)
```
Add the epochs keeper to your application struct:
```go
EpochsKeeper epochskeeper.Keeper
```
Add the store key:
```go
keys := storetypes.NewKVStoreKeys(
// ...
epochstypes.StoreKey,
)
```
Instantiate the keeper:
```go
app.EpochsKeeper = epochskeeper.NewKeeper(
runtime.NewKVStoreService(keys[epochstypes.StoreKey]),
appCodec,
)
```
Set up hooks for the epochs keeper:
To learn how to write hooks for the epoch keeper, see the [x/epoch README](https://github.com/cosmos/cosmos-sdk/blob/main/x/epochs/README.md)
```go
app.EpochsKeeper.SetHooks(
epochstypes.NewMultiEpochHooks(
// insert epoch hooks receivers here
app.SomeOtherModule
),
)
```
Add the epochs module to the module manager:
```go
app.ModuleManager = module.NewManager(
// ...
epochs.NewAppModule(appCodec, app.EpochsKeeper),
)
```
Add entries for SetOrderBeginBlockers and SetOrderInitGenesis:
```go
app.ModuleManager.SetOrderBeginBlockers(
// ...
epochstypes.ModuleName,
)
```
```go
app.ModuleManager.SetOrderInitGenesis(
// ...
epochstypes.ModuleName,
)
```
### DI Wiring
First, set up the keeper for the application.
Import the epochs keeper:
```go
epochskeeper "github.com/cosmos/cosmos-sdk/x/epochs/keeper"
```
Add the keeper to your application struct:
```go
EpochsKeeper epochskeeper.Keeper
```
Add the keeper to the depinject system:
```go
depinject.Inject(
appConfig,
&appBuilder,
&app.appCodec,
&app.legacyAmino,
&app.txConfig,
&app.interfaceRegistry,
// ... other modules
&app.EpochsKeeper, // NEW MODULE!
)
```
Next, set up configuration for the module.
Import the following:
```go
import (
epochsmodulev1 "cosmossdk.io/api/cosmos/epochs/module/v1"
_ "github.com/cosmos/cosmos-sdk/x/epochs" // import for side-effects
epochstypes "github.com/cosmos/cosmos-sdk/x/epochs/types"
)
```
Add an entry for BeginBlockers and InitGenesis:
```go
BeginBlockers: []string{
// ...
epochstypes.ModuleName,
},
```
```go
InitGenesis: []string{
// ...
epochstypes.ModuleName,
},
```
Lastly, add an entry for epochs in the ModuleConfig:
```go
{
Name: epochstypes.ModuleName,
Config: appconfig.WrapAny(&epochsmodulev1.Module{}),
},
```
## Enable Unordered Transactions **OPTIONAL**
To enable unordered transaction support on an application, the `x/auth` keeper must be supplied with the `WithUnorderedTransactions` option.
Note that unordered transactions require sequence values to be zero, and will **FAIL** if a non-zero sequence value is set.
Please ensure no sequence value is set when submitting an unordered transaction.
Services that rely on prior assumptions about sequence values should be updated to handle unordered transactions.
Services should be aware that when the transaction is unordered, the transaction sequence will always be zero.
```go
app.AccountKeeper = authkeeper.NewAccountKeeper(
appCodec,
runtime.NewKVStoreService(keys[authtypes.StoreKey]),
authtypes.ProtoBaseAccount,
maccPerms,
authcodec.NewBech32Codec(sdk.Bech32MainPrefix),
sdk.Bech32MainPrefix,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
authkeeper.WithUnorderedTransactions(true), // new option!
)
```
If using dependency injection, update the auth module config.
```go
{
Name: authtypes.ModuleName,
Config: appconfig.WrapAny(&authmodulev1.Module{
Bech32Prefix: "cosmos",
ModuleAccountPermissions: moduleAccPerms,
EnableUnorderedTransactions: true, // remove this line if you do not want unordered transactions.
}),
},
```
By default, unordered transactions use a transaction timeout duration of 10 minutes and a default gas charge of 2240 gas units.
To modify these default values, pass in the corresponding options to the new `SigVerifyOptions` field in `x/auth's` `ante.HandlerOptions`.
```go
options := ante.HandlerOptions{
SigVerifyOptions: []ante.SigVerificationDecoratorOption{
// change below as needed.
ante.WithUnorderedTxGasCost(ante.DefaultUnorderedTxGasCost),
ante.WithMaxUnorderedTxTimeoutDuration(ante.DefaultMaxTimeoutDuration),
},
}
```
```go
anteDecorators := []sdk.AnteDecorator{
// ... other decorators ...
ante.NewSigVerificationDecorator(options.AccountKeeper, options.SignModeHandler, options.SigVerifyOptions...), // supply new options
}
```
## Upgrade Handler
The upgrade handler only requires adding the store upgrades for the modules added above.
If your application is not adding `x/protocolpool` or `x/epochs`, you do not need to add the store upgrade.
```go
// UpgradeName defines the on-chain upgrade name for the sample SimApp upgrade
// from v050 to v053.
//
// NOTE: This upgrade defines a reference implementation of what an upgrade
// could look like when an application is migrating from Cosmos SDK version
// v0.50.x to v0.53.x.
const UpgradeName = "v050-to-v053"
func (app SimApp) RegisterUpgradeHandlers() {
app.UpgradeKeeper.SetUpgradeHandler(
UpgradeName,
func(ctx context.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
return app.ModuleManager.RunMigrations(ctx, app.Configurator(), fromVM)
},
)
upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk()
if err != nil {
panic(err)
}
if upgradeInfo.Name == UpgradeName && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
storeUpgrades := storetypes.StoreUpgrades{
Added: []string{
epochstypes.ModuleName, // if not adding x/epochs to your chain, remove this line.
protocolpooltypes.ModuleName, // if not adding x/protocolpool to your chain, remove this line.
},
}
// configure store loader that checks if version == upgradeHeight and applies store upgrades
app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &storeUpgrades))
}
}
```
+487 -51
View File
@@ -1,77 +1,513 @@
# Upgrade Reference
# Upgrading Cosmos SDK
This document provides a quick reference for the upgrades from `v0.53.x` to `v0.54.x` of Cosmos SDK.
This guide provides instructions for upgrading to specific versions of Cosmos SDK.
Note, always read the **SimApp** section for more information on application wiring updates.
Note, always read the **App Wiring Changes** section for more information on application wiring updates.
## [v0.52.x](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.52.0-alpha.0)
## TLDR
For a full list of changes, see the [Changelog](https://github.com/cosmos/cosmos-sdk/blob/release/v0.54.x/CHANGELOG.md).
### SimApp
## x/gov
In this section we describe the changes made in Cosmos SDK' SimApp.
**These changes are directly applicable to your application wiring.**
Please read this section first, but for an exhaustive list of changes, refer to the [CHANGELOG](https://github.com/cosmos/cosmos-sdk/blob/release/v0.52.x/simapp/CHANGELOG.md).
### Keeper Initialization
#### Client (`root.go`)
The `x/gov` module has been decoupled from `x/staking`. The `keeper.NewKeeper` constructor now requires a `CalculateVoteResultsAndVotingPowerFn` parameter instead of a `StakingKeeper`.
The `client` package has been refactored to make use of the address codecs (address, validator address, consensus address, etc.)
and address bech32 prefixes (address and validator address).
This is part of the work of abstracting the SDK from the global bech32 config.
**Before:**
```go
govKeeper := keeper.NewKeeper(
cdc,
storeService,
authKeeper,
bankKeeper,
stakingKeeper, // StakingKeeper parameter
distrKeeper,
router,
config,
authority,
)
This means the address codecs and prefixes must be provided in the `client.Context` in the application client (usually `root.go`).
```diff
clientCtx = clientCtx.
+ WithAddressCodec(addressCodec).
+ WithValidatorAddressCodec(validatorAddressCodec).
+ WithConsensusAddressCodec(consensusAddressCodec).
+ WithAddressPrefix("cosmos").
+ WithValidatorPrefix("cosmosvaloper")
```
**After:**
```go
govKeeper := keeper.NewKeeper(
cdc,
storeService,
authKeeper,
bankKeeper,
keeper.NewDefaultCalculateVoteResultsAndVotingPower(stakingKeeper), // Function parameter
distrKeeper,
router,
config,
authority,
)
**When using `depinject` / `app_di`, the client codecs can be provided directly from application config.**
Refer to SimApp `root.go` for an example with an app di and a legacy app.
Additionally, a simplification of the start command leads to the following change:
```diff
- server.AddCommands(rootCmd, newApp, func(startCmd *cobra.Command) {})
+ server.AddCommands(rootCmd, newApp, server.StartCmdOptions[servertypes.Application]{})
```
For applications using depinject, the governance module now accepts an optional `CalculateVoteResultsAndVotingPowerFn`. If not provided, it will use the `StakingKeeper` (also optional) to create the default function.
#### Server (`app.go`)
### GovHooks Interface
##### Module Manager
The `AfterProposalSubmission` hook now includes the proposer address as a parameter.
The basic module manager has been deleted. It was not necessary anymore and was simplified to use the `module.Manager` directly.
It can be removed from your `app.go`.
For depinject users, it isn't necessary anymore to supply a `map[string]module.AppModuleBasic` for customizing the app module basic instantiation.
The custom parameters (such as genutil message validator or gov proposal handler, or evidence handler) can directly be supplied.
When requiring a module manager in `root.go`, inject `*module.Manager` using `depinject.Inject`.
For non depinject users, simply call `RegisterLegacyAminoCodec` and `RegisterInterfaces` on the module manager:
```diff
-app.BasicModuleManager = module.NewBasicManagerFromManager(...)
-app.BasicModuleManager.RegisterLegacyAminoCodec(legacyAmino)
-app.BasicModuleManager.RegisterInterfaces(interfaceRegistry)
+app.ModuleManager.RegisterLegacyAminoCodec(legacyAmino)
+app.ModuleManager.RegisterInterfaces(interfaceRegistry)
```
Additionally, thanks to the genesis simplification, as explained in [the genesis interface update](#genesis-interface), the module manager `InitGenesis` and `ExportGenesis` methods do not require the codec anymore.
##### gRPC Web
Grpc-web embedded client has been removed from the server. If you would like to use grpc-web, you can use the [envoy proxy](https://www.envoyproxy.io/docs/envoy/latest/start/start). Here's how to set it up:
<details>
<summary>Step by step guide</summary>
1. Install Envoy following the [official installation guide](https://www.envoyproxy.io/docs/envoy/latest/start/install).
2. Create an Envoy configuration file named `envoy.yaml` with the following content:
```yaml
static_resources:
listeners:
- name: listener_0
address:
socket_address: { address: 0.0.0.0, port_value: 8080 }
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match: { prefix: "/" }
route:
cluster: grpc_service
timeout: 0s
max_stream_duration:
grpc_timeout_header_max: 0s
cors:
allow_origin_string_match:
- prefix: "*"
allow_methods: GET, PUT, DELETE, POST, OPTIONS
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
max_age: "1728000"
expose_headers: custom-header-1,grpc-status,grpc-message
http_filters:
- name: envoy.filters.http.grpc_web
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.grpc_web.v3.GrpcWeb
- name: envoy.filters.http.cors
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.cors.v3.Cors
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
clusters:
- name: grpc_service
connect_timeout: 0.25s
type: logical_dns
http2_protocol_options: {}
lb_policy: round_robin
load_assignment:
cluster_name: cluster_0
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 0.0.0.0
port_value: 9090
```
This configuration tells Envoy to listen on port 8080 and forward requests to your gRPC service on port 9090. Note that this configuration is a starting point and can be modified according to your specific needs and preferences. You may need to adjust ports, addresses, or add additional settings based on your particular setup and requirements.
3. Start your Cosmos SDK application, ensuring it's configured to serve gRPC on port 9090.
4. Start Envoy with the configuration file:
```bash
envoy -c envoy.yaml
```
5. If Envoy starts successfully, you should see output similar to this:
```bash
[2024-08-29 10:47:08.753][6281320][info][config] [source/common/listener_manager/listener_manager_impl.cc:930] all dependencies initialized. starting workers
[2024-08-29 10:47:08.754][6281320][info][main] [source/server/server.cc:978] starting main dispatch loop
```
This indicates that Envoy has started and is ready to proxy requests.
6. Update your client applications to connect to Envoy (http://localhost:8080 by default).
</details>
By following these steps, Envoy will handle the translation between gRPC-Web and gRPC, allowing your existing gRPC-Web clients to continue functioning without modifications to your Cosmos SDK application.
To test the setup, you can use a tool like [grpcurl](https://github.com/fullstorydev/grpcurl). For example:
```bash
grpcurl -plaintext localhost:8080 cosmos.base.tendermint.v1beta1.Service/GetLatestBlock
```
##### AnteHandlers
The `GasConsumptionDecorator` and `IncreaseSequenceDecorator` have been merged with the SigVerificationDecorator, so you'll
need to remove them both from your app.go code, they will yield to unresolvable symbols when compiling.
#### Unordered Transactions
The Cosmos SDK now supports unordered transactions. This means that transactions
can be executed in any order and doesn't require the client to deal with or manage
nonces. This also means the order of execution is not guaranteed.
Unordered transactions are automatically enabled when using `depinject` / app di, simply supply the `servertypes.AppOptions` in `app.go`:
```diff
depinject.Supply(
+ // supply the application options
+ appOpts,
// supply the logger
logger,
)
```
<details>
<summary>Step-by-step Wiring </summary>
If you are still using the legacy wiring, you must enable unordered transactions manually:
* Update the `App` constructor to create, load, and save the unordered transaction
manager.
```go
func NewApp(...) *App {
// ...
// create, start, and load the unordered tx manager
utxDataDir := filepath.Join(cast.ToString(appOpts.Get(flags.FlagHome)), "data")
app.UnorderedTxManager = unorderedtx.NewManager(utxDataDir)
app.UnorderedTxManager.Start()
if err := app.UnorderedTxManager.OnInit(); err != nil {
panic(fmt.Errorf("failed to initialize unordered tx manager: %w", err))
}
}
```
* Add the decorator to the existing AnteHandler chain, which should be as early
as possible.
```go
anteDecorators := []sdk.AnteDecorator{
ante.NewSetUpContextDecorator(),
// ...
ante.NewUnorderedTxDecorator(unorderedtx.DefaultMaxTimeoutDuration, options.TxManager, options.Environment),
// ...
}
return sdk.ChainAnteDecorators(anteDecorators...), nil
```
* If the App has a SnapshotManager defined, you must also register the extension
for the TxManager.
```go
if manager := app.SnapshotManager(); manager != nil {
err := manager.RegisterExtensions(unorderedtx.NewSnapshotter(app.UnorderedTxManager))
if err != nil {
panic(fmt.Errorf("failed to register snapshot extension: %s", err))
}
}
```
* Create or update the App's `Preblocker()` method to call the unordered tx
manager's `OnNewBlock()` method.
```go
...
app.SetPreblocker(app.PreBlocker)
...
func (app *SimApp) PreBlocker(ctx sdk.Context, req *abci.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error) {
app.UnorderedTxManager.OnNewBlock(ctx.BlockTime())
return app.ModuleManager.PreBlock(ctx, req)
}
```
* Create or update the App's `Close()` method to close the unordered tx manager.
Note, this is critical as it ensures the manager's state is written to file
such that when the node restarts, it can recover the state to provide replay
protection.
```go
func (app *App) Close() error {
// ...
// close the unordered tx manager
if e := app.UnorderedTxManager.Close(); e != nil {
err = errors.Join(err, e)
}
return err
}
```
</details>
To submit an unordered transaction, the client must set the `unordered` flag to
`true` and ensure a reasonable `timeout_height` is set. The `timeout_height` is
used as a TTL for the transaction and is used to provide replay protection. See
[ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-transactions.md)
for more details.
#### Sign Mode Textual
With the split of `x/auth/tx/config` in two (x/auth/tx/config as depinject module for txconfig and tx options) and `x/validate`, sign mode textual is no more automatically configured when using runtime (it was previously the case).
For the same instructions than for legacy app wiring to enable sign mode textual (see in v0.50 UPGRADING documentation).
### Depinject `app_config.go` / `app.yml`
With the introduction of [environment in modules](#core-api), depinject automatically creates the environment for all modules.
The 'Environment struct provides essential services](https://docs.cosmos.network/main/learn/advanced/core#environment) to modules including logging, event handling, gas metering, header access, routing, and both KV and memory store services. Given the fields of environment, this means runtime creates a kv store service for all modules by default. It can happen that some modules do not have a store necessary (such as `x/auth/tx` for instance). In this case, the store creation should be skipped in `app_config.go`:
```diff
InitGenesis: []string{
"..."
},
+ // SkipStoreKeys is an optional list of store keys to skip when constructing the
+ // module's keeper. This is useful when a module does not have a store key.
+ SkipStoreKeys: []string{
+ "tx",
+ },
```
### Protobuf
The `cosmossdk.io/api/tendermint` package has been removed as CometBFT now publishes its protos to `buf.build/tendermint` and `buf.build/cometbft`.
There is no longer a need for the Cosmos SDK to host these protos for itself and its dependencies.
That package containing proto v2 generated code, but the SDK now uses [buf generated go SDK instead](https://buf.build/docs/bsr/generated-sdks/go).
If you were depending on `cosmossdk.io/api/tendermint`, please use the buf generated go SDK instead, or ask CometBFT host the generated proto v2 code.
The `codectypes.Any` has moved to `github.com/cosmos/gogoproto/types/any`. Module developers need to update the `buf.gen.gogo.yaml` configuration files by adjusting the corresponding `opt` option to `Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any` for directly mapping the`Any` type to its new location:
```diff
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
+ opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any,Mcosmos/orm/v1/orm.proto=cosmossdk.io/orm
- name: grpc-gateway
out: ..
opt: logtostderr=true,allow_colon_final_segments=true
```
Also, any usages of the interfaces `AnyUnpacker` and `UnpackInterfacesMessage` must be replaced with the interfaces of the same name in the `github.com/cosmos/gogoproto/types/any` package.
### Modules
#### `**all**`
All modules (expect `auth`) were spun out into their own `go.mod`. Replace their imports by `cosmossdk.io/x/{moduleName}`.
##### Core API
Core API has been introduced for modules since v0.47. With the deprecation of `sdk.Context`, we strongly recommend to use the `cosmossdk.io/core/appmodule` interfaces for the modules. This will allow the modules to work out of the box with baseapp, as well as limit their dependencies on the SDK.
Additionally, the `appmodule.Environment` struct is introduced to fetch different services from the application.
This should be used as an alternative to using `sdk.UnwrapContext(ctx)` to fetch the services.
It needs to be passed into a module at instantiation (or depinject will inject the correct environment).
`x/circuit` is used as an example:
**Before:**
```go
func (h MyGovHooks) AfterProposalSubmission(ctx context.Context, proposalID uint64) error {
// implementation
app.CircuitKeeper = circuitkeeper.NewKeeper(runtime.NewEnvironment(runtime.NewKVStoreService(keys[circuittypes.StoreKey]), logger.With(log.ModuleKey, "x/circuit")), appCodec, authtypes.NewModuleAddress(govtypes.ModuleName).String(), app.AuthKeeper.AddressCodec())
```
If your module requires a message server or query server, it should be passed in the environment as well.
```diff
-govKeeper := govkeeper.NewKeeper(appCodec, runtime.NewKVStoreService(keys[govtypes.StoreKey]), app.AuthKeeper, app.BankKeeper,app.StakingKeeper, app.PoolKeeper, app.MsgServiceRouter(), govConfig, authtypes.NewModuleAddress(govtypes.ModuleName).String())
+govKeeper := govkeeper.NewKeeper(appCodec, runtime.NewEnvironment(runtime.NewKVStoreService(keys[govtypes.StoreKey]), logger.With(log.ModuleKey, "x/circuit"), runtime.EnvWithMsgRouterService(app.MsgServiceRouter()), runtime.EnvWithQueryRouterService(app.GRPCQueryRouter())), app.AuthKeeper, app.BankKeeper, app.StakingKeeper, app.PoolKeeper, govConfig, authtypes.NewModuleAddress(govtypes.ModuleName).String())
```
The signature of the extension interface `HasRegisterInterfaces` has been changed to accept a `cosmossdk.io/core/registry.InterfaceRegistrar` instead of a `codec.InterfaceRegistry`. `HasRegisterInterfaces` is now a part of `cosmossdk.io/core/appmodule`. Modules should update their `HasRegisterInterfaces` implementation to accept a `cosmossdk.io/core/registry.InterfaceRegistrar` interface.
```diff
-func (AppModule) RegisterInterfaces(registry codectypes.InterfaceRegistry) {
+func (AppModule) RegisterInterfaces(registry registry.InterfaceRegistrar) {
```
The signature of the extension interface `HasAminoCodec` has been changed to accept a `cosmossdk.io/core/registry.AminoRegistrar` instead of a `codec.LegacyAmino`. Modules should update their `HasAminoCodec` implementation to accept a `cosmossdk.io/core/registry.AminoRegistrar` interface.
```diff
-func (AppModule) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) {
+func (AppModule) RegisterLegacyAminoCodec(registrar registry.AminoRegistrar) {
```
##### Simulation
`MsgSimulatorFn` has been updated to return an error. Its context argument has been removed, and an address.Codec has
been added to avoid the use of the Accounts.String() method.
```diff
-type MsgSimulatorFn func(r *rand.Rand, ctx sdk.Context, accs []Account) sdk.Msg
+type MsgSimulatorFn func(r *rand.Rand, accs []Account, cdc address.Codec) (sdk.Msg, error)
```
The interface `HasProposalMsgs` has been renamed to `HasLegacyProposalMsgs`, as we've introduced a new simulation framework, simpler and easier to use, named [simsx](https://github.com/cosmos/cosmos-sdk/blob/main/simsx/README.md).
##### Depinject
Previously `cosmossdk.io/core` held functions `Invoke`, `Provide` and `Register` were moved to `cosmossdk.io/depinject/appconfig`.
All modules using dependency injection must update their imports.
##### Params
Previous module migrations have been removed. It is required to migrate to v0.50 prior to upgrading to v0.52 for not missing any module migrations.
##### Genesis Interface
All genesis interfaces have been migrated to take `context.Context` instead of `sdk.Context`.
Secondly, the codec is no longer passed in by the framework. The codec is now passed in by the module.
Lastly, all InitGenesis and ExportGenesis functions now return an error.
```go
// InitGenesis performs genesis initialization for the module.
func (am AppModule) InitGenesis(ctx context.Context, data json.RawMessage) error {
}
// ExportGenesis returns the exported genesis state as raw bytes for the module.
func (am AppModule) ExportGenesis(ctx context.Context) (json.RawMessage, error) {
}
```
**After:**
##### Migration to Collections
Most of Cosmos SDK modules have migrated to [collections](https://docs.cosmos.network/main/build/packages/collections).
Many functions have been removed due to this changes as the API can be smaller thanks to collections.
For modules that have migrated, verify you are checking against `collections.ErrNotFound` when applicable.
#### `x/auth`
Vesting accounts messages (and CLIs) have been removed. Existing vesting accounts will keep working but no new vesting accounts can be created.
Use `x/accounts` lockup accounts or implement an `x/accounts` vesting account instead.
#### `x/accounts`
Accounts's AccountNumber will be used as a global account number tracking replacing Auth legacy AccountNumber. Must set accounts's AccountNumber with auth's AccountNumber value in upgrade handler. This is done through auth keeper MigrateAccountNumber function.
```go
func (h MyGovHooks) AfterProposalSubmission(ctx context.Context, proposalID uint64, proposerAddr sdk.AccAddress) error {
// implementation
import authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
...
app.UpgradeKeeper.SetUpgradeHandler(planName,
func(ctx context.Context, _ upgradetypes.Plan, fromVM appmodule.VersionMap) (appmodule.VersionMap, error) {
if err := authkeeper.MigrateAccountNumberUnsafe(ctx, &app.AuthKeeper); err != nil {
return nil, err
}
return app.ModuleManager.RunMigrations(ctx, app.configurator, fromVM)
},
)
```
Add `x/accounts` store while upgrading to v0.52.x:
```go
storetypes.StoreUpgrades{
Added: []string{
accounts.StoreKey,
},
}
```
## Adoption of OpenTelemetry and Deprecation of `github.com/hashicorp/go-metrics`
##### TX Decoder
Existing Cosmos SDK telemetry support is provided by `github.com/hashicorp/go-metrics` which is undermaintained and only supported metrics instrumentation.
OpenTelemetry provides an integrated solution for metrics, traces, and logging which is widely adopted and actively maintained.
The existing wrapper functions in the `telemetry` package required acquiring mutex locks and map lookups for every metric operation which is sub-optimal. OpenTelemetry's API uses atomic concurrency wherever possible and should introduce less performance overhead during metric collection.
In order to support x/accounts properly we need to init a `TxDecoder`, modify your `app.go`:
The [README.md](telemetry/README.md) in the `telemetry` package provides more details on usage, but below is a quick summary:
1. application developers should follow the official [go OpenTelemetry](https://pkg.go.dev/go.opentelemetry.io/otel) guidelines when instrumenting their applications.
2. node operators who want to configure OpenTelemetry exporters should set the `OTEL_EXPERIMENTAL_CONFIG_FILE` environment variable to the path of a yaml file which follows the OpenTelemetry declarative configuration format specified here: https://pkg.go.dev/go.opentelemetry.io/contrib/otelconf. As long as the `telemetry` package has been imported somewhere (it should already be imported if you are using the SDK), OpenTelemetry will be initialized automatically based on the configuration file.
```diff
import (
+ txdecode "cosmossdk.io/x/tx/decode"
)
+ txDecoder, err := txdecode.NewDecoder(txdecode.Options{
+ SigningContext: signingCtx,
+ ProtoCodec: appCodec,
+ })
+ if err != nil {
+ panic(err)
+ }
```
NOTE: the go implementation of [otelconf](https://pkg.go.dev/go.opentelemetry.io/contrib/otelconf) is still under development and we will update our usage of it as it matures.
#### `x/crisis`
The `x/crisis` module was removed due to it not being supported or functional any longer.
#### `x/distribution`
Existing chains using `x/distribution` module must add the new `x/protocolpool` module.
#### `x/gov`
Gov v1beta1 proposal handler has been changed to take in a `context.Context` instead of `sdk.Context`.
#### `x/mint`
The `x/mint` module has been updated to work with a mint function [`MintFn`](https://docs.cosmos.network/v0.52/build/modules/mint#mintfn).
When using the default inflation calculation function and runtime, no change is required. The depinject configuration of mint automatically sets it if none is provided. However, when not using runtime, the mint function must be set in on the mint keeper:
```diff
+ mintKeeper.SetMintFn(keeper.DefaultMintFn(types.DefaultInflationCalculationFn, stakingKeeper, mintKeeper))
```
#### `x/protocolpool`
Introducing a new `x/protocolpool` module to handle community pool funds. Its store must be added while upgrading to v0.52.x.
Example:
```go
func (app SimApp) RegisterUpgradeHandlers() {
app.UpgradeKeeper.SetUpgradeHandler(
UpgradeName,
func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
return app.ModuleManager.RunMigrations(ctx, app.Configurator(), fromVM)
},
)
// ...
}
```
Add `x/protocolpool` store while upgrading to v0.52.x:
```go
storetypes.StoreUpgrades{
Added: []string{
protocolpooltypes.ModuleName,
},
}
```
#### `x/validate`
Introducing `x/validate` a module that is solely used for registering default ante/post handlers and global tx validators when using runtime. If you wish to set your custom ante/post handlers, no need to use this module.
You can however always extend them by adding extra tx validators (see `x/validate` documentation).
#### `tools/benchmark`
Introducing [`tools/benchmark`](https://github.com/cosmos/cosmos-sdk/tree/main/tools/benchmark) a Cosmos SDK module for benchmarking your chain. It is a standalone module that can be added to your chain to stress test it. This module should NOT be added in a production environment.
-37
View File
@@ -1,37 +0,0 @@
<!--
Guiding Principles:
Changelogs are for humans, not machines.
There should be an entry for every single version.
The same types of changes should be grouped.
Versions and sections should be linkable.
The latest version comes first.
The release date of each version is displayed.
Mention whether you follow Semantic Versioning.
Usage:
Change log entries are to be added to the Unreleased section from newest to oldest.
Each entry must include the Github issue reference in the following format:
* [#<issue-number>] Changelog message.
-->
# Changelog
## [Unreleased]
## [v0.9.0](https://github.com/cosmos/cosmos-sdk/releases/tag/api/v0.9.0) - 2025-03-31
### Features
* [#23933](https://github.com/cosmos/cosmos-sdk/pull/23933) `x/protocolpool` API files
* [#23815](https://github.com/cosmos/cosmos-sdk/pull/23815) `x/epochs` API files
* [#23708](https://github.com/cosmos/cosmos-sdk/pull/23708) `unordered` transaction support
### Improvements
* [#24227](https://github.com/cosmos/cosmos-sdk/pull/24227) Minor dependency bumps
-242
View File
@@ -1,242 +0,0 @@
// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package amino
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
reflect "reflect"
)
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.0
// protoc (unknown)
// source: amino/amino.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 file_amino_amino_proto_extTypes = []protoimpl.ExtensionInfo{
{
ExtendedType: (*descriptorpb.MessageOptions)(nil),
ExtensionType: (*string)(nil),
Field: 11110001,
Name: "amino.name",
Tag: "bytes,11110001,opt,name=name",
Filename: "amino/amino.proto",
},
{
ExtendedType: (*descriptorpb.MessageOptions)(nil),
ExtensionType: (*string)(nil),
Field: 11110002,
Name: "amino.message_encoding",
Tag: "bytes,11110002,opt,name=message_encoding",
Filename: "amino/amino.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 11110003,
Name: "amino.encoding",
Tag: "bytes,11110003,opt,name=encoding",
Filename: "amino/amino.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 11110004,
Name: "amino.field_name",
Tag: "bytes,11110004,opt,name=field_name",
Filename: "amino/amino.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*bool)(nil),
Field: 11110005,
Name: "amino.dont_omitempty",
Tag: "varint,11110005,opt,name=dont_omitempty",
Filename: "amino/amino.proto",
},
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 11110006,
Name: "amino.oneof_name",
Tag: "bytes,11110006,opt,name=oneof_name",
Filename: "amino/amino.proto",
},
}
// Extension fields to descriptorpb.MessageOptions.
var (
// name is the string used when registering a concrete
// type into the Amino type registry, via the Amino codec's
// `RegisterConcrete()` method. This string MUST be at most 39
// characters long, or else the message will be rejected by the
// Ledger hardware device.
//
// optional string name = 11110001;
E_Name = &file_amino_amino_proto_extTypes[0]
// encoding describes the encoding format used by Amino for the given
// message. The field type is chosen to be a string for
// flexibility, but it should ideally be short and expected to be
// machine-readable, for example "base64" or "utf8_json". We
// highly recommend to use underscores for word separation instead of spaces.
//
// If left empty, then the Amino encoding is expected to be the same as the
// Protobuf one.
//
// This annotation should not be confused with the `encoding`
// one which operates on the field level.
//
// optional string message_encoding = 11110002;
E_MessageEncoding = &file_amino_amino_proto_extTypes[1]
)
// Extension fields to descriptorpb.FieldOptions.
var (
// encoding describes the encoding format used by Amino for
// the given field. The field type is chosen to be a string for
// flexibility, but it should ideally be short and expected to be
// machine-readable, for example "base64" or "utf8_json". We
// highly recommend to use underscores for word separation instead of spaces.
//
// If left empty, then the Amino encoding is expected to be the same as the
// Protobuf one.
//
// This annotation should not be confused with the
// `message_encoding` one which operates on the message level.
//
// optional string encoding = 11110003;
E_Encoding = &file_amino_amino_proto_extTypes[2]
// field_name sets a different field name (i.e. key name) in
// the amino JSON object for the given field.
//
// Example:
//
// message Foo {
// string bar = 1 [(amino.field_name) = "baz"];
// }
//
// Then the Amino encoding of Foo will be:
// `{"baz":"some value"}`
//
// optional string field_name = 11110004;
E_FieldName = &file_amino_amino_proto_extTypes[3]
// dont_omitempty sets the field in the JSON object even if
// its value is empty, i.e. equal to the Golang zero value. To learn what
// the zero values are, see https://go.dev/ref/spec#The_zero_value.
//
// Fields default to `omitempty`, which is the default behavior when this
// annotation is unset. When set to true, then the field value in the
// JSON object will be set, i.e. not `undefined`.
//
// Example:
//
// message Foo {
// string bar = 1;
// string baz = 2 [(amino.dont_omitempty) = true];
// }
//
// f := Foo{};
// out := AminoJSONEncoder(&f);
// out == {"baz":""}
//
// optional bool dont_omitempty = 11110005;
E_DontOmitempty = &file_amino_amino_proto_extTypes[4]
// oneof_name sets the type name for the given field oneof field. This is used
// by the Amino JSON encoder to encode the type of the oneof field, and must be the same string in
// the RegisterConcrete() method usage used to register the concrete type.
//
// optional string oneof_name = 11110006;
E_OneofName = &file_amino_amino_proto_extTypes[5]
)
var File_amino_amino_proto protoreflect.FileDescriptor
var file_amino_amino_proto_rawDesc = []byte{
0x0a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x05, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x36, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf1, 0x8c, 0xa6, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x4d, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf2, 0x8c, 0xa6, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64,
0x69, 0x6e, 0x67, 0x3a, 0x3c, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12,
0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf3,
0x8c, 0xa6, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e,
0x67, 0x3a, 0x3f, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf4,
0x8c, 0xa6, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61,
0x6d, 0x65, 0x3a, 0x47, 0x0a, 0x0e, 0x64, 0x6f, 0x6e, 0x74, 0x5f, 0x6f, 0x6d, 0x69, 0x74, 0x65,
0x6d, 0x70, 0x74, 0x79, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0xf5, 0x8c, 0xa6, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x6f,
0x6e, 0x74, 0x4f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x3a, 0x3f, 0x0a, 0x0a, 0x6f,
0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf6, 0x8c, 0xa6, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x63, 0x0a, 0x09,
0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0x0a, 0x41, 0x6d, 0x69, 0x6e, 0x6f,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x16, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73,
0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0xa2,
0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x05, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0xca, 0x02, 0x05,
0x41, 0x6d, 0x69, 0x6e, 0x6f, 0xe2, 0x02, 0x11, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x5c, 0x47, 0x50,
0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x05, 0x41, 0x6d, 0x69, 0x6e,
0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var file_amino_amino_proto_goTypes = []interface{}{
(*descriptorpb.MessageOptions)(nil), // 0: google.protobuf.MessageOptions
(*descriptorpb.FieldOptions)(nil), // 1: google.protobuf.FieldOptions
}
var file_amino_amino_proto_depIdxs = []int32{
0, // 0: amino.name:extendee -> google.protobuf.MessageOptions
0, // 1: amino.message_encoding:extendee -> google.protobuf.MessageOptions
1, // 2: amino.encoding:extendee -> google.protobuf.FieldOptions
1, // 3: amino.field_name:extendee -> google.protobuf.FieldOptions
1, // 4: amino.dont_omitempty:extendee -> google.protobuf.FieldOptions
1, // 5: amino.oneof_name:extendee -> google.protobuf.FieldOptions
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
0, // [0:6] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_amino_amino_proto_init() }
func file_amino_amino_proto_init() {
if File_amino_amino_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_amino_amino_proto_rawDesc,
NumEnums: 0,
NumMessages: 0,
NumExtensions: 6,
NumServices: 0,
},
GoTypes: file_amino_amino_proto_goTypes,
DependencyIndexes: file_amino_amino_proto_depIdxs,
ExtensionInfos: file_amino_amino_proto_extTypes,
}.Build()
File_amino_amino_proto = out.File
file_amino_amino_proto_rawDesc = nil
file_amino_amino_proto_goTypes = nil
file_amino_amino_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-999
View File
@@ -1,999 +0,0 @@
// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package appv1alpha1
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_QueryConfigRequest protoreflect.MessageDescriptor
)
func init() {
file_cosmos_app_v1alpha1_query_proto_init()
md_QueryConfigRequest = File_cosmos_app_v1alpha1_query_proto.Messages().ByName("QueryConfigRequest")
}
var _ protoreflect.Message = (*fastReflection_QueryConfigRequest)(nil)
type fastReflection_QueryConfigRequest QueryConfigRequest
func (x *QueryConfigRequest) ProtoReflect() protoreflect.Message {
return (*fastReflection_QueryConfigRequest)(x)
}
func (x *QueryConfigRequest) slowProtoReflect() protoreflect.Message {
mi := &file_cosmos_app_v1alpha1_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_QueryConfigRequest_messageType fastReflection_QueryConfigRequest_messageType
var _ protoreflect.MessageType = fastReflection_QueryConfigRequest_messageType{}
type fastReflection_QueryConfigRequest_messageType struct{}
func (x fastReflection_QueryConfigRequest_messageType) Zero() protoreflect.Message {
return (*fastReflection_QueryConfigRequest)(nil)
}
func (x fastReflection_QueryConfigRequest_messageType) New() protoreflect.Message {
return new(fastReflection_QueryConfigRequest)
}
func (x fastReflection_QueryConfigRequest_messageType) Descriptor() protoreflect.MessageDescriptor {
return md_QueryConfigRequest
}
// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_QueryConfigRequest) Descriptor() protoreflect.MessageDescriptor {
return md_QueryConfigRequest
}
// 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_QueryConfigRequest) Type() protoreflect.MessageType {
return _fastReflection_QueryConfigRequest_messageType
}
// New returns a newly allocated and mutable empty message.
func (x *fastReflection_QueryConfigRequest) New() protoreflect.Message {
return new(fastReflection_QueryConfigRequest)
}
// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_QueryConfigRequest) Interface() protoreflect.ProtoMessage {
return (*QueryConfigRequest)(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_QueryConfigRequest) 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_QueryConfigRequest) Has(fd protoreflect.FieldDescriptor) bool {
switch fd.FullName() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigRequest"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigRequest 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_QueryConfigRequest) Clear(fd protoreflect.FieldDescriptor) {
switch fd.FullName() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigRequest"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigRequest 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_QueryConfigRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
switch descriptor.FullName() {
default:
if descriptor.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigRequest"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigRequest 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_QueryConfigRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
switch fd.FullName() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigRequest"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigRequest 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_QueryConfigRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
switch fd.FullName() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigRequest"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigRequest 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_QueryConfigRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
switch fd.FullName() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigRequest"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigRequest 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_QueryConfigRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
switch d.FullName() {
default:
panic(fmt.Errorf("%s is not a oneof field in cosmos.app.v1alpha1.QueryConfigRequest", 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_QueryConfigRequest) 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_QueryConfigRequest) 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_QueryConfigRequest) 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_QueryConfigRequest) ProtoMethods() *protoiface.Methods {
size := func(input protoiface.SizeInput) protoiface.SizeOutput {
x := input.Message.Interface().(*QueryConfigRequest)
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().(*QueryConfigRequest)
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().(*QueryConfigRequest)
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: QueryConfigRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryConfigRequest: 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_QueryConfigResponse protoreflect.MessageDescriptor
fd_QueryConfigResponse_config protoreflect.FieldDescriptor
)
func init() {
file_cosmos_app_v1alpha1_query_proto_init()
md_QueryConfigResponse = File_cosmos_app_v1alpha1_query_proto.Messages().ByName("QueryConfigResponse")
fd_QueryConfigResponse_config = md_QueryConfigResponse.Fields().ByName("config")
}
var _ protoreflect.Message = (*fastReflection_QueryConfigResponse)(nil)
type fastReflection_QueryConfigResponse QueryConfigResponse
func (x *QueryConfigResponse) ProtoReflect() protoreflect.Message {
return (*fastReflection_QueryConfigResponse)(x)
}
func (x *QueryConfigResponse) slowProtoReflect() protoreflect.Message {
mi := &file_cosmos_app_v1alpha1_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_QueryConfigResponse_messageType fastReflection_QueryConfigResponse_messageType
var _ protoreflect.MessageType = fastReflection_QueryConfigResponse_messageType{}
type fastReflection_QueryConfigResponse_messageType struct{}
func (x fastReflection_QueryConfigResponse_messageType) Zero() protoreflect.Message {
return (*fastReflection_QueryConfigResponse)(nil)
}
func (x fastReflection_QueryConfigResponse_messageType) New() protoreflect.Message {
return new(fastReflection_QueryConfigResponse)
}
func (x fastReflection_QueryConfigResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
return md_QueryConfigResponse
}
// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_QueryConfigResponse) Descriptor() protoreflect.MessageDescriptor {
return md_QueryConfigResponse
}
// 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_QueryConfigResponse) Type() protoreflect.MessageType {
return _fastReflection_QueryConfigResponse_messageType
}
// New returns a newly allocated and mutable empty message.
func (x *fastReflection_QueryConfigResponse) New() protoreflect.Message {
return new(fastReflection_QueryConfigResponse)
}
// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_QueryConfigResponse) Interface() protoreflect.ProtoMessage {
return (*QueryConfigResponse)(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_QueryConfigResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
if x.Config != nil {
value := protoreflect.ValueOfMessage(x.Config.ProtoReflect())
if !f(fd_QueryConfigResponse_config, 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_QueryConfigResponse) Has(fd protoreflect.FieldDescriptor) bool {
switch fd.FullName() {
case "cosmos.app.v1alpha1.QueryConfigResponse.config":
return x.Config != nil
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigResponse"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigResponse 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_QueryConfigResponse) Clear(fd protoreflect.FieldDescriptor) {
switch fd.FullName() {
case "cosmos.app.v1alpha1.QueryConfigResponse.config":
x.Config = nil
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigResponse"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigResponse 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_QueryConfigResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
switch descriptor.FullName() {
case "cosmos.app.v1alpha1.QueryConfigResponse.config":
value := x.Config
return protoreflect.ValueOfMessage(value.ProtoReflect())
default:
if descriptor.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigResponse"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigResponse 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_QueryConfigResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
switch fd.FullName() {
case "cosmos.app.v1alpha1.QueryConfigResponse.config":
x.Config = value.Message().Interface().(*Config)
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigResponse"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigResponse 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_QueryConfigResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
switch fd.FullName() {
case "cosmos.app.v1alpha1.QueryConfigResponse.config":
if x.Config == nil {
x.Config = new(Config)
}
return protoreflect.ValueOfMessage(x.Config.ProtoReflect())
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigResponse"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigResponse 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_QueryConfigResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
switch fd.FullName() {
case "cosmos.app.v1alpha1.QueryConfigResponse.config":
m := new(Config)
return protoreflect.ValueOfMessage(m.ProtoReflect())
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.v1alpha1.QueryConfigResponse"))
}
panic(fmt.Errorf("message cosmos.app.v1alpha1.QueryConfigResponse 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_QueryConfigResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
switch d.FullName() {
default:
panic(fmt.Errorf("%s is not a oneof field in cosmos.app.v1alpha1.QueryConfigResponse", 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_QueryConfigResponse) 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_QueryConfigResponse) 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_QueryConfigResponse) 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_QueryConfigResponse) ProtoMethods() *protoiface.Methods {
size := func(input protoiface.SizeInput) protoiface.SizeOutput {
x := input.Message.Interface().(*QueryConfigResponse)
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.Config != nil {
l = options.Size(x.Config)
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().(*QueryConfigResponse)
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.Config != nil {
encoded, err := options.Marshal(x.Config)
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().(*QueryConfigResponse)
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: QueryConfigResponse: wiretype end group for non-group")
}
if fieldNum <= 0 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryConfigResponse: 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 Config", 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.Config == nil {
x.Config = &Config{}
}
if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Config); 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: cosmos/app/v1alpha1/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)
)
// QueryConfigRequest is the Query/Config request type.
type QueryConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *QueryConfigRequest) Reset() {
*x = QueryConfigRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_cosmos_app_v1alpha1_query_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryConfigRequest) ProtoMessage() {}
// Deprecated: Use QueryConfigRequest.ProtoReflect.Descriptor instead.
func (*QueryConfigRequest) Descriptor() ([]byte, []int) {
return file_cosmos_app_v1alpha1_query_proto_rawDescGZIP(), []int{0}
}
// QueryConfigResponse is the Query/Config response type.
type QueryConfigResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// config is the current app config.
Config *Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
}
func (x *QueryConfigResponse) Reset() {
*x = QueryConfigResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_cosmos_app_v1alpha1_query_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryConfigResponse) ProtoMessage() {}
// Deprecated: Use QueryConfigResponse.ProtoReflect.Descriptor instead.
func (*QueryConfigResponse) Descriptor() ([]byte, []int) {
return file_cosmos_app_v1alpha1_query_proto_rawDescGZIP(), []int{1}
}
func (x *QueryConfigResponse) GetConfig() *Config {
if x != nil {
return x.Config
}
return nil
}
var File_cosmos_app_v1alpha1_query_proto protoreflect.FileDescriptor
var file_cosmos_app_v1alpha1_query_proto_rawDesc = []byte{
0x0a, 0x1f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x13, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x20, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61,
0x70, 0x70, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72,
0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4a,
0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61,
0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x69, 0x0a, 0x05, 0x51, 0x75,
0x65, 0x72, 0x79, 0x12, 0x60, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x2e,
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65,
0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x03, 0x88, 0x02, 0x01, 0x42, 0xc5, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f,
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x61, 0x70, 0x70, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
0x2e, 0x41, 0x70, 0x70, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x13,
0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70,
0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a,
0x41, 0x70, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cosmos_app_v1alpha1_query_proto_rawDescOnce sync.Once
file_cosmos_app_v1alpha1_query_proto_rawDescData = file_cosmos_app_v1alpha1_query_proto_rawDesc
)
func file_cosmos_app_v1alpha1_query_proto_rawDescGZIP() []byte {
file_cosmos_app_v1alpha1_query_proto_rawDescOnce.Do(func() {
file_cosmos_app_v1alpha1_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_app_v1alpha1_query_proto_rawDescData)
})
return file_cosmos_app_v1alpha1_query_proto_rawDescData
}
var file_cosmos_app_v1alpha1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_cosmos_app_v1alpha1_query_proto_goTypes = []interface{}{
(*QueryConfigRequest)(nil), // 0: cosmos.app.v1alpha1.QueryConfigRequest
(*QueryConfigResponse)(nil), // 1: cosmos.app.v1alpha1.QueryConfigResponse
(*Config)(nil), // 2: cosmos.app.v1alpha1.Config
}
var file_cosmos_app_v1alpha1_query_proto_depIdxs = []int32{
2, // 0: cosmos.app.v1alpha1.QueryConfigResponse.config:type_name -> cosmos.app.v1alpha1.Config
0, // 1: cosmos.app.v1alpha1.Query.Config:input_type -> cosmos.app.v1alpha1.QueryConfigRequest
1, // 2: cosmos.app.v1alpha1.Query.Config:output_type -> cosmos.app.v1alpha1.QueryConfigResponse
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_cosmos_app_v1alpha1_query_proto_init() }
func file_cosmos_app_v1alpha1_query_proto_init() {
if File_cosmos_app_v1alpha1_query_proto != nil {
return
}
file_cosmos_app_v1alpha1_config_proto_init()
if !protoimpl.UnsafeEnabled {
file_cosmos_app_v1alpha1_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryConfigRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cosmos_app_v1alpha1_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryConfigResponse); 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_cosmos_app_v1alpha1_query_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cosmos_app_v1alpha1_query_proto_goTypes,
DependencyIndexes: file_cosmos_app_v1alpha1_query_proto_depIdxs,
MessageInfos: file_cosmos_app_v1alpha1_query_proto_msgTypes,
}.Build()
File_cosmos_app_v1alpha1_query_proto = out.File
file_cosmos_app_v1alpha1_query_proto_rawDesc = nil
file_cosmos_app_v1alpha1_query_proto_goTypes = nil
file_cosmos_app_v1alpha1_query_proto_depIdxs = nil
}
-130
View File
@@ -1,130 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: cosmos/app/v1alpha1/query.proto
package appv1alpha1
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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Query_Config_FullMethodName = "/cosmos.app.v1alpha1.Query/Config"
)
// 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.
//
// Query is the app module query service.
type QueryClient interface {
// Deprecated: Do not use.
// Config returns the current app config.
Config(ctx context.Context, in *QueryConfigRequest, opts ...grpc.CallOption) (*QueryConfigResponse, error)
}
type queryClient struct {
cc grpc.ClientConnInterface
}
func NewQueryClient(cc grpc.ClientConnInterface) QueryClient {
return &queryClient{cc}
}
// Deprecated: Do not use.
func (c *queryClient) Config(ctx context.Context, in *QueryConfigRequest, opts ...grpc.CallOption) (*QueryConfigResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryConfigResponse)
err := c.cc.Invoke(ctx, Query_Config_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// QueryServer is the server API for Query service.
// All implementations must embed UnimplementedQueryServer
// for forward compatibility.
//
// Query is the app module query service.
type QueryServer interface {
// Deprecated: Do not use.
// Config returns the current app config.
Config(context.Context, *QueryConfigRequest) (*QueryConfigResponse, error)
mustEmbedUnimplementedQueryServer()
}
// UnimplementedQueryServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedQueryServer struct{}
func (UnimplementedQueryServer) Config(context.Context, *QueryConfigRequest) (*QueryConfigResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Config not implemented")
}
func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {}
func (UnimplementedQueryServer) testEmbeddedByValue() {}
// 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) {
// If the following call pancis, it indicates UnimplementedQueryServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Query_ServiceDesc, srv)
}
func _Query_Config_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryConfigRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).Config(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_Config_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).Config(ctx, req.(*QueryConfigRequest))
}
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: "cosmos.app.v1alpha1.Query",
HandlerType: (*QueryServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Config",
Handler: _Query_Config_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/app/v1alpha1/query.proto",
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-753
View File
@@ -1,753 +0,0 @@
// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package authv1beta1
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"
anypb "google.golang.org/protobuf/types/known/anypb"
io "io"
reflect "reflect"
sync "sync"
)
var _ protoreflect.List = (*_GenesisState_2_list)(nil)
type _GenesisState_2_list struct {
list *[]*anypb.Any
}
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().(*anypb.Any)
(*x.list)[i] = concreteValue
}
func (x *_GenesisState_2_list) Append(value protoreflect.Value) {
valueUnwrapped := value.Message()
concreteValue := valueUnwrapped.Interface().(*anypb.Any)
*x.list = append(*x.list, concreteValue)
}
func (x *_GenesisState_2_list) AppendMutable() protoreflect.Value {
v := new(anypb.Any)
*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(anypb.Any)
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_accounts protoreflect.FieldDescriptor
)
func init() {
file_cosmos_auth_v1beta1_genesis_proto_init()
md_GenesisState = File_cosmos_auth_v1beta1_genesis_proto.Messages().ByName("GenesisState")
fd_GenesisState_params = md_GenesisState.Fields().ByName("params")
fd_GenesisState_accounts = md_GenesisState.Fields().ByName("accounts")
}
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_cosmos_auth_v1beta1_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.Accounts) != 0 {
value := protoreflect.ValueOfList(&_GenesisState_2_list{list: &x.Accounts})
if !f(fd_GenesisState_accounts, 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 "cosmos.auth.v1beta1.GenesisState.params":
return x.Params != nil
case "cosmos.auth.v1beta1.GenesisState.accounts":
return len(x.Accounts) != 0
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.auth.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.auth.v1beta1.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 "cosmos.auth.v1beta1.GenesisState.params":
x.Params = nil
case "cosmos.auth.v1beta1.GenesisState.accounts":
x.Accounts = nil
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.auth.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.auth.v1beta1.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 "cosmos.auth.v1beta1.GenesisState.params":
value := x.Params
return protoreflect.ValueOfMessage(value.ProtoReflect())
case "cosmos.auth.v1beta1.GenesisState.accounts":
if len(x.Accounts) == 0 {
return protoreflect.ValueOfList(&_GenesisState_2_list{})
}
listValue := &_GenesisState_2_list{list: &x.Accounts}
return protoreflect.ValueOfList(listValue)
default:
if descriptor.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.auth.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.auth.v1beta1.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 "cosmos.auth.v1beta1.GenesisState.params":
x.Params = value.Message().Interface().(*Params)
case "cosmos.auth.v1beta1.GenesisState.accounts":
lv := value.List()
clv := lv.(*_GenesisState_2_list)
x.Accounts = *clv.list
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.auth.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.auth.v1beta1.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 "cosmos.auth.v1beta1.GenesisState.params":
if x.Params == nil {
x.Params = new(Params)
}
return protoreflect.ValueOfMessage(x.Params.ProtoReflect())
case "cosmos.auth.v1beta1.GenesisState.accounts":
if x.Accounts == nil {
x.Accounts = []*anypb.Any{}
}
value := &_GenesisState_2_list{list: &x.Accounts}
return protoreflect.ValueOfList(value)
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.auth.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.auth.v1beta1.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 "cosmos.auth.v1beta1.GenesisState.params":
m := new(Params)
return protoreflect.ValueOfMessage(m.ProtoReflect())
case "cosmos.auth.v1beta1.GenesisState.accounts":
list := []*anypb.Any{}
return protoreflect.ValueOfList(&_GenesisState_2_list{list: &list})
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.auth.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.auth.v1beta1.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 cosmos.auth.v1beta1.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.Accounts) > 0 {
for _, e := range x.Accounts {
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().(*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.Accounts) > 0 {
for iNdEx := len(x.Accounts) - 1; iNdEx >= 0; iNdEx-- {
encoded, err := options.Marshal(x.Accounts[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 {
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 Accounts", 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.Accounts = append(x.Accounts, &anypb.Any{})
if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Accounts[len(x.Accounts)-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: cosmos/auth/v1beta1/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 auth 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"`
// accounts are the accounts present at genesis.
Accounts []*anypb.Any `protobuf:"bytes,2,rep,name=accounts,proto3" json:"accounts,omitempty"`
}
func (x *GenesisState) Reset() {
*x = GenesisState{}
if protoimpl.UnsafeEnabled {
mi := &file_cosmos_auth_v1beta1_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_cosmos_auth_v1beta1_genesis_proto_rawDescGZIP(), []int{0}
}
func (x *GenesisState) GetParams() *Params {
if x != nil {
return x.Params
}
return nil
}
func (x *GenesisState) GetAccounts() []*anypb.Any {
if x != nil {
return x.Accounts
}
return nil
}
var File_cosmos_auth_v1beta1_genesis_proto protoreflect.FileDescriptor
var file_cosmos_auth_v1beta1_genesis_proto_rawDesc = []byte{
0x0a, 0x21, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x13, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 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, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61,
0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f,
0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 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, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 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, 0x30, 0x0a,
0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x42,
0xc7, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61,
0x75, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x47, 0x65, 0x6e,
0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73,
0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f,
0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03,
0x43, 0x41, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x75, 0x74,
0x68, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d,
0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2,
0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x5c, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0xea, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68,
0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_cosmos_auth_v1beta1_genesis_proto_rawDescOnce sync.Once
file_cosmos_auth_v1beta1_genesis_proto_rawDescData = file_cosmos_auth_v1beta1_genesis_proto_rawDesc
)
func file_cosmos_auth_v1beta1_genesis_proto_rawDescGZIP() []byte {
file_cosmos_auth_v1beta1_genesis_proto_rawDescOnce.Do(func() {
file_cosmos_auth_v1beta1_genesis_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_auth_v1beta1_genesis_proto_rawDescData)
})
return file_cosmos_auth_v1beta1_genesis_proto_rawDescData
}
var file_cosmos_auth_v1beta1_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cosmos_auth_v1beta1_genesis_proto_goTypes = []interface{}{
(*GenesisState)(nil), // 0: cosmos.auth.v1beta1.GenesisState
(*Params)(nil), // 1: cosmos.auth.v1beta1.Params
(*anypb.Any)(nil), // 2: google.protobuf.Any
}
var file_cosmos_auth_v1beta1_genesis_proto_depIdxs = []int32{
1, // 0: cosmos.auth.v1beta1.GenesisState.params:type_name -> cosmos.auth.v1beta1.Params
2, // 1: cosmos.auth.v1beta1.GenesisState.accounts:type_name -> google.protobuf.Any
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_cosmos_auth_v1beta1_genesis_proto_init() }
func file_cosmos_auth_v1beta1_genesis_proto_init() {
if File_cosmos_auth_v1beta1_genesis_proto != nil {
return
}
file_cosmos_auth_v1beta1_auth_proto_init()
if !protoimpl.UnsafeEnabled {
file_cosmos_auth_v1beta1_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_cosmos_auth_v1beta1_genesis_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cosmos_auth_v1beta1_genesis_proto_goTypes,
DependencyIndexes: file_cosmos_auth_v1beta1_genesis_proto_depIdxs,
MessageInfos: file_cosmos_auth_v1beta1_genesis_proto_msgTypes,
}.Build()
File_cosmos_auth_v1beta1_genesis_proto = out.File
file_cosmos_auth_v1beta1_genesis_proto_rawDesc = nil
file_cosmos_auth_v1beta1_genesis_proto_goTypes = nil
file_cosmos_auth_v1beta1_genesis_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
-493
View File
@@ -1,493 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: cosmos/auth/v1beta1/query.proto
package authv1beta1
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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Query_Accounts_FullMethodName = "/cosmos.auth.v1beta1.Query/Accounts"
Query_Account_FullMethodName = "/cosmos.auth.v1beta1.Query/Account"
Query_AccountAddressByID_FullMethodName = "/cosmos.auth.v1beta1.Query/AccountAddressByID"
Query_Params_FullMethodName = "/cosmos.auth.v1beta1.Query/Params"
Query_ModuleAccounts_FullMethodName = "/cosmos.auth.v1beta1.Query/ModuleAccounts"
Query_ModuleAccountByName_FullMethodName = "/cosmos.auth.v1beta1.Query/ModuleAccountByName"
Query_Bech32Prefix_FullMethodName = "/cosmos.auth.v1beta1.Query/Bech32Prefix"
Query_AddressBytesToString_FullMethodName = "/cosmos.auth.v1beta1.Query/AddressBytesToString"
Query_AddressStringToBytes_FullMethodName = "/cosmos.auth.v1beta1.Query/AddressStringToBytes"
Query_AccountInfo_FullMethodName = "/cosmos.auth.v1beta1.Query/AccountInfo"
)
// 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.
//
// Query defines the gRPC querier service.
type QueryClient interface {
// Accounts returns all the existing accounts.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
Accounts(ctx context.Context, in *QueryAccountsRequest, opts ...grpc.CallOption) (*QueryAccountsResponse, error)
// Account returns account details based on address.
Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*QueryAccountResponse, error)
// AccountAddressByID returns account address based on account number.
AccountAddressByID(ctx context.Context, in *QueryAccountAddressByIDRequest, opts ...grpc.CallOption) (*QueryAccountAddressByIDResponse, error)
// Params queries all parameters.
Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
// ModuleAccounts returns all the existing module accounts.
ModuleAccounts(ctx context.Context, in *QueryModuleAccountsRequest, opts ...grpc.CallOption) (*QueryModuleAccountsResponse, error)
// ModuleAccountByName returns the module account info by module name
ModuleAccountByName(ctx context.Context, in *QueryModuleAccountByNameRequest, opts ...grpc.CallOption) (*QueryModuleAccountByNameResponse, error)
// Bech32Prefix queries bech32Prefix
Bech32Prefix(ctx context.Context, in *Bech32PrefixRequest, opts ...grpc.CallOption) (*Bech32PrefixResponse, error)
// AddressBytesToString converts Account Address bytes to string
AddressBytesToString(ctx context.Context, in *AddressBytesToStringRequest, opts ...grpc.CallOption) (*AddressBytesToStringResponse, error)
// AddressStringToBytes converts Address string to bytes
AddressStringToBytes(ctx context.Context, in *AddressStringToBytesRequest, opts ...grpc.CallOption) (*AddressStringToBytesResponse, error)
// AccountInfo queries account info which is common to all account types.
AccountInfo(ctx context.Context, in *QueryAccountInfoRequest, opts ...grpc.CallOption) (*QueryAccountInfoResponse, error)
}
type queryClient struct {
cc grpc.ClientConnInterface
}
func NewQueryClient(cc grpc.ClientConnInterface) QueryClient {
return &queryClient{cc}
}
func (c *queryClient) Accounts(ctx context.Context, in *QueryAccountsRequest, opts ...grpc.CallOption) (*QueryAccountsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryAccountsResponse)
err := c.cc.Invoke(ctx, Query_Accounts_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*QueryAccountResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryAccountResponse)
err := c.cc.Invoke(ctx, Query_Account_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) AccountAddressByID(ctx context.Context, in *QueryAccountAddressByIDRequest, opts ...grpc.CallOption) (*QueryAccountAddressByIDResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryAccountAddressByIDResponse)
err := c.cc.Invoke(ctx, Query_AccountAddressByID_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryParamsResponse)
err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) ModuleAccounts(ctx context.Context, in *QueryModuleAccountsRequest, opts ...grpc.CallOption) (*QueryModuleAccountsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryModuleAccountsResponse)
err := c.cc.Invoke(ctx, Query_ModuleAccounts_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) ModuleAccountByName(ctx context.Context, in *QueryModuleAccountByNameRequest, opts ...grpc.CallOption) (*QueryModuleAccountByNameResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryModuleAccountByNameResponse)
err := c.cc.Invoke(ctx, Query_ModuleAccountByName_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) Bech32Prefix(ctx context.Context, in *Bech32PrefixRequest, opts ...grpc.CallOption) (*Bech32PrefixResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Bech32PrefixResponse)
err := c.cc.Invoke(ctx, Query_Bech32Prefix_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) AddressBytesToString(ctx context.Context, in *AddressBytesToStringRequest, opts ...grpc.CallOption) (*AddressBytesToStringResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(AddressBytesToStringResponse)
err := c.cc.Invoke(ctx, Query_AddressBytesToString_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) AddressStringToBytes(ctx context.Context, in *AddressStringToBytesRequest, opts ...grpc.CallOption) (*AddressStringToBytesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(AddressStringToBytesResponse)
err := c.cc.Invoke(ctx, Query_AddressStringToBytes_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) AccountInfo(ctx context.Context, in *QueryAccountInfoRequest, opts ...grpc.CallOption) (*QueryAccountInfoResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryAccountInfoResponse)
err := c.cc.Invoke(ctx, Query_AccountInfo_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// QueryServer is the server API for Query service.
// All implementations must embed UnimplementedQueryServer
// for forward compatibility.
//
// Query defines the gRPC querier service.
type QueryServer interface {
// Accounts returns all the existing accounts.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
Accounts(context.Context, *QueryAccountsRequest) (*QueryAccountsResponse, error)
// Account returns account details based on address.
Account(context.Context, *QueryAccountRequest) (*QueryAccountResponse, error)
// AccountAddressByID returns account address based on account number.
AccountAddressByID(context.Context, *QueryAccountAddressByIDRequest) (*QueryAccountAddressByIDResponse, error)
// Params queries all parameters.
Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
// ModuleAccounts returns all the existing module accounts.
ModuleAccounts(context.Context, *QueryModuleAccountsRequest) (*QueryModuleAccountsResponse, error)
// ModuleAccountByName returns the module account info by module name
ModuleAccountByName(context.Context, *QueryModuleAccountByNameRequest) (*QueryModuleAccountByNameResponse, error)
// Bech32Prefix queries bech32Prefix
Bech32Prefix(context.Context, *Bech32PrefixRequest) (*Bech32PrefixResponse, error)
// AddressBytesToString converts Account Address bytes to string
AddressBytesToString(context.Context, *AddressBytesToStringRequest) (*AddressBytesToStringResponse, error)
// AddressStringToBytes converts Address string to bytes
AddressStringToBytes(context.Context, *AddressStringToBytesRequest) (*AddressStringToBytesResponse, error)
// AccountInfo queries account info which is common to all account types.
AccountInfo(context.Context, *QueryAccountInfoRequest) (*QueryAccountInfoResponse, error)
mustEmbedUnimplementedQueryServer()
}
// UnimplementedQueryServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedQueryServer struct{}
func (UnimplementedQueryServer) Accounts(context.Context, *QueryAccountsRequest) (*QueryAccountsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Accounts not implemented")
}
func (UnimplementedQueryServer) Account(context.Context, *QueryAccountRequest) (*QueryAccountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Account not implemented")
}
func (UnimplementedQueryServer) AccountAddressByID(context.Context, *QueryAccountAddressByIDRequest) (*QueryAccountAddressByIDResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AccountAddressByID not implemented")
}
func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Params not implemented")
}
func (UnimplementedQueryServer) ModuleAccounts(context.Context, *QueryModuleAccountsRequest) (*QueryModuleAccountsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ModuleAccounts not implemented")
}
func (UnimplementedQueryServer) ModuleAccountByName(context.Context, *QueryModuleAccountByNameRequest) (*QueryModuleAccountByNameResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ModuleAccountByName not implemented")
}
func (UnimplementedQueryServer) Bech32Prefix(context.Context, *Bech32PrefixRequest) (*Bech32PrefixResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Bech32Prefix not implemented")
}
func (UnimplementedQueryServer) AddressBytesToString(context.Context, *AddressBytesToStringRequest) (*AddressBytesToStringResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddressBytesToString not implemented")
}
func (UnimplementedQueryServer) AddressStringToBytes(context.Context, *AddressStringToBytesRequest) (*AddressStringToBytesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddressStringToBytes not implemented")
}
func (UnimplementedQueryServer) AccountInfo(context.Context, *QueryAccountInfoRequest) (*QueryAccountInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AccountInfo not implemented")
}
func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {}
func (UnimplementedQueryServer) testEmbeddedByValue() {}
// 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) {
// If the following call pancis, it indicates UnimplementedQueryServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Query_ServiceDesc, srv)
}
func _Query_Accounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryAccountsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).Accounts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_Accounts_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).Accounts(ctx, req.(*QueryAccountsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_Account_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryAccountRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).Account(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_Account_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).Account(ctx, req.(*QueryAccountRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_AccountAddressByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryAccountAddressByIDRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).AccountAddressByID(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_AccountAddressByID_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).AccountAddressByID(ctx, req.(*QueryAccountAddressByIDRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryParamsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).Params(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_Params_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_ModuleAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryModuleAccountsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).ModuleAccounts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_ModuleAccounts_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).ModuleAccounts(ctx, req.(*QueryModuleAccountsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_ModuleAccountByName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryModuleAccountByNameRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).ModuleAccountByName(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_ModuleAccountByName_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).ModuleAccountByName(ctx, req.(*QueryModuleAccountByNameRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_Bech32Prefix_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(Bech32PrefixRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).Bech32Prefix(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_Bech32Prefix_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).Bech32Prefix(ctx, req.(*Bech32PrefixRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_AddressBytesToString_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddressBytesToStringRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).AddressBytesToString(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_AddressBytesToString_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).AddressBytesToString(ctx, req.(*AddressBytesToStringRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_AddressStringToBytes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddressStringToBytesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).AddressStringToBytes(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_AddressStringToBytes_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).AddressStringToBytes(ctx, req.(*AddressStringToBytesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_AccountInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryAccountInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).AccountInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_AccountInfo_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).AccountInfo(ctx, req.(*QueryAccountInfoRequest))
}
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: "cosmos.auth.v1beta1.Query",
HandlerType: (*QueryServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Accounts",
Handler: _Query_Accounts_Handler,
},
{
MethodName: "Account",
Handler: _Query_Account_Handler,
},
{
MethodName: "AccountAddressByID",
Handler: _Query_AccountAddressByID_Handler,
},
{
MethodName: "Params",
Handler: _Query_Params_Handler,
},
{
MethodName: "ModuleAccounts",
Handler: _Query_ModuleAccounts_Handler,
},
{
MethodName: "ModuleAccountByName",
Handler: _Query_ModuleAccountByName_Handler,
},
{
MethodName: "Bech32Prefix",
Handler: _Query_Bech32Prefix_Handler,
},
{
MethodName: "AddressBytesToString",
Handler: _Query_AddressBytesToString_Handler,
},
{
MethodName: "AddressStringToBytes",
Handler: _Query_AddressStringToBytes_Handler,
},
{
MethodName: "AccountInfo",
Handler: _Query_AccountInfo_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/auth/v1beta1/query.proto",
}
File diff suppressed because it is too large Load Diff
-129
View File
@@ -1,129 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: cosmos/auth/v1beta1/tx.proto
package authv1beta1
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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Msg_UpdateParams_FullMethodName = "/cosmos.auth.v1beta1.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.
//
// Msg defines the x/auth Msg service.
type MsgClient interface {
// UpdateParams defines a (governance) operation for updating the x/auth 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) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(MsgUpdateParamsResponse)
err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// MsgServer is the server API for Msg service.
// All implementations must embed UnimplementedMsgServer
// for forward compatibility.
//
// Msg defines the x/auth Msg service.
type MsgServer interface {
// UpdateParams defines a (governance) operation for updating the x/auth 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.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedMsgServer struct{}
func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented")
}
func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {}
func (UnimplementedMsgServer) testEmbeddedByValue() {}
// 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) {
// If the following call pancis, it indicates UnimplementedMsgServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
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: "cosmos.auth.v1beta1.Msg",
HandlerType: (*MsgServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "UpdateParams",
Handler: _Msg_UpdateParams_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/auth/v1beta1/tx.proto",
}
-502
View File
@@ -1,502 +0,0 @@
// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package modulev1
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
)
func init() {
file_cosmos_authz_module_v1_module_proto_init()
md_Module = File_cosmos_authz_module_v1_module_proto.Messages().ByName("Module")
}
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_cosmos_authz_module_v1_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) {
}
// 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() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.authz.module.v1.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() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.authz.module.v1.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() {
default:
if descriptor.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.authz.module.v1.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() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.authz.module.v1.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() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.authz.module.v1.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() {
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.authz.module.v1.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 cosmos.authz.module.v1.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
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 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 {
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: cosmos/authz/module/v1/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 of the authz module.
type Module struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Module) Reset() {
*x = Module{}
if protoimpl.UnsafeEnabled {
mi := &file_cosmos_authz_module_v1_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_cosmos_authz_module_v1_module_proto_rawDescGZIP(), []int{0}
}
var File_cosmos_authz_module_v1_module_proto protoreflect.FileDescriptor
var file_cosmos_authz_module_v1_module_proto_rawDesc = []byte{
0x0a, 0x23, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x6d,
0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75,
0x74, 0x68, 0x7a, 0x2e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x31, 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,
0x36, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3a, 0x2c, 0xba, 0xc0, 0x96, 0xda, 0x01,
0x26, 0x0a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f,
0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f,
0x78, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x42, 0xd6, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e,
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x6d, 0x6f, 0x64,
0x75, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b,
0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61,
0x75, 0x74, 0x68, 0x7a, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6d,
0x6f, 0x64, 0x75, 0x6c, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x4d, 0xaa, 0x02, 0x16,
0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x4d, 0x6f, 0x64,
0x75, 0x6c, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c,
0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0xe2,
0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x4d,
0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41,
0x75, 0x74, 0x68, 0x7a, 0x3a, 0x3a, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x31,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cosmos_authz_module_v1_module_proto_rawDescOnce sync.Once
file_cosmos_authz_module_v1_module_proto_rawDescData = file_cosmos_authz_module_v1_module_proto_rawDesc
)
func file_cosmos_authz_module_v1_module_proto_rawDescGZIP() []byte {
file_cosmos_authz_module_v1_module_proto_rawDescOnce.Do(func() {
file_cosmos_authz_module_v1_module_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_authz_module_v1_module_proto_rawDescData)
})
return file_cosmos_authz_module_v1_module_proto_rawDescData
}
var file_cosmos_authz_module_v1_module_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cosmos_authz_module_v1_module_proto_goTypes = []interface{}{
(*Module)(nil), // 0: cosmos.authz.module.v1.Module
}
var file_cosmos_authz_module_v1_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_cosmos_authz_module_v1_module_proto_init() }
func file_cosmos_authz_module_v1_module_proto_init() {
if File_cosmos_authz_module_v1_module_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cosmos_authz_module_v1_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_cosmos_authz_module_v1_module_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cosmos_authz_module_v1_module_proto_goTypes,
DependencyIndexes: file_cosmos_authz_module_v1_module_proto_depIdxs,
MessageInfos: file_cosmos_authz_module_v1_module_proto_msgTypes,
}.Build()
File_cosmos_authz_module_v1_module_proto = out.File
file_cosmos_authz_module_v1_module_proto_rawDesc = nil
file_cosmos_authz_module_v1_module_proto_goTypes = nil
file_cosmos_authz_module_v1_module_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-658
View File
@@ -1,658 +0,0 @@
// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package authzv1beta1
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 _ protoreflect.List = (*_GenesisState_1_list)(nil)
type _GenesisState_1_list struct {
list *[]*GrantAuthorization
}
func (x *_GenesisState_1_list) Len() int {
if x.list == nil {
return 0
}
return len(*x.list)
}
func (x *_GenesisState_1_list) Get(i int) protoreflect.Value {
return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
}
func (x *_GenesisState_1_list) Set(i int, value protoreflect.Value) {
valueUnwrapped := value.Message()
concreteValue := valueUnwrapped.Interface().(*GrantAuthorization)
(*x.list)[i] = concreteValue
}
func (x *_GenesisState_1_list) Append(value protoreflect.Value) {
valueUnwrapped := value.Message()
concreteValue := valueUnwrapped.Interface().(*GrantAuthorization)
*x.list = append(*x.list, concreteValue)
}
func (x *_GenesisState_1_list) AppendMutable() protoreflect.Value {
v := new(GrantAuthorization)
*x.list = append(*x.list, v)
return protoreflect.ValueOfMessage(v.ProtoReflect())
}
func (x *_GenesisState_1_list) Truncate(n int) {
for i := n; i < len(*x.list); i++ {
(*x.list)[i] = nil
}
*x.list = (*x.list)[:n]
}
func (x *_GenesisState_1_list) NewElement() protoreflect.Value {
v := new(GrantAuthorization)
return protoreflect.ValueOfMessage(v.ProtoReflect())
}
func (x *_GenesisState_1_list) IsValid() bool {
return x.list != nil
}
var (
md_GenesisState protoreflect.MessageDescriptor
fd_GenesisState_authorization protoreflect.FieldDescriptor
)
func init() {
file_cosmos_authz_v1beta1_genesis_proto_init()
md_GenesisState = File_cosmos_authz_v1beta1_genesis_proto.Messages().ByName("GenesisState")
fd_GenesisState_authorization = md_GenesisState.Fields().ByName("authorization")
}
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_cosmos_authz_v1beta1_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 len(x.Authorization) != 0 {
value := protoreflect.ValueOfList(&_GenesisState_1_list{list: &x.Authorization})
if !f(fd_GenesisState_authorization, 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 "cosmos.authz.v1beta1.GenesisState.authorization":
return len(x.Authorization) != 0
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.authz.v1beta1.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 "cosmos.authz.v1beta1.GenesisState.authorization":
x.Authorization = nil
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.authz.v1beta1.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 "cosmos.authz.v1beta1.GenesisState.authorization":
if len(x.Authorization) == 0 {
return protoreflect.ValueOfList(&_GenesisState_1_list{})
}
listValue := &_GenesisState_1_list{list: &x.Authorization}
return protoreflect.ValueOfList(listValue)
default:
if descriptor.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.authz.v1beta1.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 "cosmos.authz.v1beta1.GenesisState.authorization":
lv := value.List()
clv := lv.(*_GenesisState_1_list)
x.Authorization = *clv.list
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.authz.v1beta1.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 "cosmos.authz.v1beta1.GenesisState.authorization":
if x.Authorization == nil {
x.Authorization = []*GrantAuthorization{}
}
value := &_GenesisState_1_list{list: &x.Authorization}
return protoreflect.ValueOfList(value)
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.authz.v1beta1.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 "cosmos.authz.v1beta1.GenesisState.authorization":
list := []*GrantAuthorization{}
return protoreflect.ValueOfList(&_GenesisState_1_list{list: &list})
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.authz.v1beta1.GenesisState"))
}
panic(fmt.Errorf("message cosmos.authz.v1beta1.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 cosmos.authz.v1beta1.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 len(x.Authorization) > 0 {
for _, e := range x.Authorization {
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().(*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.Authorization) > 0 {
for iNdEx := len(x.Authorization) - 1; iNdEx >= 0; iNdEx-- {
encoded, err := options.Marshal(x.Authorization[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().(*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 Authorization", 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.Authorization = append(x.Authorization, &GrantAuthorization{})
if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Authorization[len(x.Authorization)-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: cosmos/authz/v1beta1/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 authz module's genesis state.
type GenesisState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Authorization []*GrantAuthorization `protobuf:"bytes,1,rep,name=authorization,proto3" json:"authorization,omitempty"`
}
func (x *GenesisState) Reset() {
*x = GenesisState{}
if protoimpl.UnsafeEnabled {
mi := &file_cosmos_authz_v1beta1_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_cosmos_authz_v1beta1_genesis_proto_rawDescGZIP(), []int{0}
}
func (x *GenesisState) GetAuthorization() []*GrantAuthorization {
if x != nil {
return x.Authorization
}
return nil
}
var File_cosmos_authz_v1beta1_genesis_proto protoreflect.FileDescriptor
var file_cosmos_authz_v1beta1_genesis_proto_rawDesc = []byte{
0x0a, 0x22, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74,
0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73,
0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63,
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a,
0x01, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x42, 0xce, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x47,
0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63,
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x58, 0xaa, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02,
0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x20, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41,
0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f,
0x73, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cosmos_authz_v1beta1_genesis_proto_rawDescOnce sync.Once
file_cosmos_authz_v1beta1_genesis_proto_rawDescData = file_cosmos_authz_v1beta1_genesis_proto_rawDesc
)
func file_cosmos_authz_v1beta1_genesis_proto_rawDescGZIP() []byte {
file_cosmos_authz_v1beta1_genesis_proto_rawDescOnce.Do(func() {
file_cosmos_authz_v1beta1_genesis_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_authz_v1beta1_genesis_proto_rawDescData)
})
return file_cosmos_authz_v1beta1_genesis_proto_rawDescData
}
var file_cosmos_authz_v1beta1_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cosmos_authz_v1beta1_genesis_proto_goTypes = []interface{}{
(*GenesisState)(nil), // 0: cosmos.authz.v1beta1.GenesisState
(*GrantAuthorization)(nil), // 1: cosmos.authz.v1beta1.GrantAuthorization
}
var file_cosmos_authz_v1beta1_genesis_proto_depIdxs = []int32{
1, // 0: cosmos.authz.v1beta1.GenesisState.authorization:type_name -> cosmos.authz.v1beta1.GrantAuthorization
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_cosmos_authz_v1beta1_genesis_proto_init() }
func file_cosmos_authz_v1beta1_genesis_proto_init() {
if File_cosmos_authz_v1beta1_genesis_proto != nil {
return
}
file_cosmos_authz_v1beta1_authz_proto_init()
if !protoimpl.UnsafeEnabled {
file_cosmos_authz_v1beta1_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_cosmos_authz_v1beta1_genesis_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cosmos_authz_v1beta1_genesis_proto_goTypes,
DependencyIndexes: file_cosmos_authz_v1beta1_genesis_proto_depIdxs,
MessageInfos: file_cosmos_authz_v1beta1_genesis_proto_msgTypes,
}.Build()
File_cosmos_authz_v1beta1_genesis_proto = out.File
file_cosmos_authz_v1beta1_genesis_proto_rawDesc = nil
file_cosmos_authz_v1beta1_genesis_proto_goTypes = nil
file_cosmos_authz_v1beta1_genesis_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
-207
View File
@@ -1,207 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: cosmos/authz/v1beta1/query.proto
package authzv1beta1
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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Query_Grants_FullMethodName = "/cosmos.authz.v1beta1.Query/Grants"
Query_GranterGrants_FullMethodName = "/cosmos.authz.v1beta1.Query/GranterGrants"
Query_GranteeGrants_FullMethodName = "/cosmos.authz.v1beta1.Query/GranteeGrants"
)
// 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.
//
// Query defines the gRPC querier service.
type QueryClient interface {
// Returns list of `Authorization`, granted to the grantee by the granter.
Grants(ctx context.Context, in *QueryGrantsRequest, opts ...grpc.CallOption) (*QueryGrantsResponse, error)
// GranterGrants returns list of `GrantAuthorization`, granted by granter.
GranterGrants(ctx context.Context, in *QueryGranterGrantsRequest, opts ...grpc.CallOption) (*QueryGranterGrantsResponse, error)
// GranteeGrants returns a list of `GrantAuthorization` by grantee.
GranteeGrants(ctx context.Context, in *QueryGranteeGrantsRequest, opts ...grpc.CallOption) (*QueryGranteeGrantsResponse, error)
}
type queryClient struct {
cc grpc.ClientConnInterface
}
func NewQueryClient(cc grpc.ClientConnInterface) QueryClient {
return &queryClient{cc}
}
func (c *queryClient) Grants(ctx context.Context, in *QueryGrantsRequest, opts ...grpc.CallOption) (*QueryGrantsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryGrantsResponse)
err := c.cc.Invoke(ctx, Query_Grants_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) GranterGrants(ctx context.Context, in *QueryGranterGrantsRequest, opts ...grpc.CallOption) (*QueryGranterGrantsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryGranterGrantsResponse)
err := c.cc.Invoke(ctx, Query_GranterGrants_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) GranteeGrants(ctx context.Context, in *QueryGranteeGrantsRequest, opts ...grpc.CallOption) (*QueryGranteeGrantsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryGranteeGrantsResponse)
err := c.cc.Invoke(ctx, Query_GranteeGrants_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// QueryServer is the server API for Query service.
// All implementations must embed UnimplementedQueryServer
// for forward compatibility.
//
// Query defines the gRPC querier service.
type QueryServer interface {
// Returns list of `Authorization`, granted to the grantee by the granter.
Grants(context.Context, *QueryGrantsRequest) (*QueryGrantsResponse, error)
// GranterGrants returns list of `GrantAuthorization`, granted by granter.
GranterGrants(context.Context, *QueryGranterGrantsRequest) (*QueryGranterGrantsResponse, error)
// GranteeGrants returns a list of `GrantAuthorization` by grantee.
GranteeGrants(context.Context, *QueryGranteeGrantsRequest) (*QueryGranteeGrantsResponse, error)
mustEmbedUnimplementedQueryServer()
}
// UnimplementedQueryServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedQueryServer struct{}
func (UnimplementedQueryServer) Grants(context.Context, *QueryGrantsRequest) (*QueryGrantsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Grants not implemented")
}
func (UnimplementedQueryServer) GranterGrants(context.Context, *QueryGranterGrantsRequest) (*QueryGranterGrantsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GranterGrants not implemented")
}
func (UnimplementedQueryServer) GranteeGrants(context.Context, *QueryGranteeGrantsRequest) (*QueryGranteeGrantsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GranteeGrants not implemented")
}
func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {}
func (UnimplementedQueryServer) testEmbeddedByValue() {}
// 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) {
// If the following call pancis, it indicates UnimplementedQueryServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Query_ServiceDesc, srv)
}
func _Query_Grants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryGrantsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).Grants(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_Grants_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).Grants(ctx, req.(*QueryGrantsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_GranterGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryGranterGrantsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).GranterGrants(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_GranterGrants_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).GranterGrants(ctx, req.(*QueryGranterGrantsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_GranteeGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryGranteeGrantsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).GranteeGrants(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_GranteeGrants_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).GranteeGrants(ctx, req.(*QueryGranteeGrantsRequest))
}
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: "cosmos.authz.v1beta1.Query",
HandlerType: (*QueryServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Grants",
Handler: _Query_Grants_Handler,
},
{
MethodName: "GranterGrants",
Handler: _Query_GranterGrants_Handler,
},
{
MethodName: "GranteeGrants",
Handler: _Query_GranteeGrants_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/authz/v1beta1/query.proto",
}
File diff suppressed because it is too large Load Diff
-219
View File
@@ -1,219 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: cosmos/authz/v1beta1/tx.proto
package authzv1beta1
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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Msg_Grant_FullMethodName = "/cosmos.authz.v1beta1.Msg/Grant"
Msg_Exec_FullMethodName = "/cosmos.authz.v1beta1.Msg/Exec"
Msg_Revoke_FullMethodName = "/cosmos.authz.v1beta1.Msg/Revoke"
)
// 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.
//
// Msg defines the authz Msg service.
type MsgClient interface {
// Grant grants the provided authorization to the grantee on the granter's
// account with the provided expiration time. If there is already a grant
// for the given (granter, grantee, Authorization) triple, then the grant
// will be overwritten.
Grant(ctx context.Context, in *MsgGrant, opts ...grpc.CallOption) (*MsgGrantResponse, error)
// Exec attempts to execute the provided messages using
// authorizations granted to the grantee. Each message should have only
// one signer corresponding to the granter of the authorization.
Exec(ctx context.Context, in *MsgExec, opts ...grpc.CallOption) (*MsgExecResponse, error)
// Revoke revokes any authorization corresponding to the provided method name on the
// granter's account that has been granted to the grantee.
Revoke(ctx context.Context, in *MsgRevoke, opts ...grpc.CallOption) (*MsgRevokeResponse, error)
}
type msgClient struct {
cc grpc.ClientConnInterface
}
func NewMsgClient(cc grpc.ClientConnInterface) MsgClient {
return &msgClient{cc}
}
func (c *msgClient) Grant(ctx context.Context, in *MsgGrant, opts ...grpc.CallOption) (*MsgGrantResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(MsgGrantResponse)
err := c.cc.Invoke(ctx, Msg_Grant_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *msgClient) Exec(ctx context.Context, in *MsgExec, opts ...grpc.CallOption) (*MsgExecResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(MsgExecResponse)
err := c.cc.Invoke(ctx, Msg_Exec_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *msgClient) Revoke(ctx context.Context, in *MsgRevoke, opts ...grpc.CallOption) (*MsgRevokeResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(MsgRevokeResponse)
err := c.cc.Invoke(ctx, Msg_Revoke_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// MsgServer is the server API for Msg service.
// All implementations must embed UnimplementedMsgServer
// for forward compatibility.
//
// Msg defines the authz Msg service.
type MsgServer interface {
// Grant grants the provided authorization to the grantee on the granter's
// account with the provided expiration time. If there is already a grant
// for the given (granter, grantee, Authorization) triple, then the grant
// will be overwritten.
Grant(context.Context, *MsgGrant) (*MsgGrantResponse, error)
// Exec attempts to execute the provided messages using
// authorizations granted to the grantee. Each message should have only
// one signer corresponding to the granter of the authorization.
Exec(context.Context, *MsgExec) (*MsgExecResponse, error)
// Revoke revokes any authorization corresponding to the provided method name on the
// granter's account that has been granted to the grantee.
Revoke(context.Context, *MsgRevoke) (*MsgRevokeResponse, error)
mustEmbedUnimplementedMsgServer()
}
// UnimplementedMsgServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedMsgServer struct{}
func (UnimplementedMsgServer) Grant(context.Context, *MsgGrant) (*MsgGrantResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Grant not implemented")
}
func (UnimplementedMsgServer) Exec(context.Context, *MsgExec) (*MsgExecResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Exec not implemented")
}
func (UnimplementedMsgServer) Revoke(context.Context, *MsgRevoke) (*MsgRevokeResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Revoke not implemented")
}
func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {}
func (UnimplementedMsgServer) testEmbeddedByValue() {}
// 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) {
// If the following call pancis, it indicates UnimplementedMsgServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Msg_ServiceDesc, srv)
}
func _Msg_Grant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(MsgGrant)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MsgServer).Grant(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Msg_Grant_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MsgServer).Grant(ctx, req.(*MsgGrant))
}
return interceptor(ctx, in, info, handler)
}
func _Msg_Exec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(MsgExec)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MsgServer).Exec(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Msg_Exec_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MsgServer).Exec(ctx, req.(*MsgExec))
}
return interceptor(ctx, in, info, handler)
}
func _Msg_Revoke_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(MsgRevoke)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MsgServer).Revoke(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Msg_Revoke_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MsgServer).Revoke(ctx, req.(*MsgRevoke))
}
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: "cosmos.authz.v1beta1.Msg",
HandlerType: (*MsgServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Grant",
Handler: _Msg_Grant_Handler,
},
{
MethodName: "Exec",
Handler: _Msg_Exec_Handler,
},
{
MethodName: "Revoke",
Handler: _Msg_Revoke_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/authz/v1beta1/tx.proto",
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-129
View File
@@ -1,129 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: cosmos/autocli/v1/query.proto
package autocliv1
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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Query_AppOptions_FullMethodName = "/cosmos.autocli.v1.Query/AppOptions"
)
// 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.
//
// RemoteInfoService provides clients with the information they need
// to build dynamically CLI clients for remote chains.
type QueryClient interface {
// AppOptions returns the autocli options for all of the modules in an app.
AppOptions(ctx context.Context, in *AppOptionsRequest, opts ...grpc.CallOption) (*AppOptionsResponse, error)
}
type queryClient struct {
cc grpc.ClientConnInterface
}
func NewQueryClient(cc grpc.ClientConnInterface) QueryClient {
return &queryClient{cc}
}
func (c *queryClient) AppOptions(ctx context.Context, in *AppOptionsRequest, opts ...grpc.CallOption) (*AppOptionsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(AppOptionsResponse)
err := c.cc.Invoke(ctx, Query_AppOptions_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// QueryServer is the server API for Query service.
// All implementations must embed UnimplementedQueryServer
// for forward compatibility.
//
// RemoteInfoService provides clients with the information they need
// to build dynamically CLI clients for remote chains.
type QueryServer interface {
// AppOptions returns the autocli options for all of the modules in an app.
AppOptions(context.Context, *AppOptionsRequest) (*AppOptionsResponse, error)
mustEmbedUnimplementedQueryServer()
}
// UnimplementedQueryServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedQueryServer struct{}
func (UnimplementedQueryServer) AppOptions(context.Context, *AppOptionsRequest) (*AppOptionsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AppOptions not implemented")
}
func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {}
func (UnimplementedQueryServer) testEmbeddedByValue() {}
// 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) {
// If the following call pancis, it indicates UnimplementedQueryServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Query_ServiceDesc, srv)
}
func _Query_AppOptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AppOptionsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).AppOptions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_AppOptions_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).AppOptions(ctx, req.(*AppOptionsRequest))
}
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: "cosmos.autocli.v1.Query",
HandlerType: (*QueryServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "AppOptions",
Handler: _Query_AppOptions_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/autocli/v1/query.proto",
}
-856
View File
@@ -1,856 +0,0 @@
// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package modulev1
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 _ protoreflect.List = (*_Module_1_list)(nil)
type _Module_1_list struct {
list *[]string
}
func (x *_Module_1_list) Len() int {
if x.list == nil {
return 0
}
return len(*x.list)
}
func (x *_Module_1_list) Get(i int) protoreflect.Value {
return protoreflect.ValueOfString((*x.list)[i])
}
func (x *_Module_1_list) Set(i int, value protoreflect.Value) {
valueUnwrapped := value.String()
concreteValue := valueUnwrapped
(*x.list)[i] = concreteValue
}
func (x *_Module_1_list) Append(value protoreflect.Value) {
valueUnwrapped := value.String()
concreteValue := valueUnwrapped
*x.list = append(*x.list, concreteValue)
}
func (x *_Module_1_list) AppendMutable() protoreflect.Value {
panic(fmt.Errorf("AppendMutable can not be called on message Module at list field BlockedModuleAccountsOverride as it is not of Message kind"))
}
func (x *_Module_1_list) Truncate(n int) {
*x.list = (*x.list)[:n]
}
func (x *_Module_1_list) NewElement() protoreflect.Value {
v := ""
return protoreflect.ValueOfString(v)
}
func (x *_Module_1_list) IsValid() bool {
return x.list != nil
}
var _ protoreflect.List = (*_Module_3_list)(nil)
type _Module_3_list struct {
list *[]string
}
func (x *_Module_3_list) Len() int {
if x.list == nil {
return 0
}
return len(*x.list)
}
func (x *_Module_3_list) Get(i int) protoreflect.Value {
return protoreflect.ValueOfString((*x.list)[i])
}
func (x *_Module_3_list) Set(i int, value protoreflect.Value) {
valueUnwrapped := value.String()
concreteValue := valueUnwrapped
(*x.list)[i] = concreteValue
}
func (x *_Module_3_list) Append(value protoreflect.Value) {
valueUnwrapped := value.String()
concreteValue := valueUnwrapped
*x.list = append(*x.list, concreteValue)
}
func (x *_Module_3_list) AppendMutable() protoreflect.Value {
panic(fmt.Errorf("AppendMutable can not be called on message Module at list field RestrictionsOrder as it is not of Message kind"))
}
func (x *_Module_3_list) Truncate(n int) {
*x.list = (*x.list)[:n]
}
func (x *_Module_3_list) NewElement() protoreflect.Value {
v := ""
return protoreflect.ValueOfString(v)
}
func (x *_Module_3_list) IsValid() bool {
return x.list != nil
}
var (
md_Module protoreflect.MessageDescriptor
fd_Module_blocked_module_accounts_override protoreflect.FieldDescriptor
fd_Module_authority protoreflect.FieldDescriptor
fd_Module_restrictions_order protoreflect.FieldDescriptor
)
func init() {
file_cosmos_bank_module_v1_module_proto_init()
md_Module = File_cosmos_bank_module_v1_module_proto.Messages().ByName("Module")
fd_Module_blocked_module_accounts_override = md_Module.Fields().ByName("blocked_module_accounts_override")
fd_Module_authority = md_Module.Fields().ByName("authority")
fd_Module_restrictions_order = md_Module.Fields().ByName("restrictions_order")
}
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_cosmos_bank_module_v1_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 len(x.BlockedModuleAccountsOverride) != 0 {
value := protoreflect.ValueOfList(&_Module_1_list{list: &x.BlockedModuleAccountsOverride})
if !f(fd_Module_blocked_module_accounts_override, value) {
return
}
}
if x.Authority != "" {
value := protoreflect.ValueOfString(x.Authority)
if !f(fd_Module_authority, value) {
return
}
}
if len(x.RestrictionsOrder) != 0 {
value := protoreflect.ValueOfList(&_Module_3_list{list: &x.RestrictionsOrder})
if !f(fd_Module_restrictions_order, 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 "cosmos.bank.module.v1.Module.blocked_module_accounts_override":
return len(x.BlockedModuleAccountsOverride) != 0
case "cosmos.bank.module.v1.Module.authority":
return x.Authority != ""
case "cosmos.bank.module.v1.Module.restrictions_order":
return len(x.RestrictionsOrder) != 0
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.bank.module.v1.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 "cosmos.bank.module.v1.Module.blocked_module_accounts_override":
x.BlockedModuleAccountsOverride = nil
case "cosmos.bank.module.v1.Module.authority":
x.Authority = ""
case "cosmos.bank.module.v1.Module.restrictions_order":
x.RestrictionsOrder = nil
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.bank.module.v1.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 "cosmos.bank.module.v1.Module.blocked_module_accounts_override":
if len(x.BlockedModuleAccountsOverride) == 0 {
return protoreflect.ValueOfList(&_Module_1_list{})
}
listValue := &_Module_1_list{list: &x.BlockedModuleAccountsOverride}
return protoreflect.ValueOfList(listValue)
case "cosmos.bank.module.v1.Module.authority":
value := x.Authority
return protoreflect.ValueOfString(value)
case "cosmos.bank.module.v1.Module.restrictions_order":
if len(x.RestrictionsOrder) == 0 {
return protoreflect.ValueOfList(&_Module_3_list{})
}
listValue := &_Module_3_list{list: &x.RestrictionsOrder}
return protoreflect.ValueOfList(listValue)
default:
if descriptor.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.bank.module.v1.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 "cosmos.bank.module.v1.Module.blocked_module_accounts_override":
lv := value.List()
clv := lv.(*_Module_1_list)
x.BlockedModuleAccountsOverride = *clv.list
case "cosmos.bank.module.v1.Module.authority":
x.Authority = value.Interface().(string)
case "cosmos.bank.module.v1.Module.restrictions_order":
lv := value.List()
clv := lv.(*_Module_3_list)
x.RestrictionsOrder = *clv.list
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.bank.module.v1.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 "cosmos.bank.module.v1.Module.blocked_module_accounts_override":
if x.BlockedModuleAccountsOverride == nil {
x.BlockedModuleAccountsOverride = []string{}
}
value := &_Module_1_list{list: &x.BlockedModuleAccountsOverride}
return protoreflect.ValueOfList(value)
case "cosmos.bank.module.v1.Module.restrictions_order":
if x.RestrictionsOrder == nil {
x.RestrictionsOrder = []string{}
}
value := &_Module_3_list{list: &x.RestrictionsOrder}
return protoreflect.ValueOfList(value)
case "cosmos.bank.module.v1.Module.authority":
panic(fmt.Errorf("field authority of message cosmos.bank.module.v1.Module is not mutable"))
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.bank.module.v1.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 "cosmos.bank.module.v1.Module.blocked_module_accounts_override":
list := []string{}
return protoreflect.ValueOfList(&_Module_1_list{list: &list})
case "cosmos.bank.module.v1.Module.authority":
return protoreflect.ValueOfString("")
case "cosmos.bank.module.v1.Module.restrictions_order":
list := []string{}
return protoreflect.ValueOfList(&_Module_3_list{list: &list})
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.module.v1.Module"))
}
panic(fmt.Errorf("message cosmos.bank.module.v1.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 cosmos.bank.module.v1.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
if len(x.BlockedModuleAccountsOverride) > 0 {
for _, s := range x.BlockedModuleAccountsOverride {
l = len(s)
n += 1 + l + runtime.Sov(uint64(l))
}
}
l = len(x.Authority)
if l > 0 {
n += 1 + l + runtime.Sov(uint64(l))
}
if len(x.RestrictionsOrder) > 0 {
for _, s := range x.RestrictionsOrder {
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().(*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.RestrictionsOrder) > 0 {
for iNdEx := len(x.RestrictionsOrder) - 1; iNdEx >= 0; iNdEx-- {
i -= len(x.RestrictionsOrder[iNdEx])
copy(dAtA[i:], x.RestrictionsOrder[iNdEx])
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RestrictionsOrder[iNdEx])))
i--
dAtA[i] = 0x1a
}
}
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] = 0x12
}
if len(x.BlockedModuleAccountsOverride) > 0 {
for iNdEx := len(x.BlockedModuleAccountsOverride) - 1; iNdEx >= 0; iNdEx-- {
i -= len(x.BlockedModuleAccountsOverride[iNdEx])
copy(dAtA[i:], x.BlockedModuleAccountsOverride[iNdEx])
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BlockedModuleAccountsOverride[iNdEx])))
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 BlockedModuleAccountsOverride", 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.BlockedModuleAccountsOverride = append(x.BlockedModuleAccountsOverride, 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 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 3:
if wireType != 2 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RestrictionsOrder", 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.RestrictionsOrder = append(x.RestrictionsOrder, 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: cosmos/bank/module/v1/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 of the bank module.
type Module struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// blocked_module_accounts_override configures exceptional module accounts which should be blocked from receiving
// funds. If left empty it defaults to the list of account names supplied in the auth module configuration as
// module_account_permissions
BlockedModuleAccountsOverride []string `protobuf:"bytes,1,rep,name=blocked_module_accounts_override,json=blockedModuleAccountsOverride,proto3" json:"blocked_module_accounts_override,omitempty"`
// authority defines the custom module authority. If not set, defaults to the governance module.
Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
// restrictions_order specifies the order of send restrictions and should be
// a list of module names which provide a send restriction instance. If no
// order is provided, then restrictions will be applied in alphabetical order
// of module names.
RestrictionsOrder []string `protobuf:"bytes,3,rep,name=restrictions_order,json=restrictionsOrder,proto3" json:"restrictions_order,omitempty"`
}
func (x *Module) Reset() {
*x = Module{}
if protoimpl.UnsafeEnabled {
mi := &file_cosmos_bank_module_v1_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_cosmos_bank_module_v1_module_proto_rawDescGZIP(), []int{0}
}
func (x *Module) GetBlockedModuleAccountsOverride() []string {
if x != nil {
return x.BlockedModuleAccountsOverride
}
return nil
}
func (x *Module) GetAuthority() string {
if x != nil {
return x.Authority
}
return ""
}
func (x *Module) GetRestrictionsOrder() []string {
if x != nil {
return x.RestrictionsOrder
}
return nil
}
var File_cosmos_bank_module_v1_module_proto protoreflect.FileDescriptor
var file_cosmos_bank_module_v1_module_proto_rawDesc = []byte{
0x0a, 0x22, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x6e, 0x6b, 0x2f, 0x6d, 0x6f,
0x64, 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x6e,
0x6b, 0x2e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x31, 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, 0xcb, 0x01,
0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x62, 0x6c, 0x6f, 0x63,
0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x73, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x03,
0x28, 0x09, 0x52, 0x1d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c,
0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12,
0x2d, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f,
0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x73,
0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x3a, 0x2b,
0xba, 0xc0, 0x96, 0xda, 0x01, 0x25, 0x0a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x62, 0x61, 0x6e, 0x6b, 0x42, 0xd0, 0x01, 0x0a, 0x19,
0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x6e, 0x6b, 0x2e,
0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x4d, 0x6f, 0x64, 0x75, 0x6c,
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
0x73, 0x2f, 0x62, 0x61, 0x6e, 0x6b, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x31,
0x3b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x42, 0x4d, 0xaa,
0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x61, 0x6e, 0x6b, 0x2e, 0x4d, 0x6f,
0x64, 0x75, 0x6c, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
0x5c, 0x42, 0x61, 0x6e, 0x6b, 0x5c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0xe2,
0x02, 0x21, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x6e, 0x6b, 0x5c, 0x4d, 0x6f,
0x64, 0x75, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x42, 0x61,
0x6e, 0x6b, 0x3a, 0x3a, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cosmos_bank_module_v1_module_proto_rawDescOnce sync.Once
file_cosmos_bank_module_v1_module_proto_rawDescData = file_cosmos_bank_module_v1_module_proto_rawDesc
)
func file_cosmos_bank_module_v1_module_proto_rawDescGZIP() []byte {
file_cosmos_bank_module_v1_module_proto_rawDescOnce.Do(func() {
file_cosmos_bank_module_v1_module_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_bank_module_v1_module_proto_rawDescData)
})
return file_cosmos_bank_module_v1_module_proto_rawDescData
}
var file_cosmos_bank_module_v1_module_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cosmos_bank_module_v1_module_proto_goTypes = []interface{}{
(*Module)(nil), // 0: cosmos.bank.module.v1.Module
}
var file_cosmos_bank_module_v1_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_cosmos_bank_module_v1_module_proto_init() }
func file_cosmos_bank_module_v1_module_proto_init() {
if File_cosmos_bank_module_v1_module_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cosmos_bank_module_v1_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_cosmos_bank_module_v1_module_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cosmos_bank_module_v1_module_proto_goTypes,
DependencyIndexes: file_cosmos_bank_module_v1_module_proto_depIdxs,
MessageInfos: file_cosmos_bank_module_v1_module_proto_msgTypes,
}.Build()
File_cosmos_bank_module_v1_module_proto = out.File
file_cosmos_bank_module_v1_module_proto_rawDesc = nil
file_cosmos_bank_module_v1_module_proto_goTypes = nil
file_cosmos_bank_module_v1_module_proto_depIdxs = nil
}
-808
View File
@@ -1,808 +0,0 @@
// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package bankv1beta1
import (
_ "cosmossdk.io/api/amino"
v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1"
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 _ protoreflect.List = (*_SendAuthorization_1_list)(nil)
type _SendAuthorization_1_list struct {
list *[]*v1beta1.Coin
}
func (x *_SendAuthorization_1_list) Len() int {
if x.list == nil {
return 0
}
return len(*x.list)
}
func (x *_SendAuthorization_1_list) Get(i int) protoreflect.Value {
return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
}
func (x *_SendAuthorization_1_list) Set(i int, value protoreflect.Value) {
valueUnwrapped := value.Message()
concreteValue := valueUnwrapped.Interface().(*v1beta1.Coin)
(*x.list)[i] = concreteValue
}
func (x *_SendAuthorization_1_list) Append(value protoreflect.Value) {
valueUnwrapped := value.Message()
concreteValue := valueUnwrapped.Interface().(*v1beta1.Coin)
*x.list = append(*x.list, concreteValue)
}
func (x *_SendAuthorization_1_list) AppendMutable() protoreflect.Value {
v := new(v1beta1.Coin)
*x.list = append(*x.list, v)
return protoreflect.ValueOfMessage(v.ProtoReflect())
}
func (x *_SendAuthorization_1_list) Truncate(n int) {
for i := n; i < len(*x.list); i++ {
(*x.list)[i] = nil
}
*x.list = (*x.list)[:n]
}
func (x *_SendAuthorization_1_list) NewElement() protoreflect.Value {
v := new(v1beta1.Coin)
return protoreflect.ValueOfMessage(v.ProtoReflect())
}
func (x *_SendAuthorization_1_list) IsValid() bool {
return x.list != nil
}
var _ protoreflect.List = (*_SendAuthorization_2_list)(nil)
type _SendAuthorization_2_list struct {
list *[]string
}
func (x *_SendAuthorization_2_list) Len() int {
if x.list == nil {
return 0
}
return len(*x.list)
}
func (x *_SendAuthorization_2_list) Get(i int) protoreflect.Value {
return protoreflect.ValueOfString((*x.list)[i])
}
func (x *_SendAuthorization_2_list) Set(i int, value protoreflect.Value) {
valueUnwrapped := value.String()
concreteValue := valueUnwrapped
(*x.list)[i] = concreteValue
}
func (x *_SendAuthorization_2_list) Append(value protoreflect.Value) {
valueUnwrapped := value.String()
concreteValue := valueUnwrapped
*x.list = append(*x.list, concreteValue)
}
func (x *_SendAuthorization_2_list) AppendMutable() protoreflect.Value {
panic(fmt.Errorf("AppendMutable can not be called on message SendAuthorization at list field AllowList as it is not of Message kind"))
}
func (x *_SendAuthorization_2_list) Truncate(n int) {
*x.list = (*x.list)[:n]
}
func (x *_SendAuthorization_2_list) NewElement() protoreflect.Value {
v := ""
return protoreflect.ValueOfString(v)
}
func (x *_SendAuthorization_2_list) IsValid() bool {
return x.list != nil
}
var (
md_SendAuthorization protoreflect.MessageDescriptor
fd_SendAuthorization_spend_limit protoreflect.FieldDescriptor
fd_SendAuthorization_allow_list protoreflect.FieldDescriptor
)
func init() {
file_cosmos_bank_v1beta1_authz_proto_init()
md_SendAuthorization = File_cosmos_bank_v1beta1_authz_proto.Messages().ByName("SendAuthorization")
fd_SendAuthorization_spend_limit = md_SendAuthorization.Fields().ByName("spend_limit")
fd_SendAuthorization_allow_list = md_SendAuthorization.Fields().ByName("allow_list")
}
var _ protoreflect.Message = (*fastReflection_SendAuthorization)(nil)
type fastReflection_SendAuthorization SendAuthorization
func (x *SendAuthorization) ProtoReflect() protoreflect.Message {
return (*fastReflection_SendAuthorization)(x)
}
func (x *SendAuthorization) slowProtoReflect() protoreflect.Message {
mi := &file_cosmos_bank_v1beta1_authz_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_SendAuthorization_messageType fastReflection_SendAuthorization_messageType
var _ protoreflect.MessageType = fastReflection_SendAuthorization_messageType{}
type fastReflection_SendAuthorization_messageType struct{}
func (x fastReflection_SendAuthorization_messageType) Zero() protoreflect.Message {
return (*fastReflection_SendAuthorization)(nil)
}
func (x fastReflection_SendAuthorization_messageType) New() protoreflect.Message {
return new(fastReflection_SendAuthorization)
}
func (x fastReflection_SendAuthorization_messageType) Descriptor() protoreflect.MessageDescriptor {
return md_SendAuthorization
}
// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_SendAuthorization) Descriptor() protoreflect.MessageDescriptor {
return md_SendAuthorization
}
// 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_SendAuthorization) Type() protoreflect.MessageType {
return _fastReflection_SendAuthorization_messageType
}
// New returns a newly allocated and mutable empty message.
func (x *fastReflection_SendAuthorization) New() protoreflect.Message {
return new(fastReflection_SendAuthorization)
}
// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_SendAuthorization) Interface() protoreflect.ProtoMessage {
return (*SendAuthorization)(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_SendAuthorization) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
if len(x.SpendLimit) != 0 {
value := protoreflect.ValueOfList(&_SendAuthorization_1_list{list: &x.SpendLimit})
if !f(fd_SendAuthorization_spend_limit, value) {
return
}
}
if len(x.AllowList) != 0 {
value := protoreflect.ValueOfList(&_SendAuthorization_2_list{list: &x.AllowList})
if !f(fd_SendAuthorization_allow_list, 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_SendAuthorization) Has(fd protoreflect.FieldDescriptor) bool {
switch fd.FullName() {
case "cosmos.bank.v1beta1.SendAuthorization.spend_limit":
return len(x.SpendLimit) != 0
case "cosmos.bank.v1beta1.SendAuthorization.allow_list":
return len(x.AllowList) != 0
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.v1beta1.SendAuthorization"))
}
panic(fmt.Errorf("message cosmos.bank.v1beta1.SendAuthorization 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_SendAuthorization) Clear(fd protoreflect.FieldDescriptor) {
switch fd.FullName() {
case "cosmos.bank.v1beta1.SendAuthorization.spend_limit":
x.SpendLimit = nil
case "cosmos.bank.v1beta1.SendAuthorization.allow_list":
x.AllowList = nil
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.v1beta1.SendAuthorization"))
}
panic(fmt.Errorf("message cosmos.bank.v1beta1.SendAuthorization 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_SendAuthorization) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
switch descriptor.FullName() {
case "cosmos.bank.v1beta1.SendAuthorization.spend_limit":
if len(x.SpendLimit) == 0 {
return protoreflect.ValueOfList(&_SendAuthorization_1_list{})
}
listValue := &_SendAuthorization_1_list{list: &x.SpendLimit}
return protoreflect.ValueOfList(listValue)
case "cosmos.bank.v1beta1.SendAuthorization.allow_list":
if len(x.AllowList) == 0 {
return protoreflect.ValueOfList(&_SendAuthorization_2_list{})
}
listValue := &_SendAuthorization_2_list{list: &x.AllowList}
return protoreflect.ValueOfList(listValue)
default:
if descriptor.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.v1beta1.SendAuthorization"))
}
panic(fmt.Errorf("message cosmos.bank.v1beta1.SendAuthorization 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_SendAuthorization) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
switch fd.FullName() {
case "cosmos.bank.v1beta1.SendAuthorization.spend_limit":
lv := value.List()
clv := lv.(*_SendAuthorization_1_list)
x.SpendLimit = *clv.list
case "cosmos.bank.v1beta1.SendAuthorization.allow_list":
lv := value.List()
clv := lv.(*_SendAuthorization_2_list)
x.AllowList = *clv.list
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.v1beta1.SendAuthorization"))
}
panic(fmt.Errorf("message cosmos.bank.v1beta1.SendAuthorization 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_SendAuthorization) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
switch fd.FullName() {
case "cosmos.bank.v1beta1.SendAuthorization.spend_limit":
if x.SpendLimit == nil {
x.SpendLimit = []*v1beta1.Coin{}
}
value := &_SendAuthorization_1_list{list: &x.SpendLimit}
return protoreflect.ValueOfList(value)
case "cosmos.bank.v1beta1.SendAuthorization.allow_list":
if x.AllowList == nil {
x.AllowList = []string{}
}
value := &_SendAuthorization_2_list{list: &x.AllowList}
return protoreflect.ValueOfList(value)
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.v1beta1.SendAuthorization"))
}
panic(fmt.Errorf("message cosmos.bank.v1beta1.SendAuthorization 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_SendAuthorization) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
switch fd.FullName() {
case "cosmos.bank.v1beta1.SendAuthorization.spend_limit":
list := []*v1beta1.Coin{}
return protoreflect.ValueOfList(&_SendAuthorization_1_list{list: &list})
case "cosmos.bank.v1beta1.SendAuthorization.allow_list":
list := []string{}
return protoreflect.ValueOfList(&_SendAuthorization_2_list{list: &list})
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.bank.v1beta1.SendAuthorization"))
}
panic(fmt.Errorf("message cosmos.bank.v1beta1.SendAuthorization 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_SendAuthorization) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
switch d.FullName() {
default:
panic(fmt.Errorf("%s is not a oneof field in cosmos.bank.v1beta1.SendAuthorization", 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_SendAuthorization) 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_SendAuthorization) 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_SendAuthorization) 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_SendAuthorization) ProtoMethods() *protoiface.Methods {
size := func(input protoiface.SizeInput) protoiface.SizeOutput {
x := input.Message.Interface().(*SendAuthorization)
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.SpendLimit) > 0 {
for _, e := range x.SpendLimit {
l = options.Size(e)
n += 1 + l + runtime.Sov(uint64(l))
}
}
if len(x.AllowList) > 0 {
for _, s := range x.AllowList {
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().(*SendAuthorization)
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.AllowList) > 0 {
for iNdEx := len(x.AllowList) - 1; iNdEx >= 0; iNdEx-- {
i -= len(x.AllowList[iNdEx])
copy(dAtA[i:], x.AllowList[iNdEx])
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AllowList[iNdEx])))
i--
dAtA[i] = 0x12
}
}
if len(x.SpendLimit) > 0 {
for iNdEx := len(x.SpendLimit) - 1; iNdEx >= 0; iNdEx-- {
encoded, err := options.Marshal(x.SpendLimit[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().(*SendAuthorization)
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: SendAuthorization: wiretype end group for non-group")
}
if fieldNum <= 0 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SendAuthorization: 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 SpendLimit", 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.SpendLimit = append(x.SpendLimit, &v1beta1.Coin{})
if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SpendLimit[len(x.SpendLimit)-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 AllowList", 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.AllowList = append(x.AllowList, 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: cosmos/bank/v1beta1/authz.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)
)
// SendAuthorization allows the grantee to spend up to spend_limit coins from
// the granter's account.
type SendAuthorization struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SpendLimit []*v1beta1.Coin `protobuf:"bytes,1,rep,name=spend_limit,json=spendLimit,proto3" json:"spend_limit,omitempty"`
// allow_list specifies an optional list of addresses to whom the grantee can send tokens on behalf of the
// granter. If omitted, any recipient is allowed.
AllowList []string `protobuf:"bytes,2,rep,name=allow_list,json=allowList,proto3" json:"allow_list,omitempty"`
}
func (x *SendAuthorization) Reset() {
*x = SendAuthorization{}
if protoimpl.UnsafeEnabled {
mi := &file_cosmos_bank_v1beta1_authz_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SendAuthorization) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendAuthorization) ProtoMessage() {}
// Deprecated: Use SendAuthorization.ProtoReflect.Descriptor instead.
func (*SendAuthorization) Descriptor() ([]byte, []int) {
return file_cosmos_bank_v1beta1_authz_proto_rawDescGZIP(), []int{0}
}
func (x *SendAuthorization) GetSpendLimit() []*v1beta1.Coin {
if x != nil {
return x.SpendLimit
}
return nil
}
func (x *SendAuthorization) GetAllowList() []string {
if x != nil {
return x.AllowList
}
return nil
}
var File_cosmos_bank_v1beta1_authz_proto protoreflect.FileDescriptor
var file_cosmos_bank_v1beta1_authz_proto_rawDesc = []byte{
0x0a, 0x1f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x6e, 0x6b, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x13, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x6e, 0x6b, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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,
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, 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, 0xc0, 0x02, 0x0a, 0x11, 0x53,
0x65, 0x6e, 0x64, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x82, 0x01, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69,
0x6e, 0x42, 0x46, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75,
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73,
0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f,
0x69, 0x6e, 0x73, 0x9a, 0xe7, 0xb0, 0x2a, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63,
0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x6e, 0x64,
0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c,
0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2b, 0xd2, 0xb4, 0x2d, 0x14, 0x63,
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72,
0x69, 0x6e, 0x67, 0xda, 0xb4, 0x2d, 0x0f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64,
0x6b, 0x20, 0x30, 0x2e, 0x34, 0x37, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x73,
0x74, 0x3a, 0x5a, 0xca, 0xb4, 0x2d, 0x22, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75,
0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68,
0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xd2, 0xb4, 0x2d, 0x0f, 0x63, 0x6f, 0x73,
0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, 0x30, 0x2e, 0x34, 0x33, 0x8a, 0xe7, 0xb0, 0x2a,
0x1c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x53, 0x65, 0x6e, 0x64,
0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xc5, 0x01,
0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x6e,
0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x7a,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73,
0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
0x2f, 0x62, 0x61, 0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x62, 0x61,
0x6e, 0x6b, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x42, 0x58, 0xaa,
0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x61, 0x6e, 0x6b, 0x2e, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42,
0x61, 0x6e, 0x6b, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f,
0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x6e, 0x6b, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15,
0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x42, 0x61, 0x6e, 0x6b, 0x3a, 0x3a, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cosmos_bank_v1beta1_authz_proto_rawDescOnce sync.Once
file_cosmos_bank_v1beta1_authz_proto_rawDescData = file_cosmos_bank_v1beta1_authz_proto_rawDesc
)
func file_cosmos_bank_v1beta1_authz_proto_rawDescGZIP() []byte {
file_cosmos_bank_v1beta1_authz_proto_rawDescOnce.Do(func() {
file_cosmos_bank_v1beta1_authz_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_bank_v1beta1_authz_proto_rawDescData)
})
return file_cosmos_bank_v1beta1_authz_proto_rawDescData
}
var file_cosmos_bank_v1beta1_authz_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_cosmos_bank_v1beta1_authz_proto_goTypes = []interface{}{
(*SendAuthorization)(nil), // 0: cosmos.bank.v1beta1.SendAuthorization
(*v1beta1.Coin)(nil), // 1: cosmos.base.v1beta1.Coin
}
var file_cosmos_bank_v1beta1_authz_proto_depIdxs = []int32{
1, // 0: cosmos.bank.v1beta1.SendAuthorization.spend_limit:type_name -> cosmos.base.v1beta1.Coin
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_cosmos_bank_v1beta1_authz_proto_init() }
func file_cosmos_bank_v1beta1_authz_proto_init() {
if File_cosmos_bank_v1beta1_authz_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cosmos_bank_v1beta1_authz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SendAuthorization); 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_cosmos_bank_v1beta1_authz_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cosmos_bank_v1beta1_authz_proto_goTypes,
DependencyIndexes: file_cosmos_bank_v1beta1_authz_proto_depIdxs,
MessageInfos: file_cosmos_bank_v1beta1_authz_proto_msgTypes,
}.Build()
File_cosmos_bank_v1beta1_authz_proto = out.File
file_cosmos_bank_v1beta1_authz_proto_rawDesc = nil
file_cosmos_bank_v1beta1_authz_proto_goTypes = nil
file_cosmos_bank_v1beta1_authz_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-661
View File
@@ -1,661 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: cosmos/bank/v1beta1/query.proto
package bankv1beta1
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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Query_Balance_FullMethodName = "/cosmos.bank.v1beta1.Query/Balance"
Query_AllBalances_FullMethodName = "/cosmos.bank.v1beta1.Query/AllBalances"
Query_SpendableBalances_FullMethodName = "/cosmos.bank.v1beta1.Query/SpendableBalances"
Query_SpendableBalanceByDenom_FullMethodName = "/cosmos.bank.v1beta1.Query/SpendableBalanceByDenom"
Query_TotalSupply_FullMethodName = "/cosmos.bank.v1beta1.Query/TotalSupply"
Query_SupplyOf_FullMethodName = "/cosmos.bank.v1beta1.Query/SupplyOf"
Query_Params_FullMethodName = "/cosmos.bank.v1beta1.Query/Params"
Query_DenomsMetadata_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomsMetadata"
Query_DenomMetadata_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomMetadata"
Query_DenomMetadataByQueryString_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomMetadataByQueryString"
Query_DenomOwners_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomOwners"
Query_DenomOwnersByQuery_FullMethodName = "/cosmos.bank.v1beta1.Query/DenomOwnersByQuery"
Query_SendEnabled_FullMethodName = "/cosmos.bank.v1beta1.Query/SendEnabled"
)
// 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.
//
// Query defines the gRPC querier service.
type QueryClient interface {
// Balance queries the balance of a single coin for a single account.
Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error)
// AllBalances queries the balance of all coins for a single account.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
AllBalances(ctx context.Context, in *QueryAllBalancesRequest, opts ...grpc.CallOption) (*QueryAllBalancesResponse, error)
// SpendableBalances queries the spendable balance of all coins for a single
// account.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
SpendableBalances(ctx context.Context, in *QuerySpendableBalancesRequest, opts ...grpc.CallOption) (*QuerySpendableBalancesResponse, error)
// SpendableBalanceByDenom queries the spendable balance of a single denom for
// a single account.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
SpendableBalanceByDenom(ctx context.Context, in *QuerySpendableBalanceByDenomRequest, opts ...grpc.CallOption) (*QuerySpendableBalanceByDenomResponse, error)
// TotalSupply queries the total supply of all coins.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
TotalSupply(ctx context.Context, in *QueryTotalSupplyRequest, opts ...grpc.CallOption) (*QueryTotalSupplyResponse, error)
// SupplyOf queries the supply of a single coin.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
SupplyOf(ctx context.Context, in *QuerySupplyOfRequest, opts ...grpc.CallOption) (*QuerySupplyOfResponse, error)
// Params queries the parameters of x/bank module.
Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
// DenomsMetadata queries the client metadata for all registered coin
// denominations.
DenomsMetadata(ctx context.Context, in *QueryDenomsMetadataRequest, opts ...grpc.CallOption) (*QueryDenomsMetadataResponse, error)
// DenomMetadata queries the client metadata of a given coin denomination.
DenomMetadata(ctx context.Context, in *QueryDenomMetadataRequest, opts ...grpc.CallOption) (*QueryDenomMetadataResponse, error)
// DenomMetadataByQueryString queries the client metadata of a given coin denomination.
DenomMetadataByQueryString(ctx context.Context, in *QueryDenomMetadataByQueryStringRequest, opts ...grpc.CallOption) (*QueryDenomMetadataByQueryStringResponse, error)
// DenomOwners queries for all account addresses that own a particular token
// denomination.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
DenomOwners(ctx context.Context, in *QueryDenomOwnersRequest, opts ...grpc.CallOption) (*QueryDenomOwnersResponse, error)
// DenomOwnersByQuery queries for all account addresses that own a particular token
// denomination.
DenomOwnersByQuery(ctx context.Context, in *QueryDenomOwnersByQueryRequest, opts ...grpc.CallOption) (*QueryDenomOwnersByQueryResponse, error)
// SendEnabled queries for SendEnabled entries.
//
// This query only returns denominations that have specific SendEnabled settings.
// Any denomination that does not have a specific setting will use the default
// params.default_send_enabled, and will not be returned by this query.
SendEnabled(ctx context.Context, in *QuerySendEnabledRequest, opts ...grpc.CallOption) (*QuerySendEnabledResponse, error)
}
type queryClient struct {
cc grpc.ClientConnInterface
}
func NewQueryClient(cc grpc.ClientConnInterface) QueryClient {
return &queryClient{cc}
}
func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryBalanceResponse)
err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) AllBalances(ctx context.Context, in *QueryAllBalancesRequest, opts ...grpc.CallOption) (*QueryAllBalancesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryAllBalancesResponse)
err := c.cc.Invoke(ctx, Query_AllBalances_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) SpendableBalances(ctx context.Context, in *QuerySpendableBalancesRequest, opts ...grpc.CallOption) (*QuerySpendableBalancesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QuerySpendableBalancesResponse)
err := c.cc.Invoke(ctx, Query_SpendableBalances_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) SpendableBalanceByDenom(ctx context.Context, in *QuerySpendableBalanceByDenomRequest, opts ...grpc.CallOption) (*QuerySpendableBalanceByDenomResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QuerySpendableBalanceByDenomResponse)
err := c.cc.Invoke(ctx, Query_SpendableBalanceByDenom_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) TotalSupply(ctx context.Context, in *QueryTotalSupplyRequest, opts ...grpc.CallOption) (*QueryTotalSupplyResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryTotalSupplyResponse)
err := c.cc.Invoke(ctx, Query_TotalSupply_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) SupplyOf(ctx context.Context, in *QuerySupplyOfRequest, opts ...grpc.CallOption) (*QuerySupplyOfResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QuerySupplyOfResponse)
err := c.cc.Invoke(ctx, Query_SupplyOf_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryParamsResponse)
err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) DenomsMetadata(ctx context.Context, in *QueryDenomsMetadataRequest, opts ...grpc.CallOption) (*QueryDenomsMetadataResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryDenomsMetadataResponse)
err := c.cc.Invoke(ctx, Query_DenomsMetadata_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) DenomMetadata(ctx context.Context, in *QueryDenomMetadataRequest, opts ...grpc.CallOption) (*QueryDenomMetadataResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryDenomMetadataResponse)
err := c.cc.Invoke(ctx, Query_DenomMetadata_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) DenomMetadataByQueryString(ctx context.Context, in *QueryDenomMetadataByQueryStringRequest, opts ...grpc.CallOption) (*QueryDenomMetadataByQueryStringResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryDenomMetadataByQueryStringResponse)
err := c.cc.Invoke(ctx, Query_DenomMetadataByQueryString_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) DenomOwners(ctx context.Context, in *QueryDenomOwnersRequest, opts ...grpc.CallOption) (*QueryDenomOwnersResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryDenomOwnersResponse)
err := c.cc.Invoke(ctx, Query_DenomOwners_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) DenomOwnersByQuery(ctx context.Context, in *QueryDenomOwnersByQueryRequest, opts ...grpc.CallOption) (*QueryDenomOwnersByQueryResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QueryDenomOwnersByQueryResponse)
err := c.cc.Invoke(ctx, Query_DenomOwnersByQuery_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryClient) SendEnabled(ctx context.Context, in *QuerySendEnabledRequest, opts ...grpc.CallOption) (*QuerySendEnabledResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(QuerySendEnabledResponse)
err := c.cc.Invoke(ctx, Query_SendEnabled_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// QueryServer is the server API for Query service.
// All implementations must embed UnimplementedQueryServer
// for forward compatibility.
//
// Query defines the gRPC querier service.
type QueryServer interface {
// Balance queries the balance of a single coin for a single account.
Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error)
// AllBalances queries the balance of all coins for a single account.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
AllBalances(context.Context, *QueryAllBalancesRequest) (*QueryAllBalancesResponse, error)
// SpendableBalances queries the spendable balance of all coins for a single
// account.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
SpendableBalances(context.Context, *QuerySpendableBalancesRequest) (*QuerySpendableBalancesResponse, error)
// SpendableBalanceByDenom queries the spendable balance of a single denom for
// a single account.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
SpendableBalanceByDenom(context.Context, *QuerySpendableBalanceByDenomRequest) (*QuerySpendableBalanceByDenomResponse, error)
// TotalSupply queries the total supply of all coins.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
TotalSupply(context.Context, *QueryTotalSupplyRequest) (*QueryTotalSupplyResponse, error)
// SupplyOf queries the supply of a single coin.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
SupplyOf(context.Context, *QuerySupplyOfRequest) (*QuerySupplyOfResponse, error)
// Params queries the parameters of x/bank module.
Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
// DenomsMetadata queries the client metadata for all registered coin
// denominations.
DenomsMetadata(context.Context, *QueryDenomsMetadataRequest) (*QueryDenomsMetadataResponse, error)
// DenomMetadata queries the client metadata of a given coin denomination.
DenomMetadata(context.Context, *QueryDenomMetadataRequest) (*QueryDenomMetadataResponse, error)
// DenomMetadataByQueryString queries the client metadata of a given coin denomination.
DenomMetadataByQueryString(context.Context, *QueryDenomMetadataByQueryStringRequest) (*QueryDenomMetadataByQueryStringResponse, error)
// DenomOwners queries for all account addresses that own a particular token
// denomination.
//
// When called from another module, this query might consume a high amount of
// gas if the pagination field is incorrectly set.
DenomOwners(context.Context, *QueryDenomOwnersRequest) (*QueryDenomOwnersResponse, error)
// DenomOwnersByQuery queries for all account addresses that own a particular token
// denomination.
DenomOwnersByQuery(context.Context, *QueryDenomOwnersByQueryRequest) (*QueryDenomOwnersByQueryResponse, error)
// SendEnabled queries for SendEnabled entries.
//
// This query only returns denominations that have specific SendEnabled settings.
// Any denomination that does not have a specific setting will use the default
// params.default_send_enabled, and will not be returned by this query.
SendEnabled(context.Context, *QuerySendEnabledRequest) (*QuerySendEnabledResponse, error)
mustEmbedUnimplementedQueryServer()
}
// UnimplementedQueryServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedQueryServer struct{}
func (UnimplementedQueryServer) Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Balance not implemented")
}
func (UnimplementedQueryServer) AllBalances(context.Context, *QueryAllBalancesRequest) (*QueryAllBalancesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AllBalances not implemented")
}
func (UnimplementedQueryServer) SpendableBalances(context.Context, *QuerySpendableBalancesRequest) (*QuerySpendableBalancesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SpendableBalances not implemented")
}
func (UnimplementedQueryServer) SpendableBalanceByDenom(context.Context, *QuerySpendableBalanceByDenomRequest) (*QuerySpendableBalanceByDenomResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SpendableBalanceByDenom not implemented")
}
func (UnimplementedQueryServer) TotalSupply(context.Context, *QueryTotalSupplyRequest) (*QueryTotalSupplyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method TotalSupply not implemented")
}
func (UnimplementedQueryServer) SupplyOf(context.Context, *QuerySupplyOfRequest) (*QuerySupplyOfResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SupplyOf not implemented")
}
func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Params not implemented")
}
func (UnimplementedQueryServer) DenomsMetadata(context.Context, *QueryDenomsMetadataRequest) (*QueryDenomsMetadataResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DenomsMetadata not implemented")
}
func (UnimplementedQueryServer) DenomMetadata(context.Context, *QueryDenomMetadataRequest) (*QueryDenomMetadataResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DenomMetadata not implemented")
}
func (UnimplementedQueryServer) DenomMetadataByQueryString(context.Context, *QueryDenomMetadataByQueryStringRequest) (*QueryDenomMetadataByQueryStringResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DenomMetadataByQueryString not implemented")
}
func (UnimplementedQueryServer) DenomOwners(context.Context, *QueryDenomOwnersRequest) (*QueryDenomOwnersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DenomOwners not implemented")
}
func (UnimplementedQueryServer) DenomOwnersByQuery(context.Context, *QueryDenomOwnersByQueryRequest) (*QueryDenomOwnersByQueryResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DenomOwnersByQuery not implemented")
}
func (UnimplementedQueryServer) SendEnabled(context.Context, *QuerySendEnabledRequest) (*QuerySendEnabledResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SendEnabled not implemented")
}
func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {}
func (UnimplementedQueryServer) testEmbeddedByValue() {}
// 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) {
// If the following call pancis, it indicates UnimplementedQueryServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Query_ServiceDesc, srv)
}
func _Query_Balance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryBalanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).Balance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_Balance_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).Balance(ctx, req.(*QueryBalanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_AllBalances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryAllBalancesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).AllBalances(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_AllBalances_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).AllBalances(ctx, req.(*QueryAllBalancesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_SpendableBalances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QuerySpendableBalancesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).SpendableBalances(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_SpendableBalances_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).SpendableBalances(ctx, req.(*QuerySpendableBalancesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_SpendableBalanceByDenom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QuerySpendableBalanceByDenomRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).SpendableBalanceByDenom(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_SpendableBalanceByDenom_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).SpendableBalanceByDenom(ctx, req.(*QuerySpendableBalanceByDenomRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_TotalSupply_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryTotalSupplyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).TotalSupply(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_TotalSupply_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).TotalSupply(ctx, req.(*QueryTotalSupplyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_SupplyOf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QuerySupplyOfRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).SupplyOf(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_SupplyOf_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).SupplyOf(ctx, req.(*QuerySupplyOfRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryParamsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).Params(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_Params_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_DenomsMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDenomsMetadataRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).DenomsMetadata(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_DenomsMetadata_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).DenomsMetadata(ctx, req.(*QueryDenomsMetadataRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_DenomMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDenomMetadataRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).DenomMetadata(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_DenomMetadata_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).DenomMetadata(ctx, req.(*QueryDenomMetadataRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_DenomMetadataByQueryString_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDenomMetadataByQueryStringRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).DenomMetadataByQueryString(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_DenomMetadataByQueryString_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).DenomMetadataByQueryString(ctx, req.(*QueryDenomMetadataByQueryStringRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_DenomOwners_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDenomOwnersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).DenomOwners(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_DenomOwners_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).DenomOwners(ctx, req.(*QueryDenomOwnersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_DenomOwnersByQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryDenomOwnersByQueryRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).DenomOwnersByQuery(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_DenomOwnersByQuery_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).DenomOwnersByQuery(ctx, req.(*QueryDenomOwnersByQueryRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Query_SendEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QuerySendEnabledRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryServer).SendEnabled(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Query_SendEnabled_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryServer).SendEnabled(ctx, req.(*QuerySendEnabledRequest))
}
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: "cosmos.bank.v1beta1.Query",
HandlerType: (*QueryServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Balance",
Handler: _Query_Balance_Handler,
},
{
MethodName: "AllBalances",
Handler: _Query_AllBalances_Handler,
},
{
MethodName: "SpendableBalances",
Handler: _Query_SpendableBalances_Handler,
},
{
MethodName: "SpendableBalanceByDenom",
Handler: _Query_SpendableBalanceByDenom_Handler,
},
{
MethodName: "TotalSupply",
Handler: _Query_TotalSupply_Handler,
},
{
MethodName: "SupplyOf",
Handler: _Query_SupplyOf_Handler,
},
{
MethodName: "Params",
Handler: _Query_Params_Handler,
},
{
MethodName: "DenomsMetadata",
Handler: _Query_DenomsMetadata_Handler,
},
{
MethodName: "DenomMetadata",
Handler: _Query_DenomMetadata_Handler,
},
{
MethodName: "DenomMetadataByQueryString",
Handler: _Query_DenomMetadataByQueryString_Handler,
},
{
MethodName: "DenomOwners",
Handler: _Query_DenomOwners_Handler,
},
{
MethodName: "DenomOwnersByQuery",
Handler: _Query_DenomOwnersByQuery_Handler,
},
{
MethodName: "SendEnabled",
Handler: _Query_SendEnabled_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cosmos/bank/v1beta1/query.proto",
}
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More