{"_id":"@bonsaiswapv3/token-list-bridge-utils","name":"@bonsaiswapv3/token-list-bridge-utils","dist-tags":{"latest":"2.0.0"},"versions":{"2.0.0":{"devDependencies":{"@size-limit/preset-small-lib":"^7.0.8","@tsconfig/recommended":"^1.0.1","@types/jest":"^27.4.1","@types/lodash":"^4.14.179","@bonsaiswapv3/token-lists":"2.0.0","dts-cli":"^1.4.0","husky":"^7.0.4","size-limit":"^7.0.8","tslib":"^2.3.1","typescript":"^4.5.5"},"engines":{"node":">=12"},"husky":{"hooks":{"pre-commit":"dts lint"}},"jest":{"testEnvironment":"node"},"license":"GPL-3.0-or-later","main":"dist/index.js","module":"dist/token-list-bridge-utils.esm.js","name":"@bonsaiswapv3/token-list-bridge-utils","prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"es5"},"scripts":{"analyze":"size-limit --why","build":"dts build","lint":"dts lint","prepare":"dts build","size":"size-limit","start":"dts watch","test":"dts test"},"size-limit":[{"limit":"10 KB","path":"dist/token-list-bridge-utils.cjs.production.min.js"},{"limit":"10 KB","path":"dist/token-list-bridge-utils.esm.js"}],"typings":"dist/index.d.ts","version":"2.0.0","dependencies":{"@arbitrum/sdk":"^1.1.4","@bonsaiswapv3/sdk-core":"2.0.0","axios":"^0.26.0","dotenv":"^16.0.1","ethers":"^5.6.5","lodash":"^4.17.21","prettier":"^2.7.1","web3":"^1.7.3"},"gitHead":"1ef6eb00025fcfa389a4ab41722b358d5ca83acf","description":"## Description This package contains utility functions used for converting an L1 token list into a cross-chain tokenlist by adding cross-chain mapping information for Arbitrum, Optimism, and Polygon to a given L1 list.","_id":"@bonsaiswapv3/token-list-bridge-utils@2.0.0","_nodeVersion":"16.13.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-+4f46IqMb9ml5UnV+f3RJ02omOunc7SxTxGCWhYMz3y7hwKK2Z4Wjjezya2NpH3O7aba6A6SXF9PbFtzlFPKHw==","shasum":"6392090e0afaf9d8ac513c02544065570ef6070d","tarball":"https://registry.npmjs.org/@bonsaiswapv3/token-list-bridge-utils/-/token-list-bridge-utils-2.0.0.tgz","fileCount":47,"unpackedSize":842698,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBS1lbOSeIA9vvCLsLdS1sZYCrRkhgx8/2O24sDjXfoMAiEAvfY7i+zuR4v4mBZc9HEjSZEc/V46jncCct9qgNUDZIQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBxgTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobdhAAgbbrxpJh3JgdH4x9+elxM6vYCPEHhbe/WKw7r7IomauWQzDu\r\n7bV05+3D0knkvIvFy69X+b7NX4wIWrn1uAJ41RZMKSv/doVurS6irirKyQSl\r\nytPoOO346OSAq6wJd6MiG50yU8mYwEYfSaP5HNyq5BF9mTifmF+2b2hxruh0\r\nr9BwkDUpRCzJ2NG9lGMwNH+dcuRDFIq9Dje/MuLcyAYcXn7uSNvP3H4EhkGP\r\nYNhpzVU/i48gqlKr0HJTVudoJLE7mvXgRqeLz2Uqu1mzMIXrdFHIsbDhqwWg\r\nQc60QRK1vYDWBoFQnWX4EipH5c+5F68N4iNi7n4+v0U8S//lpxNKXoIQTpcD\r\ncQI+QMrM/fswtMx9QkjrXwIpI6UHEvEbs/7MfjRw3/LXD3mUEZPnZNE/MSs4\r\n3hG3Nz7WK/RsvcLTxTKWhg88e+CtL8ai0m+ZC1YfivbNWVXCHfWHgIRrAAmw\r\nXIJr4efy9JRvFiRbAPCSZWq02IjY+TksnZcDqQTkMt/BkOXD6Dlqh4xM/XfI\r\n5ZmRs/c8WjYny8Nf8Uh9vqXocZoa6A+K6Nmvt+tLOAT9h2D0SDGs3W3xEzEa\r\n+sizk8w0TpZ/HjHYOfj6QOZR+74pR4jArfKQhP4UWAr8qjeR7CWdX5We7hrI\r\n3z8bh+QaykOl+mX9KlJc+hXMpy/DhXB750U=\r\n=5Thq\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/token-list-bridge-utils_2.0.0_1678186514906_0.6893762479643795"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-07T10:55:14.850Z","2.0.0":"2023-03-07T10:55:15.135Z","modified":"2023-03-07T10:55:15.354Z"},"maintainers":[{"name":"alcanal","email":"acanal@ginzo.tech"}],"description":"## Description This package contains utility functions used for converting an L1 token list into a cross-chain tokenlist by adding cross-chain mapping information for Arbitrum, Optimism, and Polygon to a given L1 list.","license":"GPL-3.0-or-later","readme":"# Token List Bridge Utils\n\n## Description\nThis package contains utility functions used for converting an L1 token list into a cross-chain tokenlist by adding cross-chain mapping information for Arbitrum, Optimism, and Polygon to a given L1 list.\n\nMappings get added in the form of an extensions field, following this [schema](https://github.com/Uniswap/token-lists/issues/51#issuecomment-952268629).\n(Currently does not fill information for origin and destination bridge addresses)\n\nex:\n\n      \"name\": \"Uniswap\",\n      \"address\": \"0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984\",\n      \"symbol\": \"UNI\",\n      \"decimals\": 18,\n      \"chainId\": 1,\n      \"logoURI\": \"ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg\",\n      \"extensions\": {\n        \"bridgeInfo\": {\n          \"10\": {\n            \"tokenAddress\": \"0x6fd9d7AD17242c41f7131d257212c54A0e816691\"\n          },\n          \"137\": {\n            \"tokenAddress\": \"0xb33EaAd8d922B1083446DC23f610c2567fB5180f\"\n          },\n          \"42161\": {\n            \"tokenAddress\": \"0xFa7F8980b0f1E64A2062791cc3b0871572f1F7f0\"\n          }\n        }\n      }}\nAlso adds a \"root-level\" token entry for each of the L2's that a token maps to.\n\nex. for Optimism:\n\n\n    {\n      \"name\": \"Uniswap\",\n      \"address\": \"0x6fd9d7AD17242c41f7131d257212c54A0e816691\",\n      \"symbol\": \"UNI\",\n      \"decimals\": 18,\n      \"chainId\": 10,\n      \"logoURI\": \"ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg\",\n      \"extensions\": {\n        \"bridgeInfo\": {\n          \"1\": {\n            \"tokenAddress\": \"0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984\"\n          }\n        }\n      }\n    }\n\n\n## Functions Overview\n\nchainify\n\n * Adds bridgeInfo to the given token list for Optimism, Polygon and Arbitrum.\n * @param l1TokenListOrPathOrUrl\n * @returns TokenList with l2 bridgeInfo filled\n\n\nchainifyTokenList\n\n * Given a chain ID (Optimism, Polygon, or Arbitrum) and a TokenList, returns the TokenList with `extensions` filled.\n * @param chainId chainId to operate on\n * @param l1TokenListOrPathOrUrl either an L1 TokenList object or a path/url to a TokenList\n * @returns L1 TokenList with `extensions` filled for the given network\n\n\nmergeTokenLists\n * Merges two token lists, resolving conflicts to primary list.\n * @param primary primary token list to resolve conflicts to\n * @param secondary secondary token list\n * @returns merged token list\n\n## Usage (from external package):\n### Install Package\n`yarn add @uniswap/token-list-bridge-utils`\n\nor\n\n`npm i @uniswap/token-list-bridge-utils`\n\n### Create .env file (Optional)\n- By default, the library uses `https://cloudflare-eth.com/` as the MAINNET_RPC env variable value required by arbitrum-sdk. You can override this value by creating a .env file in your root directory and setting a value for MAINNET_RPC.\n\n  - Sample .env file contents:\n\n    `MAINNET_RPC=\"https://mainnet.infura.io/v3/<infura key>\"`\n- Note: If this is not set correctly, the library will throw a NETWORK_ERROR error code.\n\n### Call Function\n#### CommonJS\n`const bridge_utils  = require('@uniswap/token-list-bridge-utils');`\n\n`let chainifiedList = await bridge_utils.chainify(tokenList);`\n#### ESM\n`import { chainify } from '@uniswap/token-list-bridge-utils';`\n\n`let chainifiedList = await chainify(tokenList);`\n\n## Run Tests\n\n`yarn install`\n\n`yarn test`\n\n## DTS User Guide\n\nDTS scaffolds your new library inside `/src`.\n\nTo run DTS, use:\n\n```bash\nnpm start # or yarn start\n```\n\nThis builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.\n\nTo do a one-off build, use `npm run build` or `yarn build`.","readmeFilename":"README.md"}