Add valid Deposit model and return types of blockchain methods
Co-authored-by: geovanne97 <geovannessaraiva97@gmail.com>
This commit is contained in:
parent
c8a3fd12b2
commit
f87434debe
@ -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;
|
||||||
|
@ -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 };
|
||||||
|
@ -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 };
|
||||||
|
@ -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
10
src/model/ValidDeposit.ts
Normal 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;
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user