UNPKG

@abstract-foundation/agw-client

Version:
29 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.signTransactionForSession = signTransactionForSession; const viem_1 = require("viem"); const constants_js_1 = require("../constants.js"); const sessions_js_1 = require("../sessions.js"); const utils_js_1 = require("../utils.js"); const signTransaction_js_1 = require("./signTransaction.js"); async function signTransactionForSession(client, signerClient, publicClient, parameters, session, customPaymasterHandler = undefined) { const isDeployed = await (0, utils_js_1.isSmartAccountDeployed)(publicClient, client.account.address); if (!isDeployed) { throw new viem_1.BaseError('Smart account not deployed'); } const selector = parameters.data ? `0x${parameters.data.slice(2, 10)}` : undefined; if (!parameters.to) { throw new viem_1.BaseError('Transaction to field is not specified'); } return await (0, signTransaction_js_1.signTransaction)(client, signerClient, publicClient, parameters, constants_js_1.SESSION_KEY_VALIDATOR_ADDRESS, { [constants_js_1.SESSION_KEY_VALIDATOR_ADDRESS]: (0, sessions_js_1.encodeSessionWithPeriodIds)(session, (0, sessions_js_1.getPeriodIdsForTransaction)({ sessionConfig: session, target: parameters.to, selector, timestamp: BigInt(Math.floor(Date.now() / 1000)), })), }, customPaymasterHandler); } //# sourceMappingURL=signTransactionForSession.js.map