@layerzerolabs/common-chain-model 0.0.19 → 0.0.20

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.
@@ -10,29 +10,29 @@
10
10
  CLI Cleaning output folder
11
11
  CJS Build start
12
12
  ESM Build start
13
- CJS dist/address.cjs 700.00 B
14
- CJS dist/index.cjs 1.33 KB
15
- CJS dist/CK4ROT4E.cjs 915.00 B
16
- CJS dist/YJF4D23A.cjs 245.00 B
17
- CJS dist/transaction.cjs 789.00 B
18
- CJS dist/5ASXO5ES.cjs 1.47 KB
19
- CJS dist/address.cjs.map 72.00 B
20
- CJS dist/index.cjs.map 70.00 B
21
- CJS dist/CK4ROT4E.cjs.map 1.37 KB
22
- CJS dist/YJF4D23A.cjs.map 73.00 B
23
- CJS dist/transaction.cjs.map 76.00 B
24
- CJS dist/5ASXO5ES.cjs.map 2.52 KB
25
- CJS ⚡️ Build success in 201ms
26
- ESM dist/address.js 191.00 B
27
- ESM dist/index.js 321.00 B
28
- ESM dist/3PFLGGO2.js 607.00 B
13
+ ESM dist/address.js 284.00 B
14
+ ESM dist/index.js 414.00 B
29
15
  ESM dist/transaction.js 237.00 B
30
- ESM dist/VUOMXK5T.js 222.00 B
16
+ ESM dist/CIKWECQO.js 1.44 KB
31
17
  ESM dist/KLFPKPY4.js 938.00 B
18
+ ESM dist/VUOMXK5T.js 222.00 B
32
19
  ESM dist/address.js.map 71.00 B
33
20
  ESM dist/index.js.map 69.00 B
34
- ESM dist/3PFLGGO2.js.map 1.35 KB
35
21
  ESM dist/transaction.js.map 75.00 B
36
- ESM dist/VUOMXK5T.js.map 72.00 B
22
+ ESM dist/CIKWECQO.js.map 3.82 KB
37
23
  ESM dist/KLFPKPY4.js.map 2.50 KB
38
- ESM ⚡️ Build success in 201ms
24
+ ESM dist/VUOMXK5T.js.map 72.00 B
25
+ ESM ⚡️ Build success in 212ms
26
+ CJS dist/address.cjs 1.26 KB
27
+ CJS dist/index.cjs 1.91 KB
28
+ CJS dist/transaction.cjs 789.00 B
29
+ CJS dist/QYHNWZK7.cjs 1.91 KB
30
+ CJS dist/5ASXO5ES.cjs 1.47 KB
31
+ CJS dist/YJF4D23A.cjs 245.00 B
32
+ CJS dist/address.cjs.map 72.00 B
33
+ CJS dist/index.cjs.map 70.00 B
34
+ CJS dist/transaction.cjs.map 76.00 B
35
+ CJS dist/QYHNWZK7.cjs.map 3.84 KB
36
+ CJS dist/5ASXO5ES.cjs.map 2.52 KB
37
+ CJS dist/YJF4D23A.cjs.map 73.00 B
38
+ CJS ⚡️ Build success in 213ms
@@ -6,7 +6,7 @@
6
6
   RUN  v3.2.3 /home/runner/work/monorepo-internal/monorepo-internal/packages/common/common-chain-model
7
7
 
8
8
  No test files found, exiting with code 0
9
- include: **/*.{test,spec}.?(c|m)[jt]s?(x)
10
9
 
10
+ include: **/*.{test,spec}.?(c|m)[jt]s?(x)
11
11
  exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*
12
12
 
