@abstract-foundation/agw-react
Version:
Abstract Global Wallet React Components
43 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useRevokeSessions = void 0;
const constants_1 = require("@abstract-foundation/agw-client/constants");
const sessions_1 = require("@abstract-foundation/agw-client/sessions");
const wagmi_1 = require("wagmi");
const useRevokeSessions = () => {
const { writeContract, writeContractAsync, ...writeContractRest } = (0, wagmi_1.useWriteContract)();
const getSessionHashes = (sessions) => {
return typeof sessions === 'string'
? [sessions]
: Array.isArray(sessions)
? sessions.map((session) => typeof session === 'string' ? session : (0, sessions_1.getSessionHash)(session))
: [(0, sessions_1.getSessionHash)(sessions)];
};
return {
revokeSessions: (params) => {
const { sessions, ...rest } = params;
const sessionHashes = getSessionHashes(sessions);
writeContract({
address: constants_1.sessionKeyValidatorAddress,
abi: sessions_1.SessionKeyValidatorAbi,
functionName: 'revokeKeys',
args: [sessionHashes],
...rest,
});
},
revokeSessionsAsync: async (params) => {
const { sessions, ...rest } = params;
const sessionHashes = getSessionHashes(sessions);
await writeContractAsync({
address: constants_1.sessionKeyValidatorAddress,
abi: sessions_1.SessionKeyValidatorAbi,
functionName: 'revokeKeys',
args: [sessionHashes],
...rest,
});
},
...writeContractRest,
};
};
exports.useRevokeSessions = useRevokeSessions;
//# sourceMappingURL=useRevokeSessions.js.map