{"_id":"@aborean/swap-router-contracts","name":"@aborean/swap-router-contracts","dist-tags":{"latest":"1.3.1"},"versions":{"1.3.1":{"name":"@aborean/swap-router-contracts","description":"Smart contracts for swapping on Uniswap V2 and V3","license":"GPL-2.0-or-later","publishConfig":{"access":"public"},"version":"1.3.1","homepage":"https://uniswap.org","keywords":["uniswap","v2","v3"],"repository":{"type":"git","url":"git+https://github.com/Uniswap/swap-router-contracts.git"},"engines":{"node":">=10"},"dependencies":{"@openzeppelin/contracts":"3.4.2-solc-0.7","@aborean/v2-core":"^1.0.1","@aborean/v3-core":"^1.0.0","@aborean/v3-periphery":"^1.4.4","dotenv":"^14.2.0","hardhat-watcher":"^2.1.1"},"devDependencies":{"@nomiclabs/hardhat-ethers":"^2.0.2","@nomiclabs/hardhat-etherscan":"^2.1.8","@nomiclabs/hardhat-waffle":"^2.0.1","@typechain/ethers-v5":"^4.0.0","@types/chai":"^4.2.6","@types/mocha":"^5.2.7","chai":"^4.2.0","decimal.js":"^10.2.1","ethereum-waffle":"^3.0.2","ethers":"^5.0.8","hardhat":"^2.6.8","hardhat-typechain":"^0.3.5","is-svg":"^4.3.1","mocha":"^6.2.2","mocha-chai-jest-snapshot":"^1.1.0","prettier":"^2.0.5","prettier-plugin-solidity":"^1.0.0-beta.10","solhint":"^3.2.1","solhint-plugin-prettier":"^0.0.5","ts-generator":"^0.1.1","ts-node":"^8.5.4","typechain":"^4.0.0","typescript":"^3.7.3"},"scripts":{"compile":"hardhat compile","test":"hardhat test"},"_id":"@aborean/swap-router-contracts@1.3.1","gitHead":"70bc2e40dfca294c1cea9bf67a4036732ee54303","bugs":{"url":"https://github.com/Uniswap/swap-router-contracts/issues"},"_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-1XV7KGRW7LADP2SQDE4VWFdrKhdePZv9Y0gDDWDTQeZcwKCXmYuPFLzSxZ8JkxAYKO/pUEVHDbxET68fDnOV5w==","shasum":"b9f57c5601b2093caa5cb0c707635c858cd12e03","tarball":"https://registry.npmjs.org/@aborean/swap-router-contracts/-/swap-router-contracts-1.3.1.tgz","fileCount":51,"unpackedSize":397498,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCtc2xawPuknd5BTGPyXxHCIs/iS4s5zIFHWLP8CqeYAwIgKEm7UaguL5LCVj2WsTzyGwS1JXBcqy7FqCmXznDY/dw="}]},"_npmUser":{"name":"cryptoaaron","email":"aaron@bombmoney.com"},"directories":{},"maintainers":[{"name":"cryptoaaron","email":"aaron@bombmoney.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/swap-router-contracts_1.3.1_1754748915169_0.11423078827467248"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-09T14:15:15.061Z","1.3.1":"2025-08-09T14:15:15.369Z","modified":"2025-08-09T14:15:15.689Z"},"maintainers":[{"name":"cryptoaaron","email":"aaron@bombmoney.com"}],"description":"Smart contracts for swapping on Uniswap V2 and V3","homepage":"https://uniswap.org","keywords":["uniswap","v2","v3"],"repository":{"type":"git","url":"git+https://github.com/Uniswap/swap-router-contracts.git"},"bugs":{"url":"https://github.com/Uniswap/swap-router-contracts/issues"},"license":"GPL-2.0-or-later","readme":"# Uniswap Swap Router\n\n[![Tests](https://github.com/Uniswap/swap-router-contracts/workflows/Tests/badge.svg)](https://github.com/Uniswap/swap-router-contracts/actions?query=workflow%3ATests)\n[![Lint](https://github.com/Uniswap/swap-router-contracts/workflows/Lint/badge.svg)](https://github.com/Uniswap/swap-router-contracts/actions?query=workflow%3ALint)\n\nThis repository contains smart contracts for swapping on the Uniswap V2 and V3 protocols.\n\n## Bug bounty\n\nThis repository is subject to the Uniswap V3 bug bounty program,\nper the terms defined [here](./bug-bounty.md).\n\n## Local deployment\n\nIn order to deploy this code to a local testnet, you should install the npm package\n`@aborean/swap-router-contracts`\nand import bytecode imported from artifacts located at\n`@aborean/swap-router-contracts/artifacts/contracts/*/*.json`.\nFor example:\n\n```typescript\nimport {\n  abi as SWAP_ROUTER_ABI,\n  bytecode as SWAP_ROUTER_BYTECODE,\n} from '@aborean/swap-router-contracts/artifacts/contracts/SwapRouter02.sol/SwapRouter02.json'\n\n// deploy the bytecode\n```\n\nThis will ensure that you are testing against the same bytecode that is deployed to\nmainnet and public testnets, and all Uniswap code will correctly interoperate with\nyour local deployment.\n\n## Using solidity interfaces\n\nThe swap router contract interfaces are available for import into solidity smart contracts\nvia the npm artifact `@aborean/swap-router-contracts`, e.g.:\n\n```solidity\nimport '@aborean/swap-router-contracts/contracts/interfaces/ISwapRouter02.sol';\n\ncontract MyContract {\n  ISwapRouter02 router;\n\n  function doSomethingWithSwapRouter() {\n    // router.exactInput(...);\n  }\n}\n\n```\n\n## Tests\n\nSome tests use Hardhat mainnet forking and therefore require an archive node.\nEither create a `.env` file in the workspace root containing:\n\n```\nARCHIVE_RPC_URL='...'\n```\n\nOr set the variable when running tests:\n\n```\nexport ARCHIVE_RPC_URL='...' && npm run test\n```\n","readmeFilename":"README.md","_rev":"1-771310864c6e73ec82cdd813ef94b369"}