{"_id":"@camp-network/uniswap-smart-order-router","name":"@camp-network/uniswap-smart-order-router","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@camp-network/uniswap-smart-order-router","version":"1.0.0","description":"Uniswap Smart Order Router","main":"build/main/index.js","typings":"build/main/index.d.ts","module":"build/module/index.js","repository":{"type":"git","url":"git+https://github.com/campaign-layer/uniswap-smart-order-router.git"},"license":"GPL","keywords":[],"scripts":{"compile-v3-types":"npx typechain --target ethers-v5 --out-dir src/types/v3 './node_modules/@uniswap/?(v3-core|v3-periphery)/artifacts/contracts/**/*.json'","compile-v2-types":"npx typechain --target ethers-v5 --out-dir src/types/v2 './node_modules/@uniswap/?(v2-core|v2-periphery)/build/*UniswapV2*.json'","compile-router":"npx typechain --target ethers-v5 --out-dir src/types/other './node_modules/@uniswap/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-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":{"@uniswap/default-token-list":"^11.2.0","@uniswap/permit2-sdk":"^1.2.0","@uniswap/router-sdk":"^1.6.0","@uniswap/swap-router-contracts":"^1.3.0","@uniswap/token-lists":"^1.0.0-beta.31","@uniswap/universal-router":"^1.0.1","@uniswap/universal-router-sdk":"^1.5.7","@uniswap/v2-sdk":"^3.2.1","@uniswap/v3-sdk":"^3.10.0","@uniswap/sdk-core":"^4.0.7","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","@uniswap/v2-core":"^1.0.1","@uniswap/v2-periphery":"^1.1.0-beta.0","@uniswap/v3-core":"^1.0.0","@uniswap/v3-periphery":"^1.1.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.2.2"},"peerDependencies":{"jsbi":"^3.2.0"},"prettier":{"singleQuote":true},"oclif":{"commands":"./cli/commands"},"gitHead":"eb2ff13845bf1371bb3c818d6cabd81867022a1c","bugs":{"url":"https://github.com/campaign-layer/uniswap-smart-order-router/issues"},"homepage":"https://github.com/campaign-layer/uniswap-smart-order-router#readme","_id":"@camp-network/uniswap-smart-order-router@1.0.0","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-RcSYgI9LN9ay9LQnh+Mjh9ro7V9KVp1wI6vNKof/XQEn9yOQkKZVa0pqbKhCBke4Z8hvXDE8lgQbHMxrv0B0LA==","shasum":"e2c4804e3b732d06bffde6de5e26cd6fd0d4a01a","tarball":"https://registry.npmjs.org/@camp-network/uniswap-smart-order-router/-/uniswap-smart-order-router-1.0.0.tgz","fileCount":430,"unpackedSize":3292710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFbkWNyVhxMcuT3dk582sv/wLQOMwNb9XORQ+wbfkiXqAiB6ZtQMLyLB5Xy17He+fMBj9pzJY2yoA9vwtKiFTiuk1w=="}]},"_npmUser":{"name":"cpthaddock2000","email":"marc@campnetwork.xyz"},"directories":{},"maintainers":[{"name":"cpthaddock2000","email":"marc@campnetwork.xyz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/uniswap-smart-order-router_1.0.0_1710974076856_0.6736548039790309"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-20T22:34:36.729Z","1.0.0":"2024-03-20T22:34:37.080Z","modified":"2024-03-20T22:34:37.629Z"},"maintainers":[{"name":"cpthaddock2000","email":"marc@campnetwork.xyz"}],"description":"Uniswap Smart Order Router","homepage":"https://github.com/campaign-layer/uniswap-smart-order-router#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/campaign-layer/uniswap-smart-order-router.git"},"bugs":{"url":"https://github.com/campaign-layer/uniswap-smart-order-router/issues"},"license":"GPL","readme":"# Uniswap Smart Order Router\n\nThis repository contains routing logic for the Uniswap 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\nThis repository is published as an npmjs package. Even though this repo comes with a command-line tool, we don't use this in our routing setup. Our (Routing API)[https://github.com/campaign-layer/uniswap-routing-api] imports this npmjs package for the routing logic.\n\nThe only time you would need to update this npmjs package is when the graph node url needs to be updated.\nTo update the graph node url, update `src/providers/v3/subgraph-provider.ts` with the new url near line 67.\nPlease update package version, and run\n\n```shell\nnpm install\nnpm run build\nnpm publish --access public\n```\n\nYou will need an NPMJS key; please ping gnarlycow for this.\n","readmeFilename":"README.md"}