{"_id":"@aurora-balancer-labs/v2-pool-utils","_rev":"1-85a69162f06c3c1c10382629c5a6fe93","name":"@aurora-balancer-labs/v2-pool-utils","dist-tags":{"latest":"2.1.0"},"versions":{"2.0.1":{"name":"@aurora-balancer-labs/v2-pool-utils","version":"2.0.1","description":"Utilities for creating Balancer V2 Pools","license":"GPL-3.0-only","homepage":"","repository":{"type":"git","url":"","directory":"pkg/pool-utils"},"scripts":{"build":"yarn compile","compile":"hardhat compile && rm -rf artifacts/build-info","compile:watch":"nodemon --ext sol --exec yarn compile","lint":"yarn lint:solidity && yarn lint:typescript","lint:solidity":"solhint 'contracts/**/*.sol'","lint:typescript":"eslint . --ext .ts --ignore-path ../../.eslintignore  --max-warnings 0","test":"yarn compile && mocha --extension ts --require hardhat/register --require @balancer-labs/v2-common/setupTests --recursive","test:fast":"yarn compile && mocha --extension ts --require hardhat/register --require @balancer-labs/v2-common/setupTests --recursive --parallel --exit","test:watch":"nodemon --ext js,ts --watch test --watch lib --exec 'clear && yarn test --no-compile'"},"devDependencies":{"@aurora-balancer-labs/v2-common":"workspace:*","@aurora-balancer-labs/v2-helpers":"workspace:*","@aurora-balancer-labs/v2-interfaces":"workspace:*","@aurora-balancer-labs/v2-solidity-utils":"workspace:*","@aurora-balancer-labs/v2-vault":"workspace:*","@nomiclabs/hardhat-ethers":"^2.0.1","@nomiclabs/hardhat-waffle":"^2.0.0","@types/chai":"^4.2.12","@types/lodash":"^4.14.161","@types/mocha":"^8.0.3","@types/node":"^14.6.0","@typescript-eslint/eslint-plugin":"^4.1.1","@typescript-eslint/parser":"^4.1.1","chai":"^4.2.0","decimal.js":"^10.2.1","eslint":"^7.9.0","eslint-plugin-mocha-no-only":"^1.1.1","eslint-plugin-prettier":"^3.1.4","ethereum-waffle":"^3.0.2","ethers":"^5.4.1","hardhat":"^2.8.3","lodash.frompairs":"^4.0.1","lodash.pick":"^4.4.0","lodash.range":"^3.2.0","lodash.times":"^4.3.2","lodash.zip":"^4.2.0","mocha":"^8.2.1","nodemon":"^2.0.4","prettier":"^2.1.2","prettier-plugin-solidity":"v1.0.0-alpha.59","solhint":"^3.2.0","solhint-plugin-prettier":"^0.0.4","ts-node":"^8.10.2","typescript":"^4.0.2"},"_id":"@aurora-balancer-labs/v2-pool-utils@2.0.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5y72Gh8c+/PsrPzb3vFQLtujhpkPr/lJBlVzgaB7nP9o0wu/61jlFwwhNr/X7cSZKp2I8taWqxqi6alMTCJX6w==","shasum":"22a9514472a7d37ec85561e05f987c6eb84c194e","tarball":"https://registry.npmjs.org/@aurora-balancer-labs/v2-pool-utils/-/v2-pool-utils-2.0.1.tgz","fileCount":20,"unpackedSize":154088,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZ2DWlzIXyYon7sfh7vhQM036/Bgp3eKDczh04wSEOaAIgEktSXJZypbSWE6agsfP0tAEDHKY600AUQJBU1vxKPzU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivGdQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1Sw//dc+m3OK94hA+QORVb8uNbdhKmTYfmHWkd4zG96s2s9ONTp2o\r\nLZzydpiz+UwI2Y+n0pMMrUhw5Tx7ydX3ZjwJDaABg9b7ODmT1Qj7o+24n5Tn\r\n0y75OfQdDXL1RLgBAlYpT2hbtWUu2HnRNk7H3gtm3wYC6zb8sZjVPNcN7NBm\r\nWCwiD5UdWLcynwFbd9NO2/IMysquHyEVOxtSrbENdDHkw7M63BDgY/6YTVo0\r\nv9bvcpniNlVDTh4pPd29PR1M+El5PM+Muvfq9WpNAnaTTaYG+gGz2xXznjQZ\r\nybRO3l8RDrIfqEenjieyvylKnoW4IB5y5sgQIMCi7utRhcfyWSpVEtKrM3W8\r\nHadZD1T+/ULnG/KpMxNQ4hqpHQot8Kfdjqe7vNIPJg40QRRZGJwr3JF8KJsh\r\nJKwDPqYkw8YkS5YUjGzeWlthaxjPY6nCsEU/4criVRFJPpquaRSgb2TvN58B\r\nbP0DU87PRTa0bHvkamgpgmwa81JP2XdZozStVy4YrbvgmD0Plf2OO7cWuhmC\r\nBagdvtQZKXkH2S5wxJjG4no+sjNEdLKM9ilAvd5z4o8VJ49QgrAxXNu4bg1o\r\nd5vY/lJRfLg1Ckeb9U03J8rU4Su/tP1yoEmfRD3DxKQ/5SzkMjyKwqSSjisr\r\nN1KzK9dQYELSotittKvv13hpytfyU3UXNOc=\r\n=AVq9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"philipptaratuta","email":"philipp.t@blaize.tech"},"directories":{},"maintainers":[{"name":"philipptaratuta","email":"philipp.t@blaize.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/v2-pool-utils_2.0.1_1656514384625_0.6155992217236812"},"_hasShrinkwrap":false},"2.1.0":{"name":"@aurora-balancer-labs/v2-pool-utils","version":"2.1.0","description":"Utilities for creating Balancer V2 Pools","license":"GPL-3.0-only","homepage":"","repository":{"type":"git","url":"","directory":"pkg/pool-utils"},"scripts":{"build":"yarn compile","compile":"hardhat compile && rm -rf artifacts/build-info","compile:watch":"nodemon --ext sol --exec yarn compile","lint":"yarn lint:solidity && yarn lint:typescript","lint:solidity":"solhint 'contracts/**/*.sol'","lint:typescript":"eslint . --ext .ts --ignore-path ../../.eslintignore  --max-warnings 0","test":"yarn compile && mocha --extension ts --require hardhat/register --require @aurora-balancer-labs/v2-common/setupTests --recursive","test:fast":"yarn compile && mocha --extension ts --require hardhat/register --require @aurora-balancer-labs/v2-common/setupTests --recursive --parallel --exit","test:watch":"nodemon --ext js,ts --watch test --watch lib --exec 'clear && yarn test --no-compile'"},"devDependencies":{"@aurora-balancer-labs/v2-common":"workspace:*","@aurora-balancer-labs/v2-helpers":"workspace:*","@aurora-balancer-labs/v2-interfaces":"workspace:*","@aurora-balancer-labs/v2-solidity-utils":"workspace:*","@aurora-balancer-labs/v2-vault":"workspace:*","@nomiclabs/hardhat-ethers":"^2.0.1","@nomiclabs/hardhat-waffle":"^2.0.0","@types/chai":"^4.2.12","@types/lodash":"^4.14.161","@types/mocha":"^8.0.3","@types/node":"^14.6.0","@typescript-eslint/eslint-plugin":"^4.1.1","@typescript-eslint/parser":"^4.1.1","chai":"^4.2.0","decimal.js":"^10.2.1","eslint":"^7.9.0","eslint-plugin-mocha-no-only":"^1.1.1","eslint-plugin-prettier":"^3.1.4","ethereum-waffle":"^3.0.2","ethers":"^5.4.1","hardhat":"^2.8.3","lodash.frompairs":"^4.0.1","lodash.pick":"^4.4.0","lodash.range":"^3.2.0","lodash.times":"^4.3.2","lodash.zip":"^4.2.0","mocha":"^8.2.1","nodemon":"^2.0.4","prettier":"^2.1.2","prettier-plugin-solidity":"v1.0.0-alpha.59","solhint":"^3.2.0","solhint-plugin-prettier":"^0.0.4","ts-node":"^8.10.2","typescript":"^4.0.2"},"_id":"@aurora-balancer-labs/v2-pool-utils@2.1.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2tbxXLLzD+KZyhSdKDxSDOjOSuilI6U4V8yKz8cgxGdsmXj5pdlHYJISxRxit+xuprqWyZmK1cEC42X9vRvuWQ==","shasum":"4f89079bf76bbb2fd0528d8a9aa8f3bed3e8f3be","tarball":"https://registry.npmjs.org/@aurora-balancer-labs/v2-pool-utils/-/v2-pool-utils-2.1.0.tgz","fileCount":20,"unpackedSize":154102,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICioFUF4sraGd9Ic2cwivR1dykOoxw6tzFzrDVoNY5O3AiBvwMR+OlrBhkNNGm7lpNiL4Qh7lPQ6UlwnPiPOj0Adkg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivGgpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLYA/+K9dr57CdjqRVFxBvVjcRlOOZHNpPOeSC7Y7a0Vgq/5FBf5xa\r\nC6g3m77TDrBIRt5Chp+4sEUUOSBC906mTGMFAa/9YOpU3F0N+ljOsDIDi+W2\r\nsXYHda96gFuk5yI3ocrHF/u2ssEVE+anZUGLD9aW7kiuA6zl88Cm2+rW2GY4\r\n6LO76NUIa3X12Xc+rwqbDzEYNYISZ+To9rklNQadmP13gduUopHFssy4j5Hm\r\nn9mYgrr/WlTbKm4wa5G/oLXertDtmRF/DtE4PeAEmQWDwZ2C1M7iB2N4wcRD\r\n82tPvk3aBflcWscG1jio1fMHIjhIN8LKeredd6yFD3F/RMMrfF5aRLdzgYFG\r\n0h9wqiRQKF56mf8Gtn995RqOZ12EaURpVmEkUDE8v9RFwCoiB328D0pRbMDY\r\nv7BNkP8d8DU3naTahezUDQ1cl9z4n0MlYSzw72dUO1pFIW9eJG4gUY4VyuLA\r\n7envsNZxpn9d9VOgvA8WSAi5l4WX3MeTFbxWLAxIUWavK3k7B8YeNkOYTkRv\r\nGfDCeQ5tsk8XgqQ8/VzIVZj8FN3np0DOnCUw/Nwc2i90UKVDFD3UcxdCPydd\r\nuMMFKhuI8OJ/Rv6N7bwUH4rwqw9fMXmbyGwnGvvr2kfS5rK0+idlJZRfBhyc\r\n2nwkhrBMEtEdE2DNZ/JiY2ZTTpRAsg2A8zQ=\r\n=t0dF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"philipptaratuta","email":"philipp.t@blaize.tech"},"directories":{},"maintainers":[{"name":"philipptaratuta","email":"philipp.t@blaize.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/v2-pool-utils_2.1.0_1656514601254_0.9951279660591881"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-29T14:53:04.547Z","2.0.1":"2022-06-29T14:53:04.863Z","modified":"2022-06-29T14:56:41.525Z","2.1.0":"2022-06-29T14:56:41.425Z"},"maintainers":[{"name":"philipptaratuta","email":"philipp.t@blaize.tech"}],"description":"Utilities for creating Balancer V2 Pools","repository":{"type":"git","url":"","directory":"pkg/pool-utils"},"license":"GPL-3.0-only","readme":"# <img src=\"../../logo.svg\" alt=\"Balancer\" height=\"128px\">\n\n# Balancer V2 Pool Utilities\n\n[![NPM Package](https://img.shields.io/npm/v/@balancer-labs/v2-pool-utils.svg)](https://www.npmjs.org/package/@balancer-labs/v2-pool-utils)\n[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.balancer.fi/developers/smart-contracts/apis/pools)\n\nThis package contains Solidity utilities for developing Balancer V2 Pools, implementing common patterns such as token decimal scaling, caller checks on hooks, etc.\n\nThe most useful contracts are [`BaseGeneralPool`](./contracts/BaseGeneralPool.sol) and [`BaseMinimalSwapInfoPool`](./contracts/BaseMinimalSwapInfoPool.sol), used as base contracts for Pools with the General and MinimalSwapInfo/TwoTokens specializations respectively.\n\nThe recommended pattern is to create new Pools from factory contracts, as that lets other systems reason about Pool logic by checking if a Pool was deployed from a given factory. [`BasePoolFactory`](./contracts/factories/BasePoolFactory.sol) and [`BasePoolSplitCodeFactory`](./contracts/factories/BasePoolSplitCodeFactory.sol) (for large contracts) can be used for this purpose.\n\n## Overview\n\n### Installation\n\n```console\n$ npm install @aurora-balancer-labs/v2-pool-utils\n```\n\n### Usage\n\nContracts in this package are meant to be used via inheritance to develop new Pools. The [`BaseGeneralPool`](./contracts/BaseGeneralPool.sol) and [`BaseMinimalSwapInfoPool`](./contracts/BaseMinimalSwapInfoPool.sol) contracts are `abstract`, meaning some `virtual` functions (such as `_onJoinPool` or `_onSwapGivenIn`) are not defined: derived contracts must `override` them and provide an implementation.\n\nSee [`v2-pool-weighted`](../pool-weighted) for the implementation of Pools with a Constant Weighted Product invariant using these base contracts.\n\n## Licensing\n\n[GNU General Public License Version 3 (GPL v3)](../../LICENSE).\n","readmeFilename":"README.md"}