@snowbridge/registry 0.3.3 → 0.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.
Files changed (39) hide show
  1. package/.turbo/turbo-build.log +1 -2
  2. package/dist/index.d.ts +6 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +24 -2
  5. package/dist/paseo_sepolia_bridge_info.g.d.ts +330 -0
  6. package/dist/paseo_sepolia_bridge_info.g.d.ts.map +1 -0
  7. package/dist/paseo_sepolia_bridge_info.g.js +350 -0
  8. package/dist/polkadot_mainnet_bridge_info.g.d.ts +1983 -0
  9. package/dist/polkadot_mainnet_bridge_info.g.d.ts.map +1 -0
  10. package/dist/polkadot_mainnet_bridge_info.g.js +2264 -0
  11. package/dist/transfers.d.ts +3 -8
  12. package/dist/transfers.d.ts.map +1 -1
  13. package/dist/transfers.js +54 -215
  14. package/dist/westend_sepolia_bridge_info.g.d.ts +344 -0
  15. package/dist/westend_sepolia_bridge_info.g.d.ts.map +1 -0
  16. package/dist/westend_sepolia_bridge_info.g.js +376 -0
  17. package/package.json +5 -5
  18. package/scripts/buildRegistry.ts +466 -29
  19. package/src/index.ts +24 -2
  20. package/src/paseo_sepolia_bridge_info.g.ts +349 -0
  21. package/src/polkadot_mainnet_bridge_info.g.ts +2287 -0
  22. package/src/transfers.ts +58 -266
  23. package/src/westend_sepolia_bridge_info.g.ts +384 -0
  24. package/dist/environment.d.ts +0 -3
  25. package/dist/environment.d.ts.map +0 -1
  26. package/dist/environment.js +0 -181
  27. package/dist/local_e2e.registry.json +0 -391
  28. package/dist/paseo_sepolia.registry.json +0 -231
  29. package/dist/polkadot_mainnet.registry.json +0 -1805
  30. package/dist/registry.d.ts +0 -3
  31. package/dist/registry.d.ts.map +0 -1
  32. package/dist/registry.js +0 -61
  33. package/dist/westend_sepolia.registry.json +0 -283
  34. package/src/environment.ts +0 -185
  35. package/src/local_e2e.registry.json +0 -391
  36. package/src/paseo_sepolia.registry.json +0 -231
  37. package/src/polkadot_mainnet.registry.json +0 -1805
  38. package/src/registry.ts +0 -63
  39. package/src/westend_sepolia.registry.json +0 -283
@@ -1,9 +1,4 @@
1
- import { AssetRegistry, EthereumChain, Parachain, Path, Source, TransferLocation } from "@snowbridge/base-types";
2
- export declare function transferSourcesFor(env: "polkadot_mainnet" | "westend_sepolia" | "paseo_sepolia" | (string & {})): Source[];
3
- export declare function getEthereumTransferLocation(registry: AssetRegistry, ethChain: EthereumChain): TransferLocation;
4
- export declare function getSubstrateTransferLocation(parachain: Parachain): TransferLocation;
5
- export declare function getTransferLocation(registry: AssetRegistry, sourceType: string, sourceKey: string): TransferLocation;
6
- export declare function getTransferLocationKusama(registry: AssetRegistry, network: string, parachainId: string): TransferLocation;
7
- export declare function getTransferLocations(registry: AssetRegistry, filter?: (path: Path) => boolean): Source[];
8
- export declare function defaultPathFilter(envName: string): (_: Path) => boolean;
1
+ import { AssetRegistry, TransferLocation, Source, ChainId, TransferRoute } from "@snowbridge/base-types";
2
+ export declare function getTransferLocation(registry: AssetRegistry, chain: ChainId): TransferLocation;
3
+ export declare function getTransferLocations(routes: readonly TransferRoute[]): Source[];
9
4
  //# sourceMappingURL=transfers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfers.d.ts","sourceRoot":"","sources":["../src/transfers.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAEb,aAAa,EACb,SAAS,EACT,IAAI,EACJ,MAAM,EAEN,gBAAgB,EACnB,MAAM,wBAAwB,CAAA;AAK/B,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAC9E,MAAM,EAAE,CAKV;AAED,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,GACxB,gBAAgB,CAoBlB;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAQnF;AAED,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB,gBAAgB,CAMlB;AAED,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GACpB,gBAAgB,CAMlB;AAED,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,GACjC,MAAM,EAAE,CA2HV;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,CA+EvE"}
