@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.42 kB
TypeScript
import { PublicClient, Client, Address } from 'viem';
import { D as DeleGatorEnvironment, h as Delegation } from './types-DvZXSma6.js';
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 };