@tokenops/sdk 1.6.0 → 2.0.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 (263) hide show
  1. package/CHANGELOG.md +77 -8
  2. package/CONTRIBUTING.md +4 -2
  3. package/README.md +146 -90
  4. package/SUPPORT.md +47 -0
  5. package/dist/{chunk-BD4LZBVF.cjs → chunk-3QHNYEQD.cjs} +18 -17
  6. package/dist/{chunk-YFIWCYHC.cjs → chunk-3YHBO2DL.cjs} +56 -54
  7. package/dist/{chunk-QET3Q4JP.js → chunk-44YJPMQC.js} +8 -6
  8. package/dist/{chunk-6WSNS3UV.js → chunk-4RAAATVY.js} +2 -4
  9. package/dist/{chunk-4KJ66YRH.js → chunk-4TSDNZQ3.js} +2 -2
  10. package/dist/chunk-66IHPTOK.cjs +20 -0
  11. package/dist/{chunk-2RNW4MIJ.cjs → chunk-67OV5CX2.cjs} +0 -18
  12. package/dist/{chunk-PD7ME2BT.js → chunk-6GNR22OV.js} +2 -1
  13. package/dist/{chunk-WOEETTH7.cjs → chunk-7AFPOE7N.cjs} +6 -6
  14. package/dist/{chunk-QKKBBH7I.js → chunk-A4DCEE33.js} +34 -7
  15. package/dist/chunk-AREQJHKA.cjs +713 -0
  16. package/dist/{chunk-U57COLUE.js → chunk-AXIPOR3C.js} +2 -2
  17. package/dist/chunk-EBLBPUPI.cjs +255 -0
  18. package/dist/chunk-EYDA6Q6C.js +245 -0
  19. package/dist/{chunk-SYHNZSZZ.cjs → chunk-FAXIIH5R.cjs} +3 -3
  20. package/dist/{chunk-AYGRYDBX.cjs → chunk-FEDX7B6T.cjs} +37 -35
  21. package/dist/{chunk-CBRL2PJA.cjs → chunk-FHWSBGWE.cjs} +12 -12
  22. package/dist/{chunk-WUXUWTFW.cjs → chunk-FT5H2Q7Y.cjs} +37 -7
  23. package/dist/chunk-GADGBQJO.js +423 -0
  24. package/dist/{chunk-VHSNYUYV.js → chunk-IGO5XSPS.js} +5 -5
  25. package/dist/chunk-IUKKNJ2R.cjs +433 -0
  26. package/dist/{chunk-VR3FREBX.cjs → chunk-JK4XMMKM.cjs} +3 -3
  27. package/dist/{chunk-4ZCXK4VI.cjs → chunk-KFRDLKMA.cjs} +14 -14
  28. package/dist/chunk-KWFFIJYX.js +11 -0
  29. package/dist/{chunk-7G7UOQV4.cjs → chunk-MM5BV5CS.cjs} +4 -4
  30. package/dist/{chunk-43RFBQ73.cjs → chunk-MVDQMV25.cjs} +29 -32
  31. package/dist/chunk-NWFMBLSQ.js +4 -0
  32. package/dist/{chunk-HETNKZEE.js → chunk-PYYSB5ZN.js} +1 -1
  33. package/dist/chunk-PZZK3O3S.cjs +9843 -0
  34. package/dist/{chunk-DRSPMIZ7.js → chunk-QBJ7O2B4.js} +1 -11
  35. package/dist/{chunk-WTK6JDSI.js → chunk-SPLNGUFF.js} +6 -4
  36. package/dist/{chunk-UJS4N2XM.cjs → chunk-TEBM66WA.cjs} +12 -12
  37. package/dist/{chunk-TN65XNTI.js → chunk-TWT3STIX.js} +8 -6
  38. package/dist/chunk-UG5RKLU2.cjs +6 -0
  39. package/dist/{chunk-EUKPOXWR.cjs → chunk-UHHMVBLU.cjs} +17 -15
  40. package/dist/chunk-VW356KR3.js +688 -0
  41. package/dist/{chunk-BK7YIVLK.cjs → chunk-WJLECC22.cjs} +75 -73
  42. package/dist/{chunk-V5D7BHW3.js → chunk-WJMEBBU7.js} +6 -4
  43. package/dist/{chunk-NFW7AUEX.js → chunk-WMACINXO.js} +1 -1
  44. package/dist/chunk-X7WBPCEU.js +9817 -0
  45. package/dist/{chunk-46T67CE2.js → chunk-ZA673I3O.js} +1 -1
  46. package/dist/{chunk-YPYCWLYP.js → chunk-ZWXJTBZO.js} +1 -1
  47. package/dist/core/addresses.d.ts +14 -2
  48. package/dist/core/brands.d.ts +8 -2
  49. package/dist/core/errors.d.ts +71 -10
  50. package/dist/core/preflight.d.ts +1 -0
  51. package/dist/fhe/erc7984-abi.d.ts +1 -0
  52. package/dist/fhe/index.cjs +64 -63
  53. package/dist/fhe/index.js +7 -6
  54. package/dist/fhe/operators.d.ts +22 -5
  55. package/dist/fhe/react/index.cjs +13 -12
  56. package/dist/fhe/react/index.js +6 -5
  57. package/dist/fhe/types.d.ts +8 -2
  58. package/dist/fhe-airdrop/abis/{cloneable.d.ts → airdrop-base.d.ts} +254 -396
  59. package/dist/fhe-airdrop/abis/compliance.d.ts +422 -0
  60. package/dist/fhe-airdrop/abis/ecdsa.d.ts +1316 -0
  61. package/dist/fhe-airdrop/abis/factory.d.ts +1319 -190
  62. package/dist/fhe-airdrop/abis/index.d.ts +5 -2
  63. package/dist/fhe-airdrop/abis/merkle.d.ts +1250 -0
  64. package/dist/fhe-airdrop/advanced/index.cjs +11 -12
  65. package/dist/fhe-airdrop/advanced/index.d.cts +34 -11
  66. package/dist/fhe-airdrop/advanced/index.d.ts +34 -11
  67. package/dist/fhe-airdrop/advanced/index.js +3 -8
  68. package/dist/fhe-airdrop/advanced/react/index.cjs +619 -51
  69. package/dist/fhe-airdrop/advanced/react/index.d.cts +43 -3
  70. package/dist/fhe-airdrop/advanced/react/index.d.ts +43 -3
  71. package/dist/fhe-airdrop/advanced/react/index.js +592 -52
  72. package/dist/fhe-airdrop/advanced/react/useClearCompliancePolicy.d.ts +28 -0
  73. package/dist/fhe-airdrop/advanced/react/useClearUpgradeabilityPolicy.d.ts +26 -0
  74. package/dist/fhe-airdrop/advanced/react/useDisableCustomFee.d.ts +25 -0
  75. package/dist/fhe-airdrop/advanced/react/useEcdsaInitCodeHash.d.ts +30 -0
  76. package/dist/fhe-airdrop/advanced/react/useFactoryComplianceDelegate.d.ts +25 -0
  77. package/dist/fhe-airdrop/advanced/react/useFactoryCompliancePolicy.d.ts +38 -0
  78. package/dist/fhe-airdrop/advanced/react/useFactoryCustomFee.d.ts +24 -0
  79. package/dist/fhe-airdrop/advanced/react/useFactoryGrantRole.d.ts +32 -0
  80. package/dist/fhe-airdrop/advanced/react/useFactoryHasRole.d.ts +27 -0
  81. package/dist/fhe-airdrop/advanced/react/useFactoryImplementations.d.ts +33 -0
  82. package/dist/fhe-airdrop/advanced/react/useFactoryRenounceRole.d.ts +36 -0
  83. package/dist/fhe-airdrop/advanced/react/useFactoryRevokeRole.d.ts +35 -0
  84. package/dist/fhe-airdrop/advanced/react/useFactoryRoleConstants.d.ts +46 -0
  85. package/dist/fhe-airdrop/advanced/react/useFactoryRoleMembers.d.ts +47 -0
  86. package/dist/fhe-airdrop/advanced/react/useFactoryUpgradeabilityPolicy.d.ts +39 -0
  87. package/dist/fhe-airdrop/advanced/react/useMerkleInitCodeHash.d.ts +24 -0
  88. package/dist/fhe-airdrop/advanced/react/usePredictEcdsaAirdropAddress.d.ts +33 -0
  89. package/dist/fhe-airdrop/advanced/react/usePredictMerkleAirdropAddress.d.ts +27 -0
  90. package/dist/fhe-airdrop/advanced/react/useSetComplianceDelegate.d.ts +33 -0
  91. package/dist/fhe-airdrop/advanced/react/useSetComplianceManagerImpl.d.ts +27 -0
  92. package/dist/fhe-airdrop/advanced/react/useSetCompliancePolicy.d.ts +28 -0
  93. package/dist/fhe-airdrop/advanced/react/useSetCustomFee.d.ts +28 -0
  94. package/dist/fhe-airdrop/advanced/react/useSetDefaultDelegateToCompliance.d.ts +31 -0
  95. package/dist/fhe-airdrop/advanced/react/useSetDefaultGasFee.d.ts +28 -0
  96. package/dist/fhe-airdrop/advanced/react/useSetDefaultUpgradeable.d.ts +27 -0
  97. package/dist/fhe-airdrop/advanced/react/useSetEcdsaImplementation.d.ts +34 -0
  98. package/dist/fhe-airdrop/advanced/react/useSetFeeCollector.d.ts +27 -0
  99. package/dist/fhe-airdrop/advanced/react/useSetMerkleImplementation.d.ts +30 -0
  100. package/dist/fhe-airdrop/advanced/react/useSetUpgradeabilityPolicy.d.ts +31 -0
  101. package/dist/fhe-airdrop/airdrop-base.d.ts +608 -0
  102. package/dist/fhe-airdrop/campaign.d.ts +338 -0
  103. package/dist/fhe-airdrop/compliance.d.ts +302 -0
  104. package/dist/fhe-airdrop/constants.d.ts +33 -0
  105. package/dist/fhe-airdrop/ecdsa.d.ts +263 -0
  106. package/dist/fhe-airdrop/encryption.d.ts +92 -14
  107. package/dist/fhe-airdrop/errors.d.ts +273 -15
  108. package/dist/fhe-airdrop/factory.d.ts +533 -274
  109. package/dist/fhe-airdrop/guards.d.ts +317 -0
  110. package/dist/fhe-airdrop/index.cjs +233 -73
  111. package/dist/fhe-airdrop/index.d.cts +46 -8
  112. package/dist/fhe-airdrop/index.d.ts +46 -8
  113. package/dist/fhe-airdrop/index.js +11 -7
  114. package/dist/fhe-airdrop/merkle-tree.d.ts +97 -0
  115. package/dist/fhe-airdrop/merkle.d.ts +201 -0
  116. package/dist/fhe-airdrop/react/_shared.d.ts +156 -70
  117. package/dist/fhe-airdrop/react/index.cjs +1174 -384
  118. package/dist/fhe-airdrop/react/index.d.cts +99 -74
  119. package/dist/fhe-airdrop/react/index.d.ts +99 -74
  120. package/dist/fhe-airdrop/react/index.js +993 -303
  121. package/dist/fhe-airdrop/react/keys.d.ts +90 -0
  122. package/dist/fhe-airdrop/react/useAccessEcdsaClaimAmount.d.ts +26 -0
  123. package/dist/fhe-airdrop/react/useAccessMerkleClaimAmount.d.ts +27 -0
  124. package/dist/fhe-airdrop/react/useAddComplianceDelegate.d.ts +37 -0
  125. package/dist/fhe-airdrop/react/useAdminBatchDiscloseBalanceToParties.d.ts +36 -0
  126. package/dist/fhe-airdrop/react/useAdminDiscloseBalanceToParty.d.ts +31 -0
  127. package/dist/fhe-airdrop/react/useAdminGetCurrentBalance.d.ts +27 -0
  128. package/dist/fhe-airdrop/react/useAirdropConfig.d.ts +49 -0
  129. package/dist/fhe-airdrop/react/useAirdropDeploymentMode.d.ts +28 -0
  130. package/dist/fhe-airdrop/react/useAirdropGasFee.d.ts +10 -5
  131. package/dist/fhe-airdrop/react/useAirdropGrantRole.d.ts +29 -10
  132. package/dist/fhe-airdrop/react/useAirdropHasRole.d.ts +15 -6
  133. package/dist/fhe-airdrop/react/useAirdropPause.d.ts +30 -0
  134. package/dist/fhe-airdrop/react/useAirdropPaused.d.ts +17 -0
  135. package/dist/fhe-airdrop/react/useAirdropRenounceRole.d.ts +36 -0
  136. package/dist/fhe-airdrop/react/useAirdropRevokeRole.d.ts +27 -9
  137. package/dist/fhe-airdrop/react/useAirdropRoleAdmin.d.ts +28 -0
  138. package/dist/fhe-airdrop/react/useAirdropRoleConstants.d.ts +67 -0
  139. package/dist/fhe-airdrop/react/useAirdropRoleMembers.d.ts +49 -0
  140. package/dist/fhe-airdrop/react/useAirdropToken.d.ts +11 -4
  141. package/dist/fhe-airdrop/react/useAirdropUpgradeToAndCall.d.ts +45 -0
  142. package/dist/fhe-airdrop/react/useAirdropWindow.d.ts +37 -0
  143. package/dist/fhe-airdrop/react/useBatchDiscloseHandlesToParty.d.ts +32 -0
  144. package/dist/fhe-airdrop/react/useBuildMerkleCampaign.d.ts +68 -0
  145. package/dist/fhe-airdrop/react/useClaimedAmount.d.ts +29 -0
  146. package/dist/fhe-airdrop/react/useComplianceGrantRole.d.ts +32 -0
  147. package/dist/fhe-airdrop/react/useComplianceHasRole.d.ts +37 -0
  148. package/dist/fhe-airdrop/react/useComplianceInfo.d.ts +50 -0
  149. package/dist/fhe-airdrop/react/useComplianceManager.d.ts +16 -0
  150. package/dist/fhe-airdrop/react/useComplianceManagerOf.d.ts +32 -0
  151. package/dist/fhe-airdrop/react/useComplianceRenounceRole.d.ts +38 -0
  152. package/dist/fhe-airdrop/react/useComplianceRevokeRole.d.ts +36 -0
  153. package/dist/fhe-airdrop/react/useComplianceRoleConstants.d.ts +41 -0
  154. package/dist/fhe-airdrop/react/useComplianceRoleMembers.d.ts +45 -0
  155. package/dist/fhe-airdrop/react/useCreateAndFundEcdsaAirdrop.d.ts +55 -0
  156. package/dist/fhe-airdrop/react/useCreateAndFundMerkleAirdrop.d.ts +52 -0
  157. package/dist/fhe-airdrop/react/useCreateEcdsaAirdrop.d.ts +28 -0
  158. package/dist/fhe-airdrop/react/useCreateMerkleAirdrop.d.ts +25 -0
  159. package/dist/fhe-airdrop/react/useDiscloseHandleToParty.d.ts +35 -0
  160. package/dist/fhe-airdrop/react/useEcdsaClaim.d.ts +24 -0
  161. package/dist/fhe-airdrop/react/useEcdsaClaimAndUnwrap.d.ts +27 -0
  162. package/dist/fhe-airdrop/react/useEcdsaDomain.d.ts +41 -0
  163. package/dist/fhe-airdrop/react/useEffectiveDelegateToCompliance.d.ts +26 -0
  164. package/dist/fhe-airdrop/react/useEffectiveUpgradeable.d.ts +20 -0
  165. package/dist/fhe-airdrop/react/useEncryptCampaignAmounts.d.ts +59 -0
  166. package/dist/fhe-airdrop/react/useExtendClaimWindow.d.ts +17 -12
  167. package/dist/fhe-airdrop/react/useFactoryFees.d.ts +28 -0
  168. package/dist/fhe-airdrop/react/useFactoryRegistry.d.ts +35 -0
  169. package/dist/fhe-airdrop/react/useFundAirdrop.d.ts +35 -0
  170. package/dist/fhe-airdrop/react/useGrantInstanceRoles.d.ts +35 -0
  171. package/dist/fhe-airdrop/react/useIsActiveDelegate.d.ts +29 -0
  172. package/dist/fhe-airdrop/react/useIsMerkleRootMutable.d.ts +21 -0
  173. package/dist/fhe-airdrop/react/useIsSignatureValid.d.ts +46 -0
  174. package/dist/fhe-airdrop/react/useMerkleClaim.d.ts +22 -0
  175. package/dist/fhe-airdrop/react/useMerkleClaimAndUnwrap.d.ts +29 -0
  176. package/dist/fhe-airdrop/react/useMerkleRoot.d.ts +15 -0
  177. package/dist/fhe-airdrop/react/usePlanMerkleCampaign.d.ts +53 -0
  178. package/dist/fhe-airdrop/react/usePreflightClaim.d.ts +46 -0
  179. package/dist/fhe-airdrop/react/usePreflightCreateAirdrop.d.ts +51 -35
  180. package/dist/fhe-airdrop/react/useRescueERC20.d.ts +30 -0
  181. package/dist/fhe-airdrop/react/useRescueOtherConfidentialToken.d.ts +34 -0
  182. package/dist/fhe-airdrop/react/useRevokeComplianceDelegate.d.ts +37 -0
  183. package/dist/fhe-airdrop/react/useRotateMerkleRoot.d.ts +52 -0
  184. package/dist/fhe-airdrop/react/useSetMerkleRoot.d.ts +22 -0
  185. package/dist/fhe-airdrop/react/useSignClaimAuthorization.d.ts +32 -21
  186. package/dist/fhe-airdrop/react/useWithdrawConfidential.d.ts +23 -0
  187. package/dist/fhe-airdrop/react/useWithdrawGasFee.d.ts +37 -0
  188. package/dist/fhe-airdrop/roles.d.ts +147 -0
  189. package/dist/fhe-airdrop/types.d.ts +78 -63
  190. package/dist/fhe-disperse/index.cjs +70 -68
  191. package/dist/fhe-disperse/index.js +10 -8
  192. package/dist/fhe-disperse/react/index.cjs +94 -92
  193. package/dist/fhe-disperse/react/index.js +13 -11
  194. package/dist/fhe-vesting/advanced/index.cjs +10 -8
  195. package/dist/fhe-vesting/advanced/index.js +8 -6
  196. package/dist/fhe-vesting/advanced/react/index.cjs +16 -14
  197. package/dist/fhe-vesting/advanced/react/index.js +13 -11
  198. package/dist/fhe-vesting/index.cjs +74 -72
  199. package/dist/fhe-vesting/index.js +11 -9
  200. package/dist/fhe-vesting/react/index.cjs +228 -226
  201. package/dist/fhe-vesting/react/index.js +15 -13
  202. package/dist/index.cjs +100 -87
  203. package/dist/index.js +3 -2
  204. package/dist/testnet-faucet/index.cjs +57 -55
  205. package/dist/testnet-faucet/index.js +7 -5
  206. package/dist/testnet-faucet/react/index.cjs +55 -53
  207. package/dist/testnet-faucet/react/index.js +9 -7
  208. package/package.json +6 -2
  209. package/dist/chunk-CNP4L3GF.js +0 -105
  210. package/dist/chunk-KSDSXJ34.js +0 -41
  211. package/dist/chunk-LBWRFZR3.cjs +0 -1681
  212. package/dist/chunk-OL6SHN3D.cjs +0 -44
  213. package/dist/chunk-S2XD75JM.js +0 -1637
  214. package/dist/chunk-SPGSO5SO.cjs +0 -1644
  215. package/dist/chunk-UE5XK2SY.js +0 -1673
  216. package/dist/chunk-WO72UBQD.cjs +0 -109
  217. package/dist/fhe-airdrop/advanced/factory-advanced.d.ts +0 -53
  218. package/dist/fhe-airdrop/advanced/react/usePredictAirdropAddress.d.ts +0 -49
  219. package/dist/fhe-airdrop/airdrop.d.ts +0 -317
  220. package/dist/fhe-airdrop/react/useAccessClaimAmount.d.ts +0 -37
  221. package/dist/fhe-airdrop/react/useAirdropCanExtendClaimWindow.d.ts +0 -7
  222. package/dist/fhe-airdrop/react/useAirdropClaimTypehash.d.ts +0 -10
  223. package/dist/fhe-airdrop/react/useAirdropClaimedSignatures.d.ts +0 -16
  224. package/dist/fhe-airdrop/react/useAirdropDeploymentBlockNumber.d.ts +0 -6
  225. package/dist/fhe-airdrop/react/useAirdropDomainSeparator.d.ts +0 -8
  226. package/dist/fhe-airdrop/react/useAirdropEndTime.d.ts +0 -10
  227. package/dist/fhe-airdrop/react/useAirdropFactoryCustomFee.d.ts +0 -17
  228. package/dist/fhe-airdrop/react/useAirdropFactoryDefaultGasFee.d.ts +0 -10
  229. package/dist/fhe-airdrop/react/useAirdropFactoryDisableCustomFee.d.ts +0 -15
  230. package/dist/fhe-airdrop/react/useAirdropFactoryFeeCollector.d.ts +0 -11
  231. package/dist/fhe-airdrop/react/useAirdropFactoryInitCodeHash.d.ts +0 -17
  232. package/dist/fhe-airdrop/react/useAirdropFactorySetCustomFee.d.ts +0 -17
  233. package/dist/fhe-airdrop/react/useAirdropFactorySetDefaultGasFee.d.ts +0 -16
  234. package/dist/fhe-airdrop/react/useAirdropFactorySetFeeCollector.d.ts +0 -15
  235. package/dist/fhe-airdrop/react/useAirdropHasClaimEnded.d.ts +0 -7
  236. package/dist/fhe-airdrop/react/useAirdropHasClaimStarted.d.ts +0 -7
  237. package/dist/fhe-airdrop/react/useAirdropIsClaimWindowActive.d.ts +0 -9
  238. package/dist/fhe-airdrop/react/useAirdropIsPaused.d.ts +0 -8
  239. package/dist/fhe-airdrop/react/useAirdropIsSignatureClaimed.d.ts +0 -22
  240. package/dist/fhe-airdrop/react/useAirdropIsSignatureValid.d.ts +0 -51
  241. package/dist/fhe-airdrop/react/useAirdropStartTime.d.ts +0 -10
  242. package/dist/fhe-airdrop/react/useAirdropWithdrawGasFee.d.ts +0 -15
  243. package/dist/fhe-airdrop/react/useAirdropWithdrawOtherConfidentialToken.d.ts +0 -14
  244. package/dist/fhe-airdrop/react/useAirdropWithdrawOtherToken.d.ts +0 -14
  245. package/dist/fhe-airdrop/react/useClaim.d.ts +0 -39
  246. package/dist/fhe-airdrop/react/useConfidentialAirdropFactoryImplementation.d.ts +0 -11
  247. package/dist/fhe-airdrop/react/useCreateAndFundConfidentialAirdrop.d.ts +0 -41
  248. package/dist/fhe-airdrop/react/useCreateAndFundConfidentialAirdropAndGetAddress.d.ts +0 -48
  249. package/dist/fhe-airdrop/react/useCreateConfidentialAirdrop.d.ts +0 -29
  250. package/dist/fhe-airdrop/react/useCreateConfidentialAirdropAndGetAddress.d.ts +0 -31
  251. package/dist/fhe-airdrop/react/useDisableCustomFee.d.ts +0 -14
  252. package/dist/fhe-airdrop/react/useFactoryCustomFee.d.ts +0 -17
  253. package/dist/fhe-airdrop/react/useFactoryDefaultGasFee.d.ts +0 -10
  254. package/dist/fhe-airdrop/react/useFactoryFeeCollector.d.ts +0 -11
  255. package/dist/fhe-airdrop/react/useFactoryInitCodeHash.d.ts +0 -17
  256. package/dist/fhe-airdrop/react/useFundConfidentialAirdrop.d.ts +0 -33
  257. package/dist/fhe-airdrop/react/useSetCustomFee.d.ts +0 -16
  258. package/dist/fhe-airdrop/react/useSetDefaultGasFee.d.ts +0 -15
  259. package/dist/fhe-airdrop/react/useSetFeeCollector.d.ts +0 -14
  260. package/dist/fhe-airdrop/react/useSetPaused.d.ts +0 -14
  261. package/dist/fhe-airdrop/react/useWithdraw.d.ts +0 -12
  262. package/dist/fhe-airdrop/react/useWithdrawOtherConfidentialToken.d.ts +0 -13
  263. package/dist/fhe-airdrop/react/useWithdrawOtherToken.d.ts +0 -13
