@rhinestone/shared-configs 2.3.0 → 2.4.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.
@@ -29,6 +29,7 @@
29
29
  },
30
30
  "oft": {
31
31
  "adapter": "0x6c96de32cea08842dcc4058c14d3aaad7fa41dee",
32
+ "chainKey": "ethereum",
32
33
  "layerZeroEid": 30101
33
34
  },
34
35
  "rhino": {
@@ -161,6 +162,7 @@
161
162
  },
162
163
  "oft": {
163
164
  "adapter": "0xF03b4d9AC1D5d1E7c4cEf54C2A313b9fe051A0aD",
165
+ "chainKey": "optimism",
164
166
  "layerZeroEid": 30111
165
167
  },
166
168
  "rhino": {
@@ -491,6 +493,7 @@
491
493
  },
492
494
  "oft": {
493
495
  "adapter": "0xc07bE8994D035631c36fb4a89C918CeFB2f03EC3",
496
+ "chainKey": "unichain",
494
497
  "layerZeroEid": 30320
495
498
  }
496
499
  },
@@ -628,6 +631,7 @@
628
631
  },
629
632
  "oft": {
630
633
  "adapter": "0x6BA10300f0DC58B7a1e4c0e41f5daBb7D7829e13",
634
+ "chainKey": "polygon",
631
635
  "layerZeroEid": 30109
632
636
  },
