@tokenops/sdk 1.0.0

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 (371) hide show
  1. package/CHANGELOG.md +207 -0
  2. package/CONTRIBUTING.md +113 -0
  3. package/LICENSE +32 -0
  4. package/README.md +677 -0
  5. package/SECURITY.md +59 -0
  6. package/dist/chunk-52TC6BF7.js +2755 -0
  7. package/dist/chunk-56UI7LUR.cjs +516 -0
  8. package/dist/chunk-5SA2HF2W.cjs +1635 -0
  9. package/dist/chunk-5SGMJADP.cjs +139 -0
  10. package/dist/chunk-62DF53UQ.cjs +749 -0
  11. package/dist/chunk-66IHPTOK.cjs +20 -0
  12. package/dist/chunk-6ECAHP5O.cjs +1496 -0
  13. package/dist/chunk-72YGZEQE.js +742 -0
  14. package/dist/chunk-7VELUOMI.js +35 -0
  15. package/dist/chunk-BE2AIZ3K.js +23 -0
  16. package/dist/chunk-CMRETRZO.js +46 -0
  17. package/dist/chunk-COPFW5Z4.js +82 -0
  18. package/dist/chunk-CQIPRNS7.cjs +25 -0
  19. package/dist/chunk-ECT3NL2L.js +124 -0
  20. package/dist/chunk-FWHYQZ5E.cjs +37 -0
  21. package/dist/chunk-FYQ2UW4T.js +37 -0
  22. package/dist/chunk-HGXNRR25.js +105 -0
  23. package/dist/chunk-HTOMTEA3.cjs +3406 -0
  24. package/dist/chunk-ITQ7WKVC.cjs +101 -0
  25. package/dist/chunk-IVE3QEGD.js +478 -0
  26. package/dist/chunk-JFLEEXKP.js +325 -0
  27. package/dist/chunk-JFR5J4FL.cjs +128 -0
  28. package/dist/chunk-K6MFFDBJ.cjs +109 -0
  29. package/dist/chunk-KWFFIJYX.js +11 -0
  30. package/dist/chunk-NS44KBV5.cjs +89 -0
  31. package/dist/chunk-OLDGMKW2.cjs +93 -0
  32. package/dist/chunk-Q2GP5UDC.js +29 -0
  33. package/dist/chunk-Q7ARQSUH.cjs +42 -0
  34. package/dist/chunk-QCA7O2Q5.cjs +49 -0
  35. package/dist/chunk-QIHZVLIK.js +3388 -0
  36. package/dist/chunk-SUOG3BQS.cjs +2772 -0
  37. package/dist/chunk-T5LVV3KY.cjs +44 -0
  38. package/dist/chunk-UOG4PJL5.js +1488 -0
  39. package/dist/chunk-VDXVNZCO.cjs +329 -0
  40. package/dist/chunk-VJKZWYYJ.cjs +32 -0
  41. package/dist/chunk-WRCUDSUJ.js +96 -0
  42. package/dist/chunk-XSNLAS5M.js +135 -0
  43. package/dist/chunk-XXXDQSHE.js +1628 -0
  44. package/dist/chunk-ZHFLRKFY.js +41 -0
  45. package/dist/chunk-ZXCOJY2Z.js +87 -0
  46. package/dist/core/addresses.d.ts +59 -0
  47. package/dist/core/brands.d.ts +87 -0
  48. package/dist/core/chains.d.ts +102 -0
  49. package/dist/core/errors.d.ts +687 -0
  50. package/dist/core/index.d.ts +7 -0
  51. package/dist/core/normalise.d.ts +27 -0
  52. package/dist/core/preflight.d.ts +25 -0
  53. package/dist/core/revert-mapper.d.ts +74 -0
  54. package/dist/core/telemetry.d.ts +50 -0
  55. package/dist/core/types.d.ts +10 -0
  56. package/dist/core/version.d.ts +15 -0
  57. package/dist/core/zama-error-mapper.d.ts +27 -0
  58. package/dist/fhe/acl.d.ts +73 -0
  59. package/dist/fhe/erc7984-abi.d.ts +53 -0
  60. package/dist/fhe/index.cjs +599 -0
  61. package/dist/fhe/index.d.cts +11 -0
  62. package/dist/fhe/index.d.ts +11 -0
  63. package/dist/fhe/index.js +394 -0
  64. package/dist/fhe/mock-encryptor.d.ts +90 -0
  65. package/dist/fhe/mock-erc7984.d.ts +134 -0
  66. package/dist/fhe/operators.d.ts +190 -0
  67. package/dist/fhe/react/index.cjs +102 -0
  68. package/dist/fhe/react/index.d.cts +10 -0
  69. package/dist/fhe/react/index.d.ts +10 -0
  70. package/dist/fhe/react/index.js +85 -0
  71. package/dist/fhe/react/use-decrypted-handle.d.ts +102 -0
  72. package/dist/fhe/scale-ratio.d.ts +168 -0
  73. package/dist/fhe/sepolia-encryptor-web.d.ts +101 -0
  74. package/dist/fhe/sepolia-encryptor.d.ts +132 -0
  75. package/dist/fhe/types.d.ts +62 -0
  76. package/dist/fhe-airdrop/abis/cloneable.d.ts +781 -0
  77. package/dist/fhe-airdrop/abis/factory.d.ts +714 -0
  78. package/dist/fhe-airdrop/abis/index.d.ts +2 -0
  79. package/dist/fhe-airdrop/advanced/factory-advanced.d.ts +53 -0
  80. package/dist/fhe-airdrop/advanced/index.cjs +21 -0
  81. package/dist/fhe-airdrop/advanced/index.d.cts +13 -0
  82. package/dist/fhe-airdrop/advanced/index.d.ts +13 -0
  83. package/dist/fhe-airdrop/advanced/index.js +8 -0
  84. package/dist/fhe-airdrop/advanced/react/index.cjs +61 -0
  85. package/dist/fhe-airdrop/advanced/react/index.d.cts +5 -0
  86. package/dist/fhe-airdrop/advanced/react/index.d.ts +5 -0
  87. package/dist/fhe-airdrop/advanced/react/index.js +59 -0
  88. package/dist/fhe-airdrop/advanced/react/usePredictAirdropAddress.d.ts +49 -0
  89. package/dist/fhe-airdrop/airdrop.d.ts +308 -0
  90. package/dist/fhe-airdrop/encryption.d.ts +109 -0
  91. package/dist/fhe-airdrop/errors.d.ts +60 -0
  92. package/dist/fhe-airdrop/factory.d.ts +281 -0
  93. package/dist/fhe-airdrop/index.cjs +227 -0
  94. package/dist/fhe-airdrop/index.d.cts +10 -0
  95. package/dist/fhe-airdrop/index.d.ts +10 -0
  96. package/dist/fhe-airdrop/index.js +10 -0
  97. package/dist/fhe-airdrop/react/_shared.d.ts +107 -0
  98. package/dist/fhe-airdrop/react/index.cjs +638 -0
  99. package/dist/fhe-airdrop/react/index.d.cts +90 -0
  100. package/dist/fhe-airdrop/react/index.d.ts +90 -0
  101. package/dist/fhe-airdrop/react/index.js +430 -0
  102. package/dist/fhe-airdrop/react/useAccessClaimAmount.d.ts +31 -0
  103. package/dist/fhe-airdrop/react/useAirdropCanExtendClaimWindow.d.ts +7 -0
  104. package/dist/fhe-airdrop/react/useAirdropClaim.d.ts +25 -0
  105. package/dist/fhe-airdrop/react/useAirdropClaimTypehash.d.ts +10 -0
  106. package/dist/fhe-airdrop/react/useAirdropClaimedSignatures.d.ts +16 -0
  107. package/dist/fhe-airdrop/react/useAirdropDeploymentBlockNumber.d.ts +6 -0
  108. package/dist/fhe-airdrop/react/useAirdropDomainSeparator.d.ts +8 -0
  109. package/dist/fhe-airdrop/react/useAirdropEndTime.d.ts +10 -0
  110. package/dist/fhe-airdrop/react/useAirdropFactoryCustomFee.d.ts +17 -0
  111. package/dist/fhe-airdrop/react/useAirdropFactoryDefaultGasFee.d.ts +10 -0
  112. package/dist/fhe-airdrop/react/useAirdropFactoryDisableCustomFee.d.ts +15 -0
  113. package/dist/fhe-airdrop/react/useAirdropFactoryFeeCollector.d.ts +11 -0
  114. package/dist/fhe-airdrop/react/useAirdropFactoryInitCodeHash.d.ts +17 -0
  115. package/dist/fhe-airdrop/react/useAirdropFactorySetCustomFee.d.ts +17 -0
  116. package/dist/fhe-airdrop/react/useAirdropFactorySetDefaultGasFee.d.ts +16 -0
  117. package/dist/fhe-airdrop/react/useAirdropFactorySetFeeCollector.d.ts +15 -0
  118. package/dist/fhe-airdrop/react/useAirdropGasFee.d.ts +11 -0
  119. package/dist/fhe-airdrop/react/useAirdropGrantRole.d.ts +16 -0
  120. package/dist/fhe-airdrop/react/useAirdropHasClaimEnded.d.ts +7 -0
  121. package/dist/fhe-airdrop/react/useAirdropHasClaimStarted.d.ts +7 -0
  122. package/dist/fhe-airdrop/react/useAirdropHasRole.d.ts +14 -0
  123. package/dist/fhe-airdrop/react/useAirdropIsClaimWindowActive.d.ts +9 -0
  124. package/dist/fhe-airdrop/react/useAirdropIsPaused.d.ts +8 -0
  125. package/dist/fhe-airdrop/react/useAirdropIsSignatureClaimed.d.ts +22 -0
  126. package/dist/fhe-airdrop/react/useAirdropIsSignatureValid.d.ts +50 -0
  127. package/dist/fhe-airdrop/react/useAirdropRevokeRole.d.ts +15 -0
  128. package/dist/fhe-airdrop/react/useAirdropStartTime.d.ts +10 -0
  129. package/dist/fhe-airdrop/react/useAirdropToken.d.ts +11 -0
  130. package/dist/fhe-airdrop/react/useAirdropWithdrawGasFee.d.ts +15 -0
  131. package/dist/fhe-airdrop/react/useAirdropWithdrawOtherConfidentialToken.d.ts +14 -0
  132. package/dist/fhe-airdrop/react/useAirdropWithdrawOtherToken.d.ts +14 -0
  133. package/dist/fhe-airdrop/react/useClaim.d.ts +29 -0
  134. package/dist/fhe-airdrop/react/useConfidentialAirdropFactoryImplementation.d.ts +11 -0
  135. package/dist/fhe-airdrop/react/useCreateAndFundConfidentialAirdrop.d.ts +33 -0
  136. package/dist/fhe-airdrop/react/useCreateAndFundConfidentialAirdropAndGetAddress.d.ts +40 -0
  137. package/dist/fhe-airdrop/react/useCreateConfidentialAirdrop.d.ts +29 -0
  138. package/dist/fhe-airdrop/react/useCreateConfidentialAirdropAndGetAddress.d.ts +31 -0
  139. package/dist/fhe-airdrop/react/useDisableCustomFee.d.ts +14 -0
  140. package/dist/fhe-airdrop/react/useExtendClaimWindow.d.ts +16 -0
  141. package/dist/fhe-airdrop/react/useFactoryCustomFee.d.ts +17 -0
  142. package/dist/fhe-airdrop/react/useFactoryDefaultGasFee.d.ts +10 -0
  143. package/dist/fhe-airdrop/react/useFactoryFeeCollector.d.ts +11 -0
  144. package/dist/fhe-airdrop/react/useFactoryInitCodeHash.d.ts +17 -0
  145. package/dist/fhe-airdrop/react/useFundConfidentialAirdrop.d.ts +25 -0
  146. package/dist/fhe-airdrop/react/useGetClaimAmount.d.ts +30 -0
  147. package/dist/fhe-airdrop/react/useSetCustomFee.d.ts +16 -0
  148. package/dist/fhe-airdrop/react/useSetDefaultGasFee.d.ts +15 -0
  149. package/dist/fhe-airdrop/react/useSetFeeCollector.d.ts +14 -0
  150. package/dist/fhe-airdrop/react/useSetPaused.d.ts +14 -0
  151. package/dist/fhe-airdrop/react/useSignClaimAuthorization.d.ts +31 -0
  152. package/dist/fhe-airdrop/react/useWithdraw.d.ts +12 -0
  153. package/dist/fhe-airdrop/react/useWithdrawOtherConfidentialToken.d.ts +13 -0
  154. package/dist/fhe-airdrop/react/useWithdrawOtherToken.d.ts +13 -0
  155. package/dist/fhe-airdrop/types.d.ts +21 -0
  156. package/dist/fhe-disperse/abis/index.d.ts +2 -0
  157. package/dist/fhe-disperse/abis/singleton.d.ts +1297 -0
  158. package/dist/fhe-disperse/abis/wallet.d.ts +111 -0
  159. package/dist/fhe-disperse/encryption.d.ts +77 -0
  160. package/dist/fhe-disperse/errors.d.ts +39 -0
  161. package/dist/fhe-disperse/index.cjs +248 -0
  162. package/dist/fhe-disperse/index.d.cts +14 -0
  163. package/dist/fhe-disperse/index.d.ts +14 -0
  164. package/dist/fhe-disperse/index.js +11 -0
  165. package/dist/fhe-disperse/react/_shared.d.ts +104 -0
  166. package/dist/fhe-disperse/react/index.cjs +752 -0
  167. package/dist/fhe-disperse/react/index.d.cts +82 -0
  168. package/dist/fhe-disperse/react/index.d.ts +82 -0
  169. package/dist/fhe-disperse/react/index.js +522 -0
  170. package/dist/fhe-disperse/react/useAccessEncryptedFeeReserve.d.ts +35 -0
  171. package/dist/fhe-disperse/react/useApproveTokenOnWallets.d.ts +25 -0
  172. package/dist/fhe-disperse/react/useBatchDiscloseHandlesToParty.d.ts +16 -0
  173. package/dist/fhe-disperse/react/useCalculateFee.d.ts +26 -0
  174. package/dist/fhe-disperse/react/useDeploymentBlockNumber.d.ts +11 -0
  175. package/dist/fhe-disperse/react/useDisableCustomFee.d.ts +20 -0
  176. package/dist/fhe-disperse/react/useDiscloseHandleToParty.d.ts +20 -0
  177. package/dist/fhe-disperse/react/useDisperse.d.ts +28 -0
  178. package/dist/fhe-disperse/react/useGetBatchLimits.d.ts +12 -0
  179. package/dist/fhe-disperse/react/useGetFeeConfig.d.ts +15 -0
  180. package/dist/fhe-disperse/react/useGetFees.d.ts +19 -0
  181. package/dist/fhe-disperse/react/useGetWallets.d.ts +19 -0
  182. package/dist/fhe-disperse/react/useGrantRole.d.ts +24 -0
  183. package/dist/fhe-disperse/react/useHasApprovedSubwallets.d.ts +25 -0
  184. package/dist/fhe-disperse/react/useHasRole.d.ts +22 -0
  185. package/dist/fhe-disperse/react/useIsPaused.d.ts +11 -0
  186. package/dist/fhe-disperse/react/useIsRegistered.d.ts +15 -0
  187. package/dist/fhe-disperse/react/usePause.d.ts +18 -0
  188. package/dist/fhe-disperse/react/usePredictWallets.d.ts +19 -0
  189. package/dist/fhe-disperse/react/usePreflightDisperse.d.ts +37 -0
  190. package/dist/fhe-disperse/react/useRecoverERC20FromWallets.d.ts +21 -0
  191. package/dist/fhe-disperse/react/useRecoverFromWallets.d.ts +21 -0
  192. package/dist/fhe-disperse/react/useRegister.d.ts +40 -0
  193. package/dist/fhe-disperse/react/useRescueConfidentialTokens.d.ts +21 -0
  194. package/dist/fhe-disperse/react/useRescueERC20.d.ts +21 -0
  195. package/dist/fhe-disperse/react/useRevokeRole.d.ts +24 -0
  196. package/dist/fhe-disperse/react/useRevokeTokenOnWallets.d.ts +24 -0
  197. package/dist/fhe-disperse/react/useSetCustomFee.d.ts +24 -0
  198. package/dist/fhe-disperse/react/useSetFeeConfig.d.ts +23 -0
  199. package/dist/fhe-disperse/react/useSetMaxBatchSizeDirect.d.ts +20 -0
  200. package/dist/fhe-disperse/react/useSetMaxBatchSizeHolding.d.ts +20 -0
  201. package/dist/fhe-disperse/react/useSetMaxBatchSizeTokenFee.d.ts +20 -0
  202. package/dist/fhe-disperse/react/useSingletonBatchDiscloseHandlesToParty.d.ts +13 -0
  203. package/dist/fhe-disperse/react/useSingletonBatchLimits.d.ts +12 -0
  204. package/dist/fhe-disperse/react/useSingletonCalculateFee.d.ts +26 -0
  205. package/dist/fhe-disperse/react/useSingletonDeploymentBlockNumber.d.ts +11 -0
  206. package/dist/fhe-disperse/react/useSingletonDisableCustomFee.d.ts +21 -0
  207. package/dist/fhe-disperse/react/useSingletonDiscloseHandleToParty.d.ts +17 -0
  208. package/dist/fhe-disperse/react/useSingletonFees.d.ts +19 -0
  209. package/dist/fhe-disperse/react/useSingletonGrantRole.d.ts +26 -0
  210. package/dist/fhe-disperse/react/useSingletonHasApprovedSubwallets.d.ts +25 -0
  211. package/dist/fhe-disperse/react/useSingletonHasRole.d.ts +23 -0
  212. package/dist/fhe-disperse/react/useSingletonIsPaused.d.ts +11 -0
  213. package/dist/fhe-disperse/react/useSingletonIsRegistered.d.ts +15 -0
  214. package/dist/fhe-disperse/react/useSingletonPause.d.ts +19 -0
  215. package/dist/fhe-disperse/react/useSingletonPredictWallets.d.ts +19 -0
  216. package/dist/fhe-disperse/react/useSingletonRevokeRole.d.ts +26 -0
  217. package/dist/fhe-disperse/react/useSingletonSetCustomFee.d.ts +25 -0
  218. package/dist/fhe-disperse/react/useSingletonUnpause.d.ts +18 -0
  219. package/dist/fhe-disperse/react/useSingletonWalletImplementation.d.ts +12 -0
  220. package/dist/fhe-disperse/react/useSingletonWallets.d.ts +19 -0
  221. package/dist/fhe-disperse/react/useSingletonWithdrawGasFee.d.ts +21 -0
  222. package/dist/fhe-disperse/react/useSingletonWithdrawTokenFee.d.ts +50 -0
  223. package/dist/fhe-disperse/react/useUnpause.d.ts +17 -0
  224. package/dist/fhe-disperse/react/useWalletImplementation.d.ts +12 -0
  225. package/dist/fhe-disperse/react/useWithdrawGasFee.d.ts +26 -0
  226. package/dist/fhe-disperse/react/useWithdrawTokenFee.d.ts +70 -0
  227. package/dist/fhe-disperse/singleton.d.ts +442 -0
  228. package/dist/fhe-disperse/subtotals.d.ts +14 -0
  229. package/dist/fhe-disperse/types.d.ts +332 -0
  230. package/dist/fhe-disperse/validate.d.ts +78 -0
  231. package/dist/fhe-vesting/abis/factory.d.ts +676 -0
  232. package/dist/fhe-vesting/abis/index.d.ts +3 -0
  233. package/dist/fhe-vesting/abis/manager.d.ts +1797 -0
  234. package/dist/fhe-vesting/advanced/factory-advanced.d.ts +52 -0
  235. package/dist/fhe-vesting/advanced/index.cjs +21 -0
  236. package/dist/fhe-vesting/advanced/index.d.cts +12 -0
  237. package/dist/fhe-vesting/advanced/index.d.ts +12 -0
  238. package/dist/fhe-vesting/advanced/index.js +8 -0
  239. package/dist/fhe-vesting/advanced/react/index.cjs +75 -0
  240. package/dist/fhe-vesting/advanced/react/index.d.cts +5 -0
  241. package/dist/fhe-vesting/advanced/react/index.d.ts +5 -0
  242. package/dist/fhe-vesting/advanced/react/index.js +73 -0
  243. package/dist/fhe-vesting/advanced/react/usePredictManagerAddress.d.ts +41 -0
  244. package/dist/fhe-vesting/encryption.d.ts +104 -0
  245. package/dist/fhe-vesting/errors.d.ts +183 -0
  246. package/dist/fhe-vesting/factory.d.ts +207 -0
  247. package/dist/fhe-vesting/index.cjs +269 -0
  248. package/dist/fhe-vesting/index.d.cts +9 -0
  249. package/dist/fhe-vesting/index.d.ts +9 -0
  250. package/dist/fhe-vesting/index.js +12 -0
  251. package/dist/fhe-vesting/manager.d.ts +808 -0
  252. package/dist/fhe-vesting/react/_shared.d.ts +122 -0
  253. package/dist/fhe-vesting/react/index.cjs +1054 -0
  254. package/dist/fhe-vesting/react/index.d.cts +123 -0
  255. package/dist/fhe-vesting/react/index.d.ts +123 -0
  256. package/dist/fhe-vesting/react/index.js +771 -0
  257. package/dist/fhe-vesting/react/useAcceptVestingTransfer.d.ts +12 -0
  258. package/dist/fhe-vesting/react/useAccessClaimableAmount.d.ts +14 -0
  259. package/dist/fhe-vesting/react/useAccessSettledAmount.d.ts +15 -0
  260. package/dist/fhe-vesting/react/useAccessTotalAllocation.d.ts +14 -0
  261. package/dist/fhe-vesting/react/useAccessVestedAmount.d.ts +26 -0
  262. package/dist/fhe-vesting/react/useAdminBatchDiscloseToParty.d.ts +16 -0
  263. package/dist/fhe-vesting/react/useAdminClaim.d.ts +9 -0
  264. package/dist/fhe-vesting/react/useAdminDiscloseToParty.d.ts +8 -0
  265. package/dist/fhe-vesting/react/useAdminGetClaimableAmount.d.ts +13 -0
  266. package/dist/fhe-vesting/react/useAdminGetSettledAmount.d.ts +13 -0
  267. package/dist/fhe-vesting/react/useAdminGetTokenBalance.d.ts +13 -0
  268. package/dist/fhe-vesting/react/useAdminGetTotalAllocation.d.ts +13 -0
  269. package/dist/fhe-vesting/react/useAdminGetVestedAmount.d.ts +15 -0
  270. package/dist/fhe-vesting/react/useAdminPartialClaim.d.ts +8 -0
  271. package/dist/fhe-vesting/react/useAllRecipients.d.ts +8 -0
  272. package/dist/fhe-vesting/react/useAllRecipientsLength.d.ts +6 -0
  273. package/dist/fhe-vesting/react/useAllRecipientsSliced.d.ts +13 -0
  274. package/dist/fhe-vesting/react/useBatchCreateVesting.d.ts +24 -0
  275. package/dist/fhe-vesting/react/useBatchDiscloseHandlesToParty.d.ts +13 -0
  276. package/dist/fhe-vesting/react/useBatchDiscloseToParty.d.ts +18 -0
  277. package/dist/fhe-vesting/react/useBatchRevokeVesting.d.ts +12 -0
  278. package/dist/fhe-vesting/react/useCancelVestingTransfer.d.ts +12 -0
  279. package/dist/fhe-vesting/react/useClaim.d.ts +19 -0
  280. package/dist/fhe-vesting/react/useConfidentialVestingFactoryImplementation.d.ts +11 -0
  281. package/dist/fhe-vesting/react/useCreateManager.d.ts +32 -0
  282. package/dist/fhe-vesting/react/useCreateManagerAndGetAddress.d.ts +31 -0
  283. package/dist/fhe-vesting/react/useCreateVesting.d.ts +38 -0
  284. package/dist/fhe-vesting/react/useDirectVestingTransfer.d.ts +13 -0
  285. package/dist/fhe-vesting/react/useDisableCustomFee.d.ts +14 -0
  286. package/dist/fhe-vesting/react/useDiscloseHandleToParty.d.ts +14 -0
  287. package/dist/fhe-vesting/react/useDiscloseToParty.d.ts +14 -0
  288. package/dist/fhe-vesting/react/useFactoryCustomFee.d.ts +17 -0
  289. package/dist/fhe-vesting/react/useFactoryDefaultFeeType.d.ts +11 -0
  290. package/dist/fhe-vesting/react/useFactoryDefaultGasFee.d.ts +10 -0
  291. package/dist/fhe-vesting/react/useFactoryDefaultTokenFee.d.ts +10 -0
  292. package/dist/fhe-vesting/react/useFactoryFeeCollector.d.ts +10 -0
  293. package/dist/fhe-vesting/react/useFactoryInitCodeHash.d.ts +18 -0
  294. package/dist/fhe-vesting/react/useGetClaimableAmount.d.ts +13 -0
  295. package/dist/fhe-vesting/react/useGetSettledAmount.d.ts +14 -0
  296. package/dist/fhe-vesting/react/useGetTotalAllocation.d.ts +13 -0
  297. package/dist/fhe-vesting/react/useGetVestedAmount.d.ts +25 -0
  298. package/dist/fhe-vesting/react/useGrantRole.d.ts +15 -0
  299. package/dist/fhe-vesting/react/useHasRole.d.ts +14 -0
  300. package/dist/fhe-vesting/react/useInitiateVestingTransfer.d.ts +12 -0
  301. package/dist/fhe-vesting/react/useIsRecipient.d.ts +10 -0
  302. package/dist/fhe-vesting/react/useManagerBatchDiscloseHandlesToParty.d.ts +15 -0
  303. package/dist/fhe-vesting/react/useManagerDeploymentBlockNumber.d.ts +7 -0
  304. package/dist/fhe-vesting/react/useManagerDiscloseHandleToParty.d.ts +16 -0
  305. package/dist/fhe-vesting/react/useManagerFactoryCustomFee.d.ts +17 -0
  306. package/dist/fhe-vesting/react/useManagerFactoryDefaultGasFee.d.ts +10 -0
  307. package/dist/fhe-vesting/react/useManagerFactoryDisableCustomFee.d.ts +15 -0
  308. package/dist/fhe-vesting/react/useManagerFactoryFeeCollector.d.ts +10 -0
  309. package/dist/fhe-vesting/react/useManagerFactoryInitCodeHash.d.ts +18 -0
  310. package/dist/fhe-vesting/react/useManagerFactorySetCustomFee.d.ts +19 -0
  311. package/dist/fhe-vesting/react/useManagerFactorySetDefaultGasFee.d.ts +13 -0
  312. package/dist/fhe-vesting/react/useManagerFactorySetFeeCollector.d.ts +14 -0
  313. package/dist/fhe-vesting/react/useManagerFee.d.ts +7 -0
  314. package/dist/fhe-vesting/react/useManagerFeeInfo.d.ts +18 -0
  315. package/dist/fhe-vesting/react/useManagerFeeType.d.ts +7 -0
  316. package/dist/fhe-vesting/react/useManagerGrantRole.d.ts +17 -0
  317. package/dist/fhe-vesting/react/useManagerHasRole.d.ts +15 -0
  318. package/dist/fhe-vesting/react/useManagerIsPausable.d.ts +6 -0
  319. package/dist/fhe-vesting/react/useManagerIsSplitEnabled.d.ts +6 -0
  320. package/dist/fhe-vesting/react/useManagerMaxBatchSize.d.ts +6 -0
  321. package/dist/fhe-vesting/react/useManagerMaxRevokeBatchSize.d.ts +6 -0
  322. package/dist/fhe-vesting/react/useManagerPause.d.ts +13 -0
  323. package/dist/fhe-vesting/react/useManagerPaused.d.ts +6 -0
  324. package/dist/fhe-vesting/react/useManagerRevokeRole.d.ts +17 -0
  325. package/dist/fhe-vesting/react/useManagerToken.d.ts +11 -0
  326. package/dist/fhe-vesting/react/useManagerUnpause.d.ts +12 -0
  327. package/dist/fhe-vesting/react/useManagerWithdrawGasFee.d.ts +14 -0
  328. package/dist/fhe-vesting/react/useManagerWithdrawOtherConfidentialToken.d.ts +14 -0
  329. package/dist/fhe-vesting/react/useManagerWithdrawOtherToken.d.ts +14 -0
  330. package/dist/fhe-vesting/react/useManagerWithdrawTokenFee.d.ts +11 -0
  331. package/dist/fhe-vesting/react/usePartialClaim.d.ts +15 -0
  332. package/dist/fhe-vesting/react/usePause.d.ts +12 -0
  333. package/dist/fhe-vesting/react/usePendingVestingTransfer.d.ts +20 -0
  334. package/dist/fhe-vesting/react/useRecipientVestings.d.ts +11 -0
  335. package/dist/fhe-vesting/react/useRecipientVestingsLength.d.ts +10 -0
  336. package/dist/fhe-vesting/react/useRecipientVestingsSliced.d.ts +12 -0
  337. package/dist/fhe-vesting/react/useRenounceRole.d.ts +16 -0
  338. package/dist/fhe-vesting/react/useResetGasFee.d.ts +10 -0
  339. package/dist/fhe-vesting/react/useResetTokenFee.d.ts +10 -0
  340. package/dist/fhe-vesting/react/useRevokeRole.d.ts +15 -0
  341. package/dist/fhe-vesting/react/useRevokeVesting.d.ts +15 -0
  342. package/dist/fhe-vesting/react/useRoleConstants.d.ts +19 -0
  343. package/dist/fhe-vesting/react/useSetCustomFee.d.ts +18 -0
  344. package/dist/fhe-vesting/react/useSetDefaultFeeType.d.ts +14 -0
  345. package/dist/fhe-vesting/react/useSetDefaultGasFee.d.ts +12 -0
  346. package/dist/fhe-vesting/react/useSetDefaultTokenFee.d.ts +13 -0
  347. package/dist/fhe-vesting/react/useSetFeeCollector.d.ts +13 -0
  348. package/dist/fhe-vesting/react/useSetMaxBatchSize.d.ts +12 -0
  349. package/dist/fhe-vesting/react/useSetMaxRevokeBatchSize.d.ts +12 -0
  350. package/dist/fhe-vesting/react/useSplitVesting.d.ts +28 -0
  351. package/dist/fhe-vesting/react/useTransferFeeCollectorRole.d.ts +12 -0
  352. package/dist/fhe-vesting/react/useUnpause.d.ts +11 -0
  353. package/dist/fhe-vesting/react/useVestingClaim.d.ts +19 -0
  354. package/dist/fhe-vesting/react/useVestingInfo.d.ts +25 -0
  355. package/dist/fhe-vesting/react/useWithdrawAdmin.d.ts +17 -0
  356. package/dist/fhe-vesting/react/useWithdrawGasFee.d.ts +13 -0
  357. package/dist/fhe-vesting/react/useWithdrawOtherConfidentialToken.d.ts +13 -0
  358. package/dist/fhe-vesting/react/useWithdrawOtherToken.d.ts +13 -0
  359. package/dist/fhe-vesting/react/useWithdrawTokenFee.d.ts +18 -0
  360. package/dist/fhe-vesting/types.d.ts +72 -0
  361. package/dist/index.cjs +237 -0
  362. package/dist/index.d.cts +3 -0
  363. package/dist/index.d.ts +3 -0
  364. package/dist/index.js +14 -0
  365. package/dist/telemetry/console.d.ts +29 -0
  366. package/dist/telemetry/index.cjs +113 -0
  367. package/dist/telemetry/index.d.cts +3 -0
  368. package/dist/telemetry/index.d.ts +3 -0
  369. package/dist/telemetry/index.js +102 -0
  370. package/dist/telemetry/tokenops.d.ts +15 -0
  371. package/package.json +316 -0
