{"_id":"@egiftcard/token-list-bridge-utils","name":"@egiftcard/token-list-bridge-utils","dist-tags":{"latest":"2.3.0"},"versions":{"2.3.0":{"author":{"name":"Justin Domingue"},"devDependencies":{"@tsconfig/recommended":"^1.0.1","@types/jest":"^27.4.1","@types/lodash":"^4.14.196","@egiftcard/token-lists":"^1.0.0-beta.33","dts-cli":"^1.4.0","eslint-plugin-prettier":"^5.0.0","husky":"^7.0.4","ts-jest":"^29.1.1","tslib":"^2.3.1","typescript":"^5.1.6","yarn-deduplicate":"^6.0.2"},"engines":{"node":">=16"},"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":"@egiftcard/token-list-bridge-utils","prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"es5"},"scripts":{"build":"dts build","lint":"dts lint","prepare":"dts build","start":"dts watch","test":"dts test","deduplicate":"yarn-deduplicate --strategy=highest"},"typings":"dist/index.d.ts","version":"2.3.0","dependencies":{"@arbitrum/sdk":"^3.1.6","@egiftcard/sdk-core":"^4.0.6","axios":"^0.26.0","dotenv":"^16.0.1","ethers":"^5.6.5","lodash":"^4.17.21","lodash-es":"^4.17.21","prettier":"^3.0.1","web3":"^1.7.3"},"_id":"@egiftcard/token-list-bridge-utils@2.3.0","gitHead":"7210173bc98a09e0fe0263def45091cf5013de44","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.","_nodeVersion":"20.12.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-nJTBMfMHDXrpbJLK14ZcZabUmDZU/D234KtEWLaV4KvtlOOLG1k/IrBE5aoLbmh+wxpeimNoNcDyKz0Q7nW2eg==","shasum":"57769d781adee905431e00f5e223c4533b537e67","tarball":"https://registry.npmjs.org/@egiftcard/token-list-bridge-utils/-/token-list-bridge-utils-2.3.0.tgz","fileCount":57,"unpackedSize":991332,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGK01/Zyc1AJLWlEFLLrZ+mpRTMj+i5XsbcfWgKq0Vi1AiEAu/DnyB+lLnk3ZeFtbGFycz3077yq7H8E5E/J8nDcYes="}]},"_npmUser":{"name":"nextlinux","email":"connect@next-linux.systems"},"directories":{},"maintainers":[{"name":"nextlinux","email":"connect@next-linux.systems"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/token-list-bridge-utils_2.3.0_1713852662837_0.229197889177851"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-23T06:11:02.708Z","2.3.0":"2024-04-23T06:11:03.077Z","modified":"2024-04-23T06:11:03.423Z"},"maintainers":[{"name":"nextlinux","email":"connect@next-linux.systems"}],"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.","author":{"name":"Justin Domingue"},"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/Egiftcard/token-lists/issues/51#issuecomment-952268629).\n(Currently does not fill information for origin and destination bridge addresses)\n\nex:\n\n      \"name\": \"Egiftcard\",\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\": \"Egiftcard\",\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 @egiftcard/token-list-bridge-utils`\n\nor\n\n`npm i @egiftcard/token-list-bridge-utils`\n\n### Create .env file (Optional)\n- By default, the library uses `https://rpc.ankr.com/eth` 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('@egiftcard/token-list-bridge-utils');`\n\n`let chainifiedList = await bridge_utils.chainify(tokenList);`\n#### ESM\n`import { chainify } from '@egiftcard/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"}