UNPKG

@abstract-foundation/agw-client

Version:
39 lines 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeContract = writeContract; const viem_1 = require("viem"); const utils_1 = require("viem/utils"); const account_js_1 = require("../errors/account.js"); const sendTransaction_js_1 = require("./sendTransaction.js"); async function writeContract(client, signerClient, publicClient, parameters, isPrivyCrossApp = false) { const { abi, account: account_ = client.account, address, args, dataSuffix, functionName, ...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, sendTransaction_js_1.sendTransaction)(client, signerClient, publicClient, { data: `${data}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`, to: address, account, ...request, }, isPrivyCrossApp); } catch (error) { throw (0, utils_1.getContractError)(error, { abi, address, args, docsPath: '/docs/contract/writeContract', functionName, sender: account.address, }); } } //# sourceMappingURL=writeContract.js.map