@uniswap/token-list-bridge-utils 2.1.0 → 2.3.0
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/dist/constants/chainId.d.ts +2 -0
- package/dist/constants/tokens.d.ts +5 -0
- package/dist/fixtures/index.d.ts +24 -0
- package/dist/providers/BaseMappingProvider.d.ts +9 -0
- package/dist/providers/CeloMappingProvider.d.ts +5 -0
- package/dist/token-list-bridge-utils.cjs.development.js +184 -44
- package/dist/token-list-bridge-utils.cjs.development.js.map +1 -1
- package/dist/token-list-bridge-utils.cjs.production.min.js +1 -1
- package/dist/token-list-bridge-utils.cjs.production.min.js.map +1 -1
- package/dist/token-list-bridge-utils.esm.js +184 -44
- package/dist/token-list-bridge-utils.esm.js.map +1 -1
- package/package.json +13 -22
- package/src/arbitrum/instantiate_bridge.ts +10 -2
- package/src/constants/chainId.ts +3 -0
- package/src/constants/tokens.ts +41 -1
- package/src/fixtures/index.ts +73 -0
- package/src/index.test.ts +90 -85
- package/src/index.ts +6 -8
- package/src/local_mappings/celo.json +19 -0
- package/src/providers/BaseGoerliMappingProvider.ts +1 -1
- package/src/providers/BaseMappingProvider.ts +42 -0
- package/src/providers/CeloMappingProvider.ts +10 -0
- package/src/providers/OptimismMappingProvider.ts +19 -6
- package/src/providers/PolygonMappingProvider.ts +2 -1
- package/src/providers/index.ts +22 -6
- package/src/utils.ts +6 -0
|
@@ -870,8 +870,10 @@ var ChainId;
|
|
|
870
870
|
ChainId[ChainId["POLYGON"] = 137] = "POLYGON";
|
|
871
871
|
ChainId[ChainId["POLYGON_MUMBAI"] = 80001] = "POLYGON_MUMBAI";
|
|
872
872
|
ChainId[ChainId["CELO"] = 42220] = "CELO";
|
|
873
|
+
ChainId[ChainId["CELO_ALFAJORES"] = 44787] = "CELO_ALFAJORES";
|
|
873
874
|
ChainId[ChainId["BNB"] = 56] = "BNB";
|
|
874
875
|
ChainId[ChainId["AVALANCHE"] = 43114] = "AVALANCHE";
|
|
876
|
+
ChainId[ChainId["BASE"] = 8453] = "BASE";
|
|
875
877
|
ChainId[ChainId["BASE_GOERLI"] = 84531] = "BASE_GOERLI";
|
|
876
878
|
})(ChainId || (ChainId = {}));
|
|
877
879
|
|
|
@@ -1099,6 +1101,15 @@ function getRpcUrl(chainId) {
|
|
|
1099
1101
|
case ChainId.AVALANCHE:
|
|
1100
1102
|
return 'https://api.avax.network/ext/bc/C/rpc';
|
|
1101
1103
|
|
|
1104
|
+
case ChainId.CELO:
|
|
1105
|
+
return 'https://forno.celo.org/';
|
|
1106
|
+
|
|
1107
|
+
case ChainId.CELO_ALFAJORES:
|
|
1108
|
+
return 'https://alfajores-forno.celo-testnet.org/';
|
|
1109
|
+
|
|
1110
|
+
case ChainId.BASE:
|
|
1111
|
+
return 'https://mainnet.base.org';
|
|
1112
|
+
|
|
1102
1113
|
case ChainId.BASE_GOERLI:
|
|
1103
1114
|
return 'https://goerli.base.org';
|
|
1104
1115
|
}
|
|
@@ -1138,7 +1149,13 @@ var _process$env, _process$env$MAINNET_;
|
|
|
1138
1149
|
config();
|
|
1139
1150
|
(_process$env$MAINNET_ = (_process$env = process.env).MAINNET_RPC) != null ? _process$env$MAINNET_ : _process$env.MAINNET_RPC = /*#__PURE__*/getRpcUrl(ChainId.MAINNET);
|
|
1140
1151
|
|
|
1141
|
-
var networkID = 42161;
|
|
1152
|
+
var networkID = 42161;
|
|
1153
|
+
|
|
1154
|
+
var l2Rpc = function l2Rpc(chainId) {
|
|
1155
|
+
if (chainId === 42161) return 'https://arb1.arbitrum.io/rpc';else if (chainId === 421611) return 'https://rinkeby.arbitrum.io/rpc';else if (chainId === 42170) return 'https://nova.arbitrum.io/rpc';else if (chainId === 421613) return 'https://goerli-rollup.arbitrum.io/rpc';
|
|
1156
|
+
throw new Error('No L2 RPC detected');
|
|
1157
|
+
}; // ref: https://github.com/OffchainLabs/arb-token-lists/blob/master/src/lib/instantiate_bridge.ts
|
|
1158
|
+
|
|
1142
1159
|
|
|
1143
1160
|
var getNetworkConfig = /*#__PURE__*/function () {
|
|
1144
1161
|
var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
@@ -1166,8 +1183,8 @@ var getNetworkConfig = /*#__PURE__*/function () {
|
|
|
1166
1183
|
|
|
1167
1184
|
case 11:
|
|
1168
1185
|
l1Network = _context.sent;
|
|
1169
|
-
arbProvider = new providers.JsonRpcProvider(l2Network.
|
|
1170
|
-
ethProvider = new providers.JsonRpcProvider(
|
|
1186
|
+
arbProvider = new providers.JsonRpcProvider(l2Rpc(l2Network.chainID));
|
|
1187
|
+
ethProvider = new providers.JsonRpcProvider(process.env.MAINNET_RPC);
|
|
1171
1188
|
_context.next = 16;
|
|
1172
1189
|
return MultiCaller.fromProvider(ethProvider);
|
|
1173
1190
|
|
|
@@ -1302,7 +1319,7 @@ var ArbitrumMappingProvider = /*#__PURE__*/function () {
|
|
|
1302
1319
|
return ArbitrumMappingProvider;
|
|
1303
1320
|
}();
|
|
1304
1321
|
|
|
1305
|
-
var optimismTokenListURL = 'https://raw.githubusercontent.com/' + 'ethereum-optimism/ethereum-optimism.github.io/
|
|
1322
|
+
var optimismTokenListURL = 'https://raw.githubusercontent.com/' + 'ethereum-optimism/ethereum-optimism.github.io/master/optimism.tokenlist.json';
|
|
1306
1323
|
/**
|
|
1307
1324
|
* The Optimism L2 mapping (linked above) is manually maintained by the Optimism team.
|
|
1308
1325
|
*
|
|
@@ -1316,8 +1333,7 @@ var OptimismMappingProvider = /*#__PURE__*/function () {
|
|
|
1316
1333
|
|
|
1317
1334
|
_proto.provide = /*#__PURE__*/function () {
|
|
1318
1335
|
var _provide = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
1319
|
-
var tokens,
|
|
1320
|
-
|
|
1336
|
+
var tokens, allTokens, opTokenId_baseAddressMap;
|
|
1321
1337
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
1322
1338
|
while (1) {
|
|
1323
1339
|
switch (_context.prev = _context.next) {
|
|
@@ -1327,19 +1343,27 @@ var OptimismMappingProvider = /*#__PURE__*/function () {
|
|
|
1327
1343
|
return getTokenList(optimismTokenListURL);
|
|
1328
1344
|
|
|
1329
1345
|
case 3:
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
token
|
|
1346
|
+
allTokens = _context.sent;
|
|
1347
|
+
opTokenId_baseAddressMap = {};
|
|
1348
|
+
allTokens.tokens.forEach(function (token) {
|
|
1349
|
+
if (token.chainId === ChainId.OPTIMISM) {
|
|
1350
|
+
var _token$extensions;
|
|
1334
1351
|
|
|
1335
|
-
|
|
1336
|
-
|
|
1352
|
+
if (typeof ((_token$extensions = token.extensions) == null ? void 0 : _token$extensions.opTokenId) === 'string') {
|
|
1353
|
+
opTokenId_baseAddressMap[token.extensions.opTokenId] = token.address;
|
|
1354
|
+
}
|
|
1337
1355
|
}
|
|
1338
|
-
}
|
|
1356
|
+
});
|
|
1357
|
+
allTokens.tokens.forEach(function (token) {
|
|
1358
|
+
var _token$extensions2;
|
|
1339
1359
|
|
|
1360
|
+
if (token.chainId === ChainId.MAINNET && typeof ((_token$extensions2 = token.extensions) == null ? void 0 : _token$extensions2.opTokenId) === 'string' && token.extensions.opTokenId in opTokenId_baseAddressMap) {
|
|
1361
|
+
tokens[token.address.toLowerCase()] = opTokenId_baseAddressMap[token.extensions.opTokenId];
|
|
1362
|
+
}
|
|
1363
|
+
});
|
|
1340
1364
|
return _context.abrupt("return", tokens);
|
|
1341
1365
|
|
|
1342
|
-
case
|
|
1366
|
+
case 8:
|
|
1343
1367
|
case "end":
|
|
1344
1368
|
return _context.stop();
|
|
1345
1369
|
}
|
|
@@ -1357,7 +1381,7 @@ var OptimismMappingProvider = /*#__PURE__*/function () {
|
|
|
1357
1381
|
return OptimismMappingProvider;
|
|
1358
1382
|
}();
|
|
1359
1383
|
|
|
1360
|
-
var url = 'https://
|
|
1384
|
+
var url = 'https://api-polygon-tokens.polygon.technology/api/v1/info/all-mappings';
|
|
1361
1385
|
var access_token = '504afd90-3228-4df9-9d88-9b4d70646101';
|
|
1362
1386
|
/**
|
|
1363
1387
|
* The Polygon team manually maintains the mapping via user submissions at
|
|
@@ -5667,7 +5691,7 @@ var AvalancheMappingProvider = /*#__PURE__*/function () {
|
|
|
5667
5691
|
return AvalancheMappingProvider;
|
|
5668
5692
|
}();
|
|
5669
5693
|
|
|
5670
|
-
var baseGoerliTokenListURL = 'https://raw.githubusercontent.com/' + 'ethereum-optimism/ethereum-optimism.github.io/master/optimism.tokenlist.json';
|
|
5694
|
+
var baseGoerliTokenListURL$1 = 'https://raw.githubusercontent.com/' + 'ethereum-optimism/ethereum-optimism.github.io/master/optimism.tokenlist.json';
|
|
5671
5695
|
/**
|
|
5672
5696
|
* The Base Goerli mapping (linked above) is manually maintained by the Coinbase team
|
|
5673
5697
|
* in this repository: https://github.com/ethereum-optimism/ethereum-optimism.github.io.
|
|
@@ -5687,7 +5711,7 @@ var BaseGoerliMappingProvider = /*#__PURE__*/function () {
|
|
|
5687
5711
|
case 0:
|
|
5688
5712
|
tokens = {};
|
|
5689
5713
|
_context.next = 3;
|
|
5690
|
-
return getTokenList(baseGoerliTokenListURL);
|
|
5714
|
+
return getTokenList(baseGoerliTokenListURL$1);
|
|
5691
5715
|
|
|
5692
5716
|
case 3:
|
|
5693
5717
|
allTokens = _context.sent;
|
|
@@ -5728,9 +5752,120 @@ var BaseGoerliMappingProvider = /*#__PURE__*/function () {
|
|
|
5728
5752
|
return BaseGoerliMappingProvider;
|
|
5729
5753
|
}();
|
|
5730
5754
|
|
|
5755
|
+
var baseGoerliTokenListURL = 'https://raw.githubusercontent.com/' + 'ethereum-optimism/ethereum-optimism.github.io/master/optimism.tokenlist.json';
|
|
5756
|
+
/**
|
|
5757
|
+
* The Base mapping (linked above) is manually maintained by the Coinbase team
|
|
5758
|
+
* in this repository: https://github.com/ethereum-optimism/ethereum-optimism.github.io.
|
|
5759
|
+
*/
|
|
5760
|
+
|
|
5761
|
+
var BaseMappingProvider = /*#__PURE__*/function () {
|
|
5762
|
+
function BaseMappingProvider() {}
|
|
5763
|
+
|
|
5764
|
+
var _proto = BaseMappingProvider.prototype;
|
|
5765
|
+
|
|
5766
|
+
_proto.provide = /*#__PURE__*/function () {
|
|
5767
|
+
var _provide = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
5768
|
+
var tokens, allTokens, opTokenId_baseAddressMap;
|
|
5769
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
5770
|
+
while (1) {
|
|
5771
|
+
switch (_context.prev = _context.next) {
|
|
5772
|
+
case 0:
|
|
5773
|
+
tokens = {};
|
|
5774
|
+
_context.next = 3;
|
|
5775
|
+
return getTokenList(baseGoerliTokenListURL);
|
|
5776
|
+
|
|
5777
|
+
case 3:
|
|
5778
|
+
allTokens = _context.sent;
|
|
5779
|
+
opTokenId_baseAddressMap = {};
|
|
5780
|
+
allTokens.tokens.forEach(function (token) {
|
|
5781
|
+
if (token.chainId === ChainId.BASE) {
|
|
5782
|
+
var _token$extensions;
|
|
5783
|
+
|
|
5784
|
+
if (typeof ((_token$extensions = token.extensions) == null ? void 0 : _token$extensions.opTokenId) === 'string') {
|
|
5785
|
+
opTokenId_baseAddressMap[token.extensions.opTokenId] = token.address;
|
|
5786
|
+
}
|
|
5787
|
+
}
|
|
5788
|
+
});
|
|
5789
|
+
allTokens.tokens.forEach(function (token) {
|
|
5790
|
+
var _token$extensions2;
|
|
5791
|
+
|
|
5792
|
+
if (token.chainId === ChainId.MAINNET && typeof ((_token$extensions2 = token.extensions) == null ? void 0 : _token$extensions2.opTokenId) === 'string' && token.extensions.opTokenId in opTokenId_baseAddressMap) {
|
|
5793
|
+
tokens[token.address.toLowerCase()] = opTokenId_baseAddressMap[token.extensions.opTokenId];
|
|
5794
|
+
}
|
|
5795
|
+
});
|
|
5796
|
+
return _context.abrupt("return", tokens);
|
|
5797
|
+
|
|
5798
|
+
case 8:
|
|
5799
|
+
case "end":
|
|
5800
|
+
return _context.stop();
|
|
5801
|
+
}
|
|
5802
|
+
}
|
|
5803
|
+
}, _callee);
|
|
5804
|
+
}));
|
|
5805
|
+
|
|
5806
|
+
function provide() {
|
|
5807
|
+
return _provide.apply(this, arguments);
|
|
5808
|
+
}
|
|
5809
|
+
|
|
5810
|
+
return provide;
|
|
5811
|
+
}();
|
|
5812
|
+
|
|
5813
|
+
return BaseMappingProvider;
|
|
5814
|
+
}();
|
|
5815
|
+
|
|
5816
|
+
var celoMappings = {
|
|
5817
|
+
"0xdac17f958d2ee523a2206206994597c13d831ec7": {
|
|
5818
|
+
childToken: "0x617f3112bf5397D0467D315cC709EF968D9ba546",
|
|
5819
|
+
decimals: 18
|
|
5820
|
+
},
|
|
5821
|
+
"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599": {
|
|
5822
|
+
childToken: "0xd71Ffd0940c920786eC4DbB5A12306669b5b81EF",
|
|
5823
|
+
decimals: 18
|
|
5824
|
+
},
|
|
5825
|
+
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2": {
|
|
5826
|
+
childToken: "0xb829b68f57CC546dA7E5806A929e53bE32a4625D",
|
|
5827
|
+
decimals: 18
|
|
5828
|
+
},
|
|
5829
|
+
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": {
|
|
5830
|
+
childToken: "0x37f750B7cC259A2f741AF45294f6a16572CF5cAd",
|
|
5831
|
+
decimals: 6
|
|
5832
|
+
}
|
|
5833
|
+
};
|
|
5834
|
+
|
|
5835
|
+
var CeloMappingProvider = /*#__PURE__*/function () {
|
|
5836
|
+
function CeloMappingProvider() {}
|
|
5837
|
+
|
|
5838
|
+
var _proto = CeloMappingProvider.prototype;
|
|
5839
|
+
|
|
5840
|
+
_proto.provide = /*#__PURE__*/function () {
|
|
5841
|
+
var _provide = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
5842
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
5843
|
+
while (1) {
|
|
5844
|
+
switch (_context.prev = _context.next) {
|
|
5845
|
+
case 0:
|
|
5846
|
+
return _context.abrupt("return", celoMappings);
|
|
5847
|
+
|
|
5848
|
+
case 1:
|
|
5849
|
+
case "end":
|
|
5850
|
+
return _context.stop();
|
|
5851
|
+
}
|
|
5852
|
+
}
|
|
5853
|
+
}, _callee);
|
|
5854
|
+
}));
|
|
5855
|
+
|
|
5856
|
+
function provide() {
|
|
5857
|
+
return _provide.apply(this, arguments);
|
|
5858
|
+
}
|
|
5859
|
+
|
|
5860
|
+
return provide;
|
|
5861
|
+
}();
|
|
5862
|
+
|
|
5863
|
+
return CeloMappingProvider;
|
|
5864
|
+
}();
|
|
5865
|
+
|
|
5731
5866
|
var web3 = /*#__PURE__*/new Web3(); // chains we support fetching mappings for (can be different than the l2ChainIds arg for buildList)
|
|
5732
5867
|
|
|
5733
|
-
var CHAINS_WITH_MAPPING_PROVIDERS = [ChainId.ARBITRUM_ONE, ChainId.POLYGON, ChainId.OPTIMISM, ChainId.BNB, ChainId.AVALANCHE, ChainId.BASE_GOERLI];
|
|
5868
|
+
var CHAINS_WITH_MAPPING_PROVIDERS = [ChainId.ARBITRUM_ONE, ChainId.POLYGON, ChainId.OPTIMISM, ChainId.BNB, ChainId.AVALANCHE, ChainId.CELO, ChainId.BASE, ChainId.BASE_GOERLI];
|
|
5734
5869
|
function buildList(_x, _x2) {
|
|
5735
5870
|
return _buildList.apply(this, arguments);
|
|
5736
5871
|
} // using a symbol lookup contract call to check whether the token exists on the L2
|
|
@@ -5922,6 +6057,12 @@ function getMappingProvider(chainId, l1TokenList) {
|
|
|
5922
6057
|
case ChainId.AVALANCHE:
|
|
5923
6058
|
return new AvalancheMappingProvider();
|
|
5924
6059
|
|
|
6060
|
+
case ChainId.CELO:
|
|
6061
|
+
return new CeloMappingProvider();
|
|
6062
|
+
|
|
6063
|
+
case ChainId.BASE:
|
|
6064
|
+
return new BaseMappingProvider();
|
|
6065
|
+
|
|
5925
6066
|
case ChainId.BASE_GOERLI:
|
|
5926
6067
|
return new BaseGoerliMappingProvider();
|
|
5927
6068
|
|
|
@@ -5988,18 +6129,27 @@ function getChildTokenDetails(_x7, _x8, _x9) {
|
|
|
5988
6129
|
|
|
5989
6130
|
function _getChildTokenDetails() {
|
|
5990
6131
|
_getChildTokenDetails = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(l1Token, chainId, chainIdToMappingsMap) {
|
|
5991
|
-
var _l1Token$extensions
|
|
6132
|
+
var _l1Token$extensions;
|
|
5992
6133
|
|
|
5993
|
-
var existingMapping, childToken, childTokenAddress, childTokenValid, decimals;
|
|
6134
|
+
var bridgeInfo, existingMapping, bridgeInfoForChain, childToken, childTokenAddress, childTokenValid, decimals;
|
|
5994
6135
|
return _regeneratorRuntime.wrap(function _callee5$(_context6) {
|
|
5995
6136
|
while (1) {
|
|
5996
6137
|
switch (_context6.prev = _context6.next) {
|
|
5997
6138
|
case 0:
|
|
5998
|
-
|
|
6139
|
+
bridgeInfo = l1Token == null ? void 0 : (_l1Token$extensions = l1Token.extensions) == null ? void 0 : _l1Token$extensions.bridgeInfo;
|
|
6140
|
+
|
|
6141
|
+
if (bridgeInfo && typeof bridgeInfo === 'object') {
|
|
6142
|
+
bridgeInfoForChain = bridgeInfo[chainId];
|
|
6143
|
+
|
|
6144
|
+
if (bridgeInfoForChain && typeof bridgeInfoForChain === 'object') {
|
|
6145
|
+
existingMapping = bridgeInfoForChain.tokenAddress;
|
|
6146
|
+
}
|
|
6147
|
+
} // use the externally fetched mappings if manual entry doesn't exist for the token/chain mapping
|
|
5999
6148
|
// and the given chain is supported for fetching mappings
|
|
6000
6149
|
|
|
6150
|
+
|
|
6001
6151
|
if (!(CHAINS_WITH_MAPPING_PROVIDERS.includes(chainId) && existingMapping === undefined)) {
|
|
6002
|
-
_context6.next =
|
|
6152
|
+
_context6.next = 15;
|
|
6003
6153
|
break;
|
|
6004
6154
|
}
|
|
6005
6155
|
|
|
@@ -6009,33 +6159,33 @@ function _getChildTokenDetails() {
|
|
|
6009
6159
|
_context6.t1 = childTokenAddress;
|
|
6010
6160
|
|
|
6011
6161
|
if (!_context6.t1) {
|
|
6012
|
-
_context6.next =
|
|
6162
|
+
_context6.next = 11;
|
|
6013
6163
|
break;
|
|
6014
6164
|
}
|
|
6015
6165
|
|
|
6016
|
-
_context6.next =
|
|
6166
|
+
_context6.next = 10;
|
|
6017
6167
|
return hasExistingTokenContract(childTokenAddress, chainId);
|
|
6018
6168
|
|
|
6019
|
-
case
|
|
6169
|
+
case 10:
|
|
6020
6170
|
_context6.t1 = _context6.sent;
|
|
6021
6171
|
|
|
6022
|
-
case
|
|
6172
|
+
case 11:
|
|
6023
6173
|
_context6.t2 = _context6.t1;
|
|
6024
6174
|
childTokenValid = (0, _context6.t0)(_context6.t2);
|
|
6025
|
-
decimals = childToken && (chainId === ChainId.BNB || chainId === ChainId.AVALANCHE) ? childToken.decimals : undefined;
|
|
6175
|
+
decimals = childToken && (chainId === ChainId.BNB || chainId === ChainId.AVALANCHE || chainId === ChainId.CELO) ? childToken.decimals : undefined;
|
|
6026
6176
|
return _context6.abrupt("return", {
|
|
6027
6177
|
childTokenValid: childTokenValid,
|
|
6028
6178
|
childTokenAddress: childTokenAddress,
|
|
6029
6179
|
decimals: decimals
|
|
6030
6180
|
});
|
|
6031
6181
|
|
|
6032
|
-
case
|
|
6182
|
+
case 15:
|
|
6033
6183
|
return _context6.abrupt("return", {
|
|
6034
6184
|
childTokenValid: !!existingMapping,
|
|
6035
6185
|
childTokenAddress: existingMapping
|
|
6036
6186
|
});
|
|
6037
6187
|
|
|
6038
|
-
case
|
|
6188
|
+
case 16:
|
|
6039
6189
|
case "end":
|
|
6040
6190
|
return _context6.stop();
|
|
6041
6191
|
}
|
|
@@ -6125,7 +6275,7 @@ function chainify(_x) {
|
|
|
6125
6275
|
|
|
6126
6276
|
function _chainify() {
|
|
6127
6277
|
_chainify = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(l1TokenListOrPathOrUrl) {
|
|
6128
|
-
var l1TokenList, l2Chains, chainified, merged
|
|
6278
|
+
var l1TokenList, l2Chains, chainified, merged;
|
|
6129
6279
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
6130
6280
|
while (1) {
|
|
6131
6281
|
switch (_context.prev = _context.next) {
|
|
@@ -6135,7 +6285,7 @@ function _chainify() {
|
|
|
6135
6285
|
|
|
6136
6286
|
case 2:
|
|
6137
6287
|
l1TokenList = _context.sent;
|
|
6138
|
-
l2Chains = [ChainId.POLYGON, ChainId.ARBITRUM_ONE, ChainId.OPTIMISM, ChainId.CELO, ChainId.BNB, ChainId.AVALANCHE, ChainId.BASE_GOERLI];
|
|
6288
|
+
l2Chains = [ChainId.POLYGON, ChainId.ARBITRUM_ONE, ChainId.OPTIMISM, ChainId.CELO, ChainId.BNB, ChainId.AVALANCHE, ChainId.BASE, ChainId.BASE_GOERLI];
|
|
6139
6289
|
_context.next = 6;
|
|
6140
6290
|
return chainifyTokenList(l2Chains, l1TokenListOrPathOrUrl);
|
|
6141
6291
|
|
|
@@ -6143,19 +6293,9 @@ function _chainify() {
|
|
|
6143
6293
|
chainified = _context.sent;
|
|
6144
6294
|
merged = mergeTokenLists(l1TokenList, // providing l1 first to make sure duplicated tokens resolve to this list
|
|
6145
6295
|
chainified);
|
|
6146
|
-
|
|
6147
|
-
|
|
6148
|
-
if (merged.tokens && merged.tokens.length > 0) {
|
|
6149
|
-
merged.tokens.forEach(function (token) {
|
|
6150
|
-
tokenMap[token.chainId + "_" + token.address] = token;
|
|
6151
|
-
});
|
|
6152
|
-
}
|
|
6296
|
+
return _context.abrupt("return", merged);
|
|
6153
6297
|
|
|
6154
|
-
|
|
6155
|
-
tokenMap: tokenMap
|
|
6156
|
-
}));
|
|
6157
|
-
|
|
6158
|
-
case 11:
|
|
6298
|
+
case 9:
|
|
6159
6299
|
case "end":
|
|
6160
6300
|
return _context.stop();
|
|
6161
6301
|
}
|
|
@@ -6220,7 +6360,7 @@ function mergeTokenLists(primary, secondary) {
|
|
|
6220
6360
|
|
|
6221
6361
|
var merged = merge(group[0], group[1]);
|
|
6222
6362
|
|
|
6223
|
-
if ((_merged$extensions = merged.extensions) != null && _merged$extensions.bridgeInfo) {
|
|
6363
|
+
if ((_merged$extensions = merged.extensions) != null && _merged$extensions.bridgeInfo && typeof merged.extensions.bridgeInfo === 'object') {
|
|
6224
6364
|
// remove reference to self-chain from merge
|
|
6225
6365
|
delete merged.extensions.bridgeInfo[merged.chainId];
|
|
6226
6366
|
}
|