@abstract-foundation/agw-client
Version:
Abstract Global Wallet Client SDK
81 lines • 6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sessionWalletActions = sessionWalletActions;
exports.globalWalletActions = globalWalletActions;
exports.linkableWalletActions = linkableWalletActions;
exports.linkablePublicActions = linkablePublicActions;
const viem_1 = require("viem");
const accounts_1 = require("viem/accounts");
const actions_1 = require("viem/actions");
const createSession_js_1 = require("./actions/createSession.js");
const deployContract_js_1 = require("./actions/deployContract.js");
const getLinkedAccounts_js_1 = require("./actions/getLinkedAccounts.js");
const getLinkedAgw_js_1 = require("./actions/getLinkedAgw.js");
const getSessionStatus_js_1 = require("./actions/getSessionStatus.js");
const linkToAgw_js_1 = require("./actions/linkToAgw.js");
const prepareTransaction_js_1 = require("./actions/prepareTransaction.js");
const revokeSessions_js_1 = require("./actions/revokeSessions.js");
const sendTransaction_js_1 = require("./actions/sendTransaction.js");
const sendTransactionBatch_js_1 = require("./actions/sendTransactionBatch.js");
const sendTransactionForSession_js_1 = require("./actions/sendTransactionForSession.js");
const signMessage_js_1 = require("./actions/signMessage.js");
const signTransaction_js_1 = require("./actions/signTransaction.js");
const signTransactionBatch_js_1 = require("./actions/signTransactionBatch.js");
const signTransactionForSession_js_1 = require("./actions/signTransactionForSession.js");
const signTypedData_js_1 = require("./actions/signTypedData.js");
const writeContract_js_1 = require("./actions/writeContract.js");
const writeContractForSession_js_1 = require("./actions/writeContractForSession.js");
const constants_js_1 = require("./constants.js");
const sessionClient_js_1 = require("./sessionClient.js");
function sessionWalletActions(signerClient, publicClient, session, paymasterHandler) {
return (client) => ({
sendTransaction: (args) => (0, sendTransactionForSession_js_1.sendTransactionForSession)(client, signerClient, publicClient, args, session, paymasterHandler),
writeContract: (args) => (0, writeContractForSession_js_1.writeContractForSession)(client, signerClient, publicClient, args, session, paymasterHandler),
signTransaction: (args) => (0, signTransactionForSession_js_1.signTransactionForSession)(client, signerClient, publicClient, args, session, paymasterHandler),
signTypedData: (args) => (0, signTypedData_js_1.signTypedDataForSession)(client, signerClient, publicClient, args, session, paymasterHandler),
getSessionStatus: () => (0, getSessionStatus_js_1.getSessionStatus)(publicClient, (0, accounts_1.parseAccount)(client.account).address, session),
});
}
function globalWalletActions(signerClient, publicClient, isPrivyCrossApp = false, customPaymasterHandler) {
return (client) => ({
getChainId: () => (0, actions_1.getChainId)(client),
getLinkedAccounts: () => (0, getLinkedAccounts_js_1.getLinkedAccounts)(client, {
agwAddress: (0, accounts_1.parseAccount)(client.account).address,
}),
isLinkedAccount: (args) => (0, getLinkedAgw_js_1.isLinkedAccount)(client, args),
createSession: (args) => (0, createSession_js_1.createSession)(client, publicClient, args),
revokeSessions: (args) => (0, revokeSessions_js_1.revokeSessions)(client, args),
prepareAbstractTransactionRequest: (args) => (0, prepareTransaction_js_1.prepareTransactionRequest)(client, signerClient, publicClient, args),
sendTransaction: (args) => (0, sendTransaction_js_1.sendTransaction)(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler),
sendTransactionBatch: (args) => (0, sendTransactionBatch_js_1.sendTransactionBatch)(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler),
signMessage: (args) => (0, signMessage_js_1.signMessage)(client, signerClient, args, isPrivyCrossApp),
signTransaction: (args) => (0, signTransaction_js_1.signTransaction)(client, signerClient, publicClient, args, constants_js_1.EOA_VALIDATOR_ADDRESS, {}, customPaymasterHandler, isPrivyCrossApp),
signTransactionBatch: (args) => (0, signTransactionBatch_js_1.signTransactionBatch)(client, signerClient, publicClient, args, constants_js_1.EOA_VALIDATOR_ADDRESS, {}, customPaymasterHandler, isPrivyCrossApp),
signTypedData: (args) => (0, signTypedData_js_1.signTypedData)(client, signerClient, publicClient, args, isPrivyCrossApp),
deployContract: (args) => (0, deployContract_js_1.deployContract)(client, signerClient, publicClient, args, isPrivyCrossApp),
writeContract: (args) => (0, writeContract_js_1.writeContract)(Object.assign(client, {
sendTransaction: (args) => (0, sendTransaction_js_1.sendTransaction)(client, signerClient, publicClient, args, isPrivyCrossApp, customPaymasterHandler),
}), signerClient, publicClient, args, isPrivyCrossApp),
toSessionClient: (signer, session) => (0, sessionClient_js_1.toSessionClient)({
client: client,
signer,
session: session,
paymasterHandler: customPaymasterHandler,
}),
getSessionStatus: (sessionHashOrConfig) => (0, getSessionStatus_js_1.getSessionStatus)(publicClient, (0, accounts_1.parseAccount)(client.account).address, sessionHashOrConfig),
});
}
function linkableWalletActions() {
return (client) => ({
...(0, viem_1.walletActions)(client),
linkToAgw: (args) => (0, linkToAgw_js_1.linkToAgw)(client, args),
getLinkedAgw: () => (0, getLinkedAgw_js_1.getLinkedAgw)(client, {}),
});
}
function linkablePublicActions() {
return (client) => ({
getLinkedAgw: (args) => (0, getLinkedAgw_js_1.getLinkedAgw)(client, args),
getLinkedAccounts: (args) => (0, getLinkedAccounts_js_1.getLinkedAccounts)(client, args),
});
}
//# sourceMappingURL=walletActions.js.map