A Vault SC with PRIME token used for deposit & pUSD token as acrued Interest.
- A Vault SC with PRIME token used for deposit & pUSD token as acrued Interest.
- ARCHITECTURE:
- Every time when there is a deposit of PRIME, it does these:
- resets the deposit timestamp
depositedAtto current timestamp - adds the deposit amount to
depositedAmtwith the previous deposited amount. - calculates the accrued interest since last deposit timestamp till now & update the
totInterestAmt. transferFromthe deposit amount from user.
- resets the deposit timestamp
- Every time when there is a withdrawal of pUSD, it does these:
- resets the deposit timestamp
depositedAtto current timestamp - Based on condition, calculate the pending interest since last deposit timestamp till now or the
totInterestAmtor both. - reset the
totInterestAmtto zero. - transfer the local interest amount as per situation to the person.
- resets the deposit timestamp
- Every time when there is a deposit of PRIME, it does these:
- Instruction.
- Get the coverage report here.
- The Vault SC is deployed in Rinkeby testnet. Check the details here
- The Vault SC is verified in Rinkeby testnet. Check the details here
yarn installyarn compileyarn testCompile the smart contracts and generate TypeChain artifacts:
yarn typechainLint the Solidity code:
yarn lint:solLint the TypeScript code:
yarn lint:tsGenerate the code coverage report:
yarn coverageSee the gas usage per unit test and averate gas per method call:
REPORT_GAS=true yarn testDelete the smart contract artifacts, the coverage reports and the Hardhat cache:
yarn cleanyarn verify <network_name> <deployed_contract_address> <constructor params>For multiple arguments, follow this guide.
// on terminal-1
$ npx hardhat node
// on terminal-2
$ yarn hardhat deploy:Escrow --network localhost- Environment variables: Create a
.envfile with its values in .env.example - Deploy the contracts
yarn hardhat deploy:Escrow --network rinkeby- Environment variables: Create a
.envfile with its values in .env.example - Deploy the contracts
yarn hardhat deploy:Escrow --network mainnet