@@ -0,0 +1,39 @@
1
+ import { __name } from './VUOMXK5T.js';
2
+ import z from 'zod/v4';
3
+ import { isBase58, hexZeroPad } from '@layerzerolabs/common-utils';
4
+
5
+ var hexSchema = z.string().refine((data) => typeof data === "string" && data.startsWith("0x"));
6
+ var normalizedHexSchema = z.string().refine((data) => {
7
+ if (typeof data !== "string") {
8
+ return false;
9
+ }
10
+ if (!data.startsWith("0x")) {
11
+ return false;
12
+ }
13
+ if (data.length <= 2) {
14
+ return false;
15
+ }
16
+ if (data.length >= 4 && data[2] === "0") {
17
+ return false;
18
+ }
19
+ if (data.toLowerCase() !== data) {
20
+ return false;
21
+ }
22
+ return true;
23
+ });
24
+ var hexAddressSchema = hexSchema;
25
+ var normalizedHexAddressSchema = normalizedHexSchema;
26
+ var lowercaseHex = /* @__PURE__ */ __name((address) => address && address.toLowerCase(), "lowercaseHex");
27
+ var normalizeHexAddress = /* @__PURE__ */ __name((address) => {
28
+ const body = address.slice(2).replace(/^0+/, "");
29
+ const trimmed = "0x" + (body || "0");
30
+ return trimmed.toLowerCase();
31
+ }, "normalizeHexAddress");
32
+ var denormalizeHexAddress = /* @__PURE__ */ __name((address, byteCount) => hexZeroPad(address, byteCount), "denormalizeHexAddress");
33
+ var base58AddressSchema = z.string().refine(isBase58, {
34
+ error: "Invalid base58 address format"
35
+ });
36
+
37
+ export { base58AddressSchema, denormalizeHexAddress, hexAddressSchema, hexSchema, lowercaseHex, normalizeHexAddress, normalizedHexAddressSchema, normalizedHexSchema };
38
+ //# sourceMappingURL=CIKWECQO.js.map
39
+ //# sourceMappingURL=CIKWECQO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/address.ts"],"names":["hexSchema","z","string","refine","data","startsWith","normalizedHexSchema","length","toLowerCase","hexAddressSchema","normalizedHexAddressSchema","lowercaseHex","address","normalizeHexAddress","body","slice","replace","trimmed","denormalizeHexAddress","byteCount","hexZeroPad","base58AddressSchema","isBase58","error"],"mappings":";;;;AAKO,IAAMA,SAAAA,GAAYC,CAAAA,CACpBC,MAAAA,EAAM,CACNC,MAAAA,CAAO,CAACC,IAAAA,KAAS,OAAOA,IAAAA,KAAS,QAAA,IAAYA,IAAAA,CAAKC,UAAAA,CAAW,IAAA,CAAA;AAE3D,IAAMC,sBAAsBL,CAAAA,CAAEC,MAAAA,EAAM,CAAGC,MAAAA,CAAO,CAACC,IAAAA,KAAAA;AAElD,EAAA,IAAI,OAAOA,SAAS,QAAA,EAAU;AAC1B,IAAA,OAAO,KAAA;AACX,EAAA;AAEA,EAAA,IAAI,CAACA,IAAAA,CAAKC,UAAAA,CAAW,IAAA,CAAA,EAAO;AACxB,IAAA,OAAO,KAAA;AACX,EAAA;AAEA,EAAA,IAAID,IAAAA,CAAKG,UAAU,CAAA,EAAG;AAClB,IAAA,OAAO,KAAA;AACX,EAAA;AAEA,EAAA,IAAIH,KAAKG,MAAAA,IAAU,CAAA,IAAKH,IAAAA,CAAK,CAAA,MAAO,GAAA,EAAK;AACrC,IAAA,OAAO,KAAA;AACX,EAAA;AAEA,EAAA,IAAIA,IAAAA,CAAKI,WAAAA,EAAW,KAAOJ,IAAAA,EAAM;AAC7B,IAAA,OAAO,KAAA;AACX,EAAA;AACA,EAAA,OAAO,IAAA;AACX,CAAA;AAEO,IAAMK,gBAAAA,GAAmBT;AACzB,IAAMU,0BAAAA,GAA6BJ;AAKnC,IAAMK,+BAAe,MAAA,CAAA,CAAmCC,OAAAA,KAC3DA,OAAAA,IAAYA,OAAAA,CAAQJ,aAAW,EADP,cAAA;AAGrB,IAAMK,mBAAAA,2BAAuBD,OAAAA,KAAAA;AAEhC,EAAA,MAAME,OAAOF,OAAAA,CAAQG,KAAAA,CAAM,CAAA,CAAA,CAAGC,OAAAA,CAAQ,OAAO,EAAA,CAAA;AAE7C,EAAA,MAAMC,OAAAA,GAAU,QAAQH,IAAAA,IAAQ,GAAA,CAAA;AAChC,EAAA,OAAOG,QAAQT,WAAAA,EAAW;AAC9B,CAAA,EANmC,qBAAA;AAQ5B,IAAMU,wCAAwB,MAAA,CAAA,CACjCN,OAAAA,EACAO,cACaC,UAAAA,CAAWR,OAAAA,EAA0BO,SAAAA,CAAAA,EAHjB,uBAAA;AAM9B,IAAME,mBAAAA,GAAsBpB,CAAAA,CAAEC,MAAAA,EAAM,CAAGC,OAAOmB,QAAAA,EAAU;EAC3DC,KAAAA,EAAO;AACX,CAAA","file":"CIKWECQO.js","sourcesContent":["import z from 'zod/v4';\n\nimport { hexZeroPad, isBase58 } from '@layerzerolabs/common-utils';\nimport type { HexString, NormalizedHexString } from '@layerzerolabs/typescript-utils';\n\nexport const hexSchema = z\n .string()\n .refine((data) => typeof data === 'string' && data.startsWith('0x')) as z.ZodType<HexString>;\n\nexport const normalizedHexSchema = z.string().refine((data) => {\n // normalized hex strings are strings\n if (typeof data !== 'string') {\n return false;\n }\n // normalized hex strings start with 0x\n if (!data.startsWith('0x')) {\n return false;\n }\n // '0x' is not a valid normalized address (expect 0x0)\n if (data.length <= 2) {\n return false;\n }\n // normalized hex strings have no leading 0s (except for edge case (0x0)\n if (data.length >= 4 && data[2] === '0') {\n return false;\n }\n // normalized hex strings are always lowercase\n if (data.toLowerCase() !== data) {\n return false;\n }\n return true;\n}) as any as z.ZodType<NormalizedHexString>;\n\nexport const hexAddressSchema = hexSchema;\nexport const normalizedHexAddressSchema = normalizedHexSchema;\n\nexport type HexAddress = z.infer<typeof hexAddressSchema>;\nexport type NormalizedHexAddress = z.infer<typeof normalizedHexSchema>;\n\nexport const lowercaseHex = <T extends HexAddress | undefined>(address: T): T =>\n address && (address.toLowerCase() as T);\n\nexport const normalizeHexAddress = (address: HexAddress): NormalizedHexAddress => {\n // take the bytes part, remove all 0s\n const body = address.slice(2).replace(/^0+/, '');\n // if the string was e.g., `0x000`, append one 0 so that we have `0x0\n const trimmed = '0x' + (body || '0');\n return trimmed.toLowerCase() as any as NormalizedHexAddress;\n};\n\nexport const denormalizeHexAddress = (\n address: NormalizedHexAddress,\n byteCount: number,\n): HexAddress => hexZeroPad(address as any as string, byteCount);\n\n// Base58 schema for validation\nexport const base58AddressSchema = z.string().refine(isBase58, {\n error: 'Invalid base58 address format',\n});\n\nexport type Base58AddressSchema = z.infer<typeof base58AddressSchema>;\n"]}
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var YJF4D23A_cjs = require('./YJF4D23A.cjs');
4
+ var z = require('zod/v4');
5
+ var commonUtils = require('@layerzerolabs/common-utils');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var z__default = /*#__PURE__*/_interopDefault(z);
10
+
11
+ var hexSchema = z__default.default.string().refine((data) => typeof data === "string" && data.startsWith("0x"));
12
+ var normalizedHexSchema = z__default.default.string().refine((data) => {
13
+ if (typeof data !== "string") {
14
+ return false;
15
+ }
16
+ if (!data.startsWith("0x")) {
17
+ return false;
18
+ }
19
+ if (data.length <= 2) {
20
+ return false;
21
+ }
22
+ if (data.length >= 4 && data[2] === "0") {
23
+ return false;
24
+ }
25
+ if (data.toLowerCase() !== data) {
26
+ return false;
27
+ }
28
+ return true;
29
+ });
30
+ var hexAddressSchema = hexSchema;
31
+ var normalizedHexAddressSchema = normalizedHexSchema;
32
+ var lowercaseHex = /* @__PURE__ */ YJF4D23A_cjs.__name((address) => address && address.toLowerCase(), "lowercaseHex");
33
+ var normalizeHexAddress = /* @__PURE__ */ YJF4D23A_cjs.__name((address) => {
34
+ const body = address.slice(2).replace(/^0+/, "");
35
+ const trimmed = "0x" + (body || "0");
36
+ return trimmed.toLowerCase();
37
+ }, "normalizeHexAddress");
38
+ var denormalizeHexAddress = /* @__PURE__ */ YJF4D23A_cjs.__name((address, byteCount) => commonUtils.hexZeroPad(address, byteCount), "denormalizeHexAddress");
39
+ var base58AddressSchema = z__default.default.string().refine(commonUtils.isBase58, {
40
+ error: "Invalid base58 address format"
41
+ });
42
+
43
+ exports.base58AddressSchema = base58AddressSchema;
44
+ exports.denormalizeHexAddress = denormalizeHexAddress;
45
+ exports.hexAddressSchema = hexAddressSchema;
46
+ exports.hexSchema = hexSchema;
47
+ exports.lowercaseHex = lowercaseHex;
48
+ exports.normalizeHexAddress = normalizeHexAddress;
49
+ exports.normalizedHexAddressSchema = normalizedHexAddressSchema;
50
+ exports.normalizedHexSchema = normalizedHexSchema;
51
+ //# sourceMappingURL=QYHNWZK7.cjs.map
52
+ //# sourceMappingURL=QYHNWZK7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/address.ts"],"names":["hexSchema","z","string","refine","data","startsWith","normalizedHexSchema","length","toLowerCase","hexAddressSchema","normalizedHexAddressSchema","lowercaseHex","__name","address","normalizeHexAddress","body","slice","replace","trimmed","denormalizeHexAddress","byteCount","hexZeroPad","base58AddressSchema","isBase58","error"],"mappings":";;;;;;;;;;AAKO,IAAMA,SAAAA,GAAYC,kBAAAA,CACpBC,MAAAA,EAAM,CACNC,MAAAA,CAAO,CAACC,IAAAA,KAAS,OAAOA,IAAAA,KAAS,QAAA,IAAYA,IAAAA,CAAKC,UAAAA,CAAW,IAAA,CAAA;AAE3D,IAAMC,sBAAsBL,kBAAAA,CAAEC,MAAAA,EAAM,CAAGC,MAAAA,CAAO,CAACC,IAAAA,KAAAA;AAElD,EAAA,IAAI,OAAOA,SAAS,QAAA,EAAU;AAC1B,IAAA,OAAO,KAAA;AACX,EAAA;AAEA,EAAA,IAAI,CAACA,IAAAA,CAAKC,UAAAA,CAAW,IAAA,CAAA,EAAO;AACxB,IAAA,OAAO,KAAA;AACX,EAAA;AAEA,EAAA,IAAID,IAAAA,CAAKG,UAAU,CAAA,EAAG;AAClB,IAAA,OAAO,KAAA;AACX,EAAA;AAEA,EAAA,IAAIH,KAAKG,MAAAA,IAAU,CAAA,IAAKH,IAAAA,CAAK,CAAA,MAAO,GAAA,EAAK;AACrC,IAAA,OAAO,KAAA;AACX,EAAA;AAEA,EAAA,IAAIA,IAAAA,CAAKI,WAAAA,EAAW,KAAOJ,IAAAA,EAAM;AAC7B,IAAA,OAAO,KAAA;AACX,EAAA;AACA,EAAA,OAAO,IAAA;AACX,CAAA;AAEO,IAAMK,gBAAAA,GAAmBT;AACzB,IAAMU,0BAAAA,GAA6BJ;AAKnC,IAAMK,+BAAeC,mBAAA,CAAA,CAAmCC,OAAAA,KAC3DA,OAAAA,IAAYA,OAAAA,CAAQL,aAAW,EADP,cAAA;AAGrB,IAAMM,mBAAAA,wCAAuBD,OAAAA,KAAAA;AAEhC,EAAA,MAAME,OAAOF,OAAAA,CAAQG,KAAAA,CAAM,CAAA,CAAA,CAAGC,OAAAA,CAAQ,OAAO,EAAA,CAAA;AAE7C,EAAA,MAAMC,OAAAA,GAAU,QAAQH,IAAAA,IAAQ,GAAA,CAAA;AAChC,EAAA,OAAOG,QAAQV,WAAAA,EAAW;AAC9B,CAAA,EANmC,qBAAA;AAQ5B,IAAMW,wCAAwBP,mBAAA,CAAA,CACjCC,OAAAA,EACAO,cACaC,sBAAAA,CAAWR,OAAAA,EAA0BO,SAAAA,CAAAA,EAHjB,uBAAA;AAM9B,IAAME,mBAAAA,GAAsBrB,kBAAAA,CAAEC,MAAAA,EAAM,CAAGC,OAAOoB,oBAAAA,EAAU;EAC3DC,KAAAA,EAAO;AACX,CAAA","file":"QYHNWZK7.cjs","sourcesContent":["import z from 'zod/v4';\n\nimport { hexZeroPad, isBase58 } from '@layerzerolabs/common-utils';\nimport type { HexString, NormalizedHexString } from '@layerzerolabs/typescript-utils';\n\nexport const hexSchema = z\n .string()\n .refine((data) => typeof data === 'string' && data.startsWith('0x')) as z.ZodType<HexString>;\n\nexport const normalizedHexSchema = z.string().refine((data) => {\n // normalized hex strings are strings\n if (typeof data !== 'string') {\n return false;\n }\n // normalized hex strings start with 0x\n if (!data.startsWith('0x')) {\n return false;\n }\n // '0x' is not a valid normalized address (expect 0x0)\n if (data.length <= 2) {\n return false;\n }\n // normalized hex strings have no leading 0s (except for edge case (0x0)\n if (data.length >= 4 && data[2] === '0') {\n return false;\n }\n // normalized hex strings are always lowercase\n if (data.toLowerCase() !== data) {\n return false;\n }\n return true;\n}) as any as z.ZodType<NormalizedHexString>;\n\nexport const hexAddressSchema = hexSchema;\nexport const normalizedHexAddressSchema = normalizedHexSchema;\n\nexport type HexAddress = z.infer<typeof hexAddressSchema>;\nexport type NormalizedHexAddress = z.infer<typeof normalizedHexSchema>;\n\nexport const lowercaseHex = <T extends HexAddress | undefined>(address: T): T =>\n address && (address.toLowerCase() as T);\n\nexport const normalizeHexAddress = (address: HexAddress): NormalizedHexAddress => {\n // take the bytes part, remove all 0s\n const body = address.slice(2).replace(/^0+/, '');\n // if the string was e.g., `0x000`, append one 0 so that we have `0x0\n const trimmed = '0x' + (body || '0');\n return trimmed.toLowerCase() as any as NormalizedHexAddress;\n};\n\nexport const denormalizeHexAddress = (\n address: NormalizedHexAddress,\n byteCount: number,\n): HexAddress => hexZeroPad(address as any as string, byteCount);\n\n// Base58 schema for validation\nexport const base58AddressSchema = z.string().refine(isBase58, {\n error: 'Invalid base58 address format',\n});\n\nexport type Base58AddressSchema = z.infer<typeof base58AddressSchema>;\n"]}
package/dist/address.cjs CHANGED
@@ -1,25 +1,41 @@
1
1
  'use strict';
