diff --git a/src/blockchain/buyerMethods.ts b/src/blockchain/buyerMethods.ts index df22f81..431445f 100644 --- a/src/blockchain/buyerMethods.ts +++ b/src/blockchain/buyerMethods.ts @@ -5,7 +5,7 @@ import { getP2PixAddress } from "./addresses"; import p2pix from "../utils/smart_contract_files/P2PIX.json"; -import { BigNumber, ethers, type Event } from "ethers"; +import { BigNumber, ethers } from "ethers"; import { formatEther, parseEther } from "ethers/lib/utils"; // Buyer Flow methods // @@ -14,7 +14,7 @@ import { formatEther, parseEther } from "ethers/lib/utils"; const addLock = async ( depositId: BigNumber, amount: number -): Promise => { +): Promise => { const etherStore = useEtherStore(); const provider = getProvider(); @@ -41,7 +41,7 @@ const releaseLock = async ( amount: Number, e2eId: string, lockId: string -) => { +): Promise => { const mockBacenSigner = new ethers.Wallet( "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" ); @@ -77,7 +77,7 @@ const releaseLock = async ( return release; }; -const cancelDeposit = async (depositId: BigNumber): Promise => { +const cancelDeposit = async (depositId: BigNumber): Promise => { const provider = getProvider(); const signer = provider.getSigner(); @@ -89,7 +89,7 @@ const cancelDeposit = async (depositId: BigNumber): Promise => { return true; }; -const withdrawDeposit = async (depositId: BigNumber): Promise => { +const withdrawDeposit = async (depositId: BigNumber): Promise => { const provider = getProvider(); if (!provider) return false; diff --git a/src/blockchain/events.ts b/src/blockchain/events.ts index 7ca5680..cfa2048 100644 --- a/src/blockchain/events.ts +++ b/src/blockchain/events.ts @@ -5,8 +5,9 @@ import p2pix from "../utils/smart_contract_files/P2PIX.json"; import { formatEther } from "ethers/lib/utils"; import { getProvider } from "./provider"; import { getP2PixAddress } from "./addresses"; +import type { ValidDeposit } from "@/model/ValidDeposit"; -const getNetworksLiquidity = async () => { +const getNetworksLiquidity = async (): Promise => { const etherStore = useEtherStore(); console.log("Loading events"); @@ -41,7 +42,7 @@ const getNetworksLiquidity = async () => { console.log(depositListMumbai); }; -const getValidDeposits = async (contract?: Contract): Promise => { +const getValidDeposits = async (contract?: Contract): Promise => { let p2pContract: Contract; if (contract) { @@ -56,7 +57,7 @@ const getValidDeposits = async (contract?: Contract): Promise => { const filterDeposits = p2pContract.filters.DepositAdded(null); const eventsDeposits = await p2pContract.queryFilter(filterDeposits); - const depositList: any[] = await Promise.all( + const depositList = await Promise.all( eventsDeposits .map(async (deposit) => { const mappedDeposit = await p2pContract.mapDeposits( @@ -79,7 +80,7 @@ const getValidDeposits = async (contract?: Contract): Promise => { .filter((deposit) => deposit) ); - return depositList; + return depositList as ValidDeposit[]; }; export { getValidDeposits, getNetworksLiquidity }; diff --git a/src/blockchain/sellerMethods.ts b/src/blockchain/sellerMethods.ts index 8f9b152..0e4bc4a 100644 --- a/src/blockchain/sellerMethods.ts +++ b/src/blockchain/sellerMethods.ts @@ -11,7 +11,7 @@ import mockToken from "../utils/smart_contract_files/MockToken.json"; // Seller Flow methods // // Approve Tokens -const approveTokens = async (tokenQty: string) => { +const approveTokens = async (tokenQty: string): Promise => { const provider = getProvider(); const signer = provider.getSigner(); @@ -27,11 +27,12 @@ const approveTokens = async (tokenQty: string) => { ); await apprv.wait(); + console.log(apprv); return apprv; }; // Add deposit -const addDeposit = async (tokenQty: string, pixKey: string) => { +const addDeposit = async (tokenQty: string, pixKey: string): Promise => { const provider = getProvider(); const signer = provider.getSigner(); @@ -46,9 +47,7 @@ const addDeposit = async (tokenQty: string, pixKey: string) => { await deposit.wait(); - await updateWalletStatus(); - // await updateDepositAddedEvents(); - // await updateValidDeposits(); + return deposit; }; export { approveTokens, addDeposit }; diff --git a/src/blockchain/wallet.ts b/src/blockchain/wallet.ts index e876fba..33d4056 100644 --- a/src/blockchain/wallet.ts +++ b/src/blockchain/wallet.ts @@ -6,11 +6,12 @@ import { getP2PixAddress, getTokenAddress, possibleChains } from "./addresses"; import p2pix from "../utils/smart_contract_files/P2PIX.json"; import mockToken from "../utils/smart_contract_files/MockToken.json"; -import { ethers } from "ethers"; +import { ethers, type Event } from "ethers"; import { formatEther } from "ethers/lib/utils"; import { getValidDeposits } from "./events"; +import type { ValidDeposit } from "@/model/ValidDeposit"; -const updateWalletStatus = async () => { +const updateWalletStatus = async (): Promise => { const etherStore = useEtherStore(); const provider = getProvider(); @@ -34,8 +35,9 @@ const updateWalletStatus = async () => { const listValidDepositTransactionsByWalletAddress = async ( walletAddress: string -): Promise => { +): Promise => { const walletDeposits = await getValidDeposits(); + if (walletDeposits) { return walletDeposits .filter((deposit) => deposit.seller == walletAddress) @@ -43,14 +45,14 @@ const listValidDepositTransactionsByWalletAddress = async ( return b.blockNumber - a.blockNumber; }); } + return []; }; const listAllTransactionByWalletAddress = async ( walletAddress: string -): Promise => { +): Promise => { const provider = getProvider(); - if (!provider) return; const signer = provider.getSigner(); const p2pContract = new ethers.Contract(getP2PixAddress(), p2pix.abi, signer); @@ -76,9 +78,8 @@ const listAllTransactionByWalletAddress = async ( // get wallet's release transactions const listReleaseTransactionByWalletAddress = async ( walletAddress: string -): Promise => { +): Promise => { const provider = getProvider(); - if (!provider) return; const signer = provider.getSigner(); const p2pContract = new ethers.Contract(getP2PixAddress(), p2pix.abi, signer); diff --git a/src/model/ValidDeposit.ts b/src/model/ValidDeposit.ts new file mode 100644 index 0000000..2aa19ab --- /dev/null +++ b/src/model/ValidDeposit.ts @@ -0,0 +1,10 @@ +import type { BigNumber } from "ethers"; + +export type ValidDeposit = { + depositID: BigNumber; + blockNumber: number; + remaining: string; + seller: string; + pixKey: (string | undefined); + pixTarget?: string; +}; \ No newline at end of file