QuadraticArithmeticProgram
shield(amount, to) shieldToStealth(amount, stealth, ephemeralPubKey, metadata) unshield(amount, to) unshieldWithSig(owner, to, amount, fee, extra, deadline, sig) transferWithSig(...) // signed stealth transfer + Announcement donate(amount) convertToShares(assets) / convertToAssets(shares) sharesOf(addr) totalBacking() totalShares() tokensPerEthEma() networkFee()
BilinearPairings
buy(minTokensOut, to) payable buyToStealth(minTokensOut, stealth, ephemeralPubKey, metadata) payable sell(...) // consumes a bound unshieldWithSig quote(isBuy, amountIn)
CryptographicCommitment
registerKeys(stealthMetaAddress) stealthMetaAddressOf(registrant)
ArithmeticCircuit
harvest() // permissionless transferOwnership(newOwner) // owner only
