v4.0.2: CometBFT 0.38.23 (reindex), IAVL 1.2.3 (perf regression fix), x/group - #212
Conversation
MakeTestEncodingConfig built the InterfaceRegistry with the codec-less types.NewInterfaceRegistry(). Under Cosmos SDK v0.50 the registry must carry an address codec via SigningOptions, otherwise every message that references a validator (valoper) address — MsgDelegate, MsgUndelegate, MsgBeginRedelegate, MsgWithdrawDelegatorReward — fails with: InterfaceRegistry requires a proper address codec implementation to do address conversion This encoding config feeds both the CLI (app.MakeEncodingConfig) and the node (NewPassageApp -> SetInterfaceRegistry), so the missing codec silently breaks all staking and distribution transactions network-wide while plain bank sends keep working. Construct the registry with NewInterfaceRegistryWithOptions and the pasg / pasgvaloper bech32 codecs. Verified: go build passes and the CLI now generates MsgWithdrawDelegatorReward and MsgDelegate txs that previously errored.
…(ibc-go v8 no longer bundles them; unregistered ClientState broke IBC client-state decoding)
The 0.47->0.50 port dropped cosmwasm_1_3 from availableCapabilities (v3.0.0 had "iterator,staking,stargate,cosmwasm_1_1,cosmwasm_1_2, cosmwasm_1_3"; v4.0.0 shipped without cosmwasm_1_3). Contracts requiring 1_3 features that v3.0.0 accepted at store-code would be rejected on v4.0.0. wasmvm 1.5.x fully supports cosmwasm_1_3. Restores exact v3.0.0 parity; no new capabilities introduced. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
No-op RunMigrations (v4.0.1 fixes are binary-only: address codec, ibctm/solomachine registration, cosmwasm_1_3 capability; no state migration, no new stores). Registers const Name=v4.0.1 so a gov MsgSoftwareUpgrade with plan.name=v4.0.1 applies instead of halting with no-handler. Verified: app.UpgradeKeeper.HasHandler(v4.0.1)==true; 22/22 msg+query battery green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ccountDecorator on every tx) The 0.47->0.50 ante rewrite left HandlerOptions.Codec unset, so NewBlockAccountDecorator got a nil codec and cdc.GetMsgV1Signers nil-derefed on every non-simulate tx. Masked on v4.0.0 because signer resolution failed earlier (no address codec); once the InterfaceRegistry codec is fixed, execution reaches the custom ante and panics. Verified on a fork of real mainnet state: v4.0.0 bank send = code 1, v4.0.1 (with this + the codec fix) = code 0, included in a block. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ersion perf regression), reconcile empty-store patch
|
Reproducible release binaries for this PR are published at https://github.com/Ninjaxan/Passage3D/releases/tag/v4.0.2 — static musl builds via Feel free to mirror these on an official envadiv release (rbuilder from the tag should reproduce them byte-identical, same as v4.0.1). Gov proposal #24 scheduling this upgrade at height 20114000 (~Mon Jul 20 15:00 UTC) is in voting until Jul 17 ~19:54 UTC. Validated by real-broadcast fork-test on forked mainnet state: gov upgrade applies ( |
Passage v4.0.2 — CometBFT 0.38.23, IAVL 1.2.3, x/group
Follow-up to the v4.0.1 emergency fix (#210, #211). Three changes, all validated by real-broadcast fork-testing against forked mainnet state (the same harness that caught the v4.0.0/v4.0.1 defects).
Changes
tx_indexreindexing and picks up the accumulated 0.38.x fixes. Go directive moves 1.21 → 1.22.11 (transitive requirement); cosmos-sdk stays pinned at v0.50.13.getFirstVersion()never cached its result after scanning legacy versions, a significant performance regression on chains upgraded from iavl 0.x — which describes Passage post-v4.0.0. Applied to the vendorediavl-forkon top of the existing empty-store load fix (no overlap; verified againstgit diff v1.2.2 v1.2.3upstream).MsgServiceRouter+group.DefaultConfig(), EndBlocker + InitGenesis ordering, gRPC/AutoCLI via module manager). Upgrade handlerv4.0.2usesStoreUpgrades{Added: ["group"]};RunMigrationsInitGenesis-es the module automatically.Also includes the
v4.0.1upgrade-handler registration (inert on mainnet — no gov plan by that name ever existed; kept for lineage completeness).Verification (real forked mainnet state, not generate-only)
MsgSoftwareUpgrade(plan namev4.0.2) submitted, voted, chain halted at plan height, binary swapped, node loggedapplying upgrade "v4.0.2"and resumed producing blocks.group: 2.create-group-with-policy→ fund policy account → group proposal carrying aMsgSendfrom the policy address → vote → exec → policy balance decreased by exactly the proposed amount./cosmos/group/v1/groupsserves the created group.Upgrade coordination
New store ⇒ consensus-breaking ⇒ requires a coordinated gov software-upgrade (normal path; gov works on v4.0.1). Release binaries + checksums will follow on the release page.
🤖 Generated with Claude Code