@layerzerolabs/chain-utils 0.0.63 → 0.0.65
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 +22 -22
- package/.turbo/turbo-test.log +3 -3
- package/dist/{AIR3W6OQ.cjs → K6ILVJZQ.cjs} +9 -15
- package/dist/K6ILVJZQ.cjs.map +1 -0
- package/dist/{F5VILSBQ.js → MR2I35UU.js} +9 -15
- package/dist/MR2I35UU.js.map +1 -0
- package/dist/addressParser.cjs +7 -7
- package/dist/addressParser.d.ts +1 -1
- package/dist/addressParser.d.ts.map +1 -1
- package/dist/addressParser.js +1 -1
- package/dist/addressParser.test.cjs +9 -9
- package/dist/addressParser.test.js +1 -1
- package/dist/index.cjs +7 -7
- package/dist/index.js +1 -1
- package/package.json +9 -9
- package/src/addressParser.ts +11 -14
- package/dist/AIR3W6OQ.cjs.map +0 -1
- package/dist/F5VILSBQ.js.map +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -11,37 +11,37 @@
|
|
|
11
11
|
[34mCJS[39m Build start
|
|
12
12
|
[34mESM[39m Build start
|
|
13
13
|
Entry module "dist/7BDQVICT.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
|
|
14
|
-
[32mCJS[39m [1mdist/addressParser.cjs [22m[32m1008.00 B[39m
|
|
15
|
-
[32mCJS[39m [1mdist/index.cjs [22m[32m1.21 KB[39m
|
|
16
|
-
[32mCJS[39m [1mdist/AIR3W6OQ.cjs [22m[32m12.37 KB[39m
|
|
17
|
-
[32mCJS[39m [1mdist/utils.cjs [22m[32m294.00 B[39m
|
|
18
|
-
[32mCJS[39m [1mdist/NOJYY7DN.cjs [22m[32m466.00 B[39m
|
|
19
|
-
[32mCJS[39m [1mdist/J6P5K7DC.cjs [22m[32m2.47 KB[39m
|
|
20
|
-
[32mCJS[39m [1mdist/7BDQVICT.cjs [22m[32m42.04 KB[39m
|
|
21
|
-
[32mCJS[39m [1mdist/addressParser.test.cjs [22m[32m655.12 KB[39m
|
|
22
|
-
[32mCJS[39m [1mdist/addressParser.cjs.map [22m[32m78.00 B[39m
|
|
23
|
-
[32mCJS[39m [1mdist/index.cjs.map [22m[32m208.00 B[39m
|
|
24
|
-
[32mCJS[39m [1mdist/AIR3W6OQ.cjs.map [22m[32m23.79 KB[39m
|
|
25
|
-
[32mCJS[39m [1mdist/utils.cjs.map [22m[32m70.00 B[39m
|
|
26
|
-
[32mCJS[39m [1mdist/NOJYY7DN.cjs.map [22m[32m658.00 B[39m
|
|
27
|
-
[32mCJS[39m [1mdist/J6P5K7DC.cjs.map [22m[32m845.00 B[39m
|
|
28
|
-
[32mCJS[39m [1mdist/7BDQVICT.cjs.map [22m[32m99.22 KB[39m
|
|
29
|
-
[32mCJS[39m [1mdist/addressParser.test.cjs.map [22m[32m1.59 MB[39m
|
|
30
|
-
[32mCJS[39m ⚡️ Build success in 7230ms
|
|
31
14
|
[32mESM[39m [1mdist/addressParser.js [22m[32m249.00 B[39m
|
|
32
15
|
[32mESM[39m [1mdist/index.js [22m[32m340.00 B[39m
|
|
33
|
-
[32mESM[39m [1mdist/F5VILSBQ.js [22m[32m11.04 KB[39m
|
|
34
|
-
[32mESM[39m [1mdist/FJIAQ3QL.js [22m[32m419.00 B[39m
|
|
35
16
|
[32mESM[39m [1mdist/utils.js [22m[32m139.00 B[39m
|
|
17
|
+
[32mESM[39m [1mdist/MR2I35UU.js [22m[32m10.71 KB[39m
|
|
18
|
+
[32mESM[39m [1mdist/FJIAQ3QL.js [22m[32m419.00 B[39m
|
|
36
19
|
[32mESM[39m [1mdist/YXE7PREU.js [22m[32m2.36 KB[39m
|
|
37
20
|
[32mESM[39m [1mdist/PBOTNOCJ.js [22m[32m41.68 KB[39m
|
|
38
21
|
[32mESM[39m [1mdist/addressParser.test.js [22m[32m641.45 KB[39m
|
|
39
22
|
[32mESM[39m [1mdist/addressParser.js.map [22m[32m77.00 B[39m
|
|
23
|
+
[32mESM[39m [1mdist/utils.js.map [22m[32m69.00 B[39m
|
|
40
24
|
[32mESM[39m [1mdist/index.js.map [22m[32m187.00 B[39m
|
|
41
|
-
[32mESM[39m [1mdist/F5VILSBQ.js.map [22m[32m23.72 KB[39m
|
|
42
25
|
[32mESM[39m [1mdist/FJIAQ3QL.js.map [22m[32m625.00 B[39m
|
|
43
|
-
[32mESM[39m [1mdist/utils.js.map [22m[32m69.00 B[39m
|
|
44
26
|
[32mESM[39m [1mdist/YXE7PREU.js.map [22m[32m653.00 B[39m
|
|
27
|
+
[32mESM[39m [1mdist/MR2I35UU.js.map [22m[32m23.40 KB[39m
|
|
45
28
|
[32mESM[39m [1mdist/PBOTNOCJ.js.map [22m[32m99.19 KB[39m
|
|
46
29
|
[32mESM[39m [1mdist/addressParser.test.js.map [22m[32m1.59 MB[39m
|
|
47
|
-
[32mESM[39m ⚡️ Build success in
|
|
30
|
+
[32mESM[39m ⚡️ Build success in 1823ms
|
|
31
|
+
[32mCJS[39m [1mdist/addressParser.cjs [22m[32m1008.00 B[39m
|
|
32
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m1.21 KB[39m
|
|
33
|
+
[32mCJS[39m [1mdist/utils.cjs [22m[32m294.00 B[39m
|
|
34
|
+
[32mCJS[39m [1mdist/NOJYY7DN.cjs [22m[32m466.00 B[39m
|
|
35
|
+
[32mCJS[39m [1mdist/J6P5K7DC.cjs [22m[32m2.47 KB[39m
|
|
36
|
+
[32mCJS[39m [1mdist/K6ILVJZQ.cjs [22m[32m12.03 KB[39m
|
|
37
|
+
[32mCJS[39m [1mdist/7BDQVICT.cjs [22m[32m42.04 KB[39m
|
|
38
|
+
[32mCJS[39m [1mdist/addressParser.test.cjs [22m[32m655.12 KB[39m
|
|
39
|
+
[32mCJS[39m [1mdist/index.cjs.map [22m[32m208.00 B[39m
|
|
40
|
+
[32mCJS[39m [1mdist/addressParser.cjs.map [22m[32m78.00 B[39m
|
|
41
|
+
[32mCJS[39m [1mdist/J6P5K7DC.cjs.map [22m[32m845.00 B[39m
|
|
42
|
+
[32mCJS[39m [1mdist/NOJYY7DN.cjs.map [22m[32m658.00 B[39m
|
|
43
|
+
[32mCJS[39m [1mdist/utils.cjs.map [22m[32m70.00 B[39m
|
|
44
|
+
[32mCJS[39m [1mdist/K6ILVJZQ.cjs.map [22m[32m23.49 KB[39m
|
|
45
|
+
[32mCJS[39m [1mdist/7BDQVICT.cjs.map [22m[32m99.22 KB[39m
|
|
46
|
+
[32mCJS[39m [1mdist/addressParser.test.cjs.map [22m[32m1.59 MB[39m
|
|
47
|
+
[32mCJS[39m ⚡️ Build success in 1825ms
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -13,11 +13,11 @@ Breaking changes might not follow SemVer, please pin Vitest's version when using
|
|
|
13
13
|
error: [32m'The address invalid-ton-address cannot be decoded as TON, hex, or base58'[39m
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
[32m✓[39m src/addressParser.test.ts [2m([22m[2m26 tests[22m[2m)[22m[32m
|
|
16
|
+
[32m✓[39m src/addressParser.test.ts [2m([22m[2m26 tests[22m[2m)[22m[32m 192[2mms[22m[39m
|
|
17
17
|
|
|
18
18
|
[2m Test Files [22m [1m[32m1 passed[39m[22m[90m (1)[39m
|
|
19
19
|
[2m Tests [22m [1m[32m26 passed[39m[22m[90m (26)[39m
|
|
20
20
|
[2mType Errors [22m [2mno errors[22m
|
|
21
|
-
[2m Start at [22m
|
|
22
|
-
[2m Duration [22m 2.
|
|
21
|
+
[2m Start at [22m 18:41:59
|
|
22
|
+
[2m Duration [22m 2.13s[2m (transform 493ms, setup 0ms, collect 1.56s, tests 192ms, environment 0ms, prepare 116ms)[22m
|
|
23
23
|
|
|
@@ -33,6 +33,9 @@ J6P5K7DC_cjs.__name(addressParser, "addressParser");
|
|
|
33
33
|
addressParser2.normalizedToBytes32Hex = (address) => {
|
|
34
34
|
return commonUtils.hexZeroPad(address, 32);
|
|
35
35
|
};
|
|
36
|
+
addressParser2.normalizedToUnpaddedString = (address) => {
|
|
37
|
+
return address.toString();
|
|
38
|
+
};
|
|
36
39
|
addressParser2.normalizedToBytes32 = (address) => {
|
|
37
40
|
return commonUtils.hexToBytes(addressParser2.normalizedToBytes32Hex(address));
|
|
38
41
|
};
|
|
@@ -73,9 +76,6 @@ var tonAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
73
76
|
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
74
77
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
75
78
|
}, "normalizedToNativeString"),
|
|
76
|
-
normalizedToUnpaddedString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
77
|
-
return String(address);
|
|
78
|
-
}, "normalizedToUnpaddedString"),
|
|
79
79
|
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
80
80
|
const address = getAddress(nativeAddress);
|
|
81
81
|
validateNative(address, chainName);
|
|
@@ -109,7 +109,7 @@ var initiaAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
109
109
|
return {
|
|
110
110
|
validateNative: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
111
111
|
try {
|
|
112
|
-
return /^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/.test(nativeAddress);
|
|
112
|
+
return commonUtils.isHexString(nativeAddress) || /^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38,66})$/.test(nativeAddress);
|
|
113
113
|
} catch {
|
|
114
114
|
return false;
|
|
115
115
|
}
|
|
@@ -123,12 +123,12 @@ var initiaAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
123
123
|
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
124
124
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
125
125
|
}, "normalizedToNativeString"),
|
|
126
|
-
normalizedToUnpaddedString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
127
|
-
return String(address);
|
|
128
|
-
}, "normalizedToUnpaddedString"),
|
|
129
126
|
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
130
127
|
const address = getAddress(nativeAddress);
|
|
131
128
|
validateNative(address, chainName);
|
|
129
|
+
if (commonUtils.isHexString(address)) {
|
|
130
|
+
return commonChainModel.normalizeHex(address);
|
|
131
|
+
}
|
|
132
132
|
return commonChainModel.normalizeHex(initia_js.AccAddress.toHex(nativeAddress.toString()));
|
|
133
133
|
}, "nativeToNormalized"),
|
|
134
134
|
nativeToBytes32Hex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
@@ -166,9 +166,6 @@ var base58AddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
166
166
|
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
167
167
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
168
168
|
}, "normalizedToNativeString"),
|
|
169
|
-
normalizedToUnpaddedString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
170
|
-
return String(address);
|
|
171
|
-
}, "normalizedToUnpaddedString"),
|
|
172
169
|
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
173
170
|
const address = getAddress(nativeAddress);
|
|
174
171
|
validateNative(address, chainName);
|
|
@@ -214,9 +211,6 @@ var hexAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
|
|
|
214
211
|
normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
215
212
|
return commonUtils.hexZeroPad(address, nativeByteLength);
|
|
216
213
|
}, "normalizedToNativeString"),
|
|
217
|
-
normalizedToUnpaddedString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
|
|
218
|
-
return String(address);
|
|
219
|
-
}, "normalizedToUnpaddedString"),
|
|
220
214
|
nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
|
|
221
215
|
const address = getAddress(nativeAddress);
|
|
222
216
|
validateNative(address, chainName);
|
|
@@ -257,5 +251,5 @@ exports.base58AddressParser = base58AddressParser;
|
|
|
257
251
|
exports.hexAddressParser = hexAddressParser;
|
|
258
252
|
exports.initiaAddressParser = initiaAddressParser;
|
|
259
253
|
exports.tonAddressParser = tonAddressParser;
|
|
260
|
-
//# sourceMappingURL=
|
|
261
|
-
//# sourceMappingURL=
|
|
254
|
+
//# sourceMappingURL=K6ILVJZQ.cjs.map
|
|
255
|
+
//# sourceMappingURL=K6ILVJZQ.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","hexAddressParser","normalizedToBytes32Hex","address","hexZeroPad","normalizedToUnpaddedString","toString","normalizedToBytes32","hexToBytes","normalizedToBigInt","BigInt","parseNative","nativeAddress","validateNative","__name","expectedChainName","Error","getAddress","parseTonAddress","normalizedToNative","numericalValue","bigintToAddress","normalizedToNativeString","nativeToNormalized","normalizeHex","addressToHex","nativeToBytes32Hex","nativeToBytes","nativeToBytes32","parseNativeToHex","tonToNormalized","tonAddress","encoding","isHexString","test","AccAddress","fromHex","toHex","isBase58","bs58","encode","hex","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","TRON","startsWith","slice"],"mappings":"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","file":"K6ILVJZQ.cjs","sourcesContent":["import { AccAddress } from '@initia/initia.js';\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} from '@layerzerolabs/layerzero-definitions';\nimport type { ChainNativeAddress } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport { StaticChainConfigs } from '@layerzerolabs/static-chain-info';\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}\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: NormalizedHexString) => ChainNativeAddress<T>;\n normalizedToNativeString: (address: NormalizedHexString) => ResolvedEncodingForChainName<T>;\n nativeToNormalized: (nativeAddress: NativeOrString<T>) => NormalizedHexString;\n nativeToBytes: (nativeAddress: NativeOrString<T>) => Uint8Array;\n nativeToBytes32Hex: (nativeAddress: NativeOrString<T>) => HexString;\n nativeToBytes32: (nativeAddress: NativeOrString<T>) => Uint8Array;\n validateNative: (nativeAddress: string) => 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) => NormalizedHexString;\n parseNativeToHex: (nativeAddress: string) => 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 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 export const normalizedToUnpaddedString = (address: NormalizedHexString) => {\n return address.toString() as HexString;\n };\n export const normalizedToBytes32 = (address: NormalizedHexString) => {\n return hexToBytes(normalizedToBytes32Hex(address));\n };\n export const normalizedToBigInt = (address: NormalizedHexString) => {\n return BigInt(address as unknown as HexString);\n };\n export const parseNative = (nativeAddress: NativeAddress) => {\n return addressParser(nativeAddress.chainName).parseNative(nativeAddress.nativeAddress);\n };\n}\n\nconst validateNative = <T extends ChainName>(\n nativeAddress: string,\n expectedChainName: T,\n): 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 return true;\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 try {\n parseTonAddress(nativeAddress);\n return true;\n } catch {\n return false;\n }\n },\n normalizedToNative: (address) => {\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 return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(addressToHex(address));\n },\n nativeToBytes32Hex: (nativeAddress) => {\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 return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 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 return {\n nativeAddress: AccAddress.fromHex(address as unknown as HexString) as InitiaString,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(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 return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 return isBase58(nativeAddress);\n },\n normalizedToNative: (address) => {\n return {\n nativeAddress: bs58.encode(\n hexToBytes(address as unknown as HexString),\n ) as Base58String,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(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 return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return bs58.decode(address);\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 const nativeByteLength = StaticChainConfigs.getAddressSizeInBytes(chainName as ChainName);\n\n return {\n validateNative: (nativeAddress): nativeAddress is HexString => {\n return isHexString(nativeAddress);\n },\n normalizedToNative: (address) => {\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 return hexZeroPad(address as unknown as HexString, nativeByteLength);\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(address);\n },\n nativeToBytes: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return hexToBytes(address);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return hexZeroPad(address, 32);\n },\n nativeToBytes32: (nativeAddress) => {\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) {\n nativeAddress = nativeAddress.startsWith('41')\n ? `0x${nativeAddress.slice(2)}`\n : nativeAddress;\n }\n\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (nativeAddress) => {\n return addressParser(chainName).parseNative(nativeAddress) as unknown as HexString;\n },\n encoding: AddressEncoding.HEX,\n };\n};\n"]}
|
|
@@ -27,6 +27,9 @@ __name(addressParser, "addressParser");
|
|
|
27
27
|
addressParser2.normalizedToBytes32Hex = (address) => {
|
|
28
28
|
return hexZeroPad(address, 32);
|
|
29
29
|
};
|
|
30
|
+
addressParser2.normalizedToUnpaddedString = (address) => {
|
|
31
|
+
return address.toString();
|
|
32
|
+
};
|
|
30
33
|
addressParser2.normalizedToBytes32 = (address) => {
|
|
31
34
|
return hexToBytes(addressParser2.normalizedToBytes32Hex(address));
|
|
32
35
|
};
|
|
@@ -67,9 +70,6 @@ var tonAddressParser = /* @__PURE__ */ __name((chainName) => {
|
|
|
67
70
|
normalizedToNativeString: /* @__PURE__ */ __name((address) => {
|
|
68
71
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
69
72
|
}, "normalizedToNativeString"),
|
|
70
|
-
normalizedToUnpaddedString: /* @__PURE__ */ __name((address) => {
|
|
71
|
-
return String(address);
|
|
72
|
-
}, "normalizedToUnpaddedString"),
|
|
73
73
|
nativeToNormalized: /* @__PURE__ */ __name((nativeAddress) => {
|
|
74
74
|
const address = getAddress(nativeAddress);
|
|
75
75
|
validateNative(address, chainName);
|
|
@@ -103,7 +103,7 @@ var initiaAddressParser = /* @__PURE__ */ __name((chainName) => {
|
|
|
103
103
|
return {
|
|
104
104
|
validateNative: /* @__PURE__ */ __name((nativeAddress) => {
|
|
105
105
|
try {
|
|
106
|
-
return /^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/.test(nativeAddress);
|
|
106
|
+
return isHexString(nativeAddress) || /^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38,66})$/.test(nativeAddress);
|
|
107
107
|
} catch {
|
|
108
108
|
return false;
|
|
109
109
|
}
|
|
@@ -117,12 +117,12 @@ var initiaAddressParser = /* @__PURE__ */ __name((chainName) => {
|
|
|
117
117
|
normalizedToNativeString: /* @__PURE__ */ __name((address) => {
|
|
118
118
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
119
119
|
}, "normalizedToNativeString"),
|
|
120
|
-
normalizedToUnpaddedString: /* @__PURE__ */ __name((address) => {
|
|
121
|
-
return String(address);
|
|
122
|
-
}, "normalizedToUnpaddedString"),
|
|
123
120
|
nativeToNormalized: /* @__PURE__ */ __name((nativeAddress) => {
|
|
124
121
|
const address = getAddress(nativeAddress);
|
|
125
122
|
validateNative(address, chainName);
|
|
123
|
+
if (isHexString(address)) {
|
|
124
|
+
return normalizeHex(address);
|
|
125
|
+
}
|
|
126
126
|
return normalizeHex(AccAddress.toHex(nativeAddress.toString()));
|
|
127
127
|
}, "nativeToNormalized"),
|
|
128
128
|
nativeToBytes32Hex: /* @__PURE__ */ __name((nativeAddress) => {
|
|
@@ -160,9 +160,6 @@ var base58AddressParser = /* @__PURE__ */ __name((chainName) => {
|
|
|
160
160
|
normalizedToNativeString: /* @__PURE__ */ __name((address) => {
|
|
161
161
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
162
162
|
}, "normalizedToNativeString"),
|
|
163
|
-
normalizedToUnpaddedString: /* @__PURE__ */ __name((address) => {
|
|
164
|
-
return String(address);
|
|
165
|
-
}, "normalizedToUnpaddedString"),
|
|
166
163
|
nativeToNormalized: /* @__PURE__ */ __name((nativeAddress) => {
|
|
167
164
|
const address = getAddress(nativeAddress);
|
|
168
165
|
validateNative(address, chainName);
|
|
@@ -208,9 +205,6 @@ var hexAddressParser = /* @__PURE__ */ __name((chainName) => {
|
|
|
208
205
|
normalizedToNativeString: /* @__PURE__ */ __name((address) => {
|
|
209
206
|
return hexZeroPad(address, nativeByteLength);
|
|
210
207
|
}, "normalizedToNativeString"),
|
|
211
|
-
normalizedToUnpaddedString: /* @__PURE__ */ __name((address) => {
|
|
212
|
-
return String(address);
|
|
213
|
-
}, "normalizedToUnpaddedString"),
|
|
214
208
|
nativeToNormalized: /* @__PURE__ */ __name((nativeAddress) => {
|
|
215
209
|
const address = getAddress(nativeAddress);
|
|
216
210
|
validateNative(address, chainName);
|
|
@@ -246,5 +240,5 @@ var hexAddressParser = /* @__PURE__ */ __name((chainName) => {
|
|
|
246
240
|
}, "hexAddressParser");
|
|
247
241
|
|
|
248
242
|
export { AddressEncoding, addressParser, base58AddressParser, hexAddressParser, initiaAddressParser, tonAddressParser };
|
|
249
|
-
//# sourceMappingURL=
|
|
250
|
-
//# sourceMappingURL=
|
|
243
|
+
//# sourceMappingURL=MR2I35UU.js.map
|
|
244
|
+
//# sourceMappingURL=MR2I35UU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/addressParser.ts"],"names":["AddressEncoding","addressParser","chainName","ChainName","TON","tonAddressParser","SOLANA","base58AddressParser","INITIA","initiaAddressParser","hexAddressParser","normalizedToBytes32Hex","address","hexZeroPad","normalizedToUnpaddedString","toString","normalizedToBytes32","hexToBytes","normalizedToBigInt","BigInt","parseNative","nativeAddress","validateNative","expectedChainName","Error","getAddress","parseTonAddress","normalizedToNative","numericalValue","bigintToAddress","normalizedToNativeString","nativeToNormalized","normalizeHex","addressToHex","nativeToBytes32Hex","nativeToBytes","nativeToBytes32","parseNativeToHex","tonToNormalized","tonAddress","encoding","isHexString","test","AccAddress","fromHex","toHex","isBase58","bs58","encode","hex","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","TRON","startsWith","slice"],"mappings":"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","file":"MR2I35UU.js","sourcesContent":["import { AccAddress } from '@initia/initia.js';\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} from '@layerzerolabs/layerzero-definitions';\nimport type { ChainNativeAddress } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport { StaticChainConfigs } from '@layerzerolabs/static-chain-info';\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}\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: NormalizedHexString) => ChainNativeAddress<T>;\n normalizedToNativeString: (address: NormalizedHexString) => ResolvedEncodingForChainName<T>;\n nativeToNormalized: (nativeAddress: NativeOrString<T>) => NormalizedHexString;\n nativeToBytes: (nativeAddress: NativeOrString<T>) => Uint8Array;\n nativeToBytes32Hex: (nativeAddress: NativeOrString<T>) => HexString;\n nativeToBytes32: (nativeAddress: NativeOrString<T>) => Uint8Array;\n validateNative: (nativeAddress: string) => 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) => NormalizedHexString;\n parseNativeToHex: (nativeAddress: string) => 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 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 export const normalizedToUnpaddedString = (address: NormalizedHexString) => {\n return address.toString() as HexString;\n };\n export const normalizedToBytes32 = (address: NormalizedHexString) => {\n return hexToBytes(normalizedToBytes32Hex(address));\n };\n export const normalizedToBigInt = (address: NormalizedHexString) => {\n return BigInt(address as unknown as HexString);\n };\n export const parseNative = (nativeAddress: NativeAddress) => {\n return addressParser(nativeAddress.chainName).parseNative(nativeAddress.nativeAddress);\n };\n}\n\nconst validateNative = <T extends ChainName>(\n nativeAddress: string,\n expectedChainName: T,\n): 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 return true;\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 try {\n parseTonAddress(nativeAddress);\n return true;\n } catch {\n return false;\n }\n },\n normalizedToNative: (address) => {\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 return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(addressToHex(address));\n },\n nativeToBytes32Hex: (nativeAddress) => {\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 return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 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 return {\n nativeAddress: AccAddress.fromHex(address as unknown as HexString) as InitiaString,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(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 return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 return isBase58(nativeAddress);\n },\n normalizedToNative: (address) => {\n return {\n nativeAddress: bs58.encode(\n hexToBytes(address as unknown as HexString),\n ) as Base58String,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(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 return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return bs58.decode(address);\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 const nativeByteLength = StaticChainConfigs.getAddressSizeInBytes(chainName as ChainName);\n\n return {\n validateNative: (nativeAddress): nativeAddress is HexString => {\n return isHexString(nativeAddress);\n },\n normalizedToNative: (address) => {\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 return hexZeroPad(address as unknown as HexString, nativeByteLength);\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(address);\n },\n nativeToBytes: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return hexToBytes(address);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return hexZeroPad(address, 32);\n },\n nativeToBytes32: (nativeAddress) => {\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) {\n nativeAddress = nativeAddress.startsWith('41')\n ? `0x${nativeAddress.slice(2)}`\n : nativeAddress;\n }\n\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (nativeAddress) => {\n return addressParser(chainName).parseNative(nativeAddress) as unknown as HexString;\n },\n encoding: AddressEncoding.HEX,\n };\n};\n"]}
|
package/dist/addressParser.cjs
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var K6ILVJZQ_cjs = require('./K6ILVJZQ.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 K6ILVJZQ_cjs.AddressEncoding; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "addressParser", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return K6ILVJZQ_cjs.addressParser; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "base58AddressParser", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return K6ILVJZQ_cjs.base58AddressParser; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "hexAddressParser", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return K6ILVJZQ_cjs.hexAddressParser; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "initiaAddressParser", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return K6ILVJZQ_cjs.initiaAddressParser; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "tonAddressParser", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return K6ILVJZQ_cjs.tonAddressParser; }
|
|
31
31
|
});
|
|
32
32
|
//# sourceMappingURL=addressParser.cjs.map
|
|
33
33
|
//# sourceMappingURL=addressParser.cjs.map
|
package/dist/addressParser.d.ts
CHANGED
|
@@ -19,7 +19,6 @@ export type InferExtensionByChainName<T extends ChainName> = InferChainTypeForCh
|
|
|
19
19
|
export type AddressParser<T extends ChainName> = {
|
|
20
20
|
normalizedToNative: (address: NormalizedHexString) => ChainNativeAddress<T>;
|
|
21
21
|
normalizedToNativeString: (address: NormalizedHexString) => ResolvedEncodingForChainName<T>;
|
|
22
|
-
normalizedToUnpaddedString: (address: NormalizedHexString) => HexString;
|
|
23
22
|
nativeToNormalized: (nativeAddress: NativeOrString<T>) => NormalizedHexString;
|
|
24
23
|
nativeToBytes: (nativeAddress: NativeOrString<T>) => Uint8Array;
|
|
25
24
|
nativeToBytes32Hex: (nativeAddress: NativeOrString<T>) => HexString;
|
|
@@ -38,6 +37,7 @@ export type AddressParser<T extends ChainName> = {
|
|
|
38
37
|
export declare function addressParser<T extends ChainName>(chainName: T): AddressParser<T>;
|
|
39
38
|
export declare namespace addressParser {
|
|
40
39
|
const normalizedToBytes32Hex: (address: NormalizedHexString) => `0x${string}`;
|
|
40
|
+
const normalizedToUnpaddedString: (address: NormalizedHexString) => HexString;
|
|
41
41
|
const normalizedToBytes32: (address: NormalizedHexString) => Uint8Array<ArrayBufferLike>;
|
|
42
42
|
const normalizedToBigInt: (address: NormalizedHexString) => bigint;
|
|
43
43
|
const parseNative: (nativeAddress: NativeAddress) => NormalizedHexString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addressParser.d.ts","sourceRoot":"","sources":["../src/addressParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAUxF,OAAO,KAAK,EACR,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,2BAA2B,EAC3B,0BAA0B,EAC1B,YAAY,EACZ,aAAa,EACb,4BAA4B,EAC/B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,KAAK,cAAc,CAAC,CAAC,SAAS,SAAS,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAEnG,oBAAY,eAAe;IACvB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,GAAG,EAAE;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,mBAAmB,CAAC;KACjE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS,IACrD,0BAA0B,CAAC,CAAC,CAAC,SAAS,MAAM,oBAAoB,GAC1D,oBAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,GACnD,EAAE,CAAC;AAEb,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI;IAC7C,kBAAkB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC5E,wBAAwB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,4BAA4B,CAAC,CAAC,CAAC,CAAC;IAC5F,
|
|
1
|
+
{"version":3,"file":"addressParser.d.ts","sourceRoot":"","sources":["../src/addressParser.ts"],"names":[],"mappings":"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"}
|
package/dist/addressParser.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AddressEncoding, addressParser, base58AddressParser, hexAddressParser, initiaAddressParser, tonAddressParser } from './
|
|
1
|
+
export { AddressEncoding, addressParser, base58AddressParser, hexAddressParser, initiaAddressParser, tonAddressParser } from './MR2I35UU.js';
|
|
2
2
|
import './YXE7PREU.js';
|
|
3
3
|
//# sourceMappingURL=addressParser.js.map
|
|
4
4
|
//# sourceMappingURL=addressParser.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var K6ILVJZQ_cjs = require('./K6ILVJZQ.cjs');
|
|
4
4
|
var J6P5K7DC_cjs = require('./J6P5K7DC.cjs');
|
|
5
5
|
var bs58 = require('bs58');
|
|
6
6
|
var tty = require('tty');
|
|
@@ -18025,7 +18025,7 @@ describe("addressParser - hex/EVM chains", () => {
|
|
|
18025
18025
|
];
|
|
18026
18026
|
evmChains.forEach((chain) => {
|
|
18027
18027
|
describe(chain, () => {
|
|
18028
|
-
const parser =
|
|
18028
|
+
const parser = K6ILVJZQ_cjs.addressParser(chain);
|
|
18029
18029
|
it("maintains roundtrip invariant: hex -> native -> hex", () => {
|
|
18030
18030
|
runPropertyTest(() => {
|
|
18031
18031
|
const input = randomHex(20);
|
|
@@ -18058,13 +18058,13 @@ describe("addressParser - hex/EVM chains", () => {
|
|
|
18058
18058
|
runPropertyTest(() => {
|
|
18059
18059
|
const byteLength = Math.floor(Math.random() * 32) + 1;
|
|
18060
18060
|
const input = randomHex(byteLength);
|
|
18061
|
-
const padded =
|
|
18061
|
+
const padded = K6ILVJZQ_cjs.addressParser.normalizedToBytes32Hex(input);
|
|
18062
18062
|
globalExpect(padded.length).toBe(66);
|
|
18063
18063
|
globalExpect(padded).toBe(commonUtils.hexZeroPad(input, 32));
|
|
18064
18064
|
});
|
|
18065
18065
|
});
|
|
18066
18066
|
it("handles edge cases", () => {
|
|
18067
|
-
const parser =
|
|
18067
|
+
const parser = K6ILVJZQ_cjs.addressParser(layerzeroDefinitions.ChainName.ETHEREUM);
|
|
18068
18068
|
const empty = commonChainModel.normalizeHex("0x");
|
|
18069
18069
|
globalExpect(parser.normalizedToNative(empty).nativeAddress.length).toBe(42);
|
|
18070
18070
|
const max = commonChainModel.normalizeHex("0x" + "ff".repeat(20));
|
|
@@ -18074,7 +18074,7 @@ describe("addressParser - hex/EVM chains", () => {
|
|
|
18074
18074
|
});
|
|
18075
18075
|
});
|
|
18076
18076
|
describe("addressParser - base58 chains (Solana)", () => {
|
|
18077
|
-
const parser =
|
|
18077
|
+
const parser = K6ILVJZQ_cjs.addressParser(layerzeroDefinitions.ChainName.SOLANA);
|
|
18078
18078
|
it("maintains roundtrip invariant: hex -> base58 -> hex", () => {
|
|
18079
18079
|
runPropertyTest(() => {
|
|
18080
18080
|
const byteLength = Math.floor(Math.random() * 32) + 1;
|
|
@@ -18117,15 +18117,15 @@ describe("addressParser - base58 chains (Solana)", () => {
|
|
|
18117
18117
|
});
|
|
18118
18118
|
describe("addressParser - chain validation", () => {
|
|
18119
18119
|
it("validates chain names for nativeToBytes32Hex", () => {
|
|
18120
|
-
const evmParser =
|
|
18121
|
-
const solanaParser =
|
|
18120
|
+
const evmParser = K6ILVJZQ_cjs.addressParser(layerzeroDefinitions.ChainName.ETHEREUM);
|
|
18121
|
+
const solanaParser = K6ILVJZQ_cjs.addressParser(layerzeroDefinitions.ChainName.SOLANA);
|
|
18122
18122
|
const evmAddress = evmParser.normalizedToNative(randomHex(20));
|
|
18123
18123
|
const solanaAddress = solanaParser.normalizedToNative(randomHex(32));
|
|
18124
18124
|
globalExpect(() => solanaParser.nativeToBytes32Hex(evmAddress)).toThrow(/Cannot convert/);
|
|
18125
18125
|
globalExpect(() => evmParser.nativeToBytes32Hex(solanaAddress)).toThrow(/Cannot convert/);
|
|
18126
18126
|
});
|
|
18127
18127
|
it("accepts string addresses without validation", () => {
|
|
18128
|
-
const parser =
|
|
18128
|
+
const parser = K6ILVJZQ_cjs.addressParser(layerzeroDefinitions.ChainName.ETHEREUM);
|
|
18129
18129
|
const randomAddress = "0x" + "ab".repeat(20);
|
|
18130
18130
|
const result = parser.nativeToNormalized(randomAddress);
|
|
18131
18131
|
globalExpect(result).toBe(commonChainModel.normalizeHex(randomAddress));
|
|
@@ -18136,7 +18136,7 @@ describe("addressParser - chain validation", () => {
|
|
|
18136
18136
|
});
|
|
18137
18137
|
});
|
|
18138
18138
|
describe("addressParser - TON", () => {
|
|
18139
|
-
const parser =
|
|
18139
|
+
const parser = K6ILVJZQ_cjs.addressParser(layerzeroDefinitions.ChainName.TON);
|
|
18140
18140
|
it("maintains roundtrip invariant: hex -> ton address -> hex", () => {
|
|
18141
18141
|
runPropertyTest(() => {
|
|
18142
18142
|
const byteLength = Math.floor(Math.random() * 32) + 1;
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var K6ILVJZQ_cjs = require('./K6ILVJZQ.cjs');
|
|
4
4
|
var NOJYY7DN_cjs = require('./NOJYY7DN.cjs');
|
|
5
5
|
var J6P5K7DC_cjs = require('./J6P5K7DC.cjs');
|
|
6
6
|
|
|
@@ -9,27 +9,27 @@ J6P5K7DC_cjs.init_cjs_shims();
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "AddressEncoding", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return K6ILVJZQ_cjs.AddressEncoding; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "addressParser", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return K6ILVJZQ_cjs.addressParser; }
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "base58AddressParser", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return K6ILVJZQ_cjs.base58AddressParser; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, "hexAddressParser", {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return K6ILVJZQ_cjs.hexAddressParser; }
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "initiaAddressParser", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return K6ILVJZQ_cjs.initiaAddressParser; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "tonAddressParser", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return K6ILVJZQ_cjs.tonAddressParser; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, "getNetworkName", {
|
|
35
35
|
enumerable: true,
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AddressEncoding, addressParser, base58AddressParser, hexAddressParser, initiaAddressParser, tonAddressParser } from './
|
|
1
|
+
export { AddressEncoding, addressParser, base58AddressParser, hexAddressParser, initiaAddressParser, tonAddressParser } from './MR2I35UU.js';
|
|
2
2
|
export { getNetworkName } from './FJIAQ3QL.js';
|
|
3
3
|
import { init_esm_shims } from './YXE7PREU.js';
|
|
4
4
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/chain-utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.65",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -17,18 +17,18 @@
|
|
|
17
17
|
"@initia/initia.js": "1.0.4",
|
|
18
18
|
"@ton/ton": "npm:@layerzerolabs/ton@15.1.0-rc.9",
|
|
19
19
|
"bs58": "^5.0.0",
|
|
20
|
-
"@layerzerolabs/common-chain-model": "0.0.
|
|
21
|
-
"@layerzerolabs/common-ton": "0.0.
|
|
22
|
-
"@layerzerolabs/common-utils": "0.0.
|
|
23
|
-
"@layerzerolabs/
|
|
24
|
-
"@layerzerolabs/
|
|
20
|
+
"@layerzerolabs/common-chain-model": "0.0.65",
|
|
21
|
+
"@layerzerolabs/common-ton": "0.0.65",
|
|
22
|
+
"@layerzerolabs/common-utils": "0.0.65",
|
|
23
|
+
"@layerzerolabs/static-chain-info": "0.0.65",
|
|
24
|
+
"@layerzerolabs/layerzero-definitions": "0.0.65"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"tsup": "^8.4.0",
|
|
28
28
|
"vitest": "^3.2.3",
|
|
29
|
-
"@layerzerolabs/tsup-configuration": "0.0.
|
|
30
|
-
"@layerzerolabs/typescript-configuration": "0.0.
|
|
31
|
-
"@layerzerolabs/typescript-utils": "0.0.
|
|
29
|
+
"@layerzerolabs/tsup-configuration": "0.0.65",
|
|
30
|
+
"@layerzerolabs/typescript-configuration": "0.0.65",
|
|
31
|
+
"@layerzerolabs/typescript-utils": "0.0.65"
|
|
32
32
|
},
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"access": "restricted",
|
package/src/addressParser.ts
CHANGED
|
@@ -49,7 +49,6 @@ export type InferExtensionByChainName<T extends ChainName> =
|
|
|
49
49
|
export type AddressParser<T extends ChainName> = {
|
|
50
50
|
normalizedToNative: (address: NormalizedHexString) => ChainNativeAddress<T>;
|
|
51
51
|
normalizedToNativeString: (address: NormalizedHexString) => ResolvedEncodingForChainName<T>;
|
|
52
|
-
normalizedToUnpaddedString: (address: NormalizedHexString) => HexString;
|
|
53
52
|
nativeToNormalized: (nativeAddress: NativeOrString<T>) => NormalizedHexString;
|
|
54
53
|
nativeToBytes: (nativeAddress: NativeOrString<T>) => Uint8Array;
|
|
55
54
|
nativeToBytes32Hex: (nativeAddress: NativeOrString<T>) => HexString;
|
|
@@ -81,6 +80,9 @@ export namespace addressParser {
|
|
|
81
80
|
export const normalizedToBytes32Hex = (address: NormalizedHexString) => {
|
|
82
81
|
return hexZeroPad(address as unknown as HexString, 32);
|
|
83
82
|
};
|
|
83
|
+
export const normalizedToUnpaddedString = (address: NormalizedHexString) => {
|
|
84
|
+
return address.toString() as HexString;
|
|
85
|
+
};
|
|
84
86
|
export const normalizedToBytes32 = (address: NormalizedHexString) => {
|
|
85
87
|
return hexToBytes(normalizedToBytes32Hex(address));
|
|
86
88
|
};
|
|
@@ -134,9 +136,6 @@ export const tonAddressParser: (
|
|
|
134
136
|
normalizedToNativeString: (address) => {
|
|
135
137
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
136
138
|
},
|
|
137
|
-
normalizedToUnpaddedString: (address) => {
|
|
138
|
-
return String(address) as HexString;
|
|
139
|
-
},
|
|
140
139
|
nativeToNormalized: (nativeAddress) => {
|
|
141
140
|
const address = getAddress(nativeAddress);
|
|
142
141
|
validateNative(address, chainName);
|
|
@@ -177,7 +176,11 @@ export const initiaAddressParser: (
|
|
|
177
176
|
return {
|
|
178
177
|
validateNative: (nativeAddress): nativeAddress is InitiaString => {
|
|
179
178
|
try {
|
|
180
|
-
|
|
179
|
+
// Both formats are native for the chain and are used kind of randomly.
|
|
180
|
+
return (
|
|
181
|
+
isHexString(nativeAddress) ||
|
|
182
|
+
/^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38,66})$/.test(nativeAddress)
|
|
183
|
+
);
|
|
181
184
|
} catch {
|
|
182
185
|
return false;
|
|
183
186
|
}
|
|
@@ -191,12 +194,12 @@ export const initiaAddressParser: (
|
|
|
191
194
|
normalizedToNativeString: (address) => {
|
|
192
195
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
193
196
|
},
|
|
194
|
-
normalizedToUnpaddedString: (address) => {
|
|
195
|
-
return String(address) as HexString;
|
|
196
|
-
},
|
|
197
197
|
nativeToNormalized: (nativeAddress) => {
|
|
198
198
|
const address = getAddress(nativeAddress);
|
|
199
199
|
validateNative(address, chainName);
|
|
200
|
+
if (isHexString(address)) {
|
|
201
|
+
return normalizeHex(address);
|
|
202
|
+
}
|
|
200
203
|
return normalizeHex(AccAddress.toHex(nativeAddress.toString()) as HexString);
|
|
201
204
|
},
|
|
202
205
|
nativeToBytes32Hex: (nativeAddress) => {
|
|
@@ -242,9 +245,6 @@ export const base58AddressParser = (
|
|
|
242
245
|
normalizedToNativeString: (address) => {
|
|
243
246
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
244
247
|
},
|
|
245
|
-
normalizedToUnpaddedString: (address) => {
|
|
246
|
-
return String(address) as HexString;
|
|
247
|
-
},
|
|
248
248
|
nativeToNormalized: (nativeAddress) => {
|
|
249
249
|
const address = getAddress(nativeAddress);
|
|
250
250
|
validateNative(address, chainName);
|
|
@@ -298,9 +298,6 @@ export const hexAddressParser = (
|
|
|
298
298
|
normalizedToNativeString: (address) => {
|
|
299
299
|
return hexZeroPad(address as unknown as HexString, nativeByteLength);
|
|
300
300
|
},
|
|
301
|
-
normalizedToUnpaddedString: (address) => {
|
|
302
|
-
return String(address) as HexString;
|
|
303
|
-
},
|
|
304
301
|
nativeToNormalized: (nativeAddress) => {
|
|
305
302
|
const address = getAddress(nativeAddress);
|
|
306
303
|
validateNative(address, chainName);
|
package/dist/AIR3W6OQ.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/addressParser.ts"],"names":["init_cjs_shims","AddressEncoding","addressParser","chainName","ChainName","TON","tonAddressParser","SOLANA","base58AddressParser","INITIA","initiaAddressParser","hexAddressParser","normalizedToBytes32Hex","address","hexZeroPad","normalizedToBytes32","hexToBytes","normalizedToBigInt","BigInt","parseNative","nativeAddress","validateNative","__name","expectedChainName","Error","getAddress","parseTonAddress","normalizedToNative","numericalValue","bigintToAddress","toString","normalizedToNativeString","normalizedToUnpaddedString","String","nativeToNormalized","normalizeHex","addressToHex","nativeToBytes32Hex","nativeToBytes","nativeToBytes32","parseNativeToHex","tonToNormalized","tonAddress","encoding","test","AccAddress","fromHex","toHex","isBase58","bs58","encode","hex","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","isHexString","TRON","startsWith","slice"],"mappings":"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","file":"AIR3W6OQ.cjs","sourcesContent":["import { AccAddress } from '@initia/initia.js';\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} from '@layerzerolabs/layerzero-definitions';\nimport type { ChainNativeAddress } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport { StaticChainConfigs } from '@layerzerolabs/static-chain-info';\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}\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: NormalizedHexString) => ChainNativeAddress<T>;\n normalizedToNativeString: (address: NormalizedHexString) => ResolvedEncodingForChainName<T>;\n normalizedToUnpaddedString: (address: NormalizedHexString) => HexString;\n nativeToNormalized: (nativeAddress: NativeOrString<T>) => NormalizedHexString;\n nativeToBytes: (nativeAddress: NativeOrString<T>) => Uint8Array;\n nativeToBytes32Hex: (nativeAddress: NativeOrString<T>) => HexString;\n nativeToBytes32: (nativeAddress: NativeOrString<T>) => Uint8Array;\n validateNative: (nativeAddress: string) => 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) => NormalizedHexString;\n parseNativeToHex: (nativeAddress: string) => 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 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 export const normalizedToBytes32 = (address: NormalizedHexString) => {\n return hexToBytes(normalizedToBytes32Hex(address));\n };\n export const normalizedToBigInt = (address: NormalizedHexString) => {\n return BigInt(address as unknown as HexString);\n };\n export const parseNative = (nativeAddress: NativeAddress) => {\n return addressParser(nativeAddress.chainName).parseNative(nativeAddress.nativeAddress);\n };\n}\n\nconst validateNative = <T extends ChainName>(\n nativeAddress: string,\n expectedChainName: T,\n): 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 return true;\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 try {\n parseTonAddress(nativeAddress);\n return true;\n } catch {\n return false;\n }\n },\n normalizedToNative: (address) => {\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 return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(addressToHex(address));\n },\n nativeToBytes32Hex: (nativeAddress) => {\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 return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 try {\n return /^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/.test(nativeAddress);\n } catch {\n return false;\n }\n },\n normalizedToNative: (address) => {\n return {\n nativeAddress: AccAddress.fromHex(address as unknown as HexString) as InitiaString,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(AccAddress.toHex(nativeAddress.toString()) as HexString);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 return isBase58(nativeAddress);\n },\n normalizedToNative: (address) => {\n return {\n nativeAddress: bs58.encode(\n hexToBytes(address as unknown as HexString),\n ) as Base58String,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(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 return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return bs58.decode(address);\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 const nativeByteLength = StaticChainConfigs.getAddressSizeInBytes(chainName as ChainName);\n\n return {\n validateNative: (nativeAddress): nativeAddress is HexString => {\n return isHexString(nativeAddress);\n },\n normalizedToNative: (address) => {\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 return hexZeroPad(address as unknown as HexString, nativeByteLength);\n },\n normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(address);\n },\n nativeToBytes: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return hexToBytes(address);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return hexZeroPad(address, 32);\n },\n nativeToBytes32: (nativeAddress) => {\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) {\n nativeAddress = nativeAddress.startsWith('41')\n ? `0x${nativeAddress.slice(2)}`\n : nativeAddress;\n }\n\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (nativeAddress) => {\n return addressParser(chainName).parseNative(nativeAddress) as unknown as HexString;\n },\n encoding: AddressEncoding.HEX,\n };\n};\n"]}
|
package/dist/F5VILSBQ.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/addressParser.ts"],"names":["AddressEncoding","addressParser","chainName","ChainName","TON","tonAddressParser","SOLANA","base58AddressParser","INITIA","initiaAddressParser","hexAddressParser","normalizedToBytes32Hex","address","hexZeroPad","normalizedToBytes32","hexToBytes","normalizedToBigInt","BigInt","parseNative","nativeAddress","validateNative","expectedChainName","Error","getAddress","parseTonAddress","normalizedToNative","numericalValue","bigintToAddress","toString","normalizedToNativeString","normalizedToUnpaddedString","String","nativeToNormalized","normalizeHex","addressToHex","nativeToBytes32Hex","nativeToBytes","nativeToBytes32","parseNativeToHex","tonToNormalized","tonAddress","encoding","test","AccAddress","fromHex","toHex","isBase58","bs58","encode","hex","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","isHexString","TRON","startsWith","slice"],"mappings":"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","file":"F5VILSBQ.js","sourcesContent":["import { AccAddress } from '@initia/initia.js';\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} from '@layerzerolabs/layerzero-definitions';\nimport type { ChainNativeAddress } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } from '@layerzerolabs/layerzero-definitions';\nimport { StaticChainConfigs } from '@layerzerolabs/static-chain-info';\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}\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: NormalizedHexString) => ChainNativeAddress<T>;\n normalizedToNativeString: (address: NormalizedHexString) => ResolvedEncodingForChainName<T>;\n normalizedToUnpaddedString: (address: NormalizedHexString) => HexString;\n nativeToNormalized: (nativeAddress: NativeOrString<T>) => NormalizedHexString;\n nativeToBytes: (nativeAddress: NativeOrString<T>) => Uint8Array;\n nativeToBytes32Hex: (nativeAddress: NativeOrString<T>) => HexString;\n nativeToBytes32: (nativeAddress: NativeOrString<T>) => Uint8Array;\n validateNative: (nativeAddress: string) => 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) => NormalizedHexString;\n parseNativeToHex: (nativeAddress: string) => 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 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 export const normalizedToBytes32 = (address: NormalizedHexString) => {\n return hexToBytes(normalizedToBytes32Hex(address));\n };\n export const normalizedToBigInt = (address: NormalizedHexString) => {\n return BigInt(address as unknown as HexString);\n };\n export const parseNative = (nativeAddress: NativeAddress) => {\n return addressParser(nativeAddress.chainName).parseNative(nativeAddress.nativeAddress);\n };\n}\n\nconst validateNative = <T extends ChainName>(\n nativeAddress: string,\n expectedChainName: T,\n): 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 return true;\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 try {\n parseTonAddress(nativeAddress);\n return true;\n } catch {\n return false;\n }\n },\n normalizedToNative: (address) => {\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 return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(addressToHex(address));\n },\n nativeToBytes32Hex: (nativeAddress) => {\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 return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 try {\n return /^(init)1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$/.test(nativeAddress);\n } catch {\n return false;\n }\n },\n normalizedToNative: (address) => {\n return {\n nativeAddress: AccAddress.fromHex(address as unknown as HexString) as InitiaString,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(AccAddress.toHex(nativeAddress.toString()) as HexString);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 return isBase58(nativeAddress);\n },\n normalizedToNative: (address) => {\n return {\n nativeAddress: bs58.encode(\n hexToBytes(address as unknown as HexString),\n ) as Base58String,\n chainName,\n };\n },\n normalizedToNativeString: (address) => {\n return addressParser(chainName).normalizedToNative(address).nativeAddress;\n },\n normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(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 return hexZeroPad(\n addressParser(chainName).nativeToNormalized(nativeAddress) as unknown as HexString,\n 32,\n );\n },\n nativeToBytes: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return bs58.decode(address);\n },\n nativeToBytes32: (nativeAddress) => {\n return hexToBytes(addressParser(chainName).nativeToBytes32Hex(nativeAddress));\n },\n parseNative: (nativeAddress) => {\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (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 const nativeByteLength = StaticChainConfigs.getAddressSizeInBytes(chainName as ChainName);\n\n return {\n validateNative: (nativeAddress): nativeAddress is HexString => {\n return isHexString(nativeAddress);\n },\n normalizedToNative: (address) => {\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 return hexZeroPad(address as unknown as HexString, nativeByteLength);\n },\n normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\n },\n nativeToNormalized: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return normalizeHex(address);\n },\n nativeToBytes: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return hexToBytes(address);\n },\n nativeToBytes32Hex: (nativeAddress) => {\n const address = getAddress(nativeAddress);\n validateNative(address, chainName);\n return hexZeroPad(address, 32);\n },\n nativeToBytes32: (nativeAddress) => {\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) {\n nativeAddress = nativeAddress.startsWith('41')\n ? `0x${nativeAddress.slice(2)}`\n : nativeAddress;\n }\n\n if (!validateNative(nativeAddress, chainName)) {\n throw new Error('Invalid native address: ' + nativeAddress);\n }\n return addressParser(chainName).nativeToNormalized(nativeAddress);\n },\n parseNativeToHex: (nativeAddress) => {\n return addressParser(chainName).parseNative(nativeAddress) as unknown as HexString;\n },\n encoding: AddressEncoding.HEX,\n };\n};\n"]}
|