@snowbridge/registry 1.0.5 → 1.0.11

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.
Files changed (41) hide show
  1. package/.prettierrc +23 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/README.md +1 -3
  4. package/dist/index.d.ts +7 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +30 -47
  7. package/dist/local_e2e_bridge_info.g.d.ts +158 -0
  8. package/dist/local_e2e_bridge_info.g.d.ts.map +1 -0
  9. package/dist/local_e2e_bridge_info.g.js +159 -0
  10. package/dist/paseo_sepolia_bridge_info.g.d.ts +353 -0
  11. package/dist/paseo_sepolia_bridge_info.g.d.ts.map +1 -0
  12. package/dist/paseo_sepolia_bridge_info.g.js +373 -0
  13. package/dist/polkadot_mainnet_bridge_info.g.d.ts +2249 -0
  14. package/dist/polkadot_mainnet_bridge_info.g.d.ts.map +1 -0
  15. package/dist/polkadot_mainnet_bridge_info.g.js +2573 -0
  16. package/dist/transfers.d.ts +4 -0
  17. package/dist/transfers.d.ts.map +1 -0
  18. package/dist/transfers.js +96 -0
  19. package/dist/westend_sepolia_bridge_info.g.d.ts +469 -0
  20. package/dist/westend_sepolia_bridge_info.g.d.ts.map +1 -0
  21. package/dist/westend_sepolia_bridge_info.g.js +526 -0
  22. package/package.json +21 -15
  23. package/scripts/buildRegistry.ts +1258 -0
  24. package/scripts/friendlyChains.ts +74 -0
  25. package/src/index.ts +22 -57
  26. package/src/local_e2e_bridge_info.g.ts +157 -0
  27. package/src/paseo_sepolia_bridge_info.g.ts +372 -0
  28. package/src/polkadot_mainnet_bridge_info.g.ts +2597 -0
  29. package/src/transfers.ts +97 -0
  30. package/src/westend_sepolia_bridge_info.g.ts +534 -0
  31. package/tsconfig.json +1 -1
  32. package/tsconfig.scripts.json +23 -0
  33. package/build.ts +0 -35
  34. package/dist/local_e2e.registry.json +0 -347
  35. package/dist/paseo_sepolia.registry.json +0 -150
  36. package/dist/polkadot_mainnet.registry.json +0 -1484
  37. package/dist/westend_sepolia.registry.json +0 -227
  38. package/src/local_e2e.registry.json +0 -347
  39. package/src/paseo_sepolia.registry.json +0 -150
  40. package/src/polkadot_mainnet.registry.json +0 -1484
  41. package/src/westend_sepolia.registry.json +0 -227
