@layerzerolabs/chain-utils 0.0.64 → 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 +21 -21
- package/.turbo/turbo-test.log +3 -3
- package/dist/{6W3DK5BA.cjs → K6ILVJZQ.cjs} +5 -14
- package/dist/K6ILVJZQ.cjs.map +1 -0
- package/dist/{7MUIPAWL.js → MR2I35UU.js} +5 -14
- 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.cjs.map +1 -1
- 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 +3 -13
- package/dist/6W3DK5BA.cjs.map +0 -1
- package/dist/7MUIPAWL.js.map +0 -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/static-chain-info": "0.0.
|
|
24
|
-
"@layerzerolabs/layerzero-definitions": "0.0.
|
|
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);
|
|
@@ -195,9 +194,6 @@ export const initiaAddressParser: (
|
|
|
195
194
|
normalizedToNativeString: (address) => {
|
|
196
195
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
197
196
|
},
|
|
198
|
-
normalizedToUnpaddedString: (address) => {
|
|
199
|
-
return String(address) as HexString;
|
|
200
|
-
},
|
|
201
197
|
nativeToNormalized: (nativeAddress) => {
|
|
202
198
|
const address = getAddress(nativeAddress);
|
|
203
199
|
validateNative(address, chainName);
|
|
@@ -249,9 +245,6 @@ export const base58AddressParser = (
|
|
|
249
245
|
normalizedToNativeString: (address) => {
|
|
250
246
|
return addressParser(chainName).normalizedToNative(address).nativeAddress;
|
|
251
247
|
},
|
|
252
|
-
normalizedToUnpaddedString: (address) => {
|
|
253
|
-
return String(address) as HexString;
|
|
254
|
-
},
|
|
255
248
|
nativeToNormalized: (nativeAddress) => {
|
|
256
249
|
const address = getAddress(nativeAddress);
|
|
257
250
|
validateNative(address, chainName);
|
|
@@ -305,9 +298,6 @@ export const hexAddressParser = (
|
|
|
305
298
|
normalizedToNativeString: (address) => {
|
|
306
299
|
return hexZeroPad(address as unknown as HexString, nativeByteLength);
|
|
307
300
|
},
|
|
308
|
-
normalizedToUnpaddedString: (address) => {
|
|
309
|
-
return String(address) as HexString;
|
|
310
|
-
},
|
|
311
301
|
nativeToNormalized: (nativeAddress) => {
|
|
312
302
|
const address = getAddress(nativeAddress);
|
|
313
303
|
validateNative(address, chainName);
|
package/dist/6W3DK5BA.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","isHexString","test","AccAddress","fromHex","toHex","isBase58","bs58","encode","hex","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","TRON","startsWith","slice"],"mappings":"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","file":"6W3DK5BA.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 // 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 normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\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 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/7MUIPAWL.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","isHexString","test","AccAddress","fromHex","toHex","isBase58","bs58","encode","hex","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","TRON","startsWith","slice"],"mappings":"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","file":"7MUIPAWL.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 // 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 normalizedToUnpaddedString: (address) => {\n return String(address) as HexString;\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 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"]}
|