@cloakedxyz/clkd-privacy-池
关键衍生、证据生成和回收工具 0xbow 隐私池 一体化 隐藏。 。 。 .
这有什么作用
- 衍生物 隐私 共享钱包签名的秘密
- 扫描存款链, 并将其匹配到钱包的关键材料
- 生成退出和愤怒的ZK证明(承诺证明)
- 查询ASP API的存款审查状况和默克勒数据
- 计算链上配置的存款费
安装
pnpm add @cloakedxyz/clkd-privacy-pools
使用量
import {
deriveMnemonic,
deriveMasterKeys,
deriveDepositSecrets,
computePrecommitment,
scanPoolEvents,
getChainConfig,
} from '@cloakedxyz/clkd-privacy-pools';
// Derive PP secrets from a wallet signature
const mnemonic = await deriveMnemonic(signature);
const masterKeys = deriveMasterKeys(mnemonic);
const secrets = deriveDepositSecrets(masterKeys, poolScope, 0n);
const precommitment = computePrecommitment(secrets.nullifier, secrets.secret);
// Scan the chain for deposits
const config = getChainConfig(11155111); // Sepolia
const { depositsByPrecommitment } = await scanPoolEvents(
publicClient,
config.pools['ETH'].address,
config.startBlock,
latestBlock
);
数额 精确度
隐私池在公开的链上活动中发布存款和提取值.
隐私池 v1 对被封存的资产使用折叠储值网格
支持: USDC, (中文(简体) ), USDT,以及 ETH 使用 5 小数 表示实际交存事件
金额。 中继整合应在同一网格上保留新的储值
因此,用户并不突出为唯一一个十进制精确的账户.
活动显示可能减少小数;即列报,而不是
金额规则.
这些帮手为公开交易编码 它们不是协议或协议 电路约束, 和不支持的符号失败 .
import {
floorPrivacyPoolAmount,
isPrivacyPoolAmountAligned,
} from '@cloakedxyz/clkd-privacy-pools';
const alignedDepositValue = floorPrivacyPoolAmount(netDepositValue, 6, 'USDC');
const isAligned = isPrivacyPoolAmountAligned(userDepositValue, 6, 'USDC');
对于用户输入的精确金额,验证校正并请求用户调整
而不是悄悄地改变金额。 新的最大/全部存款,下限
在创建储金之前, 输入到网格中, 所以每个新的 Deposited 值为
对齐。 提款可继续使用未支配承付款;一旦存款
对齐的,新形成的平衡 自然地留在同一个网格.
支持链
| 链条 | 身份证 | APP API (英语) |
|---|---|---|
| 以利亚 | 1个 | api.0xbow.io (英语) |
| 塞波利亚 | 11155111 (英语) | dw.0xbow.io (英语) |
警卫
- 域相分离的密钥导出( N)
keccak256(encodePacked("privacy-pools-v1", signature)))确保 PP 密钥在密码学上独立于同一钱包签名产生的隐形地址密钥 - 所有验证生成程序运行客户端 —— 没有服务器看到用户秘密
- 没有私密密钥或秘密被存储——所有从钱包中重新找到的东西
许可证
麻省理工学院