633
637
  "rhino": {
@@ -1351,6 +1355,7 @@
1351
1355
  "settlementConfig": {
1352
1356
  "oft": {
1353
1357
  "adapter": "0x02ca37966753bDdDf11216B73B16C1dE756A7CF9",
1358
+ "chainKey": "plasma",
1354
1359
  "layerZeroEid": 30383
1355
1360
  },
1356
1361
  "rhino": {
@@ -1510,6 +1515,7 @@
1510
1515
  },
1511
1516
  "oft": {
1512
1517
  "adapter": "0x14E4A1B13bf7F943c8ff7C51fb60FA964A298D92",
1518
+ "chainKey": "arbitrum",
1513
1519
  "layerZeroEid": 30110
1514
1520
  },
1515
1521
  "rhino": {
@@ -1804,6 +1810,7 @@
1804
1810
  },
1805
1811
  "oft": {
1806
1812
  "adapter": "0x1cB6De532588fCA4a21B7209DE7C456AF8434A65",
1813
+ "chainKey": "ink",
1807
1814
  "layerZeroEid": 30339
1808
1815
  },
1809
1816
  "rhino": {
@@ -2534,6 +2541,7 @@
2534
2541
  },
2535
2542
  "oft": {
2536
2543
  "adapter": "TFG4wBaDQ8sHWWP1ACeSGnoNR6RRzevLPt",
2544
+ "chainKey": "tron",
2537
2545
  "layerZeroEid": 30420
2538
2546
  },
2539
2547
  "rhino": {
@@ -2610,6 +2618,7 @@
2610
2618
  },
2611
2619
  "oft": {
2612
2620
  "adapter": "HyXJcgYpURfDhgzuyRL7zxP4FhLg7LZQMeDrR4MXZcMN",
2621
+ "chainKey": "solana",
2613
2622
  "layerZeroEid": 30168
2614
2623
  },
2615
2624
  "rhino": {
@@ -11,6 +11,19 @@
11
11
  "728126428": "TFG4wBaDQ8sHWWP1ACeSGnoNR6RRzevLPt",
12
12
  "792703809": "HyXJcgYpURfDhgzuyRL7zxP4FhLg7LZQMeDrR4MXZcMN"
13
13
  },
14
+ "chainKeys": {
15
+ "1": "ethereum",
16
+ "10": "optimism",
17
+ "130": "unichain",
18
+ "137": "polygon",
19
+ "9745": "plasma",
20
+ "42161": "arbitrum",
21
+ "57073": "ink",
22
+ "421614": "arbitrum-sepolia",
23
+ "11155111": "sepolia-testnet",
24
+ "728126428": "tron",
25
+ "792703809": "solana"
26
+ },
14
27
  "layerZeroEids": {
15
28
  "1": 30101,
16
29
  "10": 30111,
@@ -394,7 +394,7 @@ function errorsFor(chain) {
394
394
  ["RHINO", "rhino", { chainName: "ETHEREUM" }],
395
395
  ["CCTP", "cctp", { domain: 0 }],
396
396
  ["NEAR", "near", { prefix: "eth" }],
397
- ["OFT", "oft", { adapter: "0xadapter", layerZeroEid: 30101 }],
397
+ ["OFT", "oft", { adapter: "0xadapter", layerZeroEid: 30101, chainKey: "ethereum" }],
398
398
  ])("accepts %s with its payload", (layer, key, payload) => {
399
399
  (0, bun_test_1.expect)(errorsFor(withLayer(layer, { [key]: payload }))).toEqual([]);
400
400
  });
@@ -412,7 +412,10 @@ function errorsFor(chain) {
412
412
  ["RHINO", { rhino: {} }, "rhino.chainName"],
413
413
  ["CCTP", { cctp: { domain: "0" } }, "cctp.domain"],
414
414
  ["NEAR", { near: { prefix: "" } }, "near.prefix"],
415
- ["OFT", { oft: { adapter: "0xa" } }, "oft.layerZeroEid"],
415
+ ["OFT", { oft: { adapter: "0xa", chainKey: "ethereum" } }, "oft.layerZeroEid"],
416
+ // The chain key addresses LayerZero's Value Transfer API, so an OFT layer
417
+ // without one is declared but unquotable.
418
+ ["OFT", { oft: { adapter: "0xa", layerZeroEid: 30101 } }, "oft.chainKey"],
416
419
  ])("rejects %s whose payload is incomplete", (layer, config, field) => {
417
420
  const errors = errorsFor(withLayer(layer, config));
418
421
  (0, bun_test_1.expect)(errors.some((e) => e.message.includes(field))).toBe(true);
@@ -112,7 +112,11 @@ const SETTLEMENT_CONFIG_SCHEMA = {
112
112
  NEAR: { key: 'near', required: { prefix: isNonEmptyString } },
113
113
  OFT: {
114
114
  key: 'oft',
115
- required: { adapter: isNonEmptyString, layerZeroEid: isNonNegativeInt },
115
+ required: {
116
+ adapter: isNonEmptyString,
117
+ layerZeroEid: isNonNegativeInt,
118
+ chainKey: isNonEmptyString,
119
+ },
116
120
  },
117
121
  };
118
122
  // Optional payload fields, shape-checked only when present. `bridgeContract` is
@@ -32,6 +32,7 @@ const chains = {
32
32
  },
33
33
  "oft": {
34
34
  "adapter": "0x6c96de32cea08842dcc4058c14d3aaad7fa41dee",
35
+ "chainKey": "ethereum",
35
36
  "layerZeroEid": 30101
36
37
  },
37
38
  "rhino": {
@@ -168,6 +169,7 @@ const chains = {
168
169
  },
169
170
  "oft": {
170
171
  "adapter": "0xF03b4d9AC1D5d1E7c4cEf54C2A313b9fe051A0aD",
172
+ "chainKey": "optimism",
171
173
  "layerZeroEid": 30111
172
174
  },
173
175
  "rhino": {
@@ -511,6 +513,7 @@ const chains = {
511
513
  },
512
514
  "oft": {
513
515
  "adapter": "0xc07bE8994D035631c36fb4a89C918CeFB2f03EC3",
516
+ "chainKey": "unichain",
514
517
  "layerZeroEid": 30320
515
518
  }
516
519
  },
@@ -652,6 +655,7 @@ const chains = {
652
655
  },
653
656
  "oft": {
654
657
  "adapter": "0x6BA10300f0DC58B7a1e4c0e41f5daBb7D7829e13",
658
+ "chainKey": "polygon",
655
659
  "layerZeroEid": 30109
656
660
  },
657
661
  "rhino": {
@@ -1404,6 +1408,7 @@ const chains = {
1404
1408
  "settlementConfig": {
1405
1409
  "oft": {
1406
1410
  "adapter": "0x02ca37966753bDdDf11216B73B16C1dE756A7CF9",
1411
+ "chainKey": "plasma",
1407
1412
  "layerZeroEid": 30383
1408
1413
  },
1409
1414
  "rhino": {
@@ -1573,6 +1578,7 @@ const chains = {
1573
1578
  },
1574
1579
  "oft": {
1575
1580
  "adapter": "0x14E4A1B13bf7F943c8ff7C51fb60FA964A298D92",
1581
+ "chainKey": "arbitrum",
1576
1582
  "layerZeroEid": 30110
1577
1583
  },
1578
1584
  "rhino": {
@@ -1875,6 +1881,7 @@ const chains = {
1875
1881
  },
1876
1882
  "oft": {
1877
1883
  "adapter": "0x1cB6De532588fCA4a21B7209DE7C456AF8434A65",
1884
+ "chainKey": "ink",
1878
1885
  "layerZeroEid": 30339
1879
1886
  },
1880
1887
  "rhino": {
@@ -2631,6 +2638,7 @@ const chains = {
2631
2638
  },
2632
2639
  "oft": {
2633
2640
  "adapter": "TFG4wBaDQ8sHWWP1ACeSGnoNR6RRzevLPt",
2641
+ "chainKey": "tron",
2634
2642
  "layerZeroEid": 30420
2635
2643
  },
2636
2644
  "rhino": {
@@ -2708,6 +2716,7 @@ const chains = {
2708
2716
  },
2709
2717
  "oft": {
2710
2718
  "adapter": "HyXJcgYpURfDhgzuyRL7zxP4FhLg7LZQMeDrR4MXZcMN",
2719
+ "chainKey": "solana",
2711
2720
  "layerZeroEid": 30168
2712
2721
  },
2713
2722
  "rhino": {
@@ -1,2 +1,2 @@
1
- declare const PACKAGE_VERSION = "2.3.0";
1
+ declare const PACKAGE_VERSION = "2.4.0";
2
2
  export { PACKAGE_VERSION };
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PACKAGE_VERSION = void 0;
4
4
  // Auto-generated by scripts/generate.ts. Do not edit manually.
5
- const PACKAGE_VERSION = "2.3.0";
5
+ const PACKAGE_VERSION = "2.4.0";
6
6
  exports.PACKAGE_VERSION = PACKAGE_VERSION;
@@ -168,6 +168,12 @@ interface OftChainConfig {
168
168
  /** OFT / OFT Adapter contract — third-party, not one of ours. */
169
169
  adapter: string;
170
170
  layerZeroEid: number;
171
+ /**
172
+ * LayerZero's own key for the chain, which addresses its Value Transfer API.
173
+ * Not derivable from anything else here: Ethereum is `ethereum`, Sepolia is
174
+ * `sepolia-testnet`, and the id a consumer holds is ambiguous across VMs.
175
+ */
176
+ chainKey: string;
171
177
  }
172
178
  /**
173
179
  * Per-vendor addressing for the settlement layers this chain has enabled, one
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/shared-configs",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Reusable configuration files for Rhinestone services",
5
5
  "author": {
6
6
  "name": "Rhinestone",