@zama-fhe/sdk 3.7.0-beta.1 → 3.7.0-beta.3
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/dist/cjs/base-signer.cjs +1 -1
- package/dist/cjs/base-signer.cjs.map +1 -1
- package/dist/cjs/chains/index.cjs +1 -1
- package/dist/cjs/chains.cjs +1 -1
- package/dist/cjs/chains.cjs.map +1 -1
- package/dist/cjs/fhevm-relayer.cjs +1 -1
- package/dist/cjs/fhevm-relayer.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/node/index.cjs +1 -1
- package/dist/esm/{base-signer-DIYZwDnc.d.ts → base-signer-D902THgk.d.ts} +2 -2
- package/dist/esm/base-signer-ws-wq22y.js +2 -0
- package/dist/esm/{base-signer-D5Cwv7yb.js.map → base-signer-ws-wq22y.js.map} +1 -1
- package/dist/esm/chains/index.d.ts +2 -2
- package/dist/esm/chains/index.js +1 -1
- package/dist/esm/{chains-ByyCdrrd.js → chains-iPpnjXql.js} +2 -2
- package/dist/esm/{chains-ByyCdrrd.js.map → chains-iPpnjXql.js.map} +1 -1
- package/dist/esm/cleartext/index.d.ts +2 -2
- package/dist/esm/cleartext/index.js +1 -1
- package/dist/esm/{cleartext-3HOk1BAg.d.ts → cleartext-B6vrnBzO.d.ts} +2 -2
- package/dist/esm/{cleartext-iE4sWgSP.js → cleartext-PCpNqRGV.js} +2 -2
- package/dist/esm/{cleartext-iE4sWgSP.js.map → cleartext-PCpNqRGV.js.map} +1 -1
- package/dist/esm/ethers/index.d.ts +4 -4
- package/dist/esm/ethers/index.js +1 -1
- package/dist/esm/{fhevm-relayer-Cm-ZR1vP.js → fhevm-relayer-CtrnKjJf.js} +2 -2
- package/dist/esm/{fhevm-relayer-Cm-ZR1vP.js.map → fhevm-relayer-CtrnKjJf.js.map} +1 -1
- package/dist/esm/{index-ijgDL4IC.d.ts → index-Cdbp_93f.d.ts} +24 -4
- package/dist/esm/{index-DJYq1rAB.d.ts → index-CnIEp8zv.d.ts} +1521 -1080
- package/dist/esm/{index-BHrjck_q.d.ts → index-CsuDB4UI.d.ts} +4 -4
- package/dist/esm/index.d.ts +99 -8
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node/index.d.ts +5 -5
- package/dist/esm/node/index.js +1 -1
- package/dist/esm/node/index.js.map +1 -1
- package/dist/esm/query/index.d.ts +4 -495
- package/dist/esm/{types-Bz5-wHPv.d.ts → types-Crf7ymyj.d.ts} +2 -2
- package/dist/esm/{types-v0_sfkli.d.ts → types-CuldbZne.d.ts} +3 -3
- package/dist/esm/{types-CI6BtpB7.d.ts → types-DnJSNoEC.d.ts} +3 -3
- package/dist/esm/vaults/index.d.ts +2 -3
- package/dist/esm/viem/index.d.ts +4 -4
- package/dist/esm/viem/index.js +1 -1
- package/dist/esm/web/index.d.ts +1 -1
- package/dist/esm/web/index.js +1 -1
- package/package.json +2 -2
- package/dist/esm/base-signer-D5Cwv7yb.js +0 -2
- package/dist/esm/invalidation-CJ-pzOUG.d.ts +0 -46
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../chains.cjs");exports.anvil=e.t,exports.bscTestnet=e.n,exports.chains=e.r,exports.hardhat=e.i,exports.hoodi=e.a,exports.ingenTestnet=e.o,exports.mainnet=e.s,exports.polygon=e.c,exports.polygonAmoy=e.l,exports.sepolia=e.u;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../chains.cjs");exports.anvil=e.t,exports.bscTestnet=e.n,exports.chains=e.r,exports.hardhat=e.i,exports.hoodi=e.a,exports.ingenTestnet=e.o,exports.mainnet=e.s,exports.polygon=e.c,exports.polygonAmoy=e.l,exports.sepolia=e.u,exports.zenithTrexTestnet=e.d;
|
package/dist/cjs/chains.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e={id:1,gatewayChainId:261131,relayerUrl:`https://relayer.mainnet.zama.org`,network:`https://ethereum-rpc.publicnode.com`,aclContractAddress:`0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6`,kmsContractAddress:`0x77627828a55156b04Ac0DC0eb30467f1a552BB03`,inputVerifierContractAddress:`0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2`,verifyingContractAddressDecryption:`0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24`,verifyingContractAddressInputVerification:`0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287`,registryAddress:`0xeb5015fF021DB115aCe010f23F55C2591059bBA0`},t={id:137,gatewayChainId:261131,relayerUrl:`https://relayer.mainnet.zama.org`,network:`https://polygon-bor-rpc.publicnode.com`,aclContractAddress:`0x6737F17e31cf26a1b62fb0362acC5a16CB156F49`,kmsContractAddress:`0x14e609595474874Dd6b6128376E336EfADfdBE37`,inputVerifierContractAddress:`0xf40BD204B035522EaAc8E5afAdc55113Acac96ca`,verifyingContractAddressDecryption:`0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24`,verifyingContractAddressInputVerification:`0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287`,registryAddress:`0xc8908569868758dAF814B5a8b96bBc44D1653d54`},n={id:11155111,gatewayChainId:10901,relayerUrl:`https://relayer.testnet.zama.org`,network:`https://ethereum-sepolia-rpc.publicnode.com`,aclContractAddress:`0xf0Ffdc93b7E186bC2f8CB3dAA75D86d1930A433D`,kmsContractAddress:`0xbE0E383937d564D7FF0BC3b46c51f0bF8d5C311A`,inputVerifierContractAddress:`0xBBC1fFCdc7C316aAAd72E807D9b0272BE8F84DA0`,verifyingContractAddressDecryption:`0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478`,verifyingContractAddressInputVerification:`0x483b9dE06E4E4C7D35CCf5837A1668487406D955`,registryAddress:`0x2f0750Bbb0A246059d80e94c454586a7F27a128e`},r={id:80002,gatewayChainId:10901,relayerUrl:`https://relayer.testnet.zama.org`,network:`https://polygon-amoy-bor-rpc.publicnode.com`,aclContractAddress:`0xD99Cb9Fc3c42c87f2A4A12e8Fd60318d6bDdf985`,kmsContractAddress:`0xCD1D89E311bce4C8DEa9a0857a0c9A4E153D4041`,inputVerifierContractAddress:`0x6e5A7D8b0c645467Cba7e62D6624917085118631`,verifyingContractAddressDecryption:`0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478`,verifyingContractAddressInputVerification:`0x483b9dE06E4E4C7D35CCf5837A1668487406D955`,registryAddress:`0xF486c3D4F4562760A43883e72E8D6f6Cf2EFdA94`},i={id:560048,gatewayChainId:10901,relayerUrl:``,network:`https://rpc.hoodi.ethpandaops.io`,aclContractAddress:`0x6D3FAf6f86e1fF9F3B0831Dda920AbA1cBd5bd68`,kmsContractAddress:`0x822BE20679CfAfdc352F05dEdfe12a07E912212e`,inputVerifierContractAddress:`0xf3D9A51f32D9bC23E1eECb0fAbF1f1DA4d9Bba26`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:`0x1807aE2f693F8530DFB126D0eF98F2F2518F292f`,executorAddress:`0xC316692627de536368d82e9121F1D44a550894E6`},a={id:364301,gatewayChainId:10901,relayerUrl:``,network:`https://rpc.ingen.t-rex.network`,aclContractAddress:`0x09a4710BfBe7B557cD5CFE88BB31e9b5b85C419b`,kmsContractAddress:`0xd885DEa6a924785fCcdf9CE993FEe27EA11832e6`,inputVerifierContractAddress:`0x90f05B10db153365D8cB143EA17f5E5714D0bCD5`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:`0x7FC3D79EF9d01fA318CF2Aa5D91dDC492383Be0F`,executorAddress:`0x1B05DE5b67b8f8363DC04E3a5996a616f11f8C7B`},o={id:97,gatewayChainId:10901,relayerUrl:``,network:`https://bsc-testnet.bnbchain.org`,aclContractAddress:`0x52470e945521E247Cb4754088a836Dc4b838AFBE`,kmsContractAddress:`0x788F5BB2d93aB4Cb67Fe2277757aE95006504F6F`,inputVerifierContractAddress:`0x49e0BAB39904E4192c30CFB58573Cbe27B7E398E`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:`0xc0E8B73b1C58D846e1d4f8fAE2E1466C85BCeAeC`,executorAddress:`0x5985e48689550c1b2893ABfBbe4cc0eE3A22cc54`},
|
|
1
|
+
const e={id:1,gatewayChainId:261131,relayerUrl:`https://relayer.mainnet.zama.org`,network:`https://ethereum-rpc.publicnode.com`,aclContractAddress:`0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6`,kmsContractAddress:`0x77627828a55156b04Ac0DC0eb30467f1a552BB03`,inputVerifierContractAddress:`0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2`,verifyingContractAddressDecryption:`0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24`,verifyingContractAddressInputVerification:`0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287`,registryAddress:`0xeb5015fF021DB115aCe010f23F55C2591059bBA0`},t={id:137,gatewayChainId:261131,relayerUrl:`https://relayer.mainnet.zama.org`,network:`https://polygon-bor-rpc.publicnode.com`,aclContractAddress:`0x6737F17e31cf26a1b62fb0362acC5a16CB156F49`,kmsContractAddress:`0x14e609595474874Dd6b6128376E336EfADfdBE37`,inputVerifierContractAddress:`0xf40BD204B035522EaAc8E5afAdc55113Acac96ca`,verifyingContractAddressDecryption:`0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24`,verifyingContractAddressInputVerification:`0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287`,registryAddress:`0xc8908569868758dAF814B5a8b96bBc44D1653d54`},n={id:11155111,gatewayChainId:10901,relayerUrl:`https://relayer.testnet.zama.org`,network:`https://ethereum-sepolia-rpc.publicnode.com`,aclContractAddress:`0xf0Ffdc93b7E186bC2f8CB3dAA75D86d1930A433D`,kmsContractAddress:`0xbE0E383937d564D7FF0BC3b46c51f0bF8d5C311A`,inputVerifierContractAddress:`0xBBC1fFCdc7C316aAAd72E807D9b0272BE8F84DA0`,verifyingContractAddressDecryption:`0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478`,verifyingContractAddressInputVerification:`0x483b9dE06E4E4C7D35CCf5837A1668487406D955`,registryAddress:`0x2f0750Bbb0A246059d80e94c454586a7F27a128e`},r={id:80002,gatewayChainId:10901,relayerUrl:`https://relayer.testnet.zama.org`,network:`https://polygon-amoy-bor-rpc.publicnode.com`,aclContractAddress:`0xD99Cb9Fc3c42c87f2A4A12e8Fd60318d6bDdf985`,kmsContractAddress:`0xCD1D89E311bce4C8DEa9a0857a0c9A4E153D4041`,inputVerifierContractAddress:`0x6e5A7D8b0c645467Cba7e62D6624917085118631`,verifyingContractAddressDecryption:`0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478`,verifyingContractAddressInputVerification:`0x483b9dE06E4E4C7D35CCf5837A1668487406D955`,registryAddress:`0xF486c3D4F4562760A43883e72E8D6f6Cf2EFdA94`},i={id:560048,gatewayChainId:10901,relayerUrl:``,network:`https://rpc.hoodi.ethpandaops.io`,aclContractAddress:`0x6D3FAf6f86e1fF9F3B0831Dda920AbA1cBd5bd68`,kmsContractAddress:`0x822BE20679CfAfdc352F05dEdfe12a07E912212e`,inputVerifierContractAddress:`0xf3D9A51f32D9bC23E1eECb0fAbF1f1DA4d9Bba26`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:`0x1807aE2f693F8530DFB126D0eF98F2F2518F292f`,executorAddress:`0xC316692627de536368d82e9121F1D44a550894E6`},a={id:364301,gatewayChainId:10901,relayerUrl:``,network:`https://rpc.ingen.t-rex.network`,aclContractAddress:`0x09a4710BfBe7B557cD5CFE88BB31e9b5b85C419b`,kmsContractAddress:`0xd885DEa6a924785fCcdf9CE993FEe27EA11832e6`,inputVerifierContractAddress:`0x90f05B10db153365D8cB143EA17f5E5714D0bCD5`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:`0x7FC3D79EF9d01fA318CF2Aa5D91dDC492383Be0F`,executorAddress:`0x1B05DE5b67b8f8363DC04E3a5996a616f11f8C7B`},o={id:936486,gatewayChainId:10901,relayerUrl:``,network:`https://rpc.testnet.t-rex.zenith.network`,aclContractAddress:`0x061AAc7aAACc98d8e30459d4D858DaB9b6F3bd23`,kmsContractAddress:`0x85fBA21840059cB7E2E5BB7Fa2c5b2A324Ea7a7D`,inputVerifierContractAddress:`0xE90965601D10D42D3d88486b47b0Caf12C5C9fDe`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:`0xde2e3948d35ef9C406A7317eAF332F3c2786a566`,executorAddress:`0x6C5036A4ad55DBA8007ae82c4e9C123F143e53ab`},s={id:97,gatewayChainId:10901,relayerUrl:``,network:`https://bsc-testnet.bnbchain.org`,aclContractAddress:`0x52470e945521E247Cb4754088a836Dc4b838AFBE`,kmsContractAddress:`0x788F5BB2d93aB4Cb67Fe2277757aE95006504F6F`,inputVerifierContractAddress:`0x49e0BAB39904E4192c30CFB58573Cbe27B7E398E`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:`0xc0E8B73b1C58D846e1d4f8fAE2E1466C85BCeAeC`,executorAddress:`0x5985e48689550c1b2893ABfBbe4cc0eE3A22cc54`},c={id:31337,gatewayChainId:10901,relayerUrl:``,network:`http://127.0.0.1:8545`,aclContractAddress:`0x50157CFfD6bBFA2DECe204a89ec419c23ef5755D`,inputVerifierContractAddress:`0x36772142b74871f255CbD7A3e89B401d3e45825f`,kmsContractAddress:`0x901F8942346f7AB3a01F6D7613119Bca447Bb030`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:void 0,executorAddress:`0xe3a9105a3a932253A70F126eb1E3b589C643dD24`},l=c,u={[e.id]:e,[t.id]:t,[n.id]:n,[r.id]:r,[i.id]:i,[a.id]:a,[o.id]:o,[s.id]:s,[c.id]:c};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return n}});
|
|
2
2
|
//# sourceMappingURL=chains.cjs.map
|
package/dist/cjs/chains.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.cjs","names":[],"sources":["../../src/chains/configs.ts"],"sourcesContent":["import type { FheChain } from \"./types\";\n\n/**\n * Mainnet network configuration (chainId 1).\n */\nexport const mainnet = {\n id: 1,\n gatewayChainId: 261131,\n relayerUrl: \"https://relayer.mainnet.zama.org\",\n network: \"https://ethereum-rpc.publicnode.com\",\n aclContractAddress: \"0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\n kmsContractAddress: \"0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\n inputVerifierContractAddress: \"0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2\",\n verifyingContractAddressDecryption: \"0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24\",\n verifyingContractAddressInputVerification: \"0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287\",\n registryAddress: \"0xeb5015fF021DB115aCe010f23F55C2591059bBA0\",\n} as const satisfies FheChain;\n\n/**\n * Polygon mainnet network configuration (chainId 137).\n */\nexport const polygon = {\n id: 137,\n gatewayChainId: 261131,\n relayerUrl: \"https://relayer.mainnet.zama.org\",\n network: \"https://polygon-bor-rpc.publicnode.com\",\n aclContractAddress: \"0x6737F17e31cf26a1b62fb0362acC5a16CB156F49\",\n kmsContractAddress: \"0x14e609595474874Dd6b6128376E336EfADfdBE37\",\n inputVerifierContractAddress: \"0xf40BD204B035522EaAc8E5afAdc55113Acac96ca\",\n verifyingContractAddressDecryption: \"0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24\",\n verifyingContractAddressInputVerification: \"0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287\",\n registryAddress: \"0xc8908569868758dAF814B5a8b96bBc44D1653d54\",\n} as const satisfies FheChain;\n\n/**\n * Sepolia testnet network configuration (chainId 11155111).\n */\nexport const sepolia = {\n id: 11155111,\n gatewayChainId: 10901,\n relayerUrl: \"https://relayer.testnet.zama.org\",\n network: \"https://ethereum-sepolia-rpc.publicnode.com\",\n aclContractAddress: \"0xf0Ffdc93b7E186bC2f8CB3dAA75D86d1930A433D\",\n kmsContractAddress: \"0xbE0E383937d564D7FF0BC3b46c51f0bF8d5C311A\",\n inputVerifierContractAddress: \"0xBBC1fFCdc7C316aAAd72E807D9b0272BE8F84DA0\",\n verifyingContractAddressDecryption: \"0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478\",\n verifyingContractAddressInputVerification: \"0x483b9dE06E4E4C7D35CCf5837A1668487406D955\",\n registryAddress: \"0x2f0750Bbb0A246059d80e94c454586a7F27a128e\",\n} as const satisfies FheChain;\n\n/**\n * Polygon Amoy testnet network configuration (chainId 80002).\n */\nexport const polygonAmoy = {\n id: 80002,\n gatewayChainId: 10901,\n relayerUrl: \"https://relayer.testnet.zama.org\",\n network: \"https://polygon-amoy-bor-rpc.publicnode.com\",\n aclContractAddress: \"0xD99Cb9Fc3c42c87f2A4A12e8Fd60318d6bDdf985\",\n kmsContractAddress: \"0xCD1D89E311bce4C8DEa9a0857a0c9A4E153D4041\",\n inputVerifierContractAddress: \"0x6e5A7D8b0c645467Cba7e62D6624917085118631\",\n verifyingContractAddressDecryption: \"0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478\",\n verifyingContractAddressInputVerification: \"0x483b9dE06E4E4C7D35CCf5837A1668487406D955\",\n registryAddress: \"0xF486c3D4F4562760A43883e72E8D6f6Cf2EFdA94\",\n} as const satisfies FheChain;\n\n/**\n * Hoodi testnet configuration (chainId 560048).\n *\n * Hoodi does not have full FHE infrastructure — use with `cleartext()` transport.\n * Contract addresses match the cleartext deployment.\n */\nexport const hoodi = {\n id: 560048,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"https://rpc.hoodi.ethpandaops.io\",\n aclContractAddress: \"0x6D3FAf6f86e1fF9F3B0831Dda920AbA1cBd5bd68\",\n kmsContractAddress: \"0x822BE20679CfAfdc352F05dEdfe12a07E912212e\",\n inputVerifierContractAddress: \"0xf3D9A51f32D9bC23E1eECb0fAbF1f1DA4d9Bba26\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: \"0x1807aE2f693F8530DFB126D0eF98F2F2518F292f\",\n executorAddress: \"0xC316692627de536368d82e9121F1D44a550894E6\",\n} as const satisfies FheChain;\n\n/**\n * T-Rex InGen testnet configuration (chainId 364301).\n *\n * InGen does not have full FHE infrastructure — use with `cleartext()` transport.\n * Contract addresses match the cleartext deployment.\n */\nexport const ingenTestnet = {\n id: 364301,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"https://rpc.ingen.t-rex.network\",\n aclContractAddress: \"0x09a4710BfBe7B557cD5CFE88BB31e9b5b85C419b\",\n kmsContractAddress: \"0xd885DEa6a924785fCcdf9CE993FEe27EA11832e6\",\n inputVerifierContractAddress: \"0x90f05B10db153365D8cB143EA17f5E5714D0bCD5\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: \"0x7FC3D79EF9d01fA318CF2Aa5D91dDC492383Be0F\",\n executorAddress: \"0x1B05DE5b67b8f8363DC04E3a5996a616f11f8C7B\",\n} as const satisfies FheChain;\n\n/**\n * BNB Smart Chain testnet configuration (chainId 97, Chapel).\n *\n * BSC testnet does not have full FHE infrastructure — use with `cleartext()` transport.\n * Contract addresses match the cleartext deployment.\n */\nexport const bscTestnet = {\n id: 97,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"https://bsc-testnet.bnbchain.org\",\n aclContractAddress: \"0x52470e945521E247Cb4754088a836Dc4b838AFBE\",\n kmsContractAddress: \"0x788F5BB2d93aB4Cb67Fe2277757aE95006504F6F\",\n inputVerifierContractAddress: \"0x49e0BAB39904E4192c30CFB58573Cbe27B7E398E\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: \"0xc0E8B73b1C58D846e1d4f8fAE2E1466C85BCeAeC\",\n executorAddress: \"0x5985e48689550c1b2893ABfBbe4cc0eE3A22cc54\",\n} as const satisfies FheChain;\n\n/**\n * Hardhat local network configuration (chainId 31337).\n *\n * The addresses in this configuration must match those of your deployment.\n */\nexport const hardhat = {\n id: 31337,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"http://127.0.0.1:8545\",\n aclContractAddress: \"0x50157CFfD6bBFA2DECe204a89ec419c23ef5755D\",\n inputVerifierContractAddress: \"0x36772142b74871f255CbD7A3e89B401d3e45825f\",\n kmsContractAddress: \"0x901F8942346f7AB3a01F6D7613119Bca447Bb030\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: undefined,\n executorAddress: \"0xe3a9105a3a932253A70F126eb1E3b589C643dD24\",\n} as const satisfies FheChain;\n\n/** Alias for {@link hardhat}. */\nexport const anvil = hardhat;\n\n/**\n * Built-in chain configurations keyed by chain ID.\n */\nexport const chains: Record<number, FheChain> = {\n [mainnet.id]: mainnet,\n [polygon.id]: polygon,\n [sepolia.id]: sepolia,\n [polygonAmoy.id]: polygonAmoy,\n [hoodi.id]: hoodi,\n [ingenTestnet.id]: ingenTestnet,\n [bscTestnet.id]: bscTestnet,\n [hardhat.id]: hardhat,\n} as const;\n"],"mappings":"AAKA,MAAa,EAAU,CACrB,GAAI,EACJ,eAAgB,OAChB,WAAY,mCACZ,QAAS,sCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,4CACnB,EAKa,EAAU,CACrB,GAAI,IACJ,eAAgB,OAChB,WAAY,mCACZ,QAAS,yCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,4CACnB,EAKa,EAAU,CACrB,GAAI,SACJ,eAAgB,MAChB,WAAY,mCACZ,QAAS,8CACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,4CACnB,EAKa,EAAc,CACzB,GAAI,MACJ,eAAgB,MAChB,WAAY,mCACZ,QAAS,8CACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,4CACnB,EAQa,EAAQ,CACnB,GAAI,OACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,mCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CACjB,gBAAiB,4CACnB,EAQa,EAAe,CAC1B,GAAI,OACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,kCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CACjB,gBAAiB,4CACnB,EAQa,EAAa,CACxB,GAAI,GACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,mCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CACjB,gBAAiB,4CACnB,EAOa,EAAU,CACrB,GAAI,MACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,wBACT,mBAAoB,6CACpB,6BAA8B,6CAC9B,mBAAoB,6CACpB,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,IAAA,GACjB,gBAAiB,4CACnB,EAGa,EAAQ,EAKR,EAAmC,EAC7C,EAAQ,IAAK,GACb,EAAQ,IAAK,GACb,EAAQ,IAAK,GACb,EAAY,IAAK,GACjB,EAAM,IAAK,GACX,EAAa,IAAK,GAClB,EAAW,IAAK,GAChB,EAAQ,IAAK,CAChB"}
|
|
1
|
+
{"version":3,"file":"chains.cjs","names":[],"sources":["../../src/chains/configs.ts"],"sourcesContent":["import type { FheChain } from \"./types\";\n\n/**\n * Mainnet network configuration (chainId 1).\n */\nexport const mainnet = {\n id: 1,\n gatewayChainId: 261131,\n relayerUrl: \"https://relayer.mainnet.zama.org\",\n network: \"https://ethereum-rpc.publicnode.com\",\n aclContractAddress: \"0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\n kmsContractAddress: \"0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\n inputVerifierContractAddress: \"0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2\",\n verifyingContractAddressDecryption: \"0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24\",\n verifyingContractAddressInputVerification: \"0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287\",\n registryAddress: \"0xeb5015fF021DB115aCe010f23F55C2591059bBA0\",\n} as const satisfies FheChain;\n\n/**\n * Polygon mainnet network configuration (chainId 137).\n */\nexport const polygon = {\n id: 137,\n gatewayChainId: 261131,\n relayerUrl: \"https://relayer.mainnet.zama.org\",\n network: \"https://polygon-bor-rpc.publicnode.com\",\n aclContractAddress: \"0x6737F17e31cf26a1b62fb0362acC5a16CB156F49\",\n kmsContractAddress: \"0x14e609595474874Dd6b6128376E336EfADfdBE37\",\n inputVerifierContractAddress: \"0xf40BD204B035522EaAc8E5afAdc55113Acac96ca\",\n verifyingContractAddressDecryption: \"0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24\",\n verifyingContractAddressInputVerification: \"0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287\",\n registryAddress: \"0xc8908569868758dAF814B5a8b96bBc44D1653d54\",\n} as const satisfies FheChain;\n\n/**\n * Sepolia testnet network configuration (chainId 11155111).\n */\nexport const sepolia = {\n id: 11155111,\n gatewayChainId: 10901,\n relayerUrl: \"https://relayer.testnet.zama.org\",\n network: \"https://ethereum-sepolia-rpc.publicnode.com\",\n aclContractAddress: \"0xf0Ffdc93b7E186bC2f8CB3dAA75D86d1930A433D\",\n kmsContractAddress: \"0xbE0E383937d564D7FF0BC3b46c51f0bF8d5C311A\",\n inputVerifierContractAddress: \"0xBBC1fFCdc7C316aAAd72E807D9b0272BE8F84DA0\",\n verifyingContractAddressDecryption: \"0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478\",\n verifyingContractAddressInputVerification: \"0x483b9dE06E4E4C7D35CCf5837A1668487406D955\",\n registryAddress: \"0x2f0750Bbb0A246059d80e94c454586a7F27a128e\",\n} as const satisfies FheChain;\n\n/**\n * Polygon Amoy testnet network configuration (chainId 80002).\n */\nexport const polygonAmoy = {\n id: 80002,\n gatewayChainId: 10901,\n relayerUrl: \"https://relayer.testnet.zama.org\",\n network: \"https://polygon-amoy-bor-rpc.publicnode.com\",\n aclContractAddress: \"0xD99Cb9Fc3c42c87f2A4A12e8Fd60318d6bDdf985\",\n kmsContractAddress: \"0xCD1D89E311bce4C8DEa9a0857a0c9A4E153D4041\",\n inputVerifierContractAddress: \"0x6e5A7D8b0c645467Cba7e62D6624917085118631\",\n verifyingContractAddressDecryption: \"0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478\",\n verifyingContractAddressInputVerification: \"0x483b9dE06E4E4C7D35CCf5837A1668487406D955\",\n registryAddress: \"0xF486c3D4F4562760A43883e72E8D6f6Cf2EFdA94\",\n} as const satisfies FheChain;\n\n/**\n * Hoodi testnet configuration (chainId 560048).\n *\n * Hoodi does not have full FHE infrastructure — use with `cleartext()` transport.\n * Contract addresses match the cleartext deployment.\n */\nexport const hoodi = {\n id: 560048,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"https://rpc.hoodi.ethpandaops.io\",\n aclContractAddress: \"0x6D3FAf6f86e1fF9F3B0831Dda920AbA1cBd5bd68\",\n kmsContractAddress: \"0x822BE20679CfAfdc352F05dEdfe12a07E912212e\",\n inputVerifierContractAddress: \"0xf3D9A51f32D9bC23E1eECb0fAbF1f1DA4d9Bba26\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: \"0x1807aE2f693F8530DFB126D0eF98F2F2518F292f\",\n executorAddress: \"0xC316692627de536368d82e9121F1D44a550894E6\",\n} as const satisfies FheChain;\n\n/**\n * T-Rex InGen testnet configuration (chainId 364301).\n *\n * InGen does not have full FHE infrastructure — use with `cleartext()` transport.\n * Contract addresses match the cleartext deployment.\n */\nexport const ingenTestnet = {\n id: 364301,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"https://rpc.ingen.t-rex.network\",\n aclContractAddress: \"0x09a4710BfBe7B557cD5CFE88BB31e9b5b85C419b\",\n kmsContractAddress: \"0xd885DEa6a924785fCcdf9CE993FEe27EA11832e6\",\n inputVerifierContractAddress: \"0x90f05B10db153365D8cB143EA17f5E5714D0bCD5\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: \"0x7FC3D79EF9d01fA318CF2Aa5D91dDC492383Be0F\",\n executorAddress: \"0x1B05DE5b67b8f8363DC04E3a5996a616f11f8C7B\",\n} as const satisfies FheChain;\n\n/**\n * T-Rex Zenith testnet configuration (chainId 936486).\n *\n * T-Rex's testnet instance on Zenith EVM (Reth execution, Canton-mediated\n * finality) — a separate chain from Zenith's shared testnet (chainId 936485).\n * It does not have full FHE infrastructure — use with `cleartext()` transport.\n */\nexport const zenithTrexTestnet = {\n id: 936486,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"https://rpc.testnet.t-rex.zenith.network\",\n aclContractAddress: \"0x061AAc7aAACc98d8e30459d4D858DaB9b6F3bd23\",\n kmsContractAddress: \"0x85fBA21840059cB7E2E5BB7Fa2c5b2A324Ea7a7D\",\n inputVerifierContractAddress: \"0xE90965601D10D42D3d88486b47b0Caf12C5C9fDe\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: \"0xde2e3948d35ef9C406A7317eAF332F3c2786a566\",\n executorAddress: \"0x6C5036A4ad55DBA8007ae82c4e9C123F143e53ab\",\n} as const satisfies FheChain;\n\n/**\n * BNB Smart Chain testnet configuration (chainId 97, Chapel).\n *\n * BSC testnet does not have full FHE infrastructure — use with `cleartext()` transport.\n * Contract addresses match the cleartext deployment.\n */\nexport const bscTestnet = {\n id: 97,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"https://bsc-testnet.bnbchain.org\",\n aclContractAddress: \"0x52470e945521E247Cb4754088a836Dc4b838AFBE\",\n kmsContractAddress: \"0x788F5BB2d93aB4Cb67Fe2277757aE95006504F6F\",\n inputVerifierContractAddress: \"0x49e0BAB39904E4192c30CFB58573Cbe27B7E398E\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: \"0xc0E8B73b1C58D846e1d4f8fAE2E1466C85BCeAeC\",\n executorAddress: \"0x5985e48689550c1b2893ABfBbe4cc0eE3A22cc54\",\n} as const satisfies FheChain;\n\n/**\n * Hardhat local network configuration (chainId 31337).\n *\n * The addresses in this configuration must match those of your deployment.\n */\nexport const hardhat = {\n id: 31337,\n gatewayChainId: 10901,\n relayerUrl: \"\",\n network: \"http://127.0.0.1:8545\",\n aclContractAddress: \"0x50157CFfD6bBFA2DECe204a89ec419c23ef5755D\",\n inputVerifierContractAddress: \"0x36772142b74871f255CbD7A3e89B401d3e45825f\",\n kmsContractAddress: \"0x901F8942346f7AB3a01F6D7613119Bca447Bb030\",\n verifyingContractAddressDecryption: \"0x5ffdaAB0373E62E2ea2944776209aEf29E631A64\",\n verifyingContractAddressInputVerification: \"0x812b06e1CDCE800494b79fFE4f925A504a9A9810\",\n registryAddress: undefined,\n executorAddress: \"0xe3a9105a3a932253A70F126eb1E3b589C643dD24\",\n} as const satisfies FheChain;\n\n/** Alias for {@link hardhat}. */\nexport const anvil = hardhat;\n\n/**\n * Built-in chain configurations keyed by chain ID.\n */\nexport const chains: Record<number, FheChain> = {\n [mainnet.id]: mainnet,\n [polygon.id]: polygon,\n [sepolia.id]: sepolia,\n [polygonAmoy.id]: polygonAmoy,\n [hoodi.id]: hoodi,\n [ingenTestnet.id]: ingenTestnet,\n [zenithTrexTestnet.id]: zenithTrexTestnet,\n [bscTestnet.id]: bscTestnet,\n [hardhat.id]: hardhat,\n} as const;\n"],"mappings":"AAKA,MAAa,EAAU,CACrB,GAAI,EACJ,eAAgB,OAChB,WAAY,mCACZ,QAAS,sCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,4CACnB,EAKa,EAAU,CACrB,GAAI,IACJ,eAAgB,OAChB,WAAY,mCACZ,QAAS,yCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,4CACnB,EAKa,EAAU,CACrB,GAAI,SACJ,eAAgB,MAChB,WAAY,mCACZ,QAAS,8CACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,4CACnB,EAKa,EAAc,CACzB,GAAI,MACJ,eAAgB,MAChB,WAAY,mCACZ,QAAS,8CACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,4CACnB,EAQa,EAAQ,CACnB,GAAI,OACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,mCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CACjB,gBAAiB,4CACnB,EAQa,EAAe,CAC1B,GAAI,OACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,kCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CACjB,gBAAiB,4CACnB,EASa,EAAoB,CAC/B,GAAI,OACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,2CACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CACjB,gBAAiB,4CACnB,EAQa,EAAa,CACxB,GAAI,GACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,mCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CACjB,gBAAiB,4CACnB,EAOa,EAAU,CACrB,GAAI,MACJ,eAAgB,MAChB,WAAY,GACZ,QAAS,wBACT,mBAAoB,6CACpB,6BAA8B,6CAC9B,mBAAoB,6CACpB,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,IAAA,GACjB,gBAAiB,4CACnB,EAGa,EAAQ,EAKR,EAAmC,EAC7C,EAAQ,IAAK,GACb,EAAQ,IAAK,GACb,EAAQ,IAAK,GACb,EAAY,IAAK,GACjB,EAAM,IAAK,GACX,EAAa,IAAK,GAClB,EAAkB,IAAK,GACvB,EAAW,IAAK,GAChB,EAAQ,IAAK,CAChB"}
|
|
@@ -4,5 +4,5 @@ var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports);const t=r
|
|
|
4
4
|
* Copyright 2019 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
-
var l=e(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n.Comlink={}))})(e,(function(e){"use strict";let t=Symbol(`Comlink.proxy`),n=Symbol(`Comlink.endpoint`),r=Symbol(`Comlink.releaseProxy`),i=Symbol(`Comlink.finalizer`),a=Symbol(`Comlink.thrown`),o=e=>typeof e==`object`&&!!e||typeof e==`function`,s=new Map([[`proxy`,{canHandle:e=>o(e)&&e[t],serialize(e){let{port1:t,port2:n}=new MessageChannel;return l(e,t),[n,[n]]},deserialize(e){return e.start(),f(e)}}],[`throw`,{canHandle:e=>o(e)&&a in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(Error(e.value.message),e.value):e.value}}]]);function c(e,t){for(let n of e)if(t===n||n===`*`||n instanceof RegExp&&n.test(t))return!0;return!1}function l(e,t=globalThis,n=[`*`]){t.addEventListener(`message`,function r(o){if(!o||!o.data)return;if(!c(n,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}let{id:s,type:u,path:f}=Object.assign({path:[]},o.data),p=(o.data.argumentList||[]).map(D),m;try{let t=f.slice(0,-1).reduce((e,t)=>e[t],e),n=f.reduce((e,t)=>e[t],e);switch(u){case`GET`:m=n;break;case`SET`:t[f.slice(-1)[0]]=D(o.data.value),m=!0;break;case`APPLY`:m=n.apply(t,p);break;case`CONSTRUCT`:m=w(new n(...p));break;case`ENDPOINT`:{let{port1:t,port2:n}=new MessageChannel;l(e,n),m=C(t,[t])}break;case`RELEASE`:m=void 0;break;default:return}}catch(e){m={value:e,[a]:0}}Promise.resolve(m).catch(e=>({value:e,[a]:0})).then(n=>{let[a,o]=E(n);t.postMessage(Object.assign(Object.assign({},a),{id:s}),o),u===`RELEASE`&&(t.removeEventListener(`message`,r),d(t),i in e&&typeof e[i]==`function`&&e[i]())}).catch(e=>{let[n,r]=E({value:TypeError(`Unserializable return value`),[a]:0});t.postMessage(Object.assign(Object.assign({},n),{id:s}),r)})}),t.start&&t.start()}function u(e){return e.constructor.name===`MessagePort`}function d(e){u(e)&&e.close()}function f(e,t){let n=new Map;return e.addEventListener(`message`,function(e){let{data:t}=e;if(!t||!t.id)return;let r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}}),y(e,n,[],t)}function p(e){if(e)throw Error(`Proxy has been released and is not useable`)}function m(e){return O(e,new Map,{type:`RELEASE`}).then(()=>{d(e)})}let h=new WeakMap,g=`FinalizationRegistry`in globalThis&&new FinalizationRegistry(e=>{let t=(h.get(e)||0)-1;h.set(e,t),t===0&&m(e)});function _(e,t){let n=(h.get(t)||0)+1;h.set(t,n),g&&g.register(e,t,e)}function v(e){g&&g.unregister(e)}function y(e,t,i=[],a=function(){}){let o=!1,s=new Proxy(a,{get(n,a){if(p(o),a===r)return()=>{v(s),m(e),t.clear(),o=!0};if(a===`then`){if(i.length===0)return{then:()=>s};let n=O(e,t,{type:`GET`,path:i.map(e=>e.toString())}).then(D);return n.then.bind(n)}return y(e,t,[...i,a])},set(n,r,a){p(o);let[s,c]=E(a);return O(e,t,{type:`SET`,path:[...i,r].map(e=>e.toString()),value:s},c).then(D)},apply(r,a,s){p(o);let c=i[i.length-1];if(c===n)return O(e,t,{type:`ENDPOINT`}).then(D);if(c===`bind`)return y(e,t,i.slice(0,-1));let[l,u]=x(s);return O(e,t,{type:`APPLY`,path:i.map(e=>e.toString()),argumentList:l},u).then(D)},construct(n,r){p(o);let[a,s]=x(r);return O(e,t,{type:`CONSTRUCT`,path:i.map(e=>e.toString()),argumentList:a},s).then(D)}});return _(s,e),s}function b(e){return Array.prototype.concat.apply([],e)}function x(e){let t=e.map(E);return[t.map(e=>e[0]),b(t.map(e=>e[1]))]}let S=new WeakMap;function C(e,t){return S.set(e,t),e}function w(e){return Object.assign(e,{[t]:!0})}function T(e,t=globalThis,n=`*`){return{postMessage:(t,r)=>e.postMessage(t,n,r),addEventListener:t.addEventListener.bind(t),removeEventListener:t.removeEventListener.bind(t)}}function E(e){for(let[t,n]of s)if(n.canHandle(e)){let[r,i]=n.serialize(e);return[{type:`HANDLER`,name:t,value:r},i]}return[{type:`RAW`,value:e},S.get(e)||[]]}function D(e){switch(e.type){case`HANDLER`:return s.get(e.name).deserialize(e.value);case`RAW`:return e.value}}function O(e,t,n,r){return new Promise(i=>{let a=k();t.set(a,i),e.start&&e.start(),e.postMessage(Object.assign({id:a},n),r)})}function k(){return[,,,,].fill(0).map(()=>Math.floor(Math.random()*(2**53-1)).toString(16)).join(`-`)}e.createEndpoint=n,e.expose=l,e.finalizer=i,e.proxy=w,e.proxyMarker=t,e.releaseProxy=r,e.transfer=C,e.transferHandlers=s,e.windowEndpoint=T,e.wrap=f}))}))();function u(e){return typeof e==`object`&&!!e&&e.wireError===!0}const d=[`statusCode`,`status`,`retryAfter`,`timeoutMs`,`relayerApiError`,`code`,`data`,`shortMessage`,`details`,`error`,`info`];function f(e){try{return structuredClone(e),!0}catch{return!1}}function p(e){let n=e.response;return t.x(n?.headers)}function m(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function h(e){let n={};for(let t of d){let r=e[t];r!==void 0&&f(r)&&(n[t]=r)}if(!t.y(n.retryAfter)){let t=p(e);t!==void 0&&(n.retryAfter=t)}return n}function g(e,t=6){if(u(e))return e;let n=e=>t>0&&e!==void 0?g(e,t-1):void 0;if(e instanceof Error)return{wireError:!0,name:e.name,message:e.message,stack:e.stack,props:h(e),cause:n(e.cause)};if(typeof e==`object`&&e){let{message:t,cause:r}=e;return{wireError:!0,name:`Error`,message:typeof t==`string`?t:m(e),stack:void 0,props:h(e),cause:n(r)}}return{wireError:!0,name:`Error`,message:typeof e==`string`?e:m(e),stack:void 0,props:{},cause:void 0}}function _(e){let t=Error(e.message,e.cause?{cause:_(e.cause)}:{});return t.name=e.name,e.stack!==void 0&&(t.stack=e.stack),Object.assign(t,e.props),t}function v(){throw Error(`The encrypt worker is only available in the ESM build.`)}const y={spawn:1e4,init:3e5},b=new WeakSet;var x=class extends Error{crashed;constructor(e,t){super(e,t),this.name=`WorkerUnavailableError`,this.crashed=t?.crashed??!1}};function S(e){if(typeof e!=`object`||!e)return!1;let{name:t,message:n}=e;return t===`DataCloneError`||t===`TypeError`&&typeof n==`string`&&n.includes(`Unserializable return value`)}function C(e){if(e?.aborted)throw e.reason??new DOMException(`The operation was aborted.`,`AbortError`)}const w={count:0,last:void 0,warnedFor:-1};function T(e){if(e===void 0)return{key:e,transfers:[]};let t=e.publicKeyBytes.bytes,n=e.crsBytes.bytes;if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array))return{key:e,transfers:[]};let r=t.slice(),i=n.slice();return{key:{...e,publicKeyBytes:{...e.publicKeyBytes,bytes:r},crsBytes:{...e.crsBytes,bytes:i}},transfers:[r.buffer,i.buffer]}}function E(){let e,t=new Promise((t,n)=>{e=n});return t.catch(()=>{}),{initPromise:void 0,worker:void 0,api:void 0,doomed:t,doom:e}}var D=class{#e;#t;#n=!1;#r=w;#i=0;#a=new Map;#o;#s=0;#c=!1;constructor(e){this.#e=e}init=()=>{let e=this.#t??=E();if(e.initPromise===void 0){let t=this.#f(()=>this.#u(e)).catch(n=>{throw e.initPromise===t&&(e.initPromise=void 0),n});e.initPromise=t}return e.initPromise};encryptValue=e=>this.#f(()=>this.#l(t=>t.encryptValue(e),(t,n,r)=>t.encryptValue(n,{...e,options:r}),e.options));encryptValues=e=>this.#f(()=>this.#l(t=>t.encryptValues(e),(t,n,r)=>t.encryptValues(n,{...e,options:r}),e.options));dispose(){this.#c=!0,this.#p()}async#l(e,t,n){let{signal:r,onProgress:i,...a}=n??{};C(r),await this.init(),C(r);let o=this.#t,s=o?.api;if(this.#o!==void 0&&(this.#n||s===void 0))return e(await this.#o);if(o===void 0||s===void 0)return e(await this.#b(o,this.#r.last??new x(`Encrypt worker not running.`)));let c=this.#i++,l=()=>void s.abort(c).catch(()=>{});r?.addEventListener(`abort`,l,{once:!0}),i&&this.#a.set(c,i);try{let e=await this.#v(o,t(s,c,a));return this.#r=w,e}catch(t){if(t instanceof x)return e(await this.#b(o,t));throw t}finally{this.#a.delete(c),r?.removeEventListener(`abort`,l)}}async#u(e){if(this.#n)return;let t=this.#e.blockedReason;if(t!==void 0){await this.#b(e,new x(t));return}let n=await this.#e.prefetchKey();try{let t=await this.#h(e),r=this.#e.network,i=typeof r==`string`?null:(0,l.proxy)(async e=>{try{return await r.request(e)}catch(e){throw g(e)}}),a=(0,l.proxy)((e,t)=>{try{this.#e.logger[e](t)}catch(e){this.#d(`logger`,e)}}),o=(0,l.proxy)((e,t)=>{try{this.#a.get(e)?.(t)}catch(e){this.#d(`onProgress`,e)}}),s=T(n);await this.#v(e,t.init((0,l.transfer)({...this.#e.initPayload,clientOptions:{...this.#e.initPayload.clientOptions,fheEncryptionKey:s.key},rpcUrl:typeof r==`string`?r:void 0},s.transfers),i,a,o),{ms:this.#e.timeouts.init,operation:`init`}),e.api=t,this.#r={...this.#r,last:void 0}}catch(t){if(!(t instanceof x))throw this.#y(e,new x(`Encrypt worker init failed.`)),t;await this.#b(e,t)}}#d(e,t){let n=t instanceof Error?t.message:String(t);try{this.#e.logger.warn(`Encrypt offload ${e} callback threw: ${n}`)}catch{}}async#f(e){this.#s++;try{return await e()}finally{this.#s--,this.#p()}}#p(){!this.#c||this.#s>0||(this.#c=!1,this.#t?.worker?.terminate(),this.#t=void 0,this.#o=void 0,this.#n=!1,this.#r=w)}#m(){let e=this.#e.workerSource;if(e===void 0)return v();if(typeof e==`function`){let t=e();return b.has(t)&&this.#e.logger.warnAlways(`The offloadWorker factory returned a worker it already handed out; each call must construct a fresh Worker.`),b.add(t),t}return new Worker(e,{type:`module`,name:`zama-fhe-encrypt`})}async#h(e){let t;try{t=this.#m()}catch(e){throw new x(e instanceof Error?e.message:String(e),{cause:e})}e.worker=t;let n=await this.#g(e,t);return this.#_(e,t),n}#g(e,t){return new Promise((n,r)=>{let i=()=>{clearTimeout(a),t.removeEventListener(`message`,o),t.removeEventListener(`error`,s)},a=setTimeout(()=>{i(),r(new x(`Encrypt worker did not start within ${this.#e.timeouts.spawn}ms.`))},this.#e.timeouts.spawn),o=e=>{e.data===`zama-encrypt-worker-ready`&&(i(),n((0,l.wrap)(t)))},s=t=>{i();let n=t.message||`Encrypt worker error.`;r(new x(n)),this.#y(e,new x(n))};t.addEventListener(`message`,o),t.addEventListener(`error`,s)})}#_(e,t){t.addEventListener(`error`,t=>{if(this.#t!==e)return;let n=new x(t.message||`Encrypt worker error.`,{crashed:!0});this.#r={...this.#r,count:this.#r.count+1,last:n},this.#y(e,n)})}async#v(e,t,n){let r=n===void 0?void 0:setTimeout(()=>{this.#y(e,new x(`Encrypt worker ${n.operation} timed out after ${n.ms}ms.`))},n.ms);try{return await Promise.race([t.catch(e=>{let t=u(e)?_(e):e;throw S(t)?new x(t.message,{cause:t}):t}),e.doomed])}finally{r!==void 0&&clearTimeout(r)}}#y(e,t){e!==void 0&&(this.#t===e&&(this.#t=void 0),e.worker?.terminate(),e.worker=void 0,e.api=void 0,e.initPromise=void 0,e.doom(t))}async#b(e,t){let r=t instanceof Error?t.message:String(t);if(this.#e.strict)throw this.#y(e,new x(`Encrypt worker unavailable.`)),new n.n(`Encrypt offload required (offloadEncrypt: true) but unavailable: ${r}`,{cause:t});let{transient:i,pinning:a}=this.#x(t);if(this.#n||=!i,this.#y(e,new x(`Encrypt worker degraded to inline.`)),this.#S(r,i,a),this.#o===void 0){let e=(async()=>{let e=this.#e.createInlineClient();return await e.init(),e})().catch(t=>{throw this.#o===e&&(this.#o=void 0),this.#e.logger.warnAlways(`Encrypt inline fallback failed to initialize: ${t instanceof Error?t.message:String(t)}`),t});this.#o=e}return this.#o}#x(e){let t=e instanceof x&&e.crashed&&this.#r.count<2;return{transient:t,pinning:!t&&!this.#n}}#S(e,t,n){if(!n&&this.#r.warnedFor===this.#r.count)return;this.#r={...this.#r,warnedFor:this.#r.count};let r=t?`in-flight encryption falls back`:`encryption falls back`;this.#e.logger.warnAlways(`Encrypt offload unavailable, ${r} to the calling thread: ${e}`)}},O=class{#e;#t;#n;#r;#i;#a;constructor(e){this.#e=e.chain;let{timeout:t,debug:n,batchRpcCalls:r,moduleVersions:a,fheEncryptionKey:l}=e.options??{},u=this.#e.auth?A(this.#e.auth):void 0,d={publicClient:(0,i.createPublicClient)({transport:typeof this.#e.network==`string`?(0,i.http)(this.#e.network):(0,i.custom)(this.#e.network)}),chain:c(this.#e),options:{batchRpcCalls:r,moduleVersions:a,fheEncryptionKey:l}};this.#i={...u!==void 0&&{auth:u},...t!==void 0&&{timeout:t},...n!==void 0&&{debug:n}};let f=()=>this.#t.fetchFheEncryptionKeyBytes({options:this.#i}),p=e=>({init:async()=>{await f(),await e.init()},encryptValue:t=>e.encryptValue(t),encryptValues:t=>e.encryptValues(t),fetchFheEncryptionKeyBytes:t=>e.fetchFheEncryptionKeyBytes(t)});e.cleartext?(this.#t=(0,s.createFhevmCleartextBaseClient)(d),this.#n=(0,s.createFhevmCleartextDecryptClient)(d),this.#r=p((0,s.createFhevmCleartextEncryptClient)(d))):(this.#t=(0,o.createFhevmBaseClient)(d),this.#n=(0,o.createFhevmDecryptClient)(d),this.#r=this.#o(e,d,{prefetchKey:f,createInlineClient:()=>p((0,o.createFhevmEncryptClient)(d))}))}#o(e,t,n){let i=e.offloadEncrypt??!1,a=i===!0,o=typeof Worker==`function`&&(e.offloadWorker!==void 0||!1);if(i===!1||!(a||o))return n.createInlineClient();let s=r.t(),c=k(s);if(c!==void 0&&!a)return e.logger.warnAlways(`Encryption runs on the calling thread: ${c}.`),n.createInlineClient();let l=new D({initPayload:{chain:t.chain,clientOptions:t.options,runtime:s??{}},network:this.#e.network,prefetchKey:n.prefetchKey,createInlineClient:n.createInlineClient,logger:e.logger,timeouts:e.offloadTimeouts??y,workerSource:e.offloadWorker,blockedReason:c,strict:a});return{init:()=>l.init(),encryptValue:e=>l.encryptValue(e),encryptValues:e=>l.encryptValues(e),fetchFheEncryptionKeyBytes:e=>this.#t.fetchFheEncryptionKeyBytes(e),dispose:()=>l.dispose()}}get chain(){return this.#e}#s=()=>(this.#a??=this.#r.init().catch(e=>{throw this.#a=void 0,e}),this.#a);dispose=()=>{this.#a=void 0,this.#r.dispose?.()};decryptPublicValue=async e=>(await this.#t.init(),this.#t.decryptPublicValue({...e,options:{...this.#i,...e.options}}));decryptPublicValues=async e=>(await this.#t.init(),this.#t.decryptPublicValues({...e,options:{...this.#i,...e.options}}));decryptPublicValuesWithSignatures=async e=>(await this.#t.init(),this.#t.decryptPublicValuesWithSignatures({...e,options:{...this.#i,...e.options}}));encryptValue=async e=>(await this.#s(),this.#r.encryptValue({...e,options:{...this.#i,...e.options}}));encryptValues=async e=>(await this.#s(),this.#r.encryptValues({...e,options:{...this.#i,...e.options}}));decryptValue=async e=>(await this.#n.init(),this.#n.decryptValue({...e,options:{...this.#i,...e.options}}));decryptValues=async e=>(await this.#n.init(),this.#n.decryptValues({...e,options:{...this.#i,...e.options}}));decryptValuesFromPairs=async e=>(await this.#n.init(),this.#n.decryptValuesFromPairs({...e,options:{...this.#i,...e.options}}));fetchFheEncryptionKeyBytes=async e=>(await this.#t.init(),this.#t.fetchFheEncryptionKeyBytes({...e,options:{...this.#i,...e?.options}}));signDecryptionPermit=async e=>(await this.#t.init(),this.#t.signDecryptionPermit(e));createUnsignedLegacyDecryptionPermitEip712=e=>(0,a.createUnsignedLegacyDecryptionPermitEip712)(this.#t,e);serializeTransportKeyPair=e=>this.#n.serializeTransportKeyPair(e);serializeSignedDecryptionPermit=e=>this.#t.serializeSignedDecryptionPermit(e);parseTransportKeyPair=async e=>(await this.#n.init(),this.#n.parseTransportKeyPair(e));parseSignedDecryptionPermit=async e=>(await this.#t.init(),this.#t.parseSignedDecryptionPermit(e));generateTransportKeyPair=async()=>(await this.#n.init(),this.#n.generateTransportKeyPair())};function k(e){if(r.n())return`a runtime locateFile cannot cross the encrypt worker boundary`;if(e===void 0&&(0,o.hasFhevmRuntimeConfig)())return`a runtime config set outside createConfig cannot be replicated in the encrypt worker realm`}function A(e){let n=e.__type;switch(n){case`ApiKeyHeader`:return{type:n,value:e.value,header:e.header};case`ApiKeyCookie`:return{type:n,value:e.value,cookie:e.cookie};case`BearerToken`:return{type:n,token:e.token};default:throw new t.t(`Unknown auth type: ${String(n)}`)}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return O}});
|
|
7
|
+
var l=e(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n.Comlink={}))})(e,(function(e){"use strict";let t=Symbol(`Comlink.proxy`),n=Symbol(`Comlink.endpoint`),r=Symbol(`Comlink.releaseProxy`),i=Symbol(`Comlink.finalizer`),a=Symbol(`Comlink.thrown`),o=e=>typeof e==`object`&&!!e||typeof e==`function`,s=new Map([[`proxy`,{canHandle:e=>o(e)&&e[t],serialize(e){let{port1:t,port2:n}=new MessageChannel;return l(e,t),[n,[n]]},deserialize(e){return e.start(),f(e)}}],[`throw`,{canHandle:e=>o(e)&&a in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(Error(e.value.message),e.value):e.value}}]]);function c(e,t){for(let n of e)if(t===n||n===`*`||n instanceof RegExp&&n.test(t))return!0;return!1}function l(e,t=globalThis,n=[`*`]){t.addEventListener(`message`,function r(o){if(!o||!o.data)return;if(!c(n,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}let{id:s,type:u,path:f}=Object.assign({path:[]},o.data),p=(o.data.argumentList||[]).map(D),m;try{let t=f.slice(0,-1).reduce((e,t)=>e[t],e),n=f.reduce((e,t)=>e[t],e);switch(u){case`GET`:m=n;break;case`SET`:t[f.slice(-1)[0]]=D(o.data.value),m=!0;break;case`APPLY`:m=n.apply(t,p);break;case`CONSTRUCT`:m=w(new n(...p));break;case`ENDPOINT`:{let{port1:t,port2:n}=new MessageChannel;l(e,n),m=C(t,[t])}break;case`RELEASE`:m=void 0;break;default:return}}catch(e){m={value:e,[a]:0}}Promise.resolve(m).catch(e=>({value:e,[a]:0})).then(n=>{let[a,o]=E(n);t.postMessage(Object.assign(Object.assign({},a),{id:s}),o),u===`RELEASE`&&(t.removeEventListener(`message`,r),d(t),i in e&&typeof e[i]==`function`&&e[i]())}).catch(e=>{let[n,r]=E({value:TypeError(`Unserializable return value`),[a]:0});t.postMessage(Object.assign(Object.assign({},n),{id:s}),r)})}),t.start&&t.start()}function u(e){return e.constructor.name===`MessagePort`}function d(e){u(e)&&e.close()}function f(e,t){let n=new Map;return e.addEventListener(`message`,function(e){let{data:t}=e;if(!t||!t.id)return;let r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}}),y(e,n,[],t)}function p(e){if(e)throw Error(`Proxy has been released and is not useable`)}function m(e){return O(e,new Map,{type:`RELEASE`}).then(()=>{d(e)})}let h=new WeakMap,g=`FinalizationRegistry`in globalThis&&new FinalizationRegistry(e=>{let t=(h.get(e)||0)-1;h.set(e,t),t===0&&m(e)});function _(e,t){let n=(h.get(t)||0)+1;h.set(t,n),g&&g.register(e,t,e)}function v(e){g&&g.unregister(e)}function y(e,t,i=[],a=function(){}){let o=!1,s=new Proxy(a,{get(n,a){if(p(o),a===r)return()=>{v(s),m(e),t.clear(),o=!0};if(a===`then`){if(i.length===0)return{then:()=>s};let n=O(e,t,{type:`GET`,path:i.map(e=>e.toString())}).then(D);return n.then.bind(n)}return y(e,t,[...i,a])},set(n,r,a){p(o);let[s,c]=E(a);return O(e,t,{type:`SET`,path:[...i,r].map(e=>e.toString()),value:s},c).then(D)},apply(r,a,s){p(o);let c=i[i.length-1];if(c===n)return O(e,t,{type:`ENDPOINT`}).then(D);if(c===`bind`)return y(e,t,i.slice(0,-1));let[l,u]=x(s);return O(e,t,{type:`APPLY`,path:i.map(e=>e.toString()),argumentList:l},u).then(D)},construct(n,r){p(o);let[a,s]=x(r);return O(e,t,{type:`CONSTRUCT`,path:i.map(e=>e.toString()),argumentList:a},s).then(D)}});return _(s,e),s}function b(e){return Array.prototype.concat.apply([],e)}function x(e){let t=e.map(E);return[t.map(e=>e[0]),b(t.map(e=>e[1]))]}let S=new WeakMap;function C(e,t){return S.set(e,t),e}function w(e){return Object.assign(e,{[t]:!0})}function T(e,t=globalThis,n=`*`){return{postMessage:(t,r)=>e.postMessage(t,n,r),addEventListener:t.addEventListener.bind(t),removeEventListener:t.removeEventListener.bind(t)}}function E(e){for(let[t,n]of s)if(n.canHandle(e)){let[r,i]=n.serialize(e);return[{type:`HANDLER`,name:t,value:r},i]}return[{type:`RAW`,value:e},S.get(e)||[]]}function D(e){switch(e.type){case`HANDLER`:return s.get(e.name).deserialize(e.value);case`RAW`:return e.value}}function O(e,t,n,r){return new Promise(i=>{let a=k();t.set(a,i),e.start&&e.start(),e.postMessage(Object.assign({id:a},n),r)})}function k(){return[,,,,].fill(0).map(()=>Math.floor(Math.random()*(2**53-1)).toString(16)).join(`-`)}e.createEndpoint=n,e.expose=l,e.finalizer=i,e.proxy=w,e.proxyMarker=t,e.releaseProxy=r,e.transfer=C,e.transferHandlers=s,e.windowEndpoint=T,e.wrap=f}))}))();function u(e){return typeof e==`object`&&!!e&&e.wireError===!0}const d=[`statusCode`,`status`,`retryAfter`,`timeoutMs`,`relayerApiError`,`code`,`data`,`shortMessage`,`details`,`error`,`info`];function f(e){try{return structuredClone(e),!0}catch{return!1}}function p(e){let n=e.response;return t.x(n?.headers)}function m(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function h(e){let n={};for(let t of d){let r=e[t];r!==void 0&&f(r)&&(n[t]=r)}if(!t.y(n.retryAfter)){let t=p(e);t!==void 0&&(n.retryAfter=t)}return n}function g(e,t=6){if(u(e))return e;let n=e=>t>0&&e!==void 0?g(e,t-1):void 0;if(e instanceof Error)return{wireError:!0,name:e.name,message:e.message,stack:e.stack,props:h(e),cause:n(e.cause)};if(typeof e==`object`&&e){let{message:t,cause:r}=e;return{wireError:!0,name:`Error`,message:typeof t==`string`?t:m(e),stack:void 0,props:h(e),cause:n(r)}}return{wireError:!0,name:`Error`,message:typeof e==`string`?e:m(e),stack:void 0,props:{},cause:void 0}}function _(e){let t=Error(e.message,e.cause?{cause:_(e.cause)}:{});return t.name=e.name,e.stack!==void 0&&(t.stack=e.stack),Object.assign(t,e.props),t}function v(){throw Error(`The encrypt worker is only available in the ESM build.`)}const y={spawn:1e4,init:3e5},b=new WeakSet;var x=class extends Error{crashed;constructor(e,t){super(e,t),this.name=`WorkerUnavailableError`,this.crashed=t?.crashed??!1}};function S(e){if(typeof e!=`object`||!e)return!1;let{name:t,message:n}=e;return t===`DataCloneError`||t===`TypeError`&&typeof n==`string`&&n.includes(`Unserializable return value`)}function C(e){if(e?.aborted)throw e.reason??new DOMException(`The operation was aborted.`,`AbortError`)}const w={count:0,last:void 0,warnedFor:-1};function T(e){if(e===void 0)return{key:e,transfers:[]};let t=e.publicKeyBytes.bytes,n=e.crsBytes.bytes;if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array))return{key:e,transfers:[]};let r=t.slice(),i=n.slice();return{key:{...e,publicKeyBytes:{...e.publicKeyBytes,bytes:r},crsBytes:{...e.crsBytes,bytes:i}},transfers:[r.buffer,i.buffer]}}function E(){let e,t=new Promise((t,n)=>{e=n});return t.catch(()=>{}),{initPromise:void 0,worker:void 0,api:void 0,doomed:t,doom:e}}var D=class{#e;#t;#n=!1;#r=w;#i=0;#a=new Map;#o;#s=0;#c=!1;constructor(e){this.#e=e}init=()=>{let e=this.#t??=E();if(e.initPromise===void 0){let t=this.#f(()=>this.#u(e)).catch(n=>{throw e.initPromise===t&&(e.initPromise=void 0),n});e.initPromise=t}return e.initPromise};encryptValue=e=>this.#f(()=>this.#l(t=>t.encryptValue(e),(t,n,r)=>t.encryptValue(n,{...e,options:r}),e.options));encryptValues=e=>this.#f(()=>this.#l(t=>t.encryptValues(e),(t,n,r)=>t.encryptValues(n,{...e,options:r}),e.options));dispose(){this.#c=!0,this.#p()}async#l(e,t,n){let{signal:r,onProgress:i,...a}=n??{};C(r),await this.init(),C(r);let o=this.#t,s=o?.api;if(this.#o!==void 0&&(this.#n||s===void 0))return e(await this.#o);if(o===void 0||s===void 0)return e(await this.#b(o,this.#r.last??new x(`Encrypt worker not running.`)));let c=this.#i++,l=()=>void s.abort(c).catch(()=>{});r?.addEventListener(`abort`,l,{once:!0}),i&&this.#a.set(c,i);try{let e=await this.#v(o,t(s,c,a));return this.#r=w,e}catch(t){if(t instanceof x)return e(await this.#b(o,t));throw t}finally{this.#a.delete(c),r?.removeEventListener(`abort`,l)}}async#u(e){if(this.#n)return;let t=this.#e.blockedReason;if(t!==void 0){await this.#b(e,new x(t));return}let n=await this.#e.prefetchKey();try{let t=await this.#h(e),r=this.#e.network,i=typeof r==`string`?null:(0,l.proxy)(async e=>{try{return await r.request(e)}catch(e){throw g(e)}}),a=(0,l.proxy)((e,t)=>{try{this.#e.logger[e](t)}catch(e){this.#d(`logger`,e)}}),o=(0,l.proxy)((e,t)=>{try{this.#a.get(e)?.(t)}catch(e){this.#d(`onProgress`,e)}}),s=T(n);await this.#v(e,t.init((0,l.transfer)({...this.#e.initPayload,clientOptions:{...this.#e.initPayload.clientOptions,fheEncryptionKey:s.key},rpcUrl:typeof r==`string`?r:void 0},s.transfers),i,a,o),{ms:this.#e.timeouts.init,operation:`init`}),e.api=t,this.#r={...this.#r,last:void 0}}catch(t){if(!(t instanceof x))throw this.#y(e,new x(`Encrypt worker init failed.`)),t;await this.#b(e,t)}}#d(e,t){let n=t instanceof Error?t.message:String(t);try{this.#e.logger.warn(`Encrypt offload ${e} callback threw: ${n}`)}catch{}}async#f(e){this.#s++;try{return await e()}finally{this.#s--,this.#p()}}#p(){!this.#c||this.#s>0||(this.#c=!1,this.#t?.worker?.terminate(),this.#t=void 0,this.#o=void 0,this.#n=!1,this.#r=w)}#m(){let e=this.#e.workerSource;if(e===void 0)return v();if(typeof e==`function`){let t=e();return b.has(t)&&this.#e.logger.warnAlways(`The offloadWorker factory returned a worker it already handed out; each call must construct a fresh Worker.`),b.add(t),t}return new Worker(e,{type:`module`,name:`zama-fhe-encrypt`})}async#h(e){let t;try{t=this.#m()}catch(e){throw new x(e instanceof Error?e.message:String(e),{cause:e})}e.worker=t;let n=await this.#g(e,t);return this.#_(e,t),n}#g(e,t){return new Promise((n,r)=>{let i=()=>{clearTimeout(a),t.removeEventListener(`message`,o),t.removeEventListener(`error`,s)},a=setTimeout(()=>{i(),r(new x(`Encrypt worker did not start within ${this.#e.timeouts.spawn}ms.`))},this.#e.timeouts.spawn),o=e=>{e.data===`zama-encrypt-worker-ready`&&(i(),n((0,l.wrap)(t)))},s=t=>{i();let n=t.message||`Encrypt worker error.`;r(new x(n)),this.#y(e,new x(n))};t.addEventListener(`message`,o),t.addEventListener(`error`,s)})}#_(e,t){t.addEventListener(`error`,t=>{if(this.#t!==e)return;let n=new x(t.message||`Encrypt worker error.`,{crashed:!0});this.#r={...this.#r,count:this.#r.count+1,last:n},this.#y(e,n)})}async#v(e,t,n){let r=n===void 0?void 0:setTimeout(()=>{this.#y(e,new x(`Encrypt worker ${n.operation} timed out after ${n.ms}ms.`))},n.ms);try{return await Promise.race([t.catch(e=>{let t=u(e)?_(e):e;throw S(t)?new x(t.message,{cause:t}):t}),e.doomed])}finally{r!==void 0&&clearTimeout(r)}}#y(e,t){e!==void 0&&(this.#t===e&&(this.#t=void 0),e.worker?.terminate(),e.worker=void 0,e.api=void 0,e.initPromise=void 0,e.doom(t))}async#b(e,t){let r=t instanceof Error?t.message:String(t);if(this.#e.strict)throw this.#y(e,new x(`Encrypt worker unavailable.`)),new n.n(`Encrypt offload required (offloadEncrypt: true) but unavailable: ${r}`,{cause:t});let{transient:i,pinning:a}=this.#x(t);if(this.#n||=!i,this.#y(e,new x(`Encrypt worker degraded to inline.`)),this.#S(r,i,a),this.#o===void 0){let e=(async()=>{let e=this.#e.createInlineClient();return await e.init(),e})().catch(t=>{throw this.#o===e&&(this.#o=void 0),this.#e.logger.warnAlways(`Encrypt inline fallback failed to initialize: ${t instanceof Error?t.message:String(t)}`),t});this.#o=e}return this.#o}#x(e){let t=e instanceof x&&e.crashed&&this.#r.count<2;return{transient:t,pinning:!t&&!this.#n}}#S(e,t,n){if(!n&&this.#r.warnedFor===this.#r.count)return;this.#r={...this.#r,warnedFor:this.#r.count};let r=t?`in-flight encryption falls back`:`encryption falls back`;this.#e.logger.warnAlways(`Encrypt offload unavailable, ${r} to the calling thread: ${e}`)}},O=class{#e;#t;#n;#r;#i;#a;constructor(e){this.#e=e.chain;let{timeout:t,debug:n,batchRpcCalls:r,moduleVersions:a,fheEncryptionKey:l}=e.options??{},u=this.#e.auth?j(this.#e.auth):void 0,d={publicClient:(0,i.createPublicClient)({transport:typeof this.#e.network==`string`?(0,i.http)(this.#e.network):(0,i.custom)(this.#e.network)}),chain:c(this.#e),options:{batchRpcCalls:r,moduleVersions:a,fheEncryptionKey:l}};this.#i={...u!==void 0&&{auth:u},...t!==void 0&&{timeout:t},...n!==void 0&&{debug:n}};let f=()=>this.#t.fetchFheEncryptionKeyBytes({options:this.#i}),p=e=>({init:async()=>{await f(),await e.init()},encryptValue:t=>e.encryptValue(t),encryptValues:t=>e.encryptValues(t),fetchFheEncryptionKeyBytes:t=>e.fetchFheEncryptionKeyBytes(t)});e.cleartext?(this.#t=(0,s.createFhevmCleartextBaseClient)(d),this.#n=(0,s.createFhevmCleartextDecryptClient)(d),this.#r=p((0,s.createFhevmCleartextEncryptClient)(d))):(this.#t=(0,o.createFhevmBaseClient)(d),this.#n=(0,o.createFhevmDecryptClient)(d),this.#r=this.#o(e,d,{prefetchKey:f,createInlineClient:()=>p((0,o.createFhevmEncryptClient)(d))}))}#o(e,t,n){let i=e.offloadEncrypt??!1,a=i===!0,o=typeof Worker==`function`&&(e.offloadWorker!==void 0||!1);if(i===!1||!(a||o))return n.createInlineClient();let s=r.t(),c=A(s);if(c!==void 0&&!a)return e.logger.warnAlways(`Encryption runs on the calling thread: ${c}.`),n.createInlineClient();let l=new D({initPayload:{chain:t.chain,clientOptions:t.options,runtime:s??{}},network:this.#e.network,prefetchKey:n.prefetchKey,createInlineClient:n.createInlineClient,logger:e.logger,timeouts:e.offloadTimeouts??y,workerSource:e.offloadWorker,blockedReason:c,strict:a});return{init:()=>l.init(),encryptValue:e=>l.encryptValue(e),encryptValues:e=>l.encryptValues(e),fetchFheEncryptionKeyBytes:e=>this.#t.fetchFheEncryptionKeyBytes(e),dispose:()=>l.dispose()}}get chain(){return this.#e}#s=()=>(this.#a??=this.#r.init().catch(e=>{throw this.#a=void 0,e}),this.#a);dispose=()=>{this.#a=void 0,this.#r.dispose?.()};decryptPublicValue=async e=>(await this.#t.init(),this.#t.decryptPublicValue({...e,options:{...this.#i,...e.options}}));decryptPublicValues=async e=>(await this.#t.init(),this.#t.decryptPublicValues({...e,options:{...this.#i,...e.options}}));decryptPublicValuesWithSignatures=async e=>(await this.#t.init(),this.#t.decryptPublicValuesWithSignatures({...e,options:{...this.#i,...e.options}}));encryptValue=async e=>(await this.#s(),this.#r.encryptValue({...e,options:{...this.#i,...e.options}}));encryptValues=async e=>(await this.#s(),this.#r.encryptValues({...e,options:{...this.#i,...e.options}}));decryptValue=async e=>(await this.#n.init(),this.#n.decryptValue({...e,options:{...this.#i,...e.options}}));decryptValues=async e=>(await this.#n.init(),this.#n.decryptValues({...e,options:{...this.#i,...e.options}}));decryptValuesFromPairs=async e=>(await this.#n.init(),this.#n.decryptValuesFromPairs({...e,options:{...this.#i,...e.options}}));fetchFheEncryptionKeyBytes=async e=>(await this.#t.init(),this.#t.fetchFheEncryptionKeyBytes({...e,options:{...this.#i,...e?.options}}));signDecryptionPermit=async e=>(await this.#t.init(),this.#t.signDecryptionPermit(e));createUnsignedLegacyDecryptionPermitEip712=e=>(0,a.createUnsignedLegacyDecryptionPermitEip712)(this.#t,e);serializeTransportKeyPair=e=>this.#n.serializeTransportKeyPair(e);serializeSignedDecryptionPermit=e=>this.#t.serializeSignedDecryptionPermit(e);parseTransportKeyPair=async e=>(await this.#n.init(),this.#n.parseTransportKeyPair(e));parseSignedDecryptionPermit=async e=>{await this.#t.init();let{serializedPermit:t}=e;return this.#t.parseSignedDecryptionPermit({...e,serializedPermit:{...t,signature:k(t.signature)}})};generateTransportKeyPair=async()=>(await this.#n.init(),this.#n.generateTransportKeyPair())};function k(e){if(e.length!==132)return e;let t=parseInt(e.slice(130),16);return t!==0&&t!==1?e:`${e.slice(0,130)}${t===0?`1b`:`1c`}`}function A(e){if(r.n())return`a runtime locateFile cannot cross the encrypt worker boundary`;if(e===void 0&&(0,o.hasFhevmRuntimeConfig)())return`a runtime config set outside createConfig cannot be replicated in the encrypt worker realm`}function j(e){let n=e.__type;switch(n){case`ApiKeyHeader`:return{type:n,value:e.value,header:e.header};case`ApiKeyCookie`:return{type:n,value:e.value,cookie:e.cookie};case`BearerToken`:return{type:n,token:e.token};default:throw new t.t(`Unknown auth type: ${String(n)}`)}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return O}});
|
|
8
8
|
//# sourceMappingURL=fhevm-relayer.cjs.map
|