Repository for P2Pix EVM contracts to be imported by the project.
./contracts/
├── DataTypes.sol
├── EventAndErrors.sol
├── lib
│ ├── auth
│ │ └── Owned.sol
│ ├── interfaces
│ │ └── IReputation.sol
│ ├── mock
│ │ └── mockToken.sol
│ ├── tokens
│ │ └── ERC20.sol
│ └── utils
│ ├── MerkleProofLib.sol
│ ├── ReentrancyGuard.sol
│ └── SafeTransferLib.sol
├── p2pix.sol
└── Reputation.sol| Testnet | Token Address | P2pix Address |
|---|---|---|
| Goerli | 0x294003F602c321627152c6b7DED3EAb5bEa853Ee | 0x5f3EFA9A90532914545CEf527C530658af87e196 |
| Mumbai | 0x294003F602c321627152c6b7DED3EAb5bEa853Ee | 0x5f3EFA9A90532914545CEf527C530658af87e196 |
| Testnet | Token Address | P2pix Address | Reputation Address | Multicall Address |
|---|---|---|---|---|
| Goerli | 0x4A2886EAEc931e04297ed336Cc55c4eb7C75BA00 | 0x2414817FF64A114d91eCFA16a834d3fCf69103d4 | 0x2CFD9354Ec7614fEf036EFd6A730dA1d5fC2762A | 0x8FE009992d96A86c7f0Bccdaf1eC3471E302a8a6 |
| Mumbai | 0xC86042E9F2977C62Da8c9dDF7F9c40fde4796A29 | 0x4A2886EAEc931e04297ed336Cc55c4eb7C75BA00 | 0x570445E3eF413bCDb5De79ed27B1c3840683e385 | 0x718B2C4DE4F9654E1349F610ff561249bfe1c418 |
Before installing, create a .env file and set a BIP-39 compatible mnemonic and other env criteria as in .env.example.
$ yarn install$ yarn compileNOTE: TypeChain artifacts generated at compile time.
$ yarn test$ REPORT_GAS=true yarn testNOTE: Gas usage per unit test and average gas per method call.
Delete the smart contract artifacts and cache:
$ yarn cleanTo import artifacts on the project use the following:
import P2PIXArtifact from "p2pix-smart-contracts/artifacts/contracts/p2pix.sol/P2PIX.json";To grab deployment addresses you can just grab from deploys folder:
import localhostDeploys from "p2pix-smart-contracts/deploys/localhost.json";On the first teminal, use the following command and import some wallets to your Metamask, then connect to the network pointed:
yarn hardhat nodeOn the second teminal, run the following commands:
yarn deploy1:localhost
yarn deploy2:localhostNOTE: The second script transfers 2M tokens to the first wallet of the node. To use the P2Pix smart contract first transfer some of the tokens to other wallets.
Deploy to Ethereum's Goerli testnet:
yarn deploy1:goerli
yarn deploy2:goerliDeploy to Polygon's Mumbai testnet:
yarn deploy1:mumbai
yarn deploy2:mumbai