@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.
- package/dist/constants/chainId.d.ts +2 -1
- package/dist/providers/SoneiumMappingProvider.d.ts +5 -0
- package/dist/token-list-bridge-utils.cjs.development.js +87 -9
- 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 +87 -9
- package/dist/token-list-bridge-utils.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/constants/chainId.ts +2 -0
- package/src/index.ts +1 -0
- package/src/local_mappings/soneium.json +14 -0
- package/src/providers/ArbitrumMappingProvider.test.ts +123 -0
- package/src/providers/ArbitrumMappingProvider.ts +16 -6
- package/src/providers/SoneiumMappingProvider.ts +11 -0
- package/src/providers/index.ts +4 -0
- package/src/utils.ts +2 -0
|
@@ -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,
|
|
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
|
-
|
|
1317
|
-
return getL2TokenAddressesFromL1(tokenAddresses, l1.multiCaller, l2.network.tokenBridge.l1GatewayRouter);
|
|
1340
|
+
batches.push.apply(batches, filteredResults);
|
|
1318
1341
|
|
|
1319
|
-
case
|
|
1320
|
-
|
|
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] =
|
|
1351
|
+
return _extends({}, obj, (_extends2 = {}, _extends2[key] = batches[index], _extends2));
|
|
1325
1352
|
}, {});
|
|
1326
1353
|
return _context.abrupt("return", tokens);
|
|
1327
1354
|
|
|
1328
|
-
case
|
|
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
|
|