Add valid Deposit model and return types of blockchain methods

Co-authored-by: geovanne97 <geovannessaraiva97@gmail.com>
This commit is contained in:
RcleydsonR 2023-01-18 23:02:02 -03:00
parent c8a3fd12b2
commit f87434debe
5 changed files with 32 additions and 21 deletions

View File

@ -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<Event> => {
): Promise<any> => {
const etherStore = useEtherStore();
const provider = getProvider();
@ -41,7 +41,7 @@ const releaseLock = async (
amount: Number,
e2eId: string,
lockId: string
) => {
): Promise<any> => {
const mockBacenSigner = new ethers.Wallet(
"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
);
@ -77,7 +77,7 @@ const releaseLock = async (
return release;
};
const cancelDeposit = async (depositId: BigNumber): Promise<Boolean> => {
const cancelDeposit = async (depositId: BigNumber): Promise<boolean> => {
const provider = getProvider();
const signer = provider.getSigner();
@ -89,7 +89,7 @@ const cancelDeposit = async (depositId: BigNumber): Promise<Boolean> => {
return true;
};
const withdrawDeposit = async (depositId: BigNumber): Promise<Boolean> => {
const withdrawDeposit = async (depositId: BigNumber): Promise<boolean> => {
const provider = getProvider();
if (!provider) return false;

View File

@ -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<void> => {
const etherStore = useEtherStore();
console.log("Loading events");
@ -41,7 +42,7 @@ const getNetworksLiquidity = async () => {
console.log(depositListMumbai);
};
const getValidDeposits = async (contract?: Contract): Promise<any[]> => {
const getValidDeposits = async (contract?: Contract): Promise<ValidDeposit[]> => {
let p2pContract: Contract;
if (contract) {
@ -56,7 +57,7 @@ const getValidDeposits = async (contract?: Contract): Promise<any[]> => {
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<any[]> => {
.filter((deposit) => deposit)
);
return depositList;
return depositList as ValidDeposit[];
};
export { getValidDeposits, getNetworksLiquidity };

View File

@ -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<any> => {
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<any> => {
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 };

View File

@ -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<void> => {
const etherStore = useEtherStore();
const provider = getProvider();
@ -34,8 +35,9 @@ const updateWalletStatus = async () => {
const listValidDepositTransactionsByWalletAddress = async (
walletAddress: string
): Promise<any[]> => {
): Promise<ValidDeposit[]> => {
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<any[] | undefined> => {
): Promise<Event[]> => {
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<any[] | undefined> => {
): Promise<Event[]> => {
const provider = getProvider();
if (!provider) return;
const signer = provider.getSigner();
const p2pContract = new ethers.Contract(getP2PixAddress(), p2pix.abi, signer);

10
src/model/ValidDeposit.ts Normal file
View File

@ -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;
};