From b00c5bb939487bd44af90fefdd16440716a29d6a Mon Sep 17 00:00:00 2001 From: RcleydsonR Date: Wed, 7 Dec 2022 19:38:08 -0300 Subject: [PATCH] feat: add get wallet transactions method on blockchain Co-authored-by: brunoedcf Co-authored-by: Esio Freitas --- src/utils/blockchain.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/utils/blockchain.ts b/src/utils/blockchain.ts index 868e290..ed77648 100644 --- a/src/utils/blockchain.ts +++ b/src/utils/blockchain.ts @@ -44,6 +44,25 @@ const splitTokens = async () => { } }; +// get wallet transactions +const listTransactionByWalletAddress = async (walletAddress: string): Promise => { + const provider = getProvider(); + if (!provider) return; + + const signer = provider.getSigner(); + const p2pContract = new ethers.Contract(addresses.p2pix, p2pix.abi, signer); + + const filterDeposits = p2pContract.filters.DepositAdded([walletAddress]); + const eventsDeposits = await p2pContract.queryFilter(filterDeposits); + + const filterReleasedLocks = p2pContract.filters.LockReleased([walletAddress]); + const eventsReleasedLocks = await p2pContract.queryFilter(filterReleasedLocks); + + return [...eventsDeposits, ...eventsReleasedLocks].sort((a, b) => { + return b.blockNumber - a.blockNumber + }) +} + // Update store const updateStore = async () => { const etherStore = useEtherStore(); @@ -200,6 +219,7 @@ const releaseLock = async () => { const provider = getProvider(); if (!provider) return; + // pass depositId as a param const myLock = etherStore.locksAddedList[0]; const lockId = myLock.args.lockID const depositId = myLock.args.depositID @@ -262,6 +282,7 @@ export default { connectProvider, formatEther, splitTokens, + listTransactionByWalletAddress, addDeposit, mapDeposits, formatBigNumber,