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 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"; import { formatEther, parseEther } from "ethers/lib/utils";
// Buyer Flow methods // // Buyer Flow methods //
@ -14,7 +14,7 @@ import { formatEther, parseEther } from "ethers/lib/utils";
const addLock = async ( const addLock = async (
depositId: BigNumber, depositId: BigNumber,
amount: number amount: number
): Promise<Event> => { ): Promise<any> => {
const etherStore = useEtherStore(); const etherStore = useEtherStore();
const provider = getProvider(); const provider = getProvider();
@ -41,7 +41,7 @@ const releaseLock = async (
amount: Number, amount: Number,
e2eId: string, e2eId: string,
lockId: string lockId: string
) => { ): Promise<any> => {
const mockBacenSigner = new ethers.Wallet( const mockBacenSigner = new ethers.Wallet(
"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
); );
@ -77,7 +77,7 @@ const releaseLock = async (
return release; return release;
}; };
const cancelDeposit = async (depositId: BigNumber): Promise<Boolean> => { const cancelDeposit = async (depositId: BigNumber): Promise<boolean> => {
const provider = getProvider(); const provider = getProvider();
const signer = provider.getSigner(); const signer = provider.getSigner();
@ -89,7 +89,7 @@ const cancelDeposit = async (depositId: BigNumber): Promise<Boolean> => {
return true; return true;
}; };
const withdrawDeposit = async (depositId: BigNumber): Promise<Boolean> => { const withdrawDeposit = async (depositId: BigNumber): Promise<boolean> => {
const provider = getProvider(); const provider = getProvider();
if (!provider) return false; 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 { formatEther } from "ethers/lib/utils";
import { getProvider } from "./provider"; import { getProvider } from "./provider";
import { getP2PixAddress } from "./addresses"; import { getP2PixAddress } from "./addresses";
import type { ValidDeposit } from "@/model/ValidDeposit";
const getNetworksLiquidity = async () => { const getNetworksLiquidity = async (): Promise<void> => {
const etherStore = useEtherStore(); const etherStore = useEtherStore();
console.log("Loading events"); console.log("Loading events");
@ -41,7 +42,7 @@ const getNetworksLiquidity = async () => {
console.log(depositListMumbai); console.log(depositListMumbai);
}; };
const getValidDeposits = async (contract?: Contract): Promise<any[]> => { const getValidDeposits = async (contract?: Contract): Promise<ValidDeposit[]> => {
let p2pContract: Contract; let p2pContract: Contract;
if (contract) { if (contract) {
@ -56,7 +57,7 @@ const getValidDeposits = async (contract?: Contract): Promise<any[]> => {
const filterDeposits = p2pContract.filters.DepositAdded(null); const filterDeposits = p2pContract.filters.DepositAdded(null);
const eventsDeposits = await p2pContract.queryFilter(filterDeposits); const eventsDeposits = await p2pContract.queryFilter(filterDeposits);
const depositList: any[] = await Promise.all( const depositList = await Promise.all(
eventsDeposits eventsDeposits
.map(async (deposit) => { .map(async (deposit) => {
const mappedDeposit = await p2pContract.mapDeposits( const mappedDeposit = await p2pContract.mapDeposits(
@ -79,7 +80,7 @@ const getValidDeposits = async (contract?: Contract): Promise<any[]> => {
.filter((deposit) => deposit) .filter((deposit) => deposit)
); );
return depositList; return depositList as ValidDeposit[];
}; };
export { getValidDeposits, getNetworksLiquidity }; export { getValidDeposits, getNetworksLiquidity };

View File

@ -11,7 +11,7 @@ import mockToken from "../utils/smart_contract_files/MockToken.json";
// Seller Flow methods // // Seller Flow methods //
// Approve Tokens // Approve Tokens
const approveTokens = async (tokenQty: string) => { const approveTokens = async (tokenQty: string): Promise<any> => {
const provider = getProvider(); const provider = getProvider();
const signer = provider.getSigner(); const signer = provider.getSigner();
@ -27,11 +27,12 @@ const approveTokens = async (tokenQty: string) => {
); );
await apprv.wait(); await apprv.wait();
console.log(apprv);
return apprv; return apprv;
}; };
// Add deposit // Add deposit
const addDeposit = async (tokenQty: string, pixKey: string) => { const addDeposit = async (tokenQty: string, pixKey: string): Promise<any> => {
const provider = getProvider(); const provider = getProvider();
const signer = provider.getSigner(); const signer = provider.getSigner();
@ -46,9 +47,7 @@ const addDeposit = async (tokenQty: string, pixKey: string) => {
await deposit.wait(); await deposit.wait();
await updateWalletStatus(); return deposit;
// await updateDepositAddedEvents();
// await updateValidDeposits();
}; };
export { approveTokens, addDeposit }; 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 p2pix from "../utils/smart_contract_files/P2PIX.json";
import mockToken from "../utils/smart_contract_files/MockToken.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 { formatEther } from "ethers/lib/utils";
import { getValidDeposits } from "./events"; import { getValidDeposits } from "./events";
import type { ValidDeposit } from "@/model/ValidDeposit";
const updateWalletStatus = async () => { const updateWalletStatus = async (): Promise<void> => {
const etherStore = useEtherStore(); const etherStore = useEtherStore();
const provider = getProvider(); const provider = getProvider();
@ -34,8 +35,9 @@ const updateWalletStatus = async () => {
const listValidDepositTransactionsByWalletAddress = async ( const listValidDepositTransactionsByWalletAddress = async (
walletAddress: string walletAddress: string
): Promise<any[]> => { ): Promise<ValidDeposit[]> => {
const walletDeposits = await getValidDeposits(); const walletDeposits = await getValidDeposits();
if (walletDeposits) { if (walletDeposits) {
return walletDeposits return walletDeposits
.filter((deposit) => deposit.seller == walletAddress) .filter((deposit) => deposit.seller == walletAddress)
@ -43,14 +45,14 @@ const listValidDepositTransactionsByWalletAddress = async (
return b.blockNumber - a.blockNumber; return b.blockNumber - a.blockNumber;
}); });
} }
return []; return [];
}; };
const listAllTransactionByWalletAddress = async ( const listAllTransactionByWalletAddress = async (
walletAddress: string walletAddress: string
): Promise<any[] | undefined> => { ): Promise<Event[]> => {
const provider = getProvider(); const provider = getProvider();
if (!provider) return;
const signer = provider.getSigner(); const signer = provider.getSigner();
const p2pContract = new ethers.Contract(getP2PixAddress(), p2pix.abi, signer); const p2pContract = new ethers.Contract(getP2PixAddress(), p2pix.abi, signer);
@ -76,9 +78,8 @@ const listAllTransactionByWalletAddress = async (
// get wallet's release transactions // get wallet's release transactions
const listReleaseTransactionByWalletAddress = async ( const listReleaseTransactionByWalletAddress = async (
walletAddress: string walletAddress: string
): Promise<any[] | undefined> => { ): Promise<Event[]> => {
const provider = getProvider(); const provider = getProvider();
if (!provider) return;
const signer = provider.getSigner(); const signer = provider.getSigner();
const p2pContract = new ethers.Contract(getP2PixAddress(), p2pix.abi, signer); 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;
};