@layerzerolabs/chain-utils 0.0.67 → 0.0.73
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/.turbo/turbo-build.log +27 -27
- package/.turbo/turbo-test.log +4 -4
- package/dist/{MR2I35UU.js → L4WCMHVM.js} +180 -38
- package/dist/L4WCMHVM.js.map +1 -0
- package/dist/{K6ILVJZQ.cjs → QOTVRPBZ.cjs} +181 -37
- package/dist/QOTVRPBZ.cjs.map +1 -0
- package/dist/addressParser.cjs +15 -7
- package/dist/addressParser.d.ts +15 -11
- package/dist/addressParser.d.ts.map +1 -1
- package/dist/addressParser.js +1 -1
- package/dist/addressParser.test.cjs +276 -9
- package/dist/addressParser.test.cjs.map +1 -1
- package/dist/addressParser.test.js +268 -1
- package/dist/addressParser.test.js.map +1 -1
- package/dist/index.cjs +15 -7
- package/dist/index.js +1 -1
- package/package.json +10 -9
- package/src/addressParser.test.ts +350 -2
- package/src/addressParser.ts +269 -44
- package/dist/K6ILVJZQ.cjs.map +0 -1
- package/dist/MR2I35UU.js.map +0 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var J6P5K7DC_cjs = require('./J6P5K7DC.cjs');
|
|
4
4
|
var initia_js = require('@initia/initia.js');
|
|
5
|
+
var stellarSdk = require('@stellar/stellar-sdk');
|
|
5
6
|
var bs58 = require('bs58');
|
|
6
7
|
var commonChainModel = require('@layerzerolabs/common-chain-model');
|
|
7
8
|
var commonTon = require('@layerzerolabs/common-ton');
|
|
@@ -20,12 +21,15 @@ var AddressEncoding = /* @__PURE__ */ (function(AddressEncoding2) {
|
|
|
20
21
|
AddressEncoding2["BASE58"] = "base58";
|
|
21
22
|
AddressEncoding2["TON"] = "ton";
|
|
22
23
|
AddressEncoding2["INITIA"] = "initia";
|
|
24
|
+
AddressEncoding2["STELLAR"] = "stellar";
|
|
23
25
|
return AddressEncoding2;
|
|
24
26
|
})({});
|
|
25
27
|
function addressParser(chainName) {
|
|
26
28
|
if (chainName === layerzeroDefinitions.ChainName.TON) return tonAddressParser(chainName);
|
|
27
29
|
if (chainName === layerzeroDefinitions.ChainName.SOLANA) return base58AddressParser(chainName);
|
|
28
30
|
if (chainName === layerzeroDefinitions.ChainName.INITIA) return initiaAddressParser(chainName);
|
|
31
|
+
if (chainName === layerzeroDefinitions.ChainName.STELLAR) return stellarAddressParser(chainName);
|
|
32
|
+
if (chainName === layerzeroDefinitions.ChainName.STARKNET) return starknetAddressParser(chainName);
|
|
29
33
|
return hexAddressParser(chainName);
|
|
30
34
|
}
|
|
31
35
|
J6P5K7DC_cjs.__name(addressParser, "addressParser");
|
|
@@ -33,8 +37,9 @@ J6P5K7DC_cjs.__name(addressParser, "addressParser");
|
|
|
33
37
|
addressParser2.normalizedToBytes32Hex = (address) => {
|
|
34
38
|
return commonUtils.hexZeroPad(address, 32);
|
|
35
39
|
};
|
|
36
|
-
addressParser2.
|
|
37
|
-
|
|
40
|
+
addressParser2.normalizedToAlignedString = (address) => {
|
|
41
|
+
const hex = address.toString();
|
|
42
|
+
return hex.length % 2 === 0 ? hex : `0x0${hex.slice(2)}`;
|
|
38
43
|
};
|
|
39
44
|
addressParser2.normalizedToBytes32 = (address) => {
|
|
40
45
|
return commonUtils.hexToBytes(addressParser2.normalizedToBytes32Hex(address));
|
|
@@ -46,18 +51,21 @@ J6P5K7DC_cjs.__name(addressParser, "addressParser");
|
|
|
46
51
|
return addressParser2(nativeAddress.chainName).parseNative(nativeAddress.nativeAddress);
|
|
47
52
|
};
|
|
48
53
|
})(addressParser || (addressParser = {}));
|
|
49
|
-
|
|
54
|
+
function assertNative(nativeAddress, expectedChainName) {
|
|
50
55
|
if (!addressParser(expectedChainName).validateNative(nativeAddress)) {
|
|
51
|
-
throw new Error(
|
|
56
|
+
throw new Error('Cannot convert: "' + nativeAddress + '" - The native address does not match the expected format for the chain: ' + expectedChainName);
|
|
52
57
|
}
|
|
53
|
-
|
|
54
|
-
|
|
58
|
+
}
|
|
59
|
+
J6P5K7DC_cjs.__name(assertNative, "assertNative");
|
|
55
60
|
var getAddress = /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
56
61
|
return typeof nativeAddress === "object" ? nativeAddress.nativeAddress : nativeAddress;
|
|
57
62
|
}, "getAddress");
|
|
58
63
|
var tonAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
59
64
|
return {
|
|
60
65
|
validateNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
66
|
+
if (nativeAddress === void 0) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
61
69
|
try {
|
|
62
70
|
commonTon.parseTonAddress(nativeAddress);
|
|
63
71
|
return true;
|
|
@@ -66,6 +74,7 @@ var tonAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
66
74
|
}
|
|
67
75
|
}, "validateNative"),
|
|
68
76
|
normalizedToNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
77
|
+
if (address === void 0) return void 0;
|
|
69
78
|
const numericalValue = addressParser.normalizedToBigInt(address);
|
|
70
79
|
return {
|
|
71
80
|
// FIXME this is wrong
|
|
@@ -74,31 +83,34 @@ var tonAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
74
83
|
};
|
|
75
84
|
}, "normalizedToNative"),
|
|
76
85
|
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
86
|
+
if (address === void 0) return void 0;
|
|
77
87
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
78
88
|
}, "normalizedToNativeString"),
|
|
79
89
|
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
90
|
+
if (nativeAddress === void 0) return void 0;
|
|
80
91
|
const address = getAddress(nativeAddress);
|
|
81
|
-
|
|
92
|
+
assertNative(address, chainName);
|
|
82
93
|
return commonChainModel.normalizeHex(commonTon.addressToHex(address));
|
|
83
94
|
}, "nativeToNormalized"),
|
|
84
95
|
nativeToBytes32Hex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
96
|
+
if (nativeAddress === void 0) return void 0;
|
|
85
97
|
return commonUtils.hexZeroPad(addressParser(chainName).nativeToNormalized(nativeAddress), 32);
|
|
86
98
|
}, "nativeToBytes32Hex"),
|
|
87
99
|
nativeToBytes: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
100
|
+
if (nativeAddress === void 0) return void 0;
|
|
88
101
|
return commonUtils.hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));
|
|
89
102
|
}, "nativeToBytes"),
|
|
90
103
|
nativeToBytes32: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
104
|
+
if (nativeAddress === void 0) return void 0;
|
|
91
105
|
return commonUtils.hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));
|
|
92
106
|
}, "nativeToBytes32"),
|
|
93
107
|
parseNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
94
|
-
|
|
95
|
-
throw new Error("Invalid native address: " + nativeAddress);
|
|
96
|
-
}
|
|
108
|
+
assertNative(nativeAddress, chainName);
|
|
97
109
|
return addressParser(chainName).nativeToNormalized(nativeAddress);
|
|
98
110
|
}, "parseNative"),
|
|
99
|
-
|
|
111
|
+
parseNativeToUnpaddedHex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
100
112
|
return addressParser(chainName).parseNative(nativeAddress);
|
|
101
|
-
}, "
|
|
113
|
+
}, "parseNativeToUnpaddedHex"),
|
|
102
114
|
tonToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((tonAddress) => {
|
|
103
115
|
return addressParser(chainName).parseNative(commonTon.addressToHex(tonAddress));
|
|
104
116
|
}, "tonToNormalized"),
|
|
@@ -108,6 +120,9 @@ var tonAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
108
120
|
var initiaAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
109
121
|
return {
|
|
110
122
|
validateNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
123
|
+
if (nativeAddress === void 0) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
111
126
|
try {
|
|
112
127
|
return commonUtils.isHexString(nativeAddress) || /^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38,66})$/.test(nativeAddress);
|
|
113
128
|
} catch {
|
|
@@ -115,93 +130,106 @@ var initiaAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
115
130
|
}
|
|
116
131
|
}, "validateNative"),
|
|
117
132
|
normalizedToNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
133
|
+
if (address === void 0) {
|
|
134
|
+
return void 0;
|
|
135
|
+
}
|
|
118
136
|
return {
|
|
119
137
|
nativeAddress: initia_js.AccAddress.fromHex(address),
|
|
120
138
|
chainName
|
|
121
139
|
};
|
|
122
140
|
}, "normalizedToNative"),
|
|
123
141
|
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
142
|
+
if (address === void 0) return void 0;
|
|
124
143
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
125
144
|
}, "normalizedToNativeString"),
|
|
126
145
|
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
146
|
+
if (nativeAddress === void 0) return void 0;
|
|
127
147
|
const address = getAddress(nativeAddress);
|
|
128
|
-
|
|
148
|
+
assertNative(address, chainName);
|
|
129
149
|
if (commonUtils.isHexString(address)) {
|
|
130
150
|
return commonChainModel.normalizeHex(address);
|
|
131
151
|
}
|
|
132
152
|
return commonChainModel.normalizeHex(initia_js.AccAddress.toHex(nativeAddress.toString()));
|
|
133
153
|
}, "nativeToNormalized"),
|
|
134
154
|
nativeToBytes32Hex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
155
|
+
if (nativeAddress === void 0) return void 0;
|
|
135
156
|
return commonUtils.hexZeroPad(addressParser(chainName).nativeToNormalized(nativeAddress), 32);
|
|
136
157
|
}, "nativeToBytes32Hex"),
|
|
137
158
|
nativeToBytes: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
159
|
+
if (nativeAddress === void 0) return void 0;
|
|
138
160
|
return commonUtils.hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));
|
|
139
161
|
}, "nativeToBytes"),
|
|
140
162
|
nativeToBytes32: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
163
|
+
if (nativeAddress === void 0) return void 0;
|
|
141
164
|
return commonUtils.hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));
|
|
142
165
|
}, "nativeToBytes32"),
|
|
143
166
|
parseNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
144
|
-
|
|
145
|
-
throw new Error("Invalid native address: " + nativeAddress);
|
|
146
|
-
}
|
|
167
|
+
assertNative(nativeAddress, chainName);
|
|
147
168
|
return addressParser(chainName).nativeToNormalized(nativeAddress);
|
|
148
169
|
}, "parseNative"),
|
|
149
|
-
|
|
170
|
+
parseNativeToUnpaddedHex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
150
171
|
return addressParser(chainName).parseNative(nativeAddress);
|
|
151
|
-
}, "
|
|
172
|
+
}, "parseNativeToUnpaddedHex"),
|
|
152
173
|
encoding: "initia"
|
|
153
174
|
};
|
|
154
175
|
}, "initiaAddressParser");
|
|
155
176
|
var base58AddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
156
177
|
return {
|
|
157
178
|
validateNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
179
|
+
if (nativeAddress === void 0) return false;
|
|
158
180
|
return commonUtils.isBase58(nativeAddress);
|
|
159
181
|
}, "validateNative"),
|
|
160
182
|
normalizedToNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
183
|
+
if (address === void 0) return void 0;
|
|
161
184
|
return {
|
|
162
185
|
nativeAddress: bs58__default.default.encode(commonUtils.hexToBytes(address)),
|
|
163
186
|
chainName
|
|
164
187
|
};
|
|
165
188
|
}, "normalizedToNative"),
|
|
166
189
|
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
190
|
+
if (address === void 0) return void 0;
|
|
167
191
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
168
192
|
}, "normalizedToNativeString"),
|
|
169
193
|
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
194
|
+
if (nativeAddress === void 0) return void 0;
|
|
170
195
|
const address = getAddress(nativeAddress);
|
|
171
|
-
|
|
196
|
+
assertNative(address, chainName);
|
|
172
197
|
const hex = commonUtils.bytesToHexPrefixed(bs58__default.default.decode(address));
|
|
173
198
|
return commonChainModel.normalizeHex(hex);
|
|
174
199
|
}, "nativeToNormalized"),
|
|
175
200
|
nativeToBytes32Hex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
201
|
+
if (nativeAddress === void 0) return void 0;
|
|
176
202
|
return commonUtils.hexZeroPad(addressParser(chainName).nativeToNormalized(nativeAddress), 32);
|
|
177
203
|
}, "nativeToBytes32Hex"),
|
|
178
204
|
nativeToBytes: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
205
|
+
if (nativeAddress === void 0) return void 0;
|
|
179
206
|
const address = getAddress(nativeAddress);
|
|
180
|
-
|
|
207
|
+
assertNative(address, chainName);
|
|
181
208
|
return bs58__default.default.decode(address);
|
|
182
209
|
}, "nativeToBytes"),
|
|
183
210
|
nativeToBytes32: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
211
|
+
if (nativeAddress === void 0) return void 0;
|
|
184
212
|
return commonUtils.hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));
|
|
185
213
|
}, "nativeToBytes32"),
|
|
186
214
|
parseNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
187
|
-
|
|
188
|
-
throw new Error("Invalid native address: " + nativeAddress);
|
|
189
|
-
}
|
|
215
|
+
assertNative(nativeAddress, chainName);
|
|
190
216
|
return addressParser(chainName).nativeToNormalized(nativeAddress);
|
|
191
217
|
}, "parseNative"),
|
|
192
|
-
|
|
218
|
+
parseNativeToUnpaddedHex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
193
219
|
return addressParser(chainName).parseNative(nativeAddress);
|
|
194
|
-
}, "
|
|
220
|
+
}, "parseNativeToUnpaddedHex"),
|
|
195
221
|
encoding: "base58"
|
|
196
222
|
};
|
|
197
223
|
}, "base58AddressParser");
|
|
198
224
|
var hexAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
199
|
-
const nativeByteLength = staticChainInfo.StaticChainConfigs.getAddressSizeInBytes(chainName);
|
|
200
225
|
return {
|
|
201
226
|
validateNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
227
|
+
if (nativeAddress === void 0) return false;
|
|
202
228
|
return commonUtils.isHexString(nativeAddress);
|
|
203
229
|
}, "validateNative"),
|
|
204
230
|
normalizedToNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
231
|
+
if (address === void 0) return void 0;
|
|
232
|
+
const nativeByteLength = staticChainInfo.StaticChainConfigs.getAddressSizeInBytes(chainName);
|
|
205
233
|
return {
|
|
206
234
|
// we could have EIP-55 here, but omitted for now
|
|
207
235
|
nativeAddress: commonUtils.hexZeroPad(address, nativeByteLength),
|
|
@@ -209,47 +237,163 @@ var hexAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
209
237
|
};
|
|
210
238
|
}, "normalizedToNative"),
|
|
211
239
|
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
240
|
+
if (address === void 0) return void 0;
|
|
241
|
+
const nativeByteLength = staticChainInfo.StaticChainConfigs.getAddressSizeInBytes(chainName);
|
|
212
242
|
return commonUtils.hexZeroPad(address, nativeByteLength);
|
|
213
243
|
}, "normalizedToNativeString"),
|
|
214
244
|
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
245
|
+
if (nativeAddress === void 0) return void 0;
|
|
215
246
|
const address = getAddress(nativeAddress);
|
|
216
|
-
|
|
247
|
+
assertNative(address, chainName);
|
|
217
248
|
return commonChainModel.normalizeHex(address);
|
|
218
249
|
}, "nativeToNormalized"),
|
|
219
250
|
nativeToBytes: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
251
|
+
if (nativeAddress === void 0) return void 0;
|
|
220
252
|
const address = getAddress(nativeAddress);
|
|
221
|
-
|
|
253
|
+
assertNative(address, chainName);
|
|
222
254
|
return commonUtils.hexToBytes(address);
|
|
223
255
|
}, "nativeToBytes"),
|
|
224
256
|
nativeToBytes32Hex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
257
|
+
if (nativeAddress === void 0) return void 0;
|
|
225
258
|
const address = getAddress(nativeAddress);
|
|
226
|
-
|
|
259
|
+
assertNative(address, chainName);
|
|
227
260
|
return commonUtils.hexZeroPad(address, 32);
|
|
228
261
|
}, "nativeToBytes32Hex"),
|
|
229
262
|
nativeToBytes32: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
263
|
+
if (nativeAddress === void 0) return void 0;
|
|
230
264
|
return commonUtils.hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));
|
|
231
265
|
}, "nativeToBytes32"),
|
|
232
266
|
parseNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
233
|
-
if (chainName === layerzeroDefinitions.ChainName.TRON) {
|
|
267
|
+
if (chainName === layerzeroDefinitions.ChainName.TRON && nativeAddress) {
|
|
234
268
|
nativeAddress = nativeAddress.startsWith("41") ? `0x${nativeAddress.slice(2)}` : nativeAddress;
|
|
235
269
|
}
|
|
236
|
-
|
|
237
|
-
throw new Error("Invalid native address: " + nativeAddress);
|
|
238
|
-
}
|
|
270
|
+
assertNative(nativeAddress, chainName);
|
|
239
271
|
return addressParser(chainName).nativeToNormalized(nativeAddress);
|
|
240
272
|
}, "parseNative"),
|
|
241
|
-
|
|
273
|
+
parseNativeToUnpaddedHex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
242
274
|
return addressParser(chainName).parseNative(nativeAddress);
|
|
243
|
-
}, "
|
|
275
|
+
}, "parseNativeToUnpaddedHex"),
|
|
244
276
|
encoding: "hex"
|
|
245
277
|
};
|
|
246
278
|
}, "hexAddressParser");
|
|
279
|
+
var stellarAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
280
|
+
const isValidStellarAddress = /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
281
|
+
if (!address) return false;
|
|
282
|
+
return stellarSdk.StrKey.isValidEd25519PublicKey(address) || stellarSdk.StrKey.isValidContract(address) || stellarSdk.StrKey.isValidMed25519PublicKey(address) || stellarSdk.StrKey.isValidLiquidityPool(address) || stellarSdk.StrKey.isValidClaimableBalance(address) || stellarSdk.StrKey.isValidSignedPayload(address);
|
|
283
|
+
}, "isValidStellarAddress");
|
|
284
|
+
const stellarTextEncoder = new TextEncoder();
|
|
285
|
+
const stellarAsciiToNormalized = /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
286
|
+
const bytes = stellarTextEncoder.encode(address);
|
|
287
|
+
return commonChainModel.normalizeHex(commonUtils.bytesToHexPrefixed(bytes));
|
|
288
|
+
}, "stellarAsciiToNormalized");
|
|
289
|
+
const stellarTextDecoder = new TextDecoder();
|
|
290
|
+
const normalizedToStellarAscii = /* @__PURE__ */ J6P5K7DC_cjs.__name((normalizedHex) => {
|
|
291
|
+
const bytes = commonUtils.hexToBytes(normalizedHex);
|
|
292
|
+
return stellarTextDecoder.decode(bytes);
|
|
293
|
+
}, "normalizedToStellarAscii");
|
|
294
|
+
return {
|
|
295
|
+
validateNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
296
|
+
if (nativeAddress === void 0) return false;
|
|
297
|
+
return isValidStellarAddress(nativeAddress);
|
|
298
|
+
}, "validateNative"),
|
|
299
|
+
normalizedToNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
300
|
+
if (address === void 0) return void 0;
|
|
301
|
+
const stellarAddress = normalizedToStellarAscii(address);
|
|
302
|
+
return {
|
|
303
|
+
nativeAddress: stellarAddress,
|
|
304
|
+
chainName
|
|
305
|
+
};
|
|
306
|
+
}, "normalizedToNative"),
|
|
307
|
+
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
308
|
+
if (address === void 0) return void 0;
|
|
309
|
+
return normalizedToStellarAscii(address);
|
|
310
|
+
}, "normalizedToNativeString"),
|
|
311
|
+
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
312
|
+
if (nativeAddress === void 0) return void 0;
|
|
313
|
+
const address = getAddress(nativeAddress);
|
|
314
|
+
assertNative(address, chainName);
|
|
315
|
+
return stellarAsciiToNormalized(address);
|
|
316
|
+
}, "nativeToNormalized"),
|
|
317
|
+
nativeToBytes32Hex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
318
|
+
if (nativeAddress === void 0) return void 0;
|
|
319
|
+
const address = getAddress(nativeAddress);
|
|
320
|
+
assertNative(address, chainName);
|
|
321
|
+
let rawBytes;
|
|
322
|
+
if (stellarSdk.StrKey.isValidEd25519PublicKey(address)) {
|
|
323
|
+
rawBytes = stellarSdk.StrKey.decodeEd25519PublicKey(address);
|
|
324
|
+
} else if (stellarSdk.StrKey.isValidContract(address)) {
|
|
325
|
+
rawBytes = stellarSdk.StrKey.decodeContract(address);
|
|
326
|
+
} else if (stellarSdk.StrKey.isValidLiquidityPool(address)) {
|
|
327
|
+
rawBytes = stellarSdk.StrKey.decodeLiquidityPool(address);
|
|
328
|
+
} else if (stellarSdk.StrKey.isValidClaimableBalance(address)) {
|
|
329
|
+
const fullBytes = stellarSdk.StrKey.decodeClaimableBalance(address);
|
|
330
|
+
rawBytes = fullBytes.subarray(1);
|
|
331
|
+
} else if (stellarSdk.StrKey.isValidMed25519PublicKey(address)) {
|
|
332
|
+
throw new Error("nativeToBytes32 is not supported for Stellar muxed addresses (M...)");
|
|
333
|
+
} else if (stellarSdk.StrKey.isValidSignedPayload(address)) {
|
|
334
|
+
throw new Error("nativeToBytes32 is not supported for Stellar signed payload addresses (P...)");
|
|
335
|
+
} else {
|
|
336
|
+
throw new Error(`Unknown Stellar address type: ${address}`);
|
|
337
|
+
}
|
|
338
|
+
return commonUtils.bytesToHexPrefixed(rawBytes);
|
|
339
|
+
}, "nativeToBytes32Hex"),
|
|
340
|
+
nativeToBytes: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
341
|
+
if (nativeAddress === void 0) return void 0;
|
|
342
|
+
const address = getAddress(nativeAddress);
|
|
343
|
+
assertNative(address, chainName);
|
|
344
|
+
return stellarTextEncoder.encode(address);
|
|
345
|
+
}, "nativeToBytes"),
|
|
346
|
+
nativeToBytes32: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
347
|
+
if (nativeAddress === void 0) return void 0;
|
|
348
|
+
const hex = addressParser(chainName).nativeToBytes32Hex(nativeAddress);
|
|
349
|
+
return commonUtils.hexToBytes(hex);
|
|
350
|
+
}, "nativeToBytes32"),
|
|
351
|
+
parseNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
352
|
+
assertNative(nativeAddress, chainName);
|
|
353
|
+
return addressParser(chainName).nativeToNormalized(nativeAddress);
|
|
354
|
+
}, "parseNative"),
|
|
355
|
+
parseNativeToUnpaddedHex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
356
|
+
assertNative(nativeAddress, chainName);
|
|
357
|
+
const normalized = addressParser(chainName).nativeToNormalized(nativeAddress);
|
|
358
|
+
return normalized;
|
|
359
|
+
}, "parseNativeToUnpaddedHex"),
|
|
360
|
+
encoding: "stellar"
|
|
361
|
+
};
|
|
362
|
+
}, "stellarAddressParser");
|
|
363
|
+
var starknetAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
364
|
+
return {
|
|
365
|
+
...hexAddressParser(chainName),
|
|
366
|
+
validateNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
367
|
+
if (nativeAddress === void 0) return false;
|
|
368
|
+
return commonUtils.isHexString(nativeAddress);
|
|
369
|
+
}, "validateNative"),
|
|
370
|
+
parseNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
371
|
+
if (nativeAddress === void 0) return void 0;
|
|
372
|
+
nativeAddress = `0x${BigInt(nativeAddress).toString(16)}`;
|
|
373
|
+
assertNative(nativeAddress, chainName);
|
|
374
|
+
return addressParser(chainName).nativeToNormalized(nativeAddress);
|
|
375
|
+
}, "parseNative"),
|
|
376
|
+
normalizedToNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
377
|
+
if (address === void 0) return void 0;
|
|
378
|
+
return {
|
|
379
|
+
nativeAddress: address,
|
|
380
|
+
chainName
|
|
381
|
+
};
|
|
382
|
+
}, "normalizedToNative"),
|
|
383
|
+
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
384
|
+
if (address === void 0) return void 0;
|
|
385
|
+
return address;
|
|
386
|
+
}, "normalizedToNativeString")
|
|
387
|
+
};
|
|
388
|
+
}, "starknetAddressParser");
|
|
247
389
|
|
|
248
390
|
exports.AddressEncoding = AddressEncoding;
|
|
249
391
|
exports.addressParser = addressParser;
|
|
250
392
|
exports.base58AddressParser = base58AddressParser;
|
|
251
393
|
exports.hexAddressParser = hexAddressParser;
|
|
252
394
|
exports.initiaAddressParser = initiaAddressParser;
|
|
395
|
+
exports.starknetAddressParser = starknetAddressParser;
|
|
396
|
+
exports.stellarAddressParser = stellarAddressParser;
|
|
253
397
|
exports.tonAddressParser = tonAddressParser;
|
|
254
|
-
//# sourceMappingURL=
|
|
255
|
-
//# sourceMappingURL=
|
|
398
|
+
//# sourceMappingURL=QOTVRPBZ.cjs.map
|
|
399
|
+
//# sourceMappingURL=QOTVRPBZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/addressParser.ts"],"names":["init_cjs_shims","AddressEncoding","addressParser","chainName","ChainName","TON","tonAddressParser","SOLANA","base58AddressParser","INITIA","initiaAddressParser","STELLAR","stellarAddressParser","STARKNET","starknetAddressParser","hexAddressParser","normalizedToBytes32Hex","address","hexZeroPad","normalizedToAlignedString","hex","toString","length","slice","normalizedToBytes32","hexToBytes","normalizedToBigInt","BigInt","parseNative","nativeAddress","assertNative","expectedChainName","validateNative","Error","getAddress","undefined","parseTonAddress","normalizedToNative","numericalValue","bigintToAddress","normalizedToNativeString","nativeToNormalized","normalizeHex","addressToHex","nativeToBytes32Hex","nativeToBytes","nativeToBytes32","parseNativeToUnpaddedHex","tonToNormalized","tonAddress","encoding","isHexString","test","AccAddress","fromHex","toHex","isBase58","bs58","encode","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","TRON","startsWith","isValidStellarAddress","StrKey","isValidEd25519PublicKey","isValidContract","isValidMed25519PublicKey","isValidLiquidityPool","isValidClaimableBalance","isValidSignedPayload","stellarTextEncoder","TextEncoder","stellarAsciiToNormalized","bytes","stellarTextDecoder","TextDecoder","normalizedToStellarAscii","normalizedHex","stellarAddress","rawBytes","decodeEd25519PublicKey","decodeContract","decodeLiquidityPool","fullBytes","decodeClaimableBalance","subarray","normalized"],"mappings":"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","file":"QOTVRPBZ.cjs","sourcesContent":["import { AccAddress } from '@initia/initia.js';\nimport { StrKey } from '@stellar/stellar-sdk';\nimport type { Address } from '@ton/ton';\nimport bs58 from 'bs58';\n\nimport type { HexString, NormalizedHexString } from '@layerzerolabs/common-chain-model';\nimport { normalizeHex } from '@layerzerolabs/common-chain-model';\nimport { addressToHex, bigintToAddress, parseTonAddress } from '@layerzerolabs/common-ton';\nimport {\n bytesToHexPrefixed,\n hexToBytes,\n hexZeroPad,\n isBase58,\n isHexString,\n} from '@layerzerolabs/common-utils';\nimport type {\n Base58String,\n ChainsByEncoding,\n ChainType,\n InferChainNamesForChainType,\n InferChainTypeForChainName,\n InitiaString,\n NativeAddress,\n ResolvedEncodingForChainName,\n StellarString,\n} from '@layerzerolabs/layerzero-definitions';\nimport type { ChainNativeAddress } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport { StaticChainConfigs } from '@layerzerolabs/static-chain-info';\nimport type { MaybeUndefinedMapped } from '@layerzerolabs/typescript-utils';\n\ntype NativeOrString<T extends ChainName> = ChainNativeAddress<T> | ResolvedEncodingForChainName<T>;\n\nexport enum AddressEncoding {\n HEX = 'hex',\n BASE58 = 'base58',\n TON = 'ton',\n INITIA = 'initia',\n STELLAR = 'stellar',\n}\n\nexport type ExtensionByChainType = {\n ton: {\n tonToNormalized: (tonAddress: Address) => NormalizedHexString;\n };\n};\n\nexport type InferExtensionByChainName<T extends ChainName> =\n InferChainTypeForChainName<T> extends keyof ExtensionByChainType\n ? ExtensionByChainType[InferChainTypeForChainName<T>]\n : {};\n\nexport type AddressParser<T extends ChainName> = {\n normalizedToNative: <Address extends NormalizedHexString | undefined>(\n address: Address,\n ) => MaybeUndefinedMapped<Address, ChainNativeAddress<T>>;\n normalizedToNativeString: <Address extends NormalizedHexString | undefined>(\n address: Address,\n ) => MaybeUndefinedMapped<Address, ResolvedEncodingForChainName<T>>;\n nativeToNormalized: <Address extends NativeOrString<T> | undefined>(\n nativeAddress: Address,\n ) => MaybeUndefinedMapped<Address, NormalizedHexString>;\n nativeToBytes: <Address extends NativeOrString<T> | undefined>(\n nativeAddress: Address,\n ) => MaybeUndefinedMapped<Address, Uint8Array>;\n nativeToBytes32Hex: <Address extends NativeOrString<T> | undefined>(\n nativeAddress: Address,\n ) => MaybeUndefinedMapped<Address, HexString>;\n nativeToBytes32: <Address extends NativeOrString<T> | undefined>(\n nativeAddress: Address,\n ) => MaybeUndefinedMapped<Address, Uint8Array>;\n validateNative: (\n nativeAddress: string | undefined,\n ) => nativeAddress is ResolvedEncodingForChainName<T>;\n /**\n * Parse a native address to a string if it is valid.\n * Throws an error if the native address is invalid.\n * @param nativeAddress - The native address to parse.\n * @returns The parsed native address.\n */\n parseNative: (nativeAddress: string | undefined) => NormalizedHexString;\n parseNativeToUnpaddedHex: (nativeAddress: string | undefined) => HexString;\n encoding: AddressEncoding;\n} & InferExtensionByChainName<T>;\n\nexport function addressParser<T extends ChainName>(chainName: T): AddressParser<T> {\n // FIXME: figure out a way to not have to cast here\n if (chainName === ChainName.TON)\n return tonAddressParser(chainName) as unknown as AddressParser<T>;\n if (chainName === ChainName.SOLANA)\n return base58AddressParser(chainName) as unknown as AddressParser<T>;\n if (chainName === ChainName.INITIA)\n return initiaAddressParser(chainName) as unknown as AddressParser<T>;\n if (chainName === ChainName.STELLAR)\n return stellarAddressParser(chainName) as unknown as AddressParser<T>;\n if (chainName === ChainName.STARKNET)\n return starknetAddressParser(chainName) as unknown as AddressParser<T>;\n return hexAddressParser(chainName) as unknown as AddressParser<T>;\n}\n\nexport namespace addressParser {\n export const normalizedToBytes32Hex = (address: NormalizedHexString) => {\n return hexZeroPad(address as unknown as HexString, 32);\n };\n\n export const normalizedToAlignedString = (address: NormalizedHexString) => {\n const hex = address.toString();\n // Unpadded but aligned to a byte length, so its transformable to a byte array\n return (hex.length % 2 === 0 ? hex : `0x0${hex.slice(2)}`) as HexString;\n };\n\n export const normalizedToBytes32 = (address: NormalizedHexString) => {\n return hexToBytes(normalizedToBytes32Hex(address));\n };\n\n export const normalizedToBigInt = (address: NormalizedHexString) => {\n return BigInt(address as unknown as HexString);\n };\n\n export const parseNative = (nativeAddress: NativeAddress) => {\n return addressParser(nativeAddress.chainName).parseNative(nativeAddress.nativeAddress);\n };\n}\n\nfunction assertNative<T extends ChainName>(\n nativeAddress: string | undefined,\n expectedChainName: T,\n): asserts nativeAddress is ResolvedEncodingForChainName<T> {\n if (!addressParser(expectedChainName).validateNative(nativeAddress)) {\n throw new Error(\n 'Cannot convert: \"' +\n nativeAddress +\n '\" - The native address does not match the expected format for the chain: ' +\n expectedChainName,\n );\n }\n}\n\nconst getAddress = <T extends ChainName>(nativeAddress: NativeOrString<T>) => {\n return typeof nativeAddress === 'object' ? nativeAddress.nativeAddress : nativeAddress;\n};\n\nexport const tonAddressParser: (\n chainName: InferChainNamesForChainType<ChainType.TON>,\n) => AddressParser<InferChainNamesForChainType<ChainType.TON>> = (chainName) => {\n return {\n validateNative: (nativeAddress): nativeAddress is HexString => {\n if (nativeAddress === undefined) {\n return false;\n }\n try {\n parseTonAddress(nativeAddress);\n return true;\n } catch {\n return false;\n }\n },\n normalizedToNative: (address) => {\n if (address === undefined) return undefined as any;\n const numericalValue = addressParser.normalizedToBigInt(address);\n return {\n // FIXME this is wrong\n nativeAddress: bigintToAddress(numericalValue).toString() as HexString,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n if (address === undefined) return undefined as any;\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n return normalizeHex(addressToHex(address));\n },\n nativeToBytes32Hex: (nativeAddress) => {\n // naturally ton is 32 bytes, pad it anyway\n if (nativeAddress === undefined) return undefined as any;\n return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n assertNative(nativeAddress, chainName);\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToUnpaddedHex: (nativeAddress) => {\n return addressParser(chainName).parseNative(nativeAddress) as unknown as HexString;\n },\n tonToNormalized: (tonAddress) => {\n return addressParser(chainName).parseNative(addressToHex(tonAddress));\n },\n encoding: AddressEncoding.TON,\n };\n};\n\nexport const initiaAddressParser: (\n chainName: ChainsByEncoding[InitiaString],\n) => AddressParser<ChainsByEncoding[InitiaString]> = (chainName) => {\n return {\n validateNative: (nativeAddress): nativeAddress is InitiaString => {\n if (nativeAddress === undefined) {\n return false;\n }\n try {\n // Both formats are native for the chain and are used kind of randomly.\n return (\n isHexString(nativeAddress) ||\n /^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38,66})$/.test(nativeAddress)\n );\n } catch {\n return false;\n }\n },\n normalizedToNative: (address) => {\n if (address === undefined) {\n return undefined as any;\n }\n return {\n nativeAddress: AccAddress.fromHex(address as unknown as HexString) as InitiaString,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n if (address === undefined) return undefined as any;\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n if (isHexString(address)) {\n return normalizeHex(address);\n }\n return normalizeHex(AccAddress.toHex(nativeAddress.toString()) as HexString);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n // naturally ton is 32 bytes, pad it anyway\n return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n assertNative(nativeAddress, chainName);\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToUnpaddedHex: (nativeAddress) => {\n return addressParser(chainName).parseNative(nativeAddress) as unknown as HexString;\n },\n encoding: AddressEncoding.INITIA,\n };\n};\n\nexport const base58AddressParser = (\n chainName: ChainsByEncoding[Base58String],\n): AddressParser<ChainsByEncoding[Base58String]> => {\n return {\n validateNative: (nativeAddress): nativeAddress is Base58String => {\n if (nativeAddress === undefined) return false;\n return isBase58(nativeAddress);\n },\n normalizedToNative: (address) => {\n if (address === undefined) return undefined as any;\n return {\n nativeAddress: bs58.encode(\n hexToBytes(address as unknown as HexString),\n ) as Base58String,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n if (address === undefined) return undefined as any;\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n const hex = bytesToHexPrefixed(bs58.decode(address));\n return normalizeHex(hex);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n // naturally solana is 32 bytes, pad it anyway\n if (nativeAddress === undefined) return undefined as any;\n return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n return bs58.decode(address);\n },\n nativeToBytes32: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n assertNative(nativeAddress, chainName);\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToUnpaddedHex: (nativeAddress) => {\n return addressParser(chainName).parseNative(nativeAddress) as unknown as HexString;\n },\n encoding: AddressEncoding.BASE58,\n };\n};\n\nexport const hexAddressParser = (\n chainName: ChainsByEncoding[HexString],\n): AddressParser<ChainsByEncoding[HexString]> => {\n return {\n validateNative: (nativeAddress): nativeAddress is HexString => {\n if (nativeAddress === undefined) return false;\n return isHexString(nativeAddress);\n },\n normalizedToNative: (address) => {\n if (address === undefined) return undefined as any;\n // we fetch here instead of storing by chain because some chains may not have this defined,\n // so we should only throw on those chains if they try to use these methods that need the native byte length\n const nativeByteLength = StaticChainConfigs.getAddressSizeInBytes(chainName);\n return {\n // we could have EIP-55 here, but omitted for now\n nativeAddress: hexZeroPad(address as unknown as HexString, nativeByteLength),\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n if (address === undefined) return undefined as any;\n const nativeByteLength = StaticChainConfigs.getAddressSizeInBytes(chainName);\n return hexZeroPad(address as unknown as HexString, nativeByteLength);\n },\n nativeToNormalized: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n return normalizeHex(address);\n },\n nativeToBytes: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n return hexToBytes(address);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n return hexZeroPad(address, 32);\n },\n nativeToBytes32: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n // Specific case to make tron a little less flaky, handle the 41 prefix\n if (chainName === ChainName.TRON && nativeAddress) {\n nativeAddress = nativeAddress.startsWith('41')\n ? `0x${nativeAddress.slice(2)}`\n : nativeAddress;\n }\n\n assertNative(nativeAddress, chainName);\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToUnpaddedHex: (nativeAddress) => {\n return addressParser(chainName).parseNative(nativeAddress) as unknown as HexString;\n },\n encoding: AddressEncoding.HEX,\n };\n};\n\nexport const stellarAddressParser: (\n chainName: InferChainNamesForChainType<ChainType.STELLAR>,\n) => AddressParser<InferChainNamesForChainType<ChainType.STELLAR>> = (chainName) => {\n /**\n * Validate if a string is a valid Stellar address.\n *\n * According to SEP-0023 (https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0023.md),\n * Stellar supports multiple address types encoded as base32 ASCII strings:\n * - Account addresses starting with 'G' (56 chars, Ed25519 public key)\n * - Contract addresses starting with 'C' (56 chars, contract ID)\n * - Muxed addresses starting with 'M' (69 chars, muxed account with ID)\n * - Liquidity pool addresses starting with 'L' (56 chars, pool ID)\n * - Claimable balance addresses starting with 'B' (56 chars, balance ID)\n * - Signed payload starting with 'P' (variable length)\n *\n * All addresses are stored in their native ASCII format to preserve type information.\n */\n const isValidStellarAddress = (address: string): boolean => {\n if (!address) return false;\n // Use the StrKey validation methods for all supported address types\n return (\n StrKey.isValidEd25519PublicKey(address) ||\n StrKey.isValidContract(address) ||\n StrKey.isValidMed25519PublicKey(address) ||\n StrKey.isValidLiquidityPool(address) ||\n StrKey.isValidClaimableBalance(address) ||\n StrKey.isValidSignedPayload(address)\n );\n };\n\n /**\n * Convert Stellar ASCII address to normalized hex by encoding the ASCII string as UTF-8 bytes.\n * This preserves the full address including type prefix and allows round-trip conversion.\n */\n const stellarTextEncoder = new TextEncoder();\n const stellarAsciiToNormalized = (address: string): NormalizedHexString => {\n // Convert ASCII address string to UTF-8 bytes, then to hex\n const bytes = stellarTextEncoder.encode(address);\n return normalizeHex(bytesToHexPrefixed(bytes));\n };\n\n /**\n * Convert normalized hex back to Stellar ASCII address by decoding UTF-8 bytes.\n */\n const stellarTextDecoder = new TextDecoder();\n const normalizedToStellarAscii = (normalizedHex: NormalizedHexString): string => {\n // Convert hex to bytes, then decode as UTF-8 string\n const bytes = hexToBytes(normalizedHex as unknown as HexString);\n return stellarTextDecoder.decode(bytes);\n };\n\n return {\n validateNative: (nativeAddress): nativeAddress is StellarString => {\n if (nativeAddress === undefined) return false;\n return isValidStellarAddress(nativeAddress);\n },\n normalizedToNative: (address) => {\n if (address === undefined) return undefined as any;\n // Decode normalized hex back to ASCII Stellar address\n const stellarAddress = normalizedToStellarAscii(address);\n return {\n nativeAddress: stellarAddress as StellarString,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n if (address === undefined) return undefined as any;\n return normalizedToStellarAscii(address) as StellarString;\n },\n nativeToNormalized: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n // Convert ASCII address to normalized hex\n return stellarAsciiToNormalized(address);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n // Decode the Stellar address to its raw 32-byte payload based on type\n let rawBytes: Buffer;\n if (StrKey.isValidEd25519PublicKey(address)) {\n // Account addresses (G...) - Ed25519 public key (32 bytes)\n rawBytes = StrKey.decodeEd25519PublicKey(address);\n } else if (StrKey.isValidContract(address)) {\n // Contract addresses (C...) - contract ID (32 bytes)\n rawBytes = StrKey.decodeContract(address);\n } else if (StrKey.isValidLiquidityPool(address)) {\n // Liquidity pool addresses (L...) - pool ID (32 bytes)\n rawBytes = StrKey.decodeLiquidityPool(address);\n } else if (StrKey.isValidClaimableBalance(address)) {\n // Claimable balance addresses (B...) - balance ID (33 bytes: 1-byte version + 32-byte hash)\n // Per SEP-0023: first byte is the claimable balance type (0x00 = V0), followed by 32-byte SHA256 hash\n const fullBytes = StrKey.decodeClaimableBalance(address);\n rawBytes = fullBytes.subarray(1); // Skip the first byte (version), return the 32-byte hash\n } else if (StrKey.isValidMed25519PublicKey(address)) {\n // Muxed addresses (M...) contain additional data beyond 32 bytes\n throw new Error(\n 'nativeToBytes32 is not supported for Stellar muxed addresses (M...)',\n );\n } else if (StrKey.isValidSignedPayload(address)) {\n // Signed payload (P...) has variable length\n throw new Error(\n 'nativeToBytes32 is not supported for Stellar signed payload addresses (P...)',\n );\n } else {\n throw new Error(`Unknown Stellar address type: ${address}`);\n }\n return bytesToHexPrefixed(rawBytes);\n },\n nativeToBytes: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n const address = getAddress(nativeAddress);\n assertNative(address, chainName);\n // Convert ASCII address to UTF-8 bytes\n return stellarTextEncoder.encode(address);\n },\n nativeToBytes32: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n // Use nativeToBytes32Hex and convert to Uint8Array\n const hex = addressParser(chainName).nativeToBytes32Hex(nativeAddress);\n return hexToBytes(hex);\n },\n parseNative: (nativeAddress) => {\n assertNative(nativeAddress, chainName);\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToUnpaddedHex: (nativeAddress) => {\n assertNative(nativeAddress, chainName);\n const normalized = addressParser(chainName).nativeToNormalized(nativeAddress);\n return normalized as unknown as HexString;\n },\n encoding: AddressEncoding.STELLAR,\n };\n};\n\n// Starknet addresses do not have handle hexzero padding, so we just return the address as is\nexport const starknetAddressParser = (\n chainName: ChainsByEncoding[HexString],\n): AddressParser<ChainsByEncoding[HexString]> => {\n return {\n ...hexAddressParser(chainName),\n validateNative: (nativeAddress): nativeAddress is HexString => {\n if (nativeAddress === undefined) return false;\n return isHexString(nativeAddress);\n },\n parseNative: (nativeAddress) => {\n if (nativeAddress === undefined) return undefined as any;\n // We can't trust starknet.js strings, they may actually be bigints!\n // so just convert everything to hex first, then convert to normalized\n nativeAddress = `0x${BigInt(nativeAddress).toString(16)}`;\n assertNative(nativeAddress, chainName);\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n normalizedToNative: (address) => {\n if (address === undefined) return undefined as any;\n return {\n nativeAddress: address,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n if (address === undefined) return undefined as any;\n return address;\n },\n };\n};\n"]}
|
package/dist/addressParser.cjs
CHANGED
|
@@ -1,33 +1,41 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var QOTVRPBZ_cjs = require('./QOTVRPBZ.cjs');
|
|
4
4
|
require('./J6P5K7DC.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "AddressEncoding", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return QOTVRPBZ_cjs.AddressEncoding; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "addressParser", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return QOTVRPBZ_cjs.addressParser; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "base58AddressParser", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return QOTVRPBZ_cjs.base58AddressParser; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "hexAddressParser", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return QOTVRPBZ_cjs.hexAddressParser; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "initiaAddressParser", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return QOTVRPBZ_cjs.initiaAddressParser; }
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports, "starknetAddressParser", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () { return QOTVRPBZ_cjs.starknetAddressParser; }
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "stellarAddressParser", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () { return QOTVRPBZ_cjs.stellarAddressParser; }
|
|
27
35
|
});
|
|
28
36
|
Object.defineProperty(exports, "tonAddressParser", {
|
|
29
37
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
38
|
+
get: function () { return QOTVRPBZ_cjs.tonAddressParser; }
|
|
31
39
|
});
|
|
32
40
|
//# sourceMappingURL=addressParser.cjs.map
|
|
33
41
|
//# sourceMappingURL=addressParser.cjs.map
|
package/dist/addressParser.d.ts
CHANGED
|
@@ -3,12 +3,14 @@ import type { HexString, NormalizedHexString } from '@layerzerolabs/common-chain
|
|
|
3
3
|
import type { Base58String, ChainsByEncoding, ChainType, InferChainNamesForChainType, InferChainTypeForChainName, InitiaString, NativeAddress, ResolvedEncodingForChainName } from '@layerzerolabs/layerzero-definitions';
|
|
4
4
|
import type { ChainNativeAddress } from '@layerzerolabs/layerzero-definitions';
|
|
5
5
|
import { ChainName } from '@layerzerolabs/layerzero-definitions';
|
|
6
|
+
import type { MaybeUndefinedMapped } from '@layerzerolabs/typescript-utils';
|
|
6
7
|
type NativeOrString<T extends ChainName> = ChainNativeAddress<T> | ResolvedEncodingForChainName<T>;
|
|
7
8
|
export declare enum AddressEncoding {
|
|
8
9
|
HEX = "hex",
|
|
9
10
|
BASE58 = "base58",
|
|
10
11
|
TON = "ton",
|
|
11
|
-
INITIA = "initia"
|
|
12
|
+
INITIA = "initia",
|
|
13
|
+
STELLAR = "stellar"
|
|
12
14
|
}
|
|
13
15
|
export type ExtensionByChainType = {
|
|
14
16
|
ton: {
|
|
@@ -17,27 +19,27 @@ export type ExtensionByChainType = {
|
|
|
17
19
|
};
|
|
18
20
|
export type InferExtensionByChainName<T extends ChainName> = InferChainTypeForChainName<T> extends keyof ExtensionByChainType ? ExtensionByChainType[InferChainTypeForChainName<T>] : {};
|
|
19
21
|
export type AddressParser<T extends ChainName> = {
|
|
20
|
-
normalizedToNative: (address:
|
|
21
|
-
normalizedToNativeString: (address:
|
|
22
|
-
nativeToNormalized:
|
|
23
|
-
nativeToBytes:
|
|
24
|
-
nativeToBytes32Hex:
|
|
25
|
-
nativeToBytes32:
|
|
26
|
-
validateNative: (nativeAddress: string) => nativeAddress is ResolvedEncodingForChainName<T>;
|
|
22
|
+
normalizedToNative: <Address extends NormalizedHexString | undefined>(address: Address) => MaybeUndefinedMapped<Address, ChainNativeAddress<T>>;
|
|
23
|
+
normalizedToNativeString: <Address extends NormalizedHexString | undefined>(address: Address) => MaybeUndefinedMapped<Address, ResolvedEncodingForChainName<T>>;
|
|
24
|
+
nativeToNormalized: <Address extends NativeOrString<T> | undefined>(nativeAddress: Address) => MaybeUndefinedMapped<Address, NormalizedHexString>;
|
|
25
|
+
nativeToBytes: <Address extends NativeOrString<T> | undefined>(nativeAddress: Address) => MaybeUndefinedMapped<Address, Uint8Array>;
|
|
26
|
+
nativeToBytes32Hex: <Address extends NativeOrString<T> | undefined>(nativeAddress: Address) => MaybeUndefinedMapped<Address, HexString>;
|
|
27
|
+
nativeToBytes32: <Address extends NativeOrString<T> | undefined>(nativeAddress: Address) => MaybeUndefinedMapped<Address, Uint8Array>;
|
|
28
|
+
validateNative: (nativeAddress: string | undefined) => nativeAddress is ResolvedEncodingForChainName<T>;
|
|
27
29
|
/**
|
|
28
30
|
* Parse a native address to a string if it is valid.
|
|
29
31
|
* Throws an error if the native address is invalid.
|
|
30
32
|
* @param nativeAddress - The native address to parse.
|
|
31
33
|
* @returns The parsed native address.
|
|
32
34
|
*/
|
|
33
|
-
parseNative: (nativeAddress: string) => NormalizedHexString;
|
|
34
|
-
|
|
35
|
+
parseNative: (nativeAddress: string | undefined) => NormalizedHexString;
|
|
36
|
+
parseNativeToUnpaddedHex: (nativeAddress: string | undefined) => HexString;
|
|
35
37
|
encoding: AddressEncoding;
|
|
36
38
|
} & InferExtensionByChainName<T>;
|
|
37
39
|
export declare function addressParser<T extends ChainName>(chainName: T): AddressParser<T>;
|
|
38
40
|
export declare namespace addressParser {
|
|
39
41
|
const normalizedToBytes32Hex: (address: NormalizedHexString) => `0x${string}`;
|
|
40
|
-
const
|
|
42
|
+
const normalizedToAlignedString: (address: NormalizedHexString) => HexString;
|
|
41
43
|
const normalizedToBytes32: (address: NormalizedHexString) => Uint8Array<ArrayBufferLike>;
|
|
42
44
|
const normalizedToBigInt: (address: NormalizedHexString) => bigint;
|
|
43
45
|
const parseNative: (nativeAddress: NativeAddress) => NormalizedHexString;
|
|
@@ -46,5 +48,7 @@ export declare const tonAddressParser: (chainName: InferChainNamesForChainType<C
|
|
|
46
48
|
export declare const initiaAddressParser: (chainName: ChainsByEncoding[InitiaString]) => AddressParser<ChainsByEncoding[InitiaString]>;
|
|
47
49
|
export declare const base58AddressParser: (chainName: ChainsByEncoding[Base58String]) => AddressParser<ChainsByEncoding[Base58String]>;
|
|
48
50
|
export declare const hexAddressParser: (chainName: ChainsByEncoding[HexString]) => AddressParser<ChainsByEncoding[HexString]>;
|
|
51
|
+
export declare const stellarAddressParser: (chainName: InferChainNamesForChainType<ChainType.STELLAR>) => AddressParser<InferChainNamesForChainType<ChainType.STELLAR>>;
|
|
52
|
+
export declare const starknetAddressParser: (chainName: ChainsByEncoding[HexString]) => AddressParser<ChainsByEncoding[HexString]>;
|
|
49
53
|
export {};
|
|
50
54
|
//# sourceMappingURL=addressParser.d.ts.map
|