UNPKG

@abstract-foundation/agw-client

Version:
41 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeContractForSessionSync = writeContractForSessionSync; const viem_1 = require("viem"); const utils_1 = require("viem/utils"); const account_js_1 = require("../errors/account.js"); const sendTransactionForSessionSync_js_1 = require("./sendTransactionForSessionSync.js"); async function writeContractForSessionSync(client, signerClient, publicClient, parameters, session, customPaymasterHandler = undefined) { const { abi, account: account_ = client.account, address, args, dataSuffix, functionName, throwOnReceiptRevert, timeout, ...request } = parameters; if (!account_) throw new account_js_1.AccountNotFoundError({ docsPath: "/docs/contract/writeContract", }); const account = (0, utils_1.parseAccount)(account_); const data = (0, viem_1.encodeFunctionData)({ abi, args, functionName, }); try { return await (0, sendTransactionForSessionSync_js_1.sendTransactionForSessionSync)(client, signerClient, publicClient, { data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`, to: address, account, throwOnReceiptRevert, timeout, ...request, }, session, customPaymasterHandler); } catch (error) { throw (0, utils_1.getContractError)(error, { abi, address, args, docsPath: "/docs/contract/writeContract", functionName, sender: account.address, }); } } //# sourceMappingURL=writeContractForSessionSync.js.map