@@ -0,0 +1,433 @@
1
+ 'use strict';
2
+
3
+ var chunkPZZK3O3S_cjs = require('./chunk-PZZK3O3S.cjs');
4
+ var chunkAREQJHKA_cjs = require('./chunk-AREQJHKA.cjs');
5
+ var chunkJK4XMMKM_cjs = require('./chunk-JK4XMMKM.cjs');
6
+ var chunk67OV5CX2_cjs = require('./chunk-67OV5CX2.cjs');
7
+ var merkleTree = require('@openzeppelin/merkle-tree');
8
+ var viem = require('viem');
9
+
10
+ function leafOf(args) {
11
+ const inner = viem.keccak256(
12
+ viem.encodeAbiParameters(
13
+ [{ type: "address" }, { type: "address" }, { type: "bytes32" }],
14
+ [args.instance, args.account, args.handle]
15
+ )
16
+ );
17
+ return viem.keccak256(inner);
18
+ }
19
+ var HANDLE_PATTERN = /^0x[0-9a-fA-F]{64}$/;
20
+ function assertLeaves(instance, leaves, method) {
21
+ if (!viem.isAddress(instance, { strict: false })) {
22
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
23
+ method,
24
+ argument: "instance",
25
+ reason: "is not a 20-byte hex address",
26
+ value: instance
27
+ });
28
+ }
29
+ if (viem.isAddressEqual(instance, viem.zeroAddress)) {
30
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
31
+ method,
32
+ argument: "instance",
33
+ reason: "is the zero address; leaves must be scoped to the airdrop instance"
34
+ });
35
+ }
36
+ if (leaves.length === 0) {
37
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
38
+ method,
39
+ argument: "leaves",
40
+ reason: "a tree needs at least one leaf"
41
+ });
42
+ }
43
+ const seen = /* @__PURE__ */ new Map();
44
+ leaves.forEach((leaf, index) => {
45
+ if (!viem.isAddress(leaf.account, { strict: false })) {
46
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
47
+ method,
48
+ argument: `leaves[${index}].account`,
49
+ reason: "is not a 20-byte hex address",
50
+ value: leaf.account
51
+ });
52
+ }
53
+ if (viem.isAddressEqual(leaf.account, viem.zeroAddress)) {
54
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
55
+ method,
56
+ argument: `leaves[${index}].account`,
57
+ reason: "is the zero address; the contract rejects it with ZeroAccount"
58
+ });
59
+ }
60
+ if (!HANDLE_PATTERN.test(leaf.handle)) {
61
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
62
+ method,
63
+ argument: `leaves[${index}].handle`,
64
+ reason: "is not a 32-byte hex handle; the tree would commit to a value no claim can reproduce",
65
+ value: leaf.handle
66
+ });
67
+ }
68
+ const key = leaf.account.toLowerCase();
69
+ const first = seen.get(key);
70
+ if (first !== void 0) {
71
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
72
+ method,
73
+ argument: `leaves[${index}].account`,
74
+ reason: `appears twice (also at index ${first}); one root pays max, not sum, of an account's leaves \u2014 merge them into a single cumulative total`
75
+ });
76
+ }
77
+ seen.set(key, index);
78
+ });
79
+ }
80
+ function buildMerkleTree(args) {
81
+ return buildMerkleTreeInternal(args, "buildMerkleTree");
82
+ }
83
+ function buildMerkleTreeInternal({ instance, leaves }, method) {
84
+ assertLeaves(instance, leaves, method);
85
+ const airdrop = chunkJK4XMMKM_cjs.normaliseAddress(instance);
86
+ const accounts = leaves.map((leaf) => chunkJK4XMMKM_cjs.normaliseAddress(leaf.account));
87
+ const rows = accounts.map((account, i) => [airdrop, account, leaves[i].handle]);
88
+ const tree = merkleTree.StandardMerkleTree.of(rows, ["address", "address", "bytes32"]);
89
+ return {
90
+ root: tree.root,
91
+ // `getProof(i)` indexes the INPUT array, not the tree: `StandardMerkleTree` sorts
92
+ // leaves internally but keeps `values` in insertion order, so entry `i` always belongs
93
+ // to `leaves[i]`.
94
+ entries: leaves.map((leaf, i) => ({
95
+ ...leaf,
96
+ account: accounts[i],
97
+ merkleProof: tree.getProof(i)
98
+ }))
99
+ };
100
+ }
101
+ var MAX_UINT64 = (1n << 64n) - 1n;
102
+ var MERKLE_BATCH_LIMIT = 2048 / 64;
103
+ function validateCampaignRecipients(recipients) {
104
+ validateCampaignRecipientsInternal(recipients, "validateCampaignRecipients");
105
+ }
106
+ function validateCampaignRecipientsInternal(recipients, method) {
107
+ if (recipients.length === 0) {
108
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
109
+ method,
110
+ argument: "recipients",
111
+ reason: "a campaign needs at least one recipient"
112
+ });
113
+ }
114
+ const seen = /* @__PURE__ */ new Map();
115
+ recipients.forEach((entry, index) => {
116
+ if (!viem.isAddress(entry.recipient, { strict: false })) {
117
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
118
+ method,
119
+ argument: `recipients[${index}].recipient`,
120
+ reason: "is not a 20-byte hex address",
121
+ value: entry.recipient
122
+ });
123
+ }
124
+ if (viem.isAddressEqual(entry.recipient, viem.zeroAddress)) {
125
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
126
+ method,
127
+ argument: `recipients[${index}].recipient`,
128
+ reason: "is the zero address, whose leaf can never be claimed"
129
+ });
130
+ }
131
+ if (entry.cumulativeTotal < 0n || entry.cumulativeTotal > MAX_UINT64) {
132
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
133
+ method,
134
+ argument: `recipients[${index}].cumulativeTotal`,
135
+ // Deliberately no `value`: the total is confidential.
136
+ reason: "is outside uint64 range (0..2^64-1)"
137
+ });
138
+ }
139
+ const key = entry.recipient.toLowerCase();
140
+ const first = seen.get(key);
141
+ if (first !== void 0) {
142
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
143
+ method,
144
+ argument: `recipients[${index}].recipient`,
145
+ reason: `appears twice (also at index ${first}); one root pays max, not sum, of a recipient's leaves \u2014 merge them into a single cumulative total`
146
+ });
147
+ }
148
+ seen.set(key, index);
149
+ });
150
+ }
151
+ async function encryptRoster({ instance, recipients, encryptor, submitter }, method) {
152
+ validateCampaignRecipientsInternal(recipients, method);
153
+ if (!viem.isAddress(instance, { strict: false })) {
154
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
155
+ method,
156
+ argument: "instance",
157
+ reason: "is not a 20-byte hex address",
158
+ value: instance
159
+ });
160
+ }
161
+ if (viem.isAddressEqual(instance, viem.zeroAddress)) {
162
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
163
+ method,
164
+ argument: "instance",
165
+ reason: "is the zero address; inputs must be bound to the airdrop instance"
166
+ });
167
+ }
168
+ const enc = chunkPZZK3O3S_cjs.resolveEncryptor(encryptor);
169
+ if (!enc) {
170
+ throw new chunk67OV5CX2_cjs.MissingEncryptorError(method, {
171
+ hint: "Pass an encryptor instance, or a lazy factory that returns one."
172
+ });
173
+ }
174
+ if (submitter !== void 0) {
175
+ if (!viem.isAddress(submitter, { strict: false })) {
176
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
177
+ method,
178
+ argument: "submitter",
179
+ reason: "is not a 20-byte hex address",
180
+ value: submitter
181
+ });
182
+ }
183
+ if (viem.isAddressEqual(submitter, viem.zeroAddress)) {
184
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
185
+ method,
186
+ argument: "submitter",
187
+ reason: "is the zero address; no proof can be bound to it, so no leaf would be claimable"
188
+ });
189
+ }
190
+ }
191
+ const airdrop = chunkJK4XMMKM_cjs.normaliseAddress(instance);
192
+ const accounts = recipients.map((r) => chunkJK4XMMKM_cjs.normaliseAddress(r.recipient));
193
+ if (submitter !== void 0) {
194
+ const boundTo = chunkJK4XMMKM_cjs.normaliseAddress(submitter);
195
+ const chunks = [];
196
+ for (let i = 0; i < recipients.length; i += MERKLE_BATCH_LIMIT) {
197
+ chunks.push(recipients.slice(i, i + MERKLE_BATCH_LIMIT));
198
+ }
199
+ const encryptedChunks = await Promise.all(
200
+ chunks.map(
201
+ (chunk) => chunkPZZK3O3S_cjs.encryptUint64Batch({
202
+ encryptor: enc,
203
+ contractAddress: airdrop,
204
+ userAddress: boundTo,
205
+ values: chunk.map((r) => r.cumulativeTotal)
206
+ })
207
+ )
208
+ );
209
+ return accounts.map((account, i) => {
210
+ const chunk = encryptedChunks[Math.floor(i / MERKLE_BATCH_LIMIT)];
211
+ return {
212
+ account,
213
+ boundTo,
214
+ handle: chunk.handles[i % MERKLE_BATCH_LIMIT],
215
+ inputProof: chunk.inputProof
216
+ };
217
+ });
218
+ }
219
+ const encrypted = await Promise.all(
220
+ recipients.map(
221
+ (r, i) => chunkPZZK3O3S_cjs.encryptUint64({
222
+ encryptor: enc,
223
+ contractAddress: airdrop,
224
+ userAddress: accounts[i],
225
+ value: r.cumulativeTotal
226
+ })
227
+ )
228
+ );
229
+ return accounts.map((account, i) => ({
230
+ account,
231
+ boundTo: account,
232
+ handle: encrypted[i].handle,
233
+ inputProof: encrypted[i].inputProof
234
+ }));
235
+ }
236
+ async function encryptCampaignAmounts(args) {
237
+ return encryptRoster(args, "encryptCampaignAmounts");
238
+ }
239
+ async function buildMerkleCampaign({
240
+ instance,
241
+ recipients,
242
+ encryptor,
243
+ submitter
244
+ }) {
245
+ const leaves = await encryptRoster(
246
+ { instance, recipients, encryptor, submitter },
247
+ "buildMerkleCampaign"
248
+ );
249
+ return buildMerkleTreeInternal({ instance, leaves }, "buildMerkleCampaign");
250
+ }
251
+ async function planMerkleCampaign({
252
+ factory,
253
+ params,
254
+ mode,
255
+ creator,
256
+ userSalt,
257
+ recipients,
258
+ encryptor,
259
+ submitter
260
+ }) {
261
+ validateCampaignRecipientsInternal(recipients, "planMerkleCampaign");
262
+ const initCodeHashBefore = await factory.getMerkleInitCodeHash({ params, mode });
263
+ const predictedAddress = await factory.predictMerkleAirdropAddress({
264
+ params,
265
+ mode,
266
+ deployer: creator,
267
+ userSalt
268
+ });
269
+ const campaign = await buildMerkleCampaign({
270
+ instance: predictedAddress,
271
+ recipients,
272
+ encryptor,
273
+ submitter
274
+ });
275
+ const initCodeHashAfter = await factory.getMerkleInitCodeHash({ params, mode });
276
+ chunkAREQJHKA_cjs.assertPredictionFresh({
277
+ variant: "merkle",
278
+ initCodeHashBefore,
279
+ initCodeHashAfter,
280
+ predictedAddress,
281
+ method: "planMerkleCampaign"
282
+ });
283
+ return { ...campaign, predictedAddress, initCodeHashBefore, initCodeHashAfter };
284
+ }
285
+ async function rotateMerkleRoot({
286
+ airdrop,
287
+ recipients,
288
+ encryptor,
289
+ submitter,
290
+ account
291
+ }) {
292
+ const campaign = await buildMerkleCampaign({
293
+ instance: airdrop.address,
294
+ recipients,
295
+ encryptor,
296
+ submitter
297
+ });
298
+ const hash = await airdrop.setMerkleRoot({ newRoot: campaign.root, account });
299
+ return { ...campaign, hash };
300
+ }
301
+ var ASSIGNABLE_ROLES = [
302
+ { key: "pauser", role: "PAUSER_ROLE" },
303
+ { key: "windowAdmin", role: "WINDOW_ADMIN_ROLE" },
304
+ { key: "treasury", role: "TREASURY_ROLE" },
305
+ { key: "rescuer", role: "RESCUER_ROLE" },
306
+ { key: "disclosureAdmin", role: "DISCLOSURE_ADMIN_ROLE" },
307
+ { key: "upgrader", role: "UPGRADER_ROLE" },
308
+ { key: "merkleAdmin", role: "MERKLE_ADMIN_ROLE", variant: "merkle" },
309
+ { key: "signer", role: "SIGNER_ROLE", variant: "ecdsa" }
310
+ ];
311
+ function planInstanceRoleSplit(args) {
312
+ const { assignment, caller, airdropType } = args;
313
+ if (assignment.feeCollector !== void 0) {
314
+ throw new chunkAREQJHKA_cjs.FeeCollectorSelfAdministeredError({ requestedGrantee: assignment.feeCollector });
315
+ }
316
+ const steps = [];
317
+ for (const { key, role, variant } of ASSIGNABLE_ROLES) {
318
+ const account = assignment[key];
319
+ if (account === void 0) continue;
320
+ if (variant !== void 0 && variant !== airdropType) {
321
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
322
+ method: "planInstanceRoleSplit",
323
+ argument: `assignment.${key}`,
324
+ reason: `${role} only exists on ${variant} campaigns; this is a(n) ${airdropType} campaign`
325
+ });
326
+ }
327
+ steps.push({ kind: "grant", role, account });
328
+ }
329
+ if (assignment.admin !== void 0) {
330
+ if (viem.isAddressEqual(assignment.admin, viem.zeroAddress)) {
331
+ throw new chunk67OV5CX2_cjs.InvalidArgumentError({
332
+ method: "planInstanceRoleSplit",
333
+ argument: "assignment.admin",
334
+ reason: "granting DEFAULT_ADMIN_ROLE to the zero address is never valid"
335
+ });
336
+ }
337
+ steps.push({ kind: "grant", role: "DEFAULT_ADMIN_ROLE", account: assignment.admin });
338
+ steps.push({ kind: "revoke", role: "DEFAULT_ADMIN_ROLE", account: caller });
339
+ }
340
+ return steps;
341
+ }
342
+ function roleGetterAbiEntry(name) {
343
+ return {
344
+ inputs: [],
345
+ name,
346
+ outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }],
347
+ stateMutability: "view",
348
+ type: "function"
349
+ };
350
+ }
351
+ var ROLE_GETTER_ABI = [
352
+ roleGetterAbiEntry("PAUSER_ROLE"),
353
+ roleGetterAbiEntry("WINDOW_ADMIN_ROLE"),
354
+ roleGetterAbiEntry("TREASURY_ROLE"),
355
+ roleGetterAbiEntry("RESCUER_ROLE"),
356
+ roleGetterAbiEntry("DISCLOSURE_ADMIN_ROLE"),
357
+ roleGetterAbiEntry("UPGRADER_ROLE"),
358
+ roleGetterAbiEntry("MERKLE_ADMIN_ROLE"),
359
+ roleGetterAbiEntry("SIGNER_ROLE")
360
+ ];
361
+ var DEFAULT_ADMIN_ROLE_CONSTANT = `0x${"0".repeat(64)}`;
362
+ async function resolveRoleConstant(airdrop, role) {
363
+ if (role === "DEFAULT_ADMIN_ROLE") return DEFAULT_ADMIN_ROLE_CONSTANT;
364
+ const result = await airdrop.publicClient.readContract({
365
+ address: airdrop.address,
366
+ abi: ROLE_GETTER_ABI,
367
+ functionName: role
368
+ });
369
+ return result;
370
+ }
371
+ function toOutcomeError(step, airdrop, error) {
372
+ if (chunk67OV5CX2_cjs.isTokenOpsSdkError(error)) return error;
373
+ return new chunk67OV5CX2_cjs.UnknownWriteFailureError({
374
+ method: `grantInstanceRoles.${step.kind}.${step.role}`,
375
+ contractAddress: airdrop.address,
376
+ cause: error
377
+ });
378
+ }
379
+ async function grantInstanceRoles(args) {
380
+ const { airdrop, assignment, revokeFromCreator = true } = args;
381
+ const wallet = airdrop.walletClient;
382
+ if (!wallet) {
383
+ throw new chunk67OV5CX2_cjs.MissingWalletClientError("grantInstanceRoles");
384
+ }
385
+ const callerAccount = wallet.account;
386
+ if (!callerAccount) {
387
+ throw new chunk67OV5CX2_cjs.MissingAccountError("grantInstanceRoles");
388
+ }
389
+ const caller = typeof callerAccount === "string" ? callerAccount : callerAccount.address;
390
+ const airdropType = await airdrop.airdropType() === 1 ? "merkle" : "ecdsa";
391
+ let steps = planInstanceRoleSplit({ assignment, caller, airdropType });
392
+ if (!revokeFromCreator) {
393
+ steps = steps.filter((step) => !(step.kind === "revoke" && step.role === "DEFAULT_ADMIN_ROLE"));
394
+ }
395
+ const outcomes = [];
396
+ for (const step of steps) {
397
+ try {
398
+ const role = await resolveRoleConstant(airdrop, step.role);
399
+ const hash = step.kind === "grant" ? await airdrop.grantRole({ role, holder: step.account, account: caller }) : await airdrop.revokeRole({ role, holder: step.account, account: caller });
400
+ const receipt = await airdrop.publicClient.waitForTransactionReceipt({ hash });
401
+ if (receipt.status !== "success") {
402
+ outcomes.push({
403
+ role: step.role,
404
+ account: step.account,
405
+ error: new chunk67OV5CX2_cjs.ContractRevertError({
406
+ method: `grantInstanceRoles.${step.kind}.${step.role}`,
407
+ contractAddress: airdrop.address,
408
+ message: `grantInstanceRoles.${step.kind}.${step.role}: transaction ${hash} was mined with a reverted status; the role change did not apply.`
409
+ })
410
+ });
411
+ continue;
412
+ }
413
+ outcomes.push({ role: step.role, account: step.account, hash });
414
+ } catch (error) {
415
+ outcomes.push({
416
+ role: step.role,
417
+ account: step.account,
418
+ error: toOutcomeError(step, airdrop, error)
419
+ });
420
+ }
421
+ }
422
+ return outcomes;
423
+ }
424
+
425
+ exports.buildMerkleCampaign = buildMerkleCampaign;
426
+ exports.buildMerkleTree = buildMerkleTree;
427
+ exports.encryptCampaignAmounts = encryptCampaignAmounts;
428
+ exports.grantInstanceRoles = grantInstanceRoles;
429
+ exports.leafOf = leafOf;
430
+ exports.planInstanceRoleSplit = planInstanceRoleSplit;
431
+ exports.planMerkleCampaign = planMerkleCampaign;
432
+ exports.rotateMerkleRoot = rotateMerkleRoot;
433
+ exports.validateCampaignRecipients = validateCampaignRecipients;
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var chunk2RNW4MIJ_cjs = require('./chunk-2RNW4MIJ.cjs');
3
+ var chunk67OV5CX2_cjs = require('./chunk-67OV5CX2.cjs');
4
4
  var viem = require('viem');
