Documentation
Complete guide to zkBank system
Smart Contract
Complete documentation for the zkBank Move smart contract module, including data structures, functions, events, and error codes.
Move Language
Sui Blockchain
Module: SuiBankZK::finality
Testnet Deployed
Contract Information
Deployment Details
- Module: SuiBankZK::finality
- Package ID: 0xafdaf72f4f60208486b9a634ae67b9d479be8ea3da4b0f4912eac8b9f4c59047
- Network: Sui Testnet
- Language: Move
System Limits
- Max Counterparties: 10
- Max Metadata: 1024 bytes
- Merkle Root: 32 bytes
- Gas Budget: 10M
PublicTx
Public transaction data visible to all participants
Field | Type | Description |
---|---|---|
initiator | address | Transaction initiator address |
counterparties | vector<address> | List of counterparty addresses |
merkle_root | vector<u8> | 32-byte Merkle root hash |
metadata | vector<u8> | Transaction metadata (max 1024 bytes) |
timestamp | u64 | Transaction creation timestamp |
nonce | u64 | Unique transaction nonce |
ZKProof
Zero-knowledge proof data structure
Field | Type | Description |
---|---|---|
proof_data | vector<u8> | ZK proof data |
public_inputs | vector<vector<u8>> | Public inputs for verification |
circuit_id | vector<u8> | Circuit identifier |
verification_key | vector<u8> | Verification key |
proof_type | u8 | Proof type (0-2) |
proof_version | u8 | Proof version |
NotarisedTx
Main transaction object with all signatures and proofs
Field | Type | Description |
---|---|---|
id | UID | Unique object identifier |
public_tx | PublicTx | Public transaction data |
signatures | vector<TransactionSignature> | Counterparty signatures |
notary_signature | Option<TransactionSignature> | Optional notary signature |
zk_proof | ZKProofTx | ZK proof transaction data |
status | u8 | Transaction status (0=PENDING, 1=NOTARISED, 2=COMPLETED) |
created_at | u64 | Creation timestamp |
updated_at | u64 | Last update timestamp |
version | u64 | Transaction version |
gas_used | u64 | Gas consumption |
verification_count | u64 | Number of verifications |