2
2
 
3
- var CK4ROT4E_cjs = require('./CK4ROT4E.cjs');
3
+ var QYHNWZK7_cjs = require('./QYHNWZK7.cjs');
4
4
  require('./YJF4D23A.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "base58AddressSchema", {
9
9
  enumerable: true,
10
- get: function () { return CK4ROT4E_cjs.base58AddressSchema; }
10
+ get: function () { return QYHNWZK7_cjs.base58AddressSchema; }
11
+ });
12
+ Object.defineProperty(exports, "denormalizeHexAddress", {
13
+ enumerable: true,
14
+ get: function () { return QYHNWZK7_cjs.denormalizeHexAddress; }
11
15
  });
12
16
  Object.defineProperty(exports, "hexAddressSchema", {
13
17
  enumerable: true,
14
- get: function () { return CK4ROT4E_cjs.hexAddressSchema; }
18
+ get: function () { return QYHNWZK7_cjs.hexAddressSchema; }
15
19
  });
16
20
  Object.defineProperty(exports, "hexSchema", {
17
21
  enumerable: true,
18
- get: function () { return CK4ROT4E_cjs.hexSchema; }
22
+ get: function () { return QYHNWZK7_cjs.hexSchema; }
19
23
  });
20
24
  Object.defineProperty(exports, "lowercaseHex", {
21
25
  enumerable: true,
22
- get: function () { return CK4ROT4E_cjs.lowercaseHex; }
26
+ get: function () { return QYHNWZK7_cjs.lowercaseHex; }
27
+ });
28
+ Object.defineProperty(exports, "normalizeHexAddress", {
29
+ enumerable: true,
30
+ get: function () { return QYHNWZK7_cjs.normalizeHexAddress; }
31
+ });
32
+ Object.defineProperty(exports, "normalizedHexAddressSchema", {
33
+ enumerable: true,
34
+ get: function () { return QYHNWZK7_cjs.normalizedHexAddressSchema; }
35
+ });
36
+ Object.defineProperty(exports, "normalizedHexSchema", {
37
+ enumerable: true,
38
+ get: function () { return QYHNWZK7_cjs.normalizedHexSchema; }
23
39
  });
