R005-cross_chain_attest.component.cspec
1 # R005-cross_chain_attest.component.cspec 2 3 metadata: 4 id: R005 5 name: cross_chain_attest 6 version: 1.1.0 7 domain: runtime 8 stability: high_change 9 updated: 2026-01-15 10 cascade_priority: 40 11 roles: 12 primary: [Dev] 13 review: [Security] 14 expertise: 15 required: [cross_chain, cryptography] 16 helpful: [ipc, merkle_proofs] 17 context_tags: [attestation, cross_chain, ipc, merkle_proof, finality] 18 19 dependencies: 20 upstream: [R001, R003] 21 downstream: [] 22 23 interface: 24 types_ref: _registry/types.cspec 25 types: 26 IPC: inter_process_comm, internal_attestation, not_bridge 27 sAX: synthetic_ax, decimals:4, backing:1:1_locked_AX, lifetime:ephemeral, chain:DELTA 28 AX: alpha_native, decimals:4, microcredits:10000/AX, supply:variable, mint:GOV_only, privacy:zk_full, state:record_utxo 29 LOCK: lock_for_sax, ax_to_pool, triggers:sax_mint 30 UNLOCK: unlock_ax, sax_burn, releases:ax_from_pool 31 functions: 32 attest_alpha_to_delta: (alpha_block, state_root, merkle_proof) 33 attest_delta_to_alpha: (delta_block, state_root, merkle_proof) 34 verify_lock: (lock_id, amount, merkle_proof) # sAX minting 35 verify_unlock: (lock_id, amount, merkle_proof) # AX release 36 verify_joint_governance: (proposal_id, outcome, merkle_proof) # platform-wide changes only 37 events: 38 - alpha_state_attested 39 - delta_state_attested 40 - lock_verified 41 - unlock_verified 42 - joint_governance_verified 43 - sax_minted 44 - ax_released 45 46 spec: 47 purpose: secure_state_verification_without_separate_bridge 48 implementation: internal_ipc 49 50 functions: 51 attest_alpha_to_delta: (alpha_block, state_root, merkle_proof) 52 attest_delta_to_alpha: (delta_block, state_root, merkle_proof) 53 verify_lock: (lock_id, amount, merkle_proof) # sAX minting 54 verify_unlock: (lock_id, amount, merkle_proof) # AX release 55 verify_joint_governance: (proposal_id, outcome, merkle_proof) # platform-wide changes only 56 # Note: GID updates are Alpha-only, no cross-chain attestation needed 57 58 sax_mint_flow: 59 1: user.lock_for_sax(1000_AX) on ALPHA 60 2: ax -> locked_ax_pool 61 3: lock_record: {id, user, amount, block} 62 4: alpha_block_N_finalizes 63 5: ipc_attestation -> delta_runtime 64 6: alpha_state_root + merkle_proof_of_lock 65 7: delta_verifies: proof_against_root + lock_not_used 66 8: delta_mints: 1000_sAX_to_user 67 9: lock_marked_processed 68 69 finality_requirements: 70 sax_lock_to_mint: 3_alpha_blocks 71 sax_burn_to_unlock: 3_delta_blocks 72 joint_governance: 3_blocks_both_chains + timelock # Platform-wide changes only 73 74 changelog: 75 - version: 1.1.0 76 date: 2026-01-15 77 type: fix 78 description: "Renamed verify_governance to verify_joint_governance - GID is Alpha-only" 79 breaking: false 80 81 - version: 1.0.0 82 date: 2026-01-07 83 type: initial 84 description: "Migrated from consensus.cspec" 85 breaking: false