1
+ {"version":3,"file":"transfers.d.ts","sourceRoot":"","sources":["../src/transfers.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,gBAAgB,EAChB,MAAM,EAGN,OAAO,EACP,aAAa,EAChB,MAAM,wBAAwB,CAAA;AAE/B,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA8C7F;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,EAAE,CAuB/E"}
package/dist/transfers.js CHANGED
@@ -1,238 +1,77 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transferSourcesFor = transferSourcesFor;
4
- exports.getEthereumTransferLocation = getEthereumTransferLocation;
5
- exports.getSubstrateTransferLocation = getSubstrateTransferLocation;
6
3
  exports.getTransferLocation = getTransferLocation;
7
- exports.getTransferLocationKusama = getTransferLocationKusama;
8
4
  exports.getTransferLocations = getTransferLocations;
9
- exports.defaultPathFilter = defaultPathFilter;
10
- const registry_1 = require("./registry");
11
- const cache = {};
12
- function transferSourcesFor(env) {
13
- if (env in cache) {
14
- return cache[env];
15
- }
16
- return getTransferLocations((0, registry_1.assetRegistryFor)(env));
17
- }
18
- function getEthereumTransferLocation(registry, ethChain) {
19
- if (!ethChain.evmParachainId) {
20
- return {
21
- id: "ethereum",
22
- name: "Ethereum",
23
- type: "ethereum",
24
- key: ethChain.chainId.toString(),
25
- ethChain,
5
+ function getTransferLocation(registry, chain) {
6
+ let location = null;
7
+ if (chain.kind === "kusama" && registry.kusama) {
8
+ const parachain = registry.kusama.parachains[`${chain.kind}_${chain.id}`];
9
+ location = {
10
+ id: parachain.id,
11
+ kind: parachain.kind,
12
+ name: parachain.info.name,
13
+ key: parachain.key,
14
+ parachain,
26
15
  };
27
16
  }
28
- else {
29
- const evmChain = registry.parachains[ethChain.evmParachainId];
30
- return {
31
- id: ethChain.id,
32
- name: `${evmChain.info.name} (EVM)`,
33
- key: ethChain.chainId.toString(),
34
- type: "ethereum",
35
- ethChain,
36
- parachain: evmChain,
17
+ else if (chain.kind === "polkadot") {
18
+ const parachain = registry.parachains[`${chain.kind}_${chain.id}`];
19
+ location = {
20
+ id: parachain.id,
21
+ kind: parachain.kind,
22
+ name: parachain.info.name,
23
+ key: parachain.key,
24
+ parachain,
37
25
  };
38
26
  }
39
- }
40
- function getSubstrateTransferLocation(parachain) {
41
- return {
42
- id: parachain.info.specName,
43
- name: parachain.info.name,
44
- key: parachain.parachainId.toString(),
45
- type: "substrate",
46
- parachain,
47
- };
48
- }
49
- function getTransferLocation(registry, sourceType, sourceKey) {
50
- if (sourceType === "ethereum") {
51
- return getEthereumTransferLocation(registry, registry.ethereumChains[sourceKey]);
52
- }
53
- else {
54
- return getSubstrateTransferLocation(registry.parachains[sourceKey]);
55
- }
56
- }
57
- function getTransferLocationKusama(registry, network, parachainId) {
58
- if (network === "kusama" && registry.kusama) {
59
- return getSubstrateTransferLocation(registry.kusama?.parachains[parachainId]);
60
- }
61
- else {
62
- return getSubstrateTransferLocation(registry.parachains[parachainId]);
63
- }
64
- }
65
- function getTransferLocations(registry, filter) {
66
- const ethChain = registry.ethereumChains[registry.ethChainId];
67
- const parachains = Object.keys(registry.parachains)
68
- .filter((p) => p !== registry.bridgeHubParaId.toString())
69
- .map((p) => registry.parachains[p]);
70
- const pathFilter = filter ?? defaultPathFilter(registry.environment);
71
- const locations = [];
72
- const ethAssets = Object.keys(ethChain.assets);
73
- // Bridged paths
74
- for (const parachain of parachains) {
75
- const destinationAssets = Object.keys(parachain.assets);
76
- const commonAssets = new Set(ethAssets.filter((sa) => destinationAssets.find((da) => da === sa)));
77
- for (const asset of commonAssets) {
78
- const p1 = {
79
- type: "ethereum",
80
- id: "ethereum",
81
- source: ethChain.chainId,
82
- destinationType: "substrate",
83
- destination: parachain.parachainId,
84
- asset,
27
+ else if (chain.kind === "ethereum") {
28
+ const ethChain = registry.ethereumChains[`${chain.kind}_${chain.id}`];
29
+ if (!ethChain.evmParachainId) {
30
+ location = {
31
+ kind: ethChain.kind,
32
+ id: ethChain.id,
33
+ key: ethChain.key,
34
+ name: "Ethereum",
35
+ ethChain,
85
36
  };
86
- if (pathFilter(p1)) {
87
- locations.push(p1);
88
- }
89
- const p2 = {
90
- type: "substrate",
91
- id: parachain.info.specName,
92
- source: parachain.parachainId,
93
- destinationType: "ethereum",
94
- destination: ethChain.chainId,
95
- asset,
96
- };
97
- if (pathFilter(p2)) {
98
- locations.push(p2);
99
- }
100
- if (parachain.info.evmChainId && registry.ethereumChains[parachain.info.evmChainId]) {
101
- const p3 = {
102
- type: "ethereum",
103
- id: `${parachain.info.specName}_evm`,
104
- source: parachain.info.evmChainId,
105
- destinationType: "ethereum",
106
- destination: ethChain.chainId,
107
- asset,
108
- };
109
- if (pathFilter(p3)) {
110
- locations.push(p3);
111
- }
112
- }
113
37
  }
114
- }
115
- // Local paths
116
- const assetHub = registry.parachains[registry.assetHubParaId];
117
- for (const parachain of parachains) {
118
- if (parachain.parachainId === assetHub.parachainId)
119
- continue;
120
- const assetHubAssets = Object.keys(assetHub.assets);
121
- const destinationAssets = Object.keys(parachain.assets);
122
- // The asset exists on ethereum, parachain and asset hub
123
- const commonAssets = new Set(ethAssets.filter((sa) => assetHubAssets.find((da) => da === sa) &&
124
- destinationAssets.find((da) => da === sa)));
125
- for (const asset of commonAssets) {
126
- const p1 = {
127
- type: "substrate",
128
- id: assetHub.info.specName,
129
- source: assetHub.parachainId,
130
- destinationType: "substrate",
131
- destination: parachain.parachainId,
132
- asset,
133
- };
134
- if (pathFilter(p1)) {
135
- locations.push(p1);
136
- }
137
- const p2 = {
138
- type: "substrate",
139
- id: parachain.info.specName,
140
- source: parachain.parachainId,
141
- destinationType: "substrate",
142
- destination: assetHub.parachainId,
143
- asset,
38
+ else {
39
+ const evmChain = registry.parachains[`polkadot_${ethChain.evmParachainId}`];
40
+ location = {
41
+ kind: ethChain.kind,
42
+ id: ethChain.id,
43
+ key: ethChain.key,
44
+ name: `${evmChain.info.name} (EVM)`,
45
+ ethChain,
46
+ parachain: evmChain,
144
47
  };
145
- if (pathFilter(p2)) {
146
- locations.push(p2);
147
- }
148
48
  }
149
49
  }
150
- const results = [];
151
- for (const location of locations) {
152
- let source = results.find((s) => s.type === location.type &&
153
- s.id === location.id &&
154
- s.key === location.source.toString());
50
+ if (location === null)
51
+ throw Error(`Unknown ${chain.kind} chain ${chain.id}.`);
52
+ return location;
53
+ }
54
+ function getTransferLocations(routes) {
55
+ let sources = [];
56
+ for (const route of routes) {
57
+ let source = sources.find((s) => s.id === route.from.id && s.kind === route.from.kind);
155
58
  if (!source) {
156
59
  source = {
157
- type: location.type,
158
- id: location.id,
159
- key: location.source.toString(),
60
+ key: `${route.from.kind}_${route.from.id}`,
61
+ ...route.from,
160
62
  destinations: {},
161
63
  };
162
- results.push(source);
64
+ sources.push(source);
163
65
  }
164
- let destination = source.destinations[location.destination];
66
+ const destId = `${route.to.kind}_${route.to.id}`;
67
+ let destination = source.destinations[destId];
165
68
  if (!destination) {
166
- destination = { type: location.destinationType, assets: [] };
167
- source.destinations[location.destination] = destination;
168
- }
169
- destination.assets.push(location.asset);
170
- }
171
- return results;
172
- }
173
- function defaultPathFilter(envName) {
174
- switch (envName) {
175
- case "westend_sepolia": {
176
- return (path) => {
177
- // Frequency
178
- if (path.asset === "0x72c610e05eaafcdf1fa7a2da15374ee90edb1620") {
179
- return false;
180
- }
181
- // Disable para to para transfers
182
- if (path.type === "substrate" && path.destinationType === "substrate") {
183
- return false;
184
- }
185
- return true;
69
+ source.destinations[destId] = {
70
+ key: destId,
71
+ ...route.to,
72
+ assets: [...route.assets],
186
73
  };
187
74
  }
188
- case "paseo_sepolia":
189
- return (path) => {
190
- // Disallow MUSE to any location but 3369
191
- if (path.asset === "0xb34a6924a02100ba6ef12af1c798285e8f7a16ee" &&
192
- ((path.destination !== 3369 && path.type === "ethereum") ||
193
- (path.source !== 3369 && path.type === "substrate"))) {
194
- return false;
195
- }
196
- // Disable para to para transfers
197
- if (path.type === "substrate" && path.destinationType === "substrate") {
198
- return false;
199
- }
200
- return true;
201
- };
202
- case "polkadot_mainnet":
203
- return (path) => {
204
- // Disallow MYTH to any location but 3369
205
- if (path.asset === "0xba41ddf06b7ffd89d1267b5a93bfef2424eb2003" &&
206
- ((path.destination !== 3369 && path.type === "ethereum") ||
207
- (path.source !== 3369 && path.type === "substrate"))) {
208
- return false;
209
- }
210
- // Allow TRAC to go to Hydration (2034) and Neuroweb (2043) only
211
- if (path.asset === "0xaa7a9ca87d3694b5755f213b5d04094b8d0f0a6f" &&
212
- ((path.destination !== 2034 &&
213
- path.destination !== 2043 &&
214
- path.type === "ethereum") ||
215
- (path.source !== 2034 && path.source !== 2043 && path.type === "substrate"))) {
216
- return false;
217
- }
218
- // Disable stable coins in the UI from Ethereum to Polkadot
219
- if ((path.asset === "0x9d39a5de30e57443bff2a8307a4256c8797a3497" || // Staked USDe
220
- path.asset === "0xa3931d71877c0e7a3148cb7eb4463524fec27fbd" || // Savings USD
221
- path.asset === "0x6b175474e89094c44da98b954eedeac495271d0f") && // DAI
222
- path.destination === 2034 // Hydration
223
- ) {
224
- return false;
225
- }
226
- // Disable para to para transfers except for hydration
227
- if (path.type === "substrate" &&
228
- path.destinationType === "substrate" &&
229
- !((path.source === 2034 && path.destination == 1000) ||
230
- (path.source === 1000 && path.destination === 2034))) {
231
- return false;
232
- }
233
- return true;
234
- };
235
- default:
236
- return (_) => true;
237
75
  }
76
+ return sources;
238
77
  }
@@ -0,0 +1,344 @@
1
+ declare const registry: {
2
+ readonly environment: {
3
+ readonly name: "westend_sepolia";
4
+ readonly ethChainId: 11155111;
5
+ readonly beaconApiUrl: "https://lodestar-sepolia.chainsafe.io";
6
+ readonly ethereumChains: {
7
+ readonly "84532": "https://base-sepolia-rpc.publicnode.com";
8
+ readonly "11155111": "https://ethereum-sepolia-rpc.publicnode.com";
9
+ };
10
+ readonly relaychainUrl: "wss://westend-rpc.n.dwellir.com";
11
+ readonly parachains: {
12
+ readonly "1000": "wss://asset-hub-westend-rpc.n.dwellir.com";
13
+ readonly "1002": "wss://bridge-hub-westend-rpc.n.dwellir.com";
14
+ };
15
+ readonly gatewayContract: "0x9ed8b47bc3417e3bd0507adc06e56e2fa360a4e9";
16
+ readonly beefyContract: "0xA04460B1D8bBef33F54edB2C3115e3E4D41237A6";
17
+ readonly assetHubParaId: 1000;
18
+ readonly bridgeHubParaId: 1002;
19
+ readonly v2_parachains: readonly [1000];
20
+ readonly indexerGraphQlUrl: "https://snowbridge.squids.live/snowbridge-subsquid-westend@v1/api/graphql";
21
+ readonly l2Bridge: {
22
+ readonly acrossAPIUrl: "https://testnet.across.to/api";
23
+ readonly l1AdapterAddress: "0xA5B8589bD534701be49916c4d2e634aB1c765Cbf";
24
+ readonly l1HandlerAddress: "0x924a9f036260DdD5808007E1AA95f08eD08aA569";
25
+ readonly l1FeeTokenAddress: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14";
26
+ readonly l1SwapRouterAddress: "0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E";
27
+ readonly l1SwapQuoterAddress: "0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3";
28
+ readonly l2Chains: {
29
+ readonly "84532": {
30
+ readonly adapterAddress: "0xf06939613A3838Af11104c898758220dB9093679";
31
+ readonly feeTokenAddress: "0x4200000000000000000000000000000000000006";
32
+ readonly swapRoutes: readonly [{
33
+ readonly inputToken: "0x4200000000000000000000000000000000000006";
34
+ readonly outputToken: "0xfff9976782d46cc05630d1f6ebab18b2324d6b14";
35
+ readonly swapFee: 0;
36
+ }, {
37
+ readonly inputToken: "0x036cbd53842c5426634e7929541ec2318f3dcf7e";
38
+ readonly outputToken: "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238";
39
+ readonly swapFee: 500;
40
+ }];
41
+ };
42
+ };
43
+ };
44
+ };
45
+ readonly routes: readonly [{
46
+ readonly from: {
47
+ readonly kind: "ethereum";
48
+ readonly id: 11155111;
49
+ };
50
+ readonly to: {
51
+ readonly kind: "polkadot";
52
+ readonly id: 1000;
53
+ };
54
+ readonly assets: readonly ["0x0000000000000000000000000000000000000000", "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", "0xfff9976782d46cc05630d1f6ebab18b2324d6b14", "0x23838b1bb57cecf4422a57dd8e7f8a087b30d54f", "0xb8a0f2703ac6bdd352096c90c2945a097e8f4055", "0xf50fb50d65c8c1f6c72e4d8397c984933afc8f7e"];
55
+ }, {
56
+ readonly from: {
57
+ readonly kind: "polkadot";
58
+ readonly id: 1000;
59
+ };
60
+ readonly to: {
61
+ readonly kind: "ethereum";
62
+ readonly id: 11155111;
63
+ };
64
+ readonly assets: readonly ["0x0000000000000000000000000000000000000000", "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238", "0xfff9976782d46cc05630d1f6ebab18b2324d6b14", "0x23838b1bb57cecf4422a57dd8e7f8a087b30d54f", "0xb8a0f2703ac6bdd352096c90c2945a097e8f4055", "0xf50fb50d65c8c1f6c72e4d8397c984933afc8f7e"];
65
+ }];
66
+ readonly registry: {
67
+ readonly timestamp: "2026-01-28T21:33:34.219Z";
68
+ readonly environment: "westend_sepolia";
69
+ readonly ethChainId: 11155111;
70
+ readonly gatewayAddress: "0x9ed8b47bc3417e3bd0507adc06e56e2fa360a4e9";
71
+ readonly assetHubParaId: 1000;
72
+ readonly bridgeHubParaId: 1002;
73
+ readonly relaychain: {
74
+ readonly tokenSymbols: "WND";
75
+ readonly tokenDecimals: 12;
76
+ readonly ss58Format: 42;
77
+ readonly isEthereum: false;
78
+ readonly accountType: "AccountId32";
79
+ readonly name: "Westend";
80
+ readonly specName: "westend";
81
+ readonly specVersion: 1021001;
82
+ };
83
+ readonly bridgeHub: {
84
+ readonly tokenSymbols: "WND";
85
+ readonly tokenDecimals: 12;
86
+ readonly ss58Format: 42;
87
+ readonly isEthereum: false;
88
+ readonly accountType: "AccountId32";
89
+ readonly name: "Westend BridgeHub";
90
+ readonly specName: "bridge-hub-westend";
91
+ readonly specVersion: 1021000;
92
+ };
93
+ readonly ethereumChains: {
94
+ readonly ethereum_l2_84532: {
95
+ readonly kind: "ethereum_l2";
96
+ readonly id: 84532;
97
+ readonly assets: {
98
+ readonly "0x4200000000000000000000000000000000000006": {
99
+ readonly token: "0x4200000000000000000000000000000000000006";
100
+ readonly name: "Wrapped Ether";
101
+ readonly symbol: "WETH";
102
+ readonly decimals: 18;
103
+ readonly swapTokenAddress: "0xfff9976782d46cc05630d1f6ebab18b2324d6b14";
104
+ readonly swapFee: 0;
105
+ };
106
+ readonly "0x036cbd53842c5426634e7929541ec2318f3dcf7e": {
107
+ readonly token: "0x036cbd53842c5426634e7929541ec2318f3dcf7e";
108
+ readonly name: "USDC";
109
+ readonly symbol: "USDC";
110
+ readonly decimals: 6;
111
+ readonly swapTokenAddress: "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238";
112
+ readonly swapFee: 500;
113
+ };
114
+ readonly "0x0000000000000000000000000000000000000000": {
115
+ readonly token: "0x0000000000000000000000000000000000000000";
116
+ readonly name: "Ether";
117
+ readonly symbol: "Ether";
118
+ readonly decimals: 18;
119
+ readonly swapTokenAddress: "0x0000000000000000000000000000000000000000";
120
+ readonly swapFee: 0;
121
+ };
122
+ };
123
+ readonly key: "ethereum_l2_84532";
124
+ };
125
+ readonly ethereum_11155111: {
126
+ readonly kind: "ethereum";
127
+ readonly id: 11155111;
128
+ readonly assets: {
129
+ readonly "0x0000000000000000000000000000000000000000": {
130
+ readonly token: "0x0000000000000000000000000000000000000000";
131
+ readonly name: "Ether";
132
+ readonly symbol: "Ether";
133
+ readonly decimals: 18;
134
+ };
135
+ readonly "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238": {
136
+ readonly token: "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238";
137
+ readonly name: "USDC";
138
+ readonly symbol: "USDC";
139
+ readonly decimals: 6;
140
+ readonly deliveryGas: 80000n;
141
+ };
142
+ readonly "0x72c610e05eaafcdf1fa7a2da15374ee90edb1620": {
143
+ readonly token: "0x72c610e05eaafcdf1fa7a2da15374ee90edb1620";
144
+ readonly name: "Frequency";
145
+ readonly symbol: "eFRQCY";
146
+ readonly decimals: 12;
147
+ readonly deliveryGas: 80000n;
148
+ };
149
+ readonly "0xfff9976782d46cc05630d1f6ebab18b2324d6b14": {
150
+ readonly token: "0xfff9976782d46cc05630d1f6ebab18b2324d6b14";
151
+ readonly name: "Wrapped Ether";
152
+ readonly symbol: "WETH";
153
+ readonly decimals: 18;
154
+ readonly deliveryGas: 80000n;
155
+ };
156
+ readonly "0x23838b1bb57cecf4422a57dd8e7f8a087b30d54f": {
157
+ readonly token: "0x23838b1bb57cecf4422a57dd8e7f8a087b30d54f";
158
+ readonly name: "Frequency";
159
+ readonly symbol: "XRQCY";
160
+ readonly decimals: 8;
161
+ readonly foreignId: "0xaf13384cf9612ef1ff4b87470ab247d6f8d8110d4f5af2fe290ce6767818712c";
162
+ readonly deliveryGas: 80000n;
163
+ };
164
+ readonly "0xb8a0f2703ac6bdd352096c90c2945a097e8f4055": {
165
+ readonly token: "0xb8a0f2703ac6bdd352096c90c2945a097e8f4055";
166
+ readonly name: "WND";
167
+ readonly symbol: "WND";
168
+ readonly decimals: 12;
169
+ readonly foreignId: "0x2121cfe35065c0c33465fbada265f08e9613428a4b9eb4bb717cd7db2abf622e";
170
+ readonly deliveryGas: 80000n;
171
+ };
172
+ readonly "0xf50fb50d65c8c1f6c72e4d8397c984933afc8f7e": {
173
+ readonly token: "0xf50fb50d65c8c1f6c72e4d8397c984933afc8f7e";
174
+ readonly name: "WND";
175
+ readonly symbol: "WND";
176
+ readonly decimals: 12;
177
+ readonly foreignId: "0x9441dceeeffa7e032eedaccf9b7632e60e86711551a82ffbbb0dda8afd9e4ef7";
178
+ readonly deliveryGas: 80000n;
179
+ };
180
+ };
181
+ readonly key: "ethereum_11155111";
182
+ readonly baseDeliveryGas: 120000n;
183
+ };
184
+ };
185
+ readonly parachains: {
186
+ readonly polkadot_1000: {
187
+ readonly id: 1000;
188
+ readonly kind: "polkadot";
189
+ readonly key: "polkadot_1000";
190
+ readonly features: {
191
+ readonly hasPalletXcm: true;
192
+ readonly hasDryRunApi: true;
193
+ readonly hasTxPaymentApi: true;
194
+ readonly hasDryRunRpc: true;
195
+ readonly hasDotBalance: true;
196
+ readonly hasEthBalance: true;
197
+ readonly hasXcmPaymentApi: true;
198
+ readonly supportsAliasOrigin: true;
199
+ readonly xcmVersion: "v5";
200
+ readonly supportsV2: true;
201
+ };
202
+ readonly info: {
203
+ readonly tokenSymbols: "WND";
204
+ readonly tokenDecimals: 12;
205
+ readonly ss58Format: 42;
206
+ readonly isEthereum: false;
207
+ readonly accountType: "AccountId32";
208
+ readonly name: "Westend Asset Hub";
209
+ readonly specName: "westmint";
210
+ readonly specVersion: 1021000;
211
+ };
212
+ readonly assets: {
213
+ readonly "0x0000000000000000000000000000000000000000": {
214
+ readonly token: "0x0000000000000000000000000000000000000000";
215
+ readonly name: "Ether";
216
+ readonly minimumBalance: 15000n;
217
+ readonly symbol: "Ether";
218
+ readonly decimals: 18;
219
+ readonly isSufficient: true;
220
+ };
221
+ readonly "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238": {
222
+ readonly token: "0x1c7d4b196cb0c7b01d743fbc6116a902379c7238";
223
+ readonly name: "";
224
+ readonly minimumBalance: 1n;
225
+ readonly symbol: "";
226
+ readonly decimals: 0;
227
+ readonly isSufficient: false;
228
+ };
229
+ readonly "0x72c610e05eaafcdf1fa7a2da15374ee90edb1620": {
230
+ readonly token: "0x72c610e05eaafcdf1fa7a2da15374ee90edb1620";
231
+ readonly name: "";
232
+ readonly minimumBalance: 1n;
233
+ readonly symbol: "";
234
+ readonly decimals: 0;
235
+ readonly isSufficient: false;
236
+ };
237
+ readonly "0xfff9976782d46cc05630d1f6ebab18b2324d6b14": {
238
+ readonly token: "0xfff9976782d46cc05630d1f6ebab18b2324d6b14";
239
+ readonly name: "Wrapped Ether";
240
+ readonly minimumBalance: 15000000000000n;
241
+ readonly symbol: "WETH";
242
+ readonly decimals: 18;
243
+ readonly isSufficient: true;
244
+ };
245
+ readonly "0x23838b1bb57cecf4422a57dd8e7f8a087b30d54f": {
246
+ readonly token: "0x23838b1bb57cecf4422a57dd8e7f8a087b30d54f";
247
+ readonly name: "";
248
+ readonly symbol: "";
249
+ readonly decimals: 0;
250
+ readonly locationOnEthereum: {
251
+ readonly parents: 1;
252
+ readonly interior: {
253
+ readonly x2: readonly [{
254
+ readonly globalConsensus: {
255
+ readonly byGenesis: "0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e";
256
+ };
257
+ }, {
258
+ readonly parachain: 2313;
259
+ }];
260
+ };
261
+ };
262
+ readonly location: {
263
+ readonly parents: 1;
264
+ readonly interior: {
265
+ readonly x1: readonly [{
266
+ readonly parachain: 2313;
267
+ }];
268
+ };
269
+ };
270
+ readonly locationOnAH: {
271
+ readonly parents: 1;
272
+ readonly interior: {
273
+ readonly x1: readonly [{
274
+ readonly parachain: 2313;
275
+ }];
276
+ };
277
+ };
278
+ readonly foreignId: "0xaf13384cf9612ef1ff4b87470ab247d6f8d8110d4f5af2fe290ce6767818712c";
279
+ readonly minimumBalance: 1n;
280
+ readonly isSufficient: false;
281
+ };
282
+ readonly "0xb8a0f2703ac6bdd352096c90c2945a097e8f4055": {
283
+ readonly token: "0xb8a0f2703ac6bdd352096c90c2945a097e8f4055";
284
+ readonly name: "";
285
+ readonly symbol: "WND";
286
+ readonly decimals: 12;
287
+ readonly locationOnEthereum: {
288
+ readonly parents: 1;
289
+ readonly interior: {
290
+ readonly x1: readonly [{
291
+ readonly globalConsensus: {
292
+ readonly byGenesis: "0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e";
293
+ };
294
+ }];
295
+ };
296
+ };
297
+ readonly location: {
298
+ readonly parents: 1;
299
+ readonly interior: "Here";
300
+ };
301
+ readonly locationOnAH: {
302
+ readonly parents: 1;
303
+ readonly interior: "Here";
304
+ };
305
+ readonly foreignId: "0x2121cfe35065c0c33465fbada265f08e9613428a4b9eb4bb717cd7db2abf622e";
306
+ readonly minimumBalance: 1000000000n;
307
+ readonly isSufficient: true;
308
+ };
309
+ readonly "0xf50fb50d65c8c1f6c72e4d8397c984933afc8f7e": {
310
+ readonly token: "0xf50fb50d65c8c1f6c72e4d8397c984933afc8f7e";
311
+ readonly name: "";
312
+ readonly symbol: "WND";
313
+ readonly decimals: 12;
314
+ readonly locationOnEthereum: {
315
+ readonly parents: 1;
316
+ readonly interior: {
317
+ readonly x1: readonly [{
318
+ readonly globalConsensus: {
319
+ readonly byGenesis: "0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e";
320
+ };
321
+ }];
322
+ };
323
+ };
324
+ readonly location: {
325
+ readonly parents: 1;
326
+ readonly interior: "Here";
327
+ };
328
+ readonly locationOnAH: {
329
+ readonly parents: 1;
330
+ readonly interior: "Here";
331
+ };
332
+ readonly foreignId: "0x9441dceeeffa7e032eedaccf9b7632e60e86711551a82ffbbb0dda8afd9e4ef7";
333
+ readonly minimumBalance: 1000000000n;
334
+ readonly isSufficient: true;
335
+ };
336
+ };
337
+ readonly estimatedExecutionFeeDOT: 0n;
338
+ readonly estimatedDeliveryFeeDOT: 0n;
339
+ };
340
+ };
341
+ };
342
+ };
343
+ export default registry;
344
+ //# sourceMappingURL=westend_sepolia_bridge_info.g.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"westend_sepolia_bridge_info.g.d.ts","sourceRoot":"","sources":["../src/westend_sepolia_bridge_info.g.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8XJ,CAAA;AACV,eAAe,QAAQ,CAAA"}