github DoraFactory/doravota v1.0.0

4 hours ago

Coordinated upgrade from 0.5.0. Release tag and binary version: v1.0.0; governance upgrade plan and Cosmovisor directory: v1.0.0.

  • Upgrade to Cosmos SDK 0.55.0 and CometBFT 0.40.0. Existing consensus key types remain unchanged; this release does not activate ML-DSA consensus or add a custom pqcauth module.
  • Add SDK-native ML-DSA account support. New accounts use hash-derived uint64 account numbers (at least 2^63); integrations must preserve full integer precision. See docs/CLIENT-1.0.0.md.
  • Remove Wasm execution and all wasmd/wasmvm dependencies. Preserve the original Wasm store with read-only raw-state queries; smart queries, contract execution, withdrawals and NAV writes stop.
  • Close non-closed Wasm-port IBC channels locally during migration without calling contracts. Retain packet records without settlement or refunds. Ordinary IBC transfer and ICA channels/state remain supported.
  • Use the exact pinned IBC-Go v11 development commit recorded in go.mod; this is not an IBC-Go v11.2.0 stable release.
  • Delete deprecated group and params stores, including group data, without an emptiness prerequisite. Preserve historical message decoding, not execution.
  • Migrate IBC channel sequences with pre/post checks and retain their values. Pin the compatible LevelDB implementation to preserve empty-value semantics.
  • Initialize ML-DSA verification gas to 750, consensus key rotation fee to 1000000 peaka, and mint max_supply to 0 (no supply cap). Keep the new consensus authority unset; normal module governance remains in effect. Preserve existing inflation and governance parameters.
  • Distribute verified static Linux amd64 artifacts with source commit and SHA-256. Consult docs/VALIDATOR-1.0.0.md for upgrade and archive-query limitations.
  • Require the historical Wasm codec, authorization and governance regression tests to execute in Linux CI; skipped or missing required tests fail validation.

Dora Vota v1.0.0 release requirements

Operator and integration requirements

This release supplies the upgrade software; it does not schedule or activate a live-network upgrade. Use the governance-approved height for each network. Do not switch a running 0.5.0 node early. The exact plan name and Cosmovisor directory are v1.0.0.

  • Stage the executable at $DAEMON_HOME/cosmovisor/upgrades/v1.0.0/bin/dorad and check the published SHA-256 and embedded source commit. Back up the database and validator signing state. Never run the validator key twice or start 0.5.0 on migrated state.
  • Wasm execution, smart queries and contract withdrawals are removed at the upgrade. Raw store data remains queryable through wasm-archive; this is not a replacement for contract execution. NAV writes stop. Historical-height queries require retained historical versions; pruned history cannot be reconstructed from the retained current store. Wasm IBC channels close locally without packet settlement/refunds.
  • Integrations must preserve account numbers as decimal strings or unsigned 64-bit integers/bigint. All post-upgrade accounts have numbers >= 2^63. Use compatible CosmJS 0.39.0 packages together, and validate address decoding as well as signing and broadcasting.
  • Older CosmJS 0.37 and earlier clients may report a transaction error even when the transaction has committed. Check the transaction hash on chain before retrying. CosmJS 0.38 does not solve the new-account-number issue.
  • Although the dependency is CometBFT v0.40.0, its upstream RPC version string is 0.39.0. This is expected and is distinct from the Dora Vota application version v1.0.0.
  • Hermes 1.13.3 was exercised in isolated cross-chain rehearsals. Set compat_mode = '0.38' in the Vota chain configuration. Its SDK compatibility health warning may remain; check actual client updates, packets and acknowledgements. This release does not recover expired IBC clients. Coordinate existing Osmosis and Cosmos Hub transfer routes.
  • For ML-DSA CLI transactions, use --gas auto --gas-adjustment 1.5 with the network's configured gas price and verify simulation. The 750 gas parameter covers signature verification, not total transaction gas. It is not a guarantee that Keplr or another existing wallet can sign ML-DSA transactions.

Parameters

Parameter Value initialized by the upgrade
ML-DSA signature verification gas 750
Consensus key rotation fee 1,000,000 peaka
Mint maximum supply 0 (no cap)
New consensus authority Unset
Existing inflation and governance settings Preserved

Consensus ML-DSA activation and a custom pqcauth module are outside this release.

Validation and distribution scope

The same source candidate has passed isolated mainnet-snapshot four-node upgrade/restart and two-chain upgrade rehearsals, including preserved Wasm store roots, archive queries, IBC sequence migration, transfers, in-flight packets and timeout refunds. These rehearsals do not substitute for acceptance on the public testnet or authorize a mainnet upgrade.

The public release distributes Linux amd64 only. Any ARM64 CI build is a candidate build, not a published or fully rehearsed network release. Additional wallet operations and live-network acceptance remain scheduled after the testnet upgrade.

See validator instructions, client integration, and Wasm archive queries. Final source commit, download links and checksums are published with the GitHub Release.

Verified release artifacts

Source commit: 1a2b30927a7799d4cd6890a3fb3fa80d25613fa2.

SHA-256 of the executable:

5c741ca406ee2ecb811dd62d83e9a446fee051e2947522525c2560a0a7ce968a

Two independent remote builds produced identical executables. The executable downloaded from this Release was also verified byte-for-byte against the final artifact used in the isolated 0.5.0 → v1.0.0 two-chain and four-node snapshot upgrade/restart rehearsals. Archive checksum and archive contents, embedded version and commit were verified separately.

The live-network upgrade height will be announced separately through governance and validator coordination. Do not reuse an old draft height.

Don't miss a new doravota release

NewReleases is sending notifications on new releases.