24
40
  //# sourceMappingURL=address.cjs.map
25
41
  //# sourceMappingURL=address.cjs.map
package/dist/address.d.ts CHANGED
@@ -1,9 +1,14 @@
1
1
  import z from 'zod/v4';
2
- import type { HexString } from '@layerzerolabs/typescript-utils';
2
+ import type { HexString, NormalizedHexString } from '@layerzerolabs/typescript-utils';
3
3
  export declare const hexSchema: z.ZodType<HexString>;
4
+ export declare const normalizedHexSchema: z.ZodType<NormalizedHexString>;
4
5
  export declare const hexAddressSchema: z.ZodType<`0x${string}`, unknown, z.core.$ZodTypeInternals<`0x${string}`, unknown>>;
6
+ export declare const normalizedHexAddressSchema: z.ZodType<Symbol, unknown, z.core.$ZodTypeInternals<Symbol, unknown>>;
5
7
  export type HexAddress = z.infer<typeof hexAddressSchema>;
8
+ export type NormalizedHexAddress = z.infer<typeof normalizedHexSchema>;
6
9
  export declare const lowercaseHex: <T extends HexAddress | undefined>(address: T) => T;
10
+ export declare const normalizeHexAddress: (address: HexAddress) => NormalizedHexAddress;
11
+ export declare const denormalizeHexAddress: (address: NormalizedHexAddress, byteCount: number) => HexAddress;
7
12
  export declare const base58AddressSchema: z.ZodString;
