UNPKG

@arbius/aa-wallet

Version:

A secure and flexible Account Abstraction wallet implementation for Arbitrum One chain applications.

27 lines (26 loc) 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useTransactions = useTransactions; const react_1 = require("react"); const useAAWallet_1 = require("./useAAWallet"); const types_1 = require("../types"); /** * Hook to access and filter transactions * @returns Filtered transactions and status flags */ function useTransactions() { const { transactions } = (0, useAAWallet_1.useAAWallet)(); return (0, react_1.useMemo)(() => { const pending = transactions.filter(tx => tx.status === types_1.TransactionStatus.PENDING); const completed = transactions.filter(tx => tx.status === types_1.TransactionStatus.SUCCESS); const failed = transactions.filter(tx => tx.status === types_1.TransactionStatus.ERROR); return { transactions, pending, completed, failed, isPending: pending.length > 0, hasFailed: failed.length > 0, }; }, [transactions]); }