@zama-fhe/sdk 2.1.1-alpha.2 → 2.2.0-alpha.2

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.
Files changed (64) hide show
  1. package/README.md +3 -4
  2. package/dist/cjs/activity.cjs +1 -1
  3. package/dist/cjs/activity.cjs.map +1 -1
  4. package/dist/cjs/cleartext/index.cjs +1 -2
  5. package/dist/cjs/cleartext.cjs +2 -0
  6. package/dist/cjs/{cleartext/index.cjs.map → cleartext.cjs.map} +1 -1
  7. package/dist/cjs/ethers/index.cjs +1 -1
  8. package/dist/cjs/ethers/index.cjs.map +1 -1
  9. package/dist/cjs/index.cjs +2 -2
  10. package/dist/cjs/index.cjs.map +1 -1
  11. package/dist/cjs/query/index.cjs +1 -1
  12. package/dist/cjs/query/index.cjs.map +1 -1
  13. package/dist/cjs/transfer-batcher.cjs +1 -1
  14. package/dist/cjs/transfer-batcher.cjs.map +1 -1
  15. package/dist/cjs/viem/index.cjs +1 -1
  16. package/dist/cjs/viem/index.cjs.map +1 -1
  17. package/dist/cjs/{erc165.cjs → wrappers-registry.cjs} +2 -2
  18. package/dist/cjs/wrappers-registry.cjs.map +1 -0
  19. package/dist/esm/{activity-B4coeVs1.d.ts → activity-BRrEPcPO.d.ts} +256 -27
  20. package/dist/esm/activity-ChJnF5yd.js +2 -0
  21. package/dist/esm/activity-ChJnF5yd.js.map +1 -0
  22. package/dist/esm/cleartext/index.d.ts +5 -2
  23. package/dist/esm/cleartext/index.js +1 -2
  24. package/dist/esm/cleartext-CxGEREks.js +2 -0
  25. package/dist/esm/cleartext-CxGEREks.js.map +1 -0
  26. package/dist/esm/{eip1193-subscribe-Cl_wlVuQ.js → eip1193-subscribe-Cp2QVN0m.js} +1 -1
  27. package/dist/esm/{eip1193-subscribe-Cl_wlVuQ.js.map → eip1193-subscribe-Cp2QVN0m.js.map} +1 -1
  28. package/dist/esm/ethers/index.d.ts +12 -5
  29. package/dist/esm/ethers/index.js +1 -1
  30. package/dist/esm/ethers/index.js.map +1 -1
  31. package/dist/esm/fhe-artifact-cache-vzh7Xn9G.js.map +1 -1
  32. package/dist/esm/{index-BaBH5_l6.d.ts → index-IhsduS7h.d.ts} +1134 -7
  33. package/dist/esm/index.d.ts +6 -6
  34. package/dist/esm/index.js +2 -2
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/node/index.d.ts +3 -3
  37. package/dist/esm/node/index.js +1 -1
  38. package/dist/esm/query/index.d.ts +124 -8
  39. package/dist/esm/query/index.js +1 -1
  40. package/dist/esm/query/index.js.map +1 -1
  41. package/dist/esm/{relayer-sdk-mcgawhDN.d.ts → relayer-sdk-CcIghrEq.d.ts} +2 -2
  42. package/dist/esm/{relayer-sdk.types--cY3a2ni.d.ts → relayer-sdk.types-D7rylLS4.d.ts} +1 -1
  43. package/dist/esm/{relayer-utils-DgRkaB8f.d.ts → relayer-utils-BcTAyZOr.d.ts} +14 -3
  44. package/dist/esm/relayer-utils-BeoTNDM4.js +2 -0
  45. package/dist/esm/relayer-utils-BeoTNDM4.js.map +1 -0
  46. package/dist/esm/transfer-batcher-BXIo7hnu.js +2 -0
  47. package/dist/esm/transfer-batcher-BXIo7hnu.js.map +1 -0
  48. package/dist/esm/viem/index.d.ts +24 -5
  49. package/dist/esm/viem/index.js +1 -1
  50. package/dist/esm/viem/index.js.map +1 -1
  51. package/dist/esm/{erc165-GmIEu75Z.js → wrappers-registry-DqPr_JG2.js} +2 -2
  52. package/dist/esm/wrappers-registry-DqPr_JG2.js.map +1 -0
  53. package/package.json +1 -1
  54. package/dist/cjs/erc165.cjs.map +0 -1
  55. package/dist/cjs/relayer-utils.cjs +0 -2
  56. package/dist/cjs/relayer-utils.cjs.map +0 -1
  57. package/dist/esm/activity-q5o6CCaY.js +0 -2
  58. package/dist/esm/activity-q5o6CCaY.js.map +0 -1
  59. package/dist/esm/cleartext/index.js.map +0 -1
  60. package/dist/esm/erc165-GmIEu75Z.js.map +0 -1
  61. package/dist/esm/relayer-utils--TV3NTMg.js +0 -2
  62. package/dist/esm/relayer-utils--TV3NTMg.js.map +0 -1
  63. package/dist/esm/transfer-batcher-C8gp7S82.js +0 -2
  64. package/dist/esm/transfer-batcher-C8gp7S82.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ async function e(e,r=2){let i;for(let a=0;a<=r;a++)try{return await e()}catch(e){if(i=e,a<r&&t(e)){await n(500*2**a);continue}throw e}throw i}function t(e){if(!(e instanceof Error))return!1;let t=e.message.toLowerCase();return t.includes(`timed out`)||t.includes(`timeout`)||t.includes(`econnreset`)||t.includes(`econnrefused`)||t.includes(`network`)||t.includes(`fetch failed`)||t.includes(`socket hang up`)||t.includes(`502`)||t.includes(`503`)||t.includes(`504`)}function n(e){return new Promise(t=>setTimeout(t,e))}const r={chainId:1,gatewayChainId:261131,relayerUrl:`https://relayer.mainnet.zama.org/v2`,network:`https://ethereum-rpc.publicnode.com`,aclContractAddress:`0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6`,kmsContractAddress:`0x77627828a55156b04Ac0DC0eb30467f1a552BB03`,inputVerifierContractAddress:`0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2`,verifyingContractAddressDecryption:`0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24`,verifyingContractAddressInputVerification:`0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287`,registryAddress:`0xeb5015fF021DB115aCe010f23F55C2591059bBA0`},i={chainId:11155111,gatewayChainId:10901,relayerUrl:`https://relayer.testnet.zama.org/v2`,network:`https://ethereum-sepolia-rpc.publicnode.com`,aclContractAddress:`0xf0Ffdc93b7E186bC2f8CB3dAA75D86d1930A433D`,kmsContractAddress:`0xbE0E383937d564D7FF0BC3b46c51f0bF8d5C311A`,inputVerifierContractAddress:`0xBBC1fFCdc7C316aAAd72E807D9b0272BE8F84DA0`,verifyingContractAddressDecryption:`0x5D8BD78e2ea6bbE41f26dFe9fdaEAa349e077478`,verifyingContractAddressInputVerification:`0x483b9dE06E4E4C7D35CCf5837A1668487406D955`,registryAddress:`0x2f0750Bbb0A246059d80e94c454586a7F27a128e`},a={chainId:31337,gatewayChainId:10901,relayerUrl:``,network:`http://127.0.0.1:8545`,aclContractAddress:`0x50157CFfD6bBFA2DECe204a89ec419c23ef5755D`,inputVerifierContractAddress:`0x36772142b74871f255CbD7A3e89B401d3e45825f`,kmsContractAddress:`0x901F8942346f7AB3a01F6D7613119Bca447Bb030`,verifyingContractAddressDecryption:`0x5ffdaAB0373E62E2ea2944776209aEf29E631A64`,verifyingContractAddressInputVerification:`0x812b06e1CDCE800494b79fFE4f925A504a9A9810`,registryAddress:void 0},o={[r.chainId]:r,[i.chainId]:i,[a.chainId]:a},s={name:`string`,version:`string`,chainId:`uint256`,verifyingContract:`address`,salt:`bytes32`};function c(e){return Object.keys(s).filter(t=>t in e).map(e=>({name:e,type:s[e]}))}export{c as a,i,a as n,e as o,r,o as t};
