@uniswap/token-list-bridge-utils 2.7.0 → 2.9.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.
@@ -12,5 +12,6 @@ export declare enum ChainId {
12
12
  BNB = 56,
13
13
  AVALANCHE = 43114,
14
14
  BASE = 8453,
15
- UNICHAIN = 130
15
+ UNICHAIN = 130,
16
+ SONEIUM = 1868
16
17
  }
@@ -0,0 +1,5 @@
1
+ import { MappingProvider } from './MappingProvider';
2
+ import { MappedTokenData } from '../constants/types';
3
+ export declare class SoneiumMappingProvider implements MappingProvider {
4
+ provide(): Promise<MappedTokenData>;
5
+ }
@@ -902,6 +902,7 @@ var ChainId;
902
902
  ChainId[ChainId["AVALANCHE"] = 43114] = "AVALANCHE";
903
903
  ChainId[ChainId["BASE"] = 8453] = "BASE";
904
904
  ChainId[ChainId["UNICHAIN"] = 130] = "UNICHAIN";
905
+ ChainId[ChainId["SONEIUM"] = 1868] = "SONEIUM";
905
906
  })(ChainId || (ChainId = {}));
906
907
 
907
908
  function compareTokenInfos(t1, t2) {
@@ -1136,6 +1137,9 @@ function getRpcUrl(chainId) {
1136
1137
 
1137
1138
  case ChainId.BASE:
1138
1139
  return 'https://mainnet.base.org';
1140
+
1141
+ case ChainId.SONEIUM:
1142
+ return 'https://soneium.drpc.org';
1139
1143
  }
1140
1144
 
1141
1145
  throw new Error('Unsupported ChainId');
@@ -1296,7 +1300,7 @@ var ArbitrumMappingProvider = /*#__PURE__*/function () {
1296
1300
 
1297
1301
  _proto.provide = /*#__PURE__*/function () {
1298
1302
  var _provide = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
1299
- var tokens, _yield$getNetworkConf, l1, l2, tokenAddresses, l2AddressesFromL1;
1303
+ var tokens, _yield$getNetworkConf, l1, l2, tokenAddresses, batchSize, batches, i, batch, batchResults, filteredResults;
1300
1304
 
1301
1305
  return _regeneratorRuntime.wrap(function _callee$(_context) {
1302
1306
  while (1) {
@@ -1312,20 +1316,43 @@ var ArbitrumMappingProvider = /*#__PURE__*/function () {
1312
1316
  l2 = _yield$getNetworkConf.l2;
1313
1317
  tokenAddresses = this.l1TokenList.tokens.map(function (token) {
1314
1318
  return token.address.toLowerCase();
1319
+ }); // batching calls to avoid rpc response size limits
1320
+
1321
+ batchSize = 100;
1322
+ batches = [];
1323
+ i = 0;
1324
+
1325
+ case 10:
1326
+ if (!(i < tokenAddresses.length)) {
1327
+ _context.next = 20;
1328
+ break;
1329
+ }
1330
+
1331
+ batch = tokenAddresses.slice(i, i + batchSize);
1332
+ _context.next = 14;
1333
+ return getL2TokenAddressesFromL1(batch, l1.multiCaller, l2.network.tokenBridge.l1GatewayRouter);
1334
+
1335
+ case 14:
1336
+ batchResults = _context.sent;
1337
+ filteredResults = batchResults.filter(function (addr) {
1338
+ return addr !== undefined;
1315
1339
  });
1316
- _context.next = 9;
1317
- return getL2TokenAddressesFromL1(tokenAddresses, l1.multiCaller, l2.network.tokenBridge.l1GatewayRouter);
1340
+ batches.push.apply(batches, filteredResults);
1318
1341
 
1319
- case 9:
1320
- l2AddressesFromL1 = _context.sent;
1342
+ case 17:
1343
+ i += batchSize;
1344
+ _context.next = 10;
1345
+ break;
1346
+
1347
+ case 20:
1321
1348
  tokens = tokenAddresses.reduce(function (obj, key, index) {
1322
1349
  var _extends2;
1323
1350
 
1324
- return _extends({}, obj, (_extends2 = {}, _extends2[key] = l2AddressesFromL1[index], _extends2));
1351
+ return _extends({}, obj, (_extends2 = {}, _extends2[key] = batches[index], _extends2));
1325
1352
  }, {});
1326
1353
  return _context.abrupt("return", tokens);
1327
1354
 
1328
- case 12:
1355
+ case 22:
1329
1356
  case "end":
1330
1357
  return _context.stop();
1331
1358
  }
@@ -7051,9 +7078,57 @@ var CeloMappingProvider = /*#__PURE__*/function () {
7051
7078
  return CeloMappingProvider;
7052
7079
  }();
7053
7080
 
7081
+ var soneiumMappings = {
7082
+ "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": {
7083
+ childToken: "0xba9986d2381edf1da03b0b9c1f8b00dc4aacc369",
7084
+ decimals: 6
7085
+ },
7086
+ "0xdac17f958d2ee523a2206206994597c13d831ec7": {
7087
+ childToken: "0x3a337a6ada9d885b6ad95ec48f9b75f197b5ae35",
7088
+ decimals: 6
7089
+ },
7090
+ "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": {
7091
+ childToken: "0x4200000000000000000000000000000000000006",
7092
+ decimals: 18
7093
+ }
7094
+ };
7095
+
7096
+ var SoneiumMappingProvider = /*#__PURE__*/function () {
7097
+ function SoneiumMappingProvider() {}
7098
+
7099
+ var _proto = SoneiumMappingProvider.prototype;
7100
+
7101
+ _proto.provide = /*#__PURE__*/function () {
7102
+ var _provide = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7103
+ var tokens;
7104
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
7105
+ while (1) {
7106
+ switch (_context.prev = _context.next) {
7107
+ case 0:
7108
+ tokens = soneiumMappings;
7109
+ return _context.abrupt("return", tokens);
7110
+
7111
+ case 2:
7112
+ case "end":
7113
+ return _context.stop();
7114
+ }
7115
+ }
7116
+ }, _callee);
7117
+ }));
7118
+
7119
+ function provide() {
7120
+ return _provide.apply(this, arguments);
7121
+ }
7122
+
7123
+ return provide;
7124
+ }();
7125
+
7126
+ return SoneiumMappingProvider;
7127
+ }();
7128
+
7054
7129
  var web3 = /*#__PURE__*/new Web3__default["default"](); // chains we support fetching mappings for (can be different than the l2ChainIds arg for buildList)
7055
7130
 
7056
- var CHAINS_WITH_MAPPING_PROVIDERS = [ChainId.ARBITRUM_ONE, ChainId.POLYGON, ChainId.OPTIMISM, ChainId.BNB, ChainId.AVALANCHE, ChainId.CELO, ChainId.BASE, ChainId.UNICHAIN];
7131
+ var CHAINS_WITH_MAPPING_PROVIDERS = [ChainId.ARBITRUM_ONE, ChainId.POLYGON, ChainId.OPTIMISM, ChainId.BNB, ChainId.AVALANCHE, ChainId.CELO, ChainId.BASE, ChainId.UNICHAIN, ChainId.SONEIUM];
7057
7132
  function buildList(_x, _x2) {
7058
7133
  return _buildList.apply(this, arguments);
7059
7134
  } // using a symbol lookup contract call to check whether the token exists on the L2
@@ -7254,6 +7329,9 @@ function getMappingProvider(chainId, l1TokenList) {
7254
7329
  case ChainId.UNICHAIN:
7255
7330
  return new UnichainMappingProvider();
7256
7331
 
7332
+ case ChainId.SONEIUM:
7333
+ return new SoneiumMappingProvider();
7334
+
7257
7335
  default:
7258
7336
  throw new Error("Chain " + chainId + " not supported for fetching mappings.");
7259
7337
  }
@@ -7487,7 +7565,7 @@ function _chainify() {
7487
7565
 
7488
7566
  case 2:
7489
7567
  l1TokenList = _context.sent;
7490
- l2Chains = [ChainId.POLYGON, ChainId.ARBITRUM_ONE, ChainId.OPTIMISM, ChainId.CELO, ChainId.BNB, ChainId.AVALANCHE, ChainId.BASE, ChainId.UNICHAIN];
7568
+ l2Chains = [ChainId.POLYGON, ChainId.ARBITRUM_ONE, ChainId.OPTIMISM, ChainId.CELO, ChainId.BNB, ChainId.AVALANCHE, ChainId.BASE, ChainId.UNICHAIN, ChainId.SONEIUM];
7491
7569
  _context.next = 6;
7492
7570
  return chainifyTokenList(l2Chains, l1TokenListOrPathOrUrl);
7493
7571