Skip to content

Commit

Permalink
use latest openzeppelin contracts version (#22)
Browse files Browse the repository at this point in the history
* use latest openzeppelin contracts version

* fix codefactor
  • Loading branch information
YouStillAlive committed Apr 11, 2024
1 parent b8e1673 commit bc1db3a
Show file tree
Hide file tree
Showing 9 changed files with 652 additions and 651 deletions.
4 changes: 0 additions & 4 deletions contracts/mock/LockDealNFT.sol

This file was deleted.

10 changes: 10 additions & 0 deletions hardhat.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ const config: HardhatUserConfig = {
defaultNetwork: "hardhat",
solidity: {
compilers: [
{
version: "0.8.24",
settings: {
evmVersion: "istanbul",
optimizer: {
enabled: true,
runs: 200,
},
},
},
{
version: "0.8.19",
settings: {
Expand Down
1,226 changes: 603 additions & 623 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
},
"dependencies": {
"@ironblocks/firewall-consumer": "^1.0.5",
"@openzeppelin/contracts": "^4.9.6",
"@openzeppelin/contracts": "^5.0.2",
"@poolzfinance/poolz-helper-v2": "^2.3.5",
"@poolzfinance/lockdeal-nft": "^0.8.0",
"@poolzfinance/lockdeal-nft": "0.8.1",
"@poolzfinance/refund-provider": "^0.8.0",
"@poolzfinance/collateral-provider": "^0.8.1"
}
Expand Down
24 changes: 14 additions & 10 deletions test/RebuildPools.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
import { MockVaultManager } from "../typechain-types"
import { DealProvider } from "../typechain-types"
import { LockDealNFT } from "../typechain-types"
import { LockDealProvider } from "../typechain-types"
import { TimedDealProvider } from "../typechain-types"
import { CollateralProvider } from "../typechain-types"
import { RefundProvider } from "../typechain-types"
import { SimpleRefundBuilder } from "../typechain-types"
import { deployed, constants } from "@poolzfinance/poolz-helper-v2"
import { _createUsers, _logGasPrice } from "./helper"
import { _createUsers, _logGasPrice, deployed } from "./helper"
import LockDealNFTArtifact from "@poolzfinance/lockdeal-nft/artifacts/contracts/LockDealNFT/LockDealNFT.sol/LockDealNFT.json"
import { time } from "@nomicfoundation/hardhat-network-helpers"
import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"
import { expect } from "chai"
import { BigNumber, Bytes } from "ethers"
import { ethers } from "hardhat"
import { Contract } from "hardhat/internal/hardhat-network/stack-traces/model"

describe("onERC721Received Collateral tests", function () {
let lockProvider: LockDealProvider
let dealProvider: DealProvider
let mockVaultManager: MockVaultManager
let timedProvider: TimedDealProvider
let simpleRefundBuilder: SimpleRefundBuilder
let lockDealNFT: LockDealNFT
let lockDealNFT: Contract
let addressParams: [string, string, string]
let projectOwner: SignerWithAddress
let user1: SignerWithAddress
Expand Down Expand Up @@ -48,7 +48,9 @@ describe("onERC721Received Collateral tests", function () {
before(async () => {
[projectOwner, user1, user2, user3] = await ethers.getSigners()
mockVaultManager = (await deployed("MockVaultManager")) as MockVaultManager
lockDealNFT = (await deployed("LockDealNFT", mockVaultManager.address, "")) as LockDealNFT
const LockDealNFT = await ethers.getContractFactory(LockDealNFTArtifact.abi, LockDealNFTArtifact.bytecode)
lockDealNFT = await LockDealNFT.deploy(mockVaultManager.address, "")
await lockDealNFT.deployed()
dealProvider = (await deployed("DealProvider", lockDealNFT.address)) as DealProvider
lockProvider = (await deployed("LockDealProvider", lockDealNFT.address, dealProvider.address)) as LockDealProvider
timedProvider = (await deployed("TimedDealProvider", lockDealNFT.address, lockProvider.address)) as TimedDealProvider
Expand Down Expand Up @@ -153,14 +155,16 @@ describe("onERC721Received Collateral tests", function () {

it("should revert invalid nft token", async () => {
// fake nft token
const newlockDealNFT = (await deployed("LockDealNFT", mockVaultManager.address, "")) as LockDealNFT
const dealProvider = (await deployed("DealProvider", newlockDealNFT.address)) as DealProvider
await newlockDealNFT.setApprovedContract(dealProvider.address, true)
await newlockDealNFT.setApprovedContract(simpleRefundBuilder.address, true)
const LockDealNFT = await ethers.getContractFactory(LockDealNFTArtifact.abi, LockDealNFTArtifact.bytecode)
const newLockDealNFT = await LockDealNFT.deploy(mockVaultManager.address, "")
await newLockDealNFT.deployed()
const dealProvider = (await deployed("DealProvider", newLockDealNFT.address)) as DealProvider
await newLockDealNFT.setApprovedContract(dealProvider.address, true)
await newLockDealNFT.setApprovedContract(simpleRefundBuilder.address, true)
await dealProvider.createNewPool([projectOwner.address, token], [amount], tokenSignature)
// send fake nft token to simple refund builder
await expect(
newlockDealNFT["safeTransferFrom(address,address,uint256,bytes)"](
newLockDealNFT["safeTransferFrom(address,address,uint256,bytes)"](
projectOwner.address,
simpleRefundBuilder.address,
0,
Expand Down
12 changes: 7 additions & 5 deletions test/SimpleBuilder.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
import { MockVaultManager } from '../typechain-types';
import { DealProvider } from '../typechain-types';
import { LockDealNFT } from '../typechain-types';
import { LockDealProvider } from '../typechain-types';
import { TimedDealProvider } from '../typechain-types';
import { SimpleBuilder } from '../typechain-types';
import { deployed } from '@poolzfinance/poolz-helper-v2';
import { _createUsers, _logGasPrice } from './helper';
import { _createUsers, _logGasPrice, deployed } from './helper';
import LockDealNFTArtifact from "@poolzfinance/lockdeal-nft/artifacts/contracts/LockDealNFT/LockDealNFT.sol/LockDealNFT.json"
import { time } from '@nomicfoundation/hardhat-network-helpers';
import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers';
import { expect } from 'chai';
import { BigNumber, Bytes } from 'ethers';
import { ethers } from 'hardhat';
import { BuilderState } from '../typechain-types/contracts/Builders/SimpleBuilder/SimpleBuilder';
import { Contract } from "hardhat/internal/hardhat-network/stack-traces/model"

describe('Simple Builder tests', function () {
let lockProvider: LockDealProvider;
let dealProvider: DealProvider;
let mockVaultManager: MockVaultManager;
let timedProvider: TimedDealProvider;
let simpleBuilder: SimpleBuilder;
let lockDealNFT: LockDealNFT;
let lockDealNFT: Contract;
let userData: BuilderState.BuilderStruct;
let addressParams: [string, string];
let projectOwner: SignerWithAddress;
Expand Down Expand Up @@ -71,7 +71,9 @@ describe('Simple Builder tests', function () {
[projectOwner] = await ethers.getSigners();
mockVaultManager = await deployed('MockVaultManager');
const baseURI = 'https://nft.poolz.finance/test/metadata/';
lockDealNFT = await deployed('LockDealNFT', mockVaultManager.address, baseURI);
const LockDealNFT = await ethers.getContractFactory(LockDealNFTArtifact.abi, LockDealNFTArtifact.bytecode)
lockDealNFT = await LockDealNFT.deploy(mockVaultManager.address, baseURI)
await lockDealNFT.deployed()
dealProvider = await deployed('DealProvider', lockDealNFT.address);
lockProvider = await deployed('LockDealProvider', lockDealNFT.address, dealProvider.address);
timedProvider = await deployed('TimedDealProvider', lockDealNFT.address, lockProvider.address);
Expand Down
12 changes: 7 additions & 5 deletions test/SimpleRefundBuilder.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
import { MockVaultManager } from '../typechain-types/';
import { DealProvider } from '../typechain-types';
import { LockDealNFT } from '../typechain-types';
import { LockDealProvider } from '../typechain-types';
import { TimedDealProvider } from '../typechain-types';
import { CollateralProvider } from '../typechain-types';
import { RefundProvider } from '../typechain-types';
import LockDealNFTArtifact from "@poolzfinance/lockdeal-nft/artifacts/contracts/LockDealNFT/LockDealNFT.sol/LockDealNFT.json"
import { SimpleRefundBuilder } from '../typechain-types';
import { deployed } from '@poolzfinance/poolz-helper-v2';
import { _createUsers, _logGasPrice } from './helper';
import { _createUsers, _logGasPrice, deployed } from './helper';
import { time } from '@nomicfoundation/hardhat-network-helpers';
import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers';
import { expect } from 'chai';
import { BigNumber, Bytes } from 'ethers';
import { BuilderState } from '../typechain-types/contracts/SimpleBuilder/SimpleBuilder';
import { ethers } from 'hardhat';
import { Contract } from "hardhat/internal/hardhat-network/stack-traces/model"

describe('Simple Refund Builder tests', function () {
let lockProvider: LockDealProvider;
let dealProvider: DealProvider;
let mockVaultManager: MockVaultManager;
let timedProvider: TimedDealProvider;
let simpleRefundBuilder: SimpleRefundBuilder;
let lockDealNFT: LockDealNFT;
let lockDealNFT: Contract;
let userData: BuilderState.BuilderStruct;
let addressParams: [string, string, string];
let projectOwner: SignerWithAddress;
Expand Down Expand Up @@ -114,7 +114,9 @@ describe('Simple Refund Builder tests', function () {
[projectOwner] = await ethers.getSigners();
mockVaultManager = await deployed('MockVaultManager');
const baseURI = 'https://nft.poolz.finance/test/metadata/';
lockDealNFT = await deployed('LockDealNFT', mockVaultManager.address, baseURI);
const LockDealNFT = await ethers.getContractFactory(LockDealNFTArtifact.abi, LockDealNFTArtifact.bytecode)
lockDealNFT = await LockDealNFT.deploy(mockVaultManager.address, baseURI)
await lockDealNFT.deployed()
dealProvider = await deployed('DealProvider', lockDealNFT.address);
lockProvider = await deployed('LockDealProvider', lockDealNFT.address, dealProvider.address);
timedProvider = await deployed('TimedDealProvider', lockDealNFT.address, lockProvider.address);
Expand Down
8 changes: 7 additions & 1 deletion test/helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,10 @@ export function _createUsers(amount: string, userCount: string): BuilderState.Bu
const GREEN_TEXT = '\x1b[32m';
console.log(`${GREEN_TEXT}Gas Used: ${gasUsed.toString()}`);
console.log(`Price per one pool: ${gasUsed.div(userLength)}`);
}
}

export const deployed = async <T>(contractName: string, ...args: string[]): Promise<T> => {
const Contract = await ethers.getContractFactory(contractName);
const contract = await Contract.deploy(...args, { gasLimit: 130_000_000 });
return contract.deployed() as Promise<T>;
};
3 changes: 2 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"strict": true,
"skipLibCheck": true,
"resolveJsonModule": true
}
},
"include": ["src", "node_modules/@types"]
}

0 comments on commit bc1db3a

Please sign in to comment.