UNPKG

@abstract-foundation/agw-client

Version:
45 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toSessionClient = toSessionClient; exports.createSessionClient = createSessionClient; const viem_1 = require("viem"); const accounts_1 = require("viem/accounts"); const walletActions_js_1 = require("./walletActions.js"); function toSessionClient({ client, signer, session, paymasterHandler, }) { return createSessionClient({ account: client.account, chain: client.chain, session, signer, transport: (0, viem_1.custom)(client.transport), paymasterHandler, }); } function createSessionClient({ account, signer, chain, transport, session, paymasterHandler, nonceManager, }) { if (!transport) { transport = (0, viem_1.http)(undefined, { batch: true, }); } const publicClient = (0, viem_1.createPublicClient)({ transport, chain, }); const parsedAccount = typeof account === 'string' ? (0, accounts_1.toAccount)(account) : account; if (nonceManager) { parsedAccount.nonceManager = nonceManager; } const baseClient = (0, viem_1.createClient)({ account: parsedAccount, chain: chain, transport, }); const signerWalletClient = (0, viem_1.createWalletClient)({ account: signer, chain: chain, transport, }); const sessionClient = baseClient.extend((0, walletActions_js_1.sessionWalletActions)(signerWalletClient, publicClient, session, paymasterHandler)); return sessionClient; } //# sourceMappingURL=sessionClient.js.map