2
+ //# sourceMappingURL=relayer-utils-BeoTNDM4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relayer-utils-BeoTNDM4.js","names":[],"sources":["../../src/relayer/relayer-utils.ts"],"sourcesContent":["import type { FhevmInstanceConfig } from \"@zama-fhe/relayer-sdk/bundle\";\nimport type { Address } from \"viem\";\nimport type { EIP712TypedData } from \"./relayer-sdk.types\";\n\nconst MAX_RETRIES = 2;\nconst RETRY_BASE_MS = 500;\n\n/**\n * Retry an async operation with exponential backoff.\n * Only retries on transient errors (timeout, network). Does not retry user-facing errors.\n */\nexport async function withRetry<T>(fn: () => Promise<T>, retries = MAX_RETRIES): Promise<T> {\n let lastError: unknown;\n for (let attempt = 0; attempt <= retries; attempt++) {\n try {\n return await fn();\n } catch (error) {\n lastError = error;\n if (attempt < retries && isTransientError(error)) {\n await sleep(RETRY_BASE_MS * 2 ** attempt);\n continue;\n }\n throw error;\n }\n }\n throw lastError;\n}\n\nfunction isTransientError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false;\n }\n const msg = error.message.toLowerCase();\n return (\n msg.includes(\"timed out\") ||\n msg.includes(\"timeout\") ||\n msg.includes(\"econnreset\") ||\n msg.includes(\"econnrefused\") ||\n msg.includes(\"network\") ||\n msg.includes(\"fetch failed\") ||\n msg.includes(\"socket hang up\") ||\n msg.includes(\"502\") ||\n msg.includes(\"503\") ||\n msg.includes(\"504\")\n );\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * Extends the base relayer config with the on-chain wrappers registry address.\n *\n * Used by `DefaultConfigs` and the `WrappersRegistry` class to\n * resolve the correct registry contract per chain.\n */\nexport interface ExtendedFhevmInstanceConfig extends FhevmInstanceConfig {\n /**\n * Address of the `ConfidentialTokenWrappersRegistry` contract.\n * `undefined` for chains where no registry is deployed (e.g. Hardhat).\n */\n registryAddress: Address | undefined;\n}\n\n/**\n * Mainnet network configuration (chainId 1).\n *\n * Contract addresses mirror `MainnetConfigV2` from `@zama-fhe/relayer-sdk`.\n * They are duplicated here because the `/bundle` export path only exposes\n * types at build time (runtime values require `/web` or `/node` which pull\n * in WASM). `satisfies ExtendedFhevmInstanceConfig` ensures structural drift\n * is caught at compile time.\n *\n * Includes `registryAddress` for the on-chain token wrappers registry.\n */\nexport const MainnetConfig = {\n chainId: 1,\n gatewayChainId: 261131,\n relayerUrl: \"https://relayer.mainnet.zama.org/v2\",\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 ExtendedFhevmInstanceConfig;\n\n/**\n * Sepolia testnet network configuration (chainId 11155111).\n *\n * See {@link MainnetConfig} for why addresses are hardcoded.\n * Includes `registryAddress` for the on-chain token wrappers registry.\n */\nexport const SepoliaConfig = {\n chainId: 11155111,\n gatewayChainId: 10901,\n relayerUrl: \"https://relayer.testnet.zama.org/v2\",\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 ExtendedFhevmInstanceConfig;\n\n/**\n * Hardhat local network configuration (chainId 31337).\n *\n * The addresses in this configuration must match those of your deployment.\n * Ensure that the executor address and other contract addresses correspond to\n * the contracts deployed on your Hardhat network.\n *\n * `registryAddress` is `undefined` — pass it explicitly via\n * `registryAddresses` when creating a `WrappersRegistry`.\n */\nexport const HardhatConfig = {\n chainId: 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} as const satisfies ExtendedFhevmInstanceConfig;\n\n/**\n * Built-in network configurations keyed by chain ID.\n *\n * Includes Mainnet (1), Sepolia (11155111), and Hardhat (31337).\n * Used by `RelayerWeb` to resolve transport configs and by\n * `WrappersRegistry` to resolve registry addresses.\n */\nexport const DefaultConfigs: Record<number, ExtendedFhevmInstanceConfig> = {\n [MainnetConfig.chainId]: MainnetConfig,\n [SepoliaConfig.chainId]: SepoliaConfig,\n [HardhatConfig.chainId]: HardhatConfig,\n} as const;\n\n/** EIP-712 domain field → Solidity type. Order follows the EIP-712 spec. */\nconst DOMAIN_FIELD_TYPES: Record<string, string> = {\n name: \"string\",\n version: \"string\",\n chainId: \"uint256\",\n verifyingContract: \"address\",\n salt: \"bytes32\",\n};\n\n/**\n * Build `EIP712Domain` type entries from the keys present in a domain object.\n * Order matches the EIP-712 spec (name → version → chainId → verifyingContract → salt).\n */\nexport function buildEIP712DomainType(\n domain: EIP712TypedData[\"domain\"],\n): { name: string; type: string }[] {\n return Object.keys(DOMAIN_FIELD_TYPES)\n .filter((k) => k in domain)\n .map((k) => ({ name: k, type: DOMAIN_FIELD_TYPES[k]! }));\n}\n"],"mappings":"AAWA,eAAsB,EAAa,EAAsB,EAAU,EAAyB,CAC1F,IAAI,EACJ,IAAK,IAAI,EAAU,EAAG,GAAW,EAAS,IACxC,GAAI,CACF,OAAO,MAAM,GAAI,OACV,EAAO,CAEd,GADA,EAAY,EACR,EAAU,GAAW,EAAiB,EAAM,CAAE,CAChD,MAAM,EAAM,IAAgB,GAAK,EAAQ,CACzC,SAEF,MAAM,EAGV,MAAM,EAGR,SAAS,EAAiB,EAAyB,CACjD,GAAI,EAAE,aAAiB,OACrB,MAAO,GAET,IAAM,EAAM,EAAM,QAAQ,aAAa,CACvC,OACE,EAAI,SAAS,YAAY,EACzB,EAAI,SAAS,UAAU,EACvB,EAAI,SAAS,aAAa,EAC1B,EAAI,SAAS,eAAe,EAC5B,EAAI,SAAS,UAAU,EACvB,EAAI,SAAS,eAAe,EAC5B,EAAI,SAAS,iBAAiB,EAC9B,EAAI,SAAS,MAAM,EACnB,EAAI,SAAS,MAAM,EACnB,EAAI,SAAS,MAAM,CAIvB,SAAS,EAAM,EAA2B,CACxC,OAAO,IAAI,QAAS,GAAY,WAAW,EAAS,EAAG,CAAC,CA4B1D,MAAa,EAAgB,CAC3B,QAAS,EACT,eAAgB,OAChB,WAAY,sCACZ,QAAS,sCACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CAClB,CAQY,EAAgB,CAC3B,QAAS,SACT,eAAgB,MAChB,WAAY,sCACZ,QAAS,8CACT,mBAAoB,6CACpB,mBAAoB,6CACpB,6BAA8B,6CAC9B,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,6CAClB,CAYY,EAAgB,CAC3B,QAAS,MACT,eAAgB,MAChB,WAAY,GACZ,QAAS,wBACT,mBAAoB,6CACpB,6BAA8B,6CAC9B,mBAAoB,6CACpB,mCAAoC,6CACpC,0CAA2C,6CAC3C,gBAAiB,IAAA,GAClB,CASY,EAA8D,EACxE,EAAc,SAAU,GACxB,EAAc,SAAU,GACxB,EAAc,SAAU,EAC1B,CAGK,EAA6C,CACjD,KAAM,SACN,QAAS,SACT,QAAS,UACT,kBAAmB,UACnB,KAAM,UACP,CAMD,SAAgB,EACd,EACkC,CAClC,OAAO,OAAO,KAAK,EAAmB,CACnC,OAAQ,GAAM,KAAK,EAAO,CAC1B,IAAK,IAAO,CAAE,KAAM,EAAG,KAAM,EAAmB,GAAK,EAAE"}
@@ -0,0 +1,2 @@
1
+ const e=[{inputs:[{internalType:`address`,name:`originalToken`,type:`address`}],name:`getWrapper`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`originalToken`,type:`address`}],name:`wrapperExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`}];function t(t,n){return{address:t,abi:e,functionName:`getWrapper`,args:[n]}}function n(t,n){return{address:t,abi:e,functionName:`wrapperExists`,args:[n]}}const r=[{inputs:[{internalType:`contract AdminProvider`,name:`adminProvider_`,type:`address`}],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`ERC7984UnauthorizedSpender`,type:`error`},{inputs:[],name:`EmptyTransferArray`,type:`error`},{inputs:[],name:`FeeTransferFailed`,type:`error`},{inputs:[],name:`InsufficientFee`,type:`error`},{inputs:[],name:`OnlyOriginalSenderCanRetry`,type:`error`},{inputs:[],name:`ZamaProtocolUnsupported`,type:`error`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`cToken`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`startTxId`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`endTxId`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`fee`,type:`uint256`}],name:`BatchTransfer`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`cToken`,type:`address`},{indexed:!0,internalType:`address`,name:`sender`,type:`address`},{indexed:!1,internalType:`uint256`,name:`originalTxId`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`retryTxId`,type:`uint256`}],name:`RetryTransfer`,type:`event`},{inputs:[],name:`adminProvider`,outputs:[{internalType:`contract AdminProvider`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`contract RegulatedERC7984Upgradeable`,name:`cToken`,type:`address`},{internalType:`address`,name:`from`,type:`address`},{components:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`uint256`,name:`retryFor`,type:`uint256`}],internalType:`struct ERC7984TransferBatcher.ConfidentialTransferInput[]`,name:`transfers`,type:`tuple[]`}],name:`confidentialBatchTransfer`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[],name:`confidentialProtocolId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`cToken`,type:`address`},{internalType:`uint256`,name:`txId`,type:`uint256`}],name:`txIdToSender`,outputs:[{internalType:`address`,name:`sender`,type:`address`}],stateMutability:`view`,type:`function`}];function i(e,t,n,i,a){return{address:e,abi:r,functionName:`confidentialBatchTransfer`,args:[t,n,i],value:a}}export{t as n,n as r,i as t};
2
+ //# sourceMappingURL=transfer-batcher-BXIo7hnu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer-batcher-BXIo7hnu.js","names":[],"sources":["../../src/abi/deployment-coordinator.abi.ts","../../src/contracts/deployment-coordinator.ts","../../src/abi/transfer-batch.abi.ts","../../src/contracts/transfer-batcher.ts"],"sourcesContent":["export const deploymentCoordinatorAbi = [\n {\n inputs: [{ internalType: \"address\", name: \"originalToken\", type: \"address\" }],\n name: \"getWrapper\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"originalToken\", type: \"address\" }],\n name: \"wrapperExists\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n] as const;\n","import type { Address } from \"viem\";\nimport { deploymentCoordinatorAbi } from \"../abi/deployment-coordinator.abi\";\n\n/**\n * Returns the contract config to look up a wrapper for a given ERC-20 token.\n *\n * @example\n * ```ts\n * const wrapper = await signer.readContract(\n * getWrapperContract(registryAddress, tokenAddress),\n * );\n * ```\n */\nexport function getWrapperContract(registryAddress: Address, tokenAddress: Address) {\n return {\n address: registryAddress,\n abi: deploymentCoordinatorAbi,\n functionName: \"getWrapper\",\n args: [tokenAddress],\n } as const;\n}\n\n/**\n * Returns the contract config to check whether a wrapper exists for a token.\n *\n * @example\n * ```ts\n * const exists = await signer.readContract(\n * wrapperExistsContract(registryAddress, tokenAddress),\n * );\n * ```\n */\nexport function wrapperExistsContract(registryAddress: Address, tokenAddress: Address) {\n return {\n address: registryAddress,\n abi: deploymentCoordinatorAbi,\n functionName: \"wrapperExists\",\n args: [tokenAddress],\n } as const;\n}\n","export const transferBatcherAbi = [\n {\n inputs: [\n {\n internalType: \"contract AdminProvider\",\n name: \"adminProvider_\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"holder\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n ],\n name: \"ERC7984UnauthorizedSpender\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"EmptyTransferArray\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"FeeTransferFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InsufficientFee\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"OnlyOriginalSenderCanRetry\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZamaProtocolUnsupported\",\n type: \"error\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"cToken\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"startTxId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"endTxId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fee\",\n type: \"uint256\",\n },\n ],\n name: \"BatchTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"cToken\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"originalTxId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"retryTxId\",\n type: \"uint256\",\n },\n ],\n name: \"RetryTransfer\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"adminProvider\",\n outputs: [\n {\n internalType: \"contract AdminProvider\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract RegulatedERC7984Upgradeable\",\n name: \"cToken\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"externalEuint64\",\n name: \"encryptedAmount\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"inputProof\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"retryFor\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ERC7984TransferBatcher.ConfidentialTransferInput[]\",\n name: \"transfers\",\n type: \"tuple[]\",\n },\n ],\n name: \"confidentialBatchTransfer\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"confidentialProtocolId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"cToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"txId\",\n type: \"uint256\",\n },\n ],\n name: \"txIdToSender\",\n outputs: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n] as const;\n","import type { Address, Hex } from \"viem\";\nimport { transferBatcherAbi } from \"../abi/transfer-batch.abi\";\nimport type { Handle } from \"../relayer/relayer-sdk.types\";\n\n/** Batch transfer data for confidentialBatchTransfer. */\nexport interface BatchTransferData {\n to: Address;\n encryptedAmount: Handle;\n inputProof: Hex;\n retryFor: bigint;\n}\n\n/**\n * Returns the contract config for a confidential batch transfer.\n *\n * @example\n * ```ts\n * const txHash = await signer.writeContract(\n * confidentialBatchTransferContract(batcherAddress, tokenAddress, fromAddress, data, fees),\n * );\n * ```\n */\nexport function confidentialBatchTransferContract(\n batcherAddress: Address,\n tokenAddress: Address,\n fromAddress: Address,\n batchTransferData: BatchTransferData[],\n fees: bigint,\n) {\n return {\n address: batcherAddress,\n abi: transferBatcherAbi,\n functionName: \"confidentialBatchTransfer\",\n args: [tokenAddress, fromAddress, batchTransferData],\n value: fees,\n } as const;\n}\n"],"mappings":"AAAA,MAAa,EAA2B,CACtC,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,UAAW,CAAC,CAC7E,KAAM,aACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,CAAC,CACjE,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,gBAAiB,KAAM,UAAW,CAAC,CAC7E,KAAM,gBACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,GAAI,KAAM,OAAQ,CAAC,CAC3D,gBAAiB,OACjB,KAAM,WACP,CACF,CCFD,SAAgB,EAAmB,EAA0B,EAAuB,CAClF,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,aACd,KAAM,CAAC,EAAa,CACrB,CAaH,SAAgB,EAAsB,EAA0B,EAAuB,CACrF,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,gBACd,KAAM,CAAC,EAAa,CACrB,CCtCH,MAAa,EAAqB,CAChC,CACE,OAAQ,CACN,CACE,aAAc,yBACd,KAAM,iBACN,KAAM,UACP,CACF,CACD,gBAAiB,aACjB,KAAM,cACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACF,CACD,KAAM,6BACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,qBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,oBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,kBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,6BACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,0BACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,UACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,MACN,KAAM,UACP,CACF,CACD,KAAM,gBACN,KAAM,QACP,CACD,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,UACP,CACD,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,UACP,CACF,CACD,KAAM,gBACN,KAAM,QACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,gBACN,QAAS,CACP,CACE,aAAc,yBACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,uCACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACD,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,KACN,KAAM,UACP,CACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,UACP,CACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,QACP,CACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,UACP,CACF,CACD,aAAc,4DACd,KAAM,YACN,KAAM,UACP,CACF,CACD,KAAM,4BACN,QAAS,EAAE,CACX,gBAAiB,UACjB,KAAM,WACP,CACD,CACE,OAAQ,EAAE,CACV,KAAM,yBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,UACP,CACF,CACD,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,SACN,KAAM,UACP,CACF,CACD,gBAAiB,OACjB,KAAM,WACP,CACF,CClMD,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,MAAO,CACL,QAAS,EACT,IAAK,EACL,aAAc,4BACd,KAAM,CAAC,EAAc,EAAa,EAAkB,CACpD,MAAO,EACR"}
@@ -1,5 +1,5 @@
1
- import { A as WriteContractConfig, E as ReadContractConfig, S as TransactionReceipt, b as SignerLifecycleCallbacks, n as EIP712TypedData, o as Handle, y as GenericSigner } from "../relayer-sdk.types--cY3a2ni.js";
2
- import { i as BatchTransferData } from "../index-BaBH5_l6.js";
1
+ import { A as WriteContractConfig, E as ReadContractConfig, S as TransactionReceipt, b as SignerLifecycleCallbacks, n as EIP712TypedData, o as Handle, y as GenericSigner } from "../relayer-sdk.types-D7rylLS4.js";
2
+ import { m as BatchTransferData } from "../index-IhsduS7h.js";
3
3
  import { Abi, Address, ContractFunctionArgs, ContractFunctionName, ContractFunctionReturnType, EIP1193Provider, Hex, PublicClient, WalletClient } from "viem";
4
4
 
5
5
  //#region src/viem/viem-signer.d.ts
@@ -41,9 +41,9 @@ declare class ViemSigner implements GenericSigner {
41
41
  //#endregion
42
42
  //#region src/viem/contracts.d.ts
43
43
  declare function readConfidentialBalanceOfContract(client: PublicClient, tokenAddress: Address, userAddress: Address): Promise<`0x${string}`>;
44
- declare function readWrapperForTokenContract(client: PublicClient, coordinator: Address, tokenAddress: Address): Promise<`0x${string}`>;
44
+ declare function readWrapperForTokenContract(client: PublicClient, registryAddress: Address, tokenAddress: Address): Promise<`0x${string}`>;
45
45
  declare function readUnderlyingTokenContract(client: PublicClient, wrapperAddress: Address): Promise<`0x${string}`>;
46
- declare function readWrapperExistsContract(client: PublicClient, coordinator: Address, tokenAddress: Address): Promise<boolean>;
46
+ declare function readWrapperExistsContract(client: PublicClient, registryAddress: Address, tokenAddress: Address): Promise<boolean>;
47
47
  declare function readSupportsInterfaceContract(client: PublicClient, tokenAddress: Address, interfaceId: Address): Promise<boolean>;
48
48
  declare function writeConfidentialTransferContract(client: WalletClient, tokenAddress: Address, to: Address, handle: Uint8Array, inputProof: Uint8Array): Promise<`0x${string}`>;
49
49
  declare function writeConfidentialBatchTransferContract(client: WalletClient, batcherAddress: Address, tokenAddress: Address, fromAddress: Address, batchTransferData: BatchTransferData[], fees: bigint): Promise<`0x${string}`>;
@@ -53,6 +53,25 @@ declare function writeFinalizeUnwrapContract(client: WalletClient, wrapper: Addr
53
53
  declare function writeSetOperatorContract(client: WalletClient, tokenAddress: Address, spender: Address, timestamp?: number): Promise<`0x${string}`>;
54
54
  declare function writeWrapContract(client: WalletClient, wrapperAddress: Address, to: Address, amount: bigint): Promise<`0x${string}`>;
55
55
  declare function writeWrapETHContract(client: WalletClient, wrapperAddress: Address, to: Address, amount: bigint, value: bigint): Promise<`0x${string}`>;
56
+ declare function readTokenPairsContract(client: PublicClient, registry: Address): Promise<readonly {
57
+ tokenAddress: `0x${string}`;
58
+ confidentialTokenAddress: `0x${string}`;
59
+ isValid: boolean;
60
+ }[]>;
61
+ declare function readTokenPairsLengthContract(client: PublicClient, registry: Address): Promise<bigint>;
62
+ declare function readTokenPairsSliceContract(client: PublicClient, registry: Address, fromIndex: bigint, toIndex: bigint): Promise<readonly {
63
+ tokenAddress: `0x${string}`;
64
+ confidentialTokenAddress: `0x${string}`;
65
+ isValid: boolean;
66
+ }[]>;
67
+ declare function readTokenPairContract(client: PublicClient, registry: Address, index: bigint): Promise<{
68
+ tokenAddress: `0x${string}`;
69
+ confidentialTokenAddress: `0x${string}`;
70
+ isValid: boolean;
71
+ }>;
72
+ declare function readConfidentialTokenAddressContract(client: PublicClient, registry: Address, tokenAddress: Address): Promise<readonly [boolean, `0x${string}`]>;
73
+ declare function readTokenAddressContract(client: PublicClient, registry: Address, confidentialTokenAddress: Address): Promise<readonly [boolean, `0x${string}`]>;
74
+ declare function readIsConfidentialTokenValidContract(client: PublicClient, registry: Address, confidentialTokenAddress: Address): Promise<boolean>;
56
75
  //#endregion
57
- export { ViemSigner, type ViemSignerConfig, readConfidentialBalanceOfContract, readSupportsInterfaceContract, readUnderlyingTokenContract, readWrapperExistsContract, readWrapperForTokenContract, writeConfidentialBatchTransferContract, writeConfidentialTransferContract, writeFinalizeUnwrapContract, writeSetOperatorContract, writeUnwrapContract, writeUnwrapFromBalanceContract, writeWrapContract, writeWrapETHContract };
76
+ export { ViemSigner, type ViemSignerConfig, readConfidentialBalanceOfContract, readConfidentialTokenAddressContract, readIsConfidentialTokenValidContract, readSupportsInterfaceContract, readTokenAddressContract, readTokenPairContract, readTokenPairsContract, readTokenPairsLengthContract, readTokenPairsSliceContract, readUnderlyingTokenContract, readWrapperExistsContract, readWrapperForTokenContract, writeConfidentialBatchTransferContract, writeConfidentialTransferContract, writeFinalizeUnwrapContract, writeSetOperatorContract, writeUnwrapContract, writeUnwrapFromBalanceContract, writeWrapContract, writeWrapETHContract };
58
77
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- import{C as e,a as t,c as n,d as r,f as i,l as a,m as o,o as s,s as c,u as l,w as u,x as d}from"../erc165-GmIEu75Z.js";import{t as f}from"../transfer-batcher-C8gp7S82.js";import{t as p}from"../eip1193-subscribe-Cl_wlVuQ.js";var m=class{#e;#t;#n;constructor(e){this.#e=e.walletClient,this.#t=e.publicClient,this.#n=e.ethereum}#r(){if(!this.#e)throw TypeError(`No walletClient configured — read-only mode`);return this.#e}#i(){let e=this.#r();if(!e.account)throw TypeError(`WalletClient has no account`);return{walletClient:e,account:e.account}}async getChainId(){return this.#t.getChainId()}async getAddress(){return this.#i().account.address}async signTypedData(e){let{walletClient:t,account:n}=this.#i(),{EIP712Domain:r,...i}=e.types;return t.signTypedData({account:n,primaryType:Object.keys(i)[0],types:i,domain:e.domain,message:e.message})}async writeContract(e){let{walletClient:t,account:n}=this.#i();return t.writeContract({chain:t.chain,account:n,...e})}async readContract(e){return this.#t.readContract(e)}async waitForTransactionReceipt(e){return this.#t.waitForTransactionReceipt({hash:e})}async getBlockTimestamp(){return(await this.#t.getBlock()).timestamp}subscribe(e){return this.#e?p(this.#n,()=>this.getAddress(),e):()=>{}}};function h(e){if(!e.account)throw TypeError(`WalletClient has no account`);return e.account}function g(e,t,n){return e.readContract(i(t,n))}function _(e,t,n){return e.readContract(s(t,n))}function v(e,t){return e.readContract(a(t))}function y(e,t,n){return e.readContract(c(t,n))}function b(e,n,r){return e.readContract(t(n,r))}function x(e,t,n,r,i){return e.writeContract({chain:e.chain,account:h(e),...o(t,n,r,i)})}function S(e,t,n,r,i,a){return e.writeContract({chain:e.chain,account:h(e),...f(t,n,r,i,a)})}function C(t,n,r,i,a,o){return t.writeContract({chain:t.chain,account:h(t),...e(n,r,i,a,o)})}function w(e,t,n,r,i){return e.writeContract({chain:e.chain,account:h(e),...u(t,n,r,i)})}function T(e,t,r,i,a){return e.writeContract({chain:e.chain,account:h(e),...n(t,r,i,a)})}function E(e,t,n,r){return e.writeContract({chain:e.chain,account:h(e),...d(t,n,r)})}function D(e,t,n,r){return e.writeContract({chain:e.chain,account:h(e),...l(t,n,r)})}function O(e,t,n,i,a){return e.writeContract({chain:e.chain,account:h(e),...r(t,n,i,a)})}export{m as ViemSigner,g as readConfidentialBalanceOfContract,b as readSupportsInterfaceContract,v as readUnderlyingTokenContract,y as readWrapperExistsContract,_ as readWrapperForTokenContract,S as writeConfidentialBatchTransferContract,x as writeConfidentialTransferContract,T as writeFinalizeUnwrapContract,E as writeSetOperatorContract,C as writeUnwrapContract,w as writeUnwrapFromBalanceContract,D as writeWrapContract,O as writeWrapETHContract};
1
+ import{E as e,O as t,_ as n,a as r,f as i,g as a,h as o,i as s,k as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h,y as g}from"../wrappers-registry-DqPr_JG2.js";import{n as _,r as v,t as y}from"../transfer-batcher-BXIo7hnu.js";import{t as b}from"../eip1193-subscribe-Cp2QVN0m.js";var x=class{#e;#t;#n;constructor(e){this.#e=e.walletClient,this.#t=e.publicClient,this.#n=e.ethereum}#r(){if(!this.#e)throw TypeError(`No walletClient configured — read-only mode`);return this.#e}#i(){let e=this.#r();if(!e.account)throw TypeError(`WalletClient has no account`);return{walletClient:e,account:e.account}}async getChainId(){return this.#t.getChainId()}async getAddress(){return this.#i().account.address}async signTypedData(e){let{walletClient:t,account:n}=this.#i(),{EIP712Domain:r,...i}=e.types;return t.signTypedData({account:n,primaryType:Object.keys(i)[0],types:i,domain:e.domain,message:e.message})}async writeContract(e){let{walletClient:t,account:n}=this.#i();return t.writeContract({chain:t.chain,account:n,...e})}async readContract(e){return this.#t.readContract(e)}async waitForTransactionReceipt(e){return this.#t.waitForTransactionReceipt({hash:e})}async getBlockTimestamp(){return(await this.#t.getBlock()).timestamp}subscribe(e){return this.#e?b(this.#n,()=>this.getAddress(),e):()=>{}}};function S(e){if(!e.account)throw TypeError(`WalletClient has no account`);return e.account}function C(e,t,r){return e.readContract(n(t,r))}function w(e,t,n){return e.readContract(_(t,n))}function T(e,t){return e.readContract(l(t))}function E(e,t,n){return e.readContract(v(t,n))}function D(e,t,n){return e.readContract(i(t,n))}function O(e,t,n,r,i){return e.writeContract({chain:e.chain,account:S(e),...g(t,n,r,i)})}function k(e,t,n,r,i,a){return e.writeContract({chain:e.chain,account:S(e),...y(t,n,r,i,a)})}function A(e,n,r,i,a,o){return e.writeContract({chain:e.chain,account:S(e),...t(n,r,i,a,o)})}function j(e,t,n,r,i){return e.writeContract({chain:e.chain,account:S(e),...c(t,n,r,i)})}function M(e,t,n,r,i){return e.writeContract({chain:e.chain,account:S(e),...f(t,n,r,i)})}function N(t,n,r,i){return t.writeContract({chain:t.chain,account:S(t),...e(n,r,i)})}function P(e,t,n,r){return e.writeContract({chain:e.chain,account:S(e),...o(t,n,r)})}function F(e,t,n,r,i){return e.writeContract({chain:e.chain,account:S(e),...a(t,n,r,i)})}function I(e,t){return e.readContract(s(t))}function L(e,t){return e.readContract(r(t))}function R(e,t,n,r){return e.readContract(d(t,n,r))}function z(e,t,n){return e.readContract(p(t,n))}function B(e,t,n){return e.readContract(h(t,n))}function V(e,t,n){return e.readContract(u(t,n))}function H(e,t,n){return e.readContract(m(t,n))}export{x as ViemSigner,C as readConfidentialBalanceOfContract,B as readConfidentialTokenAddressContract,H as readIsConfidentialTokenValidContract,D as readSupportsInterfaceContract,V as readTokenAddressContract,z as readTokenPairContract,I as readTokenPairsContract,L as readTokenPairsLengthContract,R as readTokenPairsSliceContract,T as readUnderlyingTokenContract,E as readWrapperExistsContract,w as readWrapperForTokenContract,k as writeConfidentialBatchTransferContract,O as writeConfidentialTransferContract,M as writeFinalizeUnwrapContract,N as writeSetOperatorContract,A as writeUnwrapContract,j as writeUnwrapFromBalanceContract,P as writeWrapContract,F as writeWrapETHContract};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["#walletClient","#publicClient","#ethereum","#requireWalletClient","#requireWalletAndAccount"],"sources":["../../../src/viem/viem-signer.ts","../../../src/viem/contracts.ts"],"sourcesContent":["import type {\n Account,\n Abi,\n ContractFunctionArgs,\n ContractFunctionName,\n ContractFunctionReturnType,\n EIP1193Provider,\n PublicClient,\n WalletClient,\n Address,\n Hex,\n} from \"viem\";\nimport type { writeContract } from \"viem/actions\";\nimport type { EIP712TypedData } from \"../relayer/relayer-sdk.types\";\nimport type {\n GenericSigner,\n ReadContractConfig,\n SignerLifecycleCallbacks,\n TransactionReceipt,\n WriteContractConfig,\n} from \"../types\";\nimport { eip1193Subscribe } from \"../token/eip1193-subscribe\";\n\n/**\n * Configuration for {@link ViemSigner}.\n *\n * The optional `ethereum` field is needed for `subscribe()` (EIP-1193\n * `accountsChanged` / `disconnect` events). It cannot be auto-extracted from\n * `walletClient` because viem's `custom(ethereum)` transport captures the\n * provider in a closure and does **not** expose `on` / `removeListener` on\n * `walletClient.transport`.\n *\n * If you omit `ethereum`, `subscribe()` returns a no-op. For automatic\n * wallet lifecycle handling, consider using `WagmiSigner` instead.\n */\nexport interface ViemSignerConfig {\n /** Wallet client for signing and write operations. Optional — omit for read-only usage. */\n walletClient?: WalletClient;\n publicClient: PublicClient;\n ethereum?: EIP1193Provider;\n}\n\n/**\n * GenericSigner backed by viem.\n *\n * @param config - {@link ViemSignerConfig} with walletClient and publicClient\n */\nexport class ViemSigner implements GenericSigner {\n readonly #walletClient?: WalletClient;\n readonly #publicClient: PublicClient;\n readonly #ethereum?: EIP1193Provider;\n\n constructor(config: ViemSignerConfig) {\n this.#walletClient = config.walletClient;\n this.#publicClient = config.publicClient;\n this.#ethereum = config.ethereum;\n }\n\n #requireWalletClient(): WalletClient {\n if (!this.#walletClient) {\n throw new TypeError(\"No walletClient configured — read-only mode\");\n }\n return this.#walletClient;\n }\n\n #requireWalletAndAccount(): { walletClient: WalletClient; account: Account } {\n const walletClient = this.#requireWalletClient();\n if (!walletClient.account) {\n throw new TypeError(\"WalletClient has no account\");\n }\n return { walletClient, account: walletClient.account };\n }\n\n async getChainId(): Promise<number> {\n return this.#publicClient.getChainId();\n }\n\n async getAddress(): Promise<Address> {\n return this.#requireWalletAndAccount().account.address;\n }\n\n async signTypedData(typedData: EIP712TypedData): Promise<Hex> {\n const { walletClient, account } = this.#requireWalletAndAccount();\n const { EIP712Domain: _, ...sigTypes } = typedData.types;\n return walletClient.signTypedData({\n account,\n primaryType: Object.keys(sigTypes)[0]!,\n types: sigTypes,\n domain: typedData.domain,\n message: typedData.message,\n });\n }\n\n async writeContract<\n const TAbi extends Abi | readonly unknown[],\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n const TArgs extends ContractFunctionArgs<TAbi, \"nonpayable\" | \"payable\", TFunctionName>,\n >(config: WriteContractConfig<TAbi, TFunctionName, TArgs>): Promise<Hex> {\n const { walletClient, account } = this.#requireWalletAndAccount();\n return walletClient.writeContract({\n chain: walletClient.chain,\n account,\n ...config,\n } as Parameters<typeof writeContract>[1]);\n }\n\n async readContract<\n const TAbi extends Abi | readonly unknown[],\n TFunctionName extends ContractFunctionName<TAbi, \"pure\" | \"view\">,\n const TArgs extends ContractFunctionArgs<TAbi, \"pure\" | \"view\", TFunctionName>,\n >(\n config: ReadContractConfig<TAbi, TFunctionName, TArgs>,\n ): Promise<ContractFunctionReturnType<TAbi, \"pure\" | \"view\", TFunctionName, TArgs>> {\n return this.#publicClient.readContract(config);\n }\n\n async waitForTransactionReceipt(hash: Hex): Promise<TransactionReceipt> {\n return this.#publicClient.waitForTransactionReceipt({ hash });\n }\n\n async getBlockTimestamp(): Promise<bigint> {\n const block = await this.#publicClient.getBlock();\n return block.timestamp;\n }\n\n subscribe(callbacks: SignerLifecycleCallbacks): () => void {\n if (!this.#walletClient) {\n return () => {};\n }\n return eip1193Subscribe(this.#ethereum, () => this.getAddress(), callbacks);\n }\n}\n","import type { PublicClient, WalletClient, Address, Hex } from \"viem\";\nimport type { Handle } from \"../relayer/relayer-sdk.types\";\nimport type { BatchTransferData } from \"../contracts\";\nimport {\n confidentialBalanceOfContract,\n confidentialBatchTransferContract,\n confidentialTransferContract,\n finalizeUnwrapContract,\n getWrapperContract,\n setOperatorContract,\n supportsInterfaceContract,\n underlyingContract,\n unwrapContract,\n unwrapFromBalanceContract,\n wrapContract,\n wrapETHContract,\n wrapperExistsContract,\n} from \"../contracts\";\n\n// ── Helpers ────────────────────────────────────────────────\n\nfunction requireAccount(client: WalletClient) {\n if (!client.account) {\n throw new TypeError(\"WalletClient has no account\");\n }\n return client.account;\n}\n\n// ── Read helpers ────────────────────────────────────────────\n\nexport function readConfidentialBalanceOfContract(\n client: PublicClient,\n tokenAddress: Address,\n userAddress: Address,\n) {\n return client.readContract(confidentialBalanceOfContract(tokenAddress, userAddress));\n}\n\nexport function readWrapperForTokenContract(\n client: PublicClient,\n coordinator: Address,\n tokenAddress: Address,\n) {\n return client.readContract(getWrapperContract(coordinator, tokenAddress));\n}\n\nexport function readUnderlyingTokenContract(client: PublicClient, wrapperAddress: Address) {\n return client.readContract(underlyingContract(wrapperAddress));\n}\n\nexport function readWrapperExistsContract(\n client: PublicClient,\n coordinator: Address,\n tokenAddress: Address,\n) {\n return client.readContract(wrapperExistsContract(coordinator, tokenAddress));\n}\n\nexport function readSupportsInterfaceContract(\n client: PublicClient,\n tokenAddress: Address,\n interfaceId: Address,\n) {\n return client.readContract(supportsInterfaceContract(tokenAddress, interfaceId));\n}\n\n// ── Write helpers ───────────────────────────────────────────\n\nexport function writeConfidentialTransferContract(\n client: WalletClient,\n tokenAddress: Address,\n to: Address,\n handle: Uint8Array,\n inputProof: Uint8Array,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...confidentialTransferContract(tokenAddress, to, handle, inputProof),\n });\n}\n\nexport function writeConfidentialBatchTransferContract(\n client: WalletClient,\n batcherAddress: Address,\n tokenAddress: Address,\n fromAddress: Address,\n batchTransferData: BatchTransferData[],\n fees: bigint,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...confidentialBatchTransferContract(\n batcherAddress,\n tokenAddress,\n fromAddress,\n batchTransferData,\n fees,\n ),\n });\n}\n\nexport function writeUnwrapContract(\n client: WalletClient,\n encryptedErc20: Address,\n from: Address,\n to: Address,\n encryptedAmount: Uint8Array,\n inputProof: Uint8Array,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...unwrapContract(encryptedErc20, from, to, encryptedAmount, inputProof),\n });\n}\n\nexport function writeUnwrapFromBalanceContract(\n client: WalletClient,\n encryptedErc20: Address,\n from: Address,\n to: Address,\n encryptedBalance: Handle,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...unwrapFromBalanceContract(encryptedErc20, from, to, encryptedBalance),\n });\n}\n\nexport function writeFinalizeUnwrapContract(\n client: WalletClient,\n wrapper: Address,\n burntAmount: Handle,\n burntAmountCleartext: bigint,\n decryptionProof: Hex,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...finalizeUnwrapContract(wrapper, burntAmount, burntAmountCleartext, decryptionProof),\n });\n}\n\nexport function writeSetOperatorContract(\n client: WalletClient,\n tokenAddress: Address,\n spender: Address,\n timestamp?: number,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...setOperatorContract(tokenAddress, spender, timestamp),\n });\n}\n\nexport function writeWrapContract(\n client: WalletClient,\n wrapperAddress: Address,\n to: Address,\n amount: bigint,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...wrapContract(wrapperAddress, to, amount),\n });\n}\n\nexport function writeWrapETHContract(\n client: WalletClient,\n wrapperAddress: Address,\n to: Address,\n amount: bigint,\n value: bigint,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...wrapETHContract(wrapperAddress, to, amount, value),\n });\n}\n"],"mappings":"gOA+CA,IAAa,EAAb,KAAiD,CAC/C,GACA,GACA,GAEA,YAAY,EAA0B,CACpC,MAAA,EAAqB,EAAO,aAC5B,MAAA,EAAqB,EAAO,aAC5B,MAAA,EAAiB,EAAO,SAG1B,IAAqC,CACnC,GAAI,CAAC,MAAA,EACH,MAAU,UAAU,8CAA8C,CAEpE,OAAO,MAAA,EAGT,IAA6E,CAC3E,IAAM,EAAe,MAAA,GAA2B,CAChD,GAAI,CAAC,EAAa,QAChB,MAAU,UAAU,8BAA8B,CAEpD,MAAO,CAAE,eAAc,QAAS,EAAa,QAAS,CAGxD,MAAM,YAA8B,CAClC,OAAO,MAAA,EAAmB,YAAY,CAGxC,MAAM,YAA+B,CACnC,OAAO,MAAA,GAA+B,CAAC,QAAQ,QAGjD,MAAM,cAAc,EAA0C,CAC5D,GAAM,CAAE,eAAc,WAAY,MAAA,GAA+B,CAC3D,CAAE,aAAc,EAAG,GAAG,GAAa,EAAU,MACnD,OAAO,EAAa,cAAc,CAChC,UACA,YAAa,OAAO,KAAK,EAAS,CAAC,GACnC,MAAO,EACP,OAAQ,EAAU,OAClB,QAAS,EAAU,QACpB,CAAC,CAGJ,MAAM,cAIJ,EAAuE,CACvE,GAAM,CAAE,eAAc,WAAY,MAAA,GAA+B,CACjE,OAAO,EAAa,cAAc,CAChC,MAAO,EAAa,MACpB,UACA,GAAG,EACJ,CAAwC,CAG3C,MAAM,aAKJ,EACkF,CAClF,OAAO,MAAA,EAAmB,aAAa,EAAO,CAGhD,MAAM,0BAA0B,EAAwC,CACtE,OAAO,MAAA,EAAmB,0BAA0B,CAAE,OAAM,CAAC,CAG/D,MAAM,mBAAqC,CAEzC,OADc,MAAM,MAAA,EAAmB,UAAU,EACpC,UAGf,UAAU,EAAiD,CAIzD,OAHK,MAAA,EAGE,EAAiB,MAAA,MAAsB,KAAK,YAAY,CAAE,EAAU,KAF5D,KC1GnB,SAAS,EAAe,EAAsB,CAC5C,GAAI,CAAC,EAAO,QACV,MAAU,UAAU,8BAA8B,CAEpD,OAAO,EAAO,QAKhB,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAA8B,EAAc,EAAY,CAAC,CAGtF,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAAmB,EAAa,EAAa,CAAC,CAG3E,SAAgB,EAA4B,EAAsB,EAAyB,CACzF,OAAO,EAAO,aAAa,EAAmB,EAAe,CAAC,CAGhE,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAAsB,EAAa,EAAa,CAAC,CAG9E,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAA0B,EAAc,EAAY,CAAC,CAKlF,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAA6B,EAAc,EAAI,EAAQ,EAAW,CACtE,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EACD,EACA,EACA,EACA,EACA,EACD,CACF,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAe,EAAgB,EAAM,EAAI,EAAiB,EAAW,CACzE,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAA0B,EAAgB,EAAM,EAAI,EAAiB,CACzE,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAuB,EAAS,EAAa,EAAsB,EAAgB,CACvF,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAoB,EAAc,EAAS,EAAU,CACzD,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAa,EAAgB,EAAI,EAAO,CAC5C,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAgB,EAAgB,EAAI,EAAQ,EAAM,CACtD,CAAC"}
1
+ {"version":3,"file":"index.js","names":["#walletClient","#publicClient","#ethereum","#requireWalletClient","#requireWalletAndAccount"],"sources":["../../../src/viem/viem-signer.ts","../../../src/viem/contracts.ts"],"sourcesContent":["import type {\n Account,\n Abi,\n ContractFunctionArgs,\n ContractFunctionName,\n ContractFunctionReturnType,\n EIP1193Provider,\n PublicClient,\n WalletClient,\n Address,\n Hex,\n} from \"viem\";\nimport type { writeContract } from \"viem/actions\";\nimport type { EIP712TypedData } from \"../relayer/relayer-sdk.types\";\nimport type {\n GenericSigner,\n ReadContractConfig,\n SignerLifecycleCallbacks,\n TransactionReceipt,\n WriteContractConfig,\n} from \"../types\";\nimport { eip1193Subscribe } from \"../token/eip1193-subscribe\";\n\n/**\n * Configuration for {@link ViemSigner}.\n *\n * The optional `ethereum` field is needed for `subscribe()` (EIP-1193\n * `accountsChanged` / `disconnect` events). It cannot be auto-extracted from\n * `walletClient` because viem's `custom(ethereum)` transport captures the\n * provider in a closure and does **not** expose `on` / `removeListener` on\n * `walletClient.transport`.\n *\n * If you omit `ethereum`, `subscribe()` returns a no-op. For automatic\n * wallet lifecycle handling, consider using `WagmiSigner` instead.\n */\nexport interface ViemSignerConfig {\n /** Wallet client for signing and write operations. Optional — omit for read-only usage. */\n walletClient?: WalletClient;\n publicClient: PublicClient;\n ethereum?: EIP1193Provider;\n}\n\n/**\n * GenericSigner backed by viem.\n *\n * @param config - {@link ViemSignerConfig} with walletClient and publicClient\n */\nexport class ViemSigner implements GenericSigner {\n readonly #walletClient?: WalletClient;\n readonly #publicClient: PublicClient;\n readonly #ethereum?: EIP1193Provider;\n\n constructor(config: ViemSignerConfig) {\n this.#walletClient = config.walletClient;\n this.#publicClient = config.publicClient;\n this.#ethereum = config.ethereum;\n }\n\n #requireWalletClient(): WalletClient {\n if (!this.#walletClient) {\n throw new TypeError(\"No walletClient configured — read-only mode\");\n }\n return this.#walletClient;\n }\n\n #requireWalletAndAccount(): { walletClient: WalletClient; account: Account } {\n const walletClient = this.#requireWalletClient();\n if (!walletClient.account) {\n throw new TypeError(\"WalletClient has no account\");\n }\n return { walletClient, account: walletClient.account };\n }\n\n async getChainId(): Promise<number> {\n return this.#publicClient.getChainId();\n }\n\n async getAddress(): Promise<Address> {\n return this.#requireWalletAndAccount().account.address;\n }\n\n async signTypedData(typedData: EIP712TypedData): Promise<Hex> {\n const { walletClient, account } = this.#requireWalletAndAccount();\n const { EIP712Domain: _, ...sigTypes } = typedData.types;\n return walletClient.signTypedData({\n account,\n primaryType: Object.keys(sigTypes)[0]!,\n types: sigTypes,\n domain: typedData.domain,\n message: typedData.message,\n });\n }\n\n async writeContract<\n const TAbi extends Abi | readonly unknown[],\n TFunctionName extends ContractFunctionName<TAbi, \"nonpayable\" | \"payable\">,\n const TArgs extends ContractFunctionArgs<TAbi, \"nonpayable\" | \"payable\", TFunctionName>,\n >(config: WriteContractConfig<TAbi, TFunctionName, TArgs>): Promise<Hex> {\n const { walletClient, account } = this.#requireWalletAndAccount();\n return walletClient.writeContract({\n chain: walletClient.chain,\n account,\n ...config,\n } as Parameters<typeof writeContract>[1]);\n }\n\n async readContract<\n const TAbi extends Abi | readonly unknown[],\n TFunctionName extends ContractFunctionName<TAbi, \"pure\" | \"view\">,\n const TArgs extends ContractFunctionArgs<TAbi, \"pure\" | \"view\", TFunctionName>,\n >(\n config: ReadContractConfig<TAbi, TFunctionName, TArgs>,\n ): Promise<ContractFunctionReturnType<TAbi, \"pure\" | \"view\", TFunctionName, TArgs>> {\n return this.#publicClient.readContract(config);\n }\n\n async waitForTransactionReceipt(hash: Hex): Promise<TransactionReceipt> {\n return this.#publicClient.waitForTransactionReceipt({ hash });\n }\n\n async getBlockTimestamp(): Promise<bigint> {\n const block = await this.#publicClient.getBlock();\n return block.timestamp;\n }\n\n subscribe(callbacks: SignerLifecycleCallbacks): () => void {\n if (!this.#walletClient) {\n return () => {};\n }\n return eip1193Subscribe(this.#ethereum, () => this.getAddress(), callbacks);\n }\n}\n","import type { PublicClient, WalletClient, Address, Hex } from \"viem\";\nimport type { Handle } from \"../relayer/relayer-sdk.types\";\nimport type { BatchTransferData } from \"../contracts\";\nimport {\n confidentialBalanceOfContract,\n confidentialBatchTransferContract,\n confidentialTransferContract,\n finalizeUnwrapContract,\n getWrapperContract,\n setOperatorContract,\n supportsInterfaceContract,\n underlyingContract,\n unwrapContract,\n unwrapFromBalanceContract,\n wrapContract,\n wrapETHContract,\n wrapperExistsContract,\n getTokenPairsContract,\n getTokenPairsLengthContract,\n getTokenPairsSliceContract,\n getTokenPairContract,\n getConfidentialTokenAddressContract,\n getTokenAddressContract,\n isConfidentialTokenValidContract,\n} from \"../contracts\";\n\n// ── Helpers ────────────────────────────────────────────────\n\nfunction requireAccount(client: WalletClient) {\n if (!client.account) {\n throw new TypeError(\"WalletClient has no account\");\n }\n return client.account;\n}\n\n// ── Read helpers ────────────────────────────────────────────\n\nexport function readConfidentialBalanceOfContract(\n client: PublicClient,\n tokenAddress: Address,\n userAddress: Address,\n) {\n return client.readContract(confidentialBalanceOfContract(tokenAddress, userAddress));\n}\n\nexport function readWrapperForTokenContract(\n client: PublicClient,\n registryAddress: Address,\n tokenAddress: Address,\n) {\n return client.readContract(getWrapperContract(registryAddress, tokenAddress));\n}\n\nexport function readUnderlyingTokenContract(client: PublicClient, wrapperAddress: Address) {\n return client.readContract(underlyingContract(wrapperAddress));\n}\n\nexport function readWrapperExistsContract(\n client: PublicClient,\n registryAddress: Address,\n tokenAddress: Address,\n) {\n return client.readContract(wrapperExistsContract(registryAddress, tokenAddress));\n}\n\nexport function readSupportsInterfaceContract(\n client: PublicClient,\n tokenAddress: Address,\n interfaceId: Address,\n) {\n return client.readContract(supportsInterfaceContract(tokenAddress, interfaceId));\n}\n\n// ── Write helpers ───────────────────────────────────────────\n\nexport function writeConfidentialTransferContract(\n client: WalletClient,\n tokenAddress: Address,\n to: Address,\n handle: Uint8Array,\n inputProof: Uint8Array,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...confidentialTransferContract(tokenAddress, to, handle, inputProof),\n });\n}\n\nexport function writeConfidentialBatchTransferContract(\n client: WalletClient,\n batcherAddress: Address,\n tokenAddress: Address,\n fromAddress: Address,\n batchTransferData: BatchTransferData[],\n fees: bigint,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...confidentialBatchTransferContract(\n batcherAddress,\n tokenAddress,\n fromAddress,\n batchTransferData,\n fees,\n ),\n });\n}\n\nexport function writeUnwrapContract(\n client: WalletClient,\n encryptedErc20: Address,\n from: Address,\n to: Address,\n encryptedAmount: Uint8Array,\n inputProof: Uint8Array,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...unwrapContract(encryptedErc20, from, to, encryptedAmount, inputProof),\n });\n}\n\nexport function writeUnwrapFromBalanceContract(\n client: WalletClient,\n encryptedErc20: Address,\n from: Address,\n to: Address,\n encryptedBalance: Handle,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...unwrapFromBalanceContract(encryptedErc20, from, to, encryptedBalance),\n });\n}\n\nexport function writeFinalizeUnwrapContract(\n client: WalletClient,\n wrapper: Address,\n burntAmount: Handle,\n burntAmountCleartext: bigint,\n decryptionProof: Hex,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...finalizeUnwrapContract(wrapper, burntAmount, burntAmountCleartext, decryptionProof),\n });\n}\n\nexport function writeSetOperatorContract(\n client: WalletClient,\n tokenAddress: Address,\n spender: Address,\n timestamp?: number,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...setOperatorContract(tokenAddress, spender, timestamp),\n });\n}\n\nexport function writeWrapContract(\n client: WalletClient,\n wrapperAddress: Address,\n to: Address,\n amount: bigint,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...wrapContract(wrapperAddress, to, amount),\n });\n}\n\nexport function writeWrapETHContract(\n client: WalletClient,\n wrapperAddress: Address,\n to: Address,\n amount: bigint,\n value: bigint,\n) {\n return client.writeContract({\n chain: client.chain,\n account: requireAccount(client),\n ...wrapETHContract(wrapperAddress, to, amount, value),\n });\n}\n\n// ── Registry read helpers ──────────────────────────────────\n\nexport function readTokenPairsContract(client: PublicClient, registry: Address) {\n return client.readContract(getTokenPairsContract(registry));\n}\n\nexport function readTokenPairsLengthContract(client: PublicClient, registry: Address) {\n return client.readContract(getTokenPairsLengthContract(registry));\n}\n\nexport function readTokenPairsSliceContract(\n client: PublicClient,\n registry: Address,\n fromIndex: bigint,\n toIndex: bigint,\n) {\n return client.readContract(getTokenPairsSliceContract(registry, fromIndex, toIndex));\n}\n\nexport function readTokenPairContract(client: PublicClient, registry: Address, index: bigint) {\n return client.readContract(getTokenPairContract(registry, index));\n}\n\nexport function readConfidentialTokenAddressContract(\n client: PublicClient,\n registry: Address,\n tokenAddress: Address,\n) {\n return client.readContract(getConfidentialTokenAddressContract(registry, tokenAddress));\n}\n\nexport function readTokenAddressContract(\n client: PublicClient,\n registry: Address,\n confidentialTokenAddress: Address,\n) {\n return client.readContract(getTokenAddressContract(registry, confidentialTokenAddress));\n}\n\nexport function readIsConfidentialTokenValidContract(\n client: PublicClient,\n registry: Address,\n confidentialTokenAddress: Address,\n) {\n return client.readContract(isConfidentialTokenValidContract(registry, confidentialTokenAddress));\n}\n"],"mappings":"4RA+CA,IAAa,EAAb,KAAiD,CAC/C,GACA,GACA,GAEA,YAAY,EAA0B,CACpC,MAAA,EAAqB,EAAO,aAC5B,MAAA,EAAqB,EAAO,aAC5B,MAAA,EAAiB,EAAO,SAG1B,IAAqC,CACnC,GAAI,CAAC,MAAA,EACH,MAAU,UAAU,8CAA8C,CAEpE,OAAO,MAAA,EAGT,IAA6E,CAC3E,IAAM,EAAe,MAAA,GAA2B,CAChD,GAAI,CAAC,EAAa,QAChB,MAAU,UAAU,8BAA8B,CAEpD,MAAO,CAAE,eAAc,QAAS,EAAa,QAAS,CAGxD,MAAM,YAA8B,CAClC,OAAO,MAAA,EAAmB,YAAY,CAGxC,MAAM,YAA+B,CACnC,OAAO,MAAA,GAA+B,CAAC,QAAQ,QAGjD,MAAM,cAAc,EAA0C,CAC5D,GAAM,CAAE,eAAc,WAAY,MAAA,GAA+B,CAC3D,CAAE,aAAc,EAAG,GAAG,GAAa,EAAU,MACnD,OAAO,EAAa,cAAc,CAChC,UACA,YAAa,OAAO,KAAK,EAAS,CAAC,GACnC,MAAO,EACP,OAAQ,EAAU,OAClB,QAAS,EAAU,QACpB,CAAC,CAGJ,MAAM,cAIJ,EAAuE,CACvE,GAAM,CAAE,eAAc,WAAY,MAAA,GAA+B,CACjE,OAAO,EAAa,cAAc,CAChC,MAAO,EAAa,MACpB,UACA,GAAG,EACJ,CAAwC,CAG3C,MAAM,aAKJ,EACkF,CAClF,OAAO,MAAA,EAAmB,aAAa,EAAO,CAGhD,MAAM,0BAA0B,EAAwC,CACtE,OAAO,MAAA,EAAmB,0BAA0B,CAAE,OAAM,CAAC,CAG/D,MAAM,mBAAqC,CAEzC,OADc,MAAM,MAAA,EAAmB,UAAU,EACpC,UAGf,UAAU,EAAiD,CAIzD,OAHK,MAAA,EAGE,EAAiB,MAAA,MAAsB,KAAK,YAAY,CAAE,EAAU,KAF5D,KCnGnB,SAAS,EAAe,EAAsB,CAC5C,GAAI,CAAC,EAAO,QACV,MAAU,UAAU,8BAA8B,CAEpD,OAAO,EAAO,QAKhB,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAA8B,EAAc,EAAY,CAAC,CAGtF,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAAmB,EAAiB,EAAa,CAAC,CAG/E,SAAgB,EAA4B,EAAsB,EAAyB,CACzF,OAAO,EAAO,aAAa,EAAmB,EAAe,CAAC,CAGhE,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAAsB,EAAiB,EAAa,CAAC,CAGlF,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAA0B,EAAc,EAAY,CAAC,CAKlF,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAA6B,EAAc,EAAI,EAAQ,EAAW,CACtE,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EACD,EACA,EACA,EACA,EACA,EACD,CACF,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAe,EAAgB,EAAM,EAAI,EAAiB,EAAW,CACzE,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAA0B,EAAgB,EAAM,EAAI,EAAiB,CACzE,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAuB,EAAS,EAAa,EAAsB,EAAgB,CACvF,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAoB,EAAc,EAAS,EAAU,CACzD,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAa,EAAgB,EAAI,EAAO,CAC5C,CAAC,CAGJ,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,cAAc,CAC1B,MAAO,EAAO,MACd,QAAS,EAAe,EAAO,CAC/B,GAAG,EAAgB,EAAgB,EAAI,EAAQ,EAAM,CACtD,CAAC,CAKJ,SAAgB,EAAuB,EAAsB,EAAmB,CAC9E,OAAO,EAAO,aAAa,EAAsB,EAAS,CAAC,CAG7D,SAAgB,EAA6B,EAAsB,EAAmB,CACpF,OAAO,EAAO,aAAa,EAA4B,EAAS,CAAC,CAGnE,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAA2B,EAAU,EAAW,EAAQ,CAAC,CAGtF,SAAgB,EAAsB,EAAsB,EAAmB,EAAe,CAC5F,OAAO,EAAO,aAAa,EAAqB,EAAU,EAAM,CAAC,CAGnE,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAAoC,EAAU,EAAa,CAAC,CAGzF,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAAwB,EAAU,EAAyB,CAAC,CAGzF,SAAgB,EACd,EACA,EACA,EACA,CACA,OAAO,EAAO,aAAa,EAAiC,EAAU,EAAyB,CAAC"}
@@ -1,2 +1,2 @@
1
- import{toHex as e}from"viem";const t=[{inputs:[],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{internalType:`address`,name:`target`,type:`address`}],name:`AddressEmptyCode`,type:`error`},{inputs:[],name:`CannotReceiveEthForTokenWrap`,type:`error`},{inputs:[{internalType:`address`,name:`implementation`,type:`address`}],name:`ERC1967InvalidImplementation`,type:`error`},{inputs:[],name:`ERC1967NonPayable`,type:`error`},{inputs:[{internalType:`uint256`,name:`requestId`,type:`uint256`}],name:`ERC7984InvalidGatewayRequest`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`ERC7984InvalidSender`,type:`error`},{inputs:[],name:`ERC7984TotalSupplyOverflow`,type:`error`},{inputs:[{internalType:`address`,name:`caller`,type:`address`}],name:`ERC7984UnauthorizedCaller`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`ERC7984UnauthorizedSpender`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`user`,type:`address`}],name:`ERC7984UnauthorizedUseOfEncryptedAmount`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`}],name:`ERC7984ZeroBalance`,type:`error`},{inputs:[],name:`EthFeeTransferFailed`,type:`error`},{inputs:[],name:`FailedCall`,type:`error`},{inputs:[],name:`IncorrectEthAmount`,type:`error`},{inputs:[],name:`InvalidInitialization`,type:`error`},{inputs:[],name:`InvalidKMSSignatures`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`InvalidUnwrapRequest`,type:`error`},{inputs:[],name:`NotInitializing`,type:`error`},{inputs:[{internalType:`address`,name:`owner`,type:`address`}],name:`OwnableInvalidOwner`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`OwnableUnauthorizedAccount`,type:`error`},{inputs:[],name:`ReentrancyGuardReentrantCall`,type:`error`},{inputs:[{internalType:`uint8`,name:`bits`,type:`uint8`},{internalType:`uint256`,name:`value`,type:`uint256`}],name:`SafeCastOverflowedUintDowncast`,type:`error`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`SafeERC20FailedOperation`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`SanctionedAddress`,type:`error`},{inputs:[{internalType:`bytes32`,name:`handle`,type:`bytes32`},{internalType:`address`,name:`sender`,type:`address`}],name:`SenderNotAllowedToUseHandle`,type:`error`},{inputs:[],name:`UUPSUnauthorizedCallContext`,type:`error`},{inputs:[{internalType:`bytes32`,name:`slot`,type:`bytes32`}],name:`UUPSUnsupportedProxiableUUID`,type:`error`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`address`,name:`caller`,type:`address`},{internalType:`address`,name:`unwrapInitiator`,type:`address`}],name:`UnauthorizedFinalizeUnwrapCaller`,type:`error`},{inputs:[],name:`WrapperBalanceExceedsMaxSupply`,type:`error`},{inputs:[],name:`ZamaProtocolUnsupported`,type:`error`},{inputs:[],name:`ZeroAddressDeploymentCoordinator`,type:`error`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`requester`,type:`address`}],name:`AmountDiscloseRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`}],name:`AmountDisclosed`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`BurnInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!0,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`ConfidentialTransfer`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`FinalizeUnwrapOperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`version`,type:`uint64`}],name:`Initialized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`MintInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`OperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bytes32[]`,name:`handlesList`,type:`bytes32[]`},{indexed:!1,internalType:`bytes`,name:`abiEncodedCleartexts`,type:`bytes`}],name:`PublicDecryptionVerified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`oldRegulator`,type:`address`},{indexed:!0,internalType:`address`,name:`newRegulator`,type:`address`}],name:`TokenRegulatorUpdated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`TransferInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`cleartextAmount`,type:`uint64`}],name:`UnwrapFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`UnwrapRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`burntAmountHandle`,type:`bytes32`},{indexed:!1,internalType:`bool`,name:`finalizeSuccess`,type:`bool`},{indexed:!1,internalType:`bool`,name:`feeTransferSuccess`,type:`bool`},{indexed:!1,internalType:`uint64`,name:`burnAmount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`unwrapAmount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`feeAmount`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`nextTxId`,type:`uint256`}],name:`UnwrappedFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`returnVal`,type:`bool`},{indexed:!0,internalType:`uint256`,name:`requestId`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`txId`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`address`,name:`refund`,type:`address`},{indexed:!1,internalType:`euint64`,name:`requestedAmount`,type:`bytes32`},{indexed:!1,internalType:`euint64`,name:`burnAmount`,type:`bytes32`}],name:`UnwrappedStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`implementation`,type:`address`}],name:`Upgraded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`mintAmount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`amountIn`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`feeAmount`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to_`,type:`address`},{indexed:!0,internalType:`uint256`,name:`mintTxId`,type:`uint256`}],name:`Wrapped`,type:`event`},{inputs:[],name:`UPGRADE_INTERFACE_VERSION`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`adminProvider`,outputs:[{internalType:`contract AdminProvider`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`confidentialBalanceOf`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialProtocolId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialTotalSupply`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`contractURI`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`decimals`,outputs:[{internalType:`uint8`,name:``,type:`uint8`}],stateMutability:`view`,type:`function`},{inputs:[],name:`deploymentCoordinator`,outputs:[{internalType:`contract IDeploymentCoordinator`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`uint64`,name:`cleartextAmount`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`discloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`uint64`,name:`burntAmountCleartext`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`finalizeUnwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`}],name:`getReceiverEntry`,outputs:[{components:[{internalType:`address`,name:`to`,type:`address`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`callbackData`,type:`bytes`},{internalType:`euint64`,name:`expectedBurnAmount`,type:`bytes32`},{internalType:`euint64`,name:`actualBurnAmount`,type:`bytes32`},{internalType:`uint64`,name:`committedFeeBasisPoints`,type:`uint64`},{internalType:`address`,name:`from`,type:`address`}],internalType:`struct RegulatedERC7984ERC20WrapperWithFeesUpgradeable.ReceiverEntry`,name:``,type:`tuple`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`string`,name:`name_`,type:`string`},{internalType:`string`,name:`symbol_`,type:`string`},{internalType:`string`,name:`contractURI_`,type:`string`},{internalType:`contract IERC20`,name:`underlying_`,type:`address`},{internalType:`address`,name:`owner_`,type:`address`},{internalType:`contract IDeploymentCoordinator`,name:`deploymentCoordinator_`,type:`address`}],name:`initialize`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`operator`,type:`address`}],name:`isFinalizeUnwrapOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`isOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`maxTotalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`name`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`nextTxId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:`from`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`onTransferReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`proxiableUUID`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rate`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`regulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`}],name:`requestDiscloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`requestId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setFinalizeUnwrapOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newRegulator`,type:`address`}],name:`setTokenRegulator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`symbol`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`tokenRegulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`totalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`underlying`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newImplementation`,type:`address`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`upgradeToAndCall`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrapETH`,outputs:[],stateMutability:`payable`,type:`function`}];function n(e,n){return{address:e,abi:t,functionName:`confidentialBalanceOf`,args:[n]}}function r(n,r,i,a){return{address:n,abi:t,functionName:`confidentialTransfer`,args:[r,e(i),e(a)]}}function i(n,r,i,a,o){return{address:n,abi:t,functionName:`confidentialTransferFrom`,args:[r,i,e(a),e(o)]}}function a(e,n,r){return{address:e,abi:t,functionName:`isOperator`,args:[n,r]}}function o(e,n,r){return{address:e,abi:t,functionName:`setOperator`,args:[n,r??Math.floor(Date.now()/1e3)+3600]}}function s(n,r,i,a,o){return{address:n,abi:t,functionName:`unwrap`,args:[r,i,e(a),e(o)]}}function c(e,n,r,i){return{address:e,abi:t,functionName:`unwrap`,args:[n,r,i]}}function l(e){return{address:e,abi:t,functionName:`confidentialTotalSupply`,args:[]}}function u(e){return{address:e,abi:t,functionName:`totalSupply`,args:[]}}function d(e){return{address:e,abi:t,functionName:`rate`,args:[]}}function f(e){return{address:e,abi:t,functionName:`deploymentCoordinator`,args:[]}}function p(e,n,r){return{address:e,abi:t,functionName:`isFinalizeUnwrapOperator`,args:[n,r]}}function m(e,n,r){return{address:e,abi:t,functionName:`setFinalizeUnwrapOperator`,args:[n,r??Math.floor(Date.now()/1e3)+3600]}}const h=[{inputs:[],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{internalType:`address`,name:`target`,type:`address`}],name:`AddressEmptyCode`,type:`error`},{inputs:[],name:`CannotReceiveEthForTokenWrap`,type:`error`},{inputs:[{internalType:`address`,name:`implementation`,type:`address`}],name:`ERC1967InvalidImplementation`,type:`error`},{inputs:[],name:`ERC1967NonPayable`,type:`error`},{inputs:[{internalType:`uint256`,name:`requestId`,type:`uint256`}],name:`ERC7984InvalidGatewayRequest`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`ERC7984InvalidSender`,type:`error`},{inputs:[],name:`ERC7984TotalSupplyOverflow`,type:`error`},{inputs:[{internalType:`address`,name:`caller`,type:`address`}],name:`ERC7984UnauthorizedCaller`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`ERC7984UnauthorizedSpender`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`user`,type:`address`}],name:`ERC7984UnauthorizedUseOfEncryptedAmount`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`}],name:`ERC7984ZeroBalance`,type:`error`},{inputs:[],name:`EthFeeTransferFailed`,type:`error`},{inputs:[],name:`FailedCall`,type:`error`},{inputs:[],name:`IncorrectEthAmount`,type:`error`},{inputs:[],name:`InvalidInitialization`,type:`error`},{inputs:[],name:`InvalidKMSSignatures`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`InvalidUnwrapRequest`,type:`error`},{inputs:[],name:`NotInitializing`,type:`error`},{inputs:[{internalType:`address`,name:`owner`,type:`address`}],name:`OwnableInvalidOwner`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`OwnableUnauthorizedAccount`,type:`error`},{inputs:[],name:`ReentrancyGuardReentrantCall`,type:`error`},{inputs:[{internalType:`uint8`,name:`bits`,type:`uint8`},{internalType:`uint256`,name:`value`,type:`uint256`}],name:`SafeCastOverflowedUintDowncast`,type:`error`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`SafeERC20FailedOperation`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`SanctionedAddress`,type:`error`},{inputs:[{internalType:`bytes32`,name:`handle`,type:`bytes32`},{internalType:`address`,name:`sender`,type:`address`}],name:`SenderNotAllowedToUseHandle`,type:`error`},{inputs:[],name:`UUPSUnauthorizedCallContext`,type:`error`},{inputs:[{internalType:`bytes32`,name:`slot`,type:`bytes32`}],name:`UUPSUnsupportedProxiableUUID`,type:`error`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`address`,name:`caller`,type:`address`},{internalType:`address`,name:`unwrapInitiator`,type:`address`}],name:`UnauthorizedFinalizeUnwrapCaller`,type:`error`},{inputs:[],name:`WrapperBalanceExceedsMaxSupply`,type:`error`},{inputs:[],name:`ZamaProtocolUnsupported`,type:`error`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`requester`,type:`address`}],name:`AmountDiscloseRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`}],name:`AmountDisclosed`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`BurnInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!0,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`ConfidentialTransfer`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`FinalizeUnwrapOperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`version`,type:`uint64`}],name:`Initialized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`MintInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`OperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bytes32[]`,name:`handlesList`,type:`bytes32[]`},{indexed:!1,internalType:`bytes`,name:`abiEncodedCleartexts`,type:`bytes`}],name:`PublicDecryptionVerified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`oldRegulator`,type:`address`},{indexed:!0,internalType:`address`,name:`newRegulator`,type:`address`}],name:`TokenRegulatorUpdated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`TransferInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`cleartextAmount`,type:`uint64`}],name:`UnwrapFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`UnwrapRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`burntAmountHandle`,type:`bytes32`},{indexed:!1,internalType:`bool`,name:`finalizeSuccess`,type:`bool`},{indexed:!1,internalType:`bool`,name:`feeTransferSuccess`,type:`bool`},{indexed:!1,internalType:`uint64`,name:`burnAmount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`unwrapAmount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`feeAmount`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`nextTxId`,type:`uint256`}],name:`UnwrappedFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`returnVal`,type:`bool`},{indexed:!0,internalType:`uint256`,name:`requestId`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`txId`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`address`,name:`refund`,type:`address`},{indexed:!1,internalType:`euint64`,name:`requestedAmount`,type:`bytes32`},{indexed:!1,internalType:`euint64`,name:`burnAmount`,type:`bytes32`}],name:`UnwrappedStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`implementation`,type:`address`}],name:`Upgraded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`mintAmount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`amountIn`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`feeAmount`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to_`,type:`address`},{indexed:!0,internalType:`uint256`,name:`mintTxId`,type:`uint256`}],name:`Wrapped`,type:`event`},{inputs:[],name:`UPGRADE_INTERFACE_VERSION`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`adminProvider`,outputs:[{internalType:`contract AdminProvider`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`confidentialBalanceOf`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialProtocolId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialTotalSupply`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`contractURI`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`decimals`,outputs:[{internalType:`uint8`,name:``,type:`uint8`}],stateMutability:`view`,type:`function`},{inputs:[],name:`deploymentCoordinator`,outputs:[{internalType:`contract IDeploymentCoordinator`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`uint64`,name:`cleartextAmount`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`discloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`uint64`,name:`burntAmountCleartext`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`finalizeUnwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`string`,name:`name_`,type:`string`},{internalType:`string`,name:`symbol_`,type:`string`},{internalType:`string`,name:`contractURI_`,type:`string`},{internalType:`contract IERC20`,name:`underlying_`,type:`address`},{internalType:`address`,name:`owner_`,type:`address`},{internalType:`contract IDeploymentCoordinator`,name:`deploymentCoordinator_`,type:`address`}],name:`initialize`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`operator`,type:`address`}],name:`isFinalizeUnwrapOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`isOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`maxTotalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`name`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`nextTxId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:`from`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`onTransferReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`proxiableUUID`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rate`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`regulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`}],name:`requestDiscloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`requestId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setFinalizeUnwrapOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newRegulator`,type:`address`}],name:`setTokenRegulator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`symbol`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`tokenRegulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`totalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`underlying`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newImplementation`,type:`address`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`upgradeToAndCall`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrapETH`,outputs:[],stateMutability:`payable`,type:`function`}];function g(e,t,n,r){return{address:e,abi:h,functionName:`finalizeUnwrap`,args:[t,n,r]}}function _(e){return{address:e,abi:h,functionName:`underlying`,args:[]}}function v(e,t,n){return{address:e,abi:h,functionName:`wrap`,args:[t,n]}}function y(e,t,n,r){return{address:e,abi:h,functionName:`wrapETH`,args:[t,n],value:r}}const b=[{inputs:[{internalType:`address`,name:`originalToken`,type:`address`}],name:`getWrapper`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`originalToken`,type:`address`}],name:`wrapperExists`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`}];function x(e,t){return{address:e,abi:b,functionName:`getWrapper`,args:[t]}}function S(e,t){return{address:e,abi:b,functionName:`wrapperExists`,args:[t]}}const C=[{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`}],w=`0x4958f2a4`,T=`0xd04584ba`;function E(e,t){return{address:e,abi:C,functionName:`supportsInterface`,args:[t]}}function D(e){return E(e,w)}function O(e){return E(e,T)}export{s as C,u as S,p as _,E as a,m as b,g as c,y as d,n as f,f as g,i as h,O as i,_ as l,r as m,T as n,x as o,l as p,D as r,S as s,w as t,v as u,a as v,c as w,o as x,d as y};
2
- //# sourceMappingURL=erc165-GmIEu75Z.js.map
1
+ import{toHex as e}from"viem";const t=[{inputs:[],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{internalType:`address`,name:`target`,type:`address`}],name:`AddressEmptyCode`,type:`error`},{inputs:[],name:`CannotReceiveEthForTokenWrap`,type:`error`},{inputs:[{internalType:`address`,name:`implementation`,type:`address`}],name:`ERC1967InvalidImplementation`,type:`error`},{inputs:[],name:`ERC1967NonPayable`,type:`error`},{inputs:[{internalType:`uint256`,name:`requestId`,type:`uint256`}],name:`ERC7984InvalidGatewayRequest`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`ERC7984InvalidSender`,type:`error`},{inputs:[],name:`ERC7984TotalSupplyOverflow`,type:`error`},{inputs:[{internalType:`address`,name:`caller`,type:`address`}],name:`ERC7984UnauthorizedCaller`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`ERC7984UnauthorizedSpender`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`user`,type:`address`}],name:`ERC7984UnauthorizedUseOfEncryptedAmount`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`}],name:`ERC7984ZeroBalance`,type:`error`},{inputs:[],name:`EthFeeTransferFailed`,type:`error`},{inputs:[],name:`FailedCall`,type:`error`},{inputs:[],name:`IncorrectEthAmount`,type:`error`},{inputs:[],name:`InvalidInitialization`,type:`error`},{inputs:[],name:`InvalidKMSSignatures`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`InvalidUnwrapRequest`,type:`error`},{inputs:[],name:`NotInitializing`,type:`error`},{inputs:[{internalType:`address`,name:`owner`,type:`address`}],name:`OwnableInvalidOwner`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`OwnableUnauthorizedAccount`,type:`error`},{inputs:[],name:`ReentrancyGuardReentrantCall`,type:`error`},{inputs:[{internalType:`uint8`,name:`bits`,type:`uint8`},{internalType:`uint256`,name:`value`,type:`uint256`}],name:`SafeCastOverflowedUintDowncast`,type:`error`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`SafeERC20FailedOperation`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`SanctionedAddress`,type:`error`},{inputs:[{internalType:`bytes32`,name:`handle`,type:`bytes32`},{internalType:`address`,name:`sender`,type:`address`}],name:`SenderNotAllowedToUseHandle`,type:`error`},{inputs:[],name:`UUPSUnauthorizedCallContext`,type:`error`},{inputs:[{internalType:`bytes32`,name:`slot`,type:`bytes32`}],name:`UUPSUnsupportedProxiableUUID`,type:`error`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`address`,name:`caller`,type:`address`},{internalType:`address`,name:`unwrapInitiator`,type:`address`}],name:`UnauthorizedFinalizeUnwrapCaller`,type:`error`},{inputs:[],name:`WrapperBalanceExceedsMaxSupply`,type:`error`},{inputs:[],name:`ZamaProtocolUnsupported`,type:`error`},{inputs:[],name:`ZeroAddressDeploymentCoordinator`,type:`error`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`requester`,type:`address`}],name:`AmountDiscloseRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`}],name:`AmountDisclosed`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`BurnInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!0,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`ConfidentialTransfer`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`FinalizeUnwrapOperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`version`,type:`uint64`}],name:`Initialized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`MintInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`OperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bytes32[]`,name:`handlesList`,type:`bytes32[]`},{indexed:!1,internalType:`bytes`,name:`abiEncodedCleartexts`,type:`bytes`}],name:`PublicDecryptionVerified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`oldRegulator`,type:`address`},{indexed:!0,internalType:`address`,name:`newRegulator`,type:`address`}],name:`TokenRegulatorUpdated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`TransferInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`cleartextAmount`,type:`uint64`}],name:`UnwrapFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`UnwrapRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`burntAmountHandle`,type:`bytes32`},{indexed:!1,internalType:`bool`,name:`finalizeSuccess`,type:`bool`},{indexed:!1,internalType:`bool`,name:`feeTransferSuccess`,type:`bool`},{indexed:!1,internalType:`uint64`,name:`burnAmount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`unwrapAmount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`feeAmount`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`nextTxId`,type:`uint256`}],name:`UnwrappedFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`returnVal`,type:`bool`},{indexed:!0,internalType:`uint256`,name:`requestId`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`txId`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`address`,name:`refund`,type:`address`},{indexed:!1,internalType:`euint64`,name:`requestedAmount`,type:`bytes32`},{indexed:!1,internalType:`euint64`,name:`burnAmount`,type:`bytes32`}],name:`UnwrappedStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`implementation`,type:`address`}],name:`Upgraded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`mintAmount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`amountIn`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`feeAmount`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to_`,type:`address`},{indexed:!0,internalType:`uint256`,name:`mintTxId`,type:`uint256`}],name:`Wrapped`,type:`event`},{inputs:[],name:`UPGRADE_INTERFACE_VERSION`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`adminProvider`,outputs:[{internalType:`contract AdminProvider`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`confidentialBalanceOf`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialProtocolId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialTotalSupply`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`contractURI`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`decimals`,outputs:[{internalType:`uint8`,name:``,type:`uint8`}],stateMutability:`view`,type:`function`},{inputs:[],name:`deploymentCoordinator`,outputs:[{internalType:`contract IDeploymentCoordinator`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`uint64`,name:`cleartextAmount`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`discloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`uint64`,name:`burntAmountCleartext`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`finalizeUnwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`}],name:`getReceiverEntry`,outputs:[{components:[{internalType:`address`,name:`to`,type:`address`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`callbackData`,type:`bytes`},{internalType:`euint64`,name:`expectedBurnAmount`,type:`bytes32`},{internalType:`euint64`,name:`actualBurnAmount`,type:`bytes32`},{internalType:`uint64`,name:`committedFeeBasisPoints`,type:`uint64`},{internalType:`address`,name:`from`,type:`address`}],internalType:`struct RegulatedERC7984ERC20WrapperWithFeesUpgradeable.ReceiverEntry`,name:``,type:`tuple`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`string`,name:`name_`,type:`string`},{internalType:`string`,name:`symbol_`,type:`string`},{internalType:`string`,name:`contractURI_`,type:`string`},{internalType:`contract IERC20`,name:`underlying_`,type:`address`},{internalType:`address`,name:`owner_`,type:`address`},{internalType:`contract IDeploymentCoordinator`,name:`deploymentCoordinator_`,type:`address`}],name:`initialize`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`operator`,type:`address`}],name:`isFinalizeUnwrapOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`isOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`maxTotalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`name`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`nextTxId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:`from`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`onTransferReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`proxiableUUID`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rate`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`regulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`}],name:`requestDiscloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`requestId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setFinalizeUnwrapOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newRegulator`,type:`address`}],name:`setTokenRegulator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`symbol`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`tokenRegulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`totalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`underlying`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newImplementation`,type:`address`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`upgradeToAndCall`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrapETH`,outputs:[],stateMutability:`payable`,type:`function`}];function n(e,n){return{address:e,abi:t,functionName:`confidentialBalanceOf`,args:[n]}}function r(n,r,i,a){return{address:n,abi:t,functionName:`confidentialTransfer`,args:[r,e(i),e(a)]}}function i(n,r,i,a,o){return{address:n,abi:t,functionName:`confidentialTransferFrom`,args:[r,i,e(a),e(o)]}}function a(e,n,r){return{address:e,abi:t,functionName:`isOperator`,args:[n,r]}}function o(e,n,r){return{address:e,abi:t,functionName:`setOperator`,args:[n,r??Math.floor(Date.now()/1e3)+3600]}}function s(n,r,i,a,o){return{address:n,abi:t,functionName:`unwrap`,args:[r,i,e(a),e(o)]}}function c(e,n,r,i){return{address:e,abi:t,functionName:`unwrap`,args:[n,r,i]}}function l(e){return{address:e,abi:t,functionName:`confidentialTotalSupply`,args:[]}}function u(e){return{address:e,abi:t,functionName:`totalSupply`,args:[]}}function d(e){return{address:e,abi:t,functionName:`rate`,args:[]}}function f(e){return{address:e,abi:t,functionName:`deploymentCoordinator`,args:[]}}function p(e,n,r){return{address:e,abi:t,functionName:`isFinalizeUnwrapOperator`,args:[n,r]}}function m(e,n,r){return{address:e,abi:t,functionName:`setFinalizeUnwrapOperator`,args:[n,r??Math.floor(Date.now()/1e3)+3600]}}const h=[{inputs:[],stateMutability:`nonpayable`,type:`constructor`},{inputs:[{internalType:`address`,name:`target`,type:`address`}],name:`AddressEmptyCode`,type:`error`},{inputs:[],name:`CannotReceiveEthForTokenWrap`,type:`error`},{inputs:[{internalType:`address`,name:`implementation`,type:`address`}],name:`ERC1967InvalidImplementation`,type:`error`},{inputs:[],name:`ERC1967NonPayable`,type:`error`},{inputs:[{internalType:`uint256`,name:`requestId`,type:`uint256`}],name:`ERC7984InvalidGatewayRequest`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`receiver`,type:`address`}],name:`ERC7984InvalidReceiver`,type:`error`},{inputs:[{internalType:`address`,name:`sender`,type:`address`}],name:`ERC7984InvalidSender`,type:`error`},{inputs:[],name:`ERC7984TotalSupplyOverflow`,type:`error`},{inputs:[{internalType:`address`,name:`caller`,type:`address`}],name:`ERC7984UnauthorizedCaller`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`ERC7984UnauthorizedSpender`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`user`,type:`address`}],name:`ERC7984UnauthorizedUseOfEncryptedAmount`,type:`error`},{inputs:[{internalType:`address`,name:`holder`,type:`address`}],name:`ERC7984ZeroBalance`,type:`error`},{inputs:[],name:`EthFeeTransferFailed`,type:`error`},{inputs:[],name:`FailedCall`,type:`error`},{inputs:[],name:`IncorrectEthAmount`,type:`error`},{inputs:[],name:`InvalidInitialization`,type:`error`},{inputs:[],name:`InvalidKMSSignatures`,type:`error`},{inputs:[{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`InvalidUnwrapRequest`,type:`error`},{inputs:[],name:`NotInitializing`,type:`error`},{inputs:[{internalType:`address`,name:`owner`,type:`address`}],name:`OwnableInvalidOwner`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`OwnableUnauthorizedAccount`,type:`error`},{inputs:[],name:`ReentrancyGuardReentrantCall`,type:`error`},{inputs:[{internalType:`uint8`,name:`bits`,type:`uint8`},{internalType:`uint256`,name:`value`,type:`uint256`}],name:`SafeCastOverflowedUintDowncast`,type:`error`},{inputs:[{internalType:`address`,name:`token`,type:`address`}],name:`SafeERC20FailedOperation`,type:`error`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`SanctionedAddress`,type:`error`},{inputs:[{internalType:`bytes32`,name:`handle`,type:`bytes32`},{internalType:`address`,name:`sender`,type:`address`}],name:`SenderNotAllowedToUseHandle`,type:`error`},{inputs:[],name:`UUPSUnauthorizedCallContext`,type:`error`},{inputs:[{internalType:`bytes32`,name:`slot`,type:`bytes32`}],name:`UUPSUnsupportedProxiableUUID`,type:`error`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`address`,name:`caller`,type:`address`},{internalType:`address`,name:`unwrapInitiator`,type:`address`}],name:`UnauthorizedFinalizeUnwrapCaller`,type:`error`},{inputs:[],name:`WrapperBalanceExceedsMaxSupply`,type:`error`},{inputs:[],name:`ZamaProtocolUnsupported`,type:`error`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!0,internalType:`address`,name:`requester`,type:`address`}],name:`AmountDiscloseRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`}],name:`AmountDisclosed`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`BurnInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!0,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`ConfidentialTransfer`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`FinalizeUnwrapOperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`version`,type:`uint64`}],name:`Initialized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`uint64`,name:`amount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`MintInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`holder`,type:`address`},{indexed:!0,internalType:`address`,name:`operator`,type:`address`},{indexed:!1,internalType:`uint48`,name:`until`,type:`uint48`}],name:`OperatorSet`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`previousOwner`,type:`address`},{indexed:!0,internalType:`address`,name:`newOwner`,type:`address`}],name:`OwnershipTransferred`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bytes32[]`,name:`handlesList`,type:`bytes32[]`},{indexed:!1,internalType:`bytes`,name:`abiEncodedCleartexts`,type:`bytes`}],name:`PublicDecryptionVerified`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`oldRegulator`,type:`address`},{indexed:!0,internalType:`address`,name:`newRegulator`,type:`address`}],name:`TokenRegulatorUpdated`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`from`,type:`address`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint256`,name:`txId`,type:`uint256`}],name:`TransferInfo`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{indexed:!1,internalType:`uint64`,name:`cleartextAmount`,type:`uint64`}],name:`UnwrapFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`receiver`,type:`address`},{indexed:!1,internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`UnwrapRequested`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`euint64`,name:`burntAmountHandle`,type:`bytes32`},{indexed:!1,internalType:`bool`,name:`finalizeSuccess`,type:`bool`},{indexed:!1,internalType:`bool`,name:`feeTransferSuccess`,type:`bool`},{indexed:!1,internalType:`uint64`,name:`burnAmount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`unwrapAmount`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`feeAmount`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`nextTxId`,type:`uint256`}],name:`UnwrappedFinalized`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`bool`,name:`returnVal`,type:`bool`},{indexed:!0,internalType:`uint256`,name:`requestId`,type:`uint256`},{indexed:!0,internalType:`uint256`,name:`txId`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to`,type:`address`},{indexed:!1,internalType:`address`,name:`refund`,type:`address`},{indexed:!1,internalType:`euint64`,name:`requestedAmount`,type:`bytes32`},{indexed:!1,internalType:`euint64`,name:`burnAmount`,type:`bytes32`}],name:`UnwrappedStarted`,type:`event`},{anonymous:!1,inputs:[{indexed:!0,internalType:`address`,name:`implementation`,type:`address`}],name:`Upgraded`,type:`event`},{anonymous:!1,inputs:[{indexed:!1,internalType:`uint64`,name:`mintAmount`,type:`uint64`},{indexed:!1,internalType:`uint256`,name:`amountIn`,type:`uint256`},{indexed:!1,internalType:`uint256`,name:`feeAmount`,type:`uint256`},{indexed:!0,internalType:`address`,name:`to_`,type:`address`},{indexed:!0,internalType:`uint256`,name:`mintTxId`,type:`uint256`}],name:`Wrapped`,type:`event`},{inputs:[],name:`UPGRADE_INTERFACE_VERSION`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`acceptOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`adminProvider`,outputs:[{internalType:`contract AdminProvider`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`account`,type:`address`}],name:`confidentialBalanceOf`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialProtocolId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`confidentialTotalSupply`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransfer`,outputs:[{internalType:`euint64`,name:``,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`confidentialTransferFrom`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`confidentialTransferFromAndCall`,outputs:[{internalType:`euint64`,name:`transferred`,type:`bytes32`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`contractURI`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`decimals`,outputs:[{internalType:`uint8`,name:``,type:`uint8`}],stateMutability:`view`,type:`function`},{inputs:[],name:`deploymentCoordinator`,outputs:[{internalType:`contract IDeploymentCoordinator`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`uint64`,name:`cleartextAmount`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`discloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`burntAmount`,type:`bytes32`},{internalType:`uint64`,name:`burntAmountCleartext`,type:`uint64`},{internalType:`bytes`,name:`decryptionProof`,type:`bytes`}],name:`finalizeUnwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`string`,name:`name_`,type:`string`},{internalType:`string`,name:`symbol_`,type:`string`},{internalType:`string`,name:`contractURI_`,type:`string`},{internalType:`contract IERC20`,name:`underlying_`,type:`address`},{internalType:`address`,name:`owner_`,type:`address`},{internalType:`contract IDeploymentCoordinator`,name:`deploymentCoordinator_`,type:`address`}],name:`initialize`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`operator`,type:`address`}],name:`isFinalizeUnwrapOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`holder`,type:`address`},{internalType:`address`,name:`spender`,type:`address`}],name:`isOperator`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`maxTotalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`name`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`nextTxId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:``,type:`address`},{internalType:`address`,name:`from`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`onTransferReceived`,outputs:[{internalType:`bytes4`,name:``,type:`bytes4`}],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`owner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`pendingOwner`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`proxiableUUID`,outputs:[{internalType:`bytes32`,name:``,type:`bytes32`}],stateMutability:`view`,type:`function`},{inputs:[],name:`rate`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`regulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`renounceOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`euint64`,name:`encryptedAmount`,type:`bytes32`}],name:`requestDiscloseEncryptedAmount`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`requestId`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setFinalizeUnwrapOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`operator`,type:`address`},{internalType:`uint48`,name:`until`,type:`uint48`}],name:`setOperator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newRegulator`,type:`address`}],name:`setTokenRegulator`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`},{inputs:[],name:`symbol`,outputs:[{internalType:`string`,name:``,type:`string`}],stateMutability:`view`,type:`function`},{inputs:[],name:`tokenRegulator`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[],name:`totalSupply`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`newOwner`,type:`address`}],name:`transferOwnership`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[],name:`underlying`,outputs:[{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`}],name:`unwrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`},{internalType:`bytes`,name:`unwrapCallbackData`,type:`bytes`}],name:`unwrapAndCall`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`euint64`,name:`amount`,type:`bytes32`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`from`,type:`address`},{internalType:`address`,name:`to`,type:`address`},{internalType:`externalEuint64`,name:`encryptedAmount`,type:`bytes32`},{internalType:`bytes`,name:`inputProof`,type:`bytes`},{internalType:`address`,name:`refund`,type:`address`}],name:`unwrapWithRefund`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`newImplementation`,type:`address`},{internalType:`bytes`,name:`data`,type:`bytes`}],name:`upgradeToAndCall`,outputs:[],stateMutability:`payable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrap`,outputs:[],stateMutability:`nonpayable`,type:`function`},{inputs:[{internalType:`address`,name:`to`,type:`address`},{internalType:`uint256`,name:`amount`,type:`uint256`}],name:`wrapETH`,outputs:[],stateMutability:`payable`,type:`function`}];function g(e,t,n,r){return{address:e,abi:h,functionName:`finalizeUnwrap`,args:[t,n,r]}}function _(e){return{address:e,abi:h,functionName:`underlying`,args:[]}}function v(e,t,n){return{address:e,abi:h,functionName:`wrap`,args:[t,n]}}function y(e,t,n,r){return{address:e,abi:h,functionName:`wrapETH`,args:[t,n],value:r}}const b=[{inputs:[{internalType:`bytes4`,name:`interfaceId`,type:`bytes4`}],name:`supportsInterface`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`}],x=`0x4958f2a4`,S=`0xd04584ba`;function C(e,t){return{address:e,abi:b,functionName:`supportsInterface`,args:[t]}}function w(e){return C(e,x)}function T(e){return C(e,S)}const E=[{inputs:[],name:`getTokenConfidentialTokenPairs`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`address`,name:`confidentialTokenAddress`,type:`address`},{internalType:`bool`,name:`isValid`,type:`bool`}],internalType:`struct ConfidentialTokenWrappersRegistry.TokenWrapperPair[]`,name:``,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getTokenConfidentialTokenPairsLength`,outputs:[{internalType:`uint256`,name:``,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`fromIndex`,type:`uint256`},{internalType:`uint256`,name:`toIndex`,type:`uint256`}],name:`getTokenConfidentialTokenPairsSlice`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`address`,name:`confidentialTokenAddress`,type:`address`},{internalType:`bool`,name:`isValid`,type:`bool`}],internalType:`struct ConfidentialTokenWrappersRegistry.TokenWrapperPair[]`,name:``,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`uint256`,name:`index`,type:`uint256`}],name:`getTokenConfidentialTokenPair`,outputs:[{components:[{internalType:`address`,name:`tokenAddress`,type:`address`},{internalType:`address`,name:`confidentialTokenAddress`,type:`address`},{internalType:`bool`,name:`isValid`,type:`bool`}],internalType:`struct ConfidentialTokenWrappersRegistry.TokenWrapperPair`,name:``,type:`tuple`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`tokenAddress`,type:`address`}],name:`getConfidentialTokenAddress`,outputs:[{internalType:`bool`,name:``,type:`bool`},{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`confidentialTokenAddress`,type:`address`}],name:`getTokenAddress`,outputs:[{internalType:`bool`,name:``,type:`bool`},{internalType:`address`,name:``,type:`address`}],stateMutability:`view`,type:`function`},{inputs:[{internalType:`address`,name:`confidentialTokenAddress`,type:`address`}],name:`isConfidentialTokenValid`,outputs:[{internalType:`bool`,name:``,type:`bool`}],stateMutability:`view`,type:`function`}];function D(e){return{address:e,abi:E,functionName:`getTokenConfidentialTokenPairs`,args:[]}}function O(e){return{address:e,abi:E,functionName:`getTokenConfidentialTokenPairsLength`,args:[]}}function k(e,t,n){return{address:e,abi:E,functionName:`getTokenConfidentialTokenPairsSlice`,args:[t,n]}}function A(e,t){return{address:e,abi:E,functionName:`getTokenConfidentialTokenPair`,args:[t]}}function j(e,t){return{address:e,abi:E,functionName:`getConfidentialTokenAddress`,args:[t]}}function M(e,t){return{address:e,abi:E,functionName:`getTokenAddress`,args:[t]}}function N(e,t){return{address:e,abi:E,functionName:`isConfidentialTokenValid`,args:[t]}}export{a as C,u as D,o as E,s as O,p as S,m as T,n as _,O as a,i as b,x as c,T as d,C as f,y as g,v as h,D as i,c as k,S as l,_ as m,M as n,k as o,g as p,A as r,N as s,j as t,w as u,l as v,d as w,f as x,r as y};
2
+ //# sourceMappingURL=wrappers-registry-DqPr_JG2.js.map