8
13
  export type Base58AddressSchema = z.infer<typeof base58AddressSchema>;
9
14
  //# sourceMappingURL=address.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAGvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,SAAS,EAEsD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEjG,eAAO,MAAM,gBAAgB,qFAAY,CAAC;AAE1C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,UAAU,GAAG,SAAS,EAAE,SAAS,CAAC,KAAG,CACjC,CAAC;AAG5C,eAAO,MAAM,mBAAmB,aAE9B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAGvB,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,SAAS,EAEsD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEjG,eAAO,MAAM,mBAAmB,EAsBnB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE5C,eAAO,MAAM,gBAAgB,qFAAY,CAAC;AAC1C,eAAO,MAAM,0BAA0B,uEAAsB,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,UAAU,GAAG,SAAS,EAAE,SAAS,CAAC,KAAG,CACjC,CAAC;AAE5C,eAAO,MAAM,mBAAmB,GAAI,SAAS,UAAU,KAAG,oBAMzD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAC9B,SAAS,oBAAoB,EAC7B,WAAW,MAAM,KAClB,UAA6D,CAAC;AAGjE,eAAO,MAAM,mBAAmB,aAE9B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
package/dist/address.js CHANGED
@@ -1,4 +1,4 @@
1
- export { base58AddressSchema, hexAddressSchema, hexSchema, lowercaseHex } from './3PFLGGO2.js';
1
+ export { base58AddressSchema, denormalizeHexAddress, hexAddressSchema, hexSchema, lowercaseHex, normalizeHexAddress, normalizedHexAddressSchema, normalizedHexSchema } from './CIKWECQO.js';
2
2
  import './VUOMXK5T.js';