@@ -0,0 +1,74 @@
1
+ import {
2
+ ChainMap,
3
+ ChainRef,
4
+ ChainKey,
5
+ ChainKind,
6
+ EthereumChain,
7
+ Parachain,
8
+ } from "@snowbridge/base-types"
9
+
10
+ type RegistryChain = EthereumChain | Parachain
11
+
12
+ const FRIENDLY_NAME_OVERRIDES: Partial<Record<ChainKey<ChainKind>, string>> = {
13
+ ethereum_1: "ethereum",
14
+ polkadot_1000: "assetHub",
15
+ kusama_1000: "kusamaAssetHub",
16
+ polkadot_2004: "moonbeamSubstrate",
17
+ }
18
+
19
+ function wordsForFriendlyName(value: string): string[] {
20
+ return value
21
+ .replace(/([a-z0-9])([A-Z])/g, "$1 $2")
22
+ .replace(/[^a-zA-Z0-9]+/g, " ")
23
+ .trim()
24
+ .split(/\s+/)
25
+ .filter(Boolean)
26
+ }
27
+
28
+ function camelCase(value: string): string {
29
+ const words = wordsForFriendlyName(value)
30
+ if (words.length === 0) return ""
31
+ return words
32
+ .map((word, index) => {
33
+ const lower = word.toLowerCase()
34
+ return index === 0 ? lower : lower[0].toUpperCase() + lower.slice(1)
35
+ })
36
+ .join("")
37
+ }
38
+
39
+ function chainDisplayName(chain: RegistryChain, allChains: RegistryChain[]): string | undefined {
40
+ if ("info" in chain) return chain.info.name
41
+ if (chain.name?.trim()) return chain.name
42
+ if (chain.evmParachainId !== undefined) {
43
+ const linkedParachain = allChains.find(
44
+ (candidate) => candidate.kind === "polkadot" && candidate.id === chain.evmParachainId,
45
+ )
46
+ if (linkedParachain && "info" in linkedParachain) {
47
+ return linkedParachain.info.name
48
+ }
49
+ }
50
+ return undefined
51
+ }
52
+
53
+ export function buildFriendlyChains(chains: RegistryChain[]): ChainMap {
54
+ const chainsByName: ChainMap = {}
55
+ for (const chain of chains) {
56
+ const displayName = chainDisplayName(chain, chains)
57
+ const name =
58
+ FRIENDLY_NAME_OVERRIDES[chain.key] ??
59
+ (displayName ? camelCase(displayName) : undefined) ??
60
+ chain.key
61
+ if (name in chainsByName) {
62
+ const existing = chainsByName[name]
63
+ throw Error(
64
+ `Duplicate friendly chain name '${name}' for ${existing.key} and ${chain.key}.`,
65
+ )
66
+ }
67
+ chainsByName[name] = {
68
+ key: chain.key,
69
+ kind: chain.kind,
70
+ id: chain.id,
71
+ } satisfies ChainRef
72
+ }
73
+ return chainsByName
74
+ }
package/src/index.ts CHANGED
@@ -1,63 +1,28 @@
1
- import { AssetRegistry } from "@snowbridge/base-types";
2
- import polkadot_mainnet from "./polkadot_mainnet.registry.json";
3
- import westend_sepolia from "./westend_sepolia.registry.json";
4
- import paseo_sepolia from "./paseo_sepolia.registry.json";
5
- import local_e2e from "./local_e2e.registry.json";
1
+ export * from "./transfers"
6
2
 
