UNPKG

@abstract-foundation/agw-client

Version:
31 lines 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAbstractClient = createAbstractClient; const viem_1 = require("viem"); const accounts_1 = require("viem/accounts"); const utils_js_1 = require("./utils.js"); const walletActions_js_1 = require("./walletActions.js"); async function createAbstractClient({ signer, chain, transport, address, isPrivyCrossApp = false, publicTransport = (0, viem_1.http)(), customPaymasterHandler, }) { if (!transport) { throw new Error('Transport is required'); } const publicClient = (0, viem_1.createPublicClient)({ chain: chain, transport: publicTransport, }); const smartAccountAddress = address ?? (await (0, utils_js_1.getSmartAccountAddressFromInitialSigner)(signer.address, publicClient)); const baseClient = (0, viem_1.createClient)({ account: (0, accounts_1.toAccount)(smartAccountAddress), chain: chain, transport, }); const signerWalletClient = (0, viem_1.createWalletClient)({ account: signer, chain: chain, transport, }); const abstractClient = baseClient.extend((0, walletActions_js_1.globalWalletActions)(signerWalletClient, publicClient, isPrivyCrossApp, customPaymasterHandler)); return abstractClient; } //# sourceMappingURL=abstractClient.js.map