@@ -0,0 +1,109 @@
1
+ import type { Address, WalletClient } from "viem";
2
+ import { type EncryptedHandle, type Signature } from "../core/brands.js";
3
+ import type { EncryptedInput, EncryptedInputs } from "./types.js";
4
+ /**
5
+ * FHE input values, discriminated by ciphertext type. Mirrors the shape of
6
+ * `EncryptInput` from `@zama-fhe/sdk` so that a `RelayerWeb` / `RelayerNode`
7
+ * / `MockFhevmInstance` instance is structurally assignable to {@link Encryptor}
8
+ * without casting.
9
+ */
10
+ export type FheValueInput = {
11
+ value: boolean | bigint;
12
+ type: "ebool";
13
+ } | {
14
+ value: Address;
15
+ type: "eaddress";
16
+ } | {
17
+ value: bigint;
18
+ type: "euint8" | "euint16" | "euint32" | "euint64" | "euint128" | "euint160" | "euint256" | "ebytes64" | "ebytes128" | "ebytes256";
19
+ };
20
+ /**
21
+ * Subset of `@zama-fhe/sdk` `RelayerSDK` we depend on. Declared structurally so
22
+ * consumers can pass any v3 RelayerSDK without us importing the optional peer dep.
23
+ */
24
+ export interface Encryptor {
25
+ encrypt(params: {
26
+ values: FheValueInput[];
27
+ contractAddress: Address;
28
+ userAddress: Address;
29
+ }): Promise<{
30
+ handles: Uint8Array[];
31
+ inputProof: Uint8Array;
32
+ }>;
33
+ }
34
+ /**
35
+ * Eager or lazy {@link Encryptor} reference. Lazy form for React/Vue/signals
36
+ * hosts where the encryptor lifetime doesn't match the client's.
37
+ */
38
+ export type EncryptorSource = Encryptor | (() => Encryptor | undefined);
39
+ /**
40
+ * Normalize an {@link EncryptorSource} to the underlying {@link Encryptor}, invoking the factory if lazy.
41
+ *
42
+ * @param source Eager encryptor instance or a lazy factory that returns one.
43
+ * @returns The resolved {@link Encryptor}, or `undefined` if `source` is `undefined` or the factory returned `undefined`.
44
+ * @example
45
+ * // Server / test — eager instance
46
+ * const encryptor = new RelayerNode({ transports: { ... }, getChainId: async () => sepolia.id });
47
+ * const resolved = resolveEncryptor(encryptor); // returns encryptor directly
48
+ *
49
+ * // React — lazy factory picks up the live ZamaSDK context
50
+ * const zamaSDK = useZamaSDK();
51
+ * const resolved = resolveEncryptor(() => zamaSDK.relayer);
52
+ */
53
+ export declare function resolveEncryptor(source: EncryptorSource | undefined): Encryptor | undefined;
54
+ export interface EncryptUint64Args {
55
+ encryptor: Encryptor;
56
+ contractAddress: Address;
57
+ userAddress: Address;
58
+ value: bigint;
59
+ }
60
+ export interface EncryptUint64BatchArgs {
61
+ encryptor: Encryptor;
62
+ contractAddress: Address;
63
+ userAddress: Address;
64
+ values: bigint[];
65
+ }
66
+ /**
67
+ * Encrypt a single `uint64` value into an `externalEuint64` handle + KMS input proof.
68
+ *
69
+ * The handle and proof are bound to `contractAddress` and `userAddress` — they
70
+ * cannot be replayed against a different contract or sender. For airdrops the
71
+ * `userAddress` MUST be the **recipient** (not the admin), because the contract's
72
+ * `FHE.fromExternal` rejects proofs bound to any other address.
73
+ *
74
+ * @param args Encryption request; `value` must fit in `uint64` (0 to 2^64-1).
75
+ * @returns `{ handle: Hex, inputProof: Hex }` — pass both to the contract.
76
+ * @example
77
+ * const encrypted = await encryptUint64({
78
+ * encryptor,
79
+ * contractAddress: airdropAddress,
80
+ * userAddress: recipientAddress, // must be the recipient, not the admin
81
+ * value: 1_000_000n, // raw token units; ERC-7984 uses 6 decimals
82
+ * });
83
+ * const signature = await signClaimAuthorization({
84
+ * walletClient,
85
+ * airdropAddress,
86
+ * recipient: recipientAddress,
87
+ * encryptedAmountHandle: encrypted.handle,
88
+ * });
89
+ */
90
+ export declare function encryptUint64({ encryptor, contractAddress, userAddress, value, }: EncryptUint64Args): Promise<EncryptedInput>;
91
+ /**
92
+ * Encrypt N `uint64` values into N handles bound by a single input proof.
93
+ */
94
+ export declare function encryptUint64Batch({ encryptor, contractAddress, userAddress, values, }: EncryptUint64BatchArgs): Promise<EncryptedInputs>;
95
+ /**
96
+ * Build an EIP712 signature for a `Claim(address recipient, bytes32 encryptedAmount)` struct.
97
+ *
98
+ * The admin calls this to sign a claim authorisation. The resulting `signature`
99
+ * is passed by the recipient to `claim()` or `getClaimAmount()`.
100
+ *
101
+ * @param args Claim signing request. `walletClient` must sign with DEFAULT_ADMIN_ROLE on the airdrop clone.
102
+ * @returns `0x`-prefixed ECDSA signature bytes.
103
+ */
104
+ export declare function signClaimAuthorization(args: {
105
+ walletClient: WalletClient;
106
+ airdropAddress: Address;
107
+ recipient: Address;
108
+ encryptedAmountHandle: EncryptedHandle;
109
+ }): Promise<Signature>;
@@ -0,0 +1,60 @@
1
+ import type { Address } from "viem";
2
+ import { TokenOpsSdkError } from "../core/errors.js";
3
+ /**
4
+ * The admin-signed claim signature has already been used. Airdrops use a
5
+ * per-signature replay guard (`claimedSignatures[structHash]`); each signed
6
+ * `(recipient, encryptedAmount)` pair is single-use.
7
+ */
8
+ export declare class AlreadyClaimedError extends TokenOpsSdkError {
9
+ readonly name = "AlreadyClaimedError";
10
+ readonly context: {
11
+ method: string;
12
+ contractAddress: Address;
13
+ caller?: Address;
14
+ };
15
+ constructor(args: {
16
+ method: string;
17
+ contractAddress: Address;
18
+ caller?: Address;
19
+ cause?: unknown;
20
+ });
21
+ }
22
+ /**
23
+ * The airdrop's claim window has not opened yet. `startsAt` is populated
24
+ * when the SDK has read the immutable start time; UIs can render a countdown.
25
+ */
26
+ export declare class ClaimNotStartedError extends TokenOpsSdkError {
27
+ readonly name = "ClaimNotStartedError";
28
+ readonly context: {
29
+ method: string;
30
+ contractAddress: Address;
31
+ /** Unix seconds. Multiply by 1000 for `new Date(...)`. */
32
+ startsAt?: number;
33
+ };
34
+ constructor(args: {
35
+ method: string;
36
+ contractAddress: Address;
37
+ startsAt?: number;
38
+ cause?: unknown;
39
+ });
40
+ }
41
+ /**
42
+ * The airdrop's claim window has closed. `endedAt` is populated when the SDK
43
+ * has read the current end time. For airdrops with `CAN_EXTEND_CLAIM_WINDOW`
44
+ * set, the admin can extend via `extendClaimWindow`.
45
+ */
46
+ export declare class ClaimWindowClosedError extends TokenOpsSdkError {
47
+ readonly name = "ClaimWindowClosedError";
48
+ readonly context: {
49
+ method: string;
50
+ contractAddress: Address;
51
+ /** Unix seconds. Multiply by 1000 for `new Date(...)`. */
52
+ endedAt?: number;
53
+ };
54
+ constructor(args: {
55
+ method: string;
56
+ contractAddress: Address;
57
+ endedAt?: number;
58
+ cause?: unknown;
59
+ });
60
+ }
@@ -0,0 +1,281 @@
1
+ import type { Account, Address, Hex, PublicClient, WalletClient } from "viem";
2
+ import { type TxHash } from "../core/brands.js";
3
+ import { type SdkTelemetry } from "../core/telemetry.js";
4
+ import { type Encryptor, type EncryptorSource } from "./encryption.js";
5
+ import type { AirdropParams, CustomFee, EncryptedInput } from "./types.js";
6
+ export interface ConfidentialAirdropFactoryClientConfig {
7
+ publicClient: PublicClient;
8
+ walletClient?: WalletClient;
9
+ /** Override the on-chain factory address. Falls back to `getFheAirdropFactoryAddress(chainId)`. */
10
+ address?: Address;
11
+ /** Explicit chain id used to look up the default factory address. Defaults to `publicClient.chain?.id`. */
12
+ chainId?: number | undefined;
13
+ /**
14
+ * Default encryptor used by fund methods. Optional at construction time but
15
+ * required at call time for `createAndFundConfidentialAirdrop` and `fundConfidentialAirdrop`.
16
+ */
17
+ encryptor?: EncryptorSource | undefined;
18
+ /**
19
+ * Optional telemetry sink. When provided, the SDK emits a `fhe-airdrop.client.init`
20
+ * event on construction and brackets public write methods with named spans
21
+ * (`fhe-airdrop.factory.createConfidentialAirdrop`, `…createAndFundConfidentialAirdrop`, …).
22
+ * Defaults to a no-op — zero overhead, zero leakage of consumer-side identifiers.
23
+ *
24
+ * The shape is structurally compatible with `NoopTelemetry` / `ConsoleTelemetry` /
25
+ * `TokenOpsTelemetry` exported from `@tokenops/sdk/telemetry`.
26
+ */
27
+ telemetry?: SdkTelemetry | undefined;
28
+ }
29
+ export interface CreateAirdropArgs {
30
+ params: AirdropParams;
31
+ /** Any unique 32-byte salt. Combined with msg.sender to derive the CREATE2 salt. */
32
+ userSalt: Hex;
33
+ account?: Account | Address | undefined;
34
+ }
35
+ /** Common fields for {@link CreateAndFundAirdropArgs} — discriminated below. */
36
+ interface CreateAndFundAirdropArgsCommon {
37
+ params: AirdropParams;
38
+ userSalt: Hex;
39
+ /**
40
+ * Plaintext token amount. The SDK encrypts via `encryptor`. Mutually
41
+ * exclusive with `encryptedInput` — supply exactly one.
42
+ */
43
+ amount?: bigint;
44
+ encryptor?: Encryptor;
45
+ /** Pre-encrypted input — mutually exclusive with `amount`. */
46
+ encryptedInput?: EncryptedInput;
47
+ account?: Account | Address;
48
+ }
49
+ /**
50
+ * Discriminated union: provide EITHER an encryptor (the SDK encrypts `amount`)
51
+ * OR a pre-built `encryptedInput`. Passing both is a compile error.
52
+ */
53
+ export type CreateAndFundAirdropArgs = (CreateAndFundAirdropArgsCommon & {
54
+ /** Plaintext token amount. The SDK encrypts via `encryptor`. */
55
+ amount: bigint;
56
+ encryptor?: Encryptor | undefined;
57
+ encryptedInput?: never;
58
+ }) | (CreateAndFundAirdropArgsCommon & {
59
+ /** Pre-encrypted input — bypasses `encryptor`. */
60
+ encryptedInput: EncryptedInput;
61
+ amount?: never;
62
+ encryptor?: never;
63
+ });
64
+ /** Common fields for {@link FundAirdropArgs} — discriminated below. */
65
+ interface FundAirdropArgsCommon {
66
+ token: Address;
67
+ params: AirdropParams;
68
+ userSalt: Hex;
69
+ deployer: Address;
70
+ /**
71
+ * Gas fee in wei that was active for the deployer at airdrop creation time.
72
+ * Must match the value used when the clone was created (custom fee if one was
73
+ * set for that deployer, otherwise `defaultGasFee`). Determines the CREATE2
74
+ * salt and the predicted clone address — a mismatch will target the wrong address.
75
+ *
76
+ * Obtain via `factory.getCustomFee(deployer)` or `factory.defaultGasFee()`.
77
+ */
78
+ gasFee: bigint;
79
+ /**
80
+ * Plaintext token amount. The SDK encrypts via `encryptor`. Mutually
81
+ * exclusive with `encryptedInput` — supply exactly one.
82
+ */
83
+ amount?: bigint;
84
+ encryptor?: Encryptor;
85
+ /** Pre-encrypted input — mutually exclusive with `amount`. */
86
+ encryptedInput?: EncryptedInput;
87
+ account?: Account | Address;
88
+ }
89
+ /**
90
+ * Discriminated union: provide EITHER an encryptor (the SDK encrypts `amount`)
91
+ * OR a pre-built `encryptedInput`. Passing both is a compile error.
92
+ */
93
+ export type FundAirdropArgs = (FundAirdropArgsCommon & {
94
+ /** Plaintext token amount. The SDK encrypts via `encryptor`. */
95
+ amount: bigint;
96
+ encryptor?: Encryptor | undefined;
97
+ encryptedInput?: never;
98
+ }) | (FundAirdropArgsCommon & {
99
+ /** Pre-encrypted input — bypasses `encryptor`. */
100
+ encryptedInput: EncryptedInput;
101
+ amount?: never;
102
+ encryptor?: never;
103
+ });
104
+ /**
105
+ * Rich-return shape from {@link ConfidentialAirdropFactoryClient.createConfidentialAirdrop}
106
+ * and {@link ConfidentialAirdropFactoryClient.createAndFundConfidentialAirdrop}.
107
+ *
108
+ * Branded `hash: TxHash` and `airdrop: Address` so consumers can't accidentally
109
+ * swap them at the destructure site (R03 S-1 anti-footgun).
110
+ */
111
+ export interface CreateAirdropResult {
112
+ /** Tx hash that deployed the clone. */
113
+ hash: TxHash;
114
+ /** Address of the deployed clone, parsed from the `ConfidentialAirdropCreated` event. */
115
+ airdrop: Address;
116
+ }
117
+ export interface PredictAirdropArgs {
118
+ params: AirdropParams;
119
+ userSalt: Hex;
120
+ deployer: Address;
121
+ /**
122
+ * Gas fee in wei to embed into the CREATE2 salt computation.
123
+ * Must match the fee that will be (or was) active for `deployer` at deploy time:
124
+ * custom fee if `getCustomFee(deployer).enabled`, otherwise `defaultGasFee`.
125
+ *
126
+ * Passing the wrong value produces a different address than the deployed clone.
127
+ */
128
+ gasFee: bigint;
129
+ }
130
+ /**
131
+ * Typed wrapper around the deployed `ConfidentialAirdropFactory`. Resolves the
132
+ * factory address per chain and encapsulates FHE encryption for fund methods.
133
+ *
134
+ * @example
135
+ * const factory = createConfidentialAirdropFactoryClient({ publicClient, walletClient, encryptor });
136
+ * const hash = await factory.createConfidentialAirdrop({ params, userSalt });
137
+ */
138
+ export declare class ConfidentialAirdropFactoryClient {
139
+ #private;
140
+ readonly publicClient: PublicClient;
141
+ readonly walletClient?: WalletClient;
142
+ readonly address: Address;
143
+ readonly encryptor?: EncryptorSource;
144
+ constructor(config: ConfidentialAirdropFactoryClientConfig);
145
+ /**
146
+ * Deploy a new airdrop clone via the factory and return its address, parsed
147
+ * from the `ConfidentialAirdropCreated` event in the tx receipt.
148
+ *
149
+ * **This is the headline factory entry point.** R02 ADR P-1 collapses the
150
+ * old hash-only + `…AndGetAddress` pair down to one rich-return method —
151
+ * 90 %+ of consumers want the deployed address back, and the SDK already
152
+ * waits + parses the event, so there's no reason to make consumers do it
153
+ * themselves.
154
+ *
155
+ * Internally: `writeContract` → {@link PublicClient.waitForTransactionReceipt} →
156
+ * `parseEventLogs({ eventName: "ConfidentialAirdropCreated" })`.
157
+ *
158
+ * For genuine pre-mine prediction (rare), import
159
+ * `ConfidentialAirdropFactoryAdvancedClient` from
160
+ * `@tokenops/sdk/fhe-airdrop/advanced` and call `predictAirdropAddress`.
161
+ *
162
+ * @example
163
+ * const { hash, airdrop } = await factory.createConfidentialAirdrop({
164
+ * params, userSalt,
165
+ * });
166
+ */
167
+ createConfidentialAirdrop(args: CreateAirdropArgs): Promise<CreateAirdropResult>;
168
+ /**
169
+ * Deploy and fund a new airdrop in a single transaction, and return its
170
+ * address. The SDK encrypts `amount` into an `externalEuint64` before
171
+ * passing to the contract.
172
+ *
173
+ * Prerequisites: caller must have set this factory as an operator on the
174
+ * token: `token.setOperator(factoryAddress, deadline)`.
175
+ *
176
+ * Symmetric with {@link ConfidentialAirdropFactoryClient.createConfidentialAirdrop}
177
+ * — both return `{ hash, airdrop }` parsed from the
178
+ * `ConfidentialAirdropCreated` event (R02 ADR P-1).
179
+ *
180
+ * @example
181
+ * const { hash, airdrop } = await factory.createAndFundConfidentialAirdrop({
182
+ * params, userSalt, amount: 1_000_000n,
183
+ * });
184
+ */
185
+ createAndFundConfidentialAirdrop(args: CreateAndFundAirdropArgs): Promise<CreateAirdropResult>;
186
+ /**
187
+ * Fund an existing (or not-yet-deployed) airdrop with encrypted tokens.
188
+ *
189
+ * Prerequisites: caller must have set this factory as an operator on the token:
190
+ * `token.setOperator(factoryAddress, deadline)`
191
+ *
192
+ * @returns Transaction hash.
193
+ */
194
+ fundConfidentialAirdrop(args: FundAirdropArgs): Promise<Hex>;
195
+ /**
196
+ * Deploy a new airdrop clone and return its address, parsed from the
197
+ * `ConfidentialAirdropCreated` event in the tx receipt.
198
+ *
199
+ * Symmetry helper with the fhe-vesting client. Use this when you want a
200
+ * one-call "deploy and use" shape; otherwise call
201
+ * {@link ConfidentialAirdropFactoryClient.createConfidentialAirdrop} and parse
202
+ * the receipt yourself, or call
203
+ * {@link ConfidentialAirdropFactoryClient.predictAirdropAddress} before mining.
204
+ *
205
+ * Internally: {@link ConfidentialAirdropFactoryClient.createConfidentialAirdrop} →
206
+ * {@link PublicClient.waitForTransactionReceipt} →
207
+ * `parseEventLogs({ eventName: "ConfidentialAirdropCreated" })`.
208
+ *
209
+ * @example
210
+ * const { hash, airdrop } = await factory.createConfidentialAirdropAndGetAddress({
211
+ * params, userSalt,
212
+ * });
213
+ */
214
+ createConfidentialAirdropAndGetAddress(args: CreateAirdropArgs): Promise<CreateAirdropResult>;
215
+ /**
216
+ * Deploy AND fund a new airdrop clone in one tx, returning its address parsed
217
+ * from the `ConfidentialAirdropCreated` event in the receipt.
218
+ *
219
+ * Symmetry with {@link ConfidentialAirdropFactoryClient.createConfidentialAirdropAndGetAddress}
220
+ * — use this when you also need to seed the pool in the same transaction.
221
+ *
222
+ * Internally: {@link ConfidentialAirdropFactoryClient.createAndFundConfidentialAirdrop} →
223
+ * {@link PublicClient.waitForTransactionReceipt} →
224
+ * `parseEventLogs({ eventName: "ConfidentialAirdropCreated" })`.
225
+ *
226
+ * @example
227
+ * const { hash, airdrop } = await factory.createAndFundConfidentialAirdropAndGetAddress({
228
+ * params, userSalt, amount, encryptor,
229
+ * });
230
+ */
231
+ createAndFundConfidentialAirdropAndGetAddress(args: CreateAndFundAirdropArgs): Promise<CreateAirdropResult>;
232
+ /** Change the fee collector address. FEE_MANAGER_ROLE only. */
233
+ setFeeCollector(newFeeCollector: Address, account?: Account | Address): Promise<TxHash>;
234
+ /** Change the default per-claim gas fee in wei. FEE_MANAGER_ROLE only. */
235
+ setDefaultGasFee(newGasFee: bigint, account?: Account | Address): Promise<TxHash>;
236
+ /** Set a per-creator gas fee override. FEE_MANAGER_ROLE only. */
237
+ setCustomFee(campaignCreator: Address, gasFee: bigint, account?: Account | Address): Promise<TxHash>;
238
+ /** Remove a per-creator fee override, reverting to `defaultGasFee`. FEE_MANAGER_ROLE only. */
239
+ disableCustomFee(campaignCreator: Address, account?: Account | Address): Promise<TxHash>;
240
+ /** Current LibClone implementation address. */
241
+ implementation(): Promise<Address>;
242
+ /**
243
+ * Alias for {@link ConfidentialAirdropFactoryClient.implementation} that matches
244
+ * the contract's storage field name (`_airdropImplementation`).
245
+ *
246
+ * Shipped proactively in R17 for parity with `fhe-vesting`'s
247
+ * `managerImplementation()` alias (commit 6f6d7bc, closing
248
+ * backend-integrator-r14 minor). The airdrop factory has the same
249
+ * LibClone shape mirroring `_airdropImplementation` storage, so server
250
+ * devs reading the Solidity first reach for `factory.airdropImplementation()`
251
+ * via autocomplete and would otherwise hit a TS2551 on the SDK's
252
+ * `implementation()` shape. The canonical `implementation()` method is
253
+ * retained for backwards-compat and cross-factory uniformity.
254
+ */
255
+ airdropImplementation(): Promise<Address>;
256
+ /** Default per-claim gas fee in wei. Used when no custom fee is set for the campaign creator. */
257
+ defaultGasFee(): Promise<bigint>;
258
+ /** Address authorized to collect gas fees from airdrop clones. */
259
+ feeCollector(): Promise<Address>;
260
+ /** Per-creator custom fee override. `enabled` is `false` when no override is set. */
261
+ getCustomFee(campaignCreator: Address): Promise<CustomFee>;
262
+ /**
263
+ * Compute the CREATE2 init-code hash for a given set of params and gas fee.
264
+ * Useful for deriving the clone address off-chain. Use `predictAirdropAddress` from
265
+ * `@tokenops/sdk/fhe-airdrop/advanced` for the full address derivation.
266
+ * @param args `{ params, gasFee }` — must match the values used at deploy time.
267
+ * @returns `bytes32` init-code hash.
268
+ */
269
+ getInitCodeHash(args: {
270
+ params: AirdropParams;
271
+ gasFee: bigint;
272
+ }): Promise<Hex>;
273
+ }
274
+ /**
275
+ * Create a {@link ConfidentialAirdropFactoryClient}. Mirrors viem's `create*` convention.
276
+ *
277
+ * @example
278
+ * const factory = createConfidentialAirdropFactoryClient({ publicClient, walletClient, encryptor });
279
+ */
280
+ export declare function createConfidentialAirdropFactoryClient(config: ConfidentialAirdropFactoryClientConfig): ConfidentialAirdropFactoryClient;
281
+ export {};
@@ -0,0 +1,227 @@
1
+ 'use strict';
2
+
3
+ var chunk5SA2HF2W_cjs = require('../chunk-5SA2HF2W.cjs');
4
+ var chunk6ECAHP5O_cjs = require('../chunk-6ECAHP5O.cjs');
5
+ var chunkFWHYQZ5E_cjs = require('../chunk-FWHYQZ5E.cjs');
6
+ require('../chunk-Q7ARQSUH.cjs');
7
+ require('../chunk-VDXVNZCO.cjs');
8
+ require('../chunk-OLDGMKW2.cjs');
9
+ require('../chunk-CQIPRNS7.cjs');
10
+ require('../chunk-VJKZWYYJ.cjs');
11
+ var chunk66IHPTOK_cjs = require('../chunk-66IHPTOK.cjs');
12
+ var chunk56UI7LUR_cjs = require('../chunk-56UI7LUR.cjs');
13
+
14
+
15
+
16
+ Object.defineProperty(exports, "AlreadyClaimedError", {
17
+ enumerable: true,
18
+ get: function () { return chunk5SA2HF2W_cjs.AlreadyClaimedError; }
19
+ });
20
+ Object.defineProperty(exports, "ClaimNotStartedError", {
21
+ enumerable: true,
22
+ get: function () { return chunk5SA2HF2W_cjs.ClaimNotStartedError; }
23
+ });
24
+ Object.defineProperty(exports, "ClaimWindowClosedError", {
25
+ enumerable: true,
26
+ get: function () { return chunk5SA2HF2W_cjs.ClaimWindowClosedError; }
27
+ });
28
+ Object.defineProperty(exports, "ConfidentialAirdropClient", {
29
+ enumerable: true,
30
+ get: function () { return chunk5SA2HF2W_cjs.ConfidentialAirdropClient; }
31
+ });
32
+ Object.defineProperty(exports, "confidentialAirdropCloneableAbi", {
33
+ enumerable: true,
34
+ get: function () { return chunk5SA2HF2W_cjs.confidentialAirdropCloneableAbi; }
35
+ });
36
+ Object.defineProperty(exports, "createConfidentialAirdropClient", {
37
+ enumerable: true,
38
+ get: function () { return chunk5SA2HF2W_cjs.createConfidentialAirdropClient; }
39
+ });
40
+ Object.defineProperty(exports, "ConfidentialAirdropFactoryClient", {
41
+ enumerable: true,
42
+ get: function () { return chunk6ECAHP5O_cjs.ConfidentialAirdropFactoryClient; }
43
+ });
44
+ Object.defineProperty(exports, "confidentialAirdropFactoryAbi", {
45
+ enumerable: true,
46
+ get: function () { return chunk6ECAHP5O_cjs.confidentialAirdropFactoryAbi; }
47
+ });
48
+ Object.defineProperty(exports, "createConfidentialAirdropFactoryClient", {
49
+ enumerable: true,
50
+ get: function () { return chunk6ECAHP5O_cjs.createConfidentialAirdropFactoryClient; }
51
+ });
52
+ Object.defineProperty(exports, "encryptUint64", {
53
+ enumerable: true,
54
+ get: function () { return chunk6ECAHP5O_cjs.encryptUint64; }
55
+ });
56
+ Object.defineProperty(exports, "encryptUint64Batch", {
57
+ enumerable: true,
58
+ get: function () { return chunk6ECAHP5O_cjs.encryptUint64Batch; }
59
+ });
60
+ Object.defineProperty(exports, "resolveEncryptor", {
61
+ enumerable: true,
62
+ get: function () { return chunk6ECAHP5O_cjs.resolveEncryptor; }
63
+ });
64
+ Object.defineProperty(exports, "signClaimAuthorization", {
65
+ enumerable: true,
66
+ get: function () { return chunk6ECAHP5O_cjs.signClaimAuthorization; }
67
+ });
68
+ Object.defineProperty(exports, "erc7984OperatorAbi", {
69
+ enumerable: true,
70
+ get: function () { return chunkFWHYQZ5E_cjs.erc7984OperatorAbi; }
71
+ });
72
+ Object.defineProperty(exports, "asAirdropId", {
73
+ enumerable: true,
74
+ get: function () { return chunk66IHPTOK_cjs.asAirdropId; }
75
+ });
76
+ Object.defineProperty(exports, "asEncryptedHandle", {
77
+ enumerable: true,
78
+ get: function () { return chunk66IHPTOK_cjs.asEncryptedHandle; }
79
+ });
80
+ Object.defineProperty(exports, "AccessDeniedError", {
81
+ enumerable: true,
82
+ get: function () { return chunk56UI7LUR_cjs.AccessDeniedError; }
83
+ });
84
+ Object.defineProperty(exports, "AlreadyInitializedError", {
85
+ enumerable: true,
86
+ get: function () { return chunk56UI7LUR_cjs.AlreadyInitializedError; }
87
+ });
88
+ Object.defineProperty(exports, "BatchTooLargeError", {
89
+ enumerable: true,
90
+ get: function () { return chunk56UI7LUR_cjs.BatchTooLargeError; }
91
+ });
92
+ Object.defineProperty(exports, "ContractRevertError", {
93
+ enumerable: true,
94
+ get: function () { return chunk56UI7LUR_cjs.ContractRevertError; }
95
+ });
96
+ Object.defineProperty(exports, "DecryptionFailedError", {
97
+ enumerable: true,
98
+ get: function () { return chunk56UI7LUR_cjs.DecryptionFailedError; }
99
+ });
100
+ Object.defineProperty(exports, "DeploymentAddressUnavailableError", {
101
+ enumerable: true,
102
+ get: function () { return chunk56UI7LUR_cjs.DeploymentAddressUnavailableError; }
103
+ });
104
+ Object.defineProperty(exports, "EncryptionFailedError", {
105
+ enumerable: true,
106
+ get: function () { return chunk56UI7LUR_cjs.EncryptionFailedError; }
107
+ });
108
+ Object.defineProperty(exports, "FeatureDisabledError", {
109
+ enumerable: true,
110
+ get: function () { return chunk56UI7LUR_cjs.FeatureDisabledError; }
111
+ });
112
+ Object.defineProperty(exports, "FheHandleNotAllowedError", {
113
+ enumerable: true,
114
+ get: function () { return chunk56UI7LUR_cjs.FheHandleNotAllowedError; }
115
+ });
116
+ Object.defineProperty(exports, "InsufficientBalanceError", {
117
+ enumerable: true,
118
+ get: function () { return chunk56UI7LUR_cjs.InsufficientBalanceError; }
119
+ });
120
+ Object.defineProperty(exports, "InsufficientFeeError", {
121
+ enumerable: true,
122
+ get: function () { return chunk56UI7LUR_cjs.InsufficientFeeError; }
123
+ });
124
+ Object.defineProperty(exports, "InsufficientGasFundsError", {
125
+ enumerable: true,
126
+ get: function () { return chunk56UI7LUR_cjs.InsufficientGasFundsError; }
127
+ });
128
+ Object.defineProperty(exports, "InvalidArgumentError", {
129
+ enumerable: true,
130
+ get: function () { return chunk56UI7LUR_cjs.InvalidArgumentError; }
131
+ });
132
+ Object.defineProperty(exports, "InvalidSignatureError", {
133
+ enumerable: true,
134
+ get: function () { return chunk56UI7LUR_cjs.InvalidSignatureError; }
135
+ });
136
+ Object.defineProperty(exports, "MissingAccountError", {
137
+ enumerable: true,
138
+ get: function () { return chunk56UI7LUR_cjs.MissingAccountError; }
139
+ });
140
+ Object.defineProperty(exports, "MissingClientError", {
141
+ enumerable: true,
142
+ get: function () { return chunk56UI7LUR_cjs.MissingClientError; }
143
+ });
144
+ Object.defineProperty(exports, "MissingEncryptorError", {
145
+ enumerable: true,
146
+ get: function () { return chunk56UI7LUR_cjs.MissingEncryptorError; }
147
+ });
148
+ Object.defineProperty(exports, "MissingPublicClientError", {
149
+ enumerable: true,
150
+ get: function () { return chunk56UI7LUR_cjs.MissingPublicClientError; }
151
+ });
152
+ Object.defineProperty(exports, "MissingWalletClientError", {
153
+ enumerable: true,
154
+ get: function () { return chunk56UI7LUR_cjs.MissingWalletClientError; }
155
+ });
156
+ Object.defineProperty(exports, "NetworkError", {
157
+ enumerable: true,
158
+ get: function () { return chunk56UI7LUR_cjs.NetworkError; }
159
+ });
160
+ Object.defineProperty(exports, "PausedError", {
161
+ enumerable: true,
162
+ get: function () { return chunk56UI7LUR_cjs.PausedError; }
163
+ });
164
+ Object.defineProperty(exports, "ReceiptEventAmbiguousError", {
165
+ enumerable: true,
166
+ get: function () { return chunk56UI7LUR_cjs.ReceiptEventAmbiguousError; }
167
+ });
168
+ Object.defineProperty(exports, "ReceiptEventNotFoundError", {
169
+ enumerable: true,
170
+ get: function () { return chunk56UI7LUR_cjs.ReceiptEventNotFoundError; }
171
+ });
172
+ Object.defineProperty(exports, "ReentrancyError", {
173
+ enumerable: true,
174
+ get: function () { return chunk56UI7LUR_cjs.ReentrancyError; }
175
+ });
176
+ Object.defineProperty(exports, "RelayerUnreachableError", {
177
+ enumerable: true,
178
+ get: function () { return chunk56UI7LUR_cjs.RelayerUnreachableError; }
179
+ });
180
+ Object.defineProperty(exports, "SigningFailedError", {
181
+ enumerable: true,
182
+ get: function () { return chunk56UI7LUR_cjs.SigningFailedError; }
183
+ });
184
+ Object.defineProperty(exports, "TokenOpsContractError", {
185
+ enumerable: true,
186
+ get: function () { return chunk56UI7LUR_cjs.TokenOpsContractError; }
187
+ });
188
+ Object.defineProperty(exports, "TokenOpsSdkError", {
189
+ enumerable: true,
190
+ get: function () { return chunk56UI7LUR_cjs.TokenOpsSdkError; }
191
+ });
192
+ Object.defineProperty(exports, "TokenOpsValidationError", {
193
+ enumerable: true,
194
+ get: function () { return chunk56UI7LUR_cjs.TokenOpsValidationError; }
195
+ });
196
+ Object.defineProperty(exports, "TransferFailedError", {
197
+ enumerable: true,
198
+ get: function () { return chunk56UI7LUR_cjs.TransferFailedError; }
199
+ });
200
+ Object.defineProperty(exports, "UnknownWriteFailureError", {
201
+ enumerable: true,
202
+ get: function () { return chunk56UI7LUR_cjs.UnknownWriteFailureError; }
203
+ });
204
+ Object.defineProperty(exports, "UnsupportedChainError", {
205
+ enumerable: true,
206
+ get: function () { return chunk56UI7LUR_cjs.UnsupportedChainError; }
207
+ });
208
+ Object.defineProperty(exports, "UserDecryptNotAllowedError", {
209
+ enumerable: true,
210
+ get: function () { return chunk56UI7LUR_cjs.UserDecryptNotAllowedError; }
211
+ });
212
+ Object.defineProperty(exports, "UserRejectedSignatureError", {
213
+ enumerable: true,
214
+ get: function () { return chunk56UI7LUR_cjs.UserRejectedSignatureError; }
215
+ });
216
+ Object.defineProperty(exports, "WalletChainMismatchError", {
217
+ enumerable: true,
218
+ get: function () { return chunk56UI7LUR_cjs.WalletChainMismatchError; }
219
+ });
220
+ Object.defineProperty(exports, "WalletRejectedError", {
221
+ enumerable: true,
222
+ get: function () { return chunk56UI7LUR_cjs.WalletRejectedError; }
223
+ });
224
+ Object.defineProperty(exports, "isTokenOpsSdkError", {
225
+ enumerable: true,
226
+ get: function () { return chunk56UI7LUR_cjs.isTokenOpsSdkError; }
227
+ });