3
3
  //# sourceMappingURL=address.js.map
4
4
  //# sourceMappingURL=address.js.map
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var CK4ROT4E_cjs = require('./CK4ROT4E.cjs');
3
+ var QYHNWZK7_cjs = require('./QYHNWZK7.cjs');
4
4
  var _5ASXO5ES_cjs = require('./5ASXO5ES.cjs');
5
5
  require('./YJF4D23A.cjs');
6
6
 
@@ -8,19 +8,35 @@ require('./YJF4D23A.cjs');
8
8
 
9
9
  Object.defineProperty(exports, "base58AddressSchema", {
10
10
  enumerable: true,
11
- get: function () { return CK4ROT4E_cjs.base58AddressSchema; }
11
+ get: function () { return QYHNWZK7_cjs.base58AddressSchema; }
12
+ });
13
+ Object.defineProperty(exports, "denormalizeHexAddress", {
14
+ enumerable: true,
15
+ get: function () { return QYHNWZK7_cjs.denormalizeHexAddress; }
12
16
  });
13
17
  Object.defineProperty(exports, "hexAddressSchema", {
14
18
  enumerable: true,
15
- get: function () { return CK4ROT4E_cjs.hexAddressSchema; }
19
+ get: function () { return QYHNWZK7_cjs.hexAddressSchema; }
16
20
  });
17
21
  Object.defineProperty(exports, "hexSchema", {
18
22
  enumerable: true,
19
- get: function () { return CK4ROT4E_cjs.hexSchema; }
23
+ get: function () { return QYHNWZK7_cjs.hexSchema; }
20
24
  });
21
25
  Object.defineProperty(exports, "lowercaseHex", {
22
26
  enumerable: true,
23
- get: function () { return CK4ROT4E_cjs.lowercaseHex; }
27
+ get: function () { return QYHNWZK7_cjs.lowercaseHex; }
28
+ });
29
+ Object.defineProperty(exports, "normalizeHexAddress", {
30
+ enumerable: true,
31
+ get: function () { return QYHNWZK7_cjs.normalizeHexAddress; }
32
+ });
33
+ Object.defineProperty(exports, "normalizedHexAddressSchema", {
34
+ enumerable: true,
35
+ get: function () { return QYHNWZK7_cjs.normalizedHexAddressSchema; }
36
+ });
37
+ Object.defineProperty(exports, "normalizedHexSchema", {
38
+ enumerable: true,
39
+ get: function () { return QYHNWZK7_cjs.normalizedHexSchema; }
24
40
  });
