{"_id":"@donaswap/token-list-bridge-utils","name":"@donaswap/token-list-bridge-utils","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"author":{"name":"Kryptstein"},"devDependencies":{"@size-limit/preset-small-lib":"^7.0.8","@tsconfig/recommended":"^1.0.1","@types/jest":"^27.4.1","@types/lodash":"^4.14.179","@donaswap/token-lists":"^1.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":"@donaswap/token-list-bridge-utils","prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"es5"},"scripts":{"analyze":"size-limit --why","build":"dts build","lint":"dts lint","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":"1.0.0","dependencies":{"@arbitrum/sdk":"^1.1.4","@donaswap/sdk-core":"^1.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":"0e99b22addf8f389c4a390156aa01367ba219d0e","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":"@donaswap/token-list-bridge-utils@1.0.0","_nodeVersion":"14.20.0","_npmVersion":"6.14.17","dist":{"integrity":"sha512-XqPVbY5uC/YJxu67+Q6au0HPK/IWpqpjBFj5irFWUIfq3U1WUrxDLqY2scvrFdikCP1K9GNIg64WlCGrX9cl8g==","shasum":"dcad588a2b42e25a5c788550aa245af84d3a388d","tarball":"https://registry.npmjs.org/@donaswap/token-list-bridge-utils/-/token-list-bridge-utils-1.0.0.tgz","fileCount":21,"unpackedSize":78134,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBS+xRzdUkLrAIMpe+ruitqUY+KBRk/HyyezJi/ePXB4AiBKogo125K18i318G9jZJMC0cq4QT6fJIhQZ0WEglWg0w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZaqHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopyQ//QsQyA8/aNbI79GdEYvGE2MIALoAbQO/fgeyUC4O4C/koR2Pd\r\ntGmhRNU3xwRH1iky6ePmp7Xf0rwFTULd6xiX8fDTYrF7TPnMUDjD8MxlKqvn\r\nVyKCw+dcTwna32iG5KJmvH+656SjSEC0M0HihUZ2GYT98BqtNgOfd1SC3VRZ\r\njcskYHwleWlHI+jUV1BMHnAu6jj48Ws6LgdN0YNWw8xKHu/mqvyiDclVtbg8\r\n42E+2R/aXDPwGcmRr9FdYDqNyqRXvdrchWYeB+rO/RZ5pYBx0KPCEkQrFQLL\r\nzOGgeicjkqBjgHxuvwY6N6AgMV5ikW2QzPs3GgbnhL7fM2mFP0rP46gPE5qo\r\nRIdhO7gLE4b+aQtxPIb/2bedTPBsMmVPquR6YPtcrmgQqIa3ZvGztqSRpgut\r\noUo63hOgRefBlY/5L2CHskIC6fCkVnNwIDIMU5FYTeCGRCyjORhb2oX/K/iI\r\nYShNk2jzTKdOdWgH9PfgaWgafsZN7CYk8NbjI1Xw3bicr8hlZCjyBwteGskx\r\nhqamP8sievTIOQ/KMDlXbDq+uWvCh5icPMSFHrsh9FBPK38118foJrOo0AnV\r\nfO4rQZwNV1IrG5oABtLI2+c6tc8z6X9IgJ+txXkeA3LeRj+hVtvJfgO2lW2w\r\n/Ml1eHYZ5zkAjJcdZKXzwmp+igpBUUBzIPM=\r\n=CJCZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"donaswap","email":"info@donaswap.com"},"directories":{},"maintainers":[{"name":"donaswap","email":"info@donaswap.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/token-list-bridge-utils_1.0.0_1667607174915_0.7038460490315892"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-05T00:12:54.863Z","1.0.0":"2022-11-05T00:12:55.071Z","modified":"2022-11-05T00:12:55.214Z"},"maintainers":[{"name":"donaswap","email":"info@donaswap.com"}],"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.","author":{"name":"Kryptstein"},"license":"GPL-3.0-or-later","readme":"# Token List Bridge Utils\r\n\r\n## Description\r\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.\r\n\r\nMappings get added in the form of an extensions field, following this [schema](https://gitlab.com/Donaswap/token-lists/issues/).\r\n(Currently does not fill information for origin and destination bridge addresses)\r\n\r\nex:\r\n\r\n      \"name\": \"DONASWAP\",\r\n      \"address\": \"0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984\",\r\n      \"symbol\": \"DONA\",\r\n      \"decimals\": 18,\r\n      \"chainId\": 1,\r\n      \"logoURI\": \"ipfs://QmcUejwakNE4SutHeW78g3f6tVtNV8a8d6XgbAxcbs9F4j\",\r\n      \"extensions\": {\r\n        \"bridgeInfo\": {\r\n          \"10\": {\r\n            \"tokenAddress\": \"0x6fd9d7AD17242c41f7131d257212c54A0e816691\"\r\n          },\r\n          \"137\": {\r\n            \"tokenAddress\": \"0xb33EaAd8d922B1083446DC23f610c2567fB5180f\"\r\n          },\r\n          \"42161\": {\r\n            \"tokenAddress\": \"0xFa7F8980b0f1E64A2062791cc3b0871572f1F7f0\"\r\n          }\r\n        }\r\n      }}\r\nAlso adds a \"root-level\" token entry for each of the L2's that a token maps to.\r\n\r\nex. for Optimism:\r\n\r\n\r\n    {\r\n      \"name\": \"DONASWAP\",\r\n      \"address\": \"0x6fd9d7AD17242c41f7131d257212c54A0e816691\",\r\n      \"symbol\": \"DONA\",\r\n      \"decimals\": 18,\r\n      \"chainId\": 10,\r\n      \"logoURI\": \"ipfs://QmcUejwakNE4SutHeW78g3f6tVtNV8a8d6XgbAxcbs9F4j\",\r\n      \"extensions\": {\r\n        \"bridgeInfo\": {\r\n          \"1\": {\r\n            \"tokenAddress\": \"0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984\"\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n\r\n## Functions Overview\r\n\r\nchainify\r\n\r\n * Adds bridgeInfo to the given token list for Optimism, Polygon and Arbitrum.\r\n * @param l1TokenListOrPathOrUrl\r\n * @returns TokenList with l2 bridgeInfo filled\r\n\r\n\r\nchainifyTokenList\r\n\r\n * Given a chain ID (Optimism, Polygon, or Arbitrum) and a TokenList, returns the TokenList with `extensions` filled.\r\n * @param chainId chainId to operate on\r\n * @param l1TokenListOrPathOrUrl either an L1 TokenList object or a path/url to a TokenList\r\n * @returns L1 TokenList with `extensions` filled for the given network\r\n\r\n\r\nmergeTokenLists\r\n * Merges two token lists, resolving conflicts to primary list.\r\n * @param primary primary token list to resolve conflicts to\r\n * @param secondary secondary token list\r\n * @returns merged token list\r\n\r\n## Usage (from external package):\r\n### Install Package\r\n`yarn add @donaswap/token-list-bridge-utils`\r\n\r\nor\r\n\r\n`npm i @donaswap/token-list-bridge-utils`\r\n\r\n### Create .env file (Optional)\r\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.\r\n\r\n  - Sample .env file contents:\r\n\r\n    `MAINNET_RPC=\"https://mainnet.infura.io/v3/<infura key>\"`\r\n- Note: If this is not set correctly, the library will throw a NETWORK_ERROR error code.\r\n\r\n### Call Function\r\n#### CommonJS\r\n`const bridge_utils  = require('@donaswap/token-list-bridge-utils');`\r\n\r\n`let chainifiedList = await bridge_utils.chainify(tokenList);`\r\n#### ESM\r\n`import { chainify } from '@donaswap/token-list-bridge-utils';`\r\n\r\n`let chainifiedList = await chainify(tokenList);`\r\n\r\n## Run Tests\r\n\r\n`yarn install`\r\n\r\n`yarn test`\r\n\r\n## DTS User Guide\r\n\r\nDTS scaffolds your new library inside `/src`.\r\n\r\nTo run DTS, use:\r\n\r\n```bash\r\nnpm start # or yarn start\r\n```\r\n\r\nThis builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.\r\n\r\nTo do a one-off build, use `npm run build` or `yarn build`.","readmeFilename":"README.md"}