7
- function transformBigInt(obj: any): any {
8
- // Regex to match strings like "bigint:123"
9
- const bigintPattern = /^bigint:(\d+)$/;
3
+ import polkadot_mainnet from "./polkadot_mainnet_bridge_info.g"
4
+ import westend_sepolia from "./westend_sepolia_bridge_info.g"
5
+ import paseo_sepolia from "./paseo_sepolia_bridge_info.g"
6
+ import local_e2e from "./local_e2e_bridge_info.g"
10
7
 
11
- // Handle null or non-object/non-array values
12
- if (obj === null || typeof obj !== "object") {
13
- if (typeof obj === "string") {
14
- const match = obj.match(bigintPattern);
15
- if (match) {
16
- return Object.freeze(BigInt(match[1]));
17
- }
18
- }
19
- return Object.freeze(obj);
20
- }
8
+ export { paseo_sepolia, westend_sepolia, polkadot_mainnet }
21
9
 
22
- // Handle arrays
23
- if (Array.isArray(obj)) {
24
- return Object.freeze(obj.map((item) => transformBigInt(item)));
25
- }
10
+ import { BridgeInfo } from "@snowbridge/base-types"
26
11
 
27
- // Handle objects
28
- const result: { [key: string]: any } = {};
29
- for (const key in obj) {
30
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
31
- result[key] = transformBigInt(obj[key]);
12
+ export function bridgeInfoFor(
13
+ env: "polkadot_mainnet" | "westend_sepolia" | "paseo_sepolia" | "local_e2e" | (string & {}),
14
+ ): Readonly<BridgeInfo> {
15
+ switch (env) {
16
+ case "polkadot_mainnet":
17
+ return polkadot_mainnet satisfies BridgeInfo
18
+ break
19
+ case "westend_sepolia":
20
+ return westend_sepolia satisfies BridgeInfo
21
+ case "paseo_sepolia":
22
+ return paseo_sepolia satisfies BridgeInfo
23
+ case "local_e2e":
24
+ return local_e2e satisfies BridgeInfo
25
+ default:
26
+ throw Error(`Unknown env '${env}'`)
32
27
  }
33
- }
34
- return Object.freeze(result);
35
- }
36
-
37
- const cache: { [env: string]: AssetRegistry } = {};
38
- export function assetRegistryFor(
39
- env: "polkadot_mainnet" | "westend_sepolia" | "paseo_sepolia" | (string & {})
40
- ): AssetRegistry {
41
- if (env in cache) {
42
- return cache[env];
43
- }
44
- let json;
45
- switch (env) {
46
- case "polkadot_mainnet":
47
- json = polkadot_mainnet;
48
- break;
49
- case "westend_sepolia":
50
- json = westend_sepolia;
51
- break;
52
- case "paseo_sepolia":
53
- json = paseo_sepolia;
54
- break;
55
- case "local_e2e":
56
- json = local_e2e;
57
- break;
58
- default:
59
- throw Error(`Unkown env '${env}'`);
60
- }
61
- cache[env] = transformBigInt(json);
62
- return cache[env];
63
28
  }
@@ -0,0 +1,157 @@
1
+ const registry = {
2
+ environment: {
3
+ name: "local_e2e",
4
+ ethChainId: 11155111,
5
+ beaconApiUrl: "http://127.0.0.1:9596",
6
+ ethereumChains: {
7
+ "11155111": "ws://127.0.0.1:8546",
8
+ },
9
+ relaychainUrl: "ws://127.0.0.1:9944",
10
+ parachains: {
11
+ "1000": "ws://127.0.0.1:12144",
12
+ "1002": "ws://127.0.0.1:11144",
13
+ "2000": "ws://127.0.0.1:13144",
14
+ },
15
+ gatewayContract: "0xb1185ede04202fe62d38f5db72f71e38ff3e8305",
16
+ beefyContract: "0x83428c7db9815f482a39a1715684dcf755021997",
17
+ assetHubParaId: 1000,
18
+ bridgeHubParaId: 1002,
19
+ v2_parachains: [1000],
20
+ indexerGraphQlUrl: "http://127.0.0.1/does/not/exist",
21
+ },
22
+ routes: [],
23
+ registry: {
24
+ timestamp: "2026-03-03T03:46:58.680Z",
25
+ environment: "local_e2e",
26
+ ethChainId: 11155111,
27
+ gatewayAddress: "0xb1185ede04202fe62d38f5db72f71e38ff3e8305",
28
+ assetHubParaId: 1000,
29
+ bridgeHubParaId: 1002,
30
+ relaychain: {
31
+ tokenSymbols: "WND",
32
+ tokenDecimals: 12,
33
+ ss58Format: 42,
34
+ isEthereum: false,
35
+ accountType: "AccountId32",
36
+ name: "Westend Local Testnet",
37
+ specName: "westend",
38
+ specVersion: 1021002,
39
+ },
40
+ bridgeHub: {
41
+ tokenSymbols: "WND",
42
+ tokenDecimals: 12,
43
+ ss58Format: 42,
44
+ isEthereum: false,
45
+ accountType: "AccountId32",
46
+ name: "Westend BridgeHub Local",
47
+ specName: "bridge-hub-westend",
48
+ specVersion: 1021002,
49
+ },
50
+ ethereumChains: {
51
+ ethereum_11155111: {
52
+ kind: "ethereum",
53
+ id: 11155111,
54
+ name: "sepolia",
55
+ assets: {
56
+ "0x0000000000000000000000000000000000000000": {
57
+ token: "0x0000000000000000000000000000000000000000",
58
+ name: "Ether",
59
+ symbol: "ETH",
60
+ decimals: 18,
61
+ },
62
+ },
63
+ key: "ethereum_11155111",
64
+ baseDeliveryGas: 120000n,
65
+ },
66
+ },
67
+ parachains: {
68
+ polkadot_1000: {
69
+ id: 1000,
70
+ kind: "polkadot",
71
+ key: "polkadot_1000",
72
+ features: {
73
+ hasPalletXcm: true,
74
+ hasDryRunApi: true,
75
+ hasTxPaymentApi: true,
76
+ hasDryRunRpc: true,
77
+ hasDotBalance: true,
78
+ hasEthBalance: false,
79
+ hasXcmPaymentApi: true,
80
+ supportsAliasOrigin: true,
81
+ xcmVersion: "v5",
82
+ supportsV2: true,
83
+ },
84
+ info: {
85
+ tokenSymbols: "WND",
86
+ tokenDecimals: 12,
87
+ ss58Format: 42,
88
+ isEthereum: false,
89
+ accountType: "AccountId32",
90
+ name: "Westend Asset Hub Local",
91
+ specName: "westmint",
92
+ specVersion: 1021004,
93
+ },
94
+ assets: {
95
+ "0x0000000000000000000000000000000000000000": {
96
+ token: "0x0000000000000000000000000000000000000000",
97
+ name: "Ether",
98
+ minimumBalance: 15000000000000n,
99
+ symbol: "ETH",
100
+ decimals: 18,
101
+ isSufficient: true,
102
+ },
103
+ },
104
+ estimatedExecutionFeeDOT: 0n,
105
+ estimatedDeliveryFeeDOT: 0n,
106
+ },
107
+ polkadot_2000: {
108
+ id: 2000,
109
+ kind: "polkadot",
110
+ key: "polkadot_2000",
111
+ features: {
112
+ hasPalletXcm: true,
113
+ hasDryRunApi: true,
114
+ hasTxPaymentApi: true,
115
+ hasDryRunRpc: true,
116
+ hasDotBalance: true,
117
+ hasEthBalance: false,
118
+ hasXcmPaymentApi: true,
119
+ supportsAliasOrigin: true,
120
+ xcmVersion: "v5",
121
+ supportsV2: false,
122
+ },
123
+ info: {
124
+ tokenSymbols: "undefined",
125
+ tokenDecimals: NaN,
126
+ ss58Format: 42,
127
+ isEthereum: false,
128
+ accountType: "AccountId32",
129
+ name: "Penpal Parachain",
130
+ specName: "penpal-parachain",
131
+ specVersion: 1,
132
+ },
133
+ assets: {},
134
+ estimatedExecutionFeeDOT: 3276800000n,
135
+ estimatedDeliveryFeeDOT: 31450000000n,
136
+ },
137
+ },
138
+ },
139
+ chains: {
140
+ sepolia: {
141
+ key: "ethereum_11155111",
142
+ kind: "ethereum",
143
+ id: 11155111,
144
+ },
145
+ assetHub: {
146
+ key: "polkadot_1000",
147
+ kind: "polkadot",
148
+ id: 1000,
149
+ },
150
+ penpalParachain: {
151
+ key: "polkadot_2000",
152
+ kind: "polkadot",
153
+ id: 2000,
154
+ },
155
+ },
156
+ } as const
157
+ export default registry
@@ -0,0 +1,372 @@
1
+ const registry = {
2
+ environment: {
3
+ name: "paseo_sepolia",
4
+ ethChainId: 11155111,
5
+ beaconApiUrl: "https://lodestar-sepolia.chainsafe.io",
6
+ ethereumChains: {
7
+ "11155111": "https://ethereum-sepolia-rpc.publicnode.com",
8
+ },
9
+ relaychainUrl: "wss://paseo-rpc.n.dwellir.com",
10
+ parachains: {
11
+ "1000": "wss://asset-hub-paseo-rpc.n.dwellir.com",
12
+ "1002": "wss://bridge-hub-paseo.dotters.network",
13
+ "2043": "wss://parachain-testnet-rpc.origin-trail.network",
14
+ "3369": "wss://paseo-muse-rpc.polkadot.io",
15
+ },
16
+ gatewayContract: "0x1607c1368bc943130258318c91bbd8cff3d063e6",
17
+ beefyContract: "0x2c780945beb1241fe9c645800110cb9c4bbbb639",
18
+ assetHubParaId: 1000,
19
+ bridgeHubParaId: 1002,
20
+ v2_parachains: [1000],
21
+ indexerGraphQlUrl:
22
+ "https://snowbridge.squids.live/snowbridge-subsquid-paseo@v1/api/graphql",
23
+ metadataOverrides: {
24
+ "0xef32abea56beff54f61da319a7311098d6fbcea9": {
25
+ name: "OriginTrail TRAC",
26
+ symbol: "TRAC",
27
+ },
28
+ },
29
+ },
30
+ routes: [
31
+ {
32
+ from: {
33
+ kind: "ethereum",
34
+ id: 11155111,
35
+ },
36
+ to: {
37
+ kind: "polkadot",
38
+ id: 1000,
39
+ },
40
+ assets: [
41
+ "0x0000000000000000000000000000000000000000",
42
+ "0x22e12ed4e6bcde652a73552dde340fcb972eef89",
43
+ "0xef32abea56beff54f61da319a7311098d6fbcea9",
44
+ "0x99e743964c036bc28931fb564817db428aa7f752",
45
+ "0xfff9976782d46cc05630d1f6ebab18b2324d6b14",
46
+ ],
47
+ },
48
+ {
49
+ from: {
50
+ kind: "polkadot",
51
+ id: 1000,
52
+ },
53
+ to: {
54
+ kind: "ethereum",
55
+ id: 11155111,
56
+ },
57
+ assets: [
58
+ "0x0000000000000000000000000000000000000000",
59
+ "0x22e12ed4e6bcde652a73552dde340fcb972eef89",
60
+ "0xef32abea56beff54f61da319a7311098d6fbcea9",
61
+ "0x99e743964c036bc28931fb564817db428aa7f752",
62
+ "0xfff9976782d46cc05630d1f6ebab18b2324d6b14",
63
+ ],
64
+ },
65
+ {
66
+ from: {
67
+ kind: "ethereum",
68
+ id: 11155111,
69
+ },
70
+ to: {
71
+ kind: "polkadot",
72
+ id: 2043,
73
+ },
74
+ assets: ["0xef32abea56beff54f61da319a7311098d6fbcea9"],
75
+ },
76
+ {
77
+ from: {
78
+ kind: "polkadot",
79
+ id: 2043,
80
+ },
81
+ to: {
82
+ kind: "ethereum",
83
+ id: 11155111,
84
+ },
85
+ assets: ["0xef32abea56beff54f61da319a7311098d6fbcea9"],
86
+ },
87
+ {
88
+ from: {
89
+ kind: "ethereum",
90
+ id: 11155111,
91
+ },
92
+ to: {
93
+ kind: "polkadot",
94
+ id: 3369,
95
+ },
96
+ assets: ["0xb34a6924a02100ba6ef12af1c798285e8f7a16ee"],
97
+ },
98
+ {
99
+ from: {
100
+ kind: "polkadot",
101
+ id: 3369,
102
+ },
103
+ to: {
104
+ kind: "ethereum",
105
+ id: 11155111,
106
+ },
107
+ assets: ["0xb34a6924a02100ba6ef12af1c798285e8f7a16ee"],
108
+ },
109
+ ],
110
+ registry: {
111
+ timestamp: "2026-03-19T10:22:34.627Z",
112
+ environment: "paseo_sepolia",
113
+ ethChainId: 11155111,
114
+ gatewayAddress: "0x1607c1368bc943130258318c91bbd8cff3d063e6",
115
+ assetHubParaId: 1000,
116
+ bridgeHubParaId: 1002,
117
+ relaychain: {
118
+ tokenSymbols: "PAS",
119
+ tokenDecimals: 10,
120
+ ss58Format: 0,
121
+ isEthereum: false,
122
+ accountType: "AccountId32",
123
+ name: "Paseo Testnet",
124
+ specName: "paseo",
125
+ specVersion: 2000006,
126
+ },
127
+ bridgeHub: {
128
+ tokenSymbols: "PAS",
129
+ tokenDecimals: 10,
130
+ ss58Format: 0,
131
+ isEthereum: false,
132
+ accountType: "AccountId32",
133
+ name: "Paseo Bridge Hub",
134
+ specName: "bridge-hub-paseo",
135
+ specVersion: 2000006,
136
+ },
137
+ ethereumChains: {
138
+ ethereum_11155111: {
139
+ kind: "ethereum",
140
+ id: 11155111,
141
+ name: "sepolia",
142
+ assets: {
143
+ "0x0000000000000000000000000000000000000000": {
144
+ token: "0x0000000000000000000000000000000000000000",
145
+ name: "Ether",
146
+ symbol: "ETH",
147
+ decimals: 18,
148
+ },
149
+ "0xb34a6924a02100ba6ef12af1c798285e8f7a16ee": {
150
+ token: "0xb34a6924a02100ba6ef12af1c798285e8f7a16ee",
151
+ name: "Muse",
152
+ symbol: "MUSE",
153
+ decimals: 18,
154
+ deliveryGas: 80000n,
155
+ },
156
+ "0x22e12ed4e6bcde652a73552dde340fcb972eef89": {
157
+ token: "0x22e12ed4e6bcde652a73552dde340fcb972eef89",
158
+ name: "Wrapped PILT",
159
+ symbol: "wPILT",
160
+ decimals: 15,
161
+ deliveryGas: 80000n,
162
+ },
163
+ "0xef32abea56beff54f61da319a7311098d6fbcea9": {
164
+ token: "0xef32abea56beff54f61da319a7311098d6fbcea9",
165
+ name: "OriginTrail TRAC",
166
+ symbol: "TRAC",
167
+ decimals: 18,
168
+ deliveryGas: 80000n,
169
+ },
170
+ "0x99e743964c036bc28931fb564817db428aa7f752": {
171
+ token: "0x99e743964c036bc28931fb564817db428aa7f752",
172
+ name: "KILT",
173
+ symbol: "KILT",
174
+ decimals: 15,
175
+ deliveryGas: 80000n,
176
+ },
177
+ "0xfff9976782d46cc05630d1f6ebab18b2324d6b14": {
178
+ token: "0xfff9976782d46cc05630d1f6ebab18b2324d6b14",
179
+ name: "Wrapped Ether",
180
+ symbol: "WETH",
181
+ decimals: 18,
182
+ deliveryGas: 80000n,
183
+ },
184
+ },
185
+ key: "ethereum_11155111",
186
+ baseDeliveryGas: 120000n,
187
+ },
188
+ },
189
+ parachains: {
190
+ polkadot_1000: {
191
+ id: 1000,
192
+ kind: "polkadot",
193
+ key: "polkadot_1000",
194
+ features: {
195
+ hasPalletXcm: true,
196
+ hasDryRunApi: true,
197
+ hasTxPaymentApi: true,
198
+ hasDryRunRpc: true,
199
+ hasDotBalance: true,
200
+ hasEthBalance: true,
201
+ hasXcmPaymentApi: true,
202
+ supportsAliasOrigin: true,
203
+ xcmVersion: "v5",
204
+ supportsV2: true,
205
+ },
206
+ info: {
207
+ tokenSymbols: "PAS",
208
+ tokenDecimals: 10,
209
+ ss58Format: 0,
210
+ isEthereum: false,
211
+ accountType: "AccountId32",
212
+ name: "Paseo Asset Hub",
213
+ specName: "asset-hub-paseo",
214
+ specVersion: 2000006,
215
+ },
216
+ assets: {
217
+ "0x0000000000000000000000000000000000000000": {
218
+ token: "0x0000000000000000000000000000000000000000",
219
+ name: "Ether",
220
+ minimumBalance: 15000000000000n,
221
+ symbol: "ETH",
222
+ decimals: 18,
223
+ isSufficient: true,
224
+ },
225
+ "0xb34a6924a02100ba6ef12af1c798285e8f7a16ee": {
226
+ token: "0xb34a6924a02100ba6ef12af1c798285e8f7a16ee",
227
+ name: "",
228
+ minimumBalance: 1n,
229
+ symbol: "",
230
+ decimals: 0,
231
+ isSufficient: false,
232
+ },
233
+ "0x22e12ed4e6bcde652a73552dde340fcb972eef89": {
234
+ token: "0x22e12ed4e6bcde652a73552dde340fcb972eef89",
235
+ name: "",
236
+ minimumBalance: 1n,
237
+ symbol: "",
238
+ decimals: 0,
239
+ isSufficient: false,
240
+ },
241
+ "0xef32abea56beff54f61da319a7311098d6fbcea9": {
242
+ token: "0xef32abea56beff54f61da319a7311098d6fbcea9",
243
+ name: "",
244
+ minimumBalance: 1n,
245
+ symbol: "",
246
+ decimals: 0,
247
+ isSufficient: false,
248
+ },
249
+ "0x99e743964c036bc28931fb564817db428aa7f752": {
250
+ token: "0x99e743964c036bc28931fb564817db428aa7f752",
251
+ name: "",
252
+ minimumBalance: 1n,
253
+ symbol: "",
254
+ decimals: 0,
255
+ isSufficient: false,
256
+ },
257
+ "0xfff9976782d46cc05630d1f6ebab18b2324d6b14": {
258
+ token: "0xfff9976782d46cc05630d1f6ebab18b2324d6b14",
259
+ name: "Wrapped Ether",
260
+ minimumBalance: 15000000000000n,
261
+ symbol: "WETH",
262
+ decimals: 18,
263
+ isSufficient: true,
264
+ },
265
+ },
266
+ estimatedExecutionFeeDOT: 0n,
267
+ estimatedDeliveryFeeDOT: 0n,
268
+ },
269
+ polkadot_2043: {
270
+ id: 2043,
271
+ kind: "polkadot",
272
+ key: "polkadot_2043",
273
+ features: {
274
+ hasPalletXcm: true,
275
+ hasDryRunApi: true,
276
+ hasTxPaymentApi: true,
277
+ hasDryRunRpc: true,
278
+ hasDotBalance: false,
279
+ hasEthBalance: false,
280
+ hasXcmPaymentApi: true,
281
+ supportsAliasOrigin: false,
282
+ xcmVersion: "v4",
283
+ supportsV2: false,
284
+ },
285
+ info: {
286
+ tokenSymbols: "NEURO",
287
+ tokenDecimals: 12,
288
+ ss58Format: 101,
289
+ isEthereum: false,
290
+ accountType: "AccountId32",
291
+ name: "NeuroWeb Testnet",
292
+ specName: "origintrail-parachain",
293
+ specVersion: 151,
294
+ },
295
+ assets: {
296
+ "0xef32abea56beff54f61da319a7311098d6fbcea9": {
297
+ token: "0xef32abea56beff54f61da319a7311098d6fbcea9",
298
+ name: "Trac",
299
+ minimumBalance: 1000000000000000n,
300
+ symbol: "TRAC",
301
+ decimals: 18,
302
+ isSufficient: true,
303
+ },
304
+ },
305
+ estimatedExecutionFeeDOT: 306833n,
306
+ estimatedDeliveryFeeDOT: 307250000n,
307
+ },
308
+ polkadot_3369: {
309
+ id: 3369,
310
+ kind: "polkadot",
311
+ key: "polkadot_3369",
312
+ features: {
313
+ hasPalletXcm: true,
314
+ hasDryRunApi: true,
315
+ hasTxPaymentApi: true,
316
+ hasDryRunRpc: true,
317
+ hasDotBalance: false,
318
+ hasEthBalance: false,
319
+ hasXcmPaymentApi: true,
320
+ supportsAliasOrigin: true,
321
+ xcmVersion: "v5",
322
+ supportsV2: false,
323
+ },
324
+ info: {
325
+ tokenSymbols: "MUSE",
326
+ tokenDecimals: 18,
327
+ ss58Format: 29972,
328
+ isEthereum: true,
329
+ accountType: "AccountId20",
330
+ name: "Muse Testnet",
331
+ specName: "muse",
332
+ specVersion: 1029,
333
+ },
334
+ assets: {
335
+ "0xb34a6924a02100ba6ef12af1c798285e8f7a16ee": {
336
+ token: "0xb34a6924a02100ba6ef12af1c798285e8f7a16ee",
337
+ name: "Muse",
338
+ minimumBalance: 10000000000000000n,
339
+ symbol: "MUSE",
340
+ decimals: 18,
341
+ isSufficient: true,
342
+ },
343
+ },
344
+ estimatedExecutionFeeDOT: 1000000000n,
345
+ estimatedDeliveryFeeDOT: 306650000n,
346
+ },
347
+ },
348
+ },
349
+ chains: {
350
+ sepolia: {
351
+ key: "ethereum_11155111",
352
+ kind: "ethereum",
353
+ id: 11155111,
354
+ },
355
+ assetHub: {
356
+ key: "polkadot_1000",
357
+ kind: "polkadot",
358
+ id: 1000,
359
+ },
360
+ neuroWebTestnet: {
361
+ key: "polkadot_2043",
362
+ kind: "polkadot",
363
+ id: 2043,
364
+ },
365
+ museTestnet: {
366
+ key: "polkadot_3369",
367
+ kind: "polkadot",
368
+ id: 3369,
369
+ },
370
+ },
371
+ } as const
372
+ export default registry