Skip to content

ComplianceProofProvider

SIP Protocol API Reference v0.7.4


SIP Protocol API Reference / ComplianceProofProvider

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1119

Compliance Proof Provider

Generates ZK proofs for regulatory compliance without revealing sensitive data.

const provider = new ComplianceProofProvider()
await provider.initialize()
// Prove viewing key access to auditor
const result = await provider.generateViewingKeyAccessProof({
viewingKey: myViewingKey,
transactionHash: '0x...',
encryptedData: encryptedTxData,
auditorPublicKey: '0x...',
timestamp: Date.now(),
})
// Share proof with auditor (they can verify without seeing data)
await sendToAuditor(result.proof)

new ComplianceProofProvider(config?): ComplianceProofProvider

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1122

ComplianceProofConfig

ComplianceProofProvider

get isReady(): boolean

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1126

Check if provider is initialized

boolean

initialize(): Promise<void>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1130

Initialize the compliance proof provider

Promise<void>


generateViewingKeyAccessProof(params): Promise<ComplianceProofResult>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1140

Generate a viewing key access proof

Proves to an auditor that the holder of a viewing key can decrypt a specific transaction without revealing the decrypted contents.

ViewingKeyAccessParams

Viewing key access parameters

Promise<ComplianceProofResult>

Compliance proof result


generateSanctionsClearProof(params): Promise<ComplianceProofResult>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1150

Generate a sanctions clearance proof

Proves that sender and recipient are not on any sanctions lists without revealing their actual addresses.

SanctionsClearParams

Sanctions clearance parameters

Promise<ComplianceProofResult>

Compliance proof result


generateBalanceAttestationProof(params): Promise<ComplianceProofResult>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1160

Generate a balance attestation proof

Proves that an account has at least a certain balance without revealing the exact balance.

BalanceAttestationParams

Balance attestation parameters

Promise<ComplianceProofResult>

Compliance proof result


generateHistoryCompletenessProof(params): Promise<ComplianceProofResult>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1170

Generate a history completeness proof

Proves that all transactions in a time range have been disclosed without revealing individual transaction amounts.

HistoryCompletenessParams

History completeness parameters

Promise<ComplianceProofResult>

Compliance proof result


verifyComplianceProof(result): Promise<boolean>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1200

Verify a compliance proof

ComplianceProofResult

Compliance proof result to verify

Promise<boolean>

true if valid, false otherwise

IMPORTANT: Mock Implementation

This verification performs structural validation only:

  • Checks proof expiry
  • Validates proof format and size
  • Verifies public inputs exist
  • Checks proof type matches compliance type

It does NOT perform cryptographic verification of the ZK proof. For production use, integrate with SolanaNoirVerifier.verifyOffChain() or deploy a dedicated compliance circuit verifier.

// For production cryptographic verification:
const solanaVerifier = new SolanaNoirVerifier()
await solanaVerifier.initialize()
const cryptoValid = await solanaVerifier.verifyOffChain(result.proof)
const formatValid = await complianceProvider.verifyComplianceProof(result)
const isValid = cryptoValid && formatValid

destroy(): Promise<void>

Defined in: @sip-protocol/sdk/dist/index-DXh2IGkz.d.ts:1204

Destroy the provider and free resources

Promise<void>