117 lines
3.4 KiB
TypeScript
117 lines
3.4 KiB
TypeScript
// import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
|
|
// import { expect } from "chai";
|
|
// import { ethers } from "hardhat";
|
|
|
|
// import { MockToken, P2PIX } from "../src/types";
|
|
|
|
// describe("P2PIX deposit test", () => {
|
|
// let owner: SignerWithAddress;
|
|
// let wallet2: SignerWithAddress;
|
|
// // let wallet3: SignerWithAddress;
|
|
// // let wallet4: SignerWithAddress;
|
|
// let p2pix: P2PIX; // Contract instance
|
|
// let erc20: MockToken; // Token instance
|
|
|
|
// it("Will deploy contracts", async () => {
|
|
// [owner, wallet2 /* wallet3, wallet4 */] =
|
|
// await ethers.getSigners();
|
|
|
|
// const ERC20Factory = await ethers.getContractFactory(
|
|
// "MockToken",
|
|
// );
|
|
// erc20 = await ERC20Factory.deploy(
|
|
// ethers.utils.parseEther("20000000"),
|
|
// );
|
|
// await erc20.deployed();
|
|
|
|
// // Check initial balance
|
|
// expect(await erc20.balanceOf(owner.address)).to.equal(
|
|
// ethers.utils.parseEther("20000000"),
|
|
// );
|
|
|
|
// const P2PIX = await ethers.getContractFactory("P2PIX");
|
|
// p2pix = await P2PIX.deploy(2, [
|
|
// owner.address,
|
|
// wallet2.address,
|
|
// ]);
|
|
// await p2pix.deployed();
|
|
|
|
// const ownerKey = await p2pix._castAddrToKey(owner.address);
|
|
// const wallet2Key = await p2pix._castAddrToKey(wallet2.address);
|
|
|
|
// // Verify values at deployment
|
|
// expect(
|
|
// await p2pix.callStatic.validBacenSigners(ownerKey),
|
|
// ).to.equal(true);
|
|
// expect(
|
|
// await p2pix.validBacenSigners(wallet2Key),
|
|
// ).to.equal(true);
|
|
// });
|
|
|
|
// it("Should allow create a deposit", async () => {
|
|
// let transaction = await erc20.approve(
|
|
// p2pix.address,
|
|
// ethers.utils.parseEther("2000"),
|
|
// );
|
|
// await expect(transaction)
|
|
// .to.emit(erc20, "Approval")
|
|
// .withArgs(
|
|
// owner.address,
|
|
// p2pix.address,
|
|
// ethers.utils.parseEther("2000"),
|
|
// );
|
|
|
|
// transaction = await p2pix.deposit(
|
|
// erc20.address,
|
|
// ethers.utils.parseEther("1000"),
|
|
// "SELLER PIX KEY",
|
|
// // { value: ethers.utils.parseEther("0.1") },
|
|
// );
|
|
// await expect(transaction)
|
|
// .to.emit(p2pix, "DepositAdded")
|
|
// .withArgs(
|
|
// owner.address,
|
|
// 0,
|
|
// erc20.address,
|
|
// // ethers.utils.parseEther("0.1"),
|
|
// ethers.utils.parseEther("1000"),
|
|
// );
|
|
// });
|
|
|
|
// it("Should allow create second deposit", async () => {
|
|
// const transaction = await p2pix.deposit(
|
|
// erc20.address,
|
|
// ethers.utils.parseEther("1000"),
|
|
// "SELLER PIX KEY",
|
|
// // { value: ethers.utils.parseEther("0.1") },
|
|
// );
|
|
// await expect(transaction)
|
|
// .to.emit(p2pix, "DepositAdded")
|
|
// .withArgs(
|
|
// owner.address,
|
|
// 1,
|
|
// erc20.address,
|
|
// // ethers.utils.parseEther("0.1"),
|
|
// ethers.utils.parseEther("1000"),
|
|
// );
|
|
// });
|
|
|
|
// it("Should allow cancel first deposit", async () => {
|
|
// const transaction = await p2pix.cancelDeposit(0);
|
|
// await expect(transaction)
|
|
// .to.emit(p2pix, "DepositClosed")
|
|
// .withArgs(owner.address, 0);
|
|
// });
|
|
|
|
// it("Should allow withdraw the deposit", async () => {
|
|
// const transaction = await p2pix.withdraw(0, []);
|
|
// await expect(transaction)
|
|
// .to.emit(p2pix, "DepositWithdrawn")
|
|
// .withArgs(
|
|
// owner.address,
|
|
// 0,
|
|
// ethers.utils.parseEther("1000"),
|
|
// );
|
|
// });
|
|
// });
|