@layerzerolabs/chain-utils 0.0.49 → 0.0.51

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.
@@ -11,37 +11,37 @@
11
11
  CJS Build start
12
12
  ESM 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
- CJS dist/addressParser.cjs 864.00 B
14
+ ESM dist/addressParser.js 228.00 B
15
+ ESM dist/index.js 319.00 B
16
+ ESM dist/FJIAQ3QL.js 419.00 B
17
+ ESM dist/utils.js 139.00 B
18
+ ESM dist/WE3VE6AV.js 8.76 KB
19
+ ESM dist/YXE7PREU.js 2.36 KB
20
+ ESM dist/PBOTNOCJ.js 41.68 KB
21
+ ESM dist/addressParser.test.js 641.45 KB
22
+ ESM dist/addressParser.js.map 77.00 B
23
+ ESM dist/index.js.map 187.00 B
24
+ ESM dist/FJIAQ3QL.js.map 625.00 B
25
+ ESM dist/utils.js.map 69.00 B
26
+ ESM dist/WE3VE6AV.js.map 19.42 KB
27
+ ESM dist/YXE7PREU.js.map 653.00 B
28
+ ESM dist/PBOTNOCJ.js.map 99.19 KB
29
+ ESM dist/addressParser.test.js.map 1.59 MB
30
+ ESM ⚡️ Build success in 3891ms
31
+ CJS dist/addressParser.cjs 870.00 B
15
32
  CJS dist/index.cjs 1.07 KB
16
- CJS dist/IVFVZYWG.cjs 9.20 KB
17
33
  CJS dist/utils.cjs 294.00 B
18
34
  CJS dist/NOJYY7DN.cjs 466.00 B
19
- CJS dist/7BDQVICT.cjs 42.04 KB
35
+ CJS dist/3DUSMLGX.cjs 9.83 KB
20
36
  CJS dist/J6P5K7DC.cjs 2.47 KB
37
+ CJS dist/7BDQVICT.cjs 42.04 KB
21
38
  CJS dist/addressParser.test.cjs 655.13 KB
22
39
  CJS dist/addressParser.cjs.map 78.00 B
23
40
  CJS dist/index.cjs.map 208.00 B
24
- CJS dist/IVFVZYWG.cjs.map 17.94 KB
25
- CJS dist/utils.cjs.map 70.00 B
26
41
  CJS dist/NOJYY7DN.cjs.map 658.00 B
42
+ CJS dist/utils.cjs.map 70.00 B
43
+ CJS dist/3DUSMLGX.cjs.map 19.48 KB
27
44
  CJS dist/J6P5K7DC.cjs.map 845.00 B
28
45
  CJS dist/7BDQVICT.cjs.map 99.22 KB
29
46
  CJS dist/addressParser.test.cjs.map 1.59 MB
30
- CJS ⚡️ Build success in 3406ms
31
- ESM dist/addressParser.js 228.00 B
32
- ESM dist/index.js 319.00 B
33
- ESM dist/utils.js 139.00 B
34
- ESM dist/FJIAQ3QL.js 419.00 B
35
- ESM dist/IUWKW475.js 8.19 KB
36
- ESM dist/YXE7PREU.js 2.36 KB
37
- ESM dist/PBOTNOCJ.js 41.68 KB
38
- ESM dist/addressParser.test.js 641.46 KB
39
- ESM dist/index.js.map 187.00 B
40
- ESM dist/utils.js.map 69.00 B
41
- ESM dist/addressParser.js.map 77.00 B
42
- ESM dist/FJIAQ3QL.js.map 625.00 B
43
- ESM dist/YXE7PREU.js.map 653.00 B
44
- ESM dist/IUWKW475.js.map 17.87 KB
45
- ESM dist/PBOTNOCJ.js.map 99.19 KB
46
- ESM dist/addressParser.test.js.map 1.59 MB
47
- ESM ⚡️ Build success in 3407ms
47
+ CJS ⚡️ Build success in 3900ms
@@ -1,7 +1,9 @@
1
1
 
2
2
  > @layerzerolabs/chain-utils@0.0.0 test /home/runner/work/monorepo-internal/monorepo-internal/packages/chain-abstractions/chain-utils
3
- > vitest --run --pass-with-no-tests
3
+ > vitest --run --pass-with-no-tests --typecheck
4
4
 
5
+ Testing types with tsc and vue-tsc is an experimental feature.
6
+ Breaking changes might not follow SemVer, please pin Vitest's version when using it.
5
7
 
6
8
   RUN  v3.2.3 /home/runner/work/monorepo-internal/monorepo-internal/packages/chain-abstractions/chain-utils
7
9
 
@@ -11,10 +13,11 @@
11
13
  error: 'The address invalid-ton-address cannot be decoded as TON, hex, or base58'
12
14
  }
13
15
 
14
- ✓ src/addressParser.test.ts (26 tests) 361ms
16
+ ✓ src/addressParser.test.ts (26 tests) 149ms
15
17
 
16
18
   Test Files  1 passed (1)
17
19
   Tests  26 passed (26)
18
-  Start at  18:18:41
19
-  Duration  2.47s (transform 620ms, setup 0ms, collect 1.51s, tests 361ms, environment 0ms, prepare 285ms)
20
+ Type Errors  no errors
21
+  Start at  19:05:14
22
+  Duration  1.52s (transform 391ms, setup 0ms, collect 1.02s, tests 149ms, environment 0ms, prepare 80ms)
20
23
 
@@ -69,6 +69,9 @@ var tonAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
69
69
  normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
70
70
  return addressParser(chainName).normalizedToNative(address).nativeAddress;
71
71
  }, "normalizedToNativeString"),
72
+ normalizedToUnpaddedString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
73
+ return String(address);
74
+ }, "normalizedToUnpaddedString"),
72
75
  nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
73
76
  const address = getAddress(nativeAddress);
74
77
  validateNative(address, chainName);
@@ -92,6 +95,9 @@ var tonAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
92
95
  parseNativeToHex: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
93
96
  return addressParser(chainName).parseNative(nativeAddress);
94
97
  }, "parseNativeToHex"),
98
+ tonToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((tonAddress) => {
99
+ return addressParser(chainName).parseNative(commonTon.addressToHex(tonAddress));
100
+ }, "tonToNormalized"),
95
101
  encoding: "ton"
96
102
  };
97
103
  }, "tonAddressParser");
@@ -109,6 +115,9 @@ var base58AddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
109
115
  normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
110
116
  return addressParser(chainName).normalizedToNative(address).nativeAddress;
111
117
  }, "normalizedToNativeString"),
118
+ normalizedToUnpaddedString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
119
+ return String(address);
120
+ }, "normalizedToUnpaddedString"),
112
121
  nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
113
122
  const address = getAddress(nativeAddress);
114
123
  validateNative(address, chainName);
@@ -154,6 +163,9 @@ var hexAddressParser = /* @__PURE__ */ J6P5K7DC_cjs.__name((chainName) => {
154
163
  normalizedToNativeString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
155
164
  return commonUtils.hexZeroPad(address, nativeByteLength);
156
165
  }, "normalizedToNativeString"),
166
+ normalizedToUnpaddedString: /* @__PURE__ */ J6P5K7DC_cjs.__name((address) => {
167
+ return String(address);
168
+ }, "normalizedToUnpaddedString"),
157
169
  nativeToNormalized: /* @__PURE__ */ J6P5K7DC_cjs.__name((nativeAddress) => {
158
170
  const address = getAddress(nativeAddress);
159
171
  validateNative(address, chainName);
@@ -193,5 +205,5 @@ exports.addressParser = addressParser;
193
205
  exports.base58AddressParser = base58AddressParser;
194
206
  exports.hexAddressParser = hexAddressParser;
195
207
  exports.tonAddressParser = tonAddressParser;
196
- //# sourceMappingURL=IVFVZYWG.cjs.map
197
- //# sourceMappingURL=IVFVZYWG.cjs.map
208
+ //# sourceMappingURL=3DUSMLGX.cjs.map
209
+ //# sourceMappingURL=3DUSMLGX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/addressParser.ts"],"names":["init_cjs_shims","AddressEncoding","addressParser","chainName","ChainName","TON","tonAddressParser","SOLANA","base58AddressParser","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","isBase58","bs58","encode","hex","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","isHexString","TRON","startsWith","slice"],"mappings":"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","file":"3DUSMLGX.cjs","sourcesContent":["import 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 InferChainTypeForChainName,\n NativeAddress,\n ResolvedEncodingForChainName,\n TonString,\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 | `${ChainName}`> =\n | ChainNativeAddress<T>\n | ResolvedEncodingForChainName<T>;\n\nexport enum AddressEncoding {\n HEX = 'hex',\n BASE58 = 'base58',\n TON = 'ton',\n}\n\nexport type ExtensionByChainType = {\n ton: {\n tonToNormalized: (tonAddress: Address) => NormalizedHexString;\n };\n};\n\nexport type InferExtensionByChainName<T extends ChainName | `${ChainName}`> =\n InferChainTypeForChainName<T> extends keyof ExtensionByChainType\n ? ExtensionByChainType[InferChainTypeForChainName<T>]\n : {};\n\nexport type AddressParser<T extends ChainName | `${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}`>(\n chainName: T,\n): 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 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 | `${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 | `${ChainName}`>(nativeAddress: NativeOrString<T>) => {\n return typeof nativeAddress === 'object' ? nativeAddress.nativeAddress : nativeAddress;\n};\n\nexport const tonAddressParser: (\n chainName: ChainsByEncoding[TonString],\n) => AddressParser<ChainsByEncoding[TonString]> = (chainName) => {\n return {\n validateNative: (nativeAddress): nativeAddress is TonString => {\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 nativeAddress: bigintToAddress(numericalValue).toString() as TonString,\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 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"]}
@@ -63,6 +63,9 @@ var tonAddressParser = /* @__PURE__ */ __name((chainName) => {
63
63
  normalizedToNativeString: /* @__PURE__ */ __name((address) => {
64
64
  return addressParser(chainName).normalizedToNative(address).nativeAddress;
65
65
  }, "normalizedToNativeString"),
66
+ normalizedToUnpaddedString: /* @__PURE__ */ __name((address) => {
67
+ return String(address);
68
+ }, "normalizedToUnpaddedString"),
66
69
  nativeToNormalized: /* @__PURE__ */ __name((nativeAddress) => {
67
70
  const address = getAddress(nativeAddress);
68
71
  validateNative(address, chainName);
@@ -86,6 +89,9 @@ var tonAddressParser = /* @__PURE__ */ __name((chainName) => {
86
89
  parseNativeToHex: /* @__PURE__ */ __name((nativeAddress) => {
87
90
  return addressParser(chainName).parseNative(nativeAddress);
88
91
  }, "parseNativeToHex"),
92
+ tonToNormalized: /* @__PURE__ */ __name((tonAddress) => {
93
+ return addressParser(chainName).parseNative(addressToHex(tonAddress));
94
+ }, "tonToNormalized"),
89
95
  encoding: "ton"
90
96
  };
91
97
  }, "tonAddressParser");
@@ -103,6 +109,9 @@ var base58AddressParser = /* @__PURE__ */ __name((chainName) => {
103
109
  normalizedToNativeString: /* @__PURE__ */ __name((address) => {
104
110
  return addressParser(chainName).normalizedToNative(address).nativeAddress;
105
111
  }, "normalizedToNativeString"),
112
+ normalizedToUnpaddedString: /* @__PURE__ */ __name((address) => {
113
+ return String(address);
114
+ }, "normalizedToUnpaddedString"),
106
115
  nativeToNormalized: /* @__PURE__ */ __name((nativeAddress) => {
107
116
  const address = getAddress(nativeAddress);
108
117
  validateNative(address, chainName);
@@ -148,6 +157,9 @@ var hexAddressParser = /* @__PURE__ */ __name((chainName) => {
148
157
  normalizedToNativeString: /* @__PURE__ */ __name((address) => {
149
158
  return hexZeroPad(address, nativeByteLength);
150
159
  }, "normalizedToNativeString"),
160
+ normalizedToUnpaddedString: /* @__PURE__ */ __name((address) => {
161
+ return String(address);
162
+ }, "normalizedToUnpaddedString"),
151
163
  nativeToNormalized: /* @__PURE__ */ __name((nativeAddress) => {
152
164
  const address = getAddress(nativeAddress);
153
165
  validateNative(address, chainName);
@@ -183,5 +195,5 @@ var hexAddressParser = /* @__PURE__ */ __name((chainName) => {
183
195
  }, "hexAddressParser");
184
196
 
185
197
  export { AddressEncoding, addressParser, base58AddressParser, hexAddressParser, tonAddressParser };
186
- //# sourceMappingURL=IUWKW475.js.map
187
- //# sourceMappingURL=IUWKW475.js.map
198
+ //# sourceMappingURL=WE3VE6AV.js.map
199
+ //# sourceMappingURL=WE3VE6AV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/addressParser.ts"],"names":["AddressEncoding","addressParser","chainName","ChainName","TON","tonAddressParser","SOLANA","base58AddressParser","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","isBase58","bs58","encode","hex","bytesToHexPrefixed","decode","nativeByteLength","StaticChainConfigs","getAddressSizeInBytes","isHexString","TRON","startsWith","slice"],"mappings":"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","file":"WE3VE6AV.js","sourcesContent":["import 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 InferChainTypeForChainName,\n NativeAddress,\n ResolvedEncodingForChainName,\n TonString,\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 | `${ChainName}`> =\n | ChainNativeAddress<T>\n | ResolvedEncodingForChainName<T>;\n\nexport enum AddressEncoding {\n HEX = 'hex',\n BASE58 = 'base58',\n TON = 'ton',\n}\n\nexport type ExtensionByChainType = {\n ton: {\n tonToNormalized: (tonAddress: Address) => NormalizedHexString;\n };\n};\n\nexport type InferExtensionByChainName<T extends ChainName | `${ChainName}`> =\n InferChainTypeForChainName<T> extends keyof ExtensionByChainType\n ? ExtensionByChainType[InferChainTypeForChainName<T>]\n : {};\n\nexport type AddressParser<T extends ChainName | `${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}`>(\n chainName: T,\n): 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 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 | `${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 | `${ChainName}`>(nativeAddress: NativeOrString<T>) => {\n return typeof nativeAddress === 'object' ? nativeAddress.nativeAddress : nativeAddress;\n};\n\nexport const tonAddressParser: (\n chainName: ChainsByEncoding[TonString],\n) => AddressParser<ChainsByEncoding[TonString]> = (chainName) => {\n return {\n validateNative: (nativeAddress): nativeAddress is TonString => {\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 nativeAddress: bigintToAddress(numericalValue).toString() as TonString,\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 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"]}
@@ -1,29 +1,29 @@
1
1
  'use strict';
2
2
 
3
- var IVFVZYWG_cjs = require('./IVFVZYWG.cjs');
3
+ var _3DUSMLGX_cjs = require('./3DUSMLGX.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 IVFVZYWG_cjs.AddressEncoding; }
10
+ get: function () { return _3DUSMLGX_cjs.AddressEncoding; }
11
11
  });
12
12
  Object.defineProperty(exports, "addressParser", {
13
13
  enumerable: true,
14
- get: function () { return IVFVZYWG_cjs.addressParser; }
14
+ get: function () { return _3DUSMLGX_cjs.addressParser; }
15
15
  });
16
16
  Object.defineProperty(exports, "base58AddressParser", {
17
17
  enumerable: true,
18
- get: function () { return IVFVZYWG_cjs.base58AddressParser; }
18
+ get: function () { return _3DUSMLGX_cjs.base58AddressParser; }
19
19
  });
20
20
  Object.defineProperty(exports, "hexAddressParser", {
21
21
  enumerable: true,
22
- get: function () { return IVFVZYWG_cjs.hexAddressParser; }
22
+ get: function () { return _3DUSMLGX_cjs.hexAddressParser; }
23
23
  });
24
24
  Object.defineProperty(exports, "tonAddressParser", {
25
25
  enumerable: true,
26
- get: function () { return IVFVZYWG_cjs.tonAddressParser; }
26
+ get: function () { return _3DUSMLGX_cjs.tonAddressParser; }
27
27
  });
28
28
  //# sourceMappingURL=addressParser.cjs.map
29
29
  //# sourceMappingURL=addressParser.cjs.map
@@ -1,5 +1,6 @@
1
+ import type { Address } from '@ton/ton';
1
2
  import type { HexString, NormalizedHexString } from '@layerzerolabs/common-chain-model';
2
- import type { Base58String, ChainsByEncoding, NativeAddress, ResolvedEncodingForChainName, TonString } from '@layerzerolabs/layerzero-definitions';
3
+ import type { Base58String, ChainsByEncoding, InferChainTypeForChainName, NativeAddress, ResolvedEncodingForChainName, TonString } from '@layerzerolabs/layerzero-definitions';
3
4
  import type { ChainNativeAddress } from '@layerzerolabs/layerzero-definitions';
4
5
  import { ChainName } from '@layerzerolabs/layerzero-definitions';
5
6
  type NativeOrString<T extends ChainName | `${ChainName}`> = ChainNativeAddress<T> | ResolvedEncodingForChainName<T>;
@@ -8,9 +9,16 @@ export declare enum AddressEncoding {
8
9
  BASE58 = "base58",
9
10
  TON = "ton"
10
11
  }
11
- export interface AddressParser<T extends ChainName | `${ChainName}`> {
12
+ export type ExtensionByChainType = {
13
+ ton: {
14
+ tonToNormalized: (tonAddress: Address) => NormalizedHexString;
15
+ };
16
+ };
17
+ export type InferExtensionByChainName<T extends ChainName | `${ChainName}`> = InferChainTypeForChainName<T> extends keyof ExtensionByChainType ? ExtensionByChainType[InferChainTypeForChainName<T>] : {};
18
+ export type AddressParser<T extends ChainName | `${ChainName}`> = {
12
19
  normalizedToNative: (address: NormalizedHexString) => ChainNativeAddress<T>;
13
20
  normalizedToNativeString: (address: NormalizedHexString) => ResolvedEncodingForChainName<T>;
21
+ normalizedToUnpaddedString: (address: NormalizedHexString) => HexString;
14
22
  nativeToNormalized: (nativeAddress: NativeOrString<T>) => NormalizedHexString;
15
23
  nativeToBytes: (nativeAddress: NativeOrString<T>) => Uint8Array;
16
24
  nativeToBytes32Hex: (nativeAddress: NativeOrString<T>) => HexString;
@@ -25,7 +33,7 @@ export interface AddressParser<T extends ChainName | `${ChainName}`> {
25
33
  parseNative: (nativeAddress: string) => NormalizedHexString;
26
34
  parseNativeToHex: (nativeAddress: string) => HexString;
27
35
  encoding: AddressEncoding;
28
- }
36
+ } & InferExtensionByChainName<T>;
29
37
  export declare function addressParser<T extends ChainName | `${ChainName}`>(chainName: T): AddressParser<T>;
30
38
  export declare namespace addressParser {
31
39
  const normalizedToBytes32Hex: (address: NormalizedHexString) => `0x${string}`;
@@ -1 +1 @@
1
- {"version":3,"file":"addressParser.d.ts","sourceRoot":"","sources":["../src/addressParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAUxF,OAAO,KAAK,EACR,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,4BAA4B,EAC5B,SAAS,EACZ,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,GAAG,GAAG,SAAS,EAAE,IAClD,kBAAkB,CAAC,CAAC,CAAC,GACrB,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAEtC,oBAAY,eAAe;IACvB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;CACd;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,SAAS,EAAE;IAC/D,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,kBAAkB,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC;IAC9E,aAAa,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;IAChE,kBAAkB,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACpE,eAAe,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;IAClE,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,aAAa,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;IAC5F;;;;;OAKG;IACH,WAAW,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,mBAAmB,CAAC;IAC5D,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,SAAS,CAAC;IACvD,QAAQ,EAAE,eAAe,CAAC;CAC7B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,SAAS,EAAE,EAC9D,SAAS,EAAE,CAAC,GACb,aAAa,CAAC,CAAC,CAAC,CAOlB;AAED,yBAAiB,aAAa,CAAC;IACpB,MAAM,sBAAsB,GAAI,SAAS,mBAAmB,kBAElE,CAAC;IACK,MAAM,mBAAmB,GAAI,SAAS,mBAAmB,gCAE/D,CAAC;IACK,MAAM,kBAAkB,GAAI,SAAS,mBAAmB,WAE9D,CAAC;IACK,MAAM,WAAW,GAAI,eAAe,aAAa,wBAEvD,CAAC;CACL;AAqBD,eAAO,MAAM,gBAAgB,EAAE,CAC3B,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,KACrC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAiD7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,WAAW,gBAAgB,CAAC,YAAY,CAAC,KAC1C,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAgD9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,WAAW,gBAAgB,CAAC,SAAS,CAAC,KACvC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAqD3C,CAAC"}
1
+ {"version":3,"file":"addressParser.d.ts","sourceRoot":"","sources":["../src/addressParser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { AddressEncoding, addressParser, base58AddressParser, hexAddressParser, tonAddressParser } from './IUWKW475.js';
1
+ export { AddressEncoding, addressParser, base58AddressParser, hexAddressParser, tonAddressParser } from './WE3VE6AV.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 IVFVZYWG_cjs = require('./IVFVZYWG.cjs');
3
+ var _3DUSMLGX_cjs = require('./3DUSMLGX.cjs');
4
4
  var J6P5K7DC_cjs = require('./J6P5K7DC.cjs');
5
5
  var bs58 = require('bs58');
6
6
  var tty = require('tty');
@@ -590,10 +590,10 @@ var require_dist = J6P5K7DC_cjs.__commonJS({
590
590
  // src/addressParser.test.ts
591
591
  J6P5K7DC_cjs.init_cjs_shims();
592
592
 
593
- // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.13.14_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/index.js
593
+ // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.18.8_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/index.js
594
594
  J6P5K7DC_cjs.init_cjs_shims();
595
595
 
596
- // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.13.14_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js
596
+ // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.18.8_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js
597
597
  J6P5K7DC_cjs.init_cjs_shims();
598
598
 
599
599
  // ../../../node_modules/.pnpm/@vitest+expect@3.2.3/node_modules/@vitest/expect/dist/index.js
@@ -12848,7 +12848,7 @@ J6P5K7DC_cjs.__name(createTestHook, "createTestHook");
12848
12848
  // ../../../node_modules/.pnpm/@vitest+runner@3.2.3/node_modules/@vitest/runner/dist/utils.js
12849
12849
  J6P5K7DC_cjs.init_cjs_shims();
12850
12850
 
12851
- // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.13.14_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js
12851
+ // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.18.8_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js
12852
12852
  J6P5K7DC_cjs.init_cjs_shims();
12853
12853
  var NAME_WORKER_STATE = "__vitest_worker__";
12854
12854
  function getWorkerState() {
@@ -12905,7 +12905,7 @@ async function waitForImportsToResolve() {
12905
12905
  }
12906
12906
  J6P5K7DC_cjs.__name(waitForImportsToResolve, "waitForImportsToResolve");
12907
12907
 
12908
- // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.13.14_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js
12908
+ // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.18.8_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js
12909
12909
  J6P5K7DC_cjs.init_cjs_shims();
12910
12910
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
12911
12911
  function getDefaultExportFromCjs3(x) {
@@ -15202,7 +15202,7 @@ var SnapshotClient = class SnapshotClient2 {
15202
15202
  }
15203
15203
  };
15204
15204
 
15205
- // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.13.14_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
15205
+ // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.18.8_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
15206
15206
  J6P5K7DC_cjs.init_cjs_shims();
15207
15207
  var RealDate = Date;
15208
15208
  var now2 = null;
@@ -15256,7 +15256,7 @@ function resetDate() {
15256
15256
  }
15257
15257
  J6P5K7DC_cjs.__name(resetDate, "resetDate");
15258
15258
 
15259
- // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.13.14_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js
15259
+ // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.18.8_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js
15260
15260
  var unsupported = [
15261
15261
  "matchSnapshot",
15262
15262
  "toMatchSnapshot",
@@ -17999,7 +17999,7 @@ function getImporter(name) {
17999
17999
  }
18000
18000
  J6P5K7DC_cjs.__name(getImporter, "getImporter");
18001
18001
 
18002
- // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.13.14_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/index.js
18002
+ // ../../../node_modules/.pnpm/vitest@3.2.3_@types+node@22.18.8_terser@5.43.1_tsx@4.20.4_yaml@2.8.0/node_modules/vitest/dist/index.js
18003
18003
  J6P5K7DC_cjs.__toESM(require_dist(), 1);
18004
18004
  var randomBytes = /* @__PURE__ */ J6P5K7DC_cjs.__name((length) => {
18005
18005
  const bytes = new Uint8Array(length);
@@ -18025,7 +18025,7 @@ describe("addressParser - hex/EVM chains", () => {
18025
18025
  ];
18026
18026
  evmChains.forEach((chain) => {
18027
18027
  describe(chain, () => {
18028
- const parser = IVFVZYWG_cjs.addressParser(chain);
18028
+ const parser = _3DUSMLGX_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 = IVFVZYWG_cjs.addressParser.normalizedToBytes32Hex(input);
18061
+ const padded = _3DUSMLGX_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 = IVFVZYWG_cjs.addressParser(layerzeroDefinitions.ChainName.ETHEREUM);
18067
+ const parser = _3DUSMLGX_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 = IVFVZYWG_cjs.addressParser(layerzeroDefinitions.ChainName.SOLANA);
18077
+ const parser = _3DUSMLGX_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 = IVFVZYWG_cjs.addressParser(layerzeroDefinitions.ChainName.ETHEREUM);
18121
- const solanaParser = IVFVZYWG_cjs.addressParser(layerzeroDefinitions.ChainName.SOLANA);
18120
+ const evmParser = _3DUSMLGX_cjs.addressParser(layerzeroDefinitions.ChainName.ETHEREUM);
18121
+ const solanaParser = _3DUSMLGX_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 = IVFVZYWG_cjs.addressParser(layerzeroDefinitions.ChainName.ETHEREUM);
18128
+ const parser = _3DUSMLGX_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 = IVFVZYWG_cjs.addressParser(layerzeroDefinitions.ChainName.TON);
18139
+ const parser = _3DUSMLGX_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;