@abstract-foundation/agw-client
Version:
Abstract Global Wallet Client SDK
20 lines • 1.7 kB
JavaScript
import { parseAccount } from "viem/accounts";
import { getSessionStatus } from "../../actions/getSessionStatus.js";
import { sendTransactionForSession } from "../../actions/sendTransactionForSession.js";
import { sendTransactionForSessionSync } from "../../actions/sendTransactionForSessionSync.js";
import { signTransactionForSession } from "../../actions/signTransactionForSession.js";
import { signTypedDataForSession } from "../../actions/signTypedData.js";
import { writeContractForSession } from "../../actions/writeContractForSession.js";
import { writeContractForSessionSync } from "../../actions/writeContractForSessionSync.js";
export function sessionWalletActions(signerClient, publicClient, session, paymasterHandler) {
return (client) => ({
sendTransaction: (args) => sendTransactionForSession(client, signerClient, publicClient, args, session, paymasterHandler),
writeContract: (args) => writeContractForSession(client, signerClient, publicClient, args, session, paymasterHandler),
sendTransactionSync: (args) => sendTransactionForSessionSync(client, signerClient, publicClient, args, session, paymasterHandler),
writeContractSync: (args) => writeContractForSessionSync(client, signerClient, publicClient, args, session, paymasterHandler),
signTransaction: (args) => signTransactionForSession(client, signerClient, publicClient, args, session, paymasterHandler),
signTypedData: (args) => signTypedDataForSession(client, signerClient, publicClient, args, session, paymasterHandler),
getSessionStatus: () => getSessionStatus(publicClient, parseAccount(client.account).address, session),
});
}
//# sourceMappingURL=session.js.map