UNPKG

@metamask/delegation-toolkit

Version:

The Delegation Toolkit built on top of Viem - a library for interacting with DeleGator Smart Accounts

52 lines (47 loc) 4.43 kB
import { PublicClient, Client, Address } from 'viem'; import { D as DeleGatorEnvironment, h as Delegation } from './types-DvZXSma6.cjs'; type CaveatEnforcerParams = { delegation: Delegation; }; type PeriodTransferResult = { availableAmount: bigint; isNewPeriod: boolean; currentPeriod: bigint; }; type StreamingResult = { availableAmount: bigint; }; declare function getErc20PeriodTransferEnforcerAvailableAmount(client: PublicClient, environment: DeleGatorEnvironment, params: CaveatEnforcerParams): Promise<PeriodTransferResult>; declare function getErc20StreamingEnforcerAvailableAmount(client: PublicClient, environment: DeleGatorEnvironment, params: CaveatEnforcerParams): Promise<StreamingResult>; declare function getMultiTokenPeriodEnforcerAvailableAmount(client: PublicClient, environment: DeleGatorEnvironment, params: CaveatEnforcerParams): Promise<PeriodTransferResult>; declare function getNativeTokenPeriodTransferEnforcerAvailableAmount(client: PublicClient, environment: DeleGatorEnvironment, params: CaveatEnforcerParams): Promise<PeriodTransferResult>; declare function getNativeTokenStreamingEnforcerAvailableAmount(client: PublicClient, environment: DeleGatorEnvironment, params: CaveatEnforcerParams): Promise<StreamingResult>; declare const caveatEnforcerActions: ({ environment }: { environment: DeleGatorEnvironment; }) => (client: PublicClient) => { getErc20PeriodTransferEnforcerAvailableAmount: (params: CaveatEnforcerParams) => Promise<PeriodTransferResult>; getErc20StreamingEnforcerAvailableAmount: (params: CaveatEnforcerParams) => Promise<StreamingResult>; getMultiTokenPeriodEnforcerAvailableAmount: (params: CaveatEnforcerParams) => Promise<PeriodTransferResult>; getNativeTokenPeriodTransferEnforcerAvailableAmount: (params: CaveatEnforcerParams) => Promise<PeriodTransferResult>; getNativeTokenStreamingEnforcerAvailableAmount: (params: CaveatEnforcerParams) => Promise<StreamingResult>; }; type IsValid7702ImplementationParameters = { client: Client; accountAddress: Address; environment: DeleGatorEnvironment; }; declare function isValid7702Implementation({ client, accountAddress, environment, }: IsValid7702ImplementationParameters): Promise<boolean>; type index_CaveatEnforcerParams = CaveatEnforcerParams; type index_PeriodTransferResult = PeriodTransferResult; type index_StreamingResult = StreamingResult; declare const index_caveatEnforcerActions: typeof caveatEnforcerActions; declare const index_getErc20PeriodTransferEnforcerAvailableAmount: typeof getErc20PeriodTransferEnforcerAvailableAmount; declare const index_getErc20StreamingEnforcerAvailableAmount: typeof getErc20StreamingEnforcerAvailableAmount; declare const index_getMultiTokenPeriodEnforcerAvailableAmount: typeof getMultiTokenPeriodEnforcerAvailableAmount; declare const index_getNativeTokenPeriodTransferEnforcerAvailableAmount: typeof getNativeTokenPeriodTransferEnforcerAvailableAmount; declare const index_getNativeTokenStreamingEnforcerAvailableAmount: typeof getNativeTokenStreamingEnforcerAvailableAmount; declare const index_isValid7702Implementation: typeof isValid7702Implementation; declare namespace index { export { type index_CaveatEnforcerParams as CaveatEnforcerParams, type index_PeriodTransferResult as PeriodTransferResult, type index_StreamingResult as StreamingResult, index_caveatEnforcerActions as caveatEnforcerActions, index_getErc20PeriodTransferEnforcerAvailableAmount as getErc20PeriodTransferEnforcerAvailableAmount, index_getErc20StreamingEnforcerAvailableAmount as getErc20StreamingEnforcerAvailableAmount, index_getMultiTokenPeriodEnforcerAvailableAmount as getMultiTokenPeriodEnforcerAvailableAmount, index_getNativeTokenPeriodTransferEnforcerAvailableAmount as getNativeTokenPeriodTransferEnforcerAvailableAmount, index_getNativeTokenStreamingEnforcerAvailableAmount as getNativeTokenStreamingEnforcerAvailableAmount, index_isValid7702Implementation as isValid7702Implementation }; } export { type CaveatEnforcerParams as C, type PeriodTransferResult as P, type StreamingResult as S, getErc20StreamingEnforcerAvailableAmount as a, getMultiTokenPeriodEnforcerAvailableAmount as b, caveatEnforcerActions as c, getNativeTokenPeriodTransferEnforcerAvailableAmount as d, getNativeTokenStreamingEnforcerAvailableAmount as e, isValid7702Implementation as f, getErc20PeriodTransferEnforcerAvailableAmount as g, index as i };