@utxopia/sdk 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +171 -0
- package/package.json +108 -0
- package/packages/btc-client/src/esplora-client.ts +153 -0
- package/packages/btc-client/src/index.ts +3 -0
- package/packages/btc-client/src/op-return.ts +93 -0
- package/packages/btc-client/src/types.ts +112 -0
- package/packages/sdk/README.md +277 -0
- package/packages/sdk/dist/announcement-client.d.ts +64 -0
- package/packages/sdk/dist/announcement-client.js +337 -0
- package/packages/sdk/dist/auditor-ciphertext.d.ts +72 -0
- package/packages/sdk/dist/auditor-ciphertext.js +135 -0
- package/packages/sdk/dist/auditor.d.ts +115 -0
- package/packages/sdk/dist/auditor.js +292 -0
- package/packages/sdk/dist/bitcoin/ika.d.ts +47 -0
- package/packages/sdk/dist/bitcoin/ika.js +74 -0
- package/packages/sdk/dist/bitcoin/index.d.ts +2 -0
- package/packages/sdk/dist/bitcoin/index.js +1 -0
- package/packages/sdk/dist/bound-params.d.ts +96 -0
- package/packages/sdk/dist/bound-params.js +249 -0
- package/packages/sdk/dist/chadbuffer.d.ts +124 -0
- package/packages/sdk/dist/chadbuffer.js +405 -0
- package/packages/sdk/dist/claim-link.d.ts +30 -0
- package/packages/sdk/dist/claim-link.js +50 -0
- package/packages/sdk/dist/client.d.ts +233 -0
- package/packages/sdk/dist/client.js +416 -0
- package/packages/sdk/dist/commitment-tree.d.ts +268 -0
- package/packages/sdk/dist/commitment-tree.js +564 -0
- package/packages/sdk/dist/config.d.ts +177 -0
- package/packages/sdk/dist/config.js +426 -0
- package/packages/sdk/dist/core/esplora.d.ts +110 -0
- package/packages/sdk/dist/core/esplora.js +187 -0
- package/packages/sdk/dist/core/mempool.d.ts +60 -0
- package/packages/sdk/dist/core/mempool.js +107 -0
- package/packages/sdk/dist/crypto-babyjub.d.ts +105 -0
- package/packages/sdk/dist/crypto-babyjub.js +312 -0
- package/packages/sdk/dist/crypto-ed25519.d.ts +116 -0
- package/packages/sdk/dist/crypto-ed25519.js +235 -0
- package/packages/sdk/dist/crypto.d.ts +59 -0
- package/packages/sdk/dist/crypto.js +140 -0
- package/packages/sdk/dist/event-client.d.ts +64 -0
- package/packages/sdk/dist/event-client.js +165 -0
- package/packages/sdk/dist/events.d.ts +127 -0
- package/packages/sdk/dist/events.js +305 -0
- package/packages/sdk/dist/explorer.d.ts +86 -0
- package/packages/sdk/dist/explorer.js +197 -0
- package/packages/sdk/dist/index.d.ts +61 -0
- package/packages/sdk/dist/index.js +216 -0
- package/packages/sdk/dist/instructions.d.ts +1125 -0
- package/packages/sdk/dist/instructions.js +1760 -0
- package/packages/sdk/dist/keys.d.ts +467 -0
- package/packages/sdk/dist/keys.js +799 -0
- package/packages/sdk/dist/logger.d.ts +10 -0
- package/packages/sdk/dist/logger.js +40 -0
- package/packages/sdk/dist/magicblock.d.ts +90 -0
- package/packages/sdk/dist/magicblock.js +164 -0
- package/packages/sdk/dist/merkle.d.ts +82 -0
- package/packages/sdk/dist/merkle.js +141 -0
- package/packages/sdk/dist/note.d.ts +348 -0
- package/packages/sdk/dist/note.js +483 -0
- package/packages/sdk/dist/pda.d.ts +160 -0
- package/packages/sdk/dist/pda.js +384 -0
- package/packages/sdk/dist/pool-state.d.ts +100 -0
- package/packages/sdk/dist/pool-state.js +126 -0
- package/packages/sdk/dist/poseidon.d.ts +53 -0
- package/packages/sdk/dist/poseidon.js +136 -0
- package/packages/sdk/dist/prover/index.d.ts +10 -0
- package/packages/sdk/dist/prover/index.js +10 -0
- package/packages/sdk/dist/prover/mobile.d.ts +45 -0
- package/packages/sdk/dist/prover/mobile.js +227 -0
- package/packages/sdk/dist/prover/web.d.ts +136 -0
- package/packages/sdk/dist/prover/web.js +597 -0
- package/packages/sdk/dist/psbt.d.ts +73 -0
- package/packages/sdk/dist/psbt.js +202 -0
- package/packages/sdk/dist/selective-disclosure.d.ts +181 -0
- package/packages/sdk/dist/selective-disclosure.js +172 -0
- package/packages/sdk/dist/sender-memo.d.ts +149 -0
- package/packages/sdk/dist/sender-memo.js +250 -0
- package/packages/sdk/dist/sns-resolver.d.ts +121 -0
- package/packages/sdk/dist/sns-resolver.js +229 -0
- package/packages/sdk/dist/solana/connection.d.ts +77 -0
- package/packages/sdk/dist/solana/connection.js +133 -0
- package/packages/sdk/dist/solana/priority-fee.d.ts +78 -0
- package/packages/sdk/dist/solana/priority-fee.js +137 -0
- package/packages/sdk/dist/stealth.d.ts +429 -0
- package/packages/sdk/dist/stealth.js +703 -0
- package/packages/sdk/dist/taproot.d.ts +172 -0
- package/packages/sdk/dist/taproot.js +494 -0
- package/packages/sdk/dist/token-registry.d.ts +96 -0
- package/packages/sdk/dist/token-registry.js +122 -0
- package/packages/sdk/dist/utils/encoding.d.ts +19 -0
- package/packages/sdk/dist/utils/encoding.js +29 -0
- package/packages/sdk/dist/vk-registry.d.ts +100 -0
- package/packages/sdk/dist/vk-registry.js +212 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UTXOpia SDK v3.0 (JoinSplit Architecture)
|
|
3
|
+
*
|
|
4
|
+
* Complete client library for interacting with the UTXOpia protocol.
|
|
5
|
+
* Private Bitcoin using ZK proofs.
|
|
6
|
+
*
|
|
7
|
+
* Networks: Solana deployments + Bitcoin testnet4/regtest/mainnet
|
|
8
|
+
*
|
|
9
|
+
* ## Quick Start
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { createNonInteractiveDeposit, generateJoinSplitProof, buildTransactInstruction } from '@utxopia/sdk';
|
|
12
|
+
*
|
|
13
|
+
* // 1. DEPOSIT: Generate BTC address + compact OP_RETURN payload.
|
|
14
|
+
* const deposit = await createNonInteractiveDeposit(meta, custodyInternalKey, 'testnet', undefined, opReturnContext);
|
|
15
|
+
* console.log('Send BTC to:', deposit.btcAddress);
|
|
16
|
+
*
|
|
17
|
+
* // 2. TRANSACT: JoinSplit proof for private transfer
|
|
18
|
+
* const proof = await generateJoinSplitProof(inputs);
|
|
19
|
+
*
|
|
20
|
+
* // 3. BUILD: Create Solana instruction
|
|
21
|
+
* const ix = buildTransactInstruction(options);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
// ==========================================================================
|
|
25
|
+
// Cryptographic utilities
|
|
26
|
+
// ==========================================================================
|
|
27
|
+
export {
|
|
28
|
+
// Byte conversion (encoding utilities)
|
|
29
|
+
bigintToBytes, bytesToBigint, hexToBytes, bytesToHex,
|
|
30
|
+
// Hashing
|
|
31
|
+
sha256Hash, x25519Ecdh, ed25519GenerateKeyPair, ed25519PubToX25519, ed25519PrivToX25519, x25519PubFromPriv, x25519EcdhRaw, encryptAmountEd25519, decryptAmountEd25519,
|
|
32
|
+
// Low-level crypto (needed by E2E test scripts + contract deploy scripts)
|
|
33
|
+
randomFieldElement, BN254_FIELD_PRIME, babyJubMul, BABYJUB_BASE8, } from "./crypto";
|
|
34
|
+
// ==========================================================================
|
|
35
|
+
// Key derivation (Solana wallet -> spending/viewing keys)
|
|
36
|
+
// ==========================================================================
|
|
37
|
+
export {
|
|
38
|
+
// Key derivation (high-level)
|
|
39
|
+
deriveKeysFromWallet, deriveKeysFromSeed, deriveKeysFromSeedCircuit, deriveKeysFromAuthSignature, setupKeysFromAuthSignature, generateRandomAuthSignature,
|
|
40
|
+
// Key setup (combined derivation + stealth address)
|
|
41
|
+
setupKeysFromWallet, setupKeysFromSeed, recreateStealthAddress,
|
|
42
|
+
// EdDSA signing
|
|
43
|
+
eddsaPoseidonSign, eddsaPoseidonSignWithScalar, eddsaGetPrivScalar, eddsaGetPubKey,
|
|
44
|
+
// Stealth meta address
|
|
45
|
+
createStealthMetaAddress, serializeStealthMetaAddress, deserializeStealthMetaAddress, encodeStealthMetaAddress, decodeStealthMetaAddress,
|
|
46
|
+
// Key lifecycle
|
|
47
|
+
clearUTXOpiaKeys,
|
|
48
|
+
// Key serialization
|
|
49
|
+
serializeKeysForStorage, deserializeKeysFromStorage, PASSKEY_CHAIN_SCOPE_DOMAIN, deriveChainScopedPasskeySeed, passkeyStorageOwner, } from "./keys";
|
|
50
|
+
// Delegated viewing keys + auditor toolkit (Phase 1)
|
|
51
|
+
export { ViewPermissions, hasPermission, isDelegatedKeyValid, isSlotInDelegatedRange, createDelegatedViewKey, serializeDelegatedViewKey, deserializeDelegatedViewKey, makeDelegationRecord, fingerprintDelegatedKey, clearDelegatedViewKey,
|
|
52
|
+
// The delegation-safe alternative: unlike createDelegatedViewKey this omits nullifyingKey,
|
|
53
|
+
// which is what stops the holder from deriving every nullifier the account will ever publish.
|
|
54
|
+
// It was reachable only by deep import while the footgun sat in the barrel.
|
|
55
|
+
extractViewOnlyBundle, } from "./keys";
|
|
56
|
+
export { auditScan, auditScanCiphertexts, auditRecordsToCsv, } from "./auditor";
|
|
57
|
+
// Auditor ciphertext (Method-Y permissioned pool)
|
|
58
|
+
export { encryptAuditorCiphertext, decryptAuditorCiphertext, buildAuditorCiphertextForNote, resolveAuditorCiphertext, AUDITOR_CIPHERTEXT_BYTES, } from "./auditor-ciphertext";
|
|
59
|
+
export { generateAuditorViewingKeypair, deriveAuditorViewingKeypair, } from "./keys";
|
|
60
|
+
// Sender memo channel (Phase 2)
|
|
61
|
+
export { encryptSenderMemo, decryptSenderMemo, deriveOutgoingViewingKey, packSenderMemo, unpackSenderMemo, packSenderMemoForInstruction, buildSenderMemosForTransact, generateSenderMemoNonce, SENDER_MEMO_AMOUNT_BYTES, SENDER_MEMO_CIPHERTEXT_BYTES, SENDER_MEMO_COMMITMENT_BYTES, SENDER_MEMO_NONCE_BYTES, SENDER_MEMO_PACKED_BYTES, SENDER_MEMO_TAG_BYTES, SENDER_MEMO_TOKEN_BYTES, } from "./sender-memo";
|
|
62
|
+
// Selective ZK disclosure proofs (Phase 4)
|
|
63
|
+
export { generateOwnershipProof, generateRangeSumProof, computeRangeSumAttestation, pickRangeSumVariant, RANGE_SUM_N, RANGE_SUM_VARIANTS, RANGE_SUM_SIZES, } from "./selective-disclosure";
|
|
64
|
+
// ==========================================================================
|
|
65
|
+
// Deliberately not re-exported: isWalletAdapter, isDirectVaultDepositMode (guards the SDK
|
|
66
|
+
// branches on), updateNoteWithHashes, updateStealthNoteWithHashes (mutators for fields the
|
|
67
|
+
// SDK computes) and stealthNoteHasComputedHashes (a predicate over state no caller builds).
|
|
68
|
+
// Still exported from their own modules for internal use — they are just not public API.
|
|
69
|
+
// Poseidon hash utilities
|
|
70
|
+
// ==========================================================================
|
|
71
|
+
export { initPoseidon, isPoseidonReady, poseidonHashSync, computeUnifiedCommitmentSync, computeNullifierSync, hashNullifierSync,
|
|
72
|
+
// JoinSplit primitives (used by E2E scripts + pay-flow)
|
|
73
|
+
computeMPKSync, computeNPKSync, computeJoinSplitCommitmentSync, computeJoinSplitNullifierSync,
|
|
74
|
+
// Multi-token
|
|
75
|
+
computeTokenId, reduceToField, } from "./poseidon";
|
|
76
|
+
// ==========================================================================
|
|
77
|
+
// Token Registry (multi-token support)
|
|
78
|
+
// ==========================================================================
|
|
79
|
+
export { fetchTokenConfig, getTokenId, fetchSupportedTokens, fetchEnabledTokens, parseTokenConfig, } from "./token-registry";
|
|
80
|
+
// ==========================================================================
|
|
81
|
+
// MagicBlock ER / PER execution domains
|
|
82
|
+
// ==========================================================================
|
|
83
|
+
export { MAGICBLOCK_DELEGATION_PROGRAM_ID, MAGICBLOCK_DEVNET_ROUTER_URL, MAGICBLOCK_DEVNET_ROUTER_WS_URL, MAGICBLOCK_EPHEMERAL_VAULT_ID, MAGICBLOCK_MAGIC_CONTEXT_ID, MAGICBLOCK_MAGIC_PROGRAM_ID, MAGICBLOCK_MAX_PER_MEMBERS, MAGICBLOCK_PERMISSION_PROGRAM_ID, MAGICBLOCK_PER_MEMBER_FLAGS, MAGICBLOCK_VALIDATOR_IDENTITIES, buildDefaultPrivacyDomain, buildMagicBlockPerMemberFlags, deriveMagicBlockCommitRecordPDA, deriveMagicBlockCommitStatePDA, deriveMagicBlockDelegateBufferPDA, deriveMagicBlockDelegationMetadataPDA, deriveMagicBlockDelegationRecordPDA, deriveMagicBlockPermissionPDA, deriveMagicBlockUndelegateBufferPDA, requiresMagicBlockEndpoint, getMagicBlockEndpoint, getMagicBlockValidatorIdentity, createMagicBlockRouterConnection, } from "./magicblock";
|
|
84
|
+
// ==========================================================================
|
|
85
|
+
// Note (shielded commitment) utilities
|
|
86
|
+
// ==========================================================================
|
|
87
|
+
export { generateNote, createNoteFromSecrets, serializeNote, deserializeNote, noteHasComputedHashes, getNotePublicKeyX, computeNoteCommitment, computeNoteNullifier, formatBtc, parseBtc, deriveNote, deriveNotes, deriveMasterKey, deriveNoteFromMaster, estimateSeedStrength, createNote, prepareWithdrawal, createStealthNote, serializeStealthNote, deserializeStealthNote,
|
|
88
|
+
// JoinSplit note types
|
|
89
|
+
createJoinSplitNote, computeJoinSplitNoteNullifier, serializeJoinSplitNote, deserializeJoinSplitNote, } from "./note";
|
|
90
|
+
// ==========================================================================
|
|
91
|
+
// Merkle tree utilities
|
|
92
|
+
// ==========================================================================
|
|
93
|
+
export { createMerkleProof, createMerkleProofFromBigints, proofToCircomFormat, proofToOnChainFormat, createEmptyMerkleProof, leafIndexToPathIndices, pathIndicesToLeafIndex, validateMerkleProofStructure, parseMerkleProofResponse, TREE_DEPTH, ROOT_HISTORY_SIZE, MAX_LEAVES, ZERO_VALUE, } from "./merkle";
|
|
94
|
+
// ==========================================================================
|
|
95
|
+
// Taproot address utilities
|
|
96
|
+
// ==========================================================================
|
|
97
|
+
export { deriveTaprootAddress, deriveTaprootAddressWithRefund, buildRefundScript, computeTapLeafHash, verifyTaprootAddress, createP2TRScriptPubkey, parseP2TRScriptPubkey, isValidBitcoinAddress, getInternalKey, createCustomInternalKey, createOpReturnScriptFromPayload, buildDepositOpReturn, parseDepositOpReturn, encodeDepositOpReturnHeader, decodeDepositOpReturnHeader, validateDepositOpReturnContext, computeDepositPoolTag, DEPOSIT_DESTINATION_CHAIN, DEPOSIT_BITCOIN_NETWORK, DEPOSIT_OP_RETURN_VERSION, DEPOSIT_POOL_TAG_SIZE, DEPOSIT_OP_RETURN_SIZE, } from "./taproot";
|
|
98
|
+
// ==========================================================================
|
|
99
|
+
// Claim link utilities
|
|
100
|
+
// ==========================================================================
|
|
101
|
+
export { encodeClaimLink, decodeClaimLink, parseClaimUrl, } from "./claim-link";
|
|
102
|
+
// ==========================================================================
|
|
103
|
+
// ChadBuffer utilities (for large proof uploads)
|
|
104
|
+
// ==========================================================================
|
|
105
|
+
export { uploadTransactionToBuffer, uploadProofToBuffer, closeBuffer, readBufferData, fetchRawTransaction, fetchMerkleProof, prepareVerifyDeposit, buildMerkleProof, needsBuffer as bufferNeedsBuffer, getProofSource, calculateUploadTransactions, CHADBUFFER_PROGRAM_ID, AUTHORITY_SIZE, MAX_DATA_PER_WRITE, SOLANA_TX_SIZE_LIMIT, } from "./chadbuffer";
|
|
106
|
+
// ==========================================================================
|
|
107
|
+
// Bound Parameters (JoinSplit transaction binding)
|
|
108
|
+
// ==========================================================================
|
|
109
|
+
export { computeBoundParamsHash, computeSolanaDomainBoundParamsHash, computeSolanaDomainSeparator, computeStealthDataHash, createTransferBoundParams, createUnshieldBoundParams, createRedeemBoundParams, SOLANA_BOUND_CHAIN_ID, SOLANA_DEVNET_BOUND_CHAIN_ID, SOLANA_MAINNET_BOUND_CHAIN_ID, DEFAULT_BOUND_PARAMS, } from "./bound-params";
|
|
110
|
+
// ==========================================================================
|
|
111
|
+
// Configuration
|
|
112
|
+
// ==========================================================================
|
|
113
|
+
export { getConfig, setConfig, createConfig, initConfig, DEVNET_CONFIG, MAINNET_CONFIG, LOCALNET_CONFIG, TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, ATA_PROGRAM_ID, UTXOPIA_POLICY_PROGRAM_ID, SDK_VERSION, DEPLOYMENT_INFO, JOINSPLIT_TREE_DEPTH, } from "./config";
|
|
114
|
+
// ==========================================================================
|
|
115
|
+
// PoolState account layout + fee arithmetic
|
|
116
|
+
// ==========================================================================
|
|
117
|
+
export { POOL_STATE_DISCRIMINATOR, POOL_STATE_LEN, POOL_STATE_OFFSETS, POOL_FLAG, parsePoolState, parsePoolFees, BPS_DENOMINATOR, computeBpsFee, feeShareBps, } from "./pool-state";
|
|
118
|
+
// ==========================================================================
|
|
119
|
+
// PDA Derivation
|
|
120
|
+
// ==========================================================================
|
|
121
|
+
export { PDA_SEEDS,
|
|
122
|
+
// Seed builders — the single definition of every PDA. Consumers on
|
|
123
|
+
// @solana/web3.js should derive from these with findProgramAddressSync rather
|
|
124
|
+
// than restating the seeds, which is how copies drift from the program.
|
|
125
|
+
poolStateSeeds, commitmentTreeSeeds, tokenConfigSeeds, poolConfigSeeds, nullifierRecordSeeds, redemptionRequestSeeds, vkRegistrySeeds, depositReceiptSeeds, policyApprovalSeeds, exitDestinationSeeds, lightClientSeeds, blockHeaderSeeds, heightIndexSeeds, verifiedTransactionSeeds, derivePoolStatePDA, deriveCommitmentTreePDA, deriveNullifierRecordPDA, derivePolicyApprovalPDA, deriveExitDestinationPDA, EXIT_KIND_SOLANA_OWNER, EXIT_KIND_BTC_SCRIPT, deriveLightClientPDA, deriveBlockHeaderPDA, deriveHeightIndexPDA, deriveVkRegistryPDA, deriveRedemptionRequestPDA, deriveTokenConfigPDA, derivePoolConfigPDA, deriveDepositReceiptPDA, commitmentToBytes, } from "./pda";
|
|
126
|
+
// ==========================================================================
|
|
127
|
+
// Stealth address utilities
|
|
128
|
+
// ==========================================================================
|
|
129
|
+
export { createStealthDeposit, createStealthDepositWithKeys, createStealthOutput, createStealthOutputWithKeys, createStealthOutputForCommitment, packStealthOutputForCircuit, scanAnnouncements, scanAnnouncementsViewOnly, scanAnnouncementsViewOnlyMulti, exportViewOnlyKeys, encodeViewOnlyKeys, decodeViewOnlyKeys, prepareClaimInputs, scanUnifiedNotes, scanUnifiedNotesMulti, encryptAmount, decryptAmount, computeNullifierHashForNote, computeNullifierBytes, parseAnnouncementsFromHex, createDepositFromConfig, createDirectVaultDeposit, isDepositForViewer, isDepositForViewerHex, ANNOUNCEMENT_TYPE_DEPOSIT, ANNOUNCEMENT_TYPE_TRANSFER, createNonInteractiveDeposit, pickIkaCustodyKey, } from "./stealth";
|
|
130
|
+
// ==========================================================================
|
|
131
|
+
// PSBT builder for wallet-integrated deposits
|
|
132
|
+
// ==========================================================================
|
|
133
|
+
export { buildDepositPsbt, estimateDepositFee, fetchUtxos, selectUtxos, } from "./psbt";
|
|
134
|
+
// ==========================================================================
|
|
135
|
+
// Core utilities
|
|
136
|
+
// ==========================================================================
|
|
137
|
+
export { EsploraClient, esploraTestnet, esploraMainnet, } from "./core/esplora";
|
|
138
|
+
// Mempool.space client with SPV support
|
|
139
|
+
export { MempoolClient, mempoolTestnet, mempoolMainnet, reverseBytes, } from "./core/mempool";
|
|
140
|
+
// ==========================================================================
|
|
141
|
+
// Priority Fee Estimation
|
|
142
|
+
// ==========================================================================
|
|
143
|
+
export { estimatePriorityFee, buildPriorityFeeInstructionData, encodeSetComputeUnitLimit, encodeSetComputeUnitPrice, getHeliusRpcUrl, DEFAULT_COMPUTE_UNITS, DEFAULT_PRIORITY_FEE, COMPUTE_BUDGET_DISCRIMINATORS, } from "./solana/priority-fee";
|
|
144
|
+
// ==========================================================================
|
|
145
|
+
// Debug Logging
|
|
146
|
+
// ==========================================================================
|
|
147
|
+
export { setDebug } from "./logger";
|
|
148
|
+
// ==========================================================================
|
|
149
|
+
// Connection Adapter Factory
|
|
150
|
+
// ==========================================================================
|
|
151
|
+
export { createFetchConnectionAdapter, createConnectionAdapterFromWeb3, createConnectionAdapterFromKit, getConnectionAdapter, clearConnectionAdapterCache, } from "./solana/connection";
|
|
152
|
+
// ==========================================================================
|
|
153
|
+
// SNS Subdomain Resolver (*.utxopia.sol stealth addresses)
|
|
154
|
+
// ==========================================================================
|
|
155
|
+
export { resolveSnsName, resolveStealthName, parseSnsStealthData, isSnsStealthAddress, isAuditorDisclosable, SnsComplianceFlags, SNS_COMPLIANCE_AUDITOR_OFFSET, SNS_COMPLIANCE_AUDITOR_BYTES, deriveParentDomainKey, SNS_STEALTH_DATA_SIZE, } from "./sns-resolver";
|
|
156
|
+
// ==========================================================================
|
|
157
|
+
// Commitment Tree
|
|
158
|
+
// ==========================================================================
|
|
159
|
+
export { COMMITMENT_TREE_DISCRIMINATOR, parseCommitmentTreeData, isValidRoot, fetchCommitmentTree, getCommitmentIndex, saveCommitmentIndex, CommitmentTreeIndex,
|
|
160
|
+
// On-chain fetch functions (Helius-compatible)
|
|
161
|
+
buildCommitmentTreeFromChain, fetchLeafIndexForCommitment, fetchMerkleProofForCommitment, getMerkleProofFromTree, } from "./commitment-tree";
|
|
162
|
+
// ==========================================================================
|
|
163
|
+
// Low-level Instruction Builders (JoinSplit only)
|
|
164
|
+
// ==========================================================================
|
|
165
|
+
export { INSTRUCTION_DISCRIMINATORS,
|
|
166
|
+
// Shield instruction
|
|
167
|
+
buildShieldInstructionData, buildShieldInstruction, buildApproveRedemptionSigningInstructionData, buildApproveRedemptionSigningInstruction,
|
|
168
|
+
// Cancel redemption instruction
|
|
169
|
+
buildCancelRedemptionInstructionData, buildCancelRedemptionInstruction, bigintTo32Bytes, bytes32ToBigint,
|
|
170
|
+
// JoinSplit transact instruction
|
|
171
|
+
buildTransactInstructionData, buildTransactInstruction,
|
|
172
|
+
// JoinSplit + BTC redeem instruction
|
|
173
|
+
buildRedeemInstructionData,
|
|
174
|
+
// Public unshield instruction
|
|
175
|
+
buildUnshieldInstructionData, buildUnshieldInstruction,
|
|
176
|
+
// Timelocked pool update instructions
|
|
177
|
+
buildProposePoolUpdateInstructionData, buildProposePoolUpdateInstruction, buildExecutePoolUpdateInstructionData, buildExecutePoolUpdateInstruction, buildCancelPoolUpdateInstructionData, buildCancelPoolUpdateInstruction,
|
|
178
|
+
// Rotate tree
|
|
179
|
+
buildRotateTreeInstructionData, buildRotateTreeInstruction,
|
|
180
|
+
// MagicBlock lifecycle
|
|
181
|
+
buildMagicBlockDelegateInstructionData, buildMagicBlockDelegateInstruction, buildMagicBlockCommitInstructionData, buildMagicBlockCommitInstruction, buildMagicBlockPerPermissionInstructionData, buildMagicBlockPerPermissionInstruction, buildPolicyRequestHash, buildPolicyIntentParts, buildRegisterExitDestinationInstruction, buildRegisterExitDestinationInstructionData, MAX_POLICY_INTENT_PARTS, buildInitializePolicyApprovalInstructionData, buildInitializePolicyApprovalInstruction, buildPolicyApprovalDecisionInstruction, buildPolicyApprovalCommitInstruction, buildCompleteDepositPermissionedInstructionData, buildCompleteDepositPermissionedInstruction, buildShieldPermissionedInstructionData, buildShieldPermissionedInstruction, buildRotateAuditorInstructionData, buildRotateAuditorInstruction,
|
|
182
|
+
// Verify instruction data builders
|
|
183
|
+
buildVerifyTransactionInstructionData, buildCompleteDepositInstructionData,
|
|
184
|
+
// Pool config (disc 2) builder + parser
|
|
185
|
+
buildSetPoolConfigInstructionData, parsePoolConfig, POOL_CONFIG_DISCRIMINATOR, POOL_CONFIG_LEN, POOL_SCRIPT_MAX_LEN, } from "./instructions";
|
|
186
|
+
// ==========================================================================
|
|
187
|
+
// VK Registry (JoinSplit Groth16 on-chain verification keys)
|
|
188
|
+
// ==========================================================================
|
|
189
|
+
export { VK_REGISTRY_DISCRIMINATOR, VK_REGISTRY_LEN, MAX_IC_POINTS, MAX_SAFE_JOINSPLIT_SIZE, INIT_VK_REGISTRY_DISCRIMINATOR, UPDATE_VK_REGISTRY_DISCRIMINATOR, joinSplitNumPublicInputs, computeVkHash, vkeyJsonToVkMaterial, buildVkRegistryData, parseVkRegistry, assertVkRegistryForShape, isVkRegistryReady, } from "./vk-registry";
|
|
190
|
+
// ==========================================================================
|
|
191
|
+
// ChadBuffer Relay
|
|
192
|
+
// ==========================================================================
|
|
193
|
+
// relay.ts held a second implementation of the ChadBuffer lifecycle — create / upload / close —
|
|
194
|
+
// alongside chadbuffer.ts, which already does all three. Nothing imported it but this barrel, and
|
|
195
|
+
// the two disagreed on chunk size (1020 vs 1056 bytes for the same write instruction), so one of
|
|
196
|
+
// them was wrong. Removed; chadbuffer.ts is the single implementation.
|
|
197
|
+
// ==========================================================================
|
|
198
|
+
// Explorer (on-chain account fetchers & parsers)
|
|
199
|
+
// ==========================================================================
|
|
200
|
+
export { fetchExplorerDeposits, fetchExplorerTransfers, fetchExplorerRedemptions, parseNullifierRecord, parseRedemptionRequest, NULLIFIER_RECORD_SIZE, REDEMPTION_REQUEST_SIZE, NULLIFIER_RECORD_DISCRIMINATOR, REDEMPTION_REQUEST_DISCRIMINATOR, OPERATION_TYPE_LABELS, } from "./explorer";
|
|
201
|
+
// ==========================================================================
|
|
202
|
+
// Event Parsing (sol_log_data events from on-chain program)
|
|
203
|
+
// ==========================================================================
|
|
204
|
+
export { parseProgramEvents, parseNullifierSpentEvent, parseStealthAnnouncementEvent, parseSenderMemoEvent, parseBtcOriginAttestationEvent, parseAuditorCiphertextEvent, EVENT_NULLIFIER_SPENT, EVENT_STEALTH_ANNOUNCEMENT, EVENT_NULLIFIERS_BATCH, EVENT_ANNOUNCEMENTS_BATCH, EVENT_SENDER_MEMO, EVENT_BTC_ORIGIN_ATTESTATION, EVENT_AUDITOR_CIPHERTEXT, } from "./events";
|
|
205
|
+
// ==========================================================================
|
|
206
|
+
// Announcement Client (WS + REST + RPC fallback)
|
|
207
|
+
// ==========================================================================
|
|
208
|
+
export { AnnouncementClient, } from "./announcement-client";
|
|
209
|
+
// ==========================================================================
|
|
210
|
+
// Event Client (unified WS + REST for all event types)
|
|
211
|
+
// ==========================================================================
|
|
212
|
+
export { EventClient, } from "./event-client";
|
|
213
|
+
// ==========================================================================
|
|
214
|
+
// High-Level Client (Phase 1: init + auth + balance)
|
|
215
|
+
// ==========================================================================
|
|
216
|
+
export { UTXOpiaClient, } from "./client";
|