{"_id":"@centfinance/sor_xdai","_rev":"5-02f08804cc0f32b8070f8e360bc723e0","name":"@centfinance/sor_xdai","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"@centfinance/sor_xdai","version":"0.0.1","license":"GPL-3.0-only","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepublish":"tsc","test":"nyc mocha -r ts-node/register test/*.spec.ts","coverage":"nyc report --reporter=text-lcov | coveralls"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"devDependencies":{"@ethersproject/wallet":"^5.0.7","@types/chai":"^4.2.10","@types/mocha":"^7.0.2","@types/node":"^14.0.20","chai":"^4.2.0","coveralls":"^3.0.9","dotenv":"^8.2.0","husky":"^4.2.1","mocha":"^7.1.0","nyc":"^15.0.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","ts-node":"^8.6.2","typescript":"^3.8.3"},"dependencies":{"@ethersproject/address":"^5.0.5","@ethersproject/constants":"^5.0.5","@ethersproject/contracts":"^5.0.5","@ethersproject/providers":"5.0.12","@ethersproject/solidity":"^5.0.5","@ethersproject/units":"^5.0.6","bignumber.js":"^9.0.0","isomorphic-fetch":"^2.2.1"},"description":"</div>","_id":"@centfinance/sor_xdai@0.0.1","dist":{"shasum":"4ec5e3f541c5b90428f53bf1968accd96394796c","integrity":"sha512-NNlD0XQWtrFsDiI4IcgrVt6z+0eefLvyMqYkyLiBCb25jykwhQQIFaWQiXXAEavWWxTt+ZLOY5k8gzGxdYdH7w==","tarball":"https://registry.npmjs.org/@centfinance/sor_xdai/-/sor_xdai-0.0.1.tgz","fileCount":30,"unpackedSize":150886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCFViCRA9TVsSAnZWagAAIZwP/RquX07EWWNWSQEJvcMV\n70yX0A3tTDAwbDThaL55pXPmnwsCN2bV0nH35/OX0NvLOOH3QCzh3K3LZfZc\n2hcE6YpIn9PzzONzeD5+ntYv7rzM/JDWcQOYGnpgNt38Lo6w+B+Q/h03BqLC\nYMxzylx92cQVt5Y7q3HbfwFuTrBXV4Cb31daUUVch6EUXoDUDaHNlZW3oZmh\nWDHA30jAf5foypNxQklX7mUxt+G0IHMd16JWlHpaqckyzI2M/90nPJ50l9jF\n85N8mKSosAnMfT9DGeUw4JuWPZm6S/OmMqezmMYeZ3r0fk9Kisxdk2+GypIg\nZk7D1agmk7oFWGn0rWm6DyC75ZQLX4EzNrrPiJk7bU00oy4WqIjF4RbqH7Zs\nekI2Jh/Gnv+ocIcCHIQcYIwbbrx7RINyL41N9No2M21CMlM7J1J4BjWUuN95\nFPeAD7Axg/rclLhO7Ea/H/LnRuFcN1k5FjD4Pd5gK3YjNRuuYqchLloQMcf3\nRhXNySt6QE/F6s2/mz9JCPzk2fGn8m/POkUZmxZW+fUUZ9y8f8pXUfpmAsku\nDv7StZopu6DkL/3tic8U3CPSsO6ieemwhW+fZFGKTDdKS8BjwWnohXmgWk9D\njprvQky3dqX1NrKwMIb7qivBAzsNftf3LkJXKRED801A461Fimha4uJ7T4Ei\n1DtL\r\n=xXwL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFXESHtEk6n2VH2sie4sEOfy3bxd4SJJC75CAfNcBf1UAiA5bxzsu6Gltci7SAYFXLxsbU1A6j6sGibjWYmn3e9V7w=="}]},"_npmUser":{"name":"switch1983","email":"darren.op@cent.finance"},"directories":{},"maintainers":[{"name":"switch1983","email":"darren.op@cent.finance"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sor_xdai_0.0.1_1611158881446_0.5263048414940201"},"_hasShrinkwrap":false},"0.0.6":{"name":"@centfinance/sor_xdai","version":"0.0.6","license":"GPL-3.0-only","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepublish":"tsc","test":"nyc mocha -r ts-node/register test/*.spec.ts","coverage":"nyc report --reporter=text-lcov | coveralls"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"devDependencies":{"@ethersproject/wallet":"^5.0.7","@types/chai":"^4.2.10","@types/mocha":"^7.0.2","@types/node":"^14.0.20","chai":"^4.2.0","coveralls":"^3.0.9","dotenv":"^8.2.0","husky":"^4.2.1","mocha":"^7.1.0","nyc":"^15.0.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","ts-node":"^8.6.2","typescript":"^3.8.3"},"dependencies":{"@ethersproject/address":"^5.0.5","@ethersproject/constants":"^5.0.5","@ethersproject/contracts":"^5.0.5","@ethersproject/providers":"5.0.12","@ethersproject/solidity":"^5.0.5","@ethersproject/units":"^5.0.6","bignumber.js":"^9.0.0","isomorphic-fetch":"^2.2.1"},"description":"There are two types of swap available:","_id":"@centfinance/sor_xdai@0.0.6","dist":{"shasum":"c6efca6d61331a6a1c8e80a0a5c23bc7139ea112","integrity":"sha512-oJN9zl716OME9yf8WIUcNH3GQGeFOdymp3QqNxyLAYLz+kRtkP8Tl542zunBuTZPoLwPImKlExOEyfLXNtZz0A==","tarball":"https://registry.npmjs.org/@centfinance/sor_xdai/-/sor_xdai-0.0.6.tgz","fileCount":30,"unpackedSize":147329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpXuBCRA9TVsSAnZWagAAUx8P/jK5P4AfNH4mon/1gzhw\nfcHxwJYd9Kj4rgkhIAM0GwO++QL1aWiWufB9S1AZBxlnp/k4/iVASJP8Dj4t\ngYDcszMdfb79RD1B+JT8wKm4cB97cPCRbJnz2NqgGhVV8oa7akU0Mv4YTCEa\nsdPuqc4oEIyM4j0NFEzVyAS47r5J6+lmG6JVz3iMCB974fpIDFq86ka8SSc5\nzvbAVid9bcETpl9r6xanoJIssZBwCrvAOhYLRBLInBYQiLG1jqiHXUaw8Y2l\nBlzKhJ/S+pEP+1wTbmnoea2BMCgGIMM7VxF0jFOsI6yUfRkBhkU5uat81pd0\nxe2xJtWd+D/nco7Iq00zlV+RrBXatdNmZHKe/PrVRLG4FM7r9K4qFGOwX0TL\nT+cuAHsgrH7CmxYMjw4QjgH8XanxH9OlMjRaBCCRhm9/7972slbDuNiVwSp+\n0PbtRxUWtGHQaTdxn74IUdHu7Z2ghEGvJ5iRBmlCw+OwRI4fre6YqVCT3M84\nGBf8++5HYY3aACOUFPjySwHb/GJLaH7vL3sqFU5KXeuT2lXAChYTmVIVw6VA\nGytys6iMg/p1OXHBfkUWGwZ4txpXC8mBCcTVzFPy1WIdLZtusJj35MbkIt0O\nqmJa4N8U+lZz+8ymRA9JA9JHurEEUJj+lD+sr1RQQDXEU7yIZSeR/UDP2HFd\nJG97\r\n=qJYE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtwueQiRosXVOEPYi3UFgHxZ7Y5tue6qOFfV8owKb7FwIgT2XS9ujFXhHMcc2GgwmdCBI4+Q/UMekAP/z+W0VlHx4="}]},"_npmUser":{"name":"switch1983","email":"darren.op@cent.finance"},"directories":{},"maintainers":[{"name":"switch1983","email":"darren.op@cent.finance"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sor_xdai_0.0.6_1621457793319_0.0751777972953831"},"_hasShrinkwrap":false},"0.0.7":{"name":"@centfinance/sor_xdai","version":"0.0.7","license":"GPL-3.0-only","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepublish":"tsc","test":"nyc mocha -r ts-node/register test/*.spec.ts","coverage":"nyc report --reporter=text-lcov | coveralls"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"devDependencies":{"@ethersproject/wallet":"^5.0.7","@types/chai":"^4.2.10","@types/mocha":"^7.0.2","@types/node":"^14.0.20","chai":"^4.2.0","coveralls":"^3.0.9","dotenv":"^8.2.0","husky":"^4.2.1","mocha":"^7.1.0","nyc":"^15.0.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","ts-node":"^8.6.2","typescript":"^3.8.3"},"dependencies":{"@ethersproject/address":"^5.0.5","@ethersproject/constants":"^5.0.5","@ethersproject/contracts":"^5.0.5","@ethersproject/providers":"5.0.12","@ethersproject/solidity":"^5.0.5","@ethersproject/units":"^5.0.6","bignumber.js":"^9.0.0","isomorphic-fetch":"^2.2.1"},"description":"There are two types of swap available:","_id":"@centfinance/sor_xdai@0.0.7","dist":{"shasum":"e01693f9ce78c028c066e51f451c0bc261547699","integrity":"sha512-pD2vBm1sQrUnhcNfJHNC0RIlijacTZFDx0yesjUJbvMoLVfEhgNgyvWdk1nu6xl9S+FHw9AfVJuAZL1LWJpa6A==","tarball":"https://registry.npmjs.org/@centfinance/sor_xdai/-/sor_xdai-0.0.7.tgz","fileCount":30,"unpackedSize":146913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgz07GCRA9TVsSAnZWagAAYz0P/3aU6Yc9uCH6RcgJGW48\nY3Xcg9Iogkv/VKEVWBVPcC3yfmlSZdA1DW6BF3bYdcJgUCJk7akjNry9f/Fn\n2zEYHVnsJU2JUyNz+d9T+lEBmr5mew4Pm5NKyfcOsM3YZP0GvGMR91StshH8\nu+oldyhKUGe7uv6zDjCVIeQ98x49xLr8oRKEzY1XXtN7ukpGKCeVvjK/sJDH\ngUX1Bm8Kxuf+KSDFT1JAkyhQabp0wSYIhjKkDENKF1do7o6bh8mTCTn72vYY\nIV0aYip7OyADftFxg3dJti/I1eKSl/DPqGEDXUrGu6CVkzMkQlp97espOF+k\nSKKLAoBELahTJ9K0iWBKil13jITjeXs9Etd7ZCRkhmgPySSgD1XGHB3YaEeK\nYo7R8L51iKYtlBysCeKkkpBiXHMHdaZYggJ5crLs6diuNf/+xqD1Q3iBk80C\nTDIujBltaRz/o+A9T9/1EcpfjreVfC/9RRAyVvKJwmf0fGmhihf0jmLOfxqn\nEJON5t17WzH/lBv5k6ICXGtDp0eq2k0bV2GcmiOFIjGSRELDOc12ebz23Cf7\niN4H+Mjj46HRPJfh5mSunmU2g99xOqIkeOAJSULQzPMENNx4QXtI93QEgbt5\nYO4otnamZMkQksz5C2l+4NynGsMhyvAL3k9peLATSVQgvEbCftiqlLZ7Tw/3\nMOur\r\n=OEoP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM/1Zx9SbQlAz+LsvwHgJB2Xlo7TEQQsW3G/0pIQb0YAIgRUjpeEbzdmQVc7byYRjKyxZYfsgDVh6esec5eS4fWJY="}]},"_npmUser":{"name":"switch1983","email":"darren.op@cent.finance"},"directories":{},"maintainers":[{"name":"switch1983","email":"darren.op@cent.finance"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sor_xdai_0.0.7_1624198853807_0.23264606998057724"},"_hasShrinkwrap":false},"0.0.8":{"name":"@centfinance/sor_xdai","version":"0.0.8","license":"GPL-3.0-only","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepublish":"tsc","test":"nyc mocha -r ts-node/register test/*.spec.ts","coverage":"nyc report --reporter=text-lcov | coveralls"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"devDependencies":{"@ethersproject/wallet":"^5.0.7","@types/chai":"^4.2.10","@types/mocha":"^7.0.2","@types/node":"^14.0.20","chai":"^4.2.0","coveralls":"^3.0.9","dotenv":"^8.2.0","husky":"^4.2.1","mocha":"^7.1.0","nyc":"^15.0.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","ts-node":"^8.6.2","typescript":"^3.8.3"},"dependencies":{"@ethersproject/address":"^5.0.5","@ethersproject/constants":"^5.0.5","@ethersproject/contracts":"^5.0.5","@ethersproject/providers":"5.0.12","@ethersproject/solidity":"^5.0.5","@ethersproject/units":"^5.0.6","bignumber.js":"^9.0.0","isomorphic-fetch":"^2.2.1"},"description":"There are two types of swap available:","_id":"@centfinance/sor_xdai@0.0.8","dist":{"shasum":"bab2a261d96b9b3e3c8aec50e0c32d2cb244d358","integrity":"sha512-RRnhkabs4U9KUCbRKBo7+I2UFxS/QUAEgLoc6TFsNVbSLO4NEsWqElUE0wu3TIWf5D6pYiehMWIF9Zt/YarLmA==","tarball":"https://registry.npmjs.org/@centfinance/sor_xdai/-/sor_xdai-0.0.8.tgz","fileCount":30,"unpackedSize":146913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2daUCRA9TVsSAnZWagAAzg8P/29zaW6Duz2EaQNVM3IY\njks0ruhRn0Kg+zzc+HxMuPcwkF6eOT8nYF7egp7AFvCvwH6SwzgOYNiERZsg\nqhTFPmse7Ki6cATjjwJJYDjE0S8UKDWo1RMJUAaZkOQGD0dleYQSMdV/WVah\nRRMsoxwLsyX4iYXIurorsm3pK28b/dVI16fMYRqIqonKSaFBI43qP0TCN/N7\nsF7sGKsedrmfgpPEQCqbNefkEAImHg6+m4nGTThLV+fRLhV5XfoQXp8CSdo/\nF7APzT6xyCEk0gUXNfzCjFwc4fb9iP/CPo05CB83fTK/ZF774q29cqo9Aiox\nb95VsfY0BAMTNZ0LqIN/F1flM7/Qxn9s/cmMwuEhMozENcjf1ikgFBITKSYe\nJNeVCxbHTJY/djzr6ALM2FLakDAFs+c0k2b7rTcedyBVbaaJ8k3+3oIOMnC7\nHlmFig9z0XyFOgR/LTVNTd6q9yWyRi9AsEZQ/2uRK7Z3CTu6kSYiruU0ksyN\nJeB9EK1FdOrGqe9Sh9qk478Zc3aPW6aPh39bT+2eOfDuaf8tjV5QUNDRyK8W\nrNH2+RgbYM/BOrc8gwNG8D8QWRhcirY7CoJJuQUyOum5kONIZ69RNywBYwgU\n85+8vHx3MoqdU5gcB+158Id+p/8575MH38LVkcuhkdKcwRX/GFqFOXY6eqHg\nz0rc\r\n=KAb1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDk4EC6nuU0WvyVgVpDiLQzR2xrrWJBsFzQRKOSRzIOnQIhAJtYBneofVfVNErJHaGPdLZDwBz2QRGxVglOrmdygUNV"}]},"_npmUser":{"name":"switch1983","email":"darren.op@cent.finance"},"directories":{},"maintainers":[{"name":"switch1983","email":"darren.op@cent.finance"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sor_xdai_0.0.8_1624888979881_0.8299123509791011"},"_hasShrinkwrap":false},"0.0.9":{"name":"@centfinance/sor_xdai","version":"0.0.9","license":"GPL-3.0-only","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepublish":"tsc","test":"nyc mocha -r ts-node/register test/*.spec.ts","coverage":"nyc report --reporter=text-lcov | coveralls"},"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"devDependencies":{"@ethersproject/wallet":"^5.0.7","@types/chai":"^4.2.10","@types/mocha":"^7.0.2","@types/node":"^14.0.20","chai":"^4.2.0","coveralls":"^3.0.9","dotenv":"^8.2.0","husky":"^4.2.1","mocha":"^7.1.0","nyc":"^15.0.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","ts-node":"^8.6.2","typescript":"^3.8.3"},"dependencies":{"@ethersproject/address":"^5.0.5","@ethersproject/constants":"^5.0.5","@ethersproject/contracts":"^5.0.5","@ethersproject/providers":"5.0.12","@ethersproject/solidity":"^5.0.5","@ethersproject/units":"^5.0.6","bignumber.js":"^9.0.0","isomorphic-fetch":"^2.2.1"},"description":"There are two types of swap available:","_id":"@centfinance/sor_xdai@0.0.9","dist":{"shasum":"9e4550b85db9ed51a4f581f256cf9f954dfe286c","integrity":"sha512-a86VSsWRDowhn5r5Ew9nLsoYUvhjhU3YF3DB0LDqo5JVh98hPspGNxFOgD77/+AmXS1GwT5m2l2Kier/nXXs7g==","tarball":"https://registry.npmjs.org/@centfinance/sor_xdai/-/sor_xdai-0.0.9.tgz","fileCount":30,"unpackedSize":146913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2eLPCRA9TVsSAnZWagAARiQP/1Kgq1un+NTCIMsZPrz1\ndVnwl1X2nORv8QzrNWeO+hKMhyud/1WCOWMgOxNTFWCJVcy1UuDzo8xzbneX\nzJj9EsMJVOAGt8PJDBb3R4/ZvbXxhlBker+02K3pPqxrZDW6+MqWCbeTDRmm\n8CDH/jqtNfVN4rOboNbTvjPEsmtRRXiQ0XMJnSRsn/IAKbVmsJjn8NtEkjuS\nAy6HRvHdxTELEFB2oFPqyEZAzxuqPXGamSKGuI4K8NiAqziNT1JTcqBr7Nij\nwQejmBmm/6ZlC9PegiDaLMHx/20TBmgrQCO8/n8eNE49XtO7mSZ4JfRh7CqA\n4zh0YlVaXGofooF8/tZoPIWISYgKS69bPxECgSjTBQSxed3LnvvYbV3GbO47\nBJ3JZLRzVfFQvaIrQMPgb7IxDK6s/EyO8eHgdISlu0hpL0MFSG+/8jtUhq1C\nGNQTVNwfeL03oiORODvP30+1WVBXWzeDsTPUZ3M4I9XwaIOMqzvpxf8Cgx5E\nBOqVkm+GortkinMGZgtuJ7oyY1ytR6NlIH+8NbYbSH6oxp6hUi1xqFM2x1QT\nkQd7Yv7o+sGsY2Ppv3xnL9uNlNwWCxMmpviHX33pRW8ARIlXgwU3f7fj8YGF\nZTG03Huz5SA98+/U51eoPmPhqIVw3dCHOVfZw/DaHphdML5rLY2JBRRXMG26\npm8v\r\n=LFin\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXNQ++R26eocec3xW6L8P9FlGAVJf8E15QxCnsYVajfQIgd5TQqEPBYUva2Uboer3L6MIZLAW3PDzMhWO45EbTOqw="}]},"_npmUser":{"name":"switch1983","email":"darren.op@cent.finance"},"directories":{},"maintainers":[{"name":"switch1983","email":"darren.op@cent.finance"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sor_xdai_0.0.9_1624892110622_0.3748084523857891"},"_hasShrinkwrap":false}},"time":{"created":"2021-01-20T16:08:01.214Z","0.0.1":"2021-01-20T16:08:01.745Z","modified":"2022-04-04T22:19:25.355Z","0.0.6":"2021-05-19T20:56:33.426Z","0.0.7":"2021-06-20T14:20:53.965Z","0.0.8":"2021-06-28T14:03:00.037Z","0.0.9":"2021-06-28T14:55:10.761Z"},"maintainers":[{"name":"switch1983","email":"darren.op@cent.finance"}],"description":"There are two types of swap available:","license":"GPL-3.0-only","readme":"<p align=\"center\">\n  <a href=\"https://circleci.com/gh/balancer-labs/balancer-sor\">\n    <img src=\"https://circleci.com/gh/balancer-labs/balancer-sor.svg?style=svg&circle-token=33636208d3161f79ff283b29c8dba9841bda8931\" />\n  </a>\n  <a href=\"https://coveralls.io/github/balancer-labs/balancer-sor\">\n    <img src=\"https://coveralls.io/repos/github/balancer-labs/balancer-sor/badge.svg?t=7avwwt\" />\n  </a>\n  <a href=\"https://www.gnu.org/licenses/gpl-3.0\">\n    <img src=\"https://img.shields.io/badge/License-GPLv3-green.svg\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/@balancer-labs/sor\">\n    <img src=\"https://img.shields.io/badge/npm-v0.2.4-blue.svg?style=flat-square\" />\n  </a>\n</p>\n\n<h1 align=center><code>Smart Order Router (SOR)</code></h1>\n\nSmart Order Router, or SOR, is an off-chain linear optimization of routing orders across pools for best price execution.\n\nSOR exists in the Bronze release as a way to aggregate liquidity across all Balancer pools. Future releases of Balancer will accomplish this on-chain and allow aggregate contract fillable liquidity.\n\nLiquidity aggregators are free to use the SOR npm package or create their own order routing across pools.\n\n[Read More](https://docs.balancer.finance/protocol/sor)\n\n## Overview Of Use And Example\n\nThere are two types of swap available:\n\n**swapExactIn** - i.e. You want to swap exactly 1 ETH as input and SOR will calculate X amount of BAL you receive in return.  \nor  \n**swapExactOut** - i.e. You want to receive exactly 1 BAL and SOR will calculate X amount of ETH you must input.\n\nThe SOR will return totalReturn/totalInput as well as a list swaps to achieve the total. Swaps can be through direct pools, i.e. A > POOL1 > B, or via a multihop pool, i.e. A > POOL1 > C > POOL2 > B. The swaps can be executed directly on-chain or with something like the [ExchangeProxy](https://github.com/balancer-labs/balancer-registry/blob/master/contracts/ExchangeProxy.sol).\n\nExample Output:\n\n```js\n// Following is output for 1USDC->WETH swapExactIn\n[\n    swaps,\n    amountOut,\n] = await SOR.getSwaps(....\n\n  console.log(\n      `USDC>WETH, SwapExactIn, 1USDC, Total WETH Return: ${amountOut.toString()}`\n  );\n  // USDC>WETH, SwapExactIn, 1USDC, Total WETH Return: 3090385829490120 - This is the total amount of WETH received for 1USDC\n  console.log(`Swaps: `);\n  console.log(swaps);\n\n  /*\n    This demonstrates a multihop swap going:\n    USDC -> BTC++ via pool 0x75286...\n    Then BTC++ -> WETH via pool 0xd4dbf...\n  */\n  [\n    // Multihop swap\n    [\n      // First sequence in swap\n      {\n        pool: '0x75286e183d923a5f52f52be205e358c5c9101b09',\n        tokenIn: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n        tokenOut: '0x0327112423f3a68efdf1fcf402f6c5cb9f7c33fd',\n        swapAmount: '1000000',\n        limitReturnAmount: '0',\n        maxPrice: '115792089237316195423570985008687907853269984665640564039457584007913129639935'\n       },\n      // Second sequence in swap\n      {\n        pool: '0xd4dbf96db2fdf8ed40296d8d104b371adf7dee12',\n        tokenIn: '0x0327112423f3a68efdf1fcf402f6c5cb9f7c33fd',\n        tokenOut: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n        swapAmount: '89403274570637',\n        limitReturnAmount: '0',\n        maxPrice:'115792089237316195423570985008687907853269984665640564039457584007913129639935'\n      }\n    ]\n  ]\n```\n\nThe file: [example-swapExactIn.ts](test/testScripts/example-swapExactIn.ts), shows full examples with comments for various swaps.\n\nTo Run:\n\nCreate a .env file in root dir with your infura provider key: `INFURA=your_key`\n\nInstall dependencies: `$ yarn install`\n\nRun example: `$ ts-node ./test/testScripts/example-swapExactIn.ts`\n","readmeFilename":"README.md"}