@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,21 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import type { TxHash } from "../../core/brands.js";
4
+ import { type DisperseHookOptions } from "./_shared.js";
5
+ export interface UseSingletonDisableCustomFeeArgs {
6
+ user: Address;
7
+ /** Override signer account. Falls back to `walletClient.account`. */
8
+ account?: Account | Address;
9
+ }
10
+ /**
11
+ * Admin: remove a per-user fee override, falling back to the global
12
+ * defaults. Reverts with `CustomFeeNotSet` if no override exists. Requires
13
+ * `FEE_MANAGER_ROLE`.
14
+ *
15
+ * After success, invalidate {@link useGetFees}`({ user })`.
16
+ *
17
+ * @example
18
+ * const disableCustomFee = useSingletonDisableCustomFee();
19
+ * disableCustomFee.mutate({ user });
20
+ */
21
+ export declare function useSingletonDisableCustomFee(options?: DisperseHookOptions): UseMutationResult<TxHash, Error, UseSingletonDisableCustomFeeArgs>;
@@ -0,0 +1,17 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import { type DiscloseHandleArgs, type DisclosureResult } from "../types.js";
3
+ import { type DisperseHookOptions } from "./_shared.js";
4
+ /**
5
+ * Grant `party` persistent FHE ACL on a single `handle`. Caller must already
6
+ * hold ACL on the handle; FHEVM ACL is append-only — the grant cannot be
7
+ * revoked once committed.
8
+ *
9
+ * Common use: a fee-collector who decrypted the reserve handle via
10
+ * {@link useGetEncryptedFeeReserve} wants to delegate ongoing decrypt access
11
+ * to a downstream accounting service.
12
+ *
13
+ * @example
14
+ * const disclose = useSingletonDiscloseHandleToParty();
15
+ * disclose.mutate({ handle, party: accountingAddress });
16
+ */
17
+ export declare function useSingletonDiscloseHandleToParty(options?: DisperseHookOptions): UseMutationResult<DisclosureResult, Error, DiscloseHandleArgs>;
@@ -0,0 +1,19 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import type { Address } from "viem";
3
+ import { type UserFees } from "../types.js";
4
+ import { type BaseHookOptions } from "./_shared.js";
5
+ export interface UseSingletonFeesArgs extends BaseHookOptions {
6
+ /** The user whose resolved fees to read. Hook is disabled until set. */
7
+ user?: Address;
8
+ }
9
+ /**
10
+ * Read consolidated fee information for `user` — combines per-user resolved
11
+ * fees (`getFeeAmounts`) with the global `feeConfig` toggles in one read.
12
+ *
13
+ * UI code calls this to render the fee panel before the user submits.
14
+ *
15
+ * @example
16
+ * const { data: fees } = useSingletonFees({ user });
17
+ * // fees → { isCustom, gasFeeWei, tokenFeeBps, gasFeeEnabled, tokenFeeEnabled }
18
+ */
19
+ export declare function useSingletonFees(args?: UseSingletonFeesArgs): UseQueryResult<UserFees, Error>;
@@ -0,0 +1,26 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import type { TxHash } from "../../core/brands.js";
4
+ import type { Role } from "../../core/brands.js";
5
+ import { type DisperseHookOptions } from "./_shared.js";
6
+ export interface UseSingletonGrantRoleArgs {
7
+ role: Role;
8
+ accountTarget: Address;
9
+ /** Override signer account. Falls back to `walletClient.account`. */
10
+ account?: Account | Address;
11
+ }
12
+ /**
13
+ * AccessControl: grant `role` to `accountTarget` on the singleton. Caller
14
+ * must hold the role's admin role (typically `DEFAULT_ADMIN_ROLE`, i.e. the
15
+ * all-zero hash). Non-zero role hashes are `keccak256(toBytes("<NAME>"))`.
16
+ *
17
+ * After success, invalidate
18
+ * {@link useHasRole}`({ role, account: accountTarget })`.
19
+ *
20
+ * @example
21
+ * import { keccak256, toBytes } from "viem";
22
+ * const FEE_MANAGER_ROLE = keccak256(toBytes("FEE_MANAGER_ROLE"));
23
+ * const grant = useSingletonGrantRole();
24
+ * grant.mutate({ role: FEE_MANAGER_ROLE, accountTarget: opsAddress });
25
+ */
26
+ export declare function useSingletonGrantRole(options?: DisperseHookOptions): UseMutationResult<TxHash, Error, UseSingletonGrantRoleArgs>;
@@ -0,0 +1,25 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import type { Address } from "viem";
3
+ import { type SubwalletApprovalState } from "../types.js";
4
+ import { type BaseHookOptions } from "./_shared.js";
5
+ export interface UseSingletonHasApprovedSubwalletsArgs extends BaseHookOptions {
6
+ /** Address whose registered subwallets to check. Hook disabled until set. */
7
+ user?: Address;
8
+ /** ERC-7984 token address to check the operator approval against. Hook disabled until set. */
9
+ token?: Address;
10
+ }
11
+ /**
12
+ * Check whether a user's registered subwallets have approved the singleton
13
+ * as an ERC-7984 operator for `token`. Both must return `true` before a
14
+ * wallet-mode disperse will succeed.
15
+ *
16
+ * Returns `{ wallet0: false, wallet1: false, both: false }` if the user is
17
+ * not yet registered — for pre-registration approvals, use
18
+ * {@link usePredictWallets} and call `isOperator(predicted, singleton)` on
19
+ * the token directly.
20
+ *
21
+ * @example
22
+ * const { data: approvals } = useSingletonHasApprovedSubwallets({ user, token });
23
+ * if (!approvals?.both) { /* prompt user to approve *\/ }
24
+ */
25
+ export declare function useSingletonHasApprovedSubwallets(args?: UseSingletonHasApprovedSubwalletsArgs): UseQueryResult<SubwalletApprovalState, Error>;
@@ -0,0 +1,23 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import type { Address } from "viem";
3
+ import type { Role } from "../../core/brands.js";
4
+ import { type BaseHookOptions } from "./_shared.js";
5
+ export interface UseSingletonHasRoleArgs extends BaseHookOptions {
6
+ role?: Role;
7
+ /** The address to check role membership for. Hook disabled until set. */
8
+ account?: Address;
9
+ }
10
+ /**
11
+ * Read AccessControl: is `account` a member of `role` on the singleton?
12
+ *
13
+ * `DisperseConfidential` defines `DEFAULT_ADMIN_ROLE` (the all-zero hash),
14
+ * `FEE_MANAGER_ROLE`, `FEE_COLLECTOR_ROLE`, and `PAUSER_ROLE`. The non-zero
15
+ * role hashes are `keccak256(toBytes("<ROLE_NAME>"))` — compute them at the
16
+ * call site (the SDK does not export them as named constants).
17
+ *
18
+ * @example
19
+ * import { keccak256, toBytes } from "viem";
20
+ * const FEE_MANAGER_ROLE = keccak256(toBytes("FEE_MANAGER_ROLE"));
21
+ * const { data: isManager } = useSingletonHasRole({ role: FEE_MANAGER_ROLE, account: user });
22
+ */
23
+ export declare function useSingletonHasRole(args?: UseSingletonHasRoleArgs): UseQueryResult<boolean, Error>;
@@ -0,0 +1,11 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import { type BaseHookOptions } from "./_shared.js";
3
+ /**
4
+ * Read the singleton's `paused` flag. When `true`, all disperse operations
5
+ * revert until a `PAUSER_ROLE` member calls `unpause()`.
6
+ *
7
+ * @example
8
+ * const { data: paused } = useSingletonIsPaused();
9
+ * if (paused) { /* disable submit button *\/ }
10
+ */
11
+ export declare function useSingletonIsPaused(options?: BaseHookOptions): UseQueryResult<boolean, Error>;
@@ -0,0 +1,15 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import type { Address } from "viem";
3
+ import { type BaseHookOptions } from "./_shared.js";
4
+ export interface UseSingletonIsRegisteredArgs extends BaseHookOptions {
5
+ /** The user to check registration for. Hook is disabled until set. */
6
+ user?: Address;
7
+ }
8
+ /**
9
+ * Check whether a user has already called `register(token)` and has a
10
+ * deployed wallet pair on the singleton.
11
+ *
12
+ * @example
13
+ * const { data: isRegistered } = useSingletonIsRegistered({ user });
14
+ */
15
+ export declare function useSingletonIsRegistered(args?: UseSingletonIsRegisteredArgs): UseQueryResult<boolean, Error>;
@@ -0,0 +1,19 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import type { TxHash } from "../../core/brands.js";
4
+ import { type DisperseHookOptions } from "./_shared.js";
5
+ export interface UseSingletonPauseArgs {
6
+ /** Override signer account. Falls back to `walletClient.account`. */
7
+ account?: Account | Address;
8
+ }
9
+ /**
10
+ * Admin: pause all disperse operations on the singleton. Requires
11
+ * `PAUSER_ROLE`.
12
+ *
13
+ * After success, invalidate {@link useIsPaused}.
14
+ *
15
+ * @example
16
+ * const pause = useSingletonPause();
17
+ * pause.mutate({});
18
+ */
19
+ export declare function useSingletonPause(options?: DisperseHookOptions): UseMutationResult<TxHash, Error, UseSingletonPauseArgs>;
@@ -0,0 +1,19 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import type { Address } from "viem";
3
+ import { type BaseHookOptions } from "./_shared.js";
4
+ export interface UseSingletonPredictWalletsArgs extends BaseHookOptions {
5
+ /** The user whose wallet pair to predict. Hook is disabled until set. */
6
+ user?: Address;
7
+ }
8
+ /**
9
+ * Deterministically predict the wallet addresses a user would get after
10
+ * calling `register()`, **without requiring the user to be registered**.
11
+ *
12
+ * Use this to compute the addresses that need ERC-7984 operator approval
13
+ * before the user calls `register()` — set approvals on the predicted
14
+ * addresses first so the first disperse works without a follow-up tx.
15
+ *
16
+ * @example
17
+ * const { data: predicted } = useSingletonPredictWallets({ user });
18
+ */
19
+ export declare function useSingletonPredictWallets(args?: UseSingletonPredictWalletsArgs): UseQueryResult<[Address, Address], Error>;
@@ -0,0 +1,26 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import type { TxHash } from "../../core/brands.js";
4
+ import type { Role } from "../../core/brands.js";
5
+ import { type DisperseHookOptions } from "./_shared.js";
6
+ export interface UseSingletonRevokeRoleArgs {
7
+ role: Role;
8
+ accountTarget: Address;
9
+ /** Override signer account. Falls back to `walletClient.account`. */
10
+ account?: Account | Address;
11
+ }
12
+ /**
13
+ * AccessControl: revoke `role` from `accountTarget` on the singleton. Caller
14
+ * must hold the role's admin role (typically `DEFAULT_ADMIN_ROLE`, i.e. the
15
+ * all-zero hash). Non-zero role hashes are `keccak256(toBytes("<NAME>"))`.
16
+ *
17
+ * After success, invalidate
18
+ * {@link useHasRole}`({ role, account: accountTarget })`.
19
+ *
20
+ * @example
21
+ * import { keccak256, toBytes } from "viem";
22
+ * const FEE_MANAGER_ROLE = keccak256(toBytes("FEE_MANAGER_ROLE"));
23
+ * const revoke = useSingletonRevokeRole();
24
+ * revoke.mutate({ role: FEE_MANAGER_ROLE, accountTarget: opsAddress });
25
+ */
26
+ export declare function useSingletonRevokeRole(options?: DisperseHookOptions): UseMutationResult<TxHash, Error, UseSingletonRevokeRoleArgs>;
@@ -0,0 +1,25 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import type { TxHash } from "../../core/brands.js";
4
+ import { type DisperseHookOptions } from "./_shared.js";
5
+ export interface UseSingletonSetCustomFeeArgs {
6
+ user: Address;
7
+ /** Per-user gas fee override in wei. */
8
+ gasFee: bigint;
9
+ /** Per-user token fee override in BPS. */
10
+ tokenFee: number;
11
+ /** Override signer account. Falls back to `walletClient.account`. */
12
+ account?: Account | Address;
13
+ }
14
+ /**
15
+ * Admin: install a per-user fee override (gas fee in wei, token fee in BPS).
16
+ * Takes precedence over the global `defaultGasFee` / `defaultTokenFee` for
17
+ * the targeted user. Requires `FEE_MANAGER_ROLE`.
18
+ *
19
+ * After success, invalidate {@link useGetFees}`({ user })`.
20
+ *
21
+ * @example
22
+ * const setCustomFee = useSingletonSetCustomFee();
23
+ * setCustomFee.mutate({ user, gasFee: 5_000_000_000_000_000n, tokenFee: 25 });
24
+ */
25
+ export declare function useSingletonSetCustomFee(options?: DisperseHookOptions): UseMutationResult<TxHash, Error, UseSingletonSetCustomFeeArgs>;
@@ -0,0 +1,18 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import type { TxHash } from "../../core/brands.js";
4
+ import { type DisperseHookOptions } from "./_shared.js";
5
+ export interface UseSingletonUnpauseArgs {
6
+ /** Override signer account. Falls back to `walletClient.account`. */
7
+ account?: Account | Address;
8
+ }
9
+ /**
10
+ * Admin: unpause the singleton. Requires `PAUSER_ROLE`.
11
+ *
12
+ * After success, invalidate {@link useIsPaused}.
13
+ *
14
+ * @example
15
+ * const unpause = useSingletonUnpause();
16
+ * unpause.mutate({});
17
+ */
18
+ export declare function useSingletonUnpause(options?: DisperseHookOptions): UseMutationResult<TxHash, Error, UseSingletonUnpauseArgs>;
@@ -0,0 +1,12 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import type { Address } from "viem";
3
+ import { type BaseHookOptions } from "./_shared.js";
4
+ /**
5
+ * Read the `WALLET_IMPLEMENTATION` address — the singleton clones this
6
+ * deterministically (`Clones.cloneDeterministic`) for each registered user
7
+ * to derive their wallet pair.
8
+ *
9
+ * @example
10
+ * const { data: impl } = useSingletonWalletImplementation();
11
+ */
12
+ export declare function useSingletonWalletImplementation(options?: BaseHookOptions): UseQueryResult<Address, Error>;
@@ -0,0 +1,19 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import type { Address } from "viem";
3
+ import { type BaseHookOptions } from "./_shared.js";
4
+ export interface UseSingletonWalletsArgs extends BaseHookOptions {
5
+ /** The user whose wallet pair to read. Hook is disabled until set. */
6
+ user?: Address;
7
+ }
8
+ /**
9
+ * Read the on-chain wallet pair for a registered user.
10
+ *
11
+ * Returns `null` if the user is not registered. For unregistered users, call
12
+ * {@link usePredictWallets} to get the deterministic addresses they would
13
+ * receive after `register()`.
14
+ *
15
+ * @example
16
+ * const { data: wallets } = useSingletonWallets({ user });
17
+ * if (wallets) { ... wallets[0], wallets[1] ... }
18
+ */
19
+ export declare function useSingletonWallets(args?: UseSingletonWalletsArgs): UseQueryResult<[Address, Address] | null, Error>;
@@ -0,0 +1,21 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import type { TxHash } from "../../core/brands.js";
4
+ import { type DisperseHookOptions } from "./_shared.js";
5
+ export interface UseSingletonWithdrawGasFeeArgs {
6
+ /** Recipient of the withdrawn ETH. */
7
+ to: Address;
8
+ /** Amount in wei to withdraw. Pass `0n` to drain the full balance. */
9
+ amount: bigint;
10
+ /** Override signer account. Falls back to `walletClient.account`. */
11
+ account?: Account | Address;
12
+ }
13
+ /**
14
+ * Fee-collector: withdraw accumulated ETH gas fees from the singleton. Pass
15
+ * `amount: 0n` to drain the full ETH balance. Requires `FEE_COLLECTOR_ROLE`.
16
+ *
17
+ * @example
18
+ * const withdraw = useSingletonWithdrawGasFee();
19
+ * withdraw.mutate({ to: collectorAddress, amount: 0n });
20
+ */
21
+ export declare function useSingletonWithdrawGasFee(options?: DisperseHookOptions): UseMutationResult<TxHash, Error, UseSingletonWithdrawGasFeeArgs>;
@@ -0,0 +1,50 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import { type EncryptorSource } from "../encryption.js";
4
+ import { type EncryptedInput, type WithdrawTokenFeeResult } from "../types.js";
5
+ import { type DisperseHookOptions } from "./_shared.js";
6
+ /**
7
+ * Hook-level args. The hook accepts an {@link EncryptorSource} (eager OR lazy),
8
+ * so this is broader than the SDK's {@link WithdrawTokenFeeArgs} discriminated
9
+ * union — we resolve the lazy factory in `mutationFn` and then dispatch into
10
+ * the discriminated SDK shape.
11
+ *
12
+ * `amount` and `encryptedInput` are XOR enforced by the underlying SDK call;
13
+ * the hook surface mirrors the relaxed pre-S-4 shape (callers had been writing
14
+ * it that way for two rounds) and the mutate body routes to the right branch.
15
+ */
16
+ export interface UseSingletonWithdrawTokenFeeArgs {
17
+ /** ERC-7984 token whose accumulated fee reserve to withdraw from. */
18
+ token: Address;
19
+ /** Recipient of the withdrawn confidential tokens. */
20
+ to: Address;
21
+ /** Plaintext amount to withdraw. Mutually exclusive with `encryptedInput`. */
22
+ amount?: bigint;
23
+ /**
24
+ * Optional per-call encryptor override. Accepts an eager {@link Encryptor}
25
+ * or a lazy `() => Encryptor | undefined` factory — same shape as the
26
+ * hook-level {@link DisperseHookOptions}.`encryptor`.
27
+ */
28
+ encryptor?: EncryptorSource;
29
+ /** Optional pre-encrypted input — skips SDK-side encryption. */
30
+ encryptedInput?: EncryptedInput;
31
+ /** Override signer account. Falls back to `walletClient.account`. */
32
+ account?: Account | Address;
33
+ }
34
+ /**
35
+ * Fee-collector: withdraw accumulated encrypted token fees. The plaintext
36
+ * `amount` is encrypted by the SDK before submission; the contract caps the
37
+ * withdrawal at the available reserve via `FHE.min`.
38
+ *
39
+ * **Encryptor resolution.** Pass `encryptor` per-call, or supply it at hook
40
+ * construction via {@link DisperseHookOptions}.`encryptor`. If neither is
41
+ * present, the SDK throws `Missing encryptor — pass encryptor…` verbatim.
42
+ * Alternatively, pass a pre-encrypted `encryptedInput` to skip encryption.
43
+ *
44
+ * Requires `FEE_COLLECTOR_ROLE`.
45
+ *
46
+ * @example
47
+ * const withdraw = useSingletonWithdrawTokenFee({ encryptor: () => useZamaSDK().relayer });
48
+ * withdraw.mutate({ token, to: collector, amount: 1_000_000n });
49
+ */
50
+ export declare function useSingletonWithdrawTokenFee(options?: DisperseHookOptions): UseMutationResult<WithdrawTokenFeeResult, Error, UseSingletonWithdrawTokenFeeArgs>;
@@ -0,0 +1,17 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address, Hex } from "viem";
3
+ import { type DisperseHookOptions } from "./_shared.js";
4
+ export interface UseUnpauseArgs {
5
+ /** Override signer account. Falls back to `walletClient.account`. */
6
+ account?: Account | Address;
7
+ }
8
+ /**
9
+ * Admin: unpause the singleton. Requires `PAUSER_ROLE`.
10
+ *
11
+ * After success, invalidate {@link useIsPaused}.
12
+ *
13
+ * @example
14
+ * const unpause = useUnpause();
15
+ * unpause.mutate({});
16
+ */
17
+ export declare function useUnpause(options?: DisperseHookOptions): UseMutationResult<Hex, Error, UseUnpauseArgs>;
@@ -0,0 +1,12 @@
1
+ import { type UseQueryResult } from "@tanstack/react-query";
2
+ import type { Address } from "viem";
3
+ import { type BaseHookOptions } from "./_shared.js";
4
+ /**
5
+ * Read the `WALLET_IMPLEMENTATION` address — the singleton clones this
6
+ * deterministically (`Clones.cloneDeterministic`) for each registered user
7
+ * to derive their wallet pair.
8
+ *
9
+ * @example
10
+ * const { data: impl } = useWalletImplementation();
11
+ */
12
+ export declare function useWalletImplementation(options?: BaseHookOptions): UseQueryResult<Address, Error>;
@@ -0,0 +1,26 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address, Hex } from "viem";
3
+ import { type DisperseHookOptions } from "./_shared.js";
4
+ export interface UseWithdrawGasFeeArgs {
5
+ /** Recipient of the withdrawn ETH. */
6
+ to: Address;
7
+ /**
8
+ * Amount in wei to withdraw. The contract does not interpret `0n` as
9
+ * "drain" — passing `0n` succeeds with no ETH movement. Read the singleton
10
+ * balance with `publicClient.getBalance(singleton)` to drain.
11
+ */
12
+ amount: bigint;
13
+ /** Override signer account. Falls back to `walletClient.account`. */
14
+ account?: Account | Address;
15
+ }
16
+ /**
17
+ * Fee-collector: withdraw `amount` wei of accumulated ETH gas fees from the
18
+ * singleton to `to`. There is no "drain" sentinel — `amount: 0n` is a no-op
19
+ * that emits a zero-value `GasFeeWithdrawn` event. Requires
20
+ * `FEE_COLLECTOR_ROLE`.
21
+ *
22
+ * @example
23
+ * const withdraw = useWithdrawGasFee();
24
+ * withdraw.mutate({ to: collectorAddress, amount: 0n });
25
+ */
26
+ export declare function useWithdrawGasFee(options?: DisperseHookOptions): UseMutationResult<Hex, Error, UseWithdrawGasFeeArgs>;
@@ -0,0 +1,70 @@
1
+ import { type UseMutationResult } from "@tanstack/react-query";
2
+ import type { Account, Address } from "viem";
3
+ import { type EncryptorSource } from "../encryption.js";
4
+ import { type EncryptedInput, type WithdrawTokenFeeResult } from "../types.js";
5
+ import { type DisperseHookOptions } from "./_shared.js";
6
+ interface WithdrawTokenFeeCommon {
7
+ /** ERC-7984 token whose accumulated fee reserve to withdraw from. */
8
+ token: Address;
9
+ /** Recipient of the withdrawn confidential tokens. */
10
+ to: Address;
11
+ /** Override signer account. Falls back to `walletClient.account`. */
12
+ account?: Account | Address;
13
+ }
14
+ /** Plaintext path: SDK encrypts `amount` before submission. */
15
+ export interface UseWithdrawTokenFeePlaintextArgs extends WithdrawTokenFeeCommon {
16
+ /** Plaintext amount to withdraw. SDK encrypts via `encryptor` (or hook-level). */
17
+ amount: bigint;
18
+ /**
19
+ * Optional per-call encryptor override. Accepts an eager {@link Encryptor}
20
+ * or a lazy `() => Encryptor | undefined` factory — same shape as the
21
+ * hook-level {@link DisperseHookOptions}.`encryptor`.
22
+ */
23
+ encryptor?: EncryptorSource;
24
+ encryptedInput?: never;
25
+ }
26
+ /** Pre-encrypted path: caller already produced the `EncryptedInput`. */
27
+ export interface UseWithdrawTokenFeePreEncryptedArgs extends WithdrawTokenFeeCommon {
28
+ /** Pre-encrypted input — skips SDK-side encryption. */
29
+ encryptedInput: EncryptedInput;
30
+ amount?: never;
31
+ encryptor?: never;
32
+ }
33
+ /**
34
+ * Mirrors the headless `withdrawTokenFee` invariant: exactly one of `amount`
35
+ * (plaintext, SDK encrypts) or `encryptedInput` (pre-encrypted). The
36
+ * discriminated union surfaces that requirement at compile time instead of as
37
+ * a runtime `InvalidArgumentError`.
38
+ */
39
+ export type UseWithdrawTokenFeeArgs = UseWithdrawTokenFeePlaintextArgs | UseWithdrawTokenFeePreEncryptedArgs;
40
+ /**
41
+ * Fee-collector: withdraw accumulated encrypted token fees. Pass either a
42
+ * plaintext `amount` (SDK encrypts) or a pre-encrypted `encryptedInput` —
43
+ * never both. The contract caps the withdrawal at the available reserve via
44
+ * `FHE.min`.
45
+ *
46
+ * Returns `{ hash, transferredHandle }` parsed from the `TokenFeeWithdrawn`
47
+ * event. The handle is decryptable by the caller via Zama's `userDecrypt`
48
+ * and reveals the actual transferred amount, which may be less than the
49
+ * requested amount when the reserve was lower.
50
+ *
51
+ * **Encryptor resolution** (plaintext path only). Pass `encryptor` per-call,
52
+ * or supply it at hook construction via {@link DisperseHookOptions}.`encryptor`.
53
+ * If neither is present, the SDK throws `Missing encryptor — pass encryptor…`
54
+ * verbatim.
55
+ *
56
+ * Requires `FEE_COLLECTOR_ROLE`.
57
+ *
58
+ * @example
59
+ * function Component() {
60
+ * const zamaSDK = useZamaSDK();
61
+ * const withdraw = useWithdrawTokenFee({ encryptor: () => zamaSDK.relayer });
62
+ * withdraw.mutate({ token, to: collector, amount: 1_000_000n });
63
+ * }
64
+ *
65
+ * @example
66
+ * // Pre-encrypted path — no encryptor needed at call time.
67
+ * withdraw.mutate({ token, to: collector, encryptedInput });
68
+ */
69
+ export declare function useWithdrawTokenFee(options?: DisperseHookOptions): UseMutationResult<WithdrawTokenFeeResult, Error, UseWithdrawTokenFeeArgs>;
70
+ export {};