@yodlpay/tokenlists 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/chainlist-v1.json +20 -0
- package/dist/routerlist-v1.json +7 -0
- package/dist/tokenlist-v1.json +43 -0
- package/dist/tokenlists.cjs.development.js +73 -0
- package/dist/tokenlists.cjs.development.js.map +1 -1
- package/dist/tokenlists.cjs.production.min.js +1 -1
- package/dist/tokenlists.cjs.production.min.js.map +1 -1
- package/dist/tokenlists.esm.js +73 -0
- package/dist/tokenlists.esm.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/chainlist-v1.json
CHANGED
|
@@ -148,6 +148,26 @@
|
|
|
148
148
|
},
|
|
149
149
|
"curveRouterAddress": "0xe6358f6a45b502477e83cc1cda759f540e4459ee"
|
|
150
150
|
},
|
|
151
|
+
{
|
|
152
|
+
"chainName": "Base",
|
|
153
|
+
"shortName": "base",
|
|
154
|
+
"testnet": false,
|
|
155
|
+
"chainId": 8453,
|
|
156
|
+
"logoUri": "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/8453/logo.png",
|
|
157
|
+
"rpcUrls": ["https://mainnet.base.org"],
|
|
158
|
+
"wrappedNativeToken": "0x4200000000000000000000000000000000000006",
|
|
159
|
+
"explorerUrl": "https://basescan.org",
|
|
160
|
+
"timestamp": "2024-06-17T14:52:05+00:00",
|
|
161
|
+
"feeTreasury": "0x46959a8a332eca1a05Bd4F18115b8F2E1C2F2f05",
|
|
162
|
+
"priceFeeds": {
|
|
163
|
+
"BRL": "0x0b0E64c05083FdF9ED7C5D3d8262c4216eFc9394",
|
|
164
|
+
"EUR": "0xc91D87E81faB8f93699ECf7Ee9B44D11e1D53F0F"
|
|
165
|
+
},
|
|
166
|
+
"tokenFeeds": {
|
|
167
|
+
"ETH": "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70"
|
|
168
|
+
},
|
|
169
|
+
"curveRouterAddress": "0x0000000000000000000000000000000000000000"
|
|
170
|
+
},
|
|
151
171
|
{
|
|
152
172
|
"chainName": "Polygon",
|
|
153
173
|
"shortName": "matic",
|
package/dist/routerlist-v1.json
CHANGED
|
@@ -77,6 +77,13 @@
|
|
|
77
77
|
"timestamp": "2023-09-07T00:00:00+00:00",
|
|
78
78
|
"version": "0.2",
|
|
79
79
|
"fee": "0.002"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"chainId": 8453,
|
|
83
|
+
"address": "0x2BaE9Bb53BCe89c760dBfA55D854D43ab96EE19f",
|
|
84
|
+
"timestamp": "2024-06-17T15:50:00+00:00",
|
|
85
|
+
"version": "0.2",
|
|
86
|
+
"fee": "0.002"
|
|
80
87
|
}
|
|
81
88
|
]
|
|
82
89
|
}
|
package/dist/tokenlist-v1.json
CHANGED
|
@@ -50,6 +50,20 @@
|
|
|
50
50
|
],
|
|
51
51
|
"address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
|
|
52
52
|
},
|
|
53
|
+
{
|
|
54
|
+
"chainId": 8453,
|
|
55
|
+
"coinGeckoId": "ethereum",
|
|
56
|
+
"name": "Ether",
|
|
57
|
+
"symbol": "ETH",
|
|
58
|
+
"logoUri": "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",
|
|
59
|
+
"decimals": 18,
|
|
60
|
+
"tags": [
|
|
61
|
+
"Base",
|
|
62
|
+
"Native Token",
|
|
63
|
+
"Top10"
|
|
64
|
+
],
|
|
65
|
+
"address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
|
|
66
|
+
},
|
|
53
67
|
{
|
|
54
68
|
"chainId": 1,
|
|
55
69
|
"coinGeckoId": "weth",
|
|
@@ -89,6 +103,19 @@
|
|
|
89
103
|
],
|
|
90
104
|
"address": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"
|
|
91
105
|
},
|
|
106
|
+
{
|
|
107
|
+
"chainId": 8453,
|
|
108
|
+
"coinGeckoId": "weth",
|
|
109
|
+
"name": "Wrapped Ether",
|
|
110
|
+
"symbol": "WETH",
|
|
111
|
+
"logoUri": "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",
|
|
112
|
+
"decimals": 18,
|
|
113
|
+
"tags": [
|
|
114
|
+
"Base",
|
|
115
|
+
"Native Token"
|
|
116
|
+
],
|
|
117
|
+
"address": "0x4200000000000000000000000000000000000006"
|
|
118
|
+
},
|
|
92
119
|
|
|
93
120
|
{
|
|
94
121
|
"chainId": 1,
|
|
@@ -186,6 +213,22 @@
|
|
|
186
213
|
],
|
|
187
214
|
"address": "0x0b2c639c533813f4aa9d7837caf62653d097ff85"
|
|
188
215
|
},
|
|
216
|
+
{
|
|
217
|
+
"chainId": 8453,
|
|
218
|
+
"coinGeckoId": "usd-coin",
|
|
219
|
+
"name": "USD Coin",
|
|
220
|
+
"symbol": "USDC",
|
|
221
|
+
"currency": "USD",
|
|
222
|
+
"logoUri": "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",
|
|
223
|
+
"decimals": 6,
|
|
224
|
+
"tags": [
|
|
225
|
+
"Base",
|
|
226
|
+
"Stablecoin",
|
|
227
|
+
"Top10",
|
|
228
|
+
"USD"
|
|
229
|
+
],
|
|
230
|
+
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
|
|
231
|
+
},
|
|
189
232
|
{
|
|
190
233
|
"chainId": 42161,
|
|
191
234
|
"coinGeckoId": "usd-coin",
|
|
@@ -54,6 +54,20 @@ var tokens = [
|
|
|
54
54
|
],
|
|
55
55
|
address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
|
|
56
56
|
},
|
|
57
|
+
{
|
|
58
|
+
chainId: 8453,
|
|
59
|
+
coinGeckoId: "ethereum",
|
|
60
|
+
name: "Ether",
|
|
61
|
+
symbol: "ETH",
|
|
62
|
+
logoUri: "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",
|
|
63
|
+
decimals: 18,
|
|
64
|
+
tags: [
|
|
65
|
+
"Base",
|
|
66
|
+
"Native Token",
|
|
67
|
+
"Top10"
|
|
68
|
+
],
|
|
69
|
+
address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
|
|
70
|
+
},
|
|
57
71
|
{
|
|
58
72
|
chainId: 1,
|
|
59
73
|
coinGeckoId: "weth",
|
|
@@ -93,6 +107,19 @@ var tokens = [
|
|
|
93
107
|
],
|
|
94
108
|
address: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"
|
|
95
109
|
},
|
|
110
|
+
{
|
|
111
|
+
chainId: 8453,
|
|
112
|
+
coinGeckoId: "weth",
|
|
113
|
+
name: "Wrapped Ether",
|
|
114
|
+
symbol: "WETH",
|
|
115
|
+
logoUri: "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",
|
|
116
|
+
decimals: 18,
|
|
117
|
+
tags: [
|
|
118
|
+
"Base",
|
|
119
|
+
"Native Token"
|
|
120
|
+
],
|
|
121
|
+
address: "0x4200000000000000000000000000000000000006"
|
|
122
|
+
},
|
|
96
123
|
{
|
|
97
124
|
chainId: 1,
|
|
98
125
|
coinGeckoId: "tether",
|
|
@@ -189,6 +216,22 @@ var tokens = [
|
|
|
189
216
|
],
|
|
190
217
|
address: "0x0b2c639c533813f4aa9d7837caf62653d097ff85"
|
|
191
218
|
},
|
|
219
|
+
{
|
|
220
|
+
chainId: 8453,
|
|
221
|
+
coinGeckoId: "usd-coin",
|
|
222
|
+
name: "USD Coin",
|
|
223
|
+
symbol: "USDC",
|
|
224
|
+
currency: "USD",
|
|
225
|
+
logoUri: "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",
|
|
226
|
+
decimals: 6,
|
|
227
|
+
tags: [
|
|
228
|
+
"Base",
|
|
229
|
+
"Stablecoin",
|
|
230
|
+
"Top10",
|
|
231
|
+
"USD"
|
|
232
|
+
],
|
|
233
|
+
address: "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
|
|
234
|
+
},
|
|
192
235
|
{
|
|
193
236
|
chainId: 42161,
|
|
194
237
|
coinGeckoId: "usd-coin",
|
|
@@ -752,6 +795,28 @@ var chains = [
|
|
|
752
795
|
},
|
|
753
796
|
curveRouterAddress: "0xe6358f6a45b502477e83cc1cda759f540e4459ee"
|
|
754
797
|
},
|
|
798
|
+
{
|
|
799
|
+
chainName: "Base",
|
|
800
|
+
shortName: "base",
|
|
801
|
+
testnet: false,
|
|
802
|
+
chainId: 8453,
|
|
803
|
+
logoUri: "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/8453/logo.png",
|
|
804
|
+
rpcUrls: [
|
|
805
|
+
"https://mainnet.base.org"
|
|
806
|
+
],
|
|
807
|
+
wrappedNativeToken: "0x4200000000000000000000000000000000000006",
|
|
808
|
+
explorerUrl: "https://basescan.org",
|
|
809
|
+
timestamp: "2024-06-17T14:52:05+00:00",
|
|
810
|
+
feeTreasury: "0x46959a8a332eca1a05Bd4F18115b8F2E1C2F2f05",
|
|
811
|
+
priceFeeds: {
|
|
812
|
+
BRL: "0x0b0E64c05083FdF9ED7C5D3d8262c4216eFc9394",
|
|
813
|
+
EUR: "0xc91D87E81faB8f93699ECf7Ee9B44D11e1D53F0F"
|
|
814
|
+
},
|
|
815
|
+
tokenFeeds: {
|
|
816
|
+
ETH: "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70"
|
|
817
|
+
},
|
|
818
|
+
curveRouterAddress: "0x0000000000000000000000000000000000000000"
|
|
819
|
+
},
|
|
755
820
|
{
|
|
756
821
|
chainName: "Polygon",
|
|
757
822
|
shortName: "matic",
|
|
@@ -878,6 +943,13 @@ var routers = [
|
|
|
878
943
|
timestamp: "2023-09-07T00:00:00+00:00",
|
|
879
944
|
version: "0.2",
|
|
880
945
|
fee: "0.002"
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
chainId: 8453,
|
|
949
|
+
address: "0x2BaE9Bb53BCe89c760dBfA55D854D43ab96EE19f",
|
|
950
|
+
timestamp: "2024-06-17T15:50:00+00:00",
|
|
951
|
+
version: "0.2",
|
|
952
|
+
fee: "0.002"
|
|
881
953
|
}
|
|
882
954
|
];
|
|
883
955
|
var routerlist = {
|
|
@@ -2367,6 +2439,7 @@ var CURVE_ROUTER_ABI = CurveRouterV13Abi;
|
|
|
2367
2439
|
TokenListTagNames["OPTIMISM"] = "Optimism";
|
|
2368
2440
|
TokenListTagNames["ARBITRUM"] = "Arbitrum";
|
|
2369
2441
|
TokenListTagNames["AVALANCHE"] = "Avalanche";
|
|
2442
|
+
TokenListTagNames["BASE"] = "Base";
|
|
2370
2443
|
TokenListTagNames["TESTNET"] = "TESTNET"; // Coin/currency
|
|
2371
2444
|
|
|
2372
2445
|
TokenListTagNames["STABLECOIN"] = "Stablecoin";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenlists.cjs.development.js","sources":["../src/abis.ts","../src/types.ts","../src/versionComparator.ts","../src/isVersionUpdate.ts","../src/getVersionUpgrade.ts","../src/diffTokenLists.ts","../src/minVersionBump.ts","../src/nextVersion.ts","../src/index.ts"],"sourcesContent":["import CurveRouterV13Abi from \"./abis/curverouterv13.abi.json\";\nimport HiroRouterV01 from \"./abis/HiroRouterV0.1.abi.json\";\nimport HiroRouterV02 from \"./abis/HiroRouterV0.2.abi.json\";\n\nexport const HIRO_ROUTER_ABIS: { [key: string]: any} = {\n \"0.1\": HiroRouterV01,\n \"0.2\": HiroRouterV02,\n \"test\": HiroRouterV02\n}\nexport const CURVE_ROUTER_ABI = CurveRouterV13Abi;\n","type ExtensionValue = string | number | boolean | null | undefined;\n\nexport enum TokenListTagNames {\n // Networks\n MAINNET = 'Mainnet',\n OPTIMISM = 'Optimism',\n ARBITRUM = 'Arbitrum',\n AVALANCHE = 'Avalanche',\n TESTNET = 'TESTNET',\n\n // Coin/currency\n STABLECOIN = 'Stablecoin',\n USD = 'USD',\n EUR = 'EUR',\n\n // Misc\n TOP_10 = 'Top10',\n NATIVE_TOKEN = 'Native Token',\n}\n\nexport interface RouterInfo {\n readonly chainId: number;\n readonly address: string;\n readonly timestamp: string;\n readonly version: string;\n readonly fee: string;\n}\n\nexport interface TestnetFaucetInfo {\n readonly chainId: number;\n readonly address: string;\n readonly token: string;\n}\n\nexport interface ChainInfo {\n readonly chainId: number;\n readonly chainName: string;\n // shortName is the EIP3770 short name\n // chain details can be found here: https://github.com/ethereum-lists/chains/tree/master/_data/chains\n readonly shortName: string;\n readonly logoUri: string;\n readonly explorerUrl: string;\n readonly rpcUrls: string[];\n readonly wrappedNativeToken: string;\n readonly feeTreasury?: string;\n readonly testnet: boolean;\n readonly priceFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly tokenFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly curveRouterAddress?: string;\n}\n\nexport interface TokenInfo {\n readonly chainId: number;\n readonly address: string;\n readonly name: string;\n readonly decimals: number;\n readonly symbol: string;\n readonly coinGeckoId?: string;\n readonly currency?: string;\n readonly logoUri?: string;\n readonly tags?: TokenListTagNames[];\n readonly extensions?: {\n readonly [key: string]:\n | {\n [key: string]:\n | {\n [key: string]: ExtensionValue;\n }\n | ExtensionValue;\n }\n | ExtensionValue;\n };\n}\n\nexport interface Version {\n readonly major: number;\n readonly minor: number;\n readonly patch: number;\n}\n\nexport interface TokenList {\n readonly name: string;\n readonly timestamp: string;\n readonly version: Version;\n readonly tokens: TokenInfo[];\n readonly keywords?: string[];\n readonly tags?: any;\n readonly logoUri?: string;\n}\n","import { Version } from \"./types\";\n\n/**\n * Comparator function that allows sorting version from lowest to highest\n * @param versionA version A to compare\n * @param versionB version B to compare\n * @returns -1 if versionA comes before versionB, 0 if versionA is equal to version B, and 1 if version A comes after version B\n */\nexport function versionComparator(\n versionA: Version,\n versionB: Version\n): -1 | 0 | 1 {\n if (versionA.major < versionB.major) {\n return -1;\n } else if (versionA.major > versionB.major) {\n return 1;\n } else if (versionA.minor < versionB.minor) {\n return -1;\n } else if (versionA.minor > versionB.minor) {\n return 1;\n } else if (versionA.patch < versionB.patch) {\n return -1;\n } else if (versionA.patch > versionB.patch) {\n return 1;\n } else {\n return 0;\n }\n}\n","import { versionComparator } from './versionComparator';\nimport { Version } from './types';\n\n/**\n * Returns true if versionB is an update over versionA\n */\nexport function isVersionUpdate(base: Version, update: Version): boolean {\n return versionComparator(base, update) < 0;\n}","import { Version } from \"./types\";\n\n/**\n * Enum describing types of version differences\n */\nexport enum VersionUpgrade {\n NONE,\n PATCH,\n MINOR,\n MAJOR,\n}\n\n/**\n * Return the upgrade type from the base version to the update version.\n * Note that downgrades and equivalent versions are both treated as `NONE`.\n * @param base base list\n * @param update update to the list\n */\nexport function getVersionUpgrade(\n base: Version,\n update: Version\n): VersionUpgrade {\n if (update.major > base.major) {\n return VersionUpgrade.MAJOR;\n }\n if (update.major < base.major) {\n return VersionUpgrade.NONE;\n }\n if (update.minor > base.minor) {\n return VersionUpgrade.MINOR;\n }\n if (update.minor < base.minor) {\n return VersionUpgrade.NONE;\n }\n return update.patch > base.patch ? VersionUpgrade.PATCH : VersionUpgrade.NONE;\n}\n","import { TokenInfo } from \"./types\";\n\nexport type TokenInfoChangeKey = Exclude<\n keyof TokenInfo,\n \"address\" | \"chainId\"\n>;\nexport type TokenInfoChanges = Array<TokenInfoChangeKey>;\n\n/**\n * compares two token info key values\n * this subset of full deep equal functionality does not work on objects or object arrays\n * @param a comparison item a\n * @param b comparison item b\n */\nfunction compareTokenInfoProperty(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (typeof a !== typeof b) return false;\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.every((el, i) => b[i] === el);\n }\n return false;\n}\n\n/**\n * Differences between a base list and an updated list.\n */\nexport interface TokenListDiff {\n /**\n * Tokens from updated with chainId/address not present in base list\n */\n readonly added: TokenInfo[];\n /**\n * Tokens from base with chainId/address not present in the updated list\n */\n readonly removed: TokenInfo[];\n /**\n * The token info that changed\n */\n readonly changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n}\n\n/**\n * Computes the diff of a token list where the first argument is the base and the second argument is the updated list.\n * @param base base list\n * @param update updated list\n */\nexport function diffTokenLists(\n base: TokenInfo[],\n update: TokenInfo[]\n): TokenListDiff {\n const indexedBase = base.reduce<{\n [chainId: number]: { [address: string]: TokenInfo };\n }>((memo, tokenInfo) => {\n if (!memo[tokenInfo.chainId]) memo[tokenInfo.chainId] = {};\n memo[tokenInfo.chainId][tokenInfo.address] = tokenInfo;\n return memo;\n }, {});\n\n const newListUpdates = update.reduce<{\n added: TokenInfo[];\n changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n index: {\n [chainId: number]: {\n [address: string]: true;\n };\n };\n }>(\n (memo, tokenInfo) => {\n const baseToken = indexedBase[tokenInfo.chainId]?.[tokenInfo.address];\n if (!baseToken) {\n memo.added.push(tokenInfo);\n } else {\n const changes: TokenInfoChanges = Object.keys(tokenInfo)\n .filter(\n (s): s is TokenInfoChangeKey => s !== \"address\" && s !== \"chainId\"\n )\n .filter((s) => {\n return !compareTokenInfoProperty(tokenInfo[s], baseToken[s]);\n });\n if (changes.length > 0) {\n if (!memo.changed[tokenInfo.chainId]) {\n memo.changed[tokenInfo.chainId] = {};\n }\n memo.changed[tokenInfo.chainId][tokenInfo.address] = changes;\n }\n }\n\n if (!memo.index[tokenInfo.chainId]) {\n memo.index[tokenInfo.chainId] = {\n [tokenInfo.address]: true,\n };\n } else {\n memo.index[tokenInfo.chainId][tokenInfo.address] = true;\n }\n\n return memo;\n },\n { added: [], changed: {}, index: {} }\n );\n\n const removed = base.reduce<TokenInfo[]>((list, curr) => {\n if (\n !newListUpdates.index[curr.chainId] ||\n !newListUpdates.index[curr.chainId][curr.address]\n ) {\n list.push(curr);\n }\n return list;\n }, []);\n\n return {\n added: newListUpdates.added,\n changed: newListUpdates.changed,\n removed,\n };\n}\n","import { diffTokenLists } from \"./diffTokenLists\";\nimport { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { TokenInfo } from \"./types\";\n\n/**\n * Returns the minimum version bump for the given list\n * @param baseList the base list of tokens\n * @param updatedList the updated list of tokens\n */\nexport function minVersionBump(\n baseList: TokenInfo[],\n updatedList: TokenInfo[]\n): VersionUpgrade {\n const diff = diffTokenLists(baseList, updatedList);\n if (diff.removed.length > 0) return VersionUpgrade.MAJOR;\n if (diff.added.length > 0) return VersionUpgrade.MINOR;\n if (Object.keys(diff.changed).length > 0) return VersionUpgrade.PATCH;\n return VersionUpgrade.NONE;\n}\n","import { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { Version } from \"./types\";\n\n/**\n * Returns the next version of the list given a base version and the upgrade type\n * @param base current version\n * @param bump the upgrade type\n */\nexport function nextVersion(base: Version, bump: VersionUpgrade): Version {\n switch (bump) {\n case VersionUpgrade.NONE:\n return base;\n\n case VersionUpgrade.MAJOR:\n return { major: base.major + 1, minor: 0, patch: 0 };\n\n case VersionUpgrade.MINOR:\n return {\n major: base.major,\n minor: base.minor + 1,\n patch: 0,\n };\n\n case VersionUpgrade.PATCH:\n return {\n major: base.major,\n minor: base.minor,\n patch: base.patch + 1,\n };\n }\n}\n","import tokenlist from './tokenlist-v1.json';\nimport chainlist from './chainlist-v1.json';\nimport routerlist from './routerlist-v1.json';\nimport tokenschema from './tokenlist-v1.json';\nimport testnetfaucets from './testnet-faucets-v1.json';\nimport { ChainInfo, RouterInfo, TokenInfo, TestnetFaucetInfo } from './types';\n\nexport * from './abis';\nexport * from './types';\nexport * from './isVersionUpdate';\nexport * from './getVersionUpgrade';\nexport * from './diffTokenLists';\nexport * from './minVersionBump';\nexport * from './nextVersion';\nexport * from './versionComparator';\n\nexport { tokenschema, tokenlist, chainlist, routerlist };\n\nexport function getChain(chainId: number): ChainInfo {\n return chainlist.chains.find((needle: any) => {\n return needle.chainId === chainId;\n }) as ChainInfo;\n}\n\nexport function getTokenByAddress(\n tokenAddress: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.address.toLowerCase() === tokenAddress.toLowerCase() &&\n (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokenBySymbol(\n tokenSymbol: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.symbol === tokenSymbol && (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokens(chainId: number): TokenInfo[] {\n return tokenlist.tokens.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as TokenInfo[];\n}\n\nexport function getFaucetAddress(tokenInfo: TokenInfo): TestnetFaucetInfo {\n return testnetfaucets.faucets.find((needle: any) => {\n return (\n needle.token.toLowerCase() === tokenInfo.address.toLowerCase() &&\n needle.chainId === tokenInfo.chainId\n );\n }) as TestnetFaucetInfo;\n}\n\nexport function getRouters(chainId: number): RouterInfo[] {\n return routerlist.routers.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as RouterInfo[];\n}\n\nexport function getRouter(chainId: number, version: string): RouterInfo {\n return routerlist.routers.find((needle: any) => {\n return needle.chainId === chainId && needle.version === version;\n }) as RouterInfo;\n}\n\nexport function getLatestRouter(chainId: number): RouterInfo {\n const sorted = getRouters(chainId).sort((a, b) => {\n return Date.parse(a.timestamp) - Date.parse(b.timestamp);\n });\n return sorted[sorted.length - 1];\n}\n\nexport function getShortNames(): string[] {\n return chainlist.chains.map(chain => chain.shortName);\n}\n"],"names":["HIRO_ROUTER_ABIS","HiroRouterV01","HiroRouterV02","CURVE_ROUTER_ABI","CurveRouterV13Abi","TokenListTagNames","versionComparator","versionA","versionB","major","minor","patch","isVersionUpdate","base","update","VersionUpgrade","getVersionUpgrade","MAJOR","NONE","MINOR","PATCH","compareTokenInfoProperty","a","b","Array","isArray","every","el","i","diffTokenLists","indexedBase","reduce","memo","tokenInfo","chainId","address","newListUpdates","baseToken","added","push","changes","Object","keys","filter","s","length","changed","index","removed","list","curr","minVersionBump","baseList","updatedList","diff","nextVersion","bump","getChain","chainlist","chains","find","needle","getTokenByAddress","tokenAddress","tokenlist","tokens","token","toLowerCase","getTokenBySymbol","tokenSymbol","symbol","getTokens","getFaucetAddress","testnetfaucets","faucets","getRouters","routerlist","routers","getRouter","version","getLatestRouter","sorted","sort","Date","parse","timestamp","getShortNames","map","chain","shortName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,gBAAgB,GAA0B;EACrD,OAAOC,aAD8C;EAErD,O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"}
|
|
1
|
+
{"version":3,"file":"tokenlists.cjs.development.js","sources":["../src/abis.ts","../src/types.ts","../src/versionComparator.ts","../src/isVersionUpdate.ts","../src/getVersionUpgrade.ts","../src/diffTokenLists.ts","../src/minVersionBump.ts","../src/nextVersion.ts","../src/index.ts"],"sourcesContent":["import CurveRouterV13Abi from \"./abis/curverouterv13.abi.json\";\nimport HiroRouterV01 from \"./abis/HiroRouterV0.1.abi.json\";\nimport HiroRouterV02 from \"./abis/HiroRouterV0.2.abi.json\";\n\nexport const HIRO_ROUTER_ABIS: { [key: string]: any} = {\n \"0.1\": HiroRouterV01,\n \"0.2\": HiroRouterV02,\n \"test\": HiroRouterV02\n}\nexport const CURVE_ROUTER_ABI = CurveRouterV13Abi;\n","type ExtensionValue = string | number | boolean | null | undefined;\n\nexport enum TokenListTagNames {\n // Networks\n MAINNET = 'Mainnet',\n OPTIMISM = 'Optimism',\n ARBITRUM = 'Arbitrum',\n AVALANCHE = 'Avalanche',\n BASE = 'Base',\n TESTNET = 'TESTNET',\n\n // Coin/currency\n STABLECOIN = 'Stablecoin',\n USD = 'USD',\n EUR = 'EUR',\n\n // Misc\n TOP_10 = 'Top10',\n NATIVE_TOKEN = 'Native Token',\n}\n\nexport interface RouterInfo {\n readonly chainId: number;\n readonly address: string;\n readonly timestamp: string;\n readonly version: string;\n readonly fee: string;\n}\n\nexport interface TestnetFaucetInfo {\n readonly chainId: number;\n readonly address: string;\n readonly token: string;\n}\n\nexport interface ChainInfo {\n readonly chainId: number;\n readonly chainName: string;\n // shortName is the EIP3770 short name\n // chain details can be found here: https://github.com/ethereum-lists/chains/tree/master/_data/chains\n readonly shortName: string;\n readonly logoUri: string;\n readonly explorerUrl: string;\n readonly rpcUrls: string[];\n readonly wrappedNativeToken: string;\n readonly feeTreasury?: string;\n readonly testnet: boolean;\n readonly priceFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly tokenFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly curveRouterAddress?: string;\n}\n\nexport interface TokenInfo {\n readonly chainId: number;\n readonly address: string;\n readonly name: string;\n readonly decimals: number;\n readonly symbol: string;\n readonly coinGeckoId?: string;\n readonly currency?: string;\n readonly logoUri?: string;\n readonly tags?: TokenListTagNames[];\n readonly extensions?: {\n readonly [key: string]:\n | {\n [key: string]:\n | {\n [key: string]: ExtensionValue;\n }\n | ExtensionValue;\n }\n | ExtensionValue;\n };\n}\n\nexport interface Version {\n readonly major: number;\n readonly minor: number;\n readonly patch: number;\n}\n\nexport interface TokenList {\n readonly name: string;\n readonly timestamp: string;\n readonly version: Version;\n readonly tokens: TokenInfo[];\n readonly keywords?: string[];\n readonly tags?: any;\n readonly logoUri?: string;\n}\n","import { Version } from \"./types\";\n\n/**\n * Comparator function that allows sorting version from lowest to highest\n * @param versionA version A to compare\n * @param versionB version B to compare\n * @returns -1 if versionA comes before versionB, 0 if versionA is equal to version B, and 1 if version A comes after version B\n */\nexport function versionComparator(\n versionA: Version,\n versionB: Version\n): -1 | 0 | 1 {\n if (versionA.major < versionB.major) {\n return -1;\n } else if (versionA.major > versionB.major) {\n return 1;\n } else if (versionA.minor < versionB.minor) {\n return -1;\n } else if (versionA.minor > versionB.minor) {\n return 1;\n } else if (versionA.patch < versionB.patch) {\n return -1;\n } else if (versionA.patch > versionB.patch) {\n return 1;\n } else {\n return 0;\n }\n}\n","import { versionComparator } from './versionComparator';\nimport { Version } from './types';\n\n/**\n * Returns true if versionB is an update over versionA\n */\nexport function isVersionUpdate(base: Version, update: Version): boolean {\n return versionComparator(base, update) < 0;\n}","import { Version } from \"./types\";\n\n/**\n * Enum describing types of version differences\n */\nexport enum VersionUpgrade {\n NONE,\n PATCH,\n MINOR,\n MAJOR,\n}\n\n/**\n * Return the upgrade type from the base version to the update version.\n * Note that downgrades and equivalent versions are both treated as `NONE`.\n * @param base base list\n * @param update update to the list\n */\nexport function getVersionUpgrade(\n base: Version,\n update: Version\n): VersionUpgrade {\n if (update.major > base.major) {\n return VersionUpgrade.MAJOR;\n }\n if (update.major < base.major) {\n return VersionUpgrade.NONE;\n }\n if (update.minor > base.minor) {\n return VersionUpgrade.MINOR;\n }\n if (update.minor < base.minor) {\n return VersionUpgrade.NONE;\n }\n return update.patch > base.patch ? VersionUpgrade.PATCH : VersionUpgrade.NONE;\n}\n","import { TokenInfo } from \"./types\";\n\nexport type TokenInfoChangeKey = Exclude<\n keyof TokenInfo,\n \"address\" | \"chainId\"\n>;\nexport type TokenInfoChanges = Array<TokenInfoChangeKey>;\n\n/**\n * compares two token info key values\n * this subset of full deep equal functionality does not work on objects or object arrays\n * @param a comparison item a\n * @param b comparison item b\n */\nfunction compareTokenInfoProperty(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (typeof a !== typeof b) return false;\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.every((el, i) => b[i] === el);\n }\n return false;\n}\n\n/**\n * Differences between a base list and an updated list.\n */\nexport interface TokenListDiff {\n /**\n * Tokens from updated with chainId/address not present in base list\n */\n readonly added: TokenInfo[];\n /**\n * Tokens from base with chainId/address not present in the updated list\n */\n readonly removed: TokenInfo[];\n /**\n * The token info that changed\n */\n readonly changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n}\n\n/**\n * Computes the diff of a token list where the first argument is the base and the second argument is the updated list.\n * @param base base list\n * @param update updated list\n */\nexport function diffTokenLists(\n base: TokenInfo[],\n update: TokenInfo[]\n): TokenListDiff {\n const indexedBase = base.reduce<{\n [chainId: number]: { [address: string]: TokenInfo };\n }>((memo, tokenInfo) => {\n if (!memo[tokenInfo.chainId]) memo[tokenInfo.chainId] = {};\n memo[tokenInfo.chainId][tokenInfo.address] = tokenInfo;\n return memo;\n }, {});\n\n const newListUpdates = update.reduce<{\n added: TokenInfo[];\n changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n index: {\n [chainId: number]: {\n [address: string]: true;\n };\n };\n }>(\n (memo, tokenInfo) => {\n const baseToken = indexedBase[tokenInfo.chainId]?.[tokenInfo.address];\n if (!baseToken) {\n memo.added.push(tokenInfo);\n } else {\n const changes: TokenInfoChanges = Object.keys(tokenInfo)\n .filter(\n (s): s is TokenInfoChangeKey => s !== \"address\" && s !== \"chainId\"\n )\n .filter((s) => {\n return !compareTokenInfoProperty(tokenInfo[s], baseToken[s]);\n });\n if (changes.length > 0) {\n if (!memo.changed[tokenInfo.chainId]) {\n memo.changed[tokenInfo.chainId] = {};\n }\n memo.changed[tokenInfo.chainId][tokenInfo.address] = changes;\n }\n }\n\n if (!memo.index[tokenInfo.chainId]) {\n memo.index[tokenInfo.chainId] = {\n [tokenInfo.address]: true,\n };\n } else {\n memo.index[tokenInfo.chainId][tokenInfo.address] = true;\n }\n\n return memo;\n },\n { added: [], changed: {}, index: {} }\n );\n\n const removed = base.reduce<TokenInfo[]>((list, curr) => {\n if (\n !newListUpdates.index[curr.chainId] ||\n !newListUpdates.index[curr.chainId][curr.address]\n ) {\n list.push(curr);\n }\n return list;\n }, []);\n\n return {\n added: newListUpdates.added,\n changed: newListUpdates.changed,\n removed,\n };\n}\n","import { diffTokenLists } from \"./diffTokenLists\";\nimport { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { TokenInfo } from \"./types\";\n\n/**\n * Returns the minimum version bump for the given list\n * @param baseList the base list of tokens\n * @param updatedList the updated list of tokens\n */\nexport function minVersionBump(\n baseList: TokenInfo[],\n updatedList: TokenInfo[]\n): VersionUpgrade {\n const diff = diffTokenLists(baseList, updatedList);\n if (diff.removed.length > 0) return VersionUpgrade.MAJOR;\n if (diff.added.length > 0) return VersionUpgrade.MINOR;\n if (Object.keys(diff.changed).length > 0) return VersionUpgrade.PATCH;\n return VersionUpgrade.NONE;\n}\n","import { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { Version } from \"./types\";\n\n/**\n * Returns the next version of the list given a base version and the upgrade type\n * @param base current version\n * @param bump the upgrade type\n */\nexport function nextVersion(base: Version, bump: VersionUpgrade): Version {\n switch (bump) {\n case VersionUpgrade.NONE:\n return base;\n\n case VersionUpgrade.MAJOR:\n return { major: base.major + 1, minor: 0, patch: 0 };\n\n case VersionUpgrade.MINOR:\n return {\n major: base.major,\n minor: base.minor + 1,\n patch: 0,\n };\n\n case VersionUpgrade.PATCH:\n return {\n major: base.major,\n minor: base.minor,\n patch: base.patch + 1,\n };\n }\n}\n","import tokenlist from './tokenlist-v1.json';\nimport chainlist from './chainlist-v1.json';\nimport routerlist from './routerlist-v1.json';\nimport tokenschema from './tokenlist-v1.json';\nimport testnetfaucets from './testnet-faucets-v1.json';\nimport { ChainInfo, RouterInfo, TokenInfo, TestnetFaucetInfo } from './types';\n\nexport * from './abis';\nexport * from './types';\nexport * from './isVersionUpdate';\nexport * from './getVersionUpgrade';\nexport * from './diffTokenLists';\nexport * from './minVersionBump';\nexport * from './nextVersion';\nexport * from './versionComparator';\n\nexport { tokenschema, tokenlist, chainlist, routerlist };\n\nexport function getChain(chainId: number): ChainInfo {\n return chainlist.chains.find((needle: any) => {\n return needle.chainId === chainId;\n }) as ChainInfo;\n}\n\nexport function getTokenByAddress(\n tokenAddress: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.address.toLowerCase() === tokenAddress.toLowerCase() &&\n (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokenBySymbol(\n tokenSymbol: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.symbol === tokenSymbol && (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokens(chainId: number): TokenInfo[] {\n return tokenlist.tokens.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as TokenInfo[];\n}\n\nexport function getFaucetAddress(tokenInfo: TokenInfo): TestnetFaucetInfo {\n return testnetfaucets.faucets.find((needle: any) => {\n return (\n needle.token.toLowerCase() === tokenInfo.address.toLowerCase() &&\n needle.chainId === tokenInfo.chainId\n );\n }) as TestnetFaucetInfo;\n}\n\nexport function getRouters(chainId: number): RouterInfo[] {\n return routerlist.routers.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as RouterInfo[];\n}\n\nexport function getRouter(chainId: number, version: string): RouterInfo {\n return routerlist.routers.find((needle: any) => {\n return needle.chainId === chainId && needle.version === version;\n }) as RouterInfo;\n}\n\nexport function getLatestRouter(chainId: number): RouterInfo {\n const sorted = getRouters(chainId).sort((a, b) => {\n return Date.parse(a.timestamp) - Date.parse(b.timestamp);\n });\n return sorted[sorted.length - 1];\n}\n\nexport function getShortNames(): string[] {\n return chainlist.chains.map(chain => chain.shortName);\n}\n"],"names":["HIRO_ROUTER_ABIS","HiroRouterV01","HiroRouterV02","CURVE_ROUTER_ABI","CurveRouterV13Abi","TokenListTagNames","versionComparator","versionA","versionB","major","minor","patch","isVersionUpdate","base","update","VersionUpgrade","getVersionUpgrade","MAJOR","NONE","MINOR","PATCH","compareTokenInfoProperty","a","b","Array","isArray","every","el","i","diffTokenLists","indexedBase","reduce","memo","tokenInfo","chainId","address","newListUpdates","baseToken","added","push","changes","Object","keys","filter","s","length","changed","index","removed","list","curr","minVersionBump","baseList","updatedList","diff","nextVersion","bump","getChain","chainlist","chains","find","needle","getTokenByAddress","tokenAddress","tokenlist","tokens","token","toLowerCase","getTokenBySymbol","tokenSymbol","symbol","getTokens","getFaucetAddress","testnetfaucets","faucets","getRouters","routerlist","routers","getRouter","version","getLatestRouter","sorted","sort","Date","parse","timestamp","getShortNames","map","chain","shortName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,a={name:"Default",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7/logo.png",keywords:[],version:{major:0,minor:0,patch:1},tokens:[{chainId:1,coinGeckoId:"ethereum",name:"Ether",symbol:"ETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",decimals:18,tags:["Mainnet","Native Token","Top10"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:10,coinGeckoId:"ethereum",name:"Ether",symbol:"ETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",decimals:18,tags:["Optimism","Native Token","Top10"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:42161,coinGeckoId:"ethereum",name:"Ether",symbol:"ETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",decimals:18,tags:["Arbitrum","Native Token","Top10"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:1,coinGeckoId:"weth",name:"Wrapped Ether",symbol:"WETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",decimals:18,tags:["Mainnet","Native Token"],address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{chainId:10,coinGeckoId:"weth",name:"Wrapped Ether",symbol:"WETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",decimals:18,tags:["Optimism","Native Token"],address:"0x4200000000000000000000000000000000000006"},{chainId:42161,coinGeckoId:"weth",name:"Wrapped Ether",symbol:"WETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",decimals:18,tags:["Arbitrum","Native Token"],address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},{chainId:1,coinGeckoId:"tether",name:"Tether",symbol:"USDT",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:6,tags:["Mainnet","Stablecoin","Top10","USD"],address:"0xdac17f958d2ee523a2206206994597c13d831ec7"},{chainId:10,coinGeckoId:"tether",name:"Tether",symbol:"USDT",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:6,tags:["Optimism","Stablecoin","Top10","USD"],address:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58"},{chainId:42161,coinGeckoId:"tether",name:"Tether",symbol:"USDT",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:6,tags:["Arbitrum","Stablecoin","Top10","USD"],address:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"},{chainId:1,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Mainnet","Stablecoin","Top10","USD"],address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{chainId:10,coinGeckoId:"usd-coin",name:"USD Coin - Bridged",symbol:"USDC.e",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Optimism","Stablecoin","Top10","USD"],address:"0x7f5c764cbc14f9669b88837ca1490cca17c31607"},{chainId:10,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Optimism","Stablecoin","Top10","USD"],address:"0x0b2c639c533813f4aa9d7837caf62653d097ff85"},{chainId:42161,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Arbitrum","Stablecoin","Top10","USD"],address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},{chainId:42161,coinGeckoId:"usd-coin",name:"USD Coin - Bridged",symbol:"USDC.e",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Arbitrum","Stablecoin","Top10","USD"],address:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8"},{chainId:1,coinGeckoId:"dai",name:"DAI",symbol:"DAI",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg",decimals:18,tags:["Mainnet","Stablecoin","Top10","USD"],address:"0x6b175474e89094c44da98b954eedeac495271d0f"},{chainId:10,coinGeckoId:"dai",name:"DAI",symbol:"DAI",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg",decimals:18,tags:["Optimism","Stablecoin","Top10","USD"],address:"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1"},{chainId:42161,coinGeckoId:"dai",name:"DAI",symbol:"DAI",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg",decimals:18,tags:["Arbitrum","Stablecoin","Top10","USD"],address:"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1"},{chainId:1,coinGeckoId:"crvusd",name:"crvUSD",symbol:"crvUSD",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/crvUSD.svg",decimals:18,tags:["Mainnet","Stablecoin","USD"],address:"0xf939e0a03fb07f59a73314e73794be0e57ac1b4e"},{chainId:1,coinGeckoId:"monerium-eur-money",name:"EURe",symbol:"EURe",currency:"EUR",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/EURe.svg",decimals:18,tags:["Mainnet","Stablecoin","EUR"],address:"0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f"},{chainId:5,name:"XUSD",symbol:"XUSD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:18,tags:["TESTNET"],address:"0x33ca3889bb0032e9c3794b608a242d27e7293353"},{chainId:5,name:"USDC.test",symbol:"USDC",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:18,tags:["TESTNET"],address:"0xe5768E2dDEc1E50Ac2672a2d75D63d36A8Ec88d9"},{chainId:5,name:"USDT.test",symbol:"USDT",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:18,tags:["TESTNET"],address:"0xeB87E5d9c773d3E802989295147564985B5B358C"},{chainId:43114,coinGeckoId:"dai",address:"0xd586E7F844cEa2F87f50152665BCbc2C279D8d70",decimals:18,name:"Dai Stablecoin",symbol:"DAI.e",currency:"USD",tags:["Avalanche","Stablecoins"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg"},{chainId:43114,coinGeckoId:"tether",address:"0xc7198437980c041c805A1EDcbA50c1Ce5db95118",decimals:6,name:"Tether - Bridged",symbol:"USDT.e",currency:"USD",tags:["Avalanche","Stablecoins"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg"},{chainId:43114,coinGeckoId:"usd-coin",address:"0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664",decimals:6,name:"USD Coin - Bridged",symbol:"USDC.e",currency:"USD",tags:["Avalanche","Stablecoins"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg"},{chainId:43114,coinGeckoId:"magic-internet-money",address:"0x130966628846BFd36ff31a822705796e8cb8C18D",decimals:18,name:"Magic Internet Money",symbol:"MIM",tags:["Avalanche","Stablecoins"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/MIM.svg"},{chainId:43114,coinGeckoId:"usd-coin",address:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",decimals:6,name:"USD Coin",symbol:"USDC",currency:"USD",tags:["Avalanche","Stablecoin","Top10"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg"},{chainId:43114,coinGeckoId:"tether",address:"0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",decimals:6,name:"Tether",symbol:"USDT",currency:"USD",tags:["Avalanche","Stablecoin","Top10"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg"},{chainId:100,coinGeckoId:"tether",address:"0x4ECaBa5870353805a9F068101A40E0f32ed605C6",decimals:6,name:"Tether",symbol:"USDT",currency:"USD",tags:["Gnosis","Stablecoin","Top10"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg"},{chainId:100,coinGeckoId:"usd-coin",address:"0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",decimals:6,name:"USD Coin",symbol:"USDC",currency:"USD",tags:["Gnosis","Stablecoin","Top10"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg"},{chainId:100,coinGeckoId:"xdai",address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",decimals:18,name:"xDAI",symbol:"xDAI",currency:"USD",tags:["Gnosis","Stablecoin","Native Token"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/xDAI.svg"},{chainId:100,coinGeckoId:"wrapped-xdai",address:"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d",decimals:18,name:"wxDAI",symbol:"wxDAI",currency:"USD",tags:["Gnosis","Stablecoin","Native Token"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/wxDAI.svg"},{chainId:100,coinGeckoId:"monerium-eur-money",address:"0xcB444e90D8198415266c6a2724b7900fb12FC56E",decimals:18,name:"EURe",symbol:"EURe",currency:"EUR",tags:["Gnosis","Stablecoin"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/EURe.svg"},{chainId:137,coinGeckoId:"matic-network",name:"MATIC",symbol:"MATIC",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/137/logo.svg",decimals:18,tags:["Polygon","Native Token"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:137,coinGeckoId:"matic-network",name:"Wrapped MATIC",symbol:"WMATIC",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/137/logo.svg",decimals:18,tags:["Polygon","Native Token"],address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"},{chainId:137,coinGeckoId:"tether",name:"Tether",symbol:"USDT",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:6,tags:["Polygon","Stablecoin","Top10","USD"],address:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F"},{chainId:137,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Polygon","Stablecoin","Top10","USD"],address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"},{chainId:137,coinGeckoId:"dai",name:"DAI",symbol:"DAI",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg",decimals:18,tags:["Polygon","Stablecoin","Top10","USD"],address:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063"},{chainId:137,coinGeckoId:"monerium-eur-money",address:"0x18ec0A6E18E5bc3784fDd3a3634b31245ab704F6",decimals:18,name:"EURe",symbol:"EURe",currency:"EUR",tags:["Polygon","Stablecoin"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/EURe.svg"}],timestamp:"2021-09-07T00:00:00+00:00"},n={name:"Default",logoUri:"",keywords:[],version:{major:0,minor:0,patch:1},chains:[{chainName:"Ethereum",shortName:"eth",testnet:!1,chainId:1,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/1/logo.svg",rpcUrls:["https://rpc.ankr.com/eth"],wrappedNativeToken:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",explorerUrl:"https://etherscan.io",timestamp:"2022-12-29T18:52:20+00:00",feeTreasury:"0x9C48d180e4eEE0dA2A899EE1E4c533cA5e92db77",priceFeeds:{AUD:"0x77f9710e7d0a19669a13c055f62cd80d313df022",CAD:"0xa34317db73e77d453b1b8d04550c44d10e981c8e",CHF:"0x449d117117838ffa61263b61da6301aa2a88b13a",EUR:"0xb49f677943bc038e9857d61e7d053caa2c1734c1",GBP:"0x5c0ab2d9b5a7ed9f470386e82bb36a3613cdd4b5",JPY:"0xbce206cae7f0ec07b545edde332a47c2f75bbeb3",CNY:"0xef8a4af35cd47424672e3c590abd37fbb7a7759a",KRW:"0x01435677fb11763550905594a16b645847c1d0f3",NZD:"0x3977cfc9e4f29c184d4675f4eb8e0013236e5f3e",SGD:"0xe25277ff4bbf9081c75ab0eb13b4a13a721f3e13",TRY:"0xb09fc5fd3f11cf9eb5e1c5dba43114e3c9f477b5"},tokenFeeds:{ETH:"0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419"},curveRouterAddress:"0x99a58482BD75cbab83b27EC03CA68fF489b5788f"},{chainName:"Ethereum Goerli",shortName:"gor",testnet:!0,chainId:5,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/5/logo.svg",rpcUrls:["https://rpc.ankr.com/eth_goerli"],wrappedNativeToken:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",explorerUrl:"https://goerli.etherscan.io",timestamp:"2022-12-28T14:10:09+00:00",feeTreasury:"0x3E8A61F0532BA2b58660606d61110cC9E90c4D29",priceFeeds:{CZK:"0xAE45DCb3eB59E27f05C170752B218C6174394Df8",JPY:"0x295b398c95cEB896aFA18F25d0c6431Fd17b1431"}},{chainName:"Arbitrum One",shortName:"arb1",testnet:!1,chainId:42161,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/42161/logo.svg",rpcUrls:["https://rpc.ankr.com/arbitrum"],wrappedNativeToken:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",explorerUrl:"https://arbiscan.io",timestamp:"2023-01-13T14:52:05+00:00",feeTreasury:"0x5f0947253a8218894af13438ac2e2e0ced30d234",priceFeeds:{AUD:"0x9854e9a850e7c354c1de177ea953a6b1fba8fc22",CNY:"0xcc3370bde6afe51e1205a5038947b9836371eccb",EUR:"0xa14d53bc1f1c0f31b4aa3bd109344e5009051a84",CAD:"0xf6da27749484843c4f02f5ad1378cee723dd61d4",CHF:"0xe32AccC8c4eC03F6E75bd3621BfC9Fbb234E1FC3",GBP:"0x9c4424fd84c6661f97d8d6b3fc3c1aac2bedd137",JPY:"0x3dd6e51cb9cae717d5a8778cf79a04029f9cfdf8",KRW:"0x85bb02e0ae286600d1c68bb6ce22cc998d411916",SEK:"0xde89a55d04ded40a410877ab87d4f567ee66a1f0",SGD:"0xf0d38324d1f86a176ac727a4b0c43c9f9d9c5eb1"},tokenFeeds:{ETH:"0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612"},curveRouterAddress:"0x4c2af2df2a7e567b5155879720619ea06c5bb15d"},{chainName:"Optimism",shortName:"oeth",testnet:!1,chainId:10,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/10/logo.svg",rpcUrls:["https://mainnet.optimism.io"],wrappedNativeToken:"0x4200000000000000000000000000000000000006",explorerUrl:"https://optimistic.etherscan.io",timestamp:"2023-02-27T14:52:05+00:00",feeTreasury:"0x5f0947253a8218894af13438ac2e2e0ced30d234",priceFeeds:{AUD:"0x39be70e93d2d285c9e71be7f70fc5a45a7777b14",EUR:"0x3626369857a10ccc6cc3a6e4f5c2f5984a519f20",GBP:"0x540d48c01f946e729174517e013ad0bdae5f08c0",JPY:"0x536944c3a71feb7c1e5c66ee37d1a148d8d8f619",INR:"0x5535e67d8f99c8ebe961e1fc1f6ddae96fec82c9"},tokenFeeds:{ETH:"0x13e3Ee699D1909E989722E753853AE30b17e08c5"},curveRouterAddress:"0x89287c32c2cac1c76227f6d300b2dbbab6b75c08"},{chainName:"Avalanche",shortName:"avax",testnet:!1,chainId:43114,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/43113/logo.svg",rpcUrls:["https://api.avax.network/ext/bc/C/rpc"],wrappedNativeToken:"0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",explorerUrl:"https://snowtrace.io",timestamp:"2023-01-13T14:52:05+00:00",feeTreasury:"0x25e22F3ceE59F34622f7DC9a2078B85f17BfBe95",priceFeeds:{BRL:"0x609dddb75518aa4af84ac228b62261ae68e52989",CHF:"0x3b37950485b450edf90cbb85d0cd27308af4ab9a",EUR:"0x192f2dba961bb0277520c082d6bfa87d5961333e",JPY:"0xf8b283ad4d969ecfd70005714dd5910160565b94",TRY:"0xa61bf273688ea095b5e4c11f1af5e763f7aeee91"},tokenFeeds:{AVAX:"0x0A77230d17318075983913bC2145DB16C7366156"}},{chainName:"Gnosis",shortName:"gno",testnet:!1,chainId:100,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/100/logo.svg",rpcUrls:["https://rpc.gnosis.gateway.fm"],wrappedNativeToken:"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d",explorerUrl:"https://gnosisscan.io",timestamp:"2023-07-27T14:52:05+00:00",feeTreasury:"0x775aaf73a50C25eEBd308BBb9C34C73D081B423b",priceFeeds:{CHF:"0xFb00261Af80ADb1629D3869E377ae1EEC7bE659F",EUR:"0xab70BCB260073d036d1660201e9d5405F5829b7a",JPY:"0x2AfB993C670C01e9dA1550c58e8039C1D8b8A317"},tokenFeeds:{GNO:"0x22441d81416430A54336aB28765abd31a792Ad37",DAI:"0x678df3415fc31947dA4324eC63212874be5a82f8"},curveRouterAddress:"0xe6358f6a45b502477e83cc1cda759f540e4459ee"},{chainName:"Polygon",shortName:"matic",testnet:!1,chainId:137,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/137/logo.svg",rpcUrls:["https://polygon-rpc.com"],wrappedNativeToken:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",explorerUrl:"https://polygonscan.com",timestamp:"2023-09-07T00:00:00+00:00",feeTreasury:"0x5f0947253a8218894af13438ac2e2E0CeD30d234",priceFeeds:{AUD:"0x062Df9C4efd2030e243ffCc398b652e8b8F95C6f",CAD:"0xACA44ABb8B04D07D883202F99FA5E3c53ed57Fb5",CHF:"0xc76f762CedF0F78a439727861628E0fdfE1e70c2",CNY:"0x04bB437Aa63E098236FA47365f0268547f6EAB32",EUR:"0x73366Fe0AA0Ded304479862808e02506FE556a98",GBP:"0x099a2540848573e94fb1Ca0Fa420b00acbBc845a",ILS:"0x8d5eB34C509261533235b91350d359EdcB969D33",INR:"0xDA0F8Df6F5dB15b346f4B8D1156722027E194E60",JPY:"0xD647a6fC9BC6402301583C91decC5989d8Bc382D",KRW:"0x24B820870F726dA9B0D83B0B28a93885061dbF50",MXN:"0x171b16562EA3476F5C61d1b8dad031DbA0768545",NZD:"0xa302a0B8a499fD0f00449df0a490DedE21105955",PHP:"0x218231089Bebb2A31970c3b77E96eCfb3BA006D1",PLN:"0xB34BCE11040702f71c11529D00179B2959BcE6C0",SEK:"0xbd92B4919ae82be8473859295dEF0e778A626302",SGD:"0x8CE3cAc0E6635ce04783709ca3CC4F5fc5304299",THB:"0x5164Ad28fb12a5e55946090Ec3eE1B748AFb3785",TRY:"0xd78325DcA0F90F0FFe53cCeA1B02Bb12E1bf8FdB"},tokenFeeds:{MATIC:"0xAB594600376Ec9fD91F8e885dADF0CE036862dE0"},curveRouterAddress:"0x2a426b3Bb4fa87488387545f15D01d81352732F9"}]},s={name:"Default",logoUri:"",keywords:[],version:{major:0,minor:0,patch:1},routers:[{chainId:1,address:"0x4cafd841df0df6da5739f729491887d64ad2794c",timestamp:"2022-12-30T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:1,address:"0x061888246A29fEB9bb3f168CD8589B3Cf4115668",timestamp:"2023-09-01T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:5,address:"0x8412D3c11aa605EbaF14D0b6BC7705ab45143Ee8",timestamp:"2022-12-23T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:10,address:"0xfbA75752D73d3Fb3aA13e7BC7cfD142E73E78a8A",timestamp:"2023-02-27T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:10,address:"0x408EB3F5A578b3eEcFe2c0cD58988fAb306885b4",timestamp:"2023-09-01T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:42161,address:"0x334264f4fbb56a84f80df722ba765d210f0cf555",timestamp:"2023-02-23T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:42161,address:"0x408EB3F5A578b3eEcFe2c0cD58988fAb306885b4",timestamp:"2023-09-01T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:100,address:"0x448fabd2d16bc48ecdbe68890414de7a1b6348fd",timestamp:"2023-07-27T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:100,address:"0x5faD44Dc5B63f1717523c340de357ef399FeA0F2",timestamp:"2023-09-01T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:137,address:"0x8866DAFa2762346c85098C5b2201fA7CB2dA6100",timestamp:"2023-09-07T00:00:00+00:00",version:"0.2",fee:"0.002"}]},o={name:"Default",logoUri:"",keywords:[],version:{major:0,minor:0,patch:1},faucets:[{chainId:5,token:"0x33ca3889bb0032e9c3794b608a242d27e7293353",address:"0xd2bc1d97793763b7262987a67f1945169c763389"},{chainId:5,token:"0xe5768E2dDEc1E50Ac2672a2d75D63d36A8Ec88d9",address:"0x5A3380C7d6A05AF3Ce68C939142658C35Efc066d"},{chainId:5,token:"0xeB87E5d9c773d3E802989295147564985B5B358C",address:"0xF47661BCe78194b44675547873ef58Ca8Db9b145"}]},i=[{inputs:[{internalType:"address",name:"_feeTreasury",type:"address"},{internalType:"uint256",name:"_baseFeeBps",type:"uint256"},{internalType:"string",name:"_version",type:"string"},{internalType:"address",name:"_uniswapRouter",type:"address"},{internalType:"address",name:"_curveRouter",type:"address"},{internalType:"address",name:"_wrappedNativeToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"priceFeed",type:"address"},{indexed:!1,internalType:"int256",name:"exchangeRate",type:"int256"}],name:"Convert",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fees",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"memo",type:"bytes32"}],name:"Payment",type:"event"},{inputs:[],name:"MAX_FEE_BPS",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_TOKEN",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseFeeBps",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"feeBps",type:"uint256"}],name:"calculateFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"curveRouter",outputs:[{internalType:"contract ICurveRouter",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[2]",name:"priceFeeds",type:"address[2]"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"exchangeRate",outputs:[{internalType:"uint256",name:"converted",type:"uint256"},{internalType:"address[2]",name:"priceFeedsUsed",type:"address[2]"},{internalType:"int256[2]",name:"prices",type:"int256[2]"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeTreasury",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"bytes32",name:"memo",type:"bytes32"},{internalType:"address[9]",name:"route",type:"address[9]"},{internalType:"uint256[3][4]",name:"swapParams",type:"uint256[3][4]"},{internalType:"address[4]",name:"factoryAddresses",type:"address[4]"},{internalType:"address[2]",name:"priceFeeds",type:"address[2]"},{internalType:"address",name:"extraFeeReceiver",type:"address"},{internalType:"uint256",name:"extraFeeBps",type:"uint256"},{internalType:"bool",name:"returnRemainder",type:"bool"}],internalType:"struct HiroRouterV1.HiroCurveParams",name:"params",type:"tuple"}],name:"payWithCurve",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"memo",type:"bytes32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address[2]",name:"priceFeeds",type:"address[2]"},{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"extraFeeReceiver",type:"address"},{internalType:"uint256",name:"extraFeeBps",type:"uint256"}],name:"payWithToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"bytes32",name:"memo",type:"bytes32"},{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address[2]",name:"priceFeeds",type:"address[2]"},{internalType:"address",name:"extraFeeReceiver",type:"address"},{internalType:"uint256",name:"extraFeeBps",type:"uint256"},{internalType:"bool",name:"returnRemainder",type:"bool"},{internalType:"enum HiroRouterV1.SwapType",name:"swapType",type:"uint8"}],internalType:"struct HiroRouterV1.HiroUniswapParams",name:"params",type:"tuple"}],name:"payWithUniswap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"sweep",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"uniswapRouter",outputs:[{internalType:"contract ISwapRouter",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"wrappedNativeToken",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],r={.1:[{inputs:[{internalType:"address",name:"_feeTreasury",type:"address"},{internalType:"uint256",name:"_baseFeeDivisor",type:"uint256"},{internalType:"string",name:"_version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"priceFeed",type:"address"},{indexed:!1,internalType:"int256",name:"exchangeRate",type:"int256"}],name:"Convert",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fees",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"memo",type:"bytes32"}],name:"Payment",type:"event"},{inputs:[{internalType:"address[]",name:"_priceFeeds",type:"address[]"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"exchangeRate",outputs:[{internalType:"uint256",name:"converted",type:"uint256"},{internalType:"address",name:"priceFeed",type:"address"},{internalType:"int256",name:"price",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_memo",type:"bytes32"},{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"address[]",name:"_priceFeeds",type:"address[]"},{internalType:"address",name:"_token",type:"address"},{internalType:"address",name:"_receiver",type:"address"},{internalType:"address",name:"_extraFeeReceiver",type:"address"},{internalType:"uint256",name:"_extraFeeDivisor",type:"uint256"}],name:"payWithToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],.2:i,test:i};function d(e,t){return e.major<t.major?-1:e.major>t.major?1:e.minor<t.minor?-1:e.minor>t.minor?1:e.patch<t.patch?-1:e.patch>t.patch?1:0}function c(e,t){var a=e.reduce((function(e,t){return e[t.chainId]||(e[t.chainId]={}),e[t.chainId][t.address]=t,e}),{}),n=t.reduce((function(e,t){var n,s,o=null==(n=a[t.chainId])?void 0:n[t.address];if(o){var i=Object.keys(t).filter((function(e){return"address"!==e&&"chainId"!==e})).filter((function(e){return!((a=t[e])===(n=o[e])||typeof a==typeof n&&Array.isArray(a)&&Array.isArray(n)&&a.every((function(e,t){return n[t]===e})));var a,n}));i.length>0&&(e.changed[t.chainId]||(e.changed[t.chainId]={}),e.changed[t.chainId][t.address]=i)}else e.added.push(t);return e.index[t.chainId]?e.index[t.chainId][t.address]=!0:e.index[t.chainId]=((s={})[t.address]=!0,s),e}),{added:[],changed:{},index:{}}),s=e.reduce((function(e,t){return n.index[t.chainId]&&n.index[t.chainId][t.address]||e.push(t),e}),[]);return{added:n.added,changed:n.changed,removed:s}}function p(e){return s.routers.filter((function(t){return t.chainId===e}))}(e=exports.TokenListTagNames||(exports.TokenListTagNames={})).MAINNET="Mainnet",e.OPTIMISM="Optimism",e.ARBITRUM="Arbitrum",e.AVALANCHE="Avalanche",e.TESTNET="TESTNET",e.STABLECOIN="Stablecoin",e.USD="USD",e.EUR="EUR",e.TOP_10="Top10",e.NATIVE_TOKEN="Native Token",(t=exports.VersionUpgrade||(exports.VersionUpgrade={}))[t.NONE=0]="NONE",t[t.PATCH=1]="PATCH",t[t.MINOR=2]="MINOR",t[t.MAJOR=3]="MAJOR",exports.CURVE_ROUTER_ABI=[{name:"TokenExchange",inputs:[{name:"buyer",type:"address",indexed:!0},{name:"receiver",type:"address",indexed:!0},{name:"pool",type:"address",indexed:!0},{name:"token_sold",type:"address",indexed:!1},{name:"token_bought",type:"address",indexed:!1},{name:"amount_sold",type:"uint256",indexed:!1},{name:"amount_bought",type:"uint256",indexed:!1}],anonymous:!1,type:"event"},{name:"ExchangeMultiple",inputs:[{name:"buyer",type:"address",indexed:!0},{name:"receiver",type:"address",indexed:!0},{name:"route",type:"address[9]",indexed:!1},{name:"swap_params",type:"uint256[3][4]",indexed:!1},{name:"pools",type:"address[4]",indexed:!1},{name:"amount_sold",type:"uint256",indexed:!1},{name:"amount_bought",type:"uint256",indexed:!1}],anonymous:!1,type:"event"},{stateMutability:"nonpayable",type:"constructor",inputs:[{name:"_address_provider",type:"address"},{name:"_calculator",type:"address"},{name:"_weth",type:"address"}],outputs:[]},{stateMutability:"payable",type:"fallback"},{stateMutability:"payable",type:"function",name:"exchange_with_best_rate",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange_with_best_rate",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"},{name:"_receiver",type:"address"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"},{name:"_receiver",type:"address"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange_multiple",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange_multiple",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"},{name:"_pools",type:"address[4]"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange_multiple",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"},{name:"_pools",type:"address[4]"},{name:"_receiver",type:"address"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_best_rate",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],outputs:[{name:"",type:"address"},{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_best_rate",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_exclude_pools",type:"address[8]"}],outputs:[{name:"",type:"address"},{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_exchange_amount",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_input_amount",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_exchange_amounts",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amounts",type:"uint256[100]"}],outputs:[{name:"",type:"uint256[100]"}]},{stateMutability:"view",type:"function",name:"get_exchange_multiple_amount",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_exchange_multiple_amount",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"},{name:"_pools",type:"address[4]"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_calculator",inputs:[{name:"_pool",type:"address"}],outputs:[{name:"",type:"address"}]},{stateMutability:"nonpayable",type:"function",name:"update_registry_address",inputs:[],outputs:[{name:"",type:"bool"}]},{stateMutability:"nonpayable",type:"function",name:"set_calculator",inputs:[{name:"_pool",type:"address"},{name:"_calculator",type:"address"}],outputs:[{name:"",type:"bool"}]},{stateMutability:"nonpayable",type:"function",name:"set_default_calculator",inputs:[{name:"_calculator",type:"address"}],outputs:[{name:"",type:"bool"}]},{stateMutability:"nonpayable",type:"function",name:"claim_balance",inputs:[{name:"_token",type:"address"}],outputs:[{name:"",type:"bool"}]},{stateMutability:"nonpayable",type:"function",name:"set_killed",inputs:[{name:"_is_killed",type:"bool"}],outputs:[{name:"",type:"bool"}]},{stateMutability:"view",type:"function",name:"registry",inputs:[],outputs:[{name:"",type:"address"}]},{stateMutability:"view",type:"function",name:"factory_registry",inputs:[],outputs:[{name:"",type:"address"}]},{stateMutability:"view",type:"function",name:"crypto_registry",inputs:[],outputs:[{name:"",type:"address"}]},{stateMutability:"view",type:"function",name:"default_calculator",inputs:[],outputs:[{name:"",type:"address"}]},{stateMutability:"view",type:"function",name:"is_killed",inputs:[],outputs:[{name:"",type:"bool"}]}],exports.HIRO_ROUTER_ABIS=r,exports.chainlist=n,exports.diffTokenLists=c,exports.getChain=function(e){return n.chains.find((function(t){return t.chainId===e}))},exports.getFaucetAddress=function(e){return o.faucets.find((function(t){return t.token.toLowerCase()===e.address.toLowerCase()&&t.chainId===e.chainId}))},exports.getLatestRouter=function(e){var t=p(e).sort((function(e,t){return Date.parse(e.timestamp)-Date.parse(t.timestamp)}));return t[t.length-1]},exports.getRouter=function(e,t){return s.routers.find((function(a){return a.chainId===e&&a.version===t}))},exports.getRouters=p,exports.getShortNames=function(){return n.chains.map((function(e){return e.shortName}))},exports.getTokenByAddress=function(e,t){var n;return null!=(n=a.tokens.find((function(a){return a.address.toLowerCase()===e.toLowerCase()&&(!t||a.chainId===t)})))?n:null},exports.getTokenBySymbol=function(e,t){var n;return null!=(n=a.tokens.find((function(a){return a.symbol===e&&(!t||a.chainId===t)})))?n:null},exports.getTokens=function(e){return a.tokens.filter((function(t){return t.chainId===e}))},exports.getVersionUpgrade=function(e,t){return t.major>e.major?exports.VersionUpgrade.MAJOR:t.major<e.major?exports.VersionUpgrade.NONE:t.minor>e.minor?exports.VersionUpgrade.MINOR:t.minor<e.minor?exports.VersionUpgrade.NONE:t.patch>e.patch?exports.VersionUpgrade.PATCH:exports.VersionUpgrade.NONE},exports.isVersionUpdate=function(e,t){return d(e,t)<0},exports.minVersionBump=function(e,t){var a=c(e,t);return a.removed.length>0?exports.VersionUpgrade.MAJOR:a.added.length>0?exports.VersionUpgrade.MINOR:Object.keys(a.changed).length>0?exports.VersionUpgrade.PATCH:exports.VersionUpgrade.NONE},exports.nextVersion=function(e,t){switch(t){case exports.VersionUpgrade.NONE:return e;case exports.VersionUpgrade.MAJOR:return{major:e.major+1,minor:0,patch:0};case exports.VersionUpgrade.MINOR:return{major:e.major,minor:e.minor+1,patch:0};case exports.VersionUpgrade.PATCH:return{major:e.major,minor:e.minor,patch:e.patch+1}}},exports.routerlist=s,exports.tokenlist=a,exports.tokenschema=a,exports.versionComparator=d;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,a={name:"Default",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7/logo.png",keywords:[],version:{major:0,minor:0,patch:1},tokens:[{chainId:1,coinGeckoId:"ethereum",name:"Ether",symbol:"ETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",decimals:18,tags:["Mainnet","Native Token","Top10"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:10,coinGeckoId:"ethereum",name:"Ether",symbol:"ETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",decimals:18,tags:["Optimism","Native Token","Top10"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:42161,coinGeckoId:"ethereum",name:"Ether",symbol:"ETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",decimals:18,tags:["Arbitrum","Native Token","Top10"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:8453,coinGeckoId:"ethereum",name:"Ether",symbol:"ETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",decimals:18,tags:["Base","Native Token","Top10"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:1,coinGeckoId:"weth",name:"Wrapped Ether",symbol:"WETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",decimals:18,tags:["Mainnet","Native Token"],address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{chainId:10,coinGeckoId:"weth",name:"Wrapped Ether",symbol:"WETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",decimals:18,tags:["Optimism","Native Token"],address:"0x4200000000000000000000000000000000000006"},{chainId:42161,coinGeckoId:"weth",name:"Wrapped Ether",symbol:"WETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",decimals:18,tags:["Arbitrum","Native Token"],address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},{chainId:8453,coinGeckoId:"weth",name:"Wrapped Ether",symbol:"WETH",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",decimals:18,tags:["Base","Native Token"],address:"0x4200000000000000000000000000000000000006"},{chainId:1,coinGeckoId:"tether",name:"Tether",symbol:"USDT",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:6,tags:["Mainnet","Stablecoin","Top10","USD"],address:"0xdac17f958d2ee523a2206206994597c13d831ec7"},{chainId:10,coinGeckoId:"tether",name:"Tether",symbol:"USDT",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:6,tags:["Optimism","Stablecoin","Top10","USD"],address:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58"},{chainId:42161,coinGeckoId:"tether",name:"Tether",symbol:"USDT",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:6,tags:["Arbitrum","Stablecoin","Top10","USD"],address:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"},{chainId:1,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Mainnet","Stablecoin","Top10","USD"],address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{chainId:10,coinGeckoId:"usd-coin",name:"USD Coin - Bridged",symbol:"USDC.e",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Optimism","Stablecoin","Top10","USD"],address:"0x7f5c764cbc14f9669b88837ca1490cca17c31607"},{chainId:10,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Optimism","Stablecoin","Top10","USD"],address:"0x0b2c639c533813f4aa9d7837caf62653d097ff85"},{chainId:8453,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Base","Stablecoin","Top10","USD"],address:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},{chainId:42161,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Arbitrum","Stablecoin","Top10","USD"],address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},{chainId:42161,coinGeckoId:"usd-coin",name:"USD Coin - Bridged",symbol:"USDC.e",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Arbitrum","Stablecoin","Top10","USD"],address:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8"},{chainId:1,coinGeckoId:"dai",name:"DAI",symbol:"DAI",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg",decimals:18,tags:["Mainnet","Stablecoin","Top10","USD"],address:"0x6b175474e89094c44da98b954eedeac495271d0f"},{chainId:10,coinGeckoId:"dai",name:"DAI",symbol:"DAI",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg",decimals:18,tags:["Optimism","Stablecoin","Top10","USD"],address:"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1"},{chainId:42161,coinGeckoId:"dai",name:"DAI",symbol:"DAI",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg",decimals:18,tags:["Arbitrum","Stablecoin","Top10","USD"],address:"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1"},{chainId:1,coinGeckoId:"crvusd",name:"crvUSD",symbol:"crvUSD",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/crvUSD.svg",decimals:18,tags:["Mainnet","Stablecoin","USD"],address:"0xf939e0a03fb07f59a73314e73794be0e57ac1b4e"},{chainId:1,coinGeckoId:"monerium-eur-money",name:"EURe",symbol:"EURe",currency:"EUR",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/EURe.svg",decimals:18,tags:["Mainnet","Stablecoin","EUR"],address:"0x3231Cb76718CDeF2155FC47b5286d82e6eDA273f"},{chainId:5,name:"XUSD",symbol:"XUSD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:18,tags:["TESTNET"],address:"0x33ca3889bb0032e9c3794b608a242d27e7293353"},{chainId:5,name:"USDC.test",symbol:"USDC",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:18,tags:["TESTNET"],address:"0xe5768E2dDEc1E50Ac2672a2d75D63d36A8Ec88d9"},{chainId:5,name:"USDT.test",symbol:"USDT",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:18,tags:["TESTNET"],address:"0xeB87E5d9c773d3E802989295147564985B5B358C"},{chainId:43114,coinGeckoId:"dai",address:"0xd586E7F844cEa2F87f50152665BCbc2C279D8d70",decimals:18,name:"Dai Stablecoin",symbol:"DAI.e",currency:"USD",tags:["Avalanche","Stablecoins"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg"},{chainId:43114,coinGeckoId:"tether",address:"0xc7198437980c041c805A1EDcbA50c1Ce5db95118",decimals:6,name:"Tether - Bridged",symbol:"USDT.e",currency:"USD",tags:["Avalanche","Stablecoins"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg"},{chainId:43114,coinGeckoId:"usd-coin",address:"0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664",decimals:6,name:"USD Coin - Bridged",symbol:"USDC.e",currency:"USD",tags:["Avalanche","Stablecoins"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg"},{chainId:43114,coinGeckoId:"magic-internet-money",address:"0x130966628846BFd36ff31a822705796e8cb8C18D",decimals:18,name:"Magic Internet Money",symbol:"MIM",tags:["Avalanche","Stablecoins"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/MIM.svg"},{chainId:43114,coinGeckoId:"usd-coin",address:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",decimals:6,name:"USD Coin",symbol:"USDC",currency:"USD",tags:["Avalanche","Stablecoin","Top10"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg"},{chainId:43114,coinGeckoId:"tether",address:"0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",decimals:6,name:"Tether",symbol:"USDT",currency:"USD",tags:["Avalanche","Stablecoin","Top10"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg"},{chainId:100,coinGeckoId:"tether",address:"0x4ECaBa5870353805a9F068101A40E0f32ed605C6",decimals:6,name:"Tether",symbol:"USDT",currency:"USD",tags:["Gnosis","Stablecoin","Top10"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg"},{chainId:100,coinGeckoId:"usd-coin",address:"0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",decimals:6,name:"USD Coin",symbol:"USDC",currency:"USD",tags:["Gnosis","Stablecoin","Top10"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg"},{chainId:100,coinGeckoId:"xdai",address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",decimals:18,name:"xDAI",symbol:"xDAI",currency:"USD",tags:["Gnosis","Stablecoin","Native Token"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/xDAI.svg"},{chainId:100,coinGeckoId:"wrapped-xdai",address:"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d",decimals:18,name:"wxDAI",symbol:"wxDAI",currency:"USD",tags:["Gnosis","Stablecoin","Native Token"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/wxDAI.svg"},{chainId:100,coinGeckoId:"monerium-eur-money",address:"0xcB444e90D8198415266c6a2724b7900fb12FC56E",decimals:18,name:"EURe",symbol:"EURe",currency:"EUR",tags:["Gnosis","Stablecoin"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/EURe.svg"},{chainId:137,coinGeckoId:"matic-network",name:"MATIC",symbol:"MATIC",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/137/logo.svg",decimals:18,tags:["Polygon","Native Token"],address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},{chainId:137,coinGeckoId:"matic-network",name:"Wrapped MATIC",symbol:"WMATIC",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/137/logo.svg",decimals:18,tags:["Polygon","Native Token"],address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"},{chainId:137,coinGeckoId:"tether",name:"Tether",symbol:"USDT",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDT.svg",decimals:6,tags:["Polygon","Stablecoin","Top10","USD"],address:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F"},{chainId:137,coinGeckoId:"usd-coin",name:"USD Coin",symbol:"USDC",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",decimals:6,tags:["Polygon","Stablecoin","Top10","USD"],address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"},{chainId:137,coinGeckoId:"dai",name:"DAI",symbol:"DAI",currency:"USD",logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/DAI.svg",decimals:18,tags:["Polygon","Stablecoin","Top10","USD"],address:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063"},{chainId:137,coinGeckoId:"monerium-eur-money",address:"0x18ec0A6E18E5bc3784fDd3a3634b31245ab704F6",decimals:18,name:"EURe",symbol:"EURe",currency:"EUR",tags:["Polygon","Stablecoin"],logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/EURe.svg"}],timestamp:"2021-09-07T00:00:00+00:00"},n={name:"Default",logoUri:"",keywords:[],version:{major:0,minor:0,patch:1},chains:[{chainName:"Ethereum",shortName:"eth",testnet:!1,chainId:1,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/1/logo.svg",rpcUrls:["https://rpc.ankr.com/eth"],wrappedNativeToken:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",explorerUrl:"https://etherscan.io",timestamp:"2022-12-29T18:52:20+00:00",feeTreasury:"0x9C48d180e4eEE0dA2A899EE1E4c533cA5e92db77",priceFeeds:{AUD:"0x77f9710e7d0a19669a13c055f62cd80d313df022",CAD:"0xa34317db73e77d453b1b8d04550c44d10e981c8e",CHF:"0x449d117117838ffa61263b61da6301aa2a88b13a",EUR:"0xb49f677943bc038e9857d61e7d053caa2c1734c1",GBP:"0x5c0ab2d9b5a7ed9f470386e82bb36a3613cdd4b5",JPY:"0xbce206cae7f0ec07b545edde332a47c2f75bbeb3",CNY:"0xef8a4af35cd47424672e3c590abd37fbb7a7759a",KRW:"0x01435677fb11763550905594a16b645847c1d0f3",NZD:"0x3977cfc9e4f29c184d4675f4eb8e0013236e5f3e",SGD:"0xe25277ff4bbf9081c75ab0eb13b4a13a721f3e13",TRY:"0xb09fc5fd3f11cf9eb5e1c5dba43114e3c9f477b5"},tokenFeeds:{ETH:"0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419"},curveRouterAddress:"0x99a58482BD75cbab83b27EC03CA68fF489b5788f"},{chainName:"Ethereum Goerli",shortName:"gor",testnet:!0,chainId:5,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/5/logo.svg",rpcUrls:["https://rpc.ankr.com/eth_goerli"],wrappedNativeToken:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",explorerUrl:"https://goerli.etherscan.io",timestamp:"2022-12-28T14:10:09+00:00",feeTreasury:"0x3E8A61F0532BA2b58660606d61110cC9E90c4D29",priceFeeds:{CZK:"0xAE45DCb3eB59E27f05C170752B218C6174394Df8",JPY:"0x295b398c95cEB896aFA18F25d0c6431Fd17b1431"}},{chainName:"Arbitrum One",shortName:"arb1",testnet:!1,chainId:42161,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/42161/logo.svg",rpcUrls:["https://rpc.ankr.com/arbitrum"],wrappedNativeToken:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",explorerUrl:"https://arbiscan.io",timestamp:"2023-01-13T14:52:05+00:00",feeTreasury:"0x5f0947253a8218894af13438ac2e2e0ced30d234",priceFeeds:{AUD:"0x9854e9a850e7c354c1de177ea953a6b1fba8fc22",CNY:"0xcc3370bde6afe51e1205a5038947b9836371eccb",EUR:"0xa14d53bc1f1c0f31b4aa3bd109344e5009051a84",CAD:"0xf6da27749484843c4f02f5ad1378cee723dd61d4",CHF:"0xe32AccC8c4eC03F6E75bd3621BfC9Fbb234E1FC3",GBP:"0x9c4424fd84c6661f97d8d6b3fc3c1aac2bedd137",JPY:"0x3dd6e51cb9cae717d5a8778cf79a04029f9cfdf8",KRW:"0x85bb02e0ae286600d1c68bb6ce22cc998d411916",SEK:"0xde89a55d04ded40a410877ab87d4f567ee66a1f0",SGD:"0xf0d38324d1f86a176ac727a4b0c43c9f9d9c5eb1"},tokenFeeds:{ETH:"0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612"},curveRouterAddress:"0x4c2af2df2a7e567b5155879720619ea06c5bb15d"},{chainName:"Optimism",shortName:"oeth",testnet:!1,chainId:10,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/10/logo.svg",rpcUrls:["https://mainnet.optimism.io"],wrappedNativeToken:"0x4200000000000000000000000000000000000006",explorerUrl:"https://optimistic.etherscan.io",timestamp:"2023-02-27T14:52:05+00:00",feeTreasury:"0x5f0947253a8218894af13438ac2e2e0ced30d234",priceFeeds:{AUD:"0x39be70e93d2d285c9e71be7f70fc5a45a7777b14",EUR:"0x3626369857a10ccc6cc3a6e4f5c2f5984a519f20",GBP:"0x540d48c01f946e729174517e013ad0bdae5f08c0",JPY:"0x536944c3a71feb7c1e5c66ee37d1a148d8d8f619",INR:"0x5535e67d8f99c8ebe961e1fc1f6ddae96fec82c9"},tokenFeeds:{ETH:"0x13e3Ee699D1909E989722E753853AE30b17e08c5"},curveRouterAddress:"0x89287c32c2cac1c76227f6d300b2dbbab6b75c08"},{chainName:"Avalanche",shortName:"avax",testnet:!1,chainId:43114,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/43113/logo.svg",rpcUrls:["https://api.avax.network/ext/bc/C/rpc"],wrappedNativeToken:"0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",explorerUrl:"https://snowtrace.io",timestamp:"2023-01-13T14:52:05+00:00",feeTreasury:"0x25e22F3ceE59F34622f7DC9a2078B85f17BfBe95",priceFeeds:{BRL:"0x609dddb75518aa4af84ac228b62261ae68e52989",CHF:"0x3b37950485b450edf90cbb85d0cd27308af4ab9a",EUR:"0x192f2dba961bb0277520c082d6bfa87d5961333e",JPY:"0xf8b283ad4d969ecfd70005714dd5910160565b94",TRY:"0xa61bf273688ea095b5e4c11f1af5e763f7aeee91"},tokenFeeds:{AVAX:"0x0A77230d17318075983913bC2145DB16C7366156"}},{chainName:"Gnosis",shortName:"gno",testnet:!1,chainId:100,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/100/logo.svg",rpcUrls:["https://rpc.gnosis.gateway.fm"],wrappedNativeToken:"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d",explorerUrl:"https://gnosisscan.io",timestamp:"2023-07-27T14:52:05+00:00",feeTreasury:"0x775aaf73a50C25eEBd308BBb9C34C73D081B423b",priceFeeds:{CHF:"0xFb00261Af80ADb1629D3869E377ae1EEC7bE659F",EUR:"0xab70BCB260073d036d1660201e9d5405F5829b7a",JPY:"0x2AfB993C670C01e9dA1550c58e8039C1D8b8A317"},tokenFeeds:{GNO:"0x22441d81416430A54336aB28765abd31a792Ad37",DAI:"0x678df3415fc31947dA4324eC63212874be5a82f8"},curveRouterAddress:"0xe6358f6a45b502477e83cc1cda759f540e4459ee"},{chainName:"Base",shortName:"base",testnet:!1,chainId:8453,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/8453/logo.png",rpcUrls:["https://mainnet.base.org"],wrappedNativeToken:"0x4200000000000000000000000000000000000006",explorerUrl:"https://basescan.org",timestamp:"2024-06-17T14:52:05+00:00",feeTreasury:"0x46959a8a332eca1a05Bd4F18115b8F2E1C2F2f05",priceFeeds:{BRL:"0x0b0E64c05083FdF9ED7C5D3d8262c4216eFc9394",EUR:"0xc91D87E81faB8f93699ECf7Ee9B44D11e1D53F0F"},tokenFeeds:{ETH:"0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70"},curveRouterAddress:"0x0000000000000000000000000000000000000000"},{chainName:"Polygon",shortName:"matic",testnet:!1,chainId:137,logoUri:"https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/137/logo.svg",rpcUrls:["https://polygon-rpc.com"],wrappedNativeToken:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",explorerUrl:"https://polygonscan.com",timestamp:"2023-09-07T00:00:00+00:00",feeTreasury:"0x5f0947253a8218894af13438ac2e2E0CeD30d234",priceFeeds:{AUD:"0x062Df9C4efd2030e243ffCc398b652e8b8F95C6f",CAD:"0xACA44ABb8B04D07D883202F99FA5E3c53ed57Fb5",CHF:"0xc76f762CedF0F78a439727861628E0fdfE1e70c2",CNY:"0x04bB437Aa63E098236FA47365f0268547f6EAB32",EUR:"0x73366Fe0AA0Ded304479862808e02506FE556a98",GBP:"0x099a2540848573e94fb1Ca0Fa420b00acbBc845a",ILS:"0x8d5eB34C509261533235b91350d359EdcB969D33",INR:"0xDA0F8Df6F5dB15b346f4B8D1156722027E194E60",JPY:"0xD647a6fC9BC6402301583C91decC5989d8Bc382D",KRW:"0x24B820870F726dA9B0D83B0B28a93885061dbF50",MXN:"0x171b16562EA3476F5C61d1b8dad031DbA0768545",NZD:"0xa302a0B8a499fD0f00449df0a490DedE21105955",PHP:"0x218231089Bebb2A31970c3b77E96eCfb3BA006D1",PLN:"0xB34BCE11040702f71c11529D00179B2959BcE6C0",SEK:"0xbd92B4919ae82be8473859295dEF0e778A626302",SGD:"0x8CE3cAc0E6635ce04783709ca3CC4F5fc5304299",THB:"0x5164Ad28fb12a5e55946090Ec3eE1B748AFb3785",TRY:"0xd78325DcA0F90F0FFe53cCeA1B02Bb12E1bf8FdB"},tokenFeeds:{MATIC:"0xAB594600376Ec9fD91F8e885dADF0CE036862dE0"},curveRouterAddress:"0x2a426b3Bb4fa87488387545f15D01d81352732F9"}]},s={name:"Default",logoUri:"",keywords:[],version:{major:0,minor:0,patch:1},routers:[{chainId:1,address:"0x4cafd841df0df6da5739f729491887d64ad2794c",timestamp:"2022-12-30T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:1,address:"0x061888246A29fEB9bb3f168CD8589B3Cf4115668",timestamp:"2023-09-01T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:5,address:"0x8412D3c11aa605EbaF14D0b6BC7705ab45143Ee8",timestamp:"2022-12-23T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:10,address:"0xfbA75752D73d3Fb3aA13e7BC7cfD142E73E78a8A",timestamp:"2023-02-27T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:10,address:"0x408EB3F5A578b3eEcFe2c0cD58988fAb306885b4",timestamp:"2023-09-01T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:42161,address:"0x334264f4fbb56a84f80df722ba765d210f0cf555",timestamp:"2023-02-23T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:42161,address:"0x408EB3F5A578b3eEcFe2c0cD58988fAb306885b4",timestamp:"2023-09-01T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:100,address:"0x448fabd2d16bc48ecdbe68890414de7a1b6348fd",timestamp:"2023-07-27T00:00:00+00:00",version:"0.1",fee:"0.002"},{chainId:100,address:"0x5faD44Dc5B63f1717523c340de357ef399FeA0F2",timestamp:"2023-09-01T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:137,address:"0x8866DAFa2762346c85098C5b2201fA7CB2dA6100",timestamp:"2023-09-07T00:00:00+00:00",version:"0.2",fee:"0.002"},{chainId:8453,address:"0x2BaE9Bb53BCe89c760dBfA55D854D43ab96EE19f",timestamp:"2024-06-17T15:50:00+00:00",version:"0.2",fee:"0.002"}]},o={name:"Default",logoUri:"",keywords:[],version:{major:0,minor:0,patch:1},faucets:[{chainId:5,token:"0x33ca3889bb0032e9c3794b608a242d27e7293353",address:"0xd2bc1d97793763b7262987a67f1945169c763389"},{chainId:5,token:"0xe5768E2dDEc1E50Ac2672a2d75D63d36A8Ec88d9",address:"0x5A3380C7d6A05AF3Ce68C939142658C35Efc066d"},{chainId:5,token:"0xeB87E5d9c773d3E802989295147564985B5B358C",address:"0xF47661BCe78194b44675547873ef58Ca8Db9b145"}]},i=[{inputs:[{internalType:"address",name:"_feeTreasury",type:"address"},{internalType:"uint256",name:"_baseFeeBps",type:"uint256"},{internalType:"string",name:"_version",type:"string"},{internalType:"address",name:"_uniswapRouter",type:"address"},{internalType:"address",name:"_curveRouter",type:"address"},{internalType:"address",name:"_wrappedNativeToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"priceFeed",type:"address"},{indexed:!1,internalType:"int256",name:"exchangeRate",type:"int256"}],name:"Convert",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fees",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"memo",type:"bytes32"}],name:"Payment",type:"event"},{inputs:[],name:"MAX_FEE_BPS",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_TOKEN",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseFeeBps",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"feeBps",type:"uint256"}],name:"calculateFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"curveRouter",outputs:[{internalType:"contract ICurveRouter",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[2]",name:"priceFeeds",type:"address[2]"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"exchangeRate",outputs:[{internalType:"uint256",name:"converted",type:"uint256"},{internalType:"address[2]",name:"priceFeedsUsed",type:"address[2]"},{internalType:"int256[2]",name:"prices",type:"int256[2]"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeTreasury",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"bytes32",name:"memo",type:"bytes32"},{internalType:"address[9]",name:"route",type:"address[9]"},{internalType:"uint256[3][4]",name:"swapParams",type:"uint256[3][4]"},{internalType:"address[4]",name:"factoryAddresses",type:"address[4]"},{internalType:"address[2]",name:"priceFeeds",type:"address[2]"},{internalType:"address",name:"extraFeeReceiver",type:"address"},{internalType:"uint256",name:"extraFeeBps",type:"uint256"},{internalType:"bool",name:"returnRemainder",type:"bool"}],internalType:"struct HiroRouterV1.HiroCurveParams",name:"params",type:"tuple"}],name:"payWithCurve",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"memo",type:"bytes32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address[2]",name:"priceFeeds",type:"address[2]"},{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"extraFeeReceiver",type:"address"},{internalType:"uint256",name:"extraFeeBps",type:"uint256"}],name:"payWithToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"bytes32",name:"memo",type:"bytes32"},{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address[2]",name:"priceFeeds",type:"address[2]"},{internalType:"address",name:"extraFeeReceiver",type:"address"},{internalType:"uint256",name:"extraFeeBps",type:"uint256"},{internalType:"bool",name:"returnRemainder",type:"bool"},{internalType:"enum HiroRouterV1.SwapType",name:"swapType",type:"uint8"}],internalType:"struct HiroRouterV1.HiroUniswapParams",name:"params",type:"tuple"}],name:"payWithUniswap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"sweep",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"uniswapRouter",outputs:[{internalType:"contract ISwapRouter",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"wrappedNativeToken",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],r={.1:[{inputs:[{internalType:"address",name:"_feeTreasury",type:"address"},{internalType:"uint256",name:"_baseFeeDivisor",type:"uint256"},{internalType:"string",name:"_version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"priceFeed",type:"address"},{indexed:!1,internalType:"int256",name:"exchangeRate",type:"int256"}],name:"Convert",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fees",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"memo",type:"bytes32"}],name:"Payment",type:"event"},{inputs:[{internalType:"address[]",name:"_priceFeeds",type:"address[]"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"exchangeRate",outputs:[{internalType:"uint256",name:"converted",type:"uint256"},{internalType:"address",name:"priceFeed",type:"address"},{internalType:"int256",name:"price",type:"int256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_memo",type:"bytes32"},{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"address[]",name:"_priceFeeds",type:"address[]"},{internalType:"address",name:"_token",type:"address"},{internalType:"address",name:"_receiver",type:"address"},{internalType:"address",name:"_extraFeeReceiver",type:"address"},{internalType:"uint256",name:"_extraFeeDivisor",type:"uint256"}],name:"payWithToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],.2:i,test:i};function d(e,t){return e.major<t.major?-1:e.major>t.major?1:e.minor<t.minor?-1:e.minor>t.minor?1:e.patch<t.patch?-1:e.patch>t.patch?1:0}function c(e,t){var a=e.reduce((function(e,t){return e[t.chainId]||(e[t.chainId]={}),e[t.chainId][t.address]=t,e}),{}),n=t.reduce((function(e,t){var n,s,o=null==(n=a[t.chainId])?void 0:n[t.address];if(o){var i=Object.keys(t).filter((function(e){return"address"!==e&&"chainId"!==e})).filter((function(e){return!((a=t[e])===(n=o[e])||typeof a==typeof n&&Array.isArray(a)&&Array.isArray(n)&&a.every((function(e,t){return n[t]===e})));var a,n}));i.length>0&&(e.changed[t.chainId]||(e.changed[t.chainId]={}),e.changed[t.chainId][t.address]=i)}else e.added.push(t);return e.index[t.chainId]?e.index[t.chainId][t.address]=!0:e.index[t.chainId]=((s={})[t.address]=!0,s),e}),{added:[],changed:{},index:{}}),s=e.reduce((function(e,t){return n.index[t.chainId]&&n.index[t.chainId][t.address]||e.push(t),e}),[]);return{added:n.added,changed:n.changed,removed:s}}function p(e){return s.routers.filter((function(t){return t.chainId===e}))}(e=exports.TokenListTagNames||(exports.TokenListTagNames={})).MAINNET="Mainnet",e.OPTIMISM="Optimism",e.ARBITRUM="Arbitrum",e.AVALANCHE="Avalanche",e.BASE="Base",e.TESTNET="TESTNET",e.STABLECOIN="Stablecoin",e.USD="USD",e.EUR="EUR",e.TOP_10="Top10",e.NATIVE_TOKEN="Native Token",(t=exports.VersionUpgrade||(exports.VersionUpgrade={}))[t.NONE=0]="NONE",t[t.PATCH=1]="PATCH",t[t.MINOR=2]="MINOR",t[t.MAJOR=3]="MAJOR",exports.CURVE_ROUTER_ABI=[{name:"TokenExchange",inputs:[{name:"buyer",type:"address",indexed:!0},{name:"receiver",type:"address",indexed:!0},{name:"pool",type:"address",indexed:!0},{name:"token_sold",type:"address",indexed:!1},{name:"token_bought",type:"address",indexed:!1},{name:"amount_sold",type:"uint256",indexed:!1},{name:"amount_bought",type:"uint256",indexed:!1}],anonymous:!1,type:"event"},{name:"ExchangeMultiple",inputs:[{name:"buyer",type:"address",indexed:!0},{name:"receiver",type:"address",indexed:!0},{name:"route",type:"address[9]",indexed:!1},{name:"swap_params",type:"uint256[3][4]",indexed:!1},{name:"pools",type:"address[4]",indexed:!1},{name:"amount_sold",type:"uint256",indexed:!1},{name:"amount_bought",type:"uint256",indexed:!1}],anonymous:!1,type:"event"},{stateMutability:"nonpayable",type:"constructor",inputs:[{name:"_address_provider",type:"address"},{name:"_calculator",type:"address"},{name:"_weth",type:"address"}],outputs:[]},{stateMutability:"payable",type:"fallback"},{stateMutability:"payable",type:"function",name:"exchange_with_best_rate",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange_with_best_rate",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"},{name:"_receiver",type:"address"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"},{name:"_receiver",type:"address"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange_multiple",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange_multiple",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"},{name:"_pools",type:"address[4]"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"payable",type:"function",name:"exchange_multiple",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"},{name:"_expected",type:"uint256"},{name:"_pools",type:"address[4]"},{name:"_receiver",type:"address"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_best_rate",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],outputs:[{name:"",type:"address"},{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_best_rate",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"},{name:"_exclude_pools",type:"address[8]"}],outputs:[{name:"",type:"address"},{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_exchange_amount",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_input_amount",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_exchange_amounts",inputs:[{name:"_pool",type:"address"},{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_amounts",type:"uint256[100]"}],outputs:[{name:"",type:"uint256[100]"}]},{stateMutability:"view",type:"function",name:"get_exchange_multiple_amount",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_exchange_multiple_amount",inputs:[{name:"_route",type:"address[9]"},{name:"_swap_params",type:"uint256[3][4]"},{name:"_amount",type:"uint256"},{name:"_pools",type:"address[4]"}],outputs:[{name:"",type:"uint256"}]},{stateMutability:"view",type:"function",name:"get_calculator",inputs:[{name:"_pool",type:"address"}],outputs:[{name:"",type:"address"}]},{stateMutability:"nonpayable",type:"function",name:"update_registry_address",inputs:[],outputs:[{name:"",type:"bool"}]},{stateMutability:"nonpayable",type:"function",name:"set_calculator",inputs:[{name:"_pool",type:"address"},{name:"_calculator",type:"address"}],outputs:[{name:"",type:"bool"}]},{stateMutability:"nonpayable",type:"function",name:"set_default_calculator",inputs:[{name:"_calculator",type:"address"}],outputs:[{name:"",type:"bool"}]},{stateMutability:"nonpayable",type:"function",name:"claim_balance",inputs:[{name:"_token",type:"address"}],outputs:[{name:"",type:"bool"}]},{stateMutability:"nonpayable",type:"function",name:"set_killed",inputs:[{name:"_is_killed",type:"bool"}],outputs:[{name:"",type:"bool"}]},{stateMutability:"view",type:"function",name:"registry",inputs:[],outputs:[{name:"",type:"address"}]},{stateMutability:"view",type:"function",name:"factory_registry",inputs:[],outputs:[{name:"",type:"address"}]},{stateMutability:"view",type:"function",name:"crypto_registry",inputs:[],outputs:[{name:"",type:"address"}]},{stateMutability:"view",type:"function",name:"default_calculator",inputs:[],outputs:[{name:"",type:"address"}]},{stateMutability:"view",type:"function",name:"is_killed",inputs:[],outputs:[{name:"",type:"bool"}]}],exports.HIRO_ROUTER_ABIS=r,exports.chainlist=n,exports.diffTokenLists=c,exports.getChain=function(e){return n.chains.find((function(t){return t.chainId===e}))},exports.getFaucetAddress=function(e){return o.faucets.find((function(t){return t.token.toLowerCase()===e.address.toLowerCase()&&t.chainId===e.chainId}))},exports.getLatestRouter=function(e){var t=p(e).sort((function(e,t){return Date.parse(e.timestamp)-Date.parse(t.timestamp)}));return t[t.length-1]},exports.getRouter=function(e,t){return s.routers.find((function(a){return a.chainId===e&&a.version===t}))},exports.getRouters=p,exports.getShortNames=function(){return n.chains.map((function(e){return e.shortName}))},exports.getTokenByAddress=function(e,t){var n;return null!=(n=a.tokens.find((function(a){return a.address.toLowerCase()===e.toLowerCase()&&(!t||a.chainId===t)})))?n:null},exports.getTokenBySymbol=function(e,t){var n;return null!=(n=a.tokens.find((function(a){return a.symbol===e&&(!t||a.chainId===t)})))?n:null},exports.getTokens=function(e){return a.tokens.filter((function(t){return t.chainId===e}))},exports.getVersionUpgrade=function(e,t){return t.major>e.major?exports.VersionUpgrade.MAJOR:t.major<e.major?exports.VersionUpgrade.NONE:t.minor>e.minor?exports.VersionUpgrade.MINOR:t.minor<e.minor?exports.VersionUpgrade.NONE:t.patch>e.patch?exports.VersionUpgrade.PATCH:exports.VersionUpgrade.NONE},exports.isVersionUpdate=function(e,t){return d(e,t)<0},exports.minVersionBump=function(e,t){var a=c(e,t);return a.removed.length>0?exports.VersionUpgrade.MAJOR:a.added.length>0?exports.VersionUpgrade.MINOR:Object.keys(a.changed).length>0?exports.VersionUpgrade.PATCH:exports.VersionUpgrade.NONE},exports.nextVersion=function(e,t){switch(t){case exports.VersionUpgrade.NONE:return e;case exports.VersionUpgrade.MAJOR:return{major:e.major+1,minor:0,patch:0};case exports.VersionUpgrade.MINOR:return{major:e.major,minor:e.minor+1,patch:0};case exports.VersionUpgrade.PATCH:return{major:e.major,minor:e.minor,patch:e.patch+1}}},exports.routerlist=s,exports.tokenlist=a,exports.tokenschema=a,exports.versionComparator=d;
|
|
2
2
|
//# sourceMappingURL=tokenlists.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenlists.cjs.production.min.js","sources":["../src/types.ts","../src/getVersionUpgrade.ts","../src/abis.ts","../src/versionComparator.ts","../src/diffTokenLists.ts","../src/index.ts","../src/isVersionUpdate.ts","../src/minVersionBump.ts","../src/nextVersion.ts"],"sourcesContent":["type ExtensionValue = string | number | boolean | null | undefined;\n\nexport enum TokenListTagNames {\n // Networks\n MAINNET = 'Mainnet',\n OPTIMISM = 'Optimism',\n ARBITRUM = 'Arbitrum',\n AVALANCHE = 'Avalanche',\n TESTNET = 'TESTNET',\n\n // Coin/currency\n STABLECOIN = 'Stablecoin',\n USD = 'USD',\n EUR = 'EUR',\n\n // Misc\n TOP_10 = 'Top10',\n NATIVE_TOKEN = 'Native Token',\n}\n\nexport interface RouterInfo {\n readonly chainId: number;\n readonly address: string;\n readonly timestamp: string;\n readonly version: string;\n readonly fee: string;\n}\n\nexport interface TestnetFaucetInfo {\n readonly chainId: number;\n readonly address: string;\n readonly token: string;\n}\n\nexport interface ChainInfo {\n readonly chainId: number;\n readonly chainName: string;\n // shortName is the EIP3770 short name\n // chain details can be found here: https://github.com/ethereum-lists/chains/tree/master/_data/chains\n readonly shortName: string;\n readonly logoUri: string;\n readonly explorerUrl: string;\n readonly rpcUrls: string[];\n readonly wrappedNativeToken: string;\n readonly feeTreasury?: string;\n readonly testnet: boolean;\n readonly priceFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly tokenFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly curveRouterAddress?: string;\n}\n\nexport interface TokenInfo {\n readonly chainId: number;\n readonly address: string;\n readonly name: string;\n readonly decimals: number;\n readonly symbol: string;\n readonly coinGeckoId?: string;\n readonly currency?: string;\n readonly logoUri?: string;\n readonly tags?: TokenListTagNames[];\n readonly extensions?: {\n readonly [key: string]:\n | {\n [key: string]:\n | {\n [key: string]: ExtensionValue;\n }\n | ExtensionValue;\n }\n | ExtensionValue;\n };\n}\n\nexport interface Version {\n readonly major: number;\n readonly minor: number;\n readonly patch: number;\n}\n\nexport interface TokenList {\n readonly name: string;\n readonly timestamp: string;\n readonly version: Version;\n readonly tokens: TokenInfo[];\n readonly keywords?: string[];\n readonly tags?: any;\n readonly logoUri?: string;\n}\n","import { Version } from \"./types\";\n\n/**\n * Enum describing types of version differences\n */\nexport enum VersionUpgrade {\n NONE,\n PATCH,\n MINOR,\n MAJOR,\n}\n\n/**\n * Return the upgrade type from the base version to the update version.\n * Note that downgrades and equivalent versions are both treated as `NONE`.\n * @param base base list\n * @param update update to the list\n */\nexport function getVersionUpgrade(\n base: Version,\n update: Version\n): VersionUpgrade {\n if (update.major > base.major) {\n return VersionUpgrade.MAJOR;\n }\n if (update.major < base.major) {\n return VersionUpgrade.NONE;\n }\n if (update.minor > base.minor) {\n return VersionUpgrade.MINOR;\n }\n if (update.minor < base.minor) {\n return VersionUpgrade.NONE;\n }\n return update.patch > base.patch ? VersionUpgrade.PATCH : VersionUpgrade.NONE;\n}\n","import CurveRouterV13Abi from \"./abis/curverouterv13.abi.json\";\nimport HiroRouterV01 from \"./abis/HiroRouterV0.1.abi.json\";\nimport HiroRouterV02 from \"./abis/HiroRouterV0.2.abi.json\";\n\nexport const HIRO_ROUTER_ABIS: { [key: string]: any} = {\n \"0.1\": HiroRouterV01,\n \"0.2\": HiroRouterV02,\n \"test\": HiroRouterV02\n}\nexport const CURVE_ROUTER_ABI = CurveRouterV13Abi;\n","import { Version } from \"./types\";\n\n/**\n * Comparator function that allows sorting version from lowest to highest\n * @param versionA version A to compare\n * @param versionB version B to compare\n * @returns -1 if versionA comes before versionB, 0 if versionA is equal to version B, and 1 if version A comes after version B\n */\nexport function versionComparator(\n versionA: Version,\n versionB: Version\n): -1 | 0 | 1 {\n if (versionA.major < versionB.major) {\n return -1;\n } else if (versionA.major > versionB.major) {\n return 1;\n } else if (versionA.minor < versionB.minor) {\n return -1;\n } else if (versionA.minor > versionB.minor) {\n return 1;\n } else if (versionA.patch < versionB.patch) {\n return -1;\n } else if (versionA.patch > versionB.patch) {\n return 1;\n } else {\n return 0;\n }\n}\n","import { TokenInfo } from \"./types\";\n\nexport type TokenInfoChangeKey = Exclude<\n keyof TokenInfo,\n \"address\" | \"chainId\"\n>;\nexport type TokenInfoChanges = Array<TokenInfoChangeKey>;\n\n/**\n * compares two token info key values\n * this subset of full deep equal functionality does not work on objects or object arrays\n * @param a comparison item a\n * @param b comparison item b\n */\nfunction compareTokenInfoProperty(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (typeof a !== typeof b) return false;\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.every((el, i) => b[i] === el);\n }\n return false;\n}\n\n/**\n * Differences between a base list and an updated list.\n */\nexport interface TokenListDiff {\n /**\n * Tokens from updated with chainId/address not present in base list\n */\n readonly added: TokenInfo[];\n /**\n * Tokens from base with chainId/address not present in the updated list\n */\n readonly removed: TokenInfo[];\n /**\n * The token info that changed\n */\n readonly changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n}\n\n/**\n * Computes the diff of a token list where the first argument is the base and the second argument is the updated list.\n * @param base base list\n * @param update updated list\n */\nexport function diffTokenLists(\n base: TokenInfo[],\n update: TokenInfo[]\n): TokenListDiff {\n const indexedBase = base.reduce<{\n [chainId: number]: { [address: string]: TokenInfo };\n }>((memo, tokenInfo) => {\n if (!memo[tokenInfo.chainId]) memo[tokenInfo.chainId] = {};\n memo[tokenInfo.chainId][tokenInfo.address] = tokenInfo;\n return memo;\n }, {});\n\n const newListUpdates = update.reduce<{\n added: TokenInfo[];\n changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n index: {\n [chainId: number]: {\n [address: string]: true;\n };\n };\n }>(\n (memo, tokenInfo) => {\n const baseToken = indexedBase[tokenInfo.chainId]?.[tokenInfo.address];\n if (!baseToken) {\n memo.added.push(tokenInfo);\n } else {\n const changes: TokenInfoChanges = Object.keys(tokenInfo)\n .filter(\n (s): s is TokenInfoChangeKey => s !== \"address\" && s !== \"chainId\"\n )\n .filter((s) => {\n return !compareTokenInfoProperty(tokenInfo[s], baseToken[s]);\n });\n if (changes.length > 0) {\n if (!memo.changed[tokenInfo.chainId]) {\n memo.changed[tokenInfo.chainId] = {};\n }\n memo.changed[tokenInfo.chainId][tokenInfo.address] = changes;\n }\n }\n\n if (!memo.index[tokenInfo.chainId]) {\n memo.index[tokenInfo.chainId] = {\n [tokenInfo.address]: true,\n };\n } else {\n memo.index[tokenInfo.chainId][tokenInfo.address] = true;\n }\n\n return memo;\n },\n { added: [], changed: {}, index: {} }\n );\n\n const removed = base.reduce<TokenInfo[]>((list, curr) => {\n if (\n !newListUpdates.index[curr.chainId] ||\n !newListUpdates.index[curr.chainId][curr.address]\n ) {\n list.push(curr);\n }\n return list;\n }, []);\n\n return {\n added: newListUpdates.added,\n changed: newListUpdates.changed,\n removed,\n };\n}\n","import tokenlist from './tokenlist-v1.json';\nimport chainlist from './chainlist-v1.json';\nimport routerlist from './routerlist-v1.json';\nimport tokenschema from './tokenlist-v1.json';\nimport testnetfaucets from './testnet-faucets-v1.json';\nimport { ChainInfo, RouterInfo, TokenInfo, TestnetFaucetInfo } from './types';\n\nexport * from './abis';\nexport * from './types';\nexport * from './isVersionUpdate';\nexport * from './getVersionUpgrade';\nexport * from './diffTokenLists';\nexport * from './minVersionBump';\nexport * from './nextVersion';\nexport * from './versionComparator';\n\nexport { tokenschema, tokenlist, chainlist, routerlist };\n\nexport function getChain(chainId: number): ChainInfo {\n return chainlist.chains.find((needle: any) => {\n return needle.chainId === chainId;\n }) as ChainInfo;\n}\n\nexport function getTokenByAddress(\n tokenAddress: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.address.toLowerCase() === tokenAddress.toLowerCase() &&\n (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokenBySymbol(\n tokenSymbol: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.symbol === tokenSymbol && (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokens(chainId: number): TokenInfo[] {\n return tokenlist.tokens.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as TokenInfo[];\n}\n\nexport function getFaucetAddress(tokenInfo: TokenInfo): TestnetFaucetInfo {\n return testnetfaucets.faucets.find((needle: any) => {\n return (\n needle.token.toLowerCase() === tokenInfo.address.toLowerCase() &&\n needle.chainId === tokenInfo.chainId\n );\n }) as TestnetFaucetInfo;\n}\n\nexport function getRouters(chainId: number): RouterInfo[] {\n return routerlist.routers.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as RouterInfo[];\n}\n\nexport function getRouter(chainId: number, version: string): RouterInfo {\n return routerlist.routers.find((needle: any) => {\n return needle.chainId === chainId && needle.version === version;\n }) as RouterInfo;\n}\n\nexport function getLatestRouter(chainId: number): RouterInfo {\n const sorted = getRouters(chainId).sort((a, b) => {\n return Date.parse(a.timestamp) - Date.parse(b.timestamp);\n });\n return sorted[sorted.length - 1];\n}\n\nexport function getShortNames(): string[] {\n return chainlist.chains.map(chain => chain.shortName);\n}\n","import { versionComparator } from './versionComparator';\nimport { Version } from './types';\n\n/**\n * Returns true if versionB is an update over versionA\n */\nexport function isVersionUpdate(base: Version, update: Version): boolean {\n return versionComparator(base, update) < 0;\n}","import { diffTokenLists } from \"./diffTokenLists\";\nimport { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { TokenInfo } from \"./types\";\n\n/**\n * Returns the minimum version bump for the given list\n * @param baseList the base list of tokens\n * @param updatedList the updated list of tokens\n */\nexport function minVersionBump(\n baseList: TokenInfo[],\n updatedList: TokenInfo[]\n): VersionUpgrade {\n const diff = diffTokenLists(baseList, updatedList);\n if (diff.removed.length > 0) return VersionUpgrade.MAJOR;\n if (diff.added.length > 0) return VersionUpgrade.MINOR;\n if (Object.keys(diff.changed).length > 0) return VersionUpgrade.PATCH;\n return VersionUpgrade.NONE;\n}\n","import { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { Version } from \"./types\";\n\n/**\n * Returns the next version of the list given a base version and the upgrade type\n * @param base current version\n * @param bump the upgrade type\n */\nexport function nextVersion(base: Version, bump: VersionUpgrade): Version {\n switch (bump) {\n case VersionUpgrade.NONE:\n return base;\n\n case VersionUpgrade.MAJOR:\n return { major: base.major + 1, minor: 0, patch: 0 };\n\n case VersionUpgrade.MINOR:\n return {\n major: base.major,\n minor: base.minor + 1,\n patch: 0,\n };\n\n case VersionUpgrade.PATCH:\n return {\n major: base.major,\n minor: base.minor,\n patch: base.patch + 1,\n };\n }\n}\n"],"names":["TokenListTagNames","VersionUpgrade","HIRO_ROUTER_ABIS","0.1","0.2","HiroRouterV02","test","versionComparator","versionA","versionB","major","minor","patch","diffTokenLists","base","update","indexedBase","reduce","memo","tokenInfo","chainId","address","newListUpdates","baseToken","_indexedBase$tokenInf","changes","Object","keys","filter","s","a","b","Array","isArray","every","el","i","length","changed","added","push","index","removed","list","curr","getRouters","routerlist","routers","needle","chainlist","chains","find","testnetfaucets","faucets","token","toLowerCase","sorted","sort","Date","parse","timestamp","version","map","chain","shortName","tokenAddress","tokenlist","tokens","tokenSymbol","symbol","MAJOR","NONE","MINOR","PATCH","baseList","updatedList","diff","bump"],"mappings":"wEAEYA,ECGAC,0mwBCDCC,EAA0C,CACrDC,2uDACAC,GAAOC,EACPC,KAAQD,YCCME,EACdC,EACAC,GAEA,OAAID,EAASE,MAAQD,EAASC,OACpB,EACCF,EAASE,MAAQD,EAASC,MAC5B,EACEF,EAASG,MAAQF,EAASE,OAC3B,EACCH,EAASG,MAAQF,EAASE,MAC5B,EACEH,EAASI,MAAQH,EAASG,OAC3B,EACCJ,EAASI,MAAQH,EAASG,MAC5B,EAEA,WCyBKC,EACdC,EACAC,GAEA,IAAMC,EAAcF,EAAKG,QAEtB,SAACC,EAAMC,GAGR,OAFKD,EAAKC,EAAUC,WAAUF,EAAKC,EAAUC,SAAW,IACxDF,EAAKC,EAAUC,SAASD,EAAUE,SAAWF,EACtCD,IACN,IAEGI,EAAiBP,EAAOE,QAa5B,SAACC,EAAMC,WACCI,WAAYP,EAAYG,EAAUC,iBAAtBI,EAAiCL,EAAUE,SAC7D,GAAKE,EAEE,CACL,IAAME,EAA4BC,OAAOC,KAAKR,GAC3CS,QACC,SAACC,GAAD,MAAsC,YAANA,GAAyB,YAANA,KAEpDD,QAAO,SAACC,GACP,SAvEsBC,EAuEWX,EAAUU,OAvETE,EAuEaR,EAAUM,YArExDC,UAAaC,GACpBC,MAAMC,QAAQH,IAAME,MAAMC,QAAQF,IAC7BD,EAAEI,OAAM,SAACC,EAAIC,GAAL,OAAWL,EAAEK,KAAOD,MAJvC,IAAkCL,EAAYC,KAyElCN,EAAQY,OAAS,IACdnB,EAAKoB,QAAQnB,EAAUC,WAC1BF,EAAKoB,QAAQnB,EAAUC,SAAW,IAEpCF,EAAKoB,QAAQnB,EAAUC,SAASD,EAAUE,SAAWI,QAbvDP,EAAKqB,MAAMC,KAAKrB,GAyBlB,OARKD,EAAKuB,MAAMtB,EAAUC,SAKxBF,EAAKuB,MAAMtB,EAAUC,SAASD,EAAUE,UAAW,EAJnDH,EAAKuB,MAAMtB,EAAUC,iBAClBD,EAAUE,UAAU,KAMlBH,IAET,CAAEqB,MAAO,GAAID,QAAS,GAAIG,MAAO,KAG7BC,EAAU5B,EAAKG,QAAoB,SAAC0B,EAAMC,GAO9C,OALGtB,EAAemB,MAAMG,EAAKxB,UAC1BE,EAAemB,MAAMG,EAAKxB,SAASwB,EAAKvB,UAEzCsB,EAAKH,KAAKI,GAELD,IACN,IAEH,MAAO,CACLJ,MAAOjB,EAAeiB,MACtBD,QAAShB,EAAegB,QACxBI,QAAAA,YCvDYG,EAAWzB,GACzB,OAAO0B,EAAWC,QAAQnB,QAAO,SAACoB,GAChC,OAAOA,EAAO5B,UAAYA,MLlElBpB,EAAAA,4BAAAA,iDAGVA,sBACAA,sBACAA,wBACAA,oBAGAA,0BACAA,YACAA,YAGAA,iBACAA,+BCZUC,EAAAA,yBAAAA,6CAEVA,qBACAA,qBACAA,igMISuBmB,GACvB,OAAO6B,EAAUC,OAAOC,MAAK,SAACH,GAC5B,OAAOA,EAAO5B,UAAYA,wCAqCGD,GAC/B,OAAOiC,EAAeC,QAAQF,MAAK,SAACH,GAClC,OACEA,EAAOM,MAAMC,gBAAkBpC,EAAUE,QAAQkC,eACjDP,EAAO5B,UAAYD,EAAUC,6CAiBHA,GAC9B,IAAMoC,EAASX,EAAWzB,GAASqC,MAAK,SAAC3B,EAAGC,GAC1C,OAAO2B,KAAKC,MAAM7B,EAAE8B,WAAaF,KAAKC,MAAM5B,EAAE6B,cAEhD,OAAOJ,EAAOA,EAAOnB,OAAS,+BAVNjB,EAAiByC,GACzC,OAAOf,EAAWC,QAAQI,MAAK,SAACH,GAC9B,OAAOA,EAAO5B,UAAYA,GAAW4B,EAAOa,UAAYA,iDAW5D,WACE,OAAOZ,EAAUC,OAAOY,KAAI,SAAAC,GAAK,OAAIA,EAAMC,iDA7D3CC,EACA7C,SAEA,gBACG8C,EAAUC,OAAOhB,MAAK,SAACG,GACtB,OACEA,EAAMjC,QAAQkC,gBAAkBU,EAAaV,iBAC3CnC,GAAWkC,EAAMlC,UAAYA,SAEf,wCAKtBgD,EACAhD,SAEA,gBACG8C,EAAUC,OAAOhB,MAAK,SAACG,GACtB,OACEA,EAAMe,SAAWD,KAAiBhD,GAAWkC,EAAMlC,UAAYA,SAE/C,iCAIEA,GACxB,OAAO8C,EAAUC,OAAOvC,QAAO,SAACoB,GAC9B,OAAOA,EAAO5B,UAAYA,yCJlC5BN,EACAC,GAEA,OAAIA,EAAOL,MAAQI,EAAKJ,MACfT,uBAAeqE,MAEpBvD,EAAOL,MAAQI,EAAKJ,MACfT,uBAAesE,KAEpBxD,EAAOJ,MAAQG,EAAKH,MACfV,uBAAeuE,MAEpBzD,EAAOJ,MAAQG,EAAKH,MACfV,uBAAesE,KAEjBxD,EAAOH,MAAQE,EAAKF,MAAQX,uBAAewE,MAAQxE,uBAAesE,uCK5B3CzD,EAAeC,GAC7C,OAAOR,EAAkBO,EAAMC,GAAU,mCCGzC2D,EACAC,GAEA,IAAMC,EAAO/D,EAAe6D,EAAUC,GACtC,OAAIC,EAAKlC,QAAQL,OAAS,EAAUpC,uBAAeqE,MAC/CM,EAAKrC,MAAMF,OAAS,EAAUpC,uBAAeuE,MAC7C9C,OAAOC,KAAKiD,EAAKtC,SAASD,OAAS,EAAUpC,uBAAewE,MACzDxE,uBAAesE,mCCTIzD,EAAe+D,GACzC,OAAQA,GACN,KAAK5E,uBAAesE,KAClB,OAAOzD,EAET,KAAKb,uBAAeqE,MAClB,MAAO,CAAE5D,MAAOI,EAAKJ,MAAQ,EAAGC,MAAO,EAAGC,MAAO,GAEnD,KAAKX,uBAAeuE,MAClB,MAAO,CACL9D,MAAOI,EAAKJ,MACZC,MAAOG,EAAKH,MAAQ,EACpBC,MAAO,GAGX,KAAKX,uBAAewE,MAClB,MAAO,CACL/D,MAAOI,EAAKJ,MACZC,MAAOG,EAAKH,MACZC,MAAOE,EAAKF,MAAQ"}
|
|
1
|
+
{"version":3,"file":"tokenlists.cjs.production.min.js","sources":["../src/types.ts","../src/getVersionUpgrade.ts","../src/abis.ts","../src/versionComparator.ts","../src/diffTokenLists.ts","../src/index.ts","../src/isVersionUpdate.ts","../src/minVersionBump.ts","../src/nextVersion.ts"],"sourcesContent":["type ExtensionValue = string | number | boolean | null | undefined;\n\nexport enum TokenListTagNames {\n // Networks\n MAINNET = 'Mainnet',\n OPTIMISM = 'Optimism',\n ARBITRUM = 'Arbitrum',\n AVALANCHE = 'Avalanche',\n BASE = 'Base',\n TESTNET = 'TESTNET',\n\n // Coin/currency\n STABLECOIN = 'Stablecoin',\n USD = 'USD',\n EUR = 'EUR',\n\n // Misc\n TOP_10 = 'Top10',\n NATIVE_TOKEN = 'Native Token',\n}\n\nexport interface RouterInfo {\n readonly chainId: number;\n readonly address: string;\n readonly timestamp: string;\n readonly version: string;\n readonly fee: string;\n}\n\nexport interface TestnetFaucetInfo {\n readonly chainId: number;\n readonly address: string;\n readonly token: string;\n}\n\nexport interface ChainInfo {\n readonly chainId: number;\n readonly chainName: string;\n // shortName is the EIP3770 short name\n // chain details can be found here: https://github.com/ethereum-lists/chains/tree/master/_data/chains\n readonly shortName: string;\n readonly logoUri: string;\n readonly explorerUrl: string;\n readonly rpcUrls: string[];\n readonly wrappedNativeToken: string;\n readonly feeTreasury?: string;\n readonly testnet: boolean;\n readonly priceFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly tokenFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly curveRouterAddress?: string;\n}\n\nexport interface TokenInfo {\n readonly chainId: number;\n readonly address: string;\n readonly name: string;\n readonly decimals: number;\n readonly symbol: string;\n readonly coinGeckoId?: string;\n readonly currency?: string;\n readonly logoUri?: string;\n readonly tags?: TokenListTagNames[];\n readonly extensions?: {\n readonly [key: string]:\n | {\n [key: string]:\n | {\n [key: string]: ExtensionValue;\n }\n | ExtensionValue;\n }\n | ExtensionValue;\n };\n}\n\nexport interface Version {\n readonly major: number;\n readonly minor: number;\n readonly patch: number;\n}\n\nexport interface TokenList {\n readonly name: string;\n readonly timestamp: string;\n readonly version: Version;\n readonly tokens: TokenInfo[];\n readonly keywords?: string[];\n readonly tags?: any;\n readonly logoUri?: string;\n}\n","import { Version } from \"./types\";\n\n/**\n * Enum describing types of version differences\n */\nexport enum VersionUpgrade {\n NONE,\n PATCH,\n MINOR,\n MAJOR,\n}\n\n/**\n * Return the upgrade type from the base version to the update version.\n * Note that downgrades and equivalent versions are both treated as `NONE`.\n * @param base base list\n * @param update update to the list\n */\nexport function getVersionUpgrade(\n base: Version,\n update: Version\n): VersionUpgrade {\n if (update.major > base.major) {\n return VersionUpgrade.MAJOR;\n }\n if (update.major < base.major) {\n return VersionUpgrade.NONE;\n }\n if (update.minor > base.minor) {\n return VersionUpgrade.MINOR;\n }\n if (update.minor < base.minor) {\n return VersionUpgrade.NONE;\n }\n return update.patch > base.patch ? VersionUpgrade.PATCH : VersionUpgrade.NONE;\n}\n","import CurveRouterV13Abi from \"./abis/curverouterv13.abi.json\";\nimport HiroRouterV01 from \"./abis/HiroRouterV0.1.abi.json\";\nimport HiroRouterV02 from \"./abis/HiroRouterV0.2.abi.json\";\n\nexport const HIRO_ROUTER_ABIS: { [key: string]: any} = {\n \"0.1\": HiroRouterV01,\n \"0.2\": HiroRouterV02,\n \"test\": HiroRouterV02\n}\nexport const CURVE_ROUTER_ABI = CurveRouterV13Abi;\n","import { Version } from \"./types\";\n\n/**\n * Comparator function that allows sorting version from lowest to highest\n * @param versionA version A to compare\n * @param versionB version B to compare\n * @returns -1 if versionA comes before versionB, 0 if versionA is equal to version B, and 1 if version A comes after version B\n */\nexport function versionComparator(\n versionA: Version,\n versionB: Version\n): -1 | 0 | 1 {\n if (versionA.major < versionB.major) {\n return -1;\n } else if (versionA.major > versionB.major) {\n return 1;\n } else if (versionA.minor < versionB.minor) {\n return -1;\n } else if (versionA.minor > versionB.minor) {\n return 1;\n } else if (versionA.patch < versionB.patch) {\n return -1;\n } else if (versionA.patch > versionB.patch) {\n return 1;\n } else {\n return 0;\n }\n}\n","import { TokenInfo } from \"./types\";\n\nexport type TokenInfoChangeKey = Exclude<\n keyof TokenInfo,\n \"address\" | \"chainId\"\n>;\nexport type TokenInfoChanges = Array<TokenInfoChangeKey>;\n\n/**\n * compares two token info key values\n * this subset of full deep equal functionality does not work on objects or object arrays\n * @param a comparison item a\n * @param b comparison item b\n */\nfunction compareTokenInfoProperty(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (typeof a !== typeof b) return false;\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.every((el, i) => b[i] === el);\n }\n return false;\n}\n\n/**\n * Differences between a base list and an updated list.\n */\nexport interface TokenListDiff {\n /**\n * Tokens from updated with chainId/address not present in base list\n */\n readonly added: TokenInfo[];\n /**\n * Tokens from base with chainId/address not present in the updated list\n */\n readonly removed: TokenInfo[];\n /**\n * The token info that changed\n */\n readonly changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n}\n\n/**\n * Computes the diff of a token list where the first argument is the base and the second argument is the updated list.\n * @param base base list\n * @param update updated list\n */\nexport function diffTokenLists(\n base: TokenInfo[],\n update: TokenInfo[]\n): TokenListDiff {\n const indexedBase = base.reduce<{\n [chainId: number]: { [address: string]: TokenInfo };\n }>((memo, tokenInfo) => {\n if (!memo[tokenInfo.chainId]) memo[tokenInfo.chainId] = {};\n memo[tokenInfo.chainId][tokenInfo.address] = tokenInfo;\n return memo;\n }, {});\n\n const newListUpdates = update.reduce<{\n added: TokenInfo[];\n changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n index: {\n [chainId: number]: {\n [address: string]: true;\n };\n };\n }>(\n (memo, tokenInfo) => {\n const baseToken = indexedBase[tokenInfo.chainId]?.[tokenInfo.address];\n if (!baseToken) {\n memo.added.push(tokenInfo);\n } else {\n const changes: TokenInfoChanges = Object.keys(tokenInfo)\n .filter(\n (s): s is TokenInfoChangeKey => s !== \"address\" && s !== \"chainId\"\n )\n .filter((s) => {\n return !compareTokenInfoProperty(tokenInfo[s], baseToken[s]);\n });\n if (changes.length > 0) {\n if (!memo.changed[tokenInfo.chainId]) {\n memo.changed[tokenInfo.chainId] = {};\n }\n memo.changed[tokenInfo.chainId][tokenInfo.address] = changes;\n }\n }\n\n if (!memo.index[tokenInfo.chainId]) {\n memo.index[tokenInfo.chainId] = {\n [tokenInfo.address]: true,\n };\n } else {\n memo.index[tokenInfo.chainId][tokenInfo.address] = true;\n }\n\n return memo;\n },\n { added: [], changed: {}, index: {} }\n );\n\n const removed = base.reduce<TokenInfo[]>((list, curr) => {\n if (\n !newListUpdates.index[curr.chainId] ||\n !newListUpdates.index[curr.chainId][curr.address]\n ) {\n list.push(curr);\n }\n return list;\n }, []);\n\n return {\n added: newListUpdates.added,\n changed: newListUpdates.changed,\n removed,\n };\n}\n","import tokenlist from './tokenlist-v1.json';\nimport chainlist from './chainlist-v1.json';\nimport routerlist from './routerlist-v1.json';\nimport tokenschema from './tokenlist-v1.json';\nimport testnetfaucets from './testnet-faucets-v1.json';\nimport { ChainInfo, RouterInfo, TokenInfo, TestnetFaucetInfo } from './types';\n\nexport * from './abis';\nexport * from './types';\nexport * from './isVersionUpdate';\nexport * from './getVersionUpgrade';\nexport * from './diffTokenLists';\nexport * from './minVersionBump';\nexport * from './nextVersion';\nexport * from './versionComparator';\n\nexport { tokenschema, tokenlist, chainlist, routerlist };\n\nexport function getChain(chainId: number): ChainInfo {\n return chainlist.chains.find((needle: any) => {\n return needle.chainId === chainId;\n }) as ChainInfo;\n}\n\nexport function getTokenByAddress(\n tokenAddress: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.address.toLowerCase() === tokenAddress.toLowerCase() &&\n (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokenBySymbol(\n tokenSymbol: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.symbol === tokenSymbol && (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokens(chainId: number): TokenInfo[] {\n return tokenlist.tokens.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as TokenInfo[];\n}\n\nexport function getFaucetAddress(tokenInfo: TokenInfo): TestnetFaucetInfo {\n return testnetfaucets.faucets.find((needle: any) => {\n return (\n needle.token.toLowerCase() === tokenInfo.address.toLowerCase() &&\n needle.chainId === tokenInfo.chainId\n );\n }) as TestnetFaucetInfo;\n}\n\nexport function getRouters(chainId: number): RouterInfo[] {\n return routerlist.routers.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as RouterInfo[];\n}\n\nexport function getRouter(chainId: number, version: string): RouterInfo {\n return routerlist.routers.find((needle: any) => {\n return needle.chainId === chainId && needle.version === version;\n }) as RouterInfo;\n}\n\nexport function getLatestRouter(chainId: number): RouterInfo {\n const sorted = getRouters(chainId).sort((a, b) => {\n return Date.parse(a.timestamp) - Date.parse(b.timestamp);\n });\n return sorted[sorted.length - 1];\n}\n\nexport function getShortNames(): string[] {\n return chainlist.chains.map(chain => chain.shortName);\n}\n","import { versionComparator } from './versionComparator';\nimport { Version } from './types';\n\n/**\n * Returns true if versionB is an update over versionA\n */\nexport function isVersionUpdate(base: Version, update: Version): boolean {\n return versionComparator(base, update) < 0;\n}","import { diffTokenLists } from \"./diffTokenLists\";\nimport { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { TokenInfo } from \"./types\";\n\n/**\n * Returns the minimum version bump for the given list\n * @param baseList the base list of tokens\n * @param updatedList the updated list of tokens\n */\nexport function minVersionBump(\n baseList: TokenInfo[],\n updatedList: TokenInfo[]\n): VersionUpgrade {\n const diff = diffTokenLists(baseList, updatedList);\n if (diff.removed.length > 0) return VersionUpgrade.MAJOR;\n if (diff.added.length > 0) return VersionUpgrade.MINOR;\n if (Object.keys(diff.changed).length > 0) return VersionUpgrade.PATCH;\n return VersionUpgrade.NONE;\n}\n","import { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { Version } from \"./types\";\n\n/**\n * Returns the next version of the list given a base version and the upgrade type\n * @param base current version\n * @param bump the upgrade type\n */\nexport function nextVersion(base: Version, bump: VersionUpgrade): Version {\n switch (bump) {\n case VersionUpgrade.NONE:\n return base;\n\n case VersionUpgrade.MAJOR:\n return { major: base.major + 1, minor: 0, patch: 0 };\n\n case VersionUpgrade.MINOR:\n return {\n major: base.major,\n minor: base.minor + 1,\n patch: 0,\n };\n\n case VersionUpgrade.PATCH:\n return {\n major: base.major,\n minor: base.minor,\n patch: base.patch + 1,\n };\n }\n}\n"],"names":["TokenListTagNames","VersionUpgrade","HIRO_ROUTER_ABIS","0.1","0.2","HiroRouterV02","test","versionComparator","versionA","versionB","major","minor","patch","diffTokenLists","base","update","indexedBase","reduce","memo","tokenInfo","chainId","address","newListUpdates","baseToken","_indexedBase$tokenInf","changes","Object","keys","filter","s","a","b","Array","isArray","every","el","i","length","changed","added","push","index","removed","list","curr","getRouters","routerlist","routers","needle","chainlist","chains","find","testnetfaucets","faucets","token","toLowerCase","sorted","sort","Date","parse","timestamp","version","map","chain","shortName","tokenAddress","tokenlist","tokens","tokenSymbol","symbol","MAJOR","NONE","MINOR","PATCH","baseList","updatedList","diff","bump"],"mappings":"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"}
|
package/dist/tokenlists.esm.js
CHANGED
|
@@ -50,6 +50,20 @@ var tokens = [
|
|
|
50
50
|
],
|
|
51
51
|
address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
|
|
52
52
|
},
|
|
53
|
+
{
|
|
54
|
+
chainId: 8453,
|
|
55
|
+
coinGeckoId: "ethereum",
|
|
56
|
+
name: "Ether",
|
|
57
|
+
symbol: "ETH",
|
|
58
|
+
logoUri: "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/ETH.svg",
|
|
59
|
+
decimals: 18,
|
|
60
|
+
tags: [
|
|
61
|
+
"Base",
|
|
62
|
+
"Native Token",
|
|
63
|
+
"Top10"
|
|
64
|
+
],
|
|
65
|
+
address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
|
|
66
|
+
},
|
|
53
67
|
{
|
|
54
68
|
chainId: 1,
|
|
55
69
|
coinGeckoId: "weth",
|
|
@@ -89,6 +103,19 @@ var tokens = [
|
|
|
89
103
|
],
|
|
90
104
|
address: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"
|
|
91
105
|
},
|
|
106
|
+
{
|
|
107
|
+
chainId: 8453,
|
|
108
|
+
coinGeckoId: "weth",
|
|
109
|
+
name: "Wrapped Ether",
|
|
110
|
+
symbol: "WETH",
|
|
111
|
+
logoUri: "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/WETH.svg",
|
|
112
|
+
decimals: 18,
|
|
113
|
+
tags: [
|
|
114
|
+
"Base",
|
|
115
|
+
"Native Token"
|
|
116
|
+
],
|
|
117
|
+
address: "0x4200000000000000000000000000000000000006"
|
|
118
|
+
},
|
|
92
119
|
{
|
|
93
120
|
chainId: 1,
|
|
94
121
|
coinGeckoId: "tether",
|
|
@@ -185,6 +212,22 @@ var tokens = [
|
|
|
185
212
|
],
|
|
186
213
|
address: "0x0b2c639c533813f4aa9d7837caf62653d097ff85"
|
|
187
214
|
},
|
|
215
|
+
{
|
|
216
|
+
chainId: 8453,
|
|
217
|
+
coinGeckoId: "usd-coin",
|
|
218
|
+
name: "USD Coin",
|
|
219
|
+
symbol: "USDC",
|
|
220
|
+
currency: "USD",
|
|
221
|
+
logoUri: "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/tokens/USDC.svg",
|
|
222
|
+
decimals: 6,
|
|
223
|
+
tags: [
|
|
224
|
+
"Base",
|
|
225
|
+
"Stablecoin",
|
|
226
|
+
"Top10",
|
|
227
|
+
"USD"
|
|
228
|
+
],
|
|
229
|
+
address: "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
|
|
230
|
+
},
|
|
188
231
|
{
|
|
189
232
|
chainId: 42161,
|
|
190
233
|
coinGeckoId: "usd-coin",
|
|
@@ -748,6 +791,28 @@ var chains = [
|
|
|
748
791
|
},
|
|
749
792
|
curveRouterAddress: "0xe6358f6a45b502477e83cc1cda759f540e4459ee"
|
|
750
793
|
},
|
|
794
|
+
{
|
|
795
|
+
chainName: "Base",
|
|
796
|
+
shortName: "base",
|
|
797
|
+
testnet: false,
|
|
798
|
+
chainId: 8453,
|
|
799
|
+
logoUri: "https://raw.githubusercontent.com/yodlpay/tokenlists/main/logos/chains/8453/logo.png",
|
|
800
|
+
rpcUrls: [
|
|
801
|
+
"https://mainnet.base.org"
|
|
802
|
+
],
|
|
803
|
+
wrappedNativeToken: "0x4200000000000000000000000000000000000006",
|
|
804
|
+
explorerUrl: "https://basescan.org",
|
|
805
|
+
timestamp: "2024-06-17T14:52:05+00:00",
|
|
806
|
+
feeTreasury: "0x46959a8a332eca1a05Bd4F18115b8F2E1C2F2f05",
|
|
807
|
+
priceFeeds: {
|
|
808
|
+
BRL: "0x0b0E64c05083FdF9ED7C5D3d8262c4216eFc9394",
|
|
809
|
+
EUR: "0xc91D87E81faB8f93699ECf7Ee9B44D11e1D53F0F"
|
|
810
|
+
},
|
|
811
|
+
tokenFeeds: {
|
|
812
|
+
ETH: "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70"
|
|
813
|
+
},
|
|
814
|
+
curveRouterAddress: "0x0000000000000000000000000000000000000000"
|
|
815
|
+
},
|
|
751
816
|
{
|
|
752
817
|
chainName: "Polygon",
|
|
753
818
|
shortName: "matic",
|
|
@@ -874,6 +939,13 @@ var routers = [
|
|
|
874
939
|
timestamp: "2023-09-07T00:00:00+00:00",
|
|
875
940
|
version: "0.2",
|
|
876
941
|
fee: "0.002"
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
chainId: 8453,
|
|
945
|
+
address: "0x2BaE9Bb53BCe89c760dBfA55D854D43ab96EE19f",
|
|
946
|
+
timestamp: "2024-06-17T15:50:00+00:00",
|
|
947
|
+
version: "0.2",
|
|
948
|
+
fee: "0.002"
|
|
877
949
|
}
|
|
878
950
|
];
|
|
879
951
|
var routerlist = {
|
|
@@ -2365,6 +2437,7 @@ var TokenListTagNames;
|
|
|
2365
2437
|
TokenListTagNames["OPTIMISM"] = "Optimism";
|
|
2366
2438
|
TokenListTagNames["ARBITRUM"] = "Arbitrum";
|
|
2367
2439
|
TokenListTagNames["AVALANCHE"] = "Avalanche";
|
|
2440
|
+
TokenListTagNames["BASE"] = "Base";
|
|
2368
2441
|
TokenListTagNames["TESTNET"] = "TESTNET"; // Coin/currency
|
|
2369
2442
|
|
|
2370
2443
|
TokenListTagNames["STABLECOIN"] = "Stablecoin";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenlists.esm.js","sources":["../src/abis.ts","../src/types.ts","../src/versionComparator.ts","../src/isVersionUpdate.ts","../src/getVersionUpgrade.ts","../src/diffTokenLists.ts","../src/minVersionBump.ts","../src/nextVersion.ts","../src/index.ts"],"sourcesContent":["import CurveRouterV13Abi from \"./abis/curverouterv13.abi.json\";\nimport HiroRouterV01 from \"./abis/HiroRouterV0.1.abi.json\";\nimport HiroRouterV02 from \"./abis/HiroRouterV0.2.abi.json\";\n\nexport const HIRO_ROUTER_ABIS: { [key: string]: any} = {\n \"0.1\": HiroRouterV01,\n \"0.2\": HiroRouterV02,\n \"test\": HiroRouterV02\n}\nexport const CURVE_ROUTER_ABI = CurveRouterV13Abi;\n","type ExtensionValue = string | number | boolean | null | undefined;\n\nexport enum TokenListTagNames {\n // Networks\n MAINNET = 'Mainnet',\n OPTIMISM = 'Optimism',\n ARBITRUM = 'Arbitrum',\n AVALANCHE = 'Avalanche',\n TESTNET = 'TESTNET',\n\n // Coin/currency\n STABLECOIN = 'Stablecoin',\n USD = 'USD',\n EUR = 'EUR',\n\n // Misc\n TOP_10 = 'Top10',\n NATIVE_TOKEN = 'Native Token',\n}\n\nexport interface RouterInfo {\n readonly chainId: number;\n readonly address: string;\n readonly timestamp: string;\n readonly version: string;\n readonly fee: string;\n}\n\nexport interface TestnetFaucetInfo {\n readonly chainId: number;\n readonly address: string;\n readonly token: string;\n}\n\nexport interface ChainInfo {\n readonly chainId: number;\n readonly chainName: string;\n // shortName is the EIP3770 short name\n // chain details can be found here: https://github.com/ethereum-lists/chains/tree/master/_data/chains\n readonly shortName: string;\n readonly logoUri: string;\n readonly explorerUrl: string;\n readonly rpcUrls: string[];\n readonly wrappedNativeToken: string;\n readonly feeTreasury?: string;\n readonly testnet: boolean;\n readonly priceFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly tokenFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly curveRouterAddress?: string;\n}\n\nexport interface TokenInfo {\n readonly chainId: number;\n readonly address: string;\n readonly name: string;\n readonly decimals: number;\n readonly symbol: string;\n readonly coinGeckoId?: string;\n readonly currency?: string;\n readonly logoUri?: string;\n readonly tags?: TokenListTagNames[];\n readonly extensions?: {\n readonly [key: string]:\n | {\n [key: string]:\n | {\n [key: string]: ExtensionValue;\n }\n | ExtensionValue;\n }\n | ExtensionValue;\n };\n}\n\nexport interface Version {\n readonly major: number;\n readonly minor: number;\n readonly patch: number;\n}\n\nexport interface TokenList {\n readonly name: string;\n readonly timestamp: string;\n readonly version: Version;\n readonly tokens: TokenInfo[];\n readonly keywords?: string[];\n readonly tags?: any;\n readonly logoUri?: string;\n}\n","import { Version } from \"./types\";\n\n/**\n * Comparator function that allows sorting version from lowest to highest\n * @param versionA version A to compare\n * @param versionB version B to compare\n * @returns -1 if versionA comes before versionB, 0 if versionA is equal to version B, and 1 if version A comes after version B\n */\nexport function versionComparator(\n versionA: Version,\n versionB: Version\n): -1 | 0 | 1 {\n if (versionA.major < versionB.major) {\n return -1;\n } else if (versionA.major > versionB.major) {\n return 1;\n } else if (versionA.minor < versionB.minor) {\n return -1;\n } else if (versionA.minor > versionB.minor) {\n return 1;\n } else if (versionA.patch < versionB.patch) {\n return -1;\n } else if (versionA.patch > versionB.patch) {\n return 1;\n } else {\n return 0;\n }\n}\n","import { versionComparator } from './versionComparator';\nimport { Version } from './types';\n\n/**\n * Returns true if versionB is an update over versionA\n */\nexport function isVersionUpdate(base: Version, update: Version): boolean {\n return versionComparator(base, update) < 0;\n}","import { Version } from \"./types\";\n\n/**\n * Enum describing types of version differences\n */\nexport enum VersionUpgrade {\n NONE,\n PATCH,\n MINOR,\n MAJOR,\n}\n\n/**\n * Return the upgrade type from the base version to the update version.\n * Note that downgrades and equivalent versions are both treated as `NONE`.\n * @param base base list\n * @param update update to the list\n */\nexport function getVersionUpgrade(\n base: Version,\n update: Version\n): VersionUpgrade {\n if (update.major > base.major) {\n return VersionUpgrade.MAJOR;\n }\n if (update.major < base.major) {\n return VersionUpgrade.NONE;\n }\n if (update.minor > base.minor) {\n return VersionUpgrade.MINOR;\n }\n if (update.minor < base.minor) {\n return VersionUpgrade.NONE;\n }\n return update.patch > base.patch ? VersionUpgrade.PATCH : VersionUpgrade.NONE;\n}\n","import { TokenInfo } from \"./types\";\n\nexport type TokenInfoChangeKey = Exclude<\n keyof TokenInfo,\n \"address\" | \"chainId\"\n>;\nexport type TokenInfoChanges = Array<TokenInfoChangeKey>;\n\n/**\n * compares two token info key values\n * this subset of full deep equal functionality does not work on objects or object arrays\n * @param a comparison item a\n * @param b comparison item b\n */\nfunction compareTokenInfoProperty(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (typeof a !== typeof b) return false;\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.every((el, i) => b[i] === el);\n }\n return false;\n}\n\n/**\n * Differences between a base list and an updated list.\n */\nexport interface TokenListDiff {\n /**\n * Tokens from updated with chainId/address not present in base list\n */\n readonly added: TokenInfo[];\n /**\n * Tokens from base with chainId/address not present in the updated list\n */\n readonly removed: TokenInfo[];\n /**\n * The token info that changed\n */\n readonly changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n}\n\n/**\n * Computes the diff of a token list where the first argument is the base and the second argument is the updated list.\n * @param base base list\n * @param update updated list\n */\nexport function diffTokenLists(\n base: TokenInfo[],\n update: TokenInfo[]\n): TokenListDiff {\n const indexedBase = base.reduce<{\n [chainId: number]: { [address: string]: TokenInfo };\n }>((memo, tokenInfo) => {\n if (!memo[tokenInfo.chainId]) memo[tokenInfo.chainId] = {};\n memo[tokenInfo.chainId][tokenInfo.address] = tokenInfo;\n return memo;\n }, {});\n\n const newListUpdates = update.reduce<{\n added: TokenInfo[];\n changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n index: {\n [chainId: number]: {\n [address: string]: true;\n };\n };\n }>(\n (memo, tokenInfo) => {\n const baseToken = indexedBase[tokenInfo.chainId]?.[tokenInfo.address];\n if (!baseToken) {\n memo.added.push(tokenInfo);\n } else {\n const changes: TokenInfoChanges = Object.keys(tokenInfo)\n .filter(\n (s): s is TokenInfoChangeKey => s !== \"address\" && s !== \"chainId\"\n )\n .filter((s) => {\n return !compareTokenInfoProperty(tokenInfo[s], baseToken[s]);\n });\n if (changes.length > 0) {\n if (!memo.changed[tokenInfo.chainId]) {\n memo.changed[tokenInfo.chainId] = {};\n }\n memo.changed[tokenInfo.chainId][tokenInfo.address] = changes;\n }\n }\n\n if (!memo.index[tokenInfo.chainId]) {\n memo.index[tokenInfo.chainId] = {\n [tokenInfo.address]: true,\n };\n } else {\n memo.index[tokenInfo.chainId][tokenInfo.address] = true;\n }\n\n return memo;\n },\n { added: [], changed: {}, index: {} }\n );\n\n const removed = base.reduce<TokenInfo[]>((list, curr) => {\n if (\n !newListUpdates.index[curr.chainId] ||\n !newListUpdates.index[curr.chainId][curr.address]\n ) {\n list.push(curr);\n }\n return list;\n }, []);\n\n return {\n added: newListUpdates.added,\n changed: newListUpdates.changed,\n removed,\n };\n}\n","import { diffTokenLists } from \"./diffTokenLists\";\nimport { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { TokenInfo } from \"./types\";\n\n/**\n * Returns the minimum version bump for the given list\n * @param baseList the base list of tokens\n * @param updatedList the updated list of tokens\n */\nexport function minVersionBump(\n baseList: TokenInfo[],\n updatedList: TokenInfo[]\n): VersionUpgrade {\n const diff = diffTokenLists(baseList, updatedList);\n if (diff.removed.length > 0) return VersionUpgrade.MAJOR;\n if (diff.added.length > 0) return VersionUpgrade.MINOR;\n if (Object.keys(diff.changed).length > 0) return VersionUpgrade.PATCH;\n return VersionUpgrade.NONE;\n}\n","import { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { Version } from \"./types\";\n\n/**\n * Returns the next version of the list given a base version and the upgrade type\n * @param base current version\n * @param bump the upgrade type\n */\nexport function nextVersion(base: Version, bump: VersionUpgrade): Version {\n switch (bump) {\n case VersionUpgrade.NONE:\n return base;\n\n case VersionUpgrade.MAJOR:\n return { major: base.major + 1, minor: 0, patch: 0 };\n\n case VersionUpgrade.MINOR:\n return {\n major: base.major,\n minor: base.minor + 1,\n patch: 0,\n };\n\n case VersionUpgrade.PATCH:\n return {\n major: base.major,\n minor: base.minor,\n patch: base.patch + 1,\n };\n }\n}\n","import tokenlist from './tokenlist-v1.json';\nimport chainlist from './chainlist-v1.json';\nimport routerlist from './routerlist-v1.json';\nimport tokenschema from './tokenlist-v1.json';\nimport testnetfaucets from './testnet-faucets-v1.json';\nimport { ChainInfo, RouterInfo, TokenInfo, TestnetFaucetInfo } from './types';\n\nexport * from './abis';\nexport * from './types';\nexport * from './isVersionUpdate';\nexport * from './getVersionUpgrade';\nexport * from './diffTokenLists';\nexport * from './minVersionBump';\nexport * from './nextVersion';\nexport * from './versionComparator';\n\nexport { tokenschema, tokenlist, chainlist, routerlist };\n\nexport function getChain(chainId: number): ChainInfo {\n return chainlist.chains.find((needle: any) => {\n return needle.chainId === chainId;\n }) as ChainInfo;\n}\n\nexport function getTokenByAddress(\n tokenAddress: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.address.toLowerCase() === tokenAddress.toLowerCase() &&\n (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokenBySymbol(\n tokenSymbol: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.symbol === tokenSymbol && (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokens(chainId: number): TokenInfo[] {\n return tokenlist.tokens.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as TokenInfo[];\n}\n\nexport function getFaucetAddress(tokenInfo: TokenInfo): TestnetFaucetInfo {\n return testnetfaucets.faucets.find((needle: any) => {\n return (\n needle.token.toLowerCase() === tokenInfo.address.toLowerCase() &&\n needle.chainId === tokenInfo.chainId\n );\n }) as TestnetFaucetInfo;\n}\n\nexport function getRouters(chainId: number): RouterInfo[] {\n return routerlist.routers.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as RouterInfo[];\n}\n\nexport function getRouter(chainId: number, version: string): RouterInfo {\n return routerlist.routers.find((needle: any) => {\n return needle.chainId === chainId && needle.version === version;\n }) as RouterInfo;\n}\n\nexport function getLatestRouter(chainId: number): RouterInfo {\n const sorted = getRouters(chainId).sort((a, b) => {\n return Date.parse(a.timestamp) - Date.parse(b.timestamp);\n });\n return sorted[sorted.length - 1];\n}\n\nexport function getShortNames(): string[] {\n return chainlist.chains.map(chain => chain.shortName);\n}\n"],"names":["HIRO_ROUTER_ABIS","HiroRouterV01","HiroRouterV02","CURVE_ROUTER_ABI","CurveRouterV13Abi","TokenListTagNames","versionComparator","versionA","versionB","major","minor","patch","isVersionUpdate","base","update","VersionUpgrade","getVersionUpgrade","MAJOR","NONE","MINOR","PATCH","compareTokenInfoProperty","a","b","Array","isArray","every","el","i","diffTokenLists","indexedBase","reduce","memo","tokenInfo","chainId","address","newListUpdates","baseToken","added","push","changes","Object","keys","filter","s","length","changed","index","removed","list","curr","minVersionBump","baseList","updatedList","diff","nextVersion","bump","getChain","chainlist","chains","find","needle","getTokenByAddress","tokenAddress","tokenlist","tokens","token","toLowerCase","getTokenBySymbol","tokenSymbol","symbol","getTokens","getFaucetAddress","testnetfaucets","faucets","getRouters","routerlist","routers","getRouter","version","getLatestRouter","sorted","sort","Date","parse","timestamp","getShortNames","map","chain","shortName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,gBAAgB,GAA0B;EACrD,OAAOC,aAD8C;EAErD,OAAOC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"}
|
|
1
|
+
{"version":3,"file":"tokenlists.esm.js","sources":["../src/abis.ts","../src/types.ts","../src/versionComparator.ts","../src/isVersionUpdate.ts","../src/getVersionUpgrade.ts","../src/diffTokenLists.ts","../src/minVersionBump.ts","../src/nextVersion.ts","../src/index.ts"],"sourcesContent":["import CurveRouterV13Abi from \"./abis/curverouterv13.abi.json\";\nimport HiroRouterV01 from \"./abis/HiroRouterV0.1.abi.json\";\nimport HiroRouterV02 from \"./abis/HiroRouterV0.2.abi.json\";\n\nexport const HIRO_ROUTER_ABIS: { [key: string]: any} = {\n \"0.1\": HiroRouterV01,\n \"0.2\": HiroRouterV02,\n \"test\": HiroRouterV02\n}\nexport const CURVE_ROUTER_ABI = CurveRouterV13Abi;\n","type ExtensionValue = string | number | boolean | null | undefined;\n\nexport enum TokenListTagNames {\n // Networks\n MAINNET = 'Mainnet',\n OPTIMISM = 'Optimism',\n ARBITRUM = 'Arbitrum',\n AVALANCHE = 'Avalanche',\n BASE = 'Base',\n TESTNET = 'TESTNET',\n\n // Coin/currency\n STABLECOIN = 'Stablecoin',\n USD = 'USD',\n EUR = 'EUR',\n\n // Misc\n TOP_10 = 'Top10',\n NATIVE_TOKEN = 'Native Token',\n}\n\nexport interface RouterInfo {\n readonly chainId: number;\n readonly address: string;\n readonly timestamp: string;\n readonly version: string;\n readonly fee: string;\n}\n\nexport interface TestnetFaucetInfo {\n readonly chainId: number;\n readonly address: string;\n readonly token: string;\n}\n\nexport interface ChainInfo {\n readonly chainId: number;\n readonly chainName: string;\n // shortName is the EIP3770 short name\n // chain details can be found here: https://github.com/ethereum-lists/chains/tree/master/_data/chains\n readonly shortName: string;\n readonly logoUri: string;\n readonly explorerUrl: string;\n readonly rpcUrls: string[];\n readonly wrappedNativeToken: string;\n readonly feeTreasury?: string;\n readonly testnet: boolean;\n readonly priceFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly tokenFeeds?: {\n readonly [key: string]: string | undefined;\n };\n readonly curveRouterAddress?: string;\n}\n\nexport interface TokenInfo {\n readonly chainId: number;\n readonly address: string;\n readonly name: string;\n readonly decimals: number;\n readonly symbol: string;\n readonly coinGeckoId?: string;\n readonly currency?: string;\n readonly logoUri?: string;\n readonly tags?: TokenListTagNames[];\n readonly extensions?: {\n readonly [key: string]:\n | {\n [key: string]:\n | {\n [key: string]: ExtensionValue;\n }\n | ExtensionValue;\n }\n | ExtensionValue;\n };\n}\n\nexport interface Version {\n readonly major: number;\n readonly minor: number;\n readonly patch: number;\n}\n\nexport interface TokenList {\n readonly name: string;\n readonly timestamp: string;\n readonly version: Version;\n readonly tokens: TokenInfo[];\n readonly keywords?: string[];\n readonly tags?: any;\n readonly logoUri?: string;\n}\n","import { Version } from \"./types\";\n\n/**\n * Comparator function that allows sorting version from lowest to highest\n * @param versionA version A to compare\n * @param versionB version B to compare\n * @returns -1 if versionA comes before versionB, 0 if versionA is equal to version B, and 1 if version A comes after version B\n */\nexport function versionComparator(\n versionA: Version,\n versionB: Version\n): -1 | 0 | 1 {\n if (versionA.major < versionB.major) {\n return -1;\n } else if (versionA.major > versionB.major) {\n return 1;\n } else if (versionA.minor < versionB.minor) {\n return -1;\n } else if (versionA.minor > versionB.minor) {\n return 1;\n } else if (versionA.patch < versionB.patch) {\n return -1;\n } else if (versionA.patch > versionB.patch) {\n return 1;\n } else {\n return 0;\n }\n}\n","import { versionComparator } from './versionComparator';\nimport { Version } from './types';\n\n/**\n * Returns true if versionB is an update over versionA\n */\nexport function isVersionUpdate(base: Version, update: Version): boolean {\n return versionComparator(base, update) < 0;\n}","import { Version } from \"./types\";\n\n/**\n * Enum describing types of version differences\n */\nexport enum VersionUpgrade {\n NONE,\n PATCH,\n MINOR,\n MAJOR,\n}\n\n/**\n * Return the upgrade type from the base version to the update version.\n * Note that downgrades and equivalent versions are both treated as `NONE`.\n * @param base base list\n * @param update update to the list\n */\nexport function getVersionUpgrade(\n base: Version,\n update: Version\n): VersionUpgrade {\n if (update.major > base.major) {\n return VersionUpgrade.MAJOR;\n }\n if (update.major < base.major) {\n return VersionUpgrade.NONE;\n }\n if (update.minor > base.minor) {\n return VersionUpgrade.MINOR;\n }\n if (update.minor < base.minor) {\n return VersionUpgrade.NONE;\n }\n return update.patch > base.patch ? VersionUpgrade.PATCH : VersionUpgrade.NONE;\n}\n","import { TokenInfo } from \"./types\";\n\nexport type TokenInfoChangeKey = Exclude<\n keyof TokenInfo,\n \"address\" | \"chainId\"\n>;\nexport type TokenInfoChanges = Array<TokenInfoChangeKey>;\n\n/**\n * compares two token info key values\n * this subset of full deep equal functionality does not work on objects or object arrays\n * @param a comparison item a\n * @param b comparison item b\n */\nfunction compareTokenInfoProperty(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (typeof a !== typeof b) return false;\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.every((el, i) => b[i] === el);\n }\n return false;\n}\n\n/**\n * Differences between a base list and an updated list.\n */\nexport interface TokenListDiff {\n /**\n * Tokens from updated with chainId/address not present in base list\n */\n readonly added: TokenInfo[];\n /**\n * Tokens from base with chainId/address not present in the updated list\n */\n readonly removed: TokenInfo[];\n /**\n * The token info that changed\n */\n readonly changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n}\n\n/**\n * Computes the diff of a token list where the first argument is the base and the second argument is the updated list.\n * @param base base list\n * @param update updated list\n */\nexport function diffTokenLists(\n base: TokenInfo[],\n update: TokenInfo[]\n): TokenListDiff {\n const indexedBase = base.reduce<{\n [chainId: number]: { [address: string]: TokenInfo };\n }>((memo, tokenInfo) => {\n if (!memo[tokenInfo.chainId]) memo[tokenInfo.chainId] = {};\n memo[tokenInfo.chainId][tokenInfo.address] = tokenInfo;\n return memo;\n }, {});\n\n const newListUpdates = update.reduce<{\n added: TokenInfo[];\n changed: {\n [chainId: number]: {\n [address: string]: TokenInfoChanges;\n };\n };\n index: {\n [chainId: number]: {\n [address: string]: true;\n };\n };\n }>(\n (memo, tokenInfo) => {\n const baseToken = indexedBase[tokenInfo.chainId]?.[tokenInfo.address];\n if (!baseToken) {\n memo.added.push(tokenInfo);\n } else {\n const changes: TokenInfoChanges = Object.keys(tokenInfo)\n .filter(\n (s): s is TokenInfoChangeKey => s !== \"address\" && s !== \"chainId\"\n )\n .filter((s) => {\n return !compareTokenInfoProperty(tokenInfo[s], baseToken[s]);\n });\n if (changes.length > 0) {\n if (!memo.changed[tokenInfo.chainId]) {\n memo.changed[tokenInfo.chainId] = {};\n }\n memo.changed[tokenInfo.chainId][tokenInfo.address] = changes;\n }\n }\n\n if (!memo.index[tokenInfo.chainId]) {\n memo.index[tokenInfo.chainId] = {\n [tokenInfo.address]: true,\n };\n } else {\n memo.index[tokenInfo.chainId][tokenInfo.address] = true;\n }\n\n return memo;\n },\n { added: [], changed: {}, index: {} }\n );\n\n const removed = base.reduce<TokenInfo[]>((list, curr) => {\n if (\n !newListUpdates.index[curr.chainId] ||\n !newListUpdates.index[curr.chainId][curr.address]\n ) {\n list.push(curr);\n }\n return list;\n }, []);\n\n return {\n added: newListUpdates.added,\n changed: newListUpdates.changed,\n removed,\n };\n}\n","import { diffTokenLists } from \"./diffTokenLists\";\nimport { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { TokenInfo } from \"./types\";\n\n/**\n * Returns the minimum version bump for the given list\n * @param baseList the base list of tokens\n * @param updatedList the updated list of tokens\n */\nexport function minVersionBump(\n baseList: TokenInfo[],\n updatedList: TokenInfo[]\n): VersionUpgrade {\n const diff = diffTokenLists(baseList, updatedList);\n if (diff.removed.length > 0) return VersionUpgrade.MAJOR;\n if (diff.added.length > 0) return VersionUpgrade.MINOR;\n if (Object.keys(diff.changed).length > 0) return VersionUpgrade.PATCH;\n return VersionUpgrade.NONE;\n}\n","import { VersionUpgrade } from \"./getVersionUpgrade\";\nimport { Version } from \"./types\";\n\n/**\n * Returns the next version of the list given a base version and the upgrade type\n * @param base current version\n * @param bump the upgrade type\n */\nexport function nextVersion(base: Version, bump: VersionUpgrade): Version {\n switch (bump) {\n case VersionUpgrade.NONE:\n return base;\n\n case VersionUpgrade.MAJOR:\n return { major: base.major + 1, minor: 0, patch: 0 };\n\n case VersionUpgrade.MINOR:\n return {\n major: base.major,\n minor: base.minor + 1,\n patch: 0,\n };\n\n case VersionUpgrade.PATCH:\n return {\n major: base.major,\n minor: base.minor,\n patch: base.patch + 1,\n };\n }\n}\n","import tokenlist from './tokenlist-v1.json';\nimport chainlist from './chainlist-v1.json';\nimport routerlist from './routerlist-v1.json';\nimport tokenschema from './tokenlist-v1.json';\nimport testnetfaucets from './testnet-faucets-v1.json';\nimport { ChainInfo, RouterInfo, TokenInfo, TestnetFaucetInfo } from './types';\n\nexport * from './abis';\nexport * from './types';\nexport * from './isVersionUpdate';\nexport * from './getVersionUpgrade';\nexport * from './diffTokenLists';\nexport * from './minVersionBump';\nexport * from './nextVersion';\nexport * from './versionComparator';\n\nexport { tokenschema, tokenlist, chainlist, routerlist };\n\nexport function getChain(chainId: number): ChainInfo {\n return chainlist.chains.find((needle: any) => {\n return needle.chainId === chainId;\n }) as ChainInfo;\n}\n\nexport function getTokenByAddress(\n tokenAddress: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.address.toLowerCase() === tokenAddress.toLowerCase() &&\n (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokenBySymbol(\n tokenSymbol: string,\n chainId?: number\n): TokenInfo | null {\n return (\n (tokenlist.tokens.find((token: any) => {\n return (\n token.symbol === tokenSymbol && (!chainId || token.chainId === chainId)\n );\n }) as TokenInfo) ?? null\n );\n}\n\nexport function getTokens(chainId: number): TokenInfo[] {\n return tokenlist.tokens.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as TokenInfo[];\n}\n\nexport function getFaucetAddress(tokenInfo: TokenInfo): TestnetFaucetInfo {\n return testnetfaucets.faucets.find((needle: any) => {\n return (\n needle.token.toLowerCase() === tokenInfo.address.toLowerCase() &&\n needle.chainId === tokenInfo.chainId\n );\n }) as TestnetFaucetInfo;\n}\n\nexport function getRouters(chainId: number): RouterInfo[] {\n return routerlist.routers.filter((needle: any) => {\n return needle.chainId === chainId;\n }) as RouterInfo[];\n}\n\nexport function getRouter(chainId: number, version: string): RouterInfo {\n return routerlist.routers.find((needle: any) => {\n return needle.chainId === chainId && needle.version === version;\n }) as RouterInfo;\n}\n\nexport function getLatestRouter(chainId: number): RouterInfo {\n const sorted = getRouters(chainId).sort((a, b) => {\n return Date.parse(a.timestamp) - Date.parse(b.timestamp);\n });\n return sorted[sorted.length - 1];\n}\n\nexport function getShortNames(): string[] {\n return chainlist.chains.map(chain => chain.shortName);\n}\n"],"names":["HIRO_ROUTER_ABIS","HiroRouterV01","HiroRouterV02","CURVE_ROUTER_ABI","CurveRouterV13Abi","TokenListTagNames","versionComparator","versionA","versionB","major","minor","patch","isVersionUpdate","base","update","VersionUpgrade","getVersionUpgrade","MAJOR","NONE","MINOR","PATCH","compareTokenInfoProperty","a","b","Array","isArray","every","el","i","diffTokenLists","indexedBase","reduce","memo","tokenInfo","chainId","address","newListUpdates","baseToken","added","push","changes","Object","keys","filter","s","length","changed","index","removed","list","curr","minVersionBump","baseList","updatedList","diff","nextVersion","bump","getChain","chainlist","chains","find","needle","getTokenByAddress","tokenAddress","tokenlist","tokens","token","toLowerCase","getTokenBySymbol","tokenSymbol","symbol","getTokens","getFaucetAddress","testnetfaucets","faucets","getRouters","routerlist","routers","getRouter","version","getLatestRouter","sorted","sort","Date","parse","timestamp","getShortNames","map","chain","shortName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/types.d.ts
CHANGED