UNPKG

@abstract-foundation/agw-client

Version:
33 lines 1.39 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 abstract_js_1 = require("./decorators/abstract.js"); async function createAbstractClient({ signer, chain, transport, address, isPrivyCrossApp = false, publicTransport = (0, viem_1.http)(undefined, { batch: true, }), 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, abstract_js_1.globalWalletActions)(signerWalletClient, publicClient, isPrivyCrossApp, customPaymasterHandler)); return abstractClient; } //# sourceMappingURL=abstractClient.js.map