@snowbridge/base-types 0.3.0 → 0.3.2-alpha.1
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/index.d.ts +28 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/package.json +1 -1
- package/src/index.ts +36 -4
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export type ERC20Metadata = {
|
|
|
10
10
|
decimals: number;
|
|
11
11
|
foreignId?: string;
|
|
12
12
|
deliveryGas?: bigint;
|
|
13
|
+
swapTokenAddress?: string;
|
|
14
|
+
swapFee?: number;
|
|
13
15
|
};
|
|
14
16
|
export interface ERC20MetadataMap {
|
|
15
17
|
[token: string]: ERC20Metadata;
|
|
@@ -65,6 +67,8 @@ export type Parachain = {
|
|
|
65
67
|
hasXcmPaymentApi: boolean;
|
|
66
68
|
supportsAliasOrigin: boolean;
|
|
67
69
|
xcmVersion: XcmVersion;
|
|
70
|
+
/** @deprecated Remove once V2 is fully rolled out to all parachains */
|
|
71
|
+
supportsV2: boolean;
|
|
68
72
|
};
|
|
69
73
|
assets: AssetMap;
|
|
70
74
|
estimatedExecutionFeeDOT: bigint;
|
|
@@ -92,10 +96,13 @@ export type Environment = {
|
|
|
92
96
|
};
|
|
93
97
|
assetHubParaId: number;
|
|
94
98
|
bridgeHubParaId: number;
|
|
99
|
+
/** @deprecated Remove once V2 is fully rolled out to all parachains */
|
|
100
|
+
v2_parachains?: number[];
|
|
95
101
|
relaychainUrl: string;
|
|
96
102
|
parachains: {
|
|
97
103
|
[paraId: string]: string;
|
|
98
104
|
};
|
|
105
|
+
indexerGraphQlUrl: string;
|
|
99
106
|
kusama?: {
|
|
100
107
|
assetHubParaId: number;
|
|
101
108
|
bridgeHubParaId: number;
|
|
@@ -106,7 +113,17 @@ export type Environment = {
|
|
|
106
113
|
assetOverrides?: AssetOverrideMap;
|
|
107
114
|
precompiles?: PrecompileMap;
|
|
108
115
|
metadataOverrides?: ERC20MetadataOverrideMap;
|
|
109
|
-
|
|
116
|
+
l2Bridge?: {
|
|
117
|
+
acrossAPIUrl: string;
|
|
118
|
+
l1AdapterAddress: string;
|
|
119
|
+
l1HandlerAddress: string;
|
|
120
|
+
l1FeeTokenAddress: string;
|
|
121
|
+
l1SwapRouterAddress: string;
|
|
122
|
+
l1SwapQuoterAddress: string;
|
|
123
|
+
l2Chains: {
|
|
124
|
+
[l2ChainId: number]: L2ForwardMetadata;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
110
127
|
};
|
|
111
128
|
export type SourceType = "substrate" | "ethereum";
|
|
112
129
|
export type Path = {
|
|
@@ -188,4 +205,14 @@ export interface PNAMap {
|
|
|
188
205
|
ethereumlocation: any;
|
|
189
206
|
};
|
|
190
207
|
}
|
|
208
|
+
export type AssetSwapRoute = {
|
|
209
|
+
inputToken: string;
|
|
210
|
+
outputToken: string;
|
|
211
|
+
swapFee: number;
|
|
212
|
+
};
|
|
213
|
+
export type L2ForwardMetadata = {
|
|
214
|
+
adapterAddress: string;
|
|
215
|
+
feeTokenAddress: string;
|
|
216
|
+
swapRoutes: AssetSwapRoute[];
|
|
217
|
+
};
|
|
191
218
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,11 +4,13 @@ exports.supportsEthereumToPolkadotV2 = supportsEthereumToPolkadotV2;
|
|
|
4
4
|
exports.supportsPolkadotToEthereumV2 = supportsPolkadotToEthereumV2;
|
|
5
5
|
function supportsEthereumToPolkadotV2(parachain) {
|
|
6
6
|
return (parachain.features.hasXcmPaymentApi &&
|
|
7
|
-
parachain.features.xcmVersion === "v5"
|
|
7
|
+
parachain.features.xcmVersion === "v5" &&
|
|
8
|
+
parachain.features.supportsV2);
|
|
8
9
|
}
|
|
9
10
|
function supportsPolkadotToEthereumV2(parachain) {
|
|
10
11
|
return (parachain.features.hasEthBalance &&
|
|
11
12
|
parachain.features.hasXcmPaymentApi &&
|
|
12
13
|
parachain.features.supportsAliasOrigin &&
|
|
13
|
-
parachain.features.xcmVersion === "v5"
|
|
14
|
+
parachain.features.xcmVersion === "v5" &&
|
|
15
|
+
parachain.features.supportsV2);
|
|
14
16
|
}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -14,6 +14,10 @@ export type ERC20Metadata = {
|
|
|
14
14
|
foreignId?: string;
|
|
15
15
|
// The gas cost of a local transfer, which involves unlocking for ENA and minting for PNA.
|
|
16
16
|
deliveryGas?: bigint;
|
|
17
|
+
// For ERC-20 tokens on L2 chains that have a corresponding mapped L1 token address.
|
|
18
|
+
swapTokenAddress?: string;
|
|
19
|
+
// fee tier for uniswap call in basis points (e.g., 500 = 0.05%)
|
|
20
|
+
swapFee?: number;
|
|
17
21
|
};
|
|
18
22
|
|
|
19
23
|
export interface ERC20MetadataMap {
|
|
@@ -83,6 +87,8 @@ export type Parachain = {
|
|
|
83
87
|
hasXcmPaymentApi: boolean;
|
|
84
88
|
supportsAliasOrigin: boolean;
|
|
85
89
|
xcmVersion: XcmVersion;
|
|
90
|
+
/** @deprecated Remove once V2 is fully rolled out to all parachains */
|
|
91
|
+
supportsV2: boolean;
|
|
86
92
|
};
|
|
87
93
|
assets: AssetMap;
|
|
88
94
|
estimatedExecutionFeeDOT: bigint;
|
|
@@ -97,7 +103,8 @@ export interface ParachainMap {
|
|
|
97
103
|
export function supportsEthereumToPolkadotV2(parachain: Parachain): boolean {
|
|
98
104
|
return (
|
|
99
105
|
parachain.features.hasXcmPaymentApi &&
|
|
100
|
-
parachain.features.xcmVersion === "v5"
|
|
106
|
+
parachain.features.xcmVersion === "v5" &&
|
|
107
|
+
parachain.features.supportsV2
|
|
101
108
|
);
|
|
102
109
|
}
|
|
103
110
|
|
|
@@ -106,7 +113,8 @@ export function supportsPolkadotToEthereumV2(parachain: Parachain): boolean {
|
|
|
106
113
|
parachain.features.hasEthBalance &&
|
|
107
114
|
parachain.features.hasXcmPaymentApi &&
|
|
108
115
|
parachain.features.supportsAliasOrigin &&
|
|
109
|
-
parachain.features.xcmVersion === "v5"
|
|
116
|
+
parachain.features.xcmVersion === "v5" &&
|
|
117
|
+
parachain.features.supportsV2
|
|
110
118
|
);
|
|
111
119
|
}
|
|
112
120
|
|
|
@@ -129,10 +137,14 @@ export type Environment = {
|
|
|
129
137
|
// Substrate
|
|
130
138
|
assetHubParaId: number;
|
|
131
139
|
bridgeHubParaId: number;
|
|
140
|
+
/** @deprecated Remove once V2 is fully rolled out to all parachains */
|
|
141
|
+
v2_parachains?: number[];
|
|
132
142
|
relaychainUrl: string;
|
|
133
143
|
parachains: {
|
|
134
144
|
[paraId: string]: string;
|
|
135
145
|
};
|
|
146
|
+
// Indexer
|
|
147
|
+
indexerGraphQlUrl: string;
|
|
136
148
|
kusama?: {
|
|
137
149
|
assetHubParaId: number;
|
|
138
150
|
bridgeHubParaId: number;
|
|
@@ -142,8 +154,16 @@ export type Environment = {
|
|
|
142
154
|
assetOverrides?: AssetOverrideMap;
|
|
143
155
|
precompiles?: PrecompileMap;
|
|
144
156
|
metadataOverrides?: ERC20MetadataOverrideMap;
|
|
145
|
-
//
|
|
146
|
-
|
|
157
|
+
// L2 Forwarding
|
|
158
|
+
l2Bridge?: {
|
|
159
|
+
acrossAPIUrl: string;
|
|
160
|
+
l1AdapterAddress: string;
|
|
161
|
+
l1HandlerAddress: string;
|
|
162
|
+
l1FeeTokenAddress: string;
|
|
163
|
+
l1SwapRouterAddress: string;
|
|
164
|
+
l1SwapQuoterAddress: string;
|
|
165
|
+
l2Chains: { [l2ChainId: number]: L2ForwardMetadata };
|
|
166
|
+
};
|
|
147
167
|
};
|
|
148
168
|
|
|
149
169
|
export type SourceType = "substrate" | "ethereum";
|
|
@@ -232,3 +252,15 @@ export interface PNAMap {
|
|
|
232
252
|
ethereumlocation: any;
|
|
233
253
|
};
|
|
234
254
|
}
|
|
255
|
+
|
|
256
|
+
export type AssetSwapRoute = {
|
|
257
|
+
inputToken: string;
|
|
258
|
+
outputToken: string;
|
|
259
|
+
swapFee: number; // fee tier for uniswap call in basis points (e.g., 500 = 0.05%)
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
export type L2ForwardMetadata = {
|
|
263
|
+
adapterAddress: string;
|
|
264
|
+
feeTokenAddress: string;
|
|
265
|
+
swapRoutes: AssetSwapRoute[];
|
|
266
|
+
};
|