verona

Prop 61: Store Dossier Contract Code

Store Dossier Contract Code

Purpose

This proposal stores the Dossier CosmWasm contract on XION mainnet. Dossier is a user-authorized encrypted data vault: encrypted user data is committed on-chain, enclave attestations authorize state transitions, and approved consumers receive selectively disclosed encrypted results.

Source and Build Provenance

  • Repository: https://github.com/burnt-labs/dossier
  • Commit: https://github.com/burnt-labs/dossier/commit/79df78a38408ffb4ffad8534fab8de93d2ac44ce
  • Contract path: crates/contract
  • Reproduced with: cosmwasm/optimizer:0.17.0@sha256:7e0b9229c1a4118d0c9a2af2e7f5d95a91f264c26a2ce5681c779926e74d7f85 on amd64 (wasm-opt 116), optimizer standard build with default features (standard-build = true)
  • Raw WASM size: 504117 bytes
  • SHA-256: 3cb0b4b914fa396c43fe351e701851ef0dec653da07e93d10943e0359899b090

The referenced commit is the exact source for testnet code 2293 and is not currently on Dossier's main branch.

The stored bytecode is the production verifier build. It calls XION's /xion.zk.v1.Query/ProofVerifyUltraHonk endpoint; the mock-attestation and accepting-proof development features are not enabled.

Testnet Deployment

The exact bytecode in this proposal is deployed and instantiated on xion-testnet-2 as code ID 2293.

  • Code listing: https://explorer.testnet.burnt.com/verona/cosmwasm/2293/contracts
  • Store transaction: https://explorer.testnet.burnt.com/verona/tx/8C11756919D287438ED8EE9D922E4B4569F0530CF684C944012DC8DB97A6139B
  • Testnet contract: xion1xhulaw4ndwh595ycfmuc77svuhn4xek44qn9tqensstyr9xd0hfsaurswh

Mainnet Verifier Prerequisite

The testnet instance uses the dcap-ultrahonk-v1 verification key. That key is not currently registered on XION mainnet. A compatible UltraHonk verification key must be added through governance before Dossier's attestation-verifying execute paths can succeed. This proposal does not register a verification key.

Instantiation Permission and Scope

Instantiation is open to everybody. This proposal stores contract code only; it does not instantiate a mainnet contract. Mainnet will assign a new code ID when the proposal executes.