UNPKG

@lit-protocol/vincent-scaffold-sdk

Version:

Shared build configuration and utilities for Vincent abilities and policies

68 lines 2.02 kB
/** * LitActionsSmartSigner for EIP-7702 delegated transactions * * This signer implements the Alchemy SmartAccountSigner interface to support * EIP-7702 delegation with the Lit Protocol PKP. It enables gasless transactions * through integration with Alchemy's gas sponsorship. * * @example * ```typescript * const signer = new LitActionsSmartSigner({ * pkpPublicKey, * chainId, * }); * * // Use with Alchemy's Smart Account Client, and pass as the signer. * ``` */ export interface LitActionsSmartSignerConfig { pkpPublicKey: string; chainId: number; } type Address = `0x${string}`; type Hex = `0x${string}`; type SignableMessage = string | { raw: Hex | Uint8Array; }; type TypedDataDefinition = { domain?: any; types?: any; primaryType?: string; message?: any; }; type AuthorizationRequest = { address?: Address; contractAddress?: Address; chainId: number; nonce: number; }; type SignedAuthorization = { address: Address; chainId: number; nonce: number; r: Hex; s: Hex; v?: bigint; yParity: number; }; interface SmartAccountSigner<Inner = any> { signerType: string; inner: Inner; getAddress: () => Promise<Address>; signMessage: (message: SignableMessage) => Promise<Hex>; signTypedData: (params: TypedDataDefinition) => Promise<Hex>; signAuthorization?: (unsignedAuthorization: AuthorizationRequest) => Promise<SignedAuthorization>; } export declare class LitActionsSmartSigner implements SmartAccountSigner { readonly signerType = "lit-actions"; readonly inner: any; private pkpPublicKey; private signerAddress; constructor(config: LitActionsSmartSignerConfig); getAddress(): Promise<Address>; signMessage(message: SignableMessage): Promise<Hex>; signTypedData(params: TypedDataDefinition): Promise<Hex>; signAuthorization(unsignedAuthorization: AuthorizationRequest): Promise<SignedAuthorization>; } export {}; //# sourceMappingURL=litActionSmartSigner.d.ts.map