5
5
 
6
6
  function normaliseAddress(input) {
7
7
  if (typeof input !== "string") {
8
- throw new chunk2RNW4MIJ_cjs.TokenOpsValidationError("normaliseAddress: input is not a string", {
8
+ throw new chunk67OV5CX2_cjs.TokenOpsValidationError("normaliseAddress: input is not a string", {
9
9
  method: "normaliseAddress",
10
10
  args: { input: typeof input }
11
11
  });
12
12
  }
13
13
  if (!viem.isAddress(input, { strict: false })) {
14
- throw new chunk2RNW4MIJ_cjs.TokenOpsValidationError(
14
+ throw new chunk67OV5CX2_cjs.TokenOpsValidationError(
15
15
  `normaliseAddress: '${input}' is not a valid 0x-prefixed 20-byte hex address`,
16
16
  {
17
17
  method: "normaliseAddress",
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkFWHYQZ5E_cjs = require('./chunk-FWHYQZ5E.cjs');
4
- var chunkVR3FREBX_cjs = require('./chunk-VR3FREBX.cjs');
5
- var chunk2RNW4MIJ_cjs = require('./chunk-2RNW4MIJ.cjs');
4
+ var chunkJK4XMMKM_cjs = require('./chunk-JK4XMMKM.cjs');
5
+ var chunk67OV5CX2_cjs = require('./chunk-67OV5CX2.cjs');
6
6
  var chunkVJKZWYYJ_cjs = require('./chunk-VJKZWYYJ.cjs');
7
7
 
8
8
  // src/fhe/operators.ts
@@ -21,19 +21,19 @@ var ERC7984_SET_OPERATOR_ABI = [
21
21
  var ERC7984_OPERATOR_MAX_DEADLINE = (1n << 48n) - 1n;
22
22
  async function setOperator(args) {
23
23
  const { publicClient, walletClient, account, waitForReceipt = true, telemetry } = args;
24
- const token = chunkVR3FREBX_cjs.normaliseAddress(args.token);
25
- const spender = chunkVR3FREBX_cjs.normaliseAddress(args.spender);
24
+ const token = chunkJK4XMMKM_cjs.normaliseAddress(args.token);
25
+ const spender = chunkJK4XMMKM_cjs.normaliseAddress(args.spender);
26
26
  const deadline = args.deadline ?? ERC7984_OPERATOR_MAX_DEADLINE;
27
27
  return chunkVJKZWYYJ_cjs.withTelemetry(telemetry, "fhe.setOperator", async () => {
28
28
  const fromAccount = account ?? walletClient.account;
29
29
  if (!fromAccount) {
30
- throw new chunk2RNW4MIJ_cjs.TokenOpsContractError(
30
+ throw new chunk67OV5CX2_cjs.TokenOpsContractError(
31
31
  "setOperator: no account available \u2014 pass `account` explicitly or attach an account to the walletClient",
32
32
  { contract: "ERC7984", call: "setOperator" }
33
33
  );
34
34
  }
35
35
  if (deadline < 0n || deadline > ERC7984_OPERATOR_MAX_DEADLINE) {
36
- throw new chunk2RNW4MIJ_cjs.TokenOpsContractError(
36
+ throw new chunk67OV5CX2_cjs.TokenOpsContractError(
37
37
  `setOperator: deadline ${deadline} out of uint48 range [0, ${ERC7984_OPERATOR_MAX_DEADLINE}]`,
38
38
  { contract: "ERC7984", call: "setOperator", deadline: deadline.toString() }
39
39
  );
@@ -54,7 +54,7 @@ async function setOperator(args) {
54
54
  chain: walletClient.chain
55
55
  });
56
56
  } catch (err) {
57
- throw new chunk2RNW4MIJ_cjs.TokenOpsContractError(
57
+ throw new chunk67OV5CX2_cjs.TokenOpsContractError(
58
58
  `setOperator: writeContract failed (token=${token}, spender=${spender})`,
59
59
  {
60
60
  contract: "ERC7984",
@@ -69,7 +69,7 @@ async function setOperator(args) {
69
69
  try {
70
70
  await publicClient.waitForTransactionReceipt({ hash });
71
71
  } catch (err) {
72
- throw new chunk2RNW4MIJ_cjs.TokenOpsContractError(`setOperator: receipt wait failed (tx=${hash})`, {
72
+ throw new chunk67OV5CX2_cjs.TokenOpsContractError(`setOperator: receipt wait failed (tx=${hash})`, {
73
73
  contract: "ERC7984",
74
74
  call: "setOperator",
75
75
  tx: hash,
@@ -96,9 +96,9 @@ async function revokeOperator(args) {
96
96
  });
97
97
  }
98
98
  async function isOperator(args) {
99
- const token = chunkVR3FREBX_cjs.normaliseAddress(args.token);
100
- const holder = chunkVR3FREBX_cjs.normaliseAddress(args.holder);
101
- const spender = chunkVR3FREBX_cjs.normaliseAddress(args.spender);
99
+ const token = chunkJK4XMMKM_cjs.normaliseAddress(args.token);
100
+ const holder = chunkJK4XMMKM_cjs.normaliseAddress(args.holder);
101
+ const spender = chunkJK4XMMKM_cjs.normaliseAddress(args.spender);
102
102
  return chunkVJKZWYYJ_cjs.withTelemetry(args.telemetry, "fhe.isOperator", async () => {
103
103
  try {
104
104
  return await args.publicClient.readContract({
@@ -108,7 +108,7 @@ async function isOperator(args) {
108
108
  args: [holder, spender]
109
109
  });
110
110
  } catch (err) {
111
- throw new chunk2RNW4MIJ_cjs.TokenOpsContractError(
111
+ throw new chunk67OV5CX2_cjs.TokenOpsContractError(
112
112
  `isOperator: readContract failed (token=${token}, holder=${holder}, spender=${spender})`,
113
113
  { contract: "ERC7984", call: "isOperator", token, holder, spender, cause: err }
114
114
  );
@@ -118,14 +118,14 @@ async function isOperator(args) {
118
118
  async function ensureOperator(args) {
119
119
  return chunkVJKZWYYJ_cjs.withTelemetry(args.telemetry, "fhe.ensureOperator", async () => {
120
120
  if (args.deadline <= 0n || args.deadline > ERC7984_OPERATOR_MAX_DEADLINE) {
121
- throw new chunk2RNW4MIJ_cjs.TokenOpsContractError(
121
+ throw new chunk67OV5CX2_cjs.TokenOpsContractError(
122
122
  `ensureOperator: deadline ${args.deadline} out of range (0, ${ERC7984_OPERATOR_MAX_DEADLINE}]`,
123
123
  { contract: "ERC7984", call: "ensureOperator", deadline: args.deadline.toString() }
124
124
  );
125
125
  }
126
126
  const fromAccount = args.account ?? args.walletClient.account;
127
127
  if (!fromAccount) {
128
- throw new chunk2RNW4MIJ_cjs.TokenOpsContractError(
128
+ throw new chunk67OV5CX2_cjs.TokenOpsContractError(
129
129
  "ensureOperator: no account available \u2014 pass `account` explicitly or attach an account to the walletClient",
130
130
  { contract: "ERC7984", call: "ensureOperator" }
131
131
  );
@@ -0,0 +1,11 @@
1
+ // src/core/brands.ts
2
+ var asEncryptedHandle = (h) => h;
3
+ var asExternalInputProof = (h) => h;
4
+ var asTxHash = (h) => h;
5
+ var asVestingId = (h) => h;
6
+ var asAirdropId = (h) => h;
7
+ var asDisperseId = (h) => h;
8
+ var asRole = (h) => h;
9
+ var asSignature = (h) => h;
10
+
11
+ export { asAirdropId, asDisperseId, asEncryptedHandle, asExternalInputProof, asRole, asSignature, asTxHash, asVestingId };
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkEUKPOXWR_cjs = require('./chunk-EUKPOXWR.cjs');
3
+ var chunkUHHMVBLU_cjs = require('./chunk-UHHMVBLU.cjs');
4
4
 
5
5
  // src/fhe-vesting/advanced/factory-advanced.ts
6
- var ConfidentialVestingFactoryAdvancedClient = class extends chunkEUKPOXWR_cjs.ConfidentialVestingFactoryClient {
6
+ var ConfidentialVestingFactoryAdvancedClient = class extends chunkUHHMVBLU_cjs.ConfidentialVestingFactoryClient {
7
7
  /**
8
8
  * Compute the deterministic CREATE2 clone address as the factory would have
9
9
  * computed it at `args.blockNumber`.
@@ -20,7 +20,7 @@ var ConfidentialVestingFactoryAdvancedClient = class extends chunkEUKPOXWR_cjs.C
20
20
  if (hasOptions) {
21
21
  return this.publicClient.readContract({
22
22
  address: this.address,
23
- abi: chunkEUKPOXWR_cjs.confidentialVestingFactoryAbi,
23
+ abi: chunkUHHMVBLU_cjs.confidentialVestingFactoryAbi,
24
24
  functionName: "predictManagerAddressWithOptions",
25
25
  args: [
26
26
  args.token,
@@ -34,7 +34,7 @@ var ConfidentialVestingFactoryAdvancedClient = class extends chunkEUKPOXWR_cjs.C
34
34
  }
35
35
  return this.publicClient.readContract({
36
36
  address: this.address,
37
- abi: chunkEUKPOXWR_cjs.confidentialVestingFactoryAbi,
37
+ abi: chunkUHHMVBLU_cjs.confidentialVestingFactoryAbi,
38
38
  functionName: "predictManagerAddress",
39
39
  args: [args.token, args.userSalt, args.deployer],
40
40
  blockNumber: args.blockNumber