{"_id":"@chanceprotocol/aave-yield-source","name":"@chanceprotocol/aave-yield-source","dist-tags":{"latest":"1.2.1"},"versions":{"1.2.1":{"name":"@chanceprotocol/aave-yield-source","version":"1.2.1","description":"PoolTogether Aave Yield Source","main":"index.js","license":"GPL-3.0","dependencies":{"@openzeppelin/contracts":"4.3.2","@chanceprotocol/owner-manager-contracts":"1.1.0","@chanceprotocol/yield-source-interface":"1.4.0","@chanceprotocol/fixed-point":"1.0.0"},"devDependencies":{"@nomiclabs/hardhat-ethers":"2.0.2","@nomiclabs/hardhat-etherscan":"2.1.1","@nomiclabs/hardhat-waffle":"2.0.1","@openzeppelin/hardhat-upgrades":"1.6.0","@studydefi/money-legos":"2.4.1","@typechain/ethers-v5":"7.0.1","@typechain/hardhat":"2.3.0","@types/chai":"4.2.15","@types/debug":"4.1.5","@types/mocha":"8.2.1","@types/node":"14.14.32","chai":"4.3.4","chalk":"4.1.0","debug":"4.3.1","ethereum-waffle":"3.3.0","ethers":"5.4.6","evm-chains":"0.2.0","hardhat":"2.1.1","hardhat-abi-exporter":"2.1.2","hardhat-dependency-compiler":"1.1.1","hardhat-deploy":"0.9.0","hardhat-deploy-ethers":"0.3.0-beta.7","hardhat-gas-reporter":"1.0.4","prettier":"2.2.1","solhint":"3.3.3","solidity-coverage":"0.7.17","ts-generator":"0.1.1","ts-node":"9.1.1","typechain":"5.1.2","typescript":"4.2.3"},"scripts":{"clean":"rm -rf cache/ artifacts/","compile":"hardhat --show-stack-traces --max-memory 8192 compile","coverage":"HIDE_DEPLOY_LOG=true OPTIMIZER_DISABLED=true hardhat coverage","deploy":"hardhat deploy --write true --network","etherscan-verify":"hardhat etherscan:verify --network","format":"prettier --config .prettierrc --write **/*.ts","format:file":"prettier --config .prettierrc --write","hint":"solhint \"contracts/**/*.sol\"","start-fork":"FORK_ENABLED=true hardhat node --no-reset --no-deploy","impersonate-accounts":"hardhat --network localhost fork:impersonate-accounts ","distribute-ether":"hardhat --network localhost fork:distribute-ether-from-binance","create-prize-pool":"hardhat --network localhost fork:create-aave-prize-pool","deploy-fork":"FORK_ENABLED=true; rm -rf deployments/localhost && yarn deploy localhost","run-fork":"FORK_ENABLED=true; yarn impersonate-accounts && yarn distribute-ether && yarn create-prize-pool","test":"yarn clean && hardhat test","typechain":"typechain --target=ethers-v5 \"./abis/*.json\" --out-dir \"./types\"","verify":"hardhat etherscan-verify --license GPL-3.0 --solc-input --network","integration-test-mumbai":"yarn deploy mumbai && hardhat run --network mumbai ./scripts/createAndRunPrizePoolMumbai.ts "},"_id":"@chanceprotocol/aave-yield-source@1.2.1","_integrity":"sha512-S7ffNY8mBFXLLivwXlRGdqa06eRrBFwZzGWHuyaUL69wJAGD/GxiySz1AVqNjcwwYlWMXC9HzXNe6xEsyKnSVA==","_resolved":"/tmp/e96404b419541478ad0fa37c13fcba48/chanceprotocol-aave-yield-source-1.2.1.tgz","_from":"file:chanceprotocol-aave-yield-source-1.2.1.tgz","_nodeVersion":"16.15.1","_npmVersion":"9.6.5","dist":{"integrity":"sha512-S7ffNY8mBFXLLivwXlRGdqa06eRrBFwZzGWHuyaUL69wJAGD/GxiySz1AVqNjcwwYlWMXC9HzXNe6xEsyKnSVA==","shasum":"4c3c41dd549673b2036fc2258296729acda8999b","tarball":"https://registry.npmjs.org/@chanceprotocol/aave-yield-source/-/aave-yield-source-1.2.1.tgz","fileCount":143,"unpackedSize":8868484,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8qH7YOs42IAhijcjQbsmKgLHE+Og2cFly1+fbrTjKagIgOecOUokLLUMBrL7obOv3ULjLBq8sB5TCjJJYFSLfaU4="}]},"_npmUser":{"name":"chanceprotocol","email":"chance@netixsol.com"},"directories":{},"maintainers":[{"name":"chanceprotocol","email":"chance@netixsol.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aave-yield-source_1.2.1_1692257298611_0.29690638665595026"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-17T07:28:18.513Z","1.2.1":"2023-08-17T07:28:18.899Z","modified":"2023-08-17T07:28:19.146Z"},"maintainers":[{"name":"chanceprotocol","email":"chance@netixsol.com"}],"description":"PoolTogether Aave Yield Source","license":"GPL-3.0","readme":"<p align=\"center\">\n  <a href=\"https://github.com/pooltogether/pooltogether--brand-assets\">\n    <img src=\"https://github.com/pooltogether/pooltogether--brand-assets/blob/977e03604c49c63314450b5d432fe57d34747c66/logo/pooltogether-logo--purple-gradient.png?raw=true\" alt=\"PoolTogether Brand\" style=\"max-width:100%;\" width=\"200\">\n  </a>\n</p>\n\n<br />\n\n# PoolTogether Aave Yield Source 👻\n\n![Tests](https://github.com/pooltogether/aave-yield-source/actions/workflows/main.yml/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/pooltogether/aave-yield-source/badge.svg?branch=main)](https://coveralls.io/github/pooltogether/aave-yield-source?branch=main)\n[![built-with openzeppelin](https://img.shields.io/badge/built%20with-OpenZeppelin-3677FF)](https://docs.openzeppelin.com/)\n\nPoolTogether Yield Source that uses [Aave](https://aave.com/) V2 to generate yield by lending any ERC20 token supported by Aave and deposited into the Aave Yield Source.\n\n# Usage\n\n## Adding a new Aave Lending Pool\n\nFirst make sure the Aave json config (`aave/aaveMainnet.json`, etc) includes the lending pool.\n\nThen, add the token symbol to the list in `aave.config.ts`.\n\n## Deployment\n\nFollow Installation instructions.\n\nAave provides a json blob per network of the files in the [docs](https://docs.aave.com/developers/deployed-contracts/deployed-contracts)\nThe deploy script parses this and deploys a proxy contract if the aToken file does exist in the deployments directory.\n\nEnsure the `lendingPoolAddressesProviderRegistry` is up to date in the namedAccounts field of `hardhat.config.ts` .\n\nTo add a new network, add a json file in the `./aave` directory then run:\n\n`yarn deploy <new_network_name>`\n\nTo add a new lending market, update the appropriate network json at `./aave` and run: \n\n`yarn deploy <network_name>`\n\nThe deployment script can be found in `deploy/deploy.ts`.\n\n## Development\n\nClone this repository and enter the directory.\n\n### Installation\n\nInstall dependencies:\n\n```\nyarn\n```\n\nThis project uses [Yarn 2](https://yarnpkg.com), dependencies should get installed pretty quickly.\n\n### Env\n\nWe use [direnv](https://direnv.net) to manage environment variables. You'll likely need to install it.\n\nCopy `.envrc.example` and write down the env variables needed to run this project.\n```\ncp .envrc.example .envrc\n```\n\nOnce your env variables are setup, load them with:\n```\ndirenv allow\n```\n\n### Test\n\nWe use the [Hardhat](https://hardhat.org) ecosystem to test and deploy our contracts.\n\nTo run unit tests:\n\n```\nyarn test\n```\n\nTo run [solhint](https://protofire.github.io/solhint/) and tests:\n\n```\nyarn verify\n```\n\nTo run coverage:\n\n```\nyarn coverage\n```\n\n### Mainnet fork\n\nBefore deploying, you can make sure your implementation works by deploying a Yield Source Prize Pool on a fork of Mainnet.\n\nStart Mainnet fork in a terminal window with the command:\n\n```\nyarn start-fork\n```\n\nIn another window, start the scripts to deploy and create a Aave Yield Source Prize Pool, deposit Dai into it, award the prize and withdraw.\n\n```\nyarn deploy-fork && yarn run-fork\n```\n\n### Contract Verification\n\nOnce deployment is done, you can verify your contracts on [Etherscan](https://etherscan.io) by typing:\n\n```\nyarn verify <NETWORK_NAME>\n```\n\n### Code quality\n\n[Prettier](https://prettier.io) is used to format TypeScript code. Use it by running:\n\n```\nyarn format\n```\n\n[Solhint](https://protofire.github.io/solhint/) is used to lint Solidity files. Run it with:\n```\nyarn hint\n```\n\n[TypeChain](https://github.com/ethereum-ts/Typechain) is used to generates types for scripts and tests. Generate types by running:\n```\nyarn typechain\n```\n","readmeFilename":"README.md"}