UNPKG

@abstract-foundation/agw-client

Version:
63 lines 4.52 kB
import { parseAccount } from "viem/accounts"; import { getChainId, } from "viem/actions"; import { createSession, } from "../../actions/createSession.js"; import { deployContract } from "../../actions/deployContract.js"; import { getCallsStatus } from "../../actions/getCallsStatus.js"; import { getCapabilities } from "../../actions/getCapabilities.js"; import { getLinkedAccounts, } from "../../actions/getLinkedAccounts.js"; import { isLinkedAccount, } from "../../actions/getLinkedAgw.js"; import { getSessionStatus } from "../../actions/getSessionStatus.js"; import { prepareTransactionRequest, } from "../../actions/prepareTransaction.js"; import { revokeSessions, } from "../../actions/revokeSessions.js"; import { sendCalls } from "../../actions/sendCalls.js"; import { sendTransaction } from "../../actions/sendTransaction.js"; import { sendTransactionBatch } from "../../actions/sendTransactionBatch.js"; import { sendTransactionSync } from "../../actions/sendTransactionSync.js"; import { signMessage } from "../../actions/signMessage.js"; import { signTransaction } from "../../actions/signTransaction.js"; import { signTransactionBatch } from "../../actions/signTransactionBatch.js"; import { signTypedData } from "../../actions/signTypedData.js"; import { writeContract } from "../../actions/writeContract.js"; import { writeContractSync } from "../../actions/writeContractSync.js"; import { EOA_VALIDATOR_ADDRESS } from "../../constants.js"; import { toSessionClient } from "../sessionClient.js"; export function globalWalletActions(signerClient, publicClient, isPrivyCrossApp = false, customPaymasterHandler) { return (client) => ({ getChainId: () => getChainId(client), getLinkedAccounts: () => getLinkedAccounts(client, { agwAddress: parseAccount(client.account).address, }), isLinkedAccount: (args) => isLinkedAccount(client, args), createSession: (args) => createSession(client, args), revokeSessions: (args) => revokeSessions(client, args), prepareAbstractTransactionRequest: (args) => prepareTransactionRequest(client, signerClient, publicClient, args), sendTransaction: (args) => sendTransaction(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler), sendTransactionBatch: (args) => sendTransactionBatch(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler), signMessage: (args) => signMessage(client, signerClient, args, isPrivyCrossApp), signTransaction: (args) => signTransaction(client, signerClient, publicClient, args, EOA_VALIDATOR_ADDRESS, {}, customPaymasterHandler, isPrivyCrossApp), signTransactionBatch: (args) => signTransactionBatch(client, signerClient, publicClient, args, EOA_VALIDATOR_ADDRESS, {}, customPaymasterHandler, isPrivyCrossApp), signTypedData: (args) => signTypedData(client, signerClient, publicClient, args, isPrivyCrossApp), deployContract: (args) => deployContract(client, signerClient, publicClient, args, isPrivyCrossApp), writeContract: (args) => writeContract(Object.assign(client, { sendTransaction: (args) => sendTransaction(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler), }), signerClient, publicClient, args, isPrivyCrossApp), sendTransactionSync: (args) => sendTransactionSync(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler), writeContractSync: (args) => writeContractSync(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler), toSessionClient: (signer, session) => toSessionClient({ client: client, signer, session: session, paymasterHandler: customPaymasterHandler, }), getSessionStatus: (sessionHashOrConfig) => getSessionStatus(publicClient, parseAccount(client.account).address, sessionHashOrConfig), /** EIP-5792 actions - see https://eips.ethereum.org/EIPS/eip-5792 */ getCallsStatus: (args) => getCallsStatus(publicClient, args), sendCalls: (args) => sendCalls(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler), getCapabilities: (args) => getCapabilities(client, args), showCallsStatus: (_args) => { // requires UI implementation; not implemented in raw client return Promise.resolve(); }, }); } //# sourceMappingURL=abstract.js.map