@rhinestone/shared-configs 2.16.0 → 2.17.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/configs/chains.json +51 -0
- package/dist/configs/testnets.json +3 -0
- package/dist/scripts/__tests__/validation.test.js +43 -4
- package/dist/scripts/validation.js +7 -1
- package/dist/src/__tests__/chainFactsClient.test.js +15 -7
- package/dist/src/__tests__/chainVirtualization.test.js +11 -1
- package/dist/src/__tests__/solanaDevnet.test.d.ts +1 -0
- package/dist/src/__tests__/solanaDevnet.test.js +86 -0
- package/dist/src/chains.js +52 -0
- package/dist/src/generated/networks.d.ts +2 -1
- package/dist/src/generated/networks.js +1 -0
- package/dist/src/generated/packageVersion.d.ts +1 -1
- package/dist/src/generated/packageVersion.js +1 -1
- package/package.json +1 -1
package/dist/configs/chains.json
CHANGED
|
@@ -3202,5 +3202,56 @@
|
|
|
3202
3202
|
"decimals": 9,
|
|
3203
3203
|
"symbol": "WSOL"
|
|
3204
3204
|
}
|
|
3205
|
+
},
|
|
3206
|
+
"792703810": {
|
|
3207
|
+
"caip2": "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
3208
|
+
"explorer": null,
|
|
3209
|
+
"iconSlug": "solana",
|
|
3210
|
+
"name": "Solana Devnet",
|
|
3211
|
+
"nativeToken": {
|
|
3212
|
+
"address": "11111111111111111111111111111111",
|
|
3213
|
+
"decimals": 9,
|
|
3214
|
+
"symbol": "SOL"
|
|
3215
|
+
},
|
|
3216
|
+
"network": "testnet",
|
|
3217
|
+
"providerIds": {
|
|
3218
|
+
"alchemy": null,
|
|
3219
|
+
"zerion": null
|
|
3220
|
+
},
|
|
3221
|
+
"sessionCapable": false,
|
|
3222
|
+
"settlementLayers": [],
|
|
3223
|
+
"stack": "vanilla",
|
|
3224
|
+
"swapQuoters": [],
|
|
3225
|
+
"tokens": [
|
|
3226
|
+
{
|
|
3227
|
+
"address": "11111111111111111111111111111111",
|
|
3228
|
+
"approvalSlot": null,
|
|
3229
|
+
"balanceSlot": null,
|
|
3230
|
+
"decimals": 9,
|
|
3231
|
+
"symbol": "SOL"
|
|
3232
|
+
},
|
|
3233
|
+
{
|
|
3234
|
+
"address": "So11111111111111111111111111111111111111112",
|
|
3235
|
+
"approvalSlot": null,
|
|
3236
|
+
"balanceSlot": null,
|
|
3237
|
+
"decimals": 9,
|
|
3238
|
+
"priceSymbol": "SOL",
|
|
3239
|
+
"symbol": "WSOL"
|
|
3240
|
+
},
|
|
3241
|
+
{
|
|
3242
|
+
"address": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
|
|
3243
|
+
"approvalSlot": null,
|
|
3244
|
+
"balanceSlot": null,
|
|
3245
|
+
"decimals": 6,
|
|
3246
|
+
"pegGroup": "USD",
|
|
3247
|
+
"symbol": "USDC"
|
|
3248
|
+
}
|
|
3249
|
+
],
|
|
3250
|
+
"vmType": "svm",
|
|
3251
|
+
"wrappedNativeToken": {
|
|
3252
|
+
"address": "So11111111111111111111111111111111111111112",
|
|
3253
|
+
"decimals": 9,
|
|
3254
|
+
"symbol": "WSOL"
|
|
3255
|
+
}
|
|
3205
3256
|
}
|
|
3206
3257
|
}
|
|
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const bun_test_1 = require("bun:test");
|
|
7
7
|
const viem_1 = require("viem");
|
|
8
|
-
const validation_1 = require("../validation");
|
|
9
|
-
const index_1 = require("../../src/index");
|
|
10
|
-
const oft_json_1 = __importDefault(require("../../configs/oft.json"));
|
|
11
8
|
const chain_indexer_json_1 = __importDefault(require("../../configs/chain-indexer.json"));
|
|
9
|
+
const oft_json_1 = __importDefault(require("../../configs/oft.json"));
|
|
10
|
+
const index_1 = require("../../src/index");
|
|
11
|
+
const validation_1 = require("../validation");
|
|
12
12
|
const nativeToken = { address: "0x0", symbol: "ETH", decimals: 18 };
|
|
13
13
|
const usdcAddress = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48";
|
|
14
14
|
const validAuthorization = {
|
|
@@ -344,6 +344,43 @@ function errorsFor(chain) {
|
|
|
344
344
|
(0, bun_test_1.expect)(result.issues[0].message).toContain("no settlement layers");
|
|
345
345
|
(0, bun_test_1.expect)(result.hasErrors).toBe(true);
|
|
346
346
|
});
|
|
347
|
+
(0, bun_test_1.it)("allows only the exact same-chain Solana Devnet identity without settlement layers", () => {
|
|
348
|
+
const devnet = validChain({
|
|
349
|
+
name: "Solana Devnet",
|
|
350
|
+
vmType: "svm",
|
|
351
|
+
network: "testnet",
|
|
352
|
+
caip2: "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
353
|
+
settlementLayers: [],
|
|
354
|
+
providerIds: { alchemy: null, zerion: null },
|
|
355
|
+
sessionCapable: false,
|
|
356
|
+
});
|
|
357
|
+
(0, bun_test_1.expect)((0, validation_1.validateChainConfig)({ "792703810": devnet }).issues).toEqual([]);
|
|
358
|
+
for (const [chainId, overrides] of [
|
|
359
|
+
["792703811", {}],
|
|
360
|
+
["792703810", { caip2: "solana:wrong" }],
|
|
361
|
+
["792703810", { network: "mainnet" }],
|
|
362
|
+
["792703810", { vmType: "evm" }],
|
|
363
|
+
]) {
|
|
364
|
+
const result = (0, validation_1.validateChainConfig)({
|
|
365
|
+
[chainId]: { ...devnet, ...overrides },
|
|
366
|
+
});
|
|
367
|
+
(0, bun_test_1.expect)(result.issues.some((issue) => issue.message.includes("no settlement layers"))).toBe(true);
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
(0, bun_test_1.it)("still reports structural errors on the exempt Devnet entry", () => {
|
|
371
|
+
const result = (0, validation_1.validateChainConfig)({
|
|
372
|
+
"792703810": validChain({
|
|
373
|
+
name: "Solana Devnet",
|
|
374
|
+
vmType: "svm",
|
|
375
|
+
network: "testnet",
|
|
376
|
+
caip2: "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
377
|
+
settlementLayers: [],
|
|
378
|
+
tokens: {},
|
|
379
|
+
}),
|
|
380
|
+
});
|
|
381
|
+
(0, bun_test_1.expect)(result.issues.some((issue) => issue.message === "tokens is not an array")).toBe(true);
|
|
382
|
+
(0, bun_test_1.expect)(result.hasErrors).toBe(true);
|
|
383
|
+
});
|
|
347
384
|
(0, bun_test_1.it)("returns warning for chain with single settlement layer", () => {
|
|
348
385
|
const chains = {
|
|
349
386
|
"100": validChain({ name: "Gnosis", settlementLayers: ["RELAY"] }),
|
|
@@ -857,7 +894,9 @@ function validIndexerEntry(overrides = {}) {
|
|
|
857
894
|
const withoutExplorer = Object.entries(index_1.chainRegistry)
|
|
858
895
|
.filter(([, e]) => e.explorer == null)
|
|
859
896
|
.map(([id]) => id);
|
|
860
|
-
|
|
897
|
+
// Solana Devnet deliberately omits an explorer: Solscan's Devnet cluster
|
|
898
|
+
// selector is an appended query that the origin-plus-path schema cannot express.
|
|
899
|
+
(0, bun_test_1.expect)(withoutExplorer).toEqual(["792703810"]);
|
|
861
900
|
for (const venueId of ["1337001", "1337002"]) {
|
|
862
901
|
(0, bun_test_1.expect)(index_1.chainRegistry[venueId].explorer.url, venueId).toBe("https://app.hyperliquid.xyz");
|
|
863
902
|
}
|
|
@@ -1119,7 +1119,13 @@ function validateChainConfig(chains) {
|
|
|
1119
1119
|
// Already reported structurally; skip the reachability checks below.
|
|
1120
1120
|
continue;
|
|
1121
1121
|
}
|
|
1122
|
-
|
|
1122
|
+
const isSameChainOnlySolanaDevnet = chainId === '792703810' &&
|
|
1123
|
+
chain.caip2 === 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1' &&
|
|
1124
|
+
chain.vmType === 'svm' &&
|
|
1125
|
+
chain.network === 'testnet' &&
|
|
1126
|
+
!chain.virtual;
|
|
1127
|
+
// Devnet exists for same-chain execution only; it has no bridge route by design.
|
|
1128
|
+
if (layers.length === 0 && !isSameChainOnlySolanaDevnet) {
|
|
1123
1129
|
issues.push({
|
|
1124
1130
|
severity: 'error',
|
|
1125
1131
|
chainId,
|
|
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const bun_test_1 = require("bun:test");
|
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
|
5
5
|
const chainFactsClient_1 = require("../chainFactsClient");
|
|
6
|
-
const index_1 = require("../index");
|
|
7
6
|
const packageVersion_1 = require("../generated/packageVersion");
|
|
7
|
+
const index_1 = require("../index");
|
|
8
8
|
const REMOTE_URL = "https://example.invalid/chain-facts.json";
|
|
9
9
|
const SIGNATURE_URL = `${REMOTE_URL}.sig`;
|
|
10
10
|
const ETHEREUM = String(index_1.MainnetNetwork.ETHEREUM);
|
|
11
|
+
const SOLANA_DEVNET = "792703810";
|
|
11
12
|
// A real P-256 keypair, signing in DER exactly as KMS ECDSA_SHA_256 does, so
|
|
12
13
|
// these tests exercise the same bytes production will see rather than a
|
|
13
14
|
// convenient stand-in.
|
|
@@ -69,12 +70,6 @@ function withEthereum(overrides) {
|
|
|
69
70
|
[ETHEREUM]: { ...index_1.chainRegistry[ETHEREUM], ...overrides },
|
|
70
71
|
};
|
|
71
72
|
}
|
|
72
|
-
/** The bundled registry minus one chain — the shape a stale artifact has. */
|
|
73
|
-
function registryMissingOneChain() {
|
|
74
|
-
const partial = { ...index_1.chainRegistry };
|
|
75
|
-
delete partial[ETHEREUM];
|
|
76
|
-
return partial;
|
|
77
|
-
}
|
|
78
73
|
function clientWith(extra = {}) {
|
|
79
74
|
return (0, chainFactsClient_1.createChainFactsClient)({
|
|
80
75
|
remoteUrl: REMOTE_URL,
|
|
@@ -123,6 +118,19 @@ function clientWith(extra = {}) {
|
|
|
123
118
|
(0, bun_test_1.expect)(snapshot.version).toBe(packageVersion_1.PACKAGE_VERSION);
|
|
124
119
|
(0, bun_test_1.expect)(Object.keys(client.getChainRegistry())).toEqual(Object.keys(index_1.chainRegistry));
|
|
125
120
|
});
|
|
121
|
+
(0, bun_test_1.it)("accepts a signed full registry carrying Solana Devnet", async () => {
|
|
122
|
+
serveSigned(payload());
|
|
123
|
+
const client = clientWith();
|
|
124
|
+
(0, bun_test_1.expect)(await client.refresh()).toBe(true);
|
|
125
|
+
const snapshot = client.getSnapshot();
|
|
126
|
+
(0, bun_test_1.expect)(snapshot.source).toBe("remote");
|
|
127
|
+
(0, bun_test_1.expect)(snapshot.chains[ETHEREUM]).toBeDefined();
|
|
128
|
+
(0, bun_test_1.expect)(snapshot.chains[SOLANA_DEVNET]).toMatchObject({
|
|
129
|
+
caip2: "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
130
|
+
network: "testnet",
|
|
131
|
+
vmType: "svm",
|
|
132
|
+
});
|
|
133
|
+
});
|
|
126
134
|
(0, bun_test_1.it)("accepts a remote payload that adds chains beyond the bundled set", async () => {
|
|
127
135
|
serveSigned(payload({ ...index_1.chainRegistry, "424242": index_1.chainRegistry[ETHEREUM] }));
|
|
128
136
|
const client = clientWith();
|
|
@@ -5,6 +5,7 @@ const index_1 = require("../index");
|
|
|
5
5
|
const HYPERCORE_SPOT_CAIP2 = "hypercore:spot";
|
|
6
6
|
const HYPERCORE_PERP_CAIP2 = "hypercore:perp";
|
|
7
7
|
const SOLANA_CAIP2 = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
8
|
+
const SOLANA_DEVNET_CAIP2 = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
|
|
8
9
|
const TRON_CAIP2 = "tron:mainnet";
|
|
9
10
|
(0, bun_test_1.describe)("chainVirtualization", () => {
|
|
10
11
|
(0, bun_test_1.describe)("getCaip2", () => {
|
|
@@ -19,6 +20,7 @@ const TRON_CAIP2 = "tron:mainnet";
|
|
|
19
20
|
(0, bun_test_1.it)("emits the registry caip2 for non-EVM chains", () => {
|
|
20
21
|
(0, bun_test_1.expect)((0, index_1.getCaip2)(index_1.MainnetNetwork.SOLANA)).toBe(SOLANA_CAIP2);
|
|
21
22
|
(0, bun_test_1.expect)((0, index_1.getCaip2)(index_1.MainnetNetwork.TRON)).toBe(TRON_CAIP2);
|
|
23
|
+
(0, bun_test_1.expect)((0, index_1.getCaip2)(index_1.TestnetNetwork.SOLANA_DEVNET)).toBe(SOLANA_DEVNET_CAIP2);
|
|
22
24
|
});
|
|
23
25
|
(0, bun_test_1.it)("falls back to eip155:<id> for EVM and unknown chains", () => {
|
|
24
26
|
(0, bun_test_1.expect)((0, index_1.getCaip2)(index_1.MainnetNetwork.ETHEREUM)).toBe(`eip155:${index_1.MainnetNetwork.ETHEREUM}`);
|
|
@@ -40,6 +42,7 @@ const TRON_CAIP2 = "tron:mainnet";
|
|
|
40
42
|
(0, bun_test_1.it)("resolves registry non-EVM caip2 strings", () => {
|
|
41
43
|
(0, bun_test_1.expect)((0, index_1.chainIdFromCaip2)(SOLANA_CAIP2)).toBe(index_1.MainnetNetwork.SOLANA);
|
|
42
44
|
(0, bun_test_1.expect)((0, index_1.chainIdFromCaip2)(TRON_CAIP2)).toBe(index_1.MainnetNetwork.TRON);
|
|
45
|
+
(0, bun_test_1.expect)((0, index_1.chainIdFromCaip2)(SOLANA_DEVNET_CAIP2)).toBe(index_1.TestnetNetwork.SOLANA_DEVNET);
|
|
43
46
|
});
|
|
44
47
|
(0, bun_test_1.it)("resolves eip155 caip2 strings, now that every entry carries one", () => {
|
|
45
48
|
(0, bun_test_1.expect)((0, index_1.chainIdFromCaip2)("eip155:1")).toBe(index_1.MainnetNetwork.ETHEREUM);
|
|
@@ -58,6 +61,7 @@ const TRON_CAIP2 = "tron:mainnet";
|
|
|
58
61
|
for (const id of [
|
|
59
62
|
index_1.MainnetNetwork.SOLANA,
|
|
60
63
|
index_1.MainnetNetwork.TRON,
|
|
64
|
+
index_1.TestnetNetwork.SOLANA_DEVNET,
|
|
61
65
|
index_1.HYPERCORE_SPOT_CHAIN_ID,
|
|
62
66
|
index_1.HYPERCORE_PERP_CHAIN_ID,
|
|
63
67
|
]) {
|
|
@@ -106,6 +110,7 @@ const TRON_CAIP2 = "tron:mainnet";
|
|
|
106
110
|
index_1.MainnetNetwork.ETHEREUM,
|
|
107
111
|
index_1.MainnetNetwork.BASE,
|
|
108
112
|
index_1.MainnetNetwork.SOLANA,
|
|
113
|
+
index_1.TestnetNetwork.SOLANA_DEVNET,
|
|
109
114
|
index_1.MainnetNetwork.TRON,
|
|
110
115
|
]) {
|
|
111
116
|
(0, bun_test_1.expect)((0, index_1.canBeOrigin)(id)).toBe(true);
|
|
@@ -139,8 +144,13 @@ const TRON_CAIP2 = "tron:mainnet";
|
|
|
139
144
|
(0, bun_test_1.it)("still classifies genuine non-EVM chains", () => {
|
|
140
145
|
(0, bun_test_1.expect)((0, index_1.isNonEvmChainId)(index_1.MainnetNetwork.SOLANA)).toBe(true);
|
|
141
146
|
(0, bun_test_1.expect)((0, index_1.isNonEvmChainId)(index_1.MainnetNetwork.TRON)).toBe(true);
|
|
147
|
+
(0, bun_test_1.expect)((0, index_1.isNonEvmChainId)(index_1.TestnetNetwork.SOLANA_DEVNET)).toBe(true);
|
|
142
148
|
(0, bun_test_1.expect)((0, index_1.isNonEvmChainId)(index_1.MainnetNetwork.ETHEREUM)).toBe(false);
|
|
143
|
-
(0, bun_test_1.expect)((0, index_1.getNonEvmChainIds)()).toEqual(bun_test_1.expect.arrayContaining([
|
|
149
|
+
(0, bun_test_1.expect)((0, index_1.getNonEvmChainIds)()).toEqual(bun_test_1.expect.arrayContaining([
|
|
150
|
+
index_1.MainnetNetwork.SOLANA,
|
|
151
|
+
index_1.TestnetNetwork.SOLANA_DEVNET,
|
|
152
|
+
index_1.MainnetNetwork.TRON,
|
|
153
|
+
]));
|
|
144
154
|
});
|
|
145
155
|
});
|
|
146
156
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const oft_1 = require("../oft");
|
|
6
|
+
const DEVNET_ID = 792_703_810;
|
|
7
|
+
const NATIVE_SOL = '11111111111111111111111111111111';
|
|
8
|
+
const WRAPPED_SOL = 'So11111111111111111111111111111111111111112';
|
|
9
|
+
const DEVNET_USDC = '4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU';
|
|
10
|
+
(0, bun_test_1.describe)('Solana Devnet registry', () => {
|
|
11
|
+
(0, bun_test_1.it)('publishes the exact testnet identity without a viem chain', () => {
|
|
12
|
+
(0, bun_test_1.expect)(index_1.TestnetNetwork.SOLANA_DEVNET).toBe(DEVNET_ID);
|
|
13
|
+
const entry = index_1.chainRegistry[String(DEVNET_ID)];
|
|
14
|
+
(0, bun_test_1.expect)(entry).toMatchObject({
|
|
15
|
+
name: 'Solana Devnet',
|
|
16
|
+
caip2: 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
|
|
17
|
+
vmType: 'svm',
|
|
18
|
+
network: 'testnet',
|
|
19
|
+
stack: 'vanilla',
|
|
20
|
+
explorer: null,
|
|
21
|
+
iconSlug: 'solana',
|
|
22
|
+
providerIds: { alchemy: null, zerion: null },
|
|
23
|
+
sessionCapable: false,
|
|
24
|
+
});
|
|
25
|
+
(0, bun_test_1.expect)(index_1.testnetChainList[String(DEVNET_ID)]).toEqual({ providers: [] });
|
|
26
|
+
(0, bun_test_1.expect)(index_1.mainnetChainList[String(DEVNET_ID)]).toBeUndefined();
|
|
27
|
+
for (const viemChains of [index_1.mainnetChains, index_1.testnetChains, index_1.chains]) {
|
|
28
|
+
(0, bun_test_1.expect)(viemChains.some((chain) => Number(chain.id) === DEVNET_ID)).toBe(false);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
(0, bun_test_1.it)('publishes only native SOL, WSOL, and Devnet USDC', () => {
|
|
32
|
+
const entry = index_1.chainRegistry[String(DEVNET_ID)];
|
|
33
|
+
(0, bun_test_1.expect)(entry.nativeToken).toEqual({
|
|
34
|
+
address: NATIVE_SOL,
|
|
35
|
+
decimals: 9,
|
|
36
|
+
symbol: 'SOL',
|
|
37
|
+
});
|
|
38
|
+
(0, bun_test_1.expect)(entry.wrappedNativeToken).toEqual({
|
|
39
|
+
address: WRAPPED_SOL,
|
|
40
|
+
decimals: 9,
|
|
41
|
+
symbol: 'WSOL',
|
|
42
|
+
});
|
|
43
|
+
(0, bun_test_1.expect)(entry.nativeToken.address).not.toBe(entry.wrappedNativeToken.address);
|
|
44
|
+
(0, bun_test_1.expect)(entry.tokens).toEqual([
|
|
45
|
+
{
|
|
46
|
+
address: NATIVE_SOL,
|
|
47
|
+
approvalSlot: null,
|
|
48
|
+
balanceSlot: null,
|
|
49
|
+
decimals: 9,
|
|
50
|
+
symbol: 'SOL',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
address: WRAPPED_SOL,
|
|
54
|
+
approvalSlot: null,
|
|
55
|
+
balanceSlot: null,
|
|
56
|
+
decimals: 9,
|
|
57
|
+
priceSymbol: 'SOL',
|
|
58
|
+
symbol: 'WSOL',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
address: DEVNET_USDC,
|
|
62
|
+
approvalSlot: null,
|
|
63
|
+
balanceSlot: null,
|
|
64
|
+
decimals: 6,
|
|
65
|
+
pegGroup: 'USD',
|
|
66
|
+
symbol: 'USDC',
|
|
67
|
+
},
|
|
68
|
+
]);
|
|
69
|
+
});
|
|
70
|
+
(0, bun_test_1.it)('keeps normal same-chain roles without advertising bridge coverage', () => {
|
|
71
|
+
const entry = index_1.chainRegistry[String(DEVNET_ID)];
|
|
72
|
+
(0, bun_test_1.expect)(entry.settlementLayers).toEqual([]);
|
|
73
|
+
(0, bun_test_1.expect)(entry.swapQuoters).toEqual([]);
|
|
74
|
+
(0, bun_test_1.expect)(entry.settlementConfig).toBeUndefined();
|
|
75
|
+
(0, bun_test_1.expect)(entry.paymentTokens).toBeUndefined();
|
|
76
|
+
(0, bun_test_1.expect)(entry.tokens.every((token) => token.settlementLayers === undefined)).toBe(true);
|
|
77
|
+
(0, bun_test_1.expect)(oft_1.OFT_PROGRAM_IDS[DEVNET_ID]).toBeUndefined();
|
|
78
|
+
for (const config of Object.values(oft_1.OFT_REGISTRY)) {
|
|
79
|
+
(0, bun_test_1.expect)(config.adapters[DEVNET_ID]).toBeUndefined();
|
|
80
|
+
(0, bun_test_1.expect)(config.tokens[DEVNET_ID]).toBeUndefined();
|
|
81
|
+
(0, bun_test_1.expect)(config.layerZeroEids[DEVNET_ID]).toBeUndefined();
|
|
82
|
+
}
|
|
83
|
+
(0, bun_test_1.expect)((0, index_1.canBeOrigin)(DEVNET_ID)).toBe(true);
|
|
84
|
+
(0, bun_test_1.expect)((0, index_1.canBeDestination)(DEVNET_ID)).toBe(true);
|
|
85
|
+
});
|
|
86
|
+
});
|
package/dist/src/chains.js
CHANGED
|
@@ -3306,6 +3306,58 @@ const chains = {
|
|
|
3306
3306
|
"symbol": "WSOL"
|
|
3307
3307
|
},
|
|
3308
3308
|
"providers": []
|
|
3309
|
+
},
|
|
3310
|
+
"792703810": {
|
|
3311
|
+
"caip2": "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
3312
|
+
"explorer": null,
|
|
3313
|
+
"iconSlug": "solana",
|
|
3314
|
+
"name": "Solana Devnet",
|
|
3315
|
+
"nativeToken": {
|
|
3316
|
+
"address": "11111111111111111111111111111111",
|
|
3317
|
+
"decimals": 9,
|
|
3318
|
+
"symbol": "SOL"
|
|
3319
|
+
},
|
|
3320
|
+
"network": "testnet",
|
|
3321
|
+
"providerIds": {
|
|
3322
|
+
"alchemy": null,
|
|
3323
|
+
"zerion": null
|
|
3324
|
+
},
|
|
3325
|
+
"sessionCapable": false,
|
|
3326
|
+
"settlementLayers": [],
|
|
3327
|
+
"stack": "vanilla",
|
|
3328
|
+
"swapQuoters": [],
|
|
3329
|
+
"tokens": [
|
|
3330
|
+
{
|
|
3331
|
+
"address": "11111111111111111111111111111111",
|
|
3332
|
+
"approvalSlot": null,
|
|
3333
|
+
"balanceSlot": null,
|
|
3334
|
+
"decimals": 9,
|
|
3335
|
+
"symbol": "SOL"
|
|
3336
|
+
},
|
|
3337
|
+
{
|
|
3338
|
+
"address": "So11111111111111111111111111111111111111112",
|
|
3339
|
+
"approvalSlot": null,
|
|
3340
|
+
"balanceSlot": null,
|
|
3341
|
+
"decimals": 9,
|
|
3342
|
+
"priceSymbol": "SOL",
|
|
3343
|
+
"symbol": "WSOL"
|
|
3344
|
+
},
|
|
3345
|
+
{
|
|
3346
|
+
"address": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
|
|
3347
|
+
"approvalSlot": null,
|
|
3348
|
+
"balanceSlot": null,
|
|
3349
|
+
"decimals": 6,
|
|
3350
|
+
"pegGroup": "USD",
|
|
3351
|
+
"symbol": "USDC"
|
|
3352
|
+
}
|
|
3353
|
+
],
|
|
3354
|
+
"vmType": "svm",
|
|
3355
|
+
"wrappedNativeToken": {
|
|
3356
|
+
"address": "So11111111111111111111111111111111111111112",
|
|
3357
|
+
"decimals": 9,
|
|
3358
|
+
"symbol": "WSOL"
|
|
3359
|
+
},
|
|
3360
|
+
"providers": []
|
|
3309
3361
|
}
|
|
3310
3362
|
};
|
|
3311
3363
|
exports.chains = chains;
|
|
@@ -42,6 +42,7 @@ var TestnetNetwork;
|
|
|
42
42
|
TestnetNetwork[TestnetNetwork["BASE_SEPOLIA"] = chains_1.baseSepolia.id] = "BASE_SEPOLIA";
|
|
43
43
|
TestnetNetwork[TestnetNetwork["ARBITRUM_SEPOLIA"] = chains_1.arbitrumSepolia.id] = "ARBITRUM_SEPOLIA";
|
|
44
44
|
TestnetNetwork[TestnetNetwork["PLASMA_TESTNET"] = chains_1.plasmaTestnet.id] = "PLASMA_TESTNET";
|
|
45
|
+
TestnetNetwork[TestnetNetwork["SOLANA_DEVNET"] = 792703810] = "SOLANA_DEVNET";
|
|
45
46
|
})(TestnetNetwork || (exports.TestnetNetwork = TestnetNetwork = {}));
|
|
46
47
|
var OPStackChains;
|
|
47
48
|
(function (OPStackChains) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const PACKAGE_VERSION = "2.
|
|
1
|
+
declare const PACKAGE_VERSION = "2.17.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.
|
|
5
|
+
const PACKAGE_VERSION = "2.17.0";
|
|
6
6
|
exports.PACKAGE_VERSION = PACKAGE_VERSION;
|