{"_id":"@bonsaiswapv3/smart-order-router","_rev":"5-a0f3d8efc0890cd8a94249ec6fe1e225","name":"@bonsaiswapv3/smart-order-router","dist-tags":{"latest":"2.0.5"},"versions":{"2.0.0":{"name":"@bonsaiswapv3/smart-order-router","version":"2.0.0","description":"Bonsaiswap Smart Order Router","main":"build/main/index.js","typings":"build/main/index.d.ts","module":"build/module/index.js","license":"GPL","keywords":[],"scripts":{"compile-v3-types":"npx typechain --target ethers-v5 --out-dir src/types/v3 './node_modules/@bonsaiswapv3/?(core|periphery)/artifacts/contracts/**/*.json'","compile-v2-types":"npx typechain --target ethers-v5 --out-dir src/types/v2 './node_modules/@bonsaiswapv2/?(core|periphery)/build/*BonsaiswapV2*.json'","compile-router":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@bonsaiswapv3/swap-router-contracts/artifacts/contracts/**/*.json'","compile-narwhal":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@bonsaiswapv3/narwhal/artifacts/contracts/**/*.json'","compile-external-types":"npx typechain --target ethers-v5 --out-dir src/types/other 'src/abis/**/*.json'","build":"run-p compile-v3-types compile-v2-types compile-router compile-narwhal compile-external-types && run-p build:*","build:main":"tsc -p tsconfig.json","build:module":"tsc -p tsconfig.module.json","fix":"run-s fix:*","fix:prettier":"prettier \"src/**/*.ts\" --write","fix:lint":"eslint src --ext .ts --fix","prepare-release":"run-s cov:check doc:html version doc:publish","test":"jest test/unit","integ-test":"TS_NODE=true jest test/integ"},"engines":{"node":">=10"},"dependencies":{"@bonsaiswapv3/default-token-list":"2.0.0","@bonsaiswapv3/permit2-sdk":"2.0.0","@bonsaiswapv3/router-sdk":"2.0.1","@bonsaiswapv3/swap-router-contracts":"2.0.1","@bonsaiswapv3/token-lists":"2.0.0","@bonsaiswapv3/universal-router":"2.0.1","@bonsaiswapv3/universal-router-sdk":"2.0.1","@bonsaiswapv3/v3-sdk":"2.0.1","async-retry":"^1.3.1","await-timeout":"^1.1.1","axios":"^0.21.1","bunyan":"^1.8.15","bunyan-blackhole":"^1.1.1","ethers":"^5.7.2","graphql":"^15.5.0","graphql-request":"^3.4.0","lodash":"^4.17.21","mnemonist":"^0.38.3","node-cache":"^5.1.2","stats-lite":"^2.2.0"},"devDependencies":{"@ethersproject/providers":"^5.4.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@nomiclabs/hardhat-ethers":"^2.0.6","@oclif/command":"^1.8.0","@oclif/errors":"^1.3.5","@typechain/ethers-v5":"^7.0.1","@types/async-retry":"^1.4.4","@types/await-timeout":"^0.3.1","@types/bunyan":"^1.8.6","@types/bunyan-blackhole":"^0.2.2","@types/jest":"^27.0.0","@types/jest-sinon":"^1.0.2","@types/lodash":"^4.14.168","@types/node":"^15.0.2","@types/sinon":"^10.0.2","@types/stats-lite":"^2.2.0","@typescript-eslint/eslint-plugin":"^4.0.1","@typescript-eslint/parser":"^4.0.1","@bonsaiswapv3/core":"^2.0.1","@bonsaiswapv3/periphery":"2.0.0","bunyan-debug-stream":"^2.0.0","dotenv":"^10.0.0","eslint":"^7.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.22.0","hardhat":"^2.12.2","jest":"^27.0.6","jest-environment-hardhat":"^1.1.8","jest-expect-message":"^1.0.2","jest-mock":"^27.0.6","jest-sinon":"^1.0.4","npm-run-all":"^4.1.5","open-cli":"^6.0.1","prettier":"^2.1.1","prettier-plugin-organize-imports":"^2.1.0","sinon":"^11.1.2","ts-jest":"^27.0.4","ts-node":"^10.8.1","typechain":"^5.0.0","typescript":"^4.2.2"},"peerDependencies":{"jsbi":"^3.2.0"},"prettier":{"singleQuote":true},"oclif":{"commands":"./cli/commands"},"gitHead":"93ad387b210924fbad50f1bd769e87fb79636eaa","_id":"@bonsaiswapv3/smart-order-router@2.0.0","_nodeVersion":"16.13.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-Nv7xbfXrACCHKVE5p0r4h9elss7HzGzrOGKjG3s1VUVyTNOj/y3TBebuqi9SwHLZd3Kj3SS2irs3AUpWyJjVsw==","shasum":"05419dde20eefa66e6358f9fe4ae4e0a4a7a5862","tarball":"https://registry.npmjs.org/@bonsaiswapv3/smart-order-router/-/smart-order-router-2.0.0.tgz","fileCount":3,"unpackedSize":49732,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDi8RzN2eoy7k6Bab4fajPGlnxnTDloE2875M/6phm9dgIgC1kbcL20/1LHElhy+6swPZJFUtJGRvYHwKGSiQXtTTQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBy9qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8aBAAkwSdK2el23zTnnzHdA8/LMhZIG2gC6XuH4o5ygf/94GknqyY\r\noCTdEq+k5o+/NnszERf3QAicps+VJlH/qgLEOa/3lV5AnLUOe69WhDRBdXYh\r\nppdbNLaQKALegBoTf/eM4UIqeUP6C/LrGFDEMsasATjP28QCw3cHvCQuiFbr\r\nlLP/vN4bOq58cmimH4PHLfWg+5aFChU7pzcTOQwieuxflnROX/2AWaUxxULj\r\n/GGfpLst9U9wVJIyA5XP9X21wZnNBZ4qOZORloYEzIBy4dinOc0GLRESauaG\r\nwWu4IUenDV7yowXcwz7D00G/aywuNTEljxEUYDrI+KxVODgBa90UYSoIxcyX\r\nXtILZdbAbbyE/67phyfCwKcOXpw5v0wJd2Af7ZnlLr3a3oktoLle/37j0tl2\r\nckwfhFTK6pw2/BhnOdqwrS6+CaEVL789L2cXAxDK6nBjJgwbrYY6JNvo91Uq\r\nxPDgrZRiKdgNjcKVDwT4bN/tHrDQcdABPgSCG3O4ZfW8k+m57G2PaCtkwyr0\r\n13vV9Grf+3edXYH7EqrMjUpSP6+AKen0vGYSn5uYUdgH5o0UChVWSqhAoqmZ\r\nXOQabGHITwCgzEAS+zmHzEBNjKWPM8yLwxUx/4tiK6I1147MWgO9uOSOHJGe\r\nCrH12fbIyzgqwK1uDaVBfWzpPpsROofaQAY=\r\n=CckQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alcanal","email":"acanal@ginzo.tech"},"directories":{},"maintainers":[{"name":"alcanal","email":"acanal@ginzo.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/smart-order-router_2.0.0_1678192489949_0.9994793384772982"},"_hasShrinkwrap":false},"2.0.1":{"name":"@bonsaiswapv3/smart-order-router","version":"2.0.1","description":"Bonsaiswap Smart Order Router","main":"build/main/index.js","typings":"build/main/index.d.ts","module":"build/module/index.js","license":"GPL","keywords":[],"scripts":{"compile-v3-types":"npx typechain --target ethers-v5 --out-dir src/types/v3 './node_modules/@bonsaiswapv3/?(core|periphery)/artifacts/contracts/**/*.json'","compile-v2-types":"npx typechain --target ethers-v5 --out-dir src/types/v2 './node_modules/@bonsaiswapv2/?(core|periphery)/build/*BonsaiswapV2*.json'","compile-router":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@bonsaiswapv3/swap-router-contracts/artifacts/contracts/**/*.json'","compile-narwhal":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@uniswap/narwhal/artifacts/contracts/**/*.json'","compile-external-types":"npx typechain --target ethers-v5 --out-dir src/types/other 'src/abis/**/*.json'","build":"run-p compile-v3-types compile-v2-types compile-router compile-external-types && run-p build:*","build:main":"tsc -p tsconfig.json","build:module":"tsc -p tsconfig.module.json","fix":"run-s fix:*","fix:prettier":"prettier \"src/**/*.ts\" --write","fix:lint":"eslint src --ext .ts --fix","prepare-release":"run-s cov:check doc:html version doc:publish","test":"jest test/unit","integ-test":"TS_NODE=true jest test/integ"},"engines":{"node":">=10"},"dependencies":{"@bonsaiswapv3/default-token-list":"2.0.0","@bonsaiswapv3/permit2-sdk":"2.0.0","@bonsaiswapv3/router-sdk":"2.0.1","@bonsaiswapv3/swap-router-contracts":"2.0.1","@bonsaiswapv3/token-lists":"2.0.0","@bonsaiswapv3/universal-router":"2.0.1","@bonsaiswapv3/universal-router-sdk":"2.0.1","@bonsaiswapv3/v3-sdk":"2.0.1","async-retry":"^1.3.1","await-timeout":"^1.1.1","axios":"^0.21.1","bunyan":"^1.8.15","bunyan-blackhole":"^1.1.1","ethers":"^5.7.2","graphql":"^15.5.0","graphql-request":"^3.4.0","lodash":"^4.17.21","mnemonist":"^0.38.3","node-cache":"^5.1.2","stats-lite":"^2.2.0"},"devDependencies":{"@ethersproject/providers":"^5.4.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@nomiclabs/hardhat-ethers":"^2.0.6","@oclif/command":"^1.8.0","@oclif/errors":"^1.3.5","@typechain/ethers-v5":"^7.0.1","@types/async-retry":"^1.4.4","@types/await-timeout":"^0.3.1","@types/bunyan":"^1.8.6","@types/bunyan-blackhole":"^0.2.2","@types/jest":"^27.0.0","@types/jest-sinon":"^1.0.2","@types/lodash":"^4.14.168","@types/node":"^15.0.2","@types/sinon":"^10.0.2","@types/stats-lite":"^2.2.0","@typescript-eslint/eslint-plugin":"^4.0.1","@typescript-eslint/parser":"^4.0.1","@bonsaiswapv3/core":"^2.0.1","@bonsaiswapv3/periphery":"2.0.0","bunyan-debug-stream":"^2.0.0","dotenv":"^10.0.0","eslint":"^7.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.22.0","hardhat":"^2.12.2","jest":"^27.0.6","jest-environment-hardhat":"^1.1.8","jest-expect-message":"^1.0.2","jest-mock":"^27.0.6","jest-sinon":"^1.0.4","npm-run-all":"^4.1.5","open-cli":"^6.0.1","prettier":"^2.1.1","prettier-plugin-organize-imports":"^2.1.0","sinon":"^11.1.2","ts-jest":"^27.0.4","ts-node":"^10.8.1","typechain":"^5.0.0","typescript":"^4.2.2"},"peerDependencies":{"jsbi":"^3.2.0"},"prettier":{"singleQuote":true},"oclif":{"commands":"./cli/commands"},"gitHead":"93ad387b210924fbad50f1bd769e87fb79636eaa","_id":"@bonsaiswapv3/smart-order-router@2.0.1","_nodeVersion":"16.13.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-obtTIX/DfVwVdR+XetOgrh+aICWukHDNtf1EVHIB4oJPt4MIsaDf0tCrjGYh/BG3Wpl6+CYTtn21ral6l0jH7A==","shasum":"171d944fa53204df17f35d5dd7fad65c46d8baf0","tarball":"https://registry.npmjs.org/@bonsaiswapv3/smart-order-router/-/smart-order-router-2.0.1.tgz","fileCount":341,"unpackedSize":2834267,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICuAoCVpUzbqvz7FoejPceGaSWJ0hp6V5JTUhjsX0nbtAiAXzAdLHAuRJ+WEPVrzvEpANbvtiE9tTxbAhvFIA85aEA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCErQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkVA/8D9/OrN/UDtQQgDo1TNStBGdFWWO47lNZUh7xFjz05bVa2tXe\r\n/VZkkQJso9Td/fBAA1mKs2IiBWNnMKAKx62eB0ooGYJcysV49EfUFiAi2k+S\r\nwCVs84OHPYvj3aLbidmPJnF2Sl//r1pFp6ijSyDAGknOXRzSlvlqvxZtcfUb\r\nPA5m0FWQjgYt+lVDU4iYoDH56ALROVtK3nFHFfer6o8VZhg6SdAZBOCb/GNh\r\nldVcyo6rAmTgDuEbSzcg9ZhLIyuQCfBB9PNq2MUsqf7kWv+E9S63OHgVCWmG\r\nokIHs47F+F9uZIMHwzFWh8CiEgy66B0DfpBIPaGgornO7BidN9Pu2yynbohz\r\nUQ/5WVFw5o0PiWgzGj+iHKRQcdIOgKfQti2XtbEsM4AeWlk6unuc/y/eEdXZ\r\nBipSPfdgDv0ns5Fkwq77W/bZ9dfHIVndt0inmv9Hha6pC4B2ttLay2de6MQL\r\n4A9aadaI4dsmQdRjh3gQL6FkjzGFa0FT4/QG/EDedxWx+0x90V8s0tIt55PY\r\nsu/jQRdjOM57rOa17c4fTVxVii5VyOz0iVly/gjGD4mXGCf0koyhq77cLsbv\r\nEhabL7irBCCOxC3D+OhbaX4CDrhou1F1cIGGSYAO521P7ZPobhrrxTyLQdbb\r\no5HDUcMUTPJAIAuUDg+p+LPGrZdYi2Wwyv8=\r\n=eW3J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alcanal","email":"acanal@ginzo.tech"},"directories":{},"maintainers":[{"name":"alcanal","email":"acanal@ginzo.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/smart-order-router_2.0.1_1678265039943_0.8914150811138801"},"_hasShrinkwrap":false},"2.0.2":{"name":"@bonsaiswapv3/smart-order-router","version":"2.0.2","description":"Bonsaiswap Smart Order Router","main":"build/main/index.js","typings":"build/main/index.d.ts","module":"build/module/index.js","license":"GPL","keywords":[],"scripts":{"compile-v3-types":"npx typechain --target ethers-v5 --out-dir src/types/v3 './node_modules/@bonsaiswapv3/?(core|periphery)/artifacts/contracts/**/*.json'","compile-v2-types":"npx typechain --target ethers-v5 --out-dir src/types/v2 './node_modules/@bonsaiswapv2/?(core|periphery)/build/*BonsaiswapV2*.json'","compile-router":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@bonsaiswapv3/swap-router-contracts/artifacts/contracts/**/*.json'","compile-narwhal":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@uniswap/narwhal/artifacts/contracts/**/*.json'","compile-external-types":"npx typechain --target ethers-v5 --out-dir src/types/other 'src/abis/**/*.json'","build":"run-p compile-v3-types compile-v2-types compile-router compile-external-types && run-p build:*","build:main":"tsc -p tsconfig.json","build:module":"tsc -p tsconfig.module.json","fix":"run-s fix:*","fix:prettier":"prettier \"src/**/*.ts\" --write","fix:lint":"eslint src --ext .ts --fix","prepare-release":"run-s cov:check doc:html version doc:publish","test":"jest test/unit","integ-test":"TS_NODE=true jest test/integ"},"engines":{"node":">=10"},"dependencies":{"@bonsaiswapv3/default-token-list":"2.0.1","@bonsaiswapv3/permit2-sdk":"2.0.1","@bonsaiswapv3/router-sdk":"2.0.4","@bonsaiswapv3/sdk-core":"2.0.1","@bonsaiswapv3/swap-router-contracts":"2.0.2","@bonsaiswapv3/token-lists":"2.0.0","@bonsaiswapv3/universal-router":"2.0.2","@bonsaiswapv3/universal-router-sdk":"2.0.5","@bonsaiswapv3/v3-sdk":"2.0.3","async-retry":"^1.3.1","await-timeout":"^1.1.1","axios":"^0.21.1","bunyan":"^1.8.15","bunyan-blackhole":"^1.1.1","ethers":"^5.7.2","graphql":"^15.5.0","graphql-request":"^3.4.0","lodash":"^4.17.21","mnemonist":"^0.38.3","node-cache":"^5.1.2","stats-lite":"^2.2.0"},"devDependencies":{"@bonsaiswapv3/core":"^2.0.1","@bonsaiswapv3/periphery":"2.0.0","@ethersproject/providers":"^5.4.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@nomiclabs/hardhat-ethers":"^2.0.6","@oclif/command":"^1.8.0","@oclif/errors":"^1.3.5","@typechain/ethers-v5":"^7.0.1","@types/async-retry":"^1.4.4","@types/await-timeout":"^0.3.1","@types/bunyan":"^1.8.6","@types/bunyan-blackhole":"^0.2.2","@types/jest":"^27.0.0","@types/jest-sinon":"^1.0.2","@types/lodash":"^4.14.168","@types/node":"^15.14.9","@types/sinon":"^10.0.2","@types/stats-lite":"^2.2.0","@typescript-eslint/eslint-plugin":"^4.0.1","@typescript-eslint/parser":"^4.0.1","bunyan-debug-stream":"^2.0.0","dotenv":"^10.0.0","eslint":"^7.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.22.0","hardhat":"^2.12.2","jest":"^27.0.6","jest-environment-hardhat":"^1.1.8","jest-expect-message":"^1.0.2","jest-mock":"^27.0.6","jest-sinon":"^1.0.4","npm-run-all":"^4.1.5","open-cli":"^6.0.1","prettier":"^2.1.1","prettier-plugin-organize-imports":"^2.1.0","sinon":"^11.1.2","ts-jest":"^27.0.4","ts-node":"^10.8.1","typechain":"^5.0.0","typescript":"^4.9.5"},"peerDependencies":{"jsbi":"^3.2.0"},"prettier":{"singleQuote":true},"oclif":{"commands":"./cli/commands"},"gitHead":"e9cf3366e3cca9c3c9858c1e03e1bab9829d4109","_id":"@bonsaiswapv3/smart-order-router@2.0.2","_nodeVersion":"16.13.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-qZXFdrgfocMSJDovQ7M0ECohjbloTOaH7qTdlU+qvmzZqi0pTOAsjzgj8N/XiKIbRwP3wBxM5wlNXYafkB7aUA==","shasum":"83125e3e37de0d344970c47a550691d90f4e2025","tarball":"https://registry.npmjs.org/@bonsaiswapv3/smart-order-router/-/smart-order-router-2.0.2.tgz","fileCount":339,"unpackedSize":2642027,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVqXoAwKFS8Zfeo68FNkAKW2v308UoQCaoyiKEZS/9pQIhANfeg43Gv87Wv1fLMom1MjxwnFrB60vMET27YQQm0+Dw"}]},"_npmUser":{"name":"alcanal","email":"acanal@ginzo.tech"},"directories":{},"maintainers":[{"name":"alcanal","email":"acanal@ginzo.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/smart-order-router_2.0.2_1683539417501_0.7960420032647801"},"_hasShrinkwrap":false},"2.0.3":{"name":"@bonsaiswapv3/smart-order-router","version":"2.0.3","description":"Bonsaiswap Smart Order Router","main":"build/main/index.js","typings":"build/main/index.d.ts","module":"build/module/index.js","license":"GPL","keywords":[],"scripts":{"compile-v3-types":"npx typechain --target ethers-v5 --out-dir src/types/v3 './node_modules/@bonsaiswapv3/?(core|periphery)/artifacts/contracts/**/*.json'","compile-v2-types":"npx typechain --target ethers-v5 --out-dir src/types/v2 './node_modules/@bonsaiswapv2/?(core|periphery)/build/*BonsaiswapV2*.json'","compile-router":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@bonsaiswapv3/swap-router-contracts/artifacts/contracts/**/*.json'","compile-narwhal":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@uniswap/narwhal/artifacts/contracts/**/*.json'","compile-external-types":"npx typechain --target ethers-v5 --out-dir src/types/other 'src/abis/**/*.json'","build":"run-p compile-v3-types compile-v2-types compile-router compile-external-types && run-p build:*","build:main":"tsc -p tsconfig.json","build:module":"tsc -p tsconfig.module.json","fix":"run-s fix:*","fix:prettier":"prettier \"src/**/*.ts\" --write","fix:lint":"eslint src --ext .ts --fix","prepare-release":"run-s cov:check doc:html version doc:publish","test":"jest test/unit","integ-test":"TS_NODE=true jest test/integ"},"engines":{"node":">=10"},"dependencies":{"@bonsaiswapv3/default-token-list":"2.0.1","@bonsaiswapv3/permit2-sdk":"2.0.1","@bonsaiswapv3/router-sdk":"2.0.6","@bonsaiswapv3/sdk-core":"2.0.2","@bonsaiswapv3/swap-router-contracts":"2.0.2","@bonsaiswapv3/token-lists":"2.0.0","@bonsaiswapv3/universal-router":"2.0.2","@bonsaiswapv3/universal-router-sdk":"2.0.7","@bonsaiswapv3/v3-sdk":"2.0.6","async-retry":"^1.3.1","await-timeout":"^1.1.1","axios":"^0.21.1","bunyan":"^1.8.15","bunyan-blackhole":"^1.1.1","ethers":"^5.7.2","graphql":"^15.5.0","graphql-request":"^3.4.0","lodash":"^4.17.21","mnemonist":"^0.38.3","node-cache":"^5.1.2","stats-lite":"^2.2.0"},"devDependencies":{"@bonsaiswapv3/core":"^2.0.1","@bonsaiswapv3/periphery":"2.0.0","@ethersproject/providers":"^5.4.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@nomiclabs/hardhat-ethers":"^2.0.6","@oclif/command":"^1.8.0","@oclif/errors":"^1.3.5","@typechain/ethers-v5":"^7.0.1","@types/async-retry":"^1.4.4","@types/await-timeout":"^0.3.1","@types/bunyan":"^1.8.6","@types/bunyan-blackhole":"^0.2.2","@types/jest":"^27.0.0","@types/jest-sinon":"^1.0.2","@types/lodash":"^4.14.168","@types/node":"^15.14.9","@types/sinon":"^10.0.2","@types/stats-lite":"^2.2.0","@typescript-eslint/eslint-plugin":"^4.0.1","@typescript-eslint/parser":"^4.0.1","bunyan-debug-stream":"^2.0.0","dotenv":"^10.0.0","eslint":"^7.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.22.0","hardhat":"^2.12.2","jest":"^27.0.6","jest-environment-hardhat":"^1.1.8","jest-expect-message":"^1.0.2","jest-mock":"^27.0.6","jest-sinon":"^1.0.4","npm-run-all":"^4.1.5","open-cli":"^6.0.1","prettier":"^2.1.1","prettier-plugin-organize-imports":"^2.1.0","sinon":"^11.1.2","ts-jest":"^27.0.4","ts-node":"^10.8.1","typechain":"^5.0.0","typescript":"^4.9.5"},"peerDependencies":{"jsbi":"^3.2.0"},"prettier":{"singleQuote":true},"oclif":{"commands":"./cli/commands"},"gitHead":"e9cf3366e3cca9c3c9858c1e03e1bab9829d4109","_id":"@bonsaiswapv3/smart-order-router@2.0.3","_nodeVersion":"16.13.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-qZe1VRmvADF9hKNU587ZmRfKKz/4J4ckzIaiLGH4IJgfbwIUs1Oipan4X3biiNHpZrBTT6jbsqnuKU4YrPuiqw==","shasum":"d42c0d4e8f1bcf38b14874c2aa58e30f34aa62dc","tarball":"https://registry.npmjs.org/@bonsaiswapv3/smart-order-router/-/smart-order-router-2.0.3.tgz","fileCount":341,"unpackedSize":2592631,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHVFq/jVxPiH+ipxhMphgXlWnJfCZ5GZiiFbki/45bpvAiEA/eBnb2dgTouqFtNWifn2WYgN17sG18rx7ddHIrqpHi0="}]},"_npmUser":{"name":"alcanal","email":"acanal@ginzo.tech"},"directories":{},"maintainers":[{"name":"alcanal","email":"acanal@ginzo.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/smart-order-router_2.0.3_1683544108477_0.07281205674338431"},"_hasShrinkwrap":false},"2.0.4":{"name":"@bonsaiswapv3/smart-order-router","version":"2.0.4","description":"Bonsaiswap Smart Order Router","main":"build/main/index.js","typings":"build/main/index.d.ts","module":"build/module/index.js","license":"GPL","keywords":[],"scripts":{"compile-v3-types":"npx typechain --target ethers-v5 --out-dir src/types/v3 './node_modules/@bonsaiswapv3/?(core|periphery)/artifacts/contracts/**/*.json'","compile-v2-types":"npx typechain --target ethers-v5 --out-dir src/types/v2 './node_modules/@bonsaiswapv2/?(core|periphery)/build/*BonsaiswapV2*.json'","compile-router":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@bonsaiswapv3/swap-router-contracts/artifacts/contracts/**/*.json'","compile-narwhal":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@uniswap/narwhal/artifacts/contracts/**/*.json'","compile-external-types":"npx typechain --target ethers-v5 --out-dir src/types/other 'src/abis/**/*.json'","build":"run-p compile-v3-types compile-v2-types compile-router compile-external-types && run-p build:*","build:main":"tsc -p tsconfig.json","build:module":"tsc -p tsconfig.module.json","fix":"run-s fix:*","fix:prettier":"prettier \"src/**/*.ts\" --write","fix:lint":"eslint src --ext .ts --fix","prepare-release":"run-s cov:check doc:html version doc:publish","test":"jest test/unit","integ-test":"TS_NODE=true jest test/integ"},"engines":{"node":">=10"},"dependencies":{"@bonsaiswapv3/default-token-list":"2.0.1","@bonsaiswapv3/permit2-sdk":"2.0.1","@bonsaiswapv3/router-sdk":"2.0.6","@bonsaiswapv3/sdk-core":"2.0.2","@bonsaiswapv3/swap-router-contracts":"2.0.2","@bonsaiswapv3/token-lists":"2.0.0","@bonsaiswapv3/universal-router":"2.0.2","@bonsaiswapv3/universal-router-sdk":"2.0.7","@bonsaiswapv3/v3-sdk":"2.0.6","async-retry":"^1.3.1","await-timeout":"^1.1.1","axios":"^0.21.1","bunyan":"^1.8.15","bunyan-blackhole":"^1.1.1","ethers":"^5.7.2","graphql":"^15.5.0","graphql-request":"^3.4.0","lodash":"^4.17.21","mnemonist":"^0.38.3","node-cache":"^5.1.2","stats-lite":"^2.2.0"},"devDependencies":{"@bonsaiswapv3/core":"^2.0.1","@bonsaiswapv3/periphery":"2.0.0","@ethersproject/providers":"^5.4.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@nomiclabs/hardhat-ethers":"^2.0.6","@oclif/command":"^1.8.0","@oclif/errors":"^1.3.5","@typechain/ethers-v5":"^7.0.1","@types/async-retry":"^1.4.4","@types/await-timeout":"^0.3.1","@types/bunyan":"^1.8.6","@types/bunyan-blackhole":"^0.2.2","@types/jest":"^27.0.0","@types/jest-sinon":"^1.0.2","@types/lodash":"^4.14.168","@types/node":"^15.14.9","@types/sinon":"^10.0.2","@types/stats-lite":"^2.2.0","@typescript-eslint/eslint-plugin":"^4.0.1","@typescript-eslint/parser":"^4.0.1","bunyan-debug-stream":"^2.0.0","dotenv":"^10.0.0","eslint":"^7.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.22.0","hardhat":"^2.12.2","jest":"^27.0.6","jest-environment-hardhat":"^1.1.8","jest-expect-message":"^1.0.2","jest-mock":"^27.0.6","jest-sinon":"^1.0.4","npm-run-all":"^4.1.5","open-cli":"^6.0.1","prettier":"^2.1.1","prettier-plugin-organize-imports":"^2.1.0","sinon":"^11.1.2","ts-jest":"^27.0.4","ts-node":"^10.8.1","typechain":"^5.0.0","typescript":"^4.9.5"},"peerDependencies":{"jsbi":"^3.2.0"},"prettier":{"singleQuote":true},"oclif":{"commands":"./cli/commands"},"gitHead":"e9cf3366e3cca9c3c9858c1e03e1bab9829d4109","_id":"@bonsaiswapv3/smart-order-router@2.0.4","_nodeVersion":"16.13.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-0kCeVKuCI032DYhoT4Dj680o/QSw5fZ23QzjPauooMny5TKeWHbJosKUSY7pF686OOWPwibymKR0QW37/izIlQ==","shasum":"be9cb2d25958fcdf8b3a9ebe3073e0634e7c1fda","tarball":"https://registry.npmjs.org/@bonsaiswapv3/smart-order-router/-/smart-order-router-2.0.4.tgz","fileCount":341,"unpackedSize":2592501,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfI4eQE2xJdKECNNHAn1/SpN0DN41gLMYoz1h/8yzBpAIgJ9tELIJRmhCHaW6QFbVZQGrR+4LNFp1FmsM4M6AVKCg="}]},"_npmUser":{"name":"alcanal","email":"acanal@ginzo.tech"},"directories":{},"maintainers":[{"name":"alcanal","email":"acanal@ginzo.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/smart-order-router_2.0.4_1683558910023_0.27854450066999714"},"_hasShrinkwrap":false},"2.0.5":{"name":"@bonsaiswapv3/smart-order-router","version":"2.0.5","description":"Bonsaiswap Smart Order Router","main":"build/main/index.js","typings":"build/main/index.d.ts","module":"build/module/index.js","license":"GPL","keywords":[],"scripts":{"compile-v3-types":"npx typechain --target ethers-v5 --out-dir src/types/v3 './node_modules/@bonsaiswapv3/?(core|periphery)/artifacts/contracts/**/*.json'","compile-v2-types":"npx typechain --target ethers-v5 --out-dir src/types/v2 './node_modules/@bonsaiswapv2/?(core|periphery)/build/*BonsaiswapV2*.json'","compile-router":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@bonsaiswapv3/swap-router-contracts/artifacts/contracts/**/*.json'","compile-external-types":"npx typechain --target ethers-v5 --out-dir src/types/other 'src/abis/**/*.json'","build":"run-p compile-v3-types compile-v2-types compile-router compile-external-types && run-p build:*","build:main":"tsc -p tsconfig.json","build:module":"tsc -p tsconfig.module.json","fix":"run-s fix:*","fix:prettier":"prettier \"src/**/*.ts\" --write","fix:lint":"eslint src --ext .ts --fix","prepare-release":"run-s cov:check doc:html version doc:publish","test":"jest test/unit","integ-test":"TS_NODE=true jest test/integ"},"engines":{"node":">=10"},"dependencies":{"@bonsaiswapv2/v2-sdk":"2.0.5","@bonsaiswapv3/default-token-list":"2.0.1","@bonsaiswapv3/permit2-sdk":"2.0.1","@bonsaiswapv3/router-sdk":"2.0.6","@bonsaiswapv3/sdk-core":"2.0.2","@bonsaiswapv3/swap-router-contracts":"2.0.2","@bonsaiswapv3/token-lists":"2.0.0","@bonsaiswapv3/universal-router":"2.0.2","@bonsaiswapv3/universal-router-sdk":"2.0.7","@bonsaiswapv3/v3-sdk":"2.0.6","@uniswap/v3-staker":"^1.0.2","async-retry":"^1.3.1","await-timeout":"^1.1.1","axios":"^0.21.1","bunyan":"^1.8.15","bunyan-blackhole":"^1.1.1","ethers":"^5.7.2","express":"^4.18.2","graphql":"^15.5.0","graphql-request":"^3.4.0","lodash":"^4.17.21","mnemonist":"^0.38.3","node-cache":"^5.1.2","stats-lite":"^2.2.0"},"devDependencies":{"@bonsaiswapv3/core":"^2.0.1","@bonsaiswapv3/periphery":"2.0.0","@ethersproject/providers":"^5.4.0","@istanbuljs/nyc-config-typescript":"^1.0.1","@nomiclabs/hardhat-ethers":"^2.0.6","@oclif/command":"^1.8.0","@oclif/errors":"^1.3.5","@typechain/ethers-v5":"^7.0.1","@types/async-retry":"^1.4.4","@types/await-timeout":"^0.3.1","@types/bunyan":"^1.8.6","@types/bunyan-blackhole":"^0.2.2","@types/express":"^4.17.17","@types/jest":"^27.0.0","@types/jest-sinon":"^1.0.2","@types/lodash":"^4.14.168","@types/node":"^20.1.2","@types/sinon":"^10.0.2","@types/stats-lite":"^2.2.0","@typescript-eslint/eslint-plugin":"^4.0.1","@typescript-eslint/parser":"^4.0.1","bunyan-debug-stream":"^2.0.1","dotenv":"^10.0.0","eslint":"^7.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.22.0","hardhat":"^2.12.2","jest":"^27.0.6","jest-environment-hardhat":"^1.1.8","jest-expect-message":"^1.0.2","jest-mock":"^27.0.6","jest-sinon":"^1.0.4","npm-run-all":"^4.1.5","open-cli":"^6.0.1","prettier":"^2.1.1","prettier-plugin-organize-imports":"^2.1.0","sinon":"^11.1.2","ts-jest":"^27.0.4","ts-node":"^10.8.1","typechain":"^5.0.0","typescript":"^4.9.5"},"peerDependencies":{"jsbi":"^3.2.0"},"prettier":{"singleQuote":true},"oclif":{"commands":"./cli/commands"},"gitHead":"2aab0ea2c080f0fee7f423b674f7f3bb232f35c7","_id":"@bonsaiswapv3/smart-order-router@2.0.5","_nodeVersion":"16.13.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-3yANteYpPOzNlDzNySMuYLqHg5/HQB3DbgcxxWSc0Jrgo6pG5gItuWIOXI7s+q1OAs9oNhCaaQgUgfAoAXNXOg==","shasum":"81f858205b6eafffb3ee11abe6f751dc718c10ff","tarball":"https://registry.npmjs.org/@bonsaiswapv3/smart-order-router/-/smart-order-router-2.0.5.tgz","fileCount":541,"unpackedSize":4786187,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTAQn5QhVoSrVJWqF3OiWB2CYO5QQfgdskNsRq3zYtpAIhALfsN3uuvuvGu4YYAq6NWLm4qbJ4qxH7Pq4f/zEplL4Y"}]},"_npmUser":{"name":"alcanal","email":"acanal@ginzo.tech"},"directories":{},"maintainers":[{"name":"alcanal","email":"acanal@ginzo.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/smart-order-router_2.0.5_1683804361864_0.7342334306824059"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-07T12:34:49.851Z","2.0.0":"2023-03-07T12:34:50.094Z","modified":"2023-05-11T11:26:02.317Z","2.0.1":"2023-03-08T08:44:00.153Z","2.0.2":"2023-05-08T09:50:17.725Z","2.0.3":"2023-05-08T11:08:28.751Z","2.0.4":"2023-05-08T15:15:10.222Z","2.0.5":"2023-05-11T11:26:02.157Z"},"maintainers":[{"name":"alcanal","email":"acanal@ginzo.tech"}],"description":"Bonsaiswap Smart Order Router","keywords":[],"license":"GPL","readme":"# Bonsaiswap Smart Order Router\n\nThis repository contains routing logic for the Bonsaiswap V3 protocol.\n\nIt searches for the most efficient way to swap token A for token B, considering splitting swaps across multiple routes and gas costs.\n\n## HTTP\n\n```\nnpm install\nnpm run build\nnpx tsc \nnode build/main/app.js\n```\n\n\n## Testing\n\n### Unit Tests\n\nFirst make sure you have run `npm install` and `npm run build`.\n\n```\nnpm run test\n```\n\n### Integration Tests\n\nMake sure the `.env` file is configured to connect to mainnet and other chains. See the [CLI](#cli) section below for more details.\n\n```\nnpm run integ-test\n```\n\n### CLI\n\nThe package can be run as a CLI for testing purposes.\n\nFirst create a `.env` file in the root of the project and configure:\n\n```\nJSON_RPC_PROVIDER = '<JSON_RPC_PROVIDER>'\n```\n\nTo run on chains other than mainnet set up a connection by specifying the environment variable\n\n```\nJSON_RPC_PROVIDER_SEPOLIA = '<JSON_RPC_PROVIDER>'\n```\n\nThen from the root directory you can execute the CLI.\n\n## Examples\n\nSome examples to use for manual CLI testing.\n\n### Mainnet\n\n```\n./bin/cli quote --tokenIn 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 --tokenOut 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984 --amount 1000 --exactIn --recipient 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B --protocols v2,v3\n```\n\n## Rinkeby\n\n```\n./bin/cli quote --tokenIn 0x5592ec0cfb4dbc12d3ab100b257153436a1f0fea --tokenOut 0x4DBCdF9B62e891a7cec5A2568C3F4FAF9E8Abe2b --amount 200000 --exactIn --minSplits 1 --router alpha --chainId 4\n```\n\n## Adding a new Chain\n\nThe main components to complete are:\n\n- Deploy contracts on chain, add the pools to subgraph\n- Populate v3 providers in `src/providers/v3/subgraph-provider` and `src/providers/v3/static-subgraph-provider`\n- Populate chainId and addresses in `src/util/chains.ts` and `src/util/addresses.ts`\n- Populate token providers in `src/providers/caching-token-provider` and `src/providers/token-provider.ts`\n- Populate gas constants in `src/routers/alpha-router/gas-models/*`\n- Populate bases in `src/routers/legacy-router/bases.ts`\n- Populate `test/integ/routers/alpha-router/alpha-router.integration.test.ts` and `src/providers/v2/static-subgraph-provider.ts`\n- Populate `src/routers/alpha-router/*`\n- Add a log to `/CHANGELOG.md`\n- Run `npm run integ-test` successfully\n\n# Troubleshooting\n\n## ProviderGasLimit errors\n\nThe package sends many large multicall requests to nodes. You must ensure that your node provider's `eth_call` gas limit is high enough to succesfully process the RPC calls.\n\nBy default each `eth_call` will consume up to:\n\n- 132,000,000 gas on Optimism\n- 120,000,000 gas on Arbitrum\n- 50,000,000 gas on Celo\n- 150,000,000 gas on every other network (Mainnet, Goerli, etc.)\n\nThese parameters should work on Infura and Alchemy by default.\n\nThis total amount of gas each `eth_call` can consume is equal to the `multicallChunk` config value multiplied by the `gasLimitPerCall` config value. If you are using a node provider with a lower gas limit per `eth_call` you will need to override the default `V3QuoteProvider` with an instance that lowers the `multicallChunk` and `gasLimitPerCall` parameters such that the multiplication is below your node providers limit. Lowering these values will cause each multicall to consume less gas. See [here](https://github.com/Uniswap/smart-order-router/blob/98c58bdee9981fd9ffac9e7d7a97b18302d5f77a/src/routers/alpha-router/alpha-router.ts#L415-L416) for examples of how to set these values. Note some providers have different limits per chain.\n\nIf you are running your own node, we recommend you configure start your node with a higher gas limit per call. For example, on Geth you can use the command line argument `--rpc.gascap 150000000` to raise the limit to 150m, which is enough to run the default configuration of this package.\n\nIf you are using Hardhat mainnet forking, you should add `blockGasLimit: 150_000_000` to your Hardhat config to use the default package configuration.\n","readmeFilename":"README.md"}