25
41
  Object.defineProperty(exports, "assignedTransactionSchema", {
26
42
  enumerable: true,
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { base58AddressSchema, hexAddressSchema, hexSchema, lowercaseHex } from './3PFLGGO2.js';
1
+ export { base58AddressSchema, denormalizeHexAddress, hexAddressSchema, hexSchema, lowercaseHex, normalizeHexAddress, normalizedHexAddressSchema, normalizedHexSchema } from './CIKWECQO.js';
2
2
  export { assignedTransactionSchema, signedTransactionSchema, transactionMetadataTimestamps, transactionSchema } from './KLFPKPY4.js';
3
3
  import './VUOMXK5T.js';
4
4
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/common-chain-model",
3
- "version": "0.0.19",
3
+ "version": "0.0.20",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -15,14 +15,14 @@
15
15
  "types": "./dist/index.d.ts",
16
16
  "dependencies": {
17
17
  "zod": "^3.23.8",
18
- "@layerzerolabs/common-utils": "0.0.19"
18
+ "@layerzerolabs/common-utils": "0.0.20"
19
19
  },
20
20
  "devDependencies": {
21
21
  "tsup": "^8.4.0",
22
22
  "vitest": "^3.2.3",
23
- "@layerzerolabs/tsup-configuration": "0.0.19",
24
- "@layerzerolabs/typescript-utils": "0.0.19",
25
- "@layerzerolabs/typescript-configuration": "0.0.19"
23
+ "@layerzerolabs/typescript-configuration": "0.0.20",
24
+ "@layerzerolabs/tsup-configuration": "0.0.20",
25
+ "@layerzerolabs/typescript-utils": "0.0.20"
26
26
  },
27
27
  "publishConfig": {
28
28
  "access": "restricted",
package/src/address.ts CHANGED
@@ -1,19 +1,58 @@
1
1
  import z from 'zod/v4';
2
2
 
3
- import { isBase58 } from '@layerzerolabs/common-utils';
4
- import type { HexString } from '@layerzerolabs/typescript-utils';
3
+ import { hexZeroPad, isBase58 } from '@layerzerolabs/common-utils';
4
+ import type { HexString, NormalizedHexString } from '@layerzerolabs/typescript-utils';
5
5
 
6
6
  export const hexSchema = z
7
7
  .string()
8
8
  .refine((data) => typeof data === 'string' && data.startsWith('0x')) as z.ZodType<HexString>;
9
9
 
10
+ export const normalizedHexSchema = z.string().refine((data) => {
11
+ // normalized hex strings are strings
12
+ if (typeof data !== 'string') {
13
+ return false;
14
+ }
15
+ // normalized hex strings start with 0x
16
+ if (!data.startsWith('0x')) {
17
+ return false;
18
+ }
19
+ // '0x' is not a valid normalized address (expect 0x0)
20
+ if (data.length <= 2) {
21
+ return false;
22
+ }
23
+ // normalized hex strings have no leading 0s (except for edge case (0x0)
24
+ if (data.length >= 4 && data[2] === '0') {
25
+ return false;
26
+ }
27
+ // normalized hex strings are always lowercase
28
+ if (data.toLowerCase() !== data) {
29
+ return false;
30
+ }
31
+ return true;
32
+ }) as any as z.ZodType<NormalizedHexString>;
33
+
10
34
  export const hexAddressSchema = hexSchema;
35
+ export const normalizedHexAddressSchema = normalizedHexSchema;
11
36
 
12
37
  export type HexAddress = z.infer<typeof hexAddressSchema>;
38
+ export type NormalizedHexAddress = z.infer<typeof normalizedHexSchema>;
13
39
 
14
40
  export const lowercaseHex = <T extends HexAddress | undefined>(address: T): T =>
15
41
  address && (address.toLowerCase() as T);
16
42
 
43
+ export const normalizeHexAddress = (address: HexAddress): NormalizedHexAddress => {
44
+ // take the bytes part, remove all 0s
45
+ const body = address.slice(2).replace(/^0+/, '');
46
+ // if the string was e.g., `0x000`, append one 0 so that we have `0x0
47
+ const trimmed = '0x' + (body || '0');
48
+ return trimmed.toLowerCase() as any as NormalizedHexAddress;
49
+ };
50
+
51
+ export const denormalizeHexAddress = (
52
+ address: NormalizedHexAddress,
53
+ byteCount: number,
54
+ ): HexAddress => hexZeroPad(address as any as string, byteCount);
55
+
17
56
  // Base58 schema for validation
18
57
  export const base58AddressSchema = z.string().refine(isBase58, {
19
58
  error: 'Invalid base58 address format',
package/dist/3PFLGGO2.js DELETED
@@ -1,14 +0,0 @@
1
- import { __name } from './VUOMXK5T.js';
2
- import z from 'zod/v4';
3
- import { isBase58 } from '@layerzerolabs/common-utils';
4
-
5
- var hexSchema = z.string().refine((data) => typeof data === "string" && data.startsWith("0x"));
6
- var hexAddressSchema = hexSchema;
7
- var lowercaseHex = /* @__PURE__ */ __name((address) => address && address.toLowerCase(), "lowercaseHex");
8
- var base58AddressSchema = z.string().refine(isBase58, {
9
- error: "Invalid base58 address format"
10
- });
11
-
12
- export { base58AddressSchema, hexAddressSchema, hexSchema, lowercaseHex };
13
- //# sourceMappingURL=3PFLGGO2.js.map
14
- //# sourceMappingURL=3PFLGGO2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/address.ts"],"names":["hexSchema","z","string","refine","data","startsWith","hexAddressSchema","lowercaseHex","address","toLowerCase","base58AddressSchema","isBase58","error"],"mappings":";;;;AAKO,IAAMA,SAAAA,GAAYC,CAAAA,CACpBC,MAAAA,EAAM,CACNC,MAAAA,CAAO,CAACC,IAAAA,KAAS,OAAOA,IAAAA,KAAS,QAAA,IAAYA,IAAAA,CAAKC,UAAAA,CAAW,IAAA,CAAA;AAE3D,IAAMC,gBAAAA,GAAmBN;AAIzB,IAAMO,+BAAe,MAAA,CAAA,CAAmCC,OAAAA,KAC3DA,OAAAA,IAAYA,OAAAA,CAAQC,aAAW,EADP,cAAA;AAIrB,IAAMC,mBAAAA,GAAsBT,CAAAA,CAAEC,MAAAA,EAAM,CAAGC,OAAOQ,QAAAA,EAAU;EAC3DC,KAAAA,EAAO;AACX,CAAA","file":"3PFLGGO2.js","sourcesContent":["import z from 'zod/v4';\n\nimport { isBase58 } from '@layerzerolabs/common-utils';\nimport type { HexString } from '@layerzerolabs/typescript-utils';\n\nexport const hexSchema = z\n .string()\n .refine((data) => typeof data === 'string' && data.startsWith('0x')) as z.ZodType<HexString>;\n\nexport const hexAddressSchema = hexSchema;\n\nexport type HexAddress = z.infer<typeof hexAddressSchema>;\n\nexport const lowercaseHex = <T extends HexAddress | undefined>(address: T): T =>\n address && (address.toLowerCase() as T);\n\n// Base58 schema for validation\nexport const base58AddressSchema = z.string().refine(isBase58, {\n error: 'Invalid base58 address format',\n});\n\nexport type Base58AddressSchema = z.infer<typeof base58AddressSchema>;\n"]}
package/dist/CK4ROT4E.cjs DELETED
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- var YJF4D23A_cjs = require('./YJF4D23A.cjs');
4
- var z = require('zod/v4');
5
- var commonUtils = require('@layerzerolabs/common-utils');
6
-
7
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
-
9
- var z__default = /*#__PURE__*/_interopDefault(z);
10
-
11
- var hexSchema = z__default.default.string().refine((data) => typeof data === "string" && data.startsWith("0x"));
12
- var hexAddressSchema = hexSchema;
13
- var lowercaseHex = /* @__PURE__ */ YJF4D23A_cjs.__name((address) => address && address.toLowerCase(), "lowercaseHex");
14
- var base58AddressSchema = z__default.default.string().refine(commonUtils.isBase58, {
15
- error: "Invalid base58 address format"
16
- });
17
-
18
- exports.base58AddressSchema = base58AddressSchema;
19
- exports.hexAddressSchema = hexAddressSchema;
20
- exports.hexSchema = hexSchema;
21
- exports.lowercaseHex = lowercaseHex;
22
- //# sourceMappingURL=CK4ROT4E.cjs.map
23
- //# sourceMappingURL=CK4ROT4E.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/address.ts"],"names":["hexSchema","z","string","refine","data","startsWith","hexAddressSchema","lowercaseHex","__name","address","toLowerCase","base58AddressSchema","isBase58","error"],"mappings":";;;;;;;;;;AAKO,IAAMA,SAAAA,GAAYC,kBAAAA,CACpBC,MAAAA,EAAM,CACNC,MAAAA,CAAO,CAACC,IAAAA,KAAS,OAAOA,IAAAA,KAAS,QAAA,IAAYA,IAAAA,CAAKC,UAAAA,CAAW,IAAA,CAAA;AAE3D,IAAMC,gBAAAA,GAAmBN;AAIzB,IAAMO,+BAAeC,mBAAA,CAAA,CAAmCC,OAAAA,KAC3DA,OAAAA,IAAYA,OAAAA,CAAQC,aAAW,EADP,cAAA;AAIrB,IAAMC,mBAAAA,GAAsBV,kBAAAA,CAAEC,MAAAA,EAAM,CAAGC,OAAOS,oBAAAA,EAAU;EAC3DC,KAAAA,EAAO;AACX,CAAA","file":"CK4ROT4E.cjs","sourcesContent":["import z from 'zod/v4';\n\nimport { isBase58 } from '@layerzerolabs/common-utils';\nimport type { HexString } from '@layerzerolabs/typescript-utils';\n\nexport const hexSchema = z\n .string()\n .refine((data) => typeof data === 'string' && data.startsWith('0x')) as z.ZodType<HexString>;\n\nexport const hexAddressSchema = hexSchema;\n\nexport type HexAddress = z.infer<typeof hexAddressSchema>;\n\nexport const lowercaseHex = <T extends HexAddress | undefined>(address: T): T =>\n address && (address.toLowerCase() as T);\n\n// Base58 schema for validation\nexport const base58AddressSchema = z.string().refine(isBase58, {\n error: 'Invalid base58 address format',\n});\n\nexport type Base58AddressSchema = z.infer<typeof base58AddressSchema>;\n"]}