{"_id":"@athenalend/core-v3","_rev":"3-6b29245470929f5940f41d06bc649ed6","name":"@athenalend/core-v3","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@athenalend/core-v3","version":"0.0.1","description":"Athena Protocol V3 core smart contracts","main":"dist/helpers/index.js","engines":{"node":">=16.0.0"},"scripts":{"size":"npm run compile && npm run hardhat size-contracts","run-env":"npm i && tail -f /dev/null","hardhat":"hardhat","compile":"SKIP_LOAD=true hardhat compile","compile:clean":"npm run ci:clean && npm run compile","console:fork":"FORK=main hardhat console","prettier:check":"prettier -c .","prettier:write":"prettier -w .","coverage":". ./setup-test-env.sh && COVERAGE=true npx hardhat coverage --temp temp-artifacts --testfiles test-suites/emptyrun.coverage.ts && rm -rf coverage.json coverage/ && COVERAGE=true npx hardhat coverage --temp temp-artifacts --testfiles 'test-suites/*.spec.ts'","test":". ./setup-test-env.sh && TS_NODE_TRANSPILE_ONLY=1 hardhat test test-suites/*.spec.ts","test-scenarios":". ./setup-test-env.sh && npx hardhat test test-suites/__setup.spec.ts test-suites/scenario.spec.ts","test-l2pool":". ./setup-test-env.sh && npx hardhat test test-suites/__setup.spec.ts test-suites/pool-l2.spec.ts","test-subgraph:scenarios":". ./setup-test-env.sh  && hardhat --network hardhatevm_docker test test-suites/__setup.spec.ts test-suites/subgraph-scenarios.spec.ts","ci:test":". ./setup-test-env.sh  && npm run test","ci:clean":"rm -rf ./artifacts ./cache ./types ./temp-artifacts","build":"tsc --project lib.tsconfig.json","prepublish":"npm run compile && npm run build"},"devDependencies":{"@athenalend/deploy-v3":"0.0.1","@athenalend/periphery-v3":"0.0.1","@ethersproject/bignumber":"^5.6.2","@nomicfoundation/hardhat-chai-matchers":"1.0.5","@nomicfoundation/hardhat-toolbox":"^2.0.0","@tenderly/hardhat-tenderly":"1.1.0-beta.5","@types/chai":"4.2.11","@types/lowdb":"1.0.9","@types/node":"14.0.5","bluebird":"^3.7.2","dotenv":"8.2.0","eth-sig-util":"2.5.3","ethereumjs-util":"7.0.2","hardhat":"2.12.2","hardhat-contract-sizer":"2.0.3","hardhat-dependency-compiler":"1.1.2","hardhat-deploy":"0.11.12","husky":"8.0.3","jsondiffpatch":"0.4.1","lint-staged":"13.1.0","prettier":"2.8.4","prettier-plugin-solidity":"1.1.3","ts-node":"8.10.2","tslint":"6.1.2","tslint-config-prettier":"1.18.0","tslint-plugin-prettier":"2.3.0","typescript":"^4.5.0"},"author":{"name":"Athena"},"contributors":[],"license":"ISC","keywords":["athena","protocol","protocol-v3","core-v3","ethereum","solidity"],"repository":{"type":"git","url":"git://github.com/athenaWeb3/athena-v3-core.git"},"lint-staged":{"*.{ts,js,md,sol}":"prettier --write"},"dependencies":{"@nomicfoundation/hardhat-network-helpers":"^1.0.0","@nomiclabs/hardhat-etherscan":"^3.0.0","@typechain/ethers-v5":"^10.1.0","@typechain/hardhat":"^6.1.2","@types/mocha":">=9.1.0","chai":"^4.2.0","hardhat-gas-reporter":"^1.0.8","solidity-coverage":"^0.8.1","typechain":"^8.1.0"},"_id":"@athenalend/core-v3@0.0.1","gitHead":"28287f0faa36600d3612ba02ec7ba541b4ef171a","bugs":{"url":"https://github.com/athenaWeb3/athena-v3-core/issues"},"homepage":"https://github.com/athenaWeb3/athena-v3-core#readme","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-+t0YrtSQ5Ro8Nj2HZouhYpLHjuYvEkkL7qF6Si7t5MIspkR9Fs0GxuufY8ywk/YMtzbQy9+fvB6kR0Qqj70Kag==","shasum":"6b6af8ecccea968bec594e753a26b794eb8f5c21","tarball":"https://registry.npmjs.org/@athenalend/core-v3/-/core-v3-0.0.1.tgz","fileCount":131,"unpackedSize":653623,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICc6aYMiADHmFF/D8WwtbZU4Cs+qGdNhaWu+uA/qZwmJAiEAvBzmtQsLMlM6kjlqAUWEHj69L/iJkJwXypdDYZXq9aw="}]},"_npmUser":{"name":"carlos53093","email":"carloslin53093@gmail.com"},"directories":{},"maintainers":[{"name":"carlos53093","email":"carloslin53093@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core-v3_0.0.1_1712116271752_0.4198432646654384"},"_hasShrinkwrap":false},"0.0.2":{"name":"@athenalend/core-v3","version":"0.0.2","description":"Athena Protocol V3 core smart contracts","main":"dist/helpers/index.js","engines":{"node":">=16.0.0"},"scripts":{"size":"npm run compile && npm run hardhat size-contracts","run-env":"npm i && tail -f /dev/null","hardhat":"hardhat","compile":"SKIP_LOAD=true hardhat compile","compile:clean":"npm run ci:clean && npm run compile","console:fork":"FORK=main hardhat console","prettier:check":"prettier -c .","prettier:write":"prettier -w .","coverage":". ./setup-test-env.sh && COVERAGE=true npx hardhat coverage --temp temp-artifacts --testfiles test-suites/emptyrun.coverage.ts && rm -rf coverage.json coverage/ && COVERAGE=true npx hardhat coverage --temp temp-artifacts --testfiles 'test-suites/*.spec.ts'","test":". ./setup-test-env.sh && TS_NODE_TRANSPILE_ONLY=1 hardhat test test-suites/*.spec.ts","test-scenarios":". ./setup-test-env.sh && npx hardhat test test-suites/__setup.spec.ts test-suites/scenario.spec.ts","test-l2pool":". ./setup-test-env.sh && npx hardhat test test-suites/__setup.spec.ts test-suites/pool-l2.spec.ts","test-subgraph:scenarios":". ./setup-test-env.sh  && hardhat --network hardhatevm_docker test test-suites/__setup.spec.ts test-suites/subgraph-scenarios.spec.ts","ci:test":". ./setup-test-env.sh  && npm run test","ci:clean":"rm -rf ./artifacts ./cache ./types ./temp-artifacts","build":"tsc --project lib.tsconfig.json","prepublish":"npm run compile && npm run build"},"devDependencies":{"@athenalend/deploy-v3":"0.0.1","@athenalend/periphery-v3":"0.0.1","@ethersproject/bignumber":"^5.6.2","@nomicfoundation/hardhat-chai-matchers":"1.0.5","@nomicfoundation/hardhat-toolbox":"^2.0.0","@tenderly/hardhat-tenderly":"1.1.0-beta.5","@types/chai":"4.2.11","@types/lowdb":"1.0.9","@types/node":"14.0.5","bluebird":"^3.7.2","dotenv":"8.2.0","eth-sig-util":"2.5.3","ethereumjs-util":"7.0.2","hardhat":"2.12.2","hardhat-contract-sizer":"2.0.3","hardhat-dependency-compiler":"1.1.2","hardhat-deploy":"0.11.12","husky":"8.0.3","jsondiffpatch":"0.4.1","lint-staged":"13.1.0","prettier":"2.8.4","prettier-plugin-solidity":"1.1.3","ts-node":"8.10.2","tslint":"6.1.2","tslint-config-prettier":"1.18.0","tslint-plugin-prettier":"2.3.0","typescript":"^4.5.0"},"author":{"name":"Athena"},"contributors":[],"license":"BUSL-1.1","keywords":["athena","protocol","protocol-v3","core-v3","ethereum","solidity"],"repository":{"type":"git","url":"git://github.com/athenaweb3/athena-v3-core.git"},"lint-staged":{"*.{ts,js,md,sol}":"prettier --write"},"dependencies":{"@nomicfoundation/hardhat-network-helpers":"^1.0.0","@nomiclabs/hardhat-etherscan":"^3.0.0","@typechain/ethers-v5":"^10.1.0","@typechain/hardhat":"^6.1.2","@types/mocha":">=9.1.0","chai":"^4.2.0","hardhat-gas-reporter":"^1.0.8","solidity-coverage":"^0.8.1","typechain":"^8.1.0"},"_id":"@athenalend/core-v3@0.0.2","gitHead":"28287f0faa36600d3612ba02ec7ba541b4ef171a","bugs":{"url":"https://github.com/athenaweb3/athena-v3-core/issues"},"homepage":"https://github.com/athenaweb3/athena-v3-core#readme","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-pb0IqbBqL3YQMkK3oIxvATBkNGA0+s1p8jggAQjRLgIvapuxa921Z+MbRTvt3JCzMqgf2GoYhwRbCQTHBcuy6A==","shasum":"fb710bee29450dbe28cddf9c9dca331035f2b8c5","tarball":"https://registry.npmjs.org/@athenalend/core-v3/-/core-v3-0.0.2.tgz","fileCount":1595,"unpackedSize":46547267,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTWSXCIT2HWK5QS2F5bFkxdJ48UIRsMox2m+5bPVCdvAiASa8tws3Fr0fLolFoB2Hx7ZgcqI5AdOLe2povYEBFr5g=="}]},"_npmUser":{"name":"carlos53093","email":"carloslin53093@gmail.com"},"directories":{},"maintainers":[{"name":"carlos53093","email":"carloslin53093@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core-v3_0.0.2_1712138717624_0.8814964683915785"},"_hasShrinkwrap":false},"0.0.3":{"name":"@athenalend/core-v3","version":"0.0.3","description":"Athena Protocol V3 core smart contracts","main":"dist/helpers/index.js","engines":{"node":">=16.0.0"},"scripts":{"size":"npm run compile && npm run hardhat size-contracts","run-env":"npm i && tail -f /dev/null","hardhat":"hardhat","compile":"SKIP_LOAD=true hardhat compile","compile:clean":"npm run ci:clean && npm run compile","console:fork":"FORK=main hardhat console","prettier:check":"prettier -c .","prettier:write":"prettier -w .","coverage":". ./setup-test-env.sh && COVERAGE=true npx hardhat coverage --temp temp-artifacts --testfiles test-suites/emptyrun.coverage.ts && rm -rf coverage.json coverage/ && COVERAGE=true npx hardhat coverage --temp temp-artifacts --testfiles 'test-suites/*.spec.ts'","test":". ./setup-test-env.sh && TS_NODE_TRANSPILE_ONLY=1 hardhat test test-suites/*.spec.ts","test-scenarios":". ./setup-test-env.sh && npx hardhat test test-suites/__setup.spec.ts test-suites/scenario.spec.ts","test-l2pool":". ./setup-test-env.sh && npx hardhat test test-suites/__setup.spec.ts test-suites/pool-l2.spec.ts","test-subgraph:scenarios":". ./setup-test-env.sh  && hardhat --network hardhatevm_docker test test-suites/__setup.spec.ts test-suites/subgraph-scenarios.spec.ts","ci:test":". ./setup-test-env.sh  && npm run test","ci:clean":"rm -rf ./artifacts ./cache ./types ./temp-artifacts","build":"tsc --project lib.tsconfig.json","prepublish":"npm run compile && npm run build"},"devDependencies":{"@athenalend/deploy-v3":"0.0.1","@athenalend/periphery-v3":"0.0.1","@ethersproject/bignumber":"^5.6.2","@nomicfoundation/hardhat-chai-matchers":"1.0.5","@nomicfoundation/hardhat-toolbox":"^2.0.0","@tenderly/hardhat-tenderly":"1.1.0-beta.5","@types/chai":"4.2.11","@types/lowdb":"1.0.9","@types/node":"14.0.5","bluebird":"^3.7.2","dotenv":"8.2.0","eth-sig-util":"2.5.3","ethereumjs-util":"7.0.2","hardhat":"2.12.2","hardhat-contract-sizer":"2.0.3","hardhat-dependency-compiler":"1.1.2","hardhat-deploy":"0.11.12","husky":"8.0.3","jsondiffpatch":"0.4.1","lint-staged":"13.1.0","prettier":"2.8.4","prettier-plugin-solidity":"1.1.3","ts-node":"8.10.2","tslint":"6.1.2","tslint-config-prettier":"1.18.0","tslint-plugin-prettier":"2.3.0","typescript":"^4.5.0"},"author":{"name":"Athena"},"contributors":[],"license":"BUSL-1.1","keywords":["athena","protocol","protocol-v3","core-v3","ethereum","solidity"],"repository":{"type":"git","url":"git://github.com/athenaweb3/athena-v3-core.git"},"lint-staged":{"*.{ts,js,md,sol}":"prettier --write"},"dependencies":{"@nomicfoundation/hardhat-network-helpers":"^1.0.0","@nomiclabs/hardhat-etherscan":"^3.0.0","@typechain/ethers-v5":"^10.1.0","@typechain/hardhat":"^6.1.2","@types/mocha":">=9.1.0","chai":"^4.2.0","hardhat-gas-reporter":"^1.0.8","solidity-coverage":"^0.8.1","typechain":"^8.1.0"},"_id":"@athenalend/core-v3@0.0.3","gitHead":"28287f0faa36600d3612ba02ec7ba541b4ef171a","bugs":{"url":"https://github.com/athenaweb3/athena-v3-core/issues"},"homepage":"https://github.com/athenaweb3/athena-v3-core#readme","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-FNiXiiLhp55jDvtnDyYLOZ5chE1pDrXNSA4Gw6qMn+/8vhv7gWSk7JAevL/qeEBJJXtT5oaD8p5zZU6kgJ8N0A==","shasum":"10b40b214208e90107230a9b21265994bcc935e3","tarball":"https://registry.npmjs.org/@athenalend/core-v3/-/core-v3-0.0.3.tgz","fileCount":1595,"unpackedSize":46553859,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF5z4VrB+Uwv90LN6yLC+se3fjMAEKqvwQHRz46nUNWrAiEAoFmWiaUDPaLGZW/p54fopo+uab7qnF8ssxkkK3K2JPo="}]},"_npmUser":{"name":"carlos53093","email":"carloslin53093@gmail.com"},"directories":{},"maintainers":[{"name":"carlos53093","email":"carloslin53093@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core-v3_0.0.3_1712146572136_0.3301649261696149"},"_hasShrinkwrap":false},"0.0.4":{"name":"@athenalend/core-v3","version":"0.0.4","description":"Athena Protocol V3 core smart contracts","main":"dist/helpers/index.js","engines":{"node":">=16.0.0"},"scripts":{"size":"npm run compile && npm run hardhat size-contracts","run-env":"npm i && tail -f /dev/null","hardhat":"hardhat","compile":"SKIP_LOAD=true hardhat compile","compile:clean":"npm run ci:clean && npm run compile","console:fork":"FORK=main hardhat console","prettier:check":"prettier -c .","prettier:write":"prettier -w .","coverage":". ./setup-test-env.sh && COVERAGE=true npx hardhat coverage --temp temp-artifacts --testfiles test-suites/emptyrun.coverage.ts && rm -rf coverage.json coverage/ && COVERAGE=true npx hardhat coverage --temp temp-artifacts --testfiles 'test-suites/*.spec.ts'","test":". ./setup-test-env.sh && TS_NODE_TRANSPILE_ONLY=1 hardhat test test-suites/*.spec.ts","test-scenarios":". ./setup-test-env.sh && npx hardhat test test-suites/__setup.spec.ts test-suites/scenario.spec.ts","test-l2pool":". ./setup-test-env.sh && npx hardhat test test-suites/__setup.spec.ts test-suites/pool-l2.spec.ts","test-subgraph:scenarios":". ./setup-test-env.sh  && hardhat --network hardhatevm_docker test test-suites/__setup.spec.ts test-suites/subgraph-scenarios.spec.ts","ci:test":". ./setup-test-env.sh  && npm run test","ci:clean":"rm -rf ./artifacts ./cache ./types ./temp-artifacts","build":"tsc --project lib.tsconfig.json","prepublish":"npm run compile && npm run build"},"devDependencies":{"@athenalend/deploy-v3":"0.0.3","@athenalend/periphery-v3":"0.0.3","@ethersproject/bignumber":"^5.6.2","@nomicfoundation/hardhat-chai-matchers":"1.0.5","@nomicfoundation/hardhat-toolbox":"^2.0.0","@tenderly/hardhat-tenderly":"1.1.0-beta.5","@types/chai":"4.2.11","@types/lowdb":"1.0.9","@types/node":"14.0.5","bluebird":"^3.7.2","dotenv":"8.2.0","eth-sig-util":"2.5.3","ethereumjs-util":"7.0.2","hardhat":"2.12.2","hardhat-contract-sizer":"2.0.3","hardhat-dependency-compiler":"1.1.2","hardhat-deploy":"0.11.12","husky":"8.0.3","jsondiffpatch":"0.4.1","lint-staged":"13.1.0","prettier":"2.8.4","prettier-plugin-solidity":"1.1.3","ts-node":"8.10.2","tslint":"6.1.2","tslint-config-prettier":"1.18.0","tslint-plugin-prettier":"2.3.0","typescript":"^4.5.0"},"author":{"name":"Athena"},"contributors":[],"license":"ISC","keywords":["athena","protocol","protocol-v3","core-v3","ethereum","solidity"],"repository":{"type":"git","url":"git://github.com/athenaWeb3/athena-v3-core.git"},"lint-staged":{"*.{ts,js,md,sol}":"prettier --write"},"dependencies":{"@nomicfoundation/hardhat-network-helpers":"^1.0.0","@nomiclabs/hardhat-etherscan":"^3.0.0","@typechain/ethers-v5":"^10.1.0","@typechain/hardhat":"^6.1.2","@types/mocha":">=9.1.0","chai":"^4.2.0","hardhat-gas-reporter":"^1.0.8","solidity-coverage":"^0.8.1","typechain":"^8.1.0"},"_id":"@athenalend/core-v3@0.0.4","gitHead":"28287f0faa36600d3612ba02ec7ba541b4ef171a","bugs":{"url":"https://github.com/athenaWeb3/athena-v3-core/issues"},"homepage":"https://github.com/athenaWeb3/athena-v3-core#readme","_nodeVersion":"18.19.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-eSJYmhoF5JN2psrkb+9XlNWUhTxSfRCAuZTRc3YZsCN3sqNOF+fMqz9gdgzePl+pkRvOVAa1twnv+nW0ak/Ekw==","shasum":"1aadddded8cdfa15f762b2ea60f200842c39c2fd","tarball":"https://registry.npmjs.org/@athenalend/core-v3/-/core-v3-0.0.4.tgz","fileCount":1595,"unpackedSize":46545641,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9e2HYLYFz8O45e1PW+d59wRXKXNEvzPW5PXLt6fvG/AIgXnjtBiVQe8AxX+cO1R1Gyka+8z/LsMZv+QQ32L4G2Pc="}]},"_npmUser":{"name":"carlos53093","email":"carloslin53093@gmail.com"},"directories":{},"maintainers":[{"name":"carlos53093","email":"carloslin53093@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core-v3_0.0.4_1712151326715_0.5869720739905704"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-03T03:51:11.665Z","0.0.1":"2024-04-03T03:51:11.899Z","modified":"2024-04-03T13:35:27.376Z","0.0.2":"2024-04-03T10:05:18.152Z","0.0.3":"2024-04-03T12:16:12.557Z","0.0.4":"2024-04-03T13:35:27.144Z"},"maintainers":[{"name":"carlos53093","email":"carloslin53093@gmail.com"}],"description":"Athena Protocol V3 core smart contracts","homepage":"https://github.com/athenaWeb3/athena-v3-core#readme","keywords":["athena","protocol","protocol-v3","core-v3","ethereum","solidity"],"repository":{"type":"git","url":"git://github.com/athenaWeb3/athena-v3-core.git"},"contributors":[],"author":{"name":"Athena"},"bugs":{"url":"https://github.com/athenaWeb3/athena-v3-core/issues"},"license":"ISC","readme":"[![Build pass](https://github.com/athenaweb3/athena-v3-core/actions/workflows/node.js.yml/badge.svg)](https://github.com/athenaweb3/athena-v3-core/actions/workflows/node.js.yml)\n[![codecov](https://codecov.io/gh/athenaweb3/athena-v3-core/branch/master/graph/badge.svg?token=U50KN38G67)](https://codecov.io/gh/athenaweb3/athena-v3-core)\n\n# Athena Protocol v3\n\nThis repository contains the smart contracts source code and markets configuration for Athena Protocol V3. The repository uses Docker Compose and Hardhat as development environment for compilation, testing and deployment tasks.\n\n## What is Athena?\n\nAthena is a decentralized non-custodial liquidity markets protocol where users can participate as suppliers or borrowers. Suppliers provide liquidity to the market to earn a passive income, while borrowers are able to borrow in an overcollateralized (perpetually) or undercollateralized (one-block liquidity) fashion.\n\n## Documentation\n\nSee the link to the technical paper or visit the Athena Developer docs\n\n- [Technical Paper](./techpaper/Athena_V3_Technical_Paper.pdf)\n\n- [Developer Documentation](https://docs.athena.com/developers/)\n\n## Audits and Formal Verification\n\nYou can find all audit reports under the audits folder\n\nV3.0.1 - December 2022\n\n- [PeckShield](./audits/09-12-2022_PeckShield_AthenaV3-0-1.pdf)\n- [SigmaPrime](./audits/23-12-2022_SigmaPrime_AthenaV3-0-1.pdf)\n\nV3 Round 1 - October 2021\n\n- [ABDK](./audits/27-01-2022_ABDK_AthenaV3.pdf)\n- [OpenZeppelin](./audits/01-11-2021_OpenZeppelin_AthenaV3.pdf)\n- [Trail of Bits](./audits/07-01-2022_TrailOfBits_AthenaV3.pdf)\n- [Peckshield](./audits/14-01-2022_PeckShield_AthenaV3.pdf)\n\nV3 Round 2 - December 2021\n\n- [SigmaPrime](./audits/27-01-2022_SigmaPrime_AthenaV3.pdf)\n\nFormal Verification - November 2021-January 2022\n\n- [Certora](./certora/Athena_V3_Formal_Verification_Report_Jan2022.pdf)\n\n## Connect with the community\n\nYou can join the [Discord](http://athena.com/discord) channel or the [Governance Forum](https://governance.athena.com/) to ask questions about the protocol or talk about Athena with other peers.\n\n## Getting Started\n\nYou can install `@athenalend/core-v3` as an NPM package in your Hardhat or Truffle project to import the contracts and interfaces:\n\n`npm install @athenalend/core-v3`\n\nImport at Solidity files:\n\n```\nimport {IPool} from \"@athenalend/core-v3/contracts/interfaces/IPool.sol\";\n\ncontract Misc {\n\n  function supply(address pool, address token, address user, uint256 amount) public {\n    IPool(pool).supply(token, amount, user, 0);\n    {...}\n  }\n}\n```\n\nThe JSON artifacts with the ABI and Bytecode are also included in the bundled NPM package at `artifacts/` directory.\n\nImport JSON file via Node JS `require`:\n\n```\nconst PoolV3Artifact = require('@athenalend/core-v3/artifacts/contracts/protocol/pool/Pool.sol/Pool.json');\n\n// Log the ABI into console\nconsole.log(PoolV3Artifact.abi)\n```\n\n## Setup\n\nThe repository uses Docker Compose to manage sensitive keys and load the configuration. Prior to any action like test or deploy, you must run `docker-compose up` to start the `contracts-env` container, and then connect to the container console via `docker-compose exec contracts-env bash`.\n\nFollow the next steps to setup the repository:\n\n- Install `docker` and `docker-compose`\n- Create an environment file named `.env` and fill the next environment variables\n\n```\n# Add Alchemy or Infura provider keys, alchemy takes preference at the config level\nALCHEMY_KEY=\"\"\nINFURA_KEY=\"\"\n\n\n# Optional, if you plan to use Tenderly scripts\nTENDERLY_PROJECT=\"\"\nTENDERLY_USERNAME=\"\"\n\n```\n\n## Test\n\nYou can run the full test suite with the following commands:\n\n```\n# In one terminal\ndocker-compose up\n\n# Open another tab or terminal\ndocker-compose exec contracts-env bash\n\n# A new Bash terminal is prompted, connected to the container\nnpm run test\n```\n","readmeFilename":"README.md"}