@arbius/aa-wallet
Version:
A secure and flexible Account Abstraction wallet implementation for Arbitrum One chain applications.
27 lines (26 loc) • 1 kB
JavaScript
;
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]);
}