UNPKG

zksync-sso

Version:
47 lines 2.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.zksyncSsoEcdsaWalletActions = zksyncSsoEcdsaWalletActions; const viem_1 = require("viem"); const actions_1 = require("viem/actions"); const zksync_1 = require("viem/zksync"); const index_js_1 = require("../../../paymaster/index.js"); const sendEip712Transaction_js_1 = require("../../session/actions/sendEip712Transaction.js"); function zksyncSsoEcdsaWalletActions(client) { return { deployContract: (args) => (0, actions_1.deployContract)(client, args), getAddresses: () => (0, actions_1.getAddresses)(client), getChainId: () => (0, actions_1.getChainId)(client), sendRawTransaction: (args) => (0, actions_1.sendRawTransaction)(client, args), sendTransaction: async (args) => { const unformattedTx = Object.assign({}, args); if ("eip712Meta" in unformattedTx) { const eip712Meta = unformattedTx.eip712Meta; unformattedTx.gasPerPubdata = eip712Meta.gasPerPubdata ? BigInt(eip712Meta.gasPerPubdata) : undefined; unformattedTx.factoryDeps = eip712Meta.factoryDeps; unformattedTx.customSignature = eip712Meta.customSignature; unformattedTx.paymaster = eip712Meta.paymasterParams?.paymaster; unformattedTx.paymasterInput = eip712Meta.paymasterParams?.paymasterInput ? (0, viem_1.bytesToHex)(new Uint8Array(eip712Meta.paymasterParams?.paymasterInput)) : undefined; delete unformattedTx.eip712Meta; } const { chainId: _, ...unformattedTxWithPaymaster } = await (0, index_js_1.getTransactionWithPaymasterData)(client.chain.id, client.account.address, unformattedTx, client.paymasterHandler); const formatters = client.chain?.formatters; const format = formatters?.transaction?.format || viem_1.formatTransaction; const tx = { ...format(unformattedTxWithPaymaster), type: "eip712", }; return await (0, sendEip712Transaction_js_1.sendEip712Transaction)(client, tx); }, signMessage: (args) => (0, actions_1.signMessage)(client, args), signTransaction: async (args) => { const { chainId: _, ...unformattedTxWithPaymaster } = await (0, index_js_1.getTransactionWithPaymasterData)(client.chain.id, client.account.address, args, client.paymasterHandler); return (0, zksync_1.signTransaction)(client, { ...args, unformattedTxWithPaymaster, }); }, signTypedData: (args) => (0, actions_1.signTypedData)(client, args), writeContract: (args) => (0, actions_1.writeContract)(client, args), }; } //# sourceMappingURL=wallet.js.map