UNPKG

tensaikit-test

Version:

An autonomous DeFi AI Agent Kit on Katana enabling AI agents to plan and execute on-chain financial operations.

46 lines (45 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrivyWalletProvider = void 0; const privyEvmWalletProvider_1 = require("./privyEvmWalletProvider"); const privyEvmDelegatedEmbeddedWalletProvider_1 = require("./privyEvmDelegatedEmbeddedWalletProvider"); /** * Factory class for creating chain-specific Privy wallet providers */ class PrivyWalletProvider { /** * Creates and configures a new wallet provider instance based on the chain type and wallet type. * * @param config - The configuration options for the Privy wallet * @returns A configured WalletProvider instance for the specified chain and wallet type * * @example * ```typescript * // For EVM server wallets (default) * const evmWallet = await PrivyWalletProvider.configureWithWallet({ * appId: "your-app-id", * appSecret: "your-app-secret" * }); * * // For Ethereum embedded wallets * const embeddedWallet = await PrivyWalletProvider.configureWithWallet({ * appId: "your-app-id", * appSecret: "your-app-secret", * walletId: "delegated-wallet-id", * walletType: "embedded" * }); * ``` */ static async configureWithWallet(config) { const walletType = config.walletType || "server"; switch (walletType) { case "server": return (await privyEvmWalletProvider_1.PrivyEvmWalletProvider.configureWithWallet(config)); case "embedded": return (await privyEvmDelegatedEmbeddedWalletProvider_1.PrivyEvmDelegatedEmbeddedWalletProvider.configureWithWallet(config)); default: throw new Error("Invalid wallet type"); } } } exports.PrivyWalletProvider = PrivyWalletProvider;