@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.
- package/CHANGELOG.md +207 -0
- package/CONTRIBUTING.md +113 -0
- package/LICENSE +32 -0
- package/README.md +677 -0
- package/SECURITY.md +59 -0
- package/dist/chunk-52TC6BF7.js +2755 -0
- package/dist/chunk-56UI7LUR.cjs +516 -0
- package/dist/chunk-5SA2HF2W.cjs +1635 -0
- package/dist/chunk-5SGMJADP.cjs +139 -0
- package/dist/chunk-62DF53UQ.cjs +749 -0
- package/dist/chunk-66IHPTOK.cjs +20 -0
- package/dist/chunk-6ECAHP5O.cjs +1496 -0
- package/dist/chunk-72YGZEQE.js +742 -0
- package/dist/chunk-7VELUOMI.js +35 -0
- package/dist/chunk-BE2AIZ3K.js +23 -0
- package/dist/chunk-CMRETRZO.js +46 -0
- package/dist/chunk-COPFW5Z4.js +82 -0
- package/dist/chunk-CQIPRNS7.cjs +25 -0
- package/dist/chunk-ECT3NL2L.js +124 -0
- package/dist/chunk-FWHYQZ5E.cjs +37 -0
- package/dist/chunk-FYQ2UW4T.js +37 -0
- package/dist/chunk-HGXNRR25.js +105 -0
- package/dist/chunk-HTOMTEA3.cjs +3406 -0
- package/dist/chunk-ITQ7WKVC.cjs +101 -0
- package/dist/chunk-IVE3QEGD.js +478 -0
- package/dist/chunk-JFLEEXKP.js +325 -0
- package/dist/chunk-JFR5J4FL.cjs +128 -0
- package/dist/chunk-K6MFFDBJ.cjs +109 -0
- package/dist/chunk-KWFFIJYX.js +11 -0
- package/dist/chunk-NS44KBV5.cjs +89 -0
- package/dist/chunk-OLDGMKW2.cjs +93 -0
- package/dist/chunk-Q2GP5UDC.js +29 -0
- package/dist/chunk-Q7ARQSUH.cjs +42 -0
- package/dist/chunk-QCA7O2Q5.cjs +49 -0
- package/dist/chunk-QIHZVLIK.js +3388 -0
- package/dist/chunk-SUOG3BQS.cjs +2772 -0
- package/dist/chunk-T5LVV3KY.cjs +44 -0
- package/dist/chunk-UOG4PJL5.js +1488 -0
- package/dist/chunk-VDXVNZCO.cjs +329 -0
- package/dist/chunk-VJKZWYYJ.cjs +32 -0
- package/dist/chunk-WRCUDSUJ.js +96 -0
- package/dist/chunk-XSNLAS5M.js +135 -0
- package/dist/chunk-XXXDQSHE.js +1628 -0
- package/dist/chunk-ZHFLRKFY.js +41 -0
- package/dist/chunk-ZXCOJY2Z.js +87 -0
- package/dist/core/addresses.d.ts +59 -0
- package/dist/core/brands.d.ts +87 -0
- package/dist/core/chains.d.ts +102 -0
- package/dist/core/errors.d.ts +687 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/normalise.d.ts +27 -0
- package/dist/core/preflight.d.ts +25 -0
- package/dist/core/revert-mapper.d.ts +74 -0
- package/dist/core/telemetry.d.ts +50 -0
- package/dist/core/types.d.ts +10 -0
- package/dist/core/version.d.ts +15 -0
- package/dist/core/zama-error-mapper.d.ts +27 -0
- package/dist/fhe/acl.d.ts +73 -0
- package/dist/fhe/erc7984-abi.d.ts +53 -0
- package/dist/fhe/index.cjs +599 -0
- package/dist/fhe/index.d.cts +11 -0
- package/dist/fhe/index.d.ts +11 -0
- package/dist/fhe/index.js +394 -0
- package/dist/fhe/mock-encryptor.d.ts +90 -0
- package/dist/fhe/mock-erc7984.d.ts +134 -0
- package/dist/fhe/operators.d.ts +190 -0
- package/dist/fhe/react/index.cjs +102 -0
- package/dist/fhe/react/index.d.cts +10 -0
- package/dist/fhe/react/index.d.ts +10 -0
- package/dist/fhe/react/index.js +85 -0
- package/dist/fhe/react/use-decrypted-handle.d.ts +102 -0
- package/dist/fhe/scale-ratio.d.ts +168 -0
- package/dist/fhe/sepolia-encryptor-web.d.ts +101 -0
- package/dist/fhe/sepolia-encryptor.d.ts +132 -0
- package/dist/fhe/types.d.ts +62 -0
- package/dist/fhe-airdrop/abis/cloneable.d.ts +781 -0
- package/dist/fhe-airdrop/abis/factory.d.ts +714 -0
- package/dist/fhe-airdrop/abis/index.d.ts +2 -0
- package/dist/fhe-airdrop/advanced/factory-advanced.d.ts +53 -0
- package/dist/fhe-airdrop/advanced/index.cjs +21 -0
- package/dist/fhe-airdrop/advanced/index.d.cts +13 -0
- package/dist/fhe-airdrop/advanced/index.d.ts +13 -0
- package/dist/fhe-airdrop/advanced/index.js +8 -0
- package/dist/fhe-airdrop/advanced/react/index.cjs +61 -0
- package/dist/fhe-airdrop/advanced/react/index.d.cts +5 -0
- package/dist/fhe-airdrop/advanced/react/index.d.ts +5 -0
- package/dist/fhe-airdrop/advanced/react/index.js +59 -0
- package/dist/fhe-airdrop/advanced/react/usePredictAirdropAddress.d.ts +49 -0
- package/dist/fhe-airdrop/airdrop.d.ts +308 -0
- package/dist/fhe-airdrop/encryption.d.ts +109 -0
- package/dist/fhe-airdrop/errors.d.ts +60 -0
- package/dist/fhe-airdrop/factory.d.ts +281 -0
- package/dist/fhe-airdrop/index.cjs +227 -0
- package/dist/fhe-airdrop/index.d.cts +10 -0
- package/dist/fhe-airdrop/index.d.ts +10 -0
- package/dist/fhe-airdrop/index.js +10 -0
- package/dist/fhe-airdrop/react/_shared.d.ts +107 -0
- package/dist/fhe-airdrop/react/index.cjs +638 -0
- package/dist/fhe-airdrop/react/index.d.cts +90 -0
- package/dist/fhe-airdrop/react/index.d.ts +90 -0
- package/dist/fhe-airdrop/react/index.js +430 -0
- package/dist/fhe-airdrop/react/useAccessClaimAmount.d.ts +31 -0
- package/dist/fhe-airdrop/react/useAirdropCanExtendClaimWindow.d.ts +7 -0
- package/dist/fhe-airdrop/react/useAirdropClaim.d.ts +25 -0
- package/dist/fhe-airdrop/react/useAirdropClaimTypehash.d.ts +10 -0
- package/dist/fhe-airdrop/react/useAirdropClaimedSignatures.d.ts +16 -0
- package/dist/fhe-airdrop/react/useAirdropDeploymentBlockNumber.d.ts +6 -0
- package/dist/fhe-airdrop/react/useAirdropDomainSeparator.d.ts +8 -0
- package/dist/fhe-airdrop/react/useAirdropEndTime.d.ts +10 -0
- package/dist/fhe-airdrop/react/useAirdropFactoryCustomFee.d.ts +17 -0
- package/dist/fhe-airdrop/react/useAirdropFactoryDefaultGasFee.d.ts +10 -0
- package/dist/fhe-airdrop/react/useAirdropFactoryDisableCustomFee.d.ts +15 -0
- package/dist/fhe-airdrop/react/useAirdropFactoryFeeCollector.d.ts +11 -0
- package/dist/fhe-airdrop/react/useAirdropFactoryInitCodeHash.d.ts +17 -0
- package/dist/fhe-airdrop/react/useAirdropFactorySetCustomFee.d.ts +17 -0
- package/dist/fhe-airdrop/react/useAirdropFactorySetDefaultGasFee.d.ts +16 -0
- package/dist/fhe-airdrop/react/useAirdropFactorySetFeeCollector.d.ts +15 -0
- package/dist/fhe-airdrop/react/useAirdropGasFee.d.ts +11 -0
- package/dist/fhe-airdrop/react/useAirdropGrantRole.d.ts +16 -0
- package/dist/fhe-airdrop/react/useAirdropHasClaimEnded.d.ts +7 -0
- package/dist/fhe-airdrop/react/useAirdropHasClaimStarted.d.ts +7 -0
- package/dist/fhe-airdrop/react/useAirdropHasRole.d.ts +14 -0
- package/dist/fhe-airdrop/react/useAirdropIsClaimWindowActive.d.ts +9 -0
- package/dist/fhe-airdrop/react/useAirdropIsPaused.d.ts +8 -0
- package/dist/fhe-airdrop/react/useAirdropIsSignatureClaimed.d.ts +22 -0
- package/dist/fhe-airdrop/react/useAirdropIsSignatureValid.d.ts +50 -0
- package/dist/fhe-airdrop/react/useAirdropRevokeRole.d.ts +15 -0
- package/dist/fhe-airdrop/react/useAirdropStartTime.d.ts +10 -0
- package/dist/fhe-airdrop/react/useAirdropToken.d.ts +11 -0
- package/dist/fhe-airdrop/react/useAirdropWithdrawGasFee.d.ts +15 -0
- package/dist/fhe-airdrop/react/useAirdropWithdrawOtherConfidentialToken.d.ts +14 -0
- package/dist/fhe-airdrop/react/useAirdropWithdrawOtherToken.d.ts +14 -0
- package/dist/fhe-airdrop/react/useClaim.d.ts +29 -0
- package/dist/fhe-airdrop/react/useConfidentialAirdropFactoryImplementation.d.ts +11 -0
- package/dist/fhe-airdrop/react/useCreateAndFundConfidentialAirdrop.d.ts +33 -0
- package/dist/fhe-airdrop/react/useCreateAndFundConfidentialAirdropAndGetAddress.d.ts +40 -0
- package/dist/fhe-airdrop/react/useCreateConfidentialAirdrop.d.ts +29 -0
- package/dist/fhe-airdrop/react/useCreateConfidentialAirdropAndGetAddress.d.ts +31 -0
- package/dist/fhe-airdrop/react/useDisableCustomFee.d.ts +14 -0
- package/dist/fhe-airdrop/react/useExtendClaimWindow.d.ts +16 -0
- package/dist/fhe-airdrop/react/useFactoryCustomFee.d.ts +17 -0
- package/dist/fhe-airdrop/react/useFactoryDefaultGasFee.d.ts +10 -0
- package/dist/fhe-airdrop/react/useFactoryFeeCollector.d.ts +11 -0
- package/dist/fhe-airdrop/react/useFactoryInitCodeHash.d.ts +17 -0
- package/dist/fhe-airdrop/react/useFundConfidentialAirdrop.d.ts +25 -0
- package/dist/fhe-airdrop/react/useGetClaimAmount.d.ts +30 -0
- package/dist/fhe-airdrop/react/useSetCustomFee.d.ts +16 -0
- package/dist/fhe-airdrop/react/useSetDefaultGasFee.d.ts +15 -0
- package/dist/fhe-airdrop/react/useSetFeeCollector.d.ts +14 -0
- package/dist/fhe-airdrop/react/useSetPaused.d.ts +14 -0
- package/dist/fhe-airdrop/react/useSignClaimAuthorization.d.ts +31 -0
- package/dist/fhe-airdrop/react/useWithdraw.d.ts +12 -0
- package/dist/fhe-airdrop/react/useWithdrawOtherConfidentialToken.d.ts +13 -0
- package/dist/fhe-airdrop/react/useWithdrawOtherToken.d.ts +13 -0
- package/dist/fhe-airdrop/types.d.ts +21 -0
- package/dist/fhe-disperse/abis/index.d.ts +2 -0
- package/dist/fhe-disperse/abis/singleton.d.ts +1297 -0
- package/dist/fhe-disperse/abis/wallet.d.ts +111 -0
- package/dist/fhe-disperse/encryption.d.ts +77 -0
- package/dist/fhe-disperse/errors.d.ts +39 -0
- package/dist/fhe-disperse/index.cjs +248 -0
- package/dist/fhe-disperse/index.d.cts +14 -0
- package/dist/fhe-disperse/index.d.ts +14 -0
- package/dist/fhe-disperse/index.js +11 -0
- package/dist/fhe-disperse/react/_shared.d.ts +104 -0
- package/dist/fhe-disperse/react/index.cjs +752 -0
- package/dist/fhe-disperse/react/index.d.cts +82 -0
- package/dist/fhe-disperse/react/index.d.ts +82 -0
- package/dist/fhe-disperse/react/index.js +522 -0
- package/dist/fhe-disperse/react/useAccessEncryptedFeeReserve.d.ts +35 -0
- package/dist/fhe-disperse/react/useApproveTokenOnWallets.d.ts +25 -0
- package/dist/fhe-disperse/react/useBatchDiscloseHandlesToParty.d.ts +16 -0
- package/dist/fhe-disperse/react/useCalculateFee.d.ts +26 -0
- package/dist/fhe-disperse/react/useDeploymentBlockNumber.d.ts +11 -0
- package/dist/fhe-disperse/react/useDisableCustomFee.d.ts +20 -0
- package/dist/fhe-disperse/react/useDiscloseHandleToParty.d.ts +20 -0
- package/dist/fhe-disperse/react/useDisperse.d.ts +28 -0
- package/dist/fhe-disperse/react/useGetBatchLimits.d.ts +12 -0
- package/dist/fhe-disperse/react/useGetFeeConfig.d.ts +15 -0
- package/dist/fhe-disperse/react/useGetFees.d.ts +19 -0
- package/dist/fhe-disperse/react/useGetWallets.d.ts +19 -0
- package/dist/fhe-disperse/react/useGrantRole.d.ts +24 -0
- package/dist/fhe-disperse/react/useHasApprovedSubwallets.d.ts +25 -0
- package/dist/fhe-disperse/react/useHasRole.d.ts +22 -0
- package/dist/fhe-disperse/react/useIsPaused.d.ts +11 -0
- package/dist/fhe-disperse/react/useIsRegistered.d.ts +15 -0
- package/dist/fhe-disperse/react/usePause.d.ts +18 -0
- package/dist/fhe-disperse/react/usePredictWallets.d.ts +19 -0
- package/dist/fhe-disperse/react/usePreflightDisperse.d.ts +37 -0
- package/dist/fhe-disperse/react/useRecoverERC20FromWallets.d.ts +21 -0
- package/dist/fhe-disperse/react/useRecoverFromWallets.d.ts +21 -0
- package/dist/fhe-disperse/react/useRegister.d.ts +40 -0
- package/dist/fhe-disperse/react/useRescueConfidentialTokens.d.ts +21 -0
- package/dist/fhe-disperse/react/useRescueERC20.d.ts +21 -0
- package/dist/fhe-disperse/react/useRevokeRole.d.ts +24 -0
- package/dist/fhe-disperse/react/useRevokeTokenOnWallets.d.ts +24 -0
- package/dist/fhe-disperse/react/useSetCustomFee.d.ts +24 -0
- package/dist/fhe-disperse/react/useSetFeeConfig.d.ts +23 -0
- package/dist/fhe-disperse/react/useSetMaxBatchSizeDirect.d.ts +20 -0
- package/dist/fhe-disperse/react/useSetMaxBatchSizeHolding.d.ts +20 -0
- package/dist/fhe-disperse/react/useSetMaxBatchSizeTokenFee.d.ts +20 -0
- package/dist/fhe-disperse/react/useSingletonBatchDiscloseHandlesToParty.d.ts +13 -0
- package/dist/fhe-disperse/react/useSingletonBatchLimits.d.ts +12 -0
- package/dist/fhe-disperse/react/useSingletonCalculateFee.d.ts +26 -0
- package/dist/fhe-disperse/react/useSingletonDeploymentBlockNumber.d.ts +11 -0
- package/dist/fhe-disperse/react/useSingletonDisableCustomFee.d.ts +21 -0
- package/dist/fhe-disperse/react/useSingletonDiscloseHandleToParty.d.ts +17 -0
- package/dist/fhe-disperse/react/useSingletonFees.d.ts +19 -0
- package/dist/fhe-disperse/react/useSingletonGrantRole.d.ts +26 -0
- package/dist/fhe-disperse/react/useSingletonHasApprovedSubwallets.d.ts +25 -0
- package/dist/fhe-disperse/react/useSingletonHasRole.d.ts +23 -0
- package/dist/fhe-disperse/react/useSingletonIsPaused.d.ts +11 -0
- package/dist/fhe-disperse/react/useSingletonIsRegistered.d.ts +15 -0
- package/dist/fhe-disperse/react/useSingletonPause.d.ts +19 -0
- package/dist/fhe-disperse/react/useSingletonPredictWallets.d.ts +19 -0
- package/dist/fhe-disperse/react/useSingletonRevokeRole.d.ts +26 -0
- package/dist/fhe-disperse/react/useSingletonSetCustomFee.d.ts +25 -0
- package/dist/fhe-disperse/react/useSingletonUnpause.d.ts +18 -0
- package/dist/fhe-disperse/react/useSingletonWalletImplementation.d.ts +12 -0
- package/dist/fhe-disperse/react/useSingletonWallets.d.ts +19 -0
- package/dist/fhe-disperse/react/useSingletonWithdrawGasFee.d.ts +21 -0
- package/dist/fhe-disperse/react/useSingletonWithdrawTokenFee.d.ts +50 -0
- package/dist/fhe-disperse/react/useUnpause.d.ts +17 -0
- package/dist/fhe-disperse/react/useWalletImplementation.d.ts +12 -0
- package/dist/fhe-disperse/react/useWithdrawGasFee.d.ts +26 -0
- package/dist/fhe-disperse/react/useWithdrawTokenFee.d.ts +70 -0
- package/dist/fhe-disperse/singleton.d.ts +442 -0
- package/dist/fhe-disperse/subtotals.d.ts +14 -0
- package/dist/fhe-disperse/types.d.ts +332 -0
- package/dist/fhe-disperse/validate.d.ts +78 -0
- package/dist/fhe-vesting/abis/factory.d.ts +676 -0
- package/dist/fhe-vesting/abis/index.d.ts +3 -0
- package/dist/fhe-vesting/abis/manager.d.ts +1797 -0
- package/dist/fhe-vesting/advanced/factory-advanced.d.ts +52 -0
- package/dist/fhe-vesting/advanced/index.cjs +21 -0
- package/dist/fhe-vesting/advanced/index.d.cts +12 -0
- package/dist/fhe-vesting/advanced/index.d.ts +12 -0
- package/dist/fhe-vesting/advanced/index.js +8 -0
- package/dist/fhe-vesting/advanced/react/index.cjs +75 -0
- package/dist/fhe-vesting/advanced/react/index.d.cts +5 -0
- package/dist/fhe-vesting/advanced/react/index.d.ts +5 -0
- package/dist/fhe-vesting/advanced/react/index.js +73 -0
- package/dist/fhe-vesting/advanced/react/usePredictManagerAddress.d.ts +41 -0
- package/dist/fhe-vesting/encryption.d.ts +104 -0
- package/dist/fhe-vesting/errors.d.ts +183 -0
- package/dist/fhe-vesting/factory.d.ts +207 -0
- package/dist/fhe-vesting/index.cjs +269 -0
- package/dist/fhe-vesting/index.d.cts +9 -0
- package/dist/fhe-vesting/index.d.ts +9 -0
- package/dist/fhe-vesting/index.js +12 -0
- package/dist/fhe-vesting/manager.d.ts +808 -0
- package/dist/fhe-vesting/react/_shared.d.ts +122 -0
- package/dist/fhe-vesting/react/index.cjs +1054 -0
- package/dist/fhe-vesting/react/index.d.cts +123 -0
- package/dist/fhe-vesting/react/index.d.ts +123 -0
- package/dist/fhe-vesting/react/index.js +771 -0
- package/dist/fhe-vesting/react/useAcceptVestingTransfer.d.ts +12 -0
- package/dist/fhe-vesting/react/useAccessClaimableAmount.d.ts +14 -0
- package/dist/fhe-vesting/react/useAccessSettledAmount.d.ts +15 -0
- package/dist/fhe-vesting/react/useAccessTotalAllocation.d.ts +14 -0
- package/dist/fhe-vesting/react/useAccessVestedAmount.d.ts +26 -0
- package/dist/fhe-vesting/react/useAdminBatchDiscloseToParty.d.ts +16 -0
- package/dist/fhe-vesting/react/useAdminClaim.d.ts +9 -0
- package/dist/fhe-vesting/react/useAdminDiscloseToParty.d.ts +8 -0
- package/dist/fhe-vesting/react/useAdminGetClaimableAmount.d.ts +13 -0
- package/dist/fhe-vesting/react/useAdminGetSettledAmount.d.ts +13 -0
- package/dist/fhe-vesting/react/useAdminGetTokenBalance.d.ts +13 -0
- package/dist/fhe-vesting/react/useAdminGetTotalAllocation.d.ts +13 -0
- package/dist/fhe-vesting/react/useAdminGetVestedAmount.d.ts +15 -0
- package/dist/fhe-vesting/react/useAdminPartialClaim.d.ts +8 -0
- package/dist/fhe-vesting/react/useAllRecipients.d.ts +8 -0
- package/dist/fhe-vesting/react/useAllRecipientsLength.d.ts +6 -0
- package/dist/fhe-vesting/react/useAllRecipientsSliced.d.ts +13 -0
- package/dist/fhe-vesting/react/useBatchCreateVesting.d.ts +24 -0
- package/dist/fhe-vesting/react/useBatchDiscloseHandlesToParty.d.ts +13 -0
- package/dist/fhe-vesting/react/useBatchDiscloseToParty.d.ts +18 -0
- package/dist/fhe-vesting/react/useBatchRevokeVesting.d.ts +12 -0
- package/dist/fhe-vesting/react/useCancelVestingTransfer.d.ts +12 -0
- package/dist/fhe-vesting/react/useClaim.d.ts +19 -0
- package/dist/fhe-vesting/react/useConfidentialVestingFactoryImplementation.d.ts +11 -0
- package/dist/fhe-vesting/react/useCreateManager.d.ts +32 -0
- package/dist/fhe-vesting/react/useCreateManagerAndGetAddress.d.ts +31 -0
- package/dist/fhe-vesting/react/useCreateVesting.d.ts +38 -0
- package/dist/fhe-vesting/react/useDirectVestingTransfer.d.ts +13 -0
- package/dist/fhe-vesting/react/useDisableCustomFee.d.ts +14 -0
- package/dist/fhe-vesting/react/useDiscloseHandleToParty.d.ts +14 -0
- package/dist/fhe-vesting/react/useDiscloseToParty.d.ts +14 -0
- package/dist/fhe-vesting/react/useFactoryCustomFee.d.ts +17 -0
- package/dist/fhe-vesting/react/useFactoryDefaultFeeType.d.ts +11 -0
- package/dist/fhe-vesting/react/useFactoryDefaultGasFee.d.ts +10 -0
- package/dist/fhe-vesting/react/useFactoryDefaultTokenFee.d.ts +10 -0
- package/dist/fhe-vesting/react/useFactoryFeeCollector.d.ts +10 -0
- package/dist/fhe-vesting/react/useFactoryInitCodeHash.d.ts +18 -0
- package/dist/fhe-vesting/react/useGetClaimableAmount.d.ts +13 -0
- package/dist/fhe-vesting/react/useGetSettledAmount.d.ts +14 -0
- package/dist/fhe-vesting/react/useGetTotalAllocation.d.ts +13 -0
- package/dist/fhe-vesting/react/useGetVestedAmount.d.ts +25 -0
- package/dist/fhe-vesting/react/useGrantRole.d.ts +15 -0
- package/dist/fhe-vesting/react/useHasRole.d.ts +14 -0
- package/dist/fhe-vesting/react/useInitiateVestingTransfer.d.ts +12 -0
- package/dist/fhe-vesting/react/useIsRecipient.d.ts +10 -0
- package/dist/fhe-vesting/react/useManagerBatchDiscloseHandlesToParty.d.ts +15 -0
- package/dist/fhe-vesting/react/useManagerDeploymentBlockNumber.d.ts +7 -0
- package/dist/fhe-vesting/react/useManagerDiscloseHandleToParty.d.ts +16 -0
- package/dist/fhe-vesting/react/useManagerFactoryCustomFee.d.ts +17 -0
- package/dist/fhe-vesting/react/useManagerFactoryDefaultGasFee.d.ts +10 -0
- package/dist/fhe-vesting/react/useManagerFactoryDisableCustomFee.d.ts +15 -0
- package/dist/fhe-vesting/react/useManagerFactoryFeeCollector.d.ts +10 -0
- package/dist/fhe-vesting/react/useManagerFactoryInitCodeHash.d.ts +18 -0
- package/dist/fhe-vesting/react/useManagerFactorySetCustomFee.d.ts +19 -0
- package/dist/fhe-vesting/react/useManagerFactorySetDefaultGasFee.d.ts +13 -0
- package/dist/fhe-vesting/react/useManagerFactorySetFeeCollector.d.ts +14 -0
- package/dist/fhe-vesting/react/useManagerFee.d.ts +7 -0
- package/dist/fhe-vesting/react/useManagerFeeInfo.d.ts +18 -0
- package/dist/fhe-vesting/react/useManagerFeeType.d.ts +7 -0
- package/dist/fhe-vesting/react/useManagerGrantRole.d.ts +17 -0
- package/dist/fhe-vesting/react/useManagerHasRole.d.ts +15 -0
- package/dist/fhe-vesting/react/useManagerIsPausable.d.ts +6 -0
- package/dist/fhe-vesting/react/useManagerIsSplitEnabled.d.ts +6 -0
- package/dist/fhe-vesting/react/useManagerMaxBatchSize.d.ts +6 -0
- package/dist/fhe-vesting/react/useManagerMaxRevokeBatchSize.d.ts +6 -0
- package/dist/fhe-vesting/react/useManagerPause.d.ts +13 -0
- package/dist/fhe-vesting/react/useManagerPaused.d.ts +6 -0
- package/dist/fhe-vesting/react/useManagerRevokeRole.d.ts +17 -0
- package/dist/fhe-vesting/react/useManagerToken.d.ts +11 -0
- package/dist/fhe-vesting/react/useManagerUnpause.d.ts +12 -0
- package/dist/fhe-vesting/react/useManagerWithdrawGasFee.d.ts +14 -0
- package/dist/fhe-vesting/react/useManagerWithdrawOtherConfidentialToken.d.ts +14 -0
- package/dist/fhe-vesting/react/useManagerWithdrawOtherToken.d.ts +14 -0
- package/dist/fhe-vesting/react/useManagerWithdrawTokenFee.d.ts +11 -0
- package/dist/fhe-vesting/react/usePartialClaim.d.ts +15 -0
- package/dist/fhe-vesting/react/usePause.d.ts +12 -0
- package/dist/fhe-vesting/react/usePendingVestingTransfer.d.ts +20 -0
- package/dist/fhe-vesting/react/useRecipientVestings.d.ts +11 -0
- package/dist/fhe-vesting/react/useRecipientVestingsLength.d.ts +10 -0
- package/dist/fhe-vesting/react/useRecipientVestingsSliced.d.ts +12 -0
- package/dist/fhe-vesting/react/useRenounceRole.d.ts +16 -0
- package/dist/fhe-vesting/react/useResetGasFee.d.ts +10 -0
- package/dist/fhe-vesting/react/useResetTokenFee.d.ts +10 -0
- package/dist/fhe-vesting/react/useRevokeRole.d.ts +15 -0
- package/dist/fhe-vesting/react/useRevokeVesting.d.ts +15 -0
- package/dist/fhe-vesting/react/useRoleConstants.d.ts +19 -0
- package/dist/fhe-vesting/react/useSetCustomFee.d.ts +18 -0
- package/dist/fhe-vesting/react/useSetDefaultFeeType.d.ts +14 -0
- package/dist/fhe-vesting/react/useSetDefaultGasFee.d.ts +12 -0
- package/dist/fhe-vesting/react/useSetDefaultTokenFee.d.ts +13 -0
- package/dist/fhe-vesting/react/useSetFeeCollector.d.ts +13 -0
- package/dist/fhe-vesting/react/useSetMaxBatchSize.d.ts +12 -0
- package/dist/fhe-vesting/react/useSetMaxRevokeBatchSize.d.ts +12 -0
- package/dist/fhe-vesting/react/useSplitVesting.d.ts +28 -0
- package/dist/fhe-vesting/react/useTransferFeeCollectorRole.d.ts +12 -0
- package/dist/fhe-vesting/react/useUnpause.d.ts +11 -0
- package/dist/fhe-vesting/react/useVestingClaim.d.ts +19 -0
- package/dist/fhe-vesting/react/useVestingInfo.d.ts +25 -0
- package/dist/fhe-vesting/react/useWithdrawAdmin.d.ts +17 -0
- package/dist/fhe-vesting/react/useWithdrawGasFee.d.ts +13 -0
- package/dist/fhe-vesting/react/useWithdrawOtherConfidentialToken.d.ts +13 -0
- package/dist/fhe-vesting/react/useWithdrawOtherToken.d.ts +13 -0
- package/dist/fhe-vesting/react/useWithdrawTokenFee.d.ts +18 -0
- package/dist/fhe-vesting/types.d.ts +72 -0
- package/dist/index.cjs +237 -0
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +14 -0
- package/dist/telemetry/console.d.ts +29 -0
- package/dist/telemetry/index.cjs +113 -0
- package/dist/telemetry/index.d.cts +3 -0
- package/dist/telemetry/index.d.ts +3 -0
- package/dist/telemetry/index.js +102 -0
- package/dist/telemetry/tokenops.d.ts +15 -0
- 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 {};
|