@layerzerolabs/common-chain-model 0.2.7 → 0.2.9

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,45 +10,45 @@
10
10
  CLI Cleaning output folder
11
11
  CJS Build start
12
12
  ESM Build start
13
- ESM dist/address.js 213.00 B
14
- ESM dist/bigint.js 161.00 B
15
- ESM dist/4K6BY5DZ.js 1.07 KB
16
- ESM dist/multiSigTransaction.js 491.00 B
17
- ESM dist/index.js 847.00 B
18
- ESM dist/K42K4QSX.js 1.62 KB
19
- ESM dist/C5A4GCMN.js 1.08 KB
20
- ESM dist/transaction.js 349.00 B
21
- ESM dist/VUOMXK5T.js 222.00 B
22
- ESM dist/LE7RUCGA.js 1.62 KB
23
- ESM dist/address.js.map 71.00 B
24
- ESM dist/bigint.js.map 70.00 B
25
- ESM dist/multiSigTransaction.js.map 83.00 B
26
- ESM dist/K42K4QSX.js.map 3.77 KB
27
- ESM dist/index.js.map 69.00 B
28
- ESM dist/4K6BY5DZ.js.map 2.46 KB
29
- ESM dist/transaction.js.map 75.00 B
30
- ESM dist/VUOMXK5T.js.map 72.00 B
31
- ESM dist/C5A4GCMN.js.map 3.09 KB
32
- ESM dist/LE7RUCGA.js.map 4.39 KB
33
- ESM ⚡️ Build success in 228ms
34
- CJS dist/bigint.cjs 441.00 B
35
- CJS dist/address.cjs 846.00 B
36
13
  CJS dist/index.cjs 3.81 KB
14
+ CJS dist/address.cjs 846.00 B
15
+ CJS dist/bigint.cjs 441.00 B
37
16
  CJS dist/2J25PZ2O.cjs 1.31 KB
38
17
  CJS dist/multiSigTransaction.cjs 1.60 KB
39
- CJS dist/VEKC7IOY.cjs 2.26 KB
18
+ CJS dist/P66GWYCA.cjs 2.26 KB
19
+ CJS dist/PXR7GDY4.cjs 1.50 KB
40
20
  CJS dist/transaction.cjs 1.38 KB
41
- CJS dist/HEXKO45W.cjs 1.41 KB
42
21
  CJS dist/IJHPYPIU.cjs 2.49 KB
43
22
  CJS dist/YJF4D23A.cjs 245.00 B
44
- CJS dist/bigint.cjs.map 71.00 B
45
23
  CJS dist/index.cjs.map 70.00 B
46
- CJS dist/2J25PZ2O.cjs.map 2.47 KB
47
24
  CJS dist/address.cjs.map 72.00 B
48
- CJS dist/VEKC7IOY.cjs.map 3.78 KB
25
+ CJS dist/bigint.cjs.map 71.00 B
26
+ CJS dist/2J25PZ2O.cjs.map 2.47 KB
49
27
  CJS dist/multiSigTransaction.cjs.map 84.00 B
28
+ CJS dist/P66GWYCA.cjs.map 3.78 KB
29
+ CJS dist/PXR7GDY4.cjs.map 3.43 KB
50
30
  CJS dist/transaction.cjs.map 76.00 B
51
- CJS dist/HEXKO45W.cjs.map 3.10 KB
52
31
  CJS dist/IJHPYPIU.cjs.map 4.42 KB
53
32
  CJS dist/YJF4D23A.cjs.map 73.00 B
54
- CJS ⚡️ Build success in 229ms
33
+ CJS ⚡️ Build success in 245ms
34
+ ESM dist/bigint.js 161.00 B
35
+ ESM dist/address.js 213.00 B
36
+ ESM dist/index.js 847.00 B
37
+ ESM dist/multiSigTransaction.js 491.00 B
38
+ ESM dist/4K6BY5DZ.js 1.07 KB
39
+ ESM dist/S2BOAXZX.js 1.17 KB
40
+ ESM dist/TGGXRNRA.js 1.62 KB
41
+ ESM dist/transaction.js 349.00 B
42
+ ESM dist/LE7RUCGA.js 1.62 KB
43
+ ESM dist/VUOMXK5T.js 222.00 B
44
+ ESM dist/address.js.map 71.00 B
45
+ ESM dist/index.js.map 69.00 B
46
+ ESM dist/bigint.js.map 70.00 B
47
+ ESM dist/multiSigTransaction.js.map 83.00 B
48
+ ESM dist/4K6BY5DZ.js.map 2.46 KB
49
+ ESM dist/S2BOAXZX.js.map 3.42 KB
50
+ ESM dist/TGGXRNRA.js.map 3.77 KB
51
+ ESM dist/transaction.js.map 75.00 B
52
+ ESM dist/LE7RUCGA.js.map 4.39 KB
53
+ ESM dist/VUOMXK5T.js.map 72.00 B
54
+ ESM ⚡️ Build success in 246ms
@@ -2,7 +2,7 @@
2
2
  > @layerzerolabs/common-chain-model@0.0.0 lint /home/runner/work/monorepo-internal/monorepo-internal/packages/common/common-chain-model
3
3
  > eslint . --max-warnings 0 || (eslint . --fix --max-warnings 0 && false)
4
4
 
5
- (node:27512) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/eslint.config.js?mtime=1764894951488 is not specified and it doesn't parse as CommonJS.
5
+ (node:30744) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///home/runner/work/monorepo-internal/monorepo-internal/eslint.config.js?mtime=1766003582514 is not specified and it doesn't parse as CommonJS.
6
6
  Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
7
7
  To eliminate this warning, add "type": "module" to /home/runner/work/monorepo-internal/monorepo-internal/package.json.
8
8
  (Use `node --trace-warnings ...` to show where the warning was created)
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var HEXKO45W_cjs = require('./HEXKO45W.cjs');
3
+ var PXR7GDY4_cjs = require('./PXR7GDY4.cjs');
4
4
  var IJHPYPIU_cjs = require('./IJHPYPIU.cjs');
5
5
  var z = require('zod/v4');
6
6
 
@@ -10,7 +10,7 @@ var z__default = /*#__PURE__*/_interopDefault(z);
10
10
 
11
11
  var baseMultiSigDetailsSchema = z__default.default.object({
12
12
  proposerSenderEntityName: z__default.default.string(),
13
- multiSigAddress: HEXKO45W_cjs.normalizedHexSchema
13
+ multiSigAddress: PXR7GDY4_cjs.normalizedHexSchema
14
14
  });
15
15
  var baseMultiSigTransactionToProposeSchema = IJHPYPIU_cjs.transactionSchema.extend(baseMultiSigDetailsSchema.shape);
16
16
  var onchainMultiSigDetailsSchema = baseMultiSigDetailsSchema;
@@ -44,5 +44,5 @@ exports.multiSigTransactionToProposeSchema = multiSigTransactionToProposeSchema;
44
44
  exports.offChainMultiSigDetailsSchema = offChainMultiSigDetailsSchema;
45
45
  exports.onchainMultiSigDetailsSchema = onchainMultiSigDetailsSchema;
46
46
  exports.onchainMultiSigTransactionToProposeSchema = onchainMultiSigTransactionToProposeSchema;
47
- //# sourceMappingURL=VEKC7IOY.cjs.map
48
- //# sourceMappingURL=VEKC7IOY.cjs.map
47
+ //# sourceMappingURL=P66GWYCA.cjs.map
48
+ //# sourceMappingURL=P66GWYCA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/multiSigTransaction.ts"],"names":["baseMultiSigDetailsSchema","z","object","proposerSenderEntityName","string","multiSigAddress","normalizedHexSchema","baseMultiSigTransactionToProposeSchema","transactionSchema","extend","shape","onchainMultiSigDetailsSchema","onchainMultiSigTransactionToProposeSchema","nonce","number","optional","offChainMultiSigDetailsSchema","multiSigUrl","multiSigApiKey","multiSigTransactionToProposeSchema","multiSigSignedTransactionToProposeSchema","multiSigExecutedProposedTransactionSchema","result","transactionResultSchema"],"mappings":";;;;;;;;;;AAMO,IAAMA,yBAAAA,GAA4BC,mBAAEC,MAAAA,CAAO;AAC9CC,EAAAA,wBAAAA,EAA0BF,mBAAEG,MAAAA,EAAM;EAClCC,eAAAA,EAAiBC;AACrB,CAAA;AAEO,IAAMC,sCAAAA,GAAyCC,8BAAAA,CAAkBC,MAAAA,CACpET,yBAAAA,CAA0BU,KAAK;AAI5B,IAAMC,4BAAAA,GAA+BX;AAErC,IAAMY,yCAAAA,GAA4CJ,+BAAkBC,MAAAA,CAAO;AAC9E,EAAA,GAAGE,4BAAAA,CAA6BD,KAAAA;EAChCG,KAAAA,EAAOZ,kBAAAA,CAAEa,MAAAA,EAAM,CAAGC,QAAAA;AACtB,CAAA;AAEO,IAAMC,6BAAAA,GAAgChB,0BAA0BS,MAAAA,CAAO;;AAE1EQ,EAAAA,WAAAA,EAAahB,mBAAEG,MAAAA,EAAM;;EAErBc,cAAAA,EAAgBjB,kBAAAA,CAAEG,MAAAA,EAAM,CAAGW,QAAAA;AAC/B,CAAA;AAEO,IAAMI,kCAAAA,GAAqCZ,uCAAuCE,MAAAA,CAAO;AAC5FI,EAAAA,KAAAA,EAAOZ,mBAAEa,MAAAA,EAAM;AACf,EAAA,GAAGE,6BAAAA,CAA8BN;AACrC,CAAA;AAEO,IAAMU,wCAAAA,GAA2CnB,mBAAEC,MAAAA,CAAO;AAC7D,EAAA,GAAGiB,kCAAAA,CAAmCT;AAC1C,CAAA;AAEO,IAAMW,yCAAAA,GAA4CpB,mBAAEC,MAAAA,CAAO;AAC9D,EAAA,GAAGiB,kCAAAA,CAAmCT,KAAAA;EACtCY,MAAAA,EAAQC;AACZ,CAAA","file":"VEKC7IOY.cjs","sourcesContent":["import z from 'zod/v4';\n\nimport { normalizedHexSchema } from './address';\nimport { transactionResultSchema, transactionSchema } from './transaction';\n\n// Used by both onchain and offchain multisig\nexport const baseMultiSigDetailsSchema = z.object({\n proposerSenderEntityName: z.string(),\n multiSigAddress: normalizedHexSchema,\n});\n\nexport const baseMultiSigTransactionToProposeSchema = transactionSchema.extend(\n baseMultiSigDetailsSchema.shape,\n);\n\n// Details that are used on onchain multisig and exist on signer entity\nexport const onchainMultiSigDetailsSchema = baseMultiSigDetailsSchema;\n\nexport const onchainMultiSigTransactionToProposeSchema = transactionSchema.extend({\n ...onchainMultiSigDetailsSchema.shape,\n nonce: z.number().optional(),\n});\n\nexport const offChainMultiSigDetailsSchema = baseMultiSigDetailsSchema.extend({\n // FIXME-TX-SENDER: Find a way to allow a custom url by chain using a placeholder\n multiSigUrl: z.string(),\n // FIXME-TX-SENDER: allow passing by env var.\n multiSigApiKey: z.string().optional(),\n});\n\nexport const multiSigTransactionToProposeSchema = baseMultiSigTransactionToProposeSchema.extend({\n nonce: z.number(),\n ...offChainMultiSigDetailsSchema.shape,\n});\n\nexport const multiSigSignedTransactionToProposeSchema = z.object({\n ...multiSigTransactionToProposeSchema.shape,\n});\n\nexport const multiSigExecutedProposedTransactionSchema = z.object({\n ...multiSigTransactionToProposeSchema.shape,\n result: transactionResultSchema,\n});\n\nexport type BaseMultiSigDetails = z.infer<typeof baseMultiSigDetailsSchema>;\n\nexport type OnchainMultiSigDetails = z.infer<typeof onchainMultiSigDetailsSchema>;\nexport type OnChainMultiSigTransactionToPropose = z.infer<\n typeof onchainMultiSigTransactionToProposeSchema\n>;\nexport type OffchainMultiSigDetails = z.infer<typeof offChainMultiSigDetailsSchema>;\nexport type OnchainMultiSigTransactionToPropose = z.infer<\n typeof onchainMultiSigTransactionToProposeSchema\n>;\nexport type MultiSigTransactionToPropose = z.infer<typeof multiSigTransactionToProposeSchema>;\nexport type MultiSigSignedTransactionToPropose = z.infer<\n typeof multiSigSignedTransactionToProposeSchema\n>;\nexport type MultiSigExecutedProposedTransaction = z.infer<\n typeof multiSigExecutedProposedTransactionSchema\n>;\n"]}
1
+ {"version":3,"sources":["../src/multiSigTransaction.ts"],"names":["baseMultiSigDetailsSchema","z","object","proposerSenderEntityName","string","multiSigAddress","normalizedHexSchema","baseMultiSigTransactionToProposeSchema","transactionSchema","extend","shape","onchainMultiSigDetailsSchema","onchainMultiSigTransactionToProposeSchema","nonce","number","optional","offChainMultiSigDetailsSchema","multiSigUrl","multiSigApiKey","multiSigTransactionToProposeSchema","multiSigSignedTransactionToProposeSchema","multiSigExecutedProposedTransactionSchema","result","transactionResultSchema"],"mappings":";;;;;;;;;;AAMO,IAAMA,yBAAAA,GAA4BC,mBAAEC,MAAAA,CAAO;AAC9CC,EAAAA,wBAAAA,EAA0BF,mBAAEG,MAAAA,EAAM;EAClCC,eAAAA,EAAiBC;AACrB,CAAA;AAEO,IAAMC,sCAAAA,GAAyCC,8BAAAA,CAAkBC,MAAAA,CACpET,yBAAAA,CAA0BU,KAAK;AAI5B,IAAMC,4BAAAA,GAA+BX;AAErC,IAAMY,yCAAAA,GAA4CJ,+BAAkBC,MAAAA,CAAO;AAC9E,EAAA,GAAGE,4BAAAA,CAA6BD,KAAAA;EAChCG,KAAAA,EAAOZ,kBAAAA,CAAEa,MAAAA,EAAM,CAAGC,QAAAA;AACtB,CAAA;AAEO,IAAMC,6BAAAA,GAAgChB,0BAA0BS,MAAAA,CAAO;;AAE1EQ,EAAAA,WAAAA,EAAahB,mBAAEG,MAAAA,EAAM;;EAErBc,cAAAA,EAAgBjB,kBAAAA,CAAEG,MAAAA,EAAM,CAAGW,QAAAA;AAC/B,CAAA;AAEO,IAAMI,kCAAAA,GAAqCZ,uCAAuCE,MAAAA,CAAO;AAC5FI,EAAAA,KAAAA,EAAOZ,mBAAEa,MAAAA,EAAM;AACf,EAAA,GAAGE,6BAAAA,CAA8BN;AACrC,CAAA;AAEO,IAAMU,wCAAAA,GAA2CnB,mBAAEC,MAAAA,CAAO;AAC7D,EAAA,GAAGiB,kCAAAA,CAAmCT;AAC1C,CAAA;AAEO,IAAMW,yCAAAA,GAA4CpB,mBAAEC,MAAAA,CAAO;AAC9D,EAAA,GAAGiB,kCAAAA,CAAmCT,KAAAA;EACtCY,MAAAA,EAAQC;AACZ,CAAA","file":"P66GWYCA.cjs","sourcesContent":["import z from 'zod/v4';\n\nimport { normalizedHexSchema } from './address';\nimport { transactionResultSchema, transactionSchema } from './transaction';\n\n// Used by both onchain and offchain multisig\nexport const baseMultiSigDetailsSchema = z.object({\n proposerSenderEntityName: z.string(),\n multiSigAddress: normalizedHexSchema,\n});\n\nexport const baseMultiSigTransactionToProposeSchema = transactionSchema.extend(\n baseMultiSigDetailsSchema.shape,\n);\n\n// Details that are used on onchain multisig and exist on signer entity\nexport const onchainMultiSigDetailsSchema = baseMultiSigDetailsSchema;\n\nexport const onchainMultiSigTransactionToProposeSchema = transactionSchema.extend({\n ...onchainMultiSigDetailsSchema.shape,\n nonce: z.number().optional(),\n});\n\nexport const offChainMultiSigDetailsSchema = baseMultiSigDetailsSchema.extend({\n // FIXME-TX-SENDER: Find a way to allow a custom url by chain using a placeholder\n multiSigUrl: z.string(),\n // FIXME-TX-SENDER: allow passing by env var.\n multiSigApiKey: z.string().optional(),\n});\n\nexport const multiSigTransactionToProposeSchema = baseMultiSigTransactionToProposeSchema.extend({\n nonce: z.number(),\n ...offChainMultiSigDetailsSchema.shape,\n});\n\nexport const multiSigSignedTransactionToProposeSchema = z.object({\n ...multiSigTransactionToProposeSchema.shape,\n});\n\nexport const multiSigExecutedProposedTransactionSchema = z.object({\n ...multiSigTransactionToProposeSchema.shape,\n result: transactionResultSchema,\n});\n\nexport type BaseMultiSigDetails = z.infer<typeof baseMultiSigDetailsSchema>;\n\nexport type OnchainMultiSigDetails = z.infer<typeof onchainMultiSigDetailsSchema>;\nexport type OnChainMultiSigTransactionToPropose = z.infer<\n typeof onchainMultiSigTransactionToProposeSchema\n>;\nexport type OffchainMultiSigDetails = z.infer<typeof offChainMultiSigDetailsSchema>;\nexport type OnchainMultiSigTransactionToPropose = z.infer<\n typeof onchainMultiSigTransactionToProposeSchema\n>;\nexport type MultiSigTransactionToPropose = z.infer<typeof multiSigTransactionToProposeSchema>;\nexport type MultiSigSignedTransactionToPropose = z.infer<\n typeof multiSigSignedTransactionToProposeSchema\n>;\nexport type MultiSigExecutedProposedTransaction = z.infer<\n typeof multiSigExecutedProposedTransactionSchema\n>;\n"]}
@@ -24,6 +24,10 @@ var normalizedHexSchema = z__default.default.string().refine((data) => {
24
24
  if (data.toLowerCase() !== data) {
25
25
  return false;
26
26
  }
27
+ const hexPart = data.slice(2);
28
+ if (!/^[0-9a-f]+$/.test(hexPart)) {
29
+ return false;
30
+ }
27
31
  return true;
28
32
  });
29
33
  var normalizeHex = /* @__PURE__ */ YJF4D23A_cjs.__name((address) => {
@@ -39,5 +43,5 @@ exports.hexSchema = hexSchema;
39
43
  exports.normalizeHex = normalizeHex;
40
44
  exports.normalizedHexSchema = normalizedHexSchema;
41
45
  exports.sortNormalizedHex = sortNormalizedHex;
42
- //# sourceMappingURL=HEXKO45W.cjs.map
43
- //# sourceMappingURL=HEXKO45W.cjs.map
46
+ //# sourceMappingURL=PXR7GDY4.cjs.map
47
+ //# sourceMappingURL=PXR7GDY4.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/address.ts"],"names":["hexSchema","z","string","refine","data","startsWith","normalizedHexSchema","length","toLowerCase","hexPart","slice","test","normalizeHex","address","body","replace","trimmed","sortNormalizedHex","hexStrings","sort","a","b","BigInt","toString","NORMALIZED_HEX_ZERO"],"mappings":";;;;;;;;;AAMO,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;AAEA,EAAA,MAAMK,OAAAA,GAAUL,IAAAA,CAAKM,KAAAA,CAAM,CAAA,CAAA;AAC3B,EAAA,IAAI,CAAC,aAAA,CAAcC,IAAAA,CAAKF,OAAAA,CAAAA,EAAU;AAC9B,IAAA,OAAO,KAAA;AACX,EAAA;AACA,EAAA,OAAO,IAAA;AACX,CAAA;AAEO,IAAMG,YAAAA,wCAAgBC,OAAAA,KAAAA;AAEzB,EAAA,MAAMC,OAAOD,OAAAA,CAAQH,KAAAA,CAAM,CAAA,CAAA,CAAGK,OAAAA,CAAQ,OAAO,EAAA,CAAA;AAE7C,EAAA,MAAMC,OAAAA,GAAU,QAAQF,IAAAA,IAAQ,GAAA,CAAA;AAChC,EAAA,OAAOE,QAAQR,WAAAA,EAAW;AAC9B,CAAA,EAN4B,cAAA;AAQrB,IAAMS,iBAAAA,wCAAqBC,UAAAA,KAC9BA,UAAAA,EAAYC,KAAK,CAACC,CAAAA,EAAGC,MAAOC,MAAAA,CAAOF,CAAAA,CAAEG,UAAQ,CAAA,GAAMD,OAAOD,CAAAA,CAAEE,QAAAA,EAAQ,CAAA,GAAM,CAAA,GAAI,CAAA,GAAI,EAAC,CAAA,EADtD,mBAAA;AAG1B,IAAMC,mBAAAA,GAAsBZ,aAAa,KAAA","file":"PXR7GDY4.cjs","sourcesContent":["import z from 'zod/v4';\n\nimport type { HexString, NormalizedHexString } from '@layerzerolabs/typescript-utils';\n\nexport type { HexString, NormalizedHexString };\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 // normalized hex strings only contain hexadecimal characters\n const hexPart = data.slice(2);\n if (!/^[0-9a-f]+$/.test(hexPart)) {\n return false;\n }\n return true;\n}) as any as z.ZodType<NormalizedHexString>;\n\nexport const normalizeHex = (address: HexString): NormalizedHexString => {\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 NormalizedHexString;\n};\n\nexport const sortNormalizedHex = (hexStrings?: NormalizedHexString[]) =>\n hexStrings?.sort((a, b) => (BigInt(a.toString()) - BigInt(b.toString()) > 0 ? 1 : -1));\n\nexport const NORMALIZED_HEX_ZERO = normalizeHex('0x0');\n"]}
@@ -18,6 +18,10 @@ var normalizedHexSchema = z.string().refine((data) => {
18
18
  if (data.toLowerCase() !== data) {
19
19
  return false;
20
20
  }
21
+ const hexPart = data.slice(2);
22
+ if (!/^[0-9a-f]+$/.test(hexPart)) {
23
+ return false;
24
+ }
21
25
  return true;
22
26
  });
23
27
  var normalizeHex = /* @__PURE__ */ __name((address) => {
@@ -29,5 +33,5 @@ var sortNormalizedHex = /* @__PURE__ */ __name((hexStrings) => hexStrings?.sort(
29
33
  var NORMALIZED_HEX_ZERO = normalizeHex("0x0");
30
34
 
31
35
  export { NORMALIZED_HEX_ZERO, hexSchema, normalizeHex, normalizedHexSchema, sortNormalizedHex };
32
- //# sourceMappingURL=C5A4GCMN.js.map
33
- //# sourceMappingURL=C5A4GCMN.js.map
36
+ //# sourceMappingURL=S2BOAXZX.js.map
37
+ //# sourceMappingURL=S2BOAXZX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/address.ts"],"names":["hexSchema","z","string","refine","data","startsWith","normalizedHexSchema","length","toLowerCase","hexPart","slice","test","normalizeHex","address","body","replace","trimmed","sortNormalizedHex","hexStrings","sort","a","b","BigInt","toString","NORMALIZED_HEX_ZERO"],"mappings":";;;AAMO,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;AAEA,EAAA,MAAMK,OAAAA,GAAUL,IAAAA,CAAKM,KAAAA,CAAM,CAAA,CAAA;AAC3B,EAAA,IAAI,CAAC,aAAA,CAAcC,IAAAA,CAAKF,OAAAA,CAAAA,EAAU;AAC9B,IAAA,OAAO,KAAA;AACX,EAAA;AACA,EAAA,OAAO,IAAA;AACX,CAAA;AAEO,IAAMG,YAAAA,2BAAgBC,OAAAA,KAAAA;AAEzB,EAAA,MAAMC,OAAOD,OAAAA,CAAQH,KAAAA,CAAM,CAAA,CAAA,CAAGK,OAAAA,CAAQ,OAAO,EAAA,CAAA;AAE7C,EAAA,MAAMC,OAAAA,GAAU,QAAQF,IAAAA,IAAQ,GAAA,CAAA;AAChC,EAAA,OAAOE,QAAQR,WAAAA,EAAW;AAC9B,CAAA,EAN4B,cAAA;AAQrB,IAAMS,iBAAAA,2BAAqBC,UAAAA,KAC9BA,UAAAA,EAAYC,KAAK,CAACC,CAAAA,EAAGC,MAAOC,MAAAA,CAAOF,CAAAA,CAAEG,UAAQ,CAAA,GAAMD,OAAOD,CAAAA,CAAEE,QAAAA,EAAQ,CAAA,GAAM,CAAA,GAAI,CAAA,GAAI,EAAC,CAAA,EADtD,mBAAA;AAG1B,IAAMC,mBAAAA,GAAsBZ,aAAa,KAAA","file":"S2BOAXZX.js","sourcesContent":["import z from 'zod/v4';\n\nimport type { HexString, NormalizedHexString } from '@layerzerolabs/typescript-utils';\n\nexport type { HexString, NormalizedHexString };\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 // normalized hex strings only contain hexadecimal characters\n const hexPart = data.slice(2);\n if (!/^[0-9a-f]+$/.test(hexPart)) {\n return false;\n }\n return true;\n}) as any as z.ZodType<NormalizedHexString>;\n\nexport const normalizeHex = (address: HexString): NormalizedHexString => {\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 NormalizedHexString;\n};\n\nexport const sortNormalizedHex = (hexStrings?: NormalizedHexString[]) =>\n hexStrings?.sort((a, b) => (BigInt(a.toString()) - BigInt(b.toString()) > 0 ? 1 : -1));\n\nexport const NORMALIZED_HEX_ZERO = normalizeHex('0x0');\n"]}
@@ -1,4 +1,4 @@
1
- import { normalizedHexSchema } from './C5A4GCMN.js';
1
+ import { normalizedHexSchema } from './S2BOAXZX.js';
2
2
  import { transactionSchema, transactionResultSchema } from './LE7RUCGA.js';
3
3
  import z from 'zod/v4';
4
4
 
@@ -31,5 +31,5 @@ var multiSigExecutedProposedTransactionSchema = z.object({
31
31
  });
32
32
 
33
33
  export { baseMultiSigDetailsSchema, baseMultiSigTransactionToProposeSchema, multiSigExecutedProposedTransactionSchema, multiSigSignedTransactionToProposeSchema, multiSigTransactionToProposeSchema, offChainMultiSigDetailsSchema, onchainMultiSigDetailsSchema, onchainMultiSigTransactionToProposeSchema };
34
- //# sourceMappingURL=K42K4QSX.js.map
35
- //# sourceMappingURL=K42K4QSX.js.map
34
+ //# sourceMappingURL=TGGXRNRA.js.map
35
+ //# sourceMappingURL=TGGXRNRA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/multiSigTransaction.ts"],"names":["baseMultiSigDetailsSchema","z","object","proposerSenderEntityName","string","multiSigAddress","normalizedHexSchema","baseMultiSigTransactionToProposeSchema","transactionSchema","extend","shape","onchainMultiSigDetailsSchema","onchainMultiSigTransactionToProposeSchema","nonce","number","optional","offChainMultiSigDetailsSchema","multiSigUrl","multiSigApiKey","multiSigTransactionToProposeSchema","multiSigSignedTransactionToProposeSchema","multiSigExecutedProposedTransactionSchema","result","transactionResultSchema"],"mappings":";;;;AAMO,IAAMA,yBAAAA,GAA4BC,EAAEC,MAAAA,CAAO;AAC9CC,EAAAA,wBAAAA,EAA0BF,EAAEG,MAAAA,EAAM;EAClCC,eAAAA,EAAiBC;AACrB,CAAA;AAEO,IAAMC,sCAAAA,GAAyCC,iBAAAA,CAAkBC,MAAAA,CACpET,yBAAAA,CAA0BU,KAAK;AAI5B,IAAMC,4BAAAA,GAA+BX;AAErC,IAAMY,yCAAAA,GAA4CJ,kBAAkBC,MAAAA,CAAO;AAC9E,EAAA,GAAGE,4BAAAA,CAA6BD,KAAAA;EAChCG,KAAAA,EAAOZ,CAAAA,CAAEa,MAAAA,EAAM,CAAGC,QAAAA;AACtB,CAAA;AAEO,IAAMC,6BAAAA,GAAgChB,0BAA0BS,MAAAA,CAAO;;AAE1EQ,EAAAA,WAAAA,EAAahB,EAAEG,MAAAA,EAAM;;EAErBc,cAAAA,EAAgBjB,CAAAA,CAAEG,MAAAA,EAAM,CAAGW,QAAAA;AAC/B,CAAA;AAEO,IAAMI,kCAAAA,GAAqCZ,uCAAuCE,MAAAA,CAAO;AAC5FI,EAAAA,KAAAA,EAAOZ,EAAEa,MAAAA,EAAM;AACf,EAAA,GAAGE,6BAAAA,CAA8BN;AACrC,CAAA;AAEO,IAAMU,wCAAAA,GAA2CnB,EAAEC,MAAAA,CAAO;AAC7D,EAAA,GAAGiB,kCAAAA,CAAmCT;AAC1C,CAAA;AAEO,IAAMW,yCAAAA,GAA4CpB,EAAEC,MAAAA,CAAO;AAC9D,EAAA,GAAGiB,kCAAAA,CAAmCT,KAAAA;EACtCY,MAAAA,EAAQC;AACZ,CAAA","file":"K42K4QSX.js","sourcesContent":["import z from 'zod/v4';\n\nimport { normalizedHexSchema } from './address';\nimport { transactionResultSchema, transactionSchema } from './transaction';\n\n// Used by both onchain and offchain multisig\nexport const baseMultiSigDetailsSchema = z.object({\n proposerSenderEntityName: z.string(),\n multiSigAddress: normalizedHexSchema,\n});\n\nexport const baseMultiSigTransactionToProposeSchema = transactionSchema.extend(\n baseMultiSigDetailsSchema.shape,\n);\n\n// Details that are used on onchain multisig and exist on signer entity\nexport const onchainMultiSigDetailsSchema = baseMultiSigDetailsSchema;\n\nexport const onchainMultiSigTransactionToProposeSchema = transactionSchema.extend({\n ...onchainMultiSigDetailsSchema.shape,\n nonce: z.number().optional(),\n});\n\nexport const offChainMultiSigDetailsSchema = baseMultiSigDetailsSchema.extend({\n // FIXME-TX-SENDER: Find a way to allow a custom url by chain using a placeholder\n multiSigUrl: z.string(),\n // FIXME-TX-SENDER: allow passing by env var.\n multiSigApiKey: z.string().optional(),\n});\n\nexport const multiSigTransactionToProposeSchema = baseMultiSigTransactionToProposeSchema.extend({\n nonce: z.number(),\n ...offChainMultiSigDetailsSchema.shape,\n});\n\nexport const multiSigSignedTransactionToProposeSchema = z.object({\n ...multiSigTransactionToProposeSchema.shape,\n});\n\nexport const multiSigExecutedProposedTransactionSchema = z.object({\n ...multiSigTransactionToProposeSchema.shape,\n result: transactionResultSchema,\n});\n\nexport type BaseMultiSigDetails = z.infer<typeof baseMultiSigDetailsSchema>;\n\nexport type OnchainMultiSigDetails = z.infer<typeof onchainMultiSigDetailsSchema>;\nexport type OnChainMultiSigTransactionToPropose = z.infer<\n typeof onchainMultiSigTransactionToProposeSchema\n>;\nexport type OffchainMultiSigDetails = z.infer<typeof offChainMultiSigDetailsSchema>;\nexport type OnchainMultiSigTransactionToPropose = z.infer<\n typeof onchainMultiSigTransactionToProposeSchema\n>;\nexport type MultiSigTransactionToPropose = z.infer<typeof multiSigTransactionToProposeSchema>;\nexport type MultiSigSignedTransactionToPropose = z.infer<\n typeof multiSigSignedTransactionToProposeSchema\n>;\nexport type MultiSigExecutedProposedTransaction = z.infer<\n typeof multiSigExecutedProposedTransactionSchema\n>;\n"]}
1
+ {"version":3,"sources":["../src/multiSigTransaction.ts"],"names":["baseMultiSigDetailsSchema","z","object","proposerSenderEntityName","string","multiSigAddress","normalizedHexSchema","baseMultiSigTransactionToProposeSchema","transactionSchema","extend","shape","onchainMultiSigDetailsSchema","onchainMultiSigTransactionToProposeSchema","nonce","number","optional","offChainMultiSigDetailsSchema","multiSigUrl","multiSigApiKey","multiSigTransactionToProposeSchema","multiSigSignedTransactionToProposeSchema","multiSigExecutedProposedTransactionSchema","result","transactionResultSchema"],"mappings":";;;;AAMO,IAAMA,yBAAAA,GAA4BC,EAAEC,MAAAA,CAAO;AAC9CC,EAAAA,wBAAAA,EAA0BF,EAAEG,MAAAA,EAAM;EAClCC,eAAAA,EAAiBC;AACrB,CAAA;AAEO,IAAMC,sCAAAA,GAAyCC,iBAAAA,CAAkBC,MAAAA,CACpET,yBAAAA,CAA0BU,KAAK;AAI5B,IAAMC,4BAAAA,GAA+BX;AAErC,IAAMY,yCAAAA,GAA4CJ,kBAAkBC,MAAAA,CAAO;AAC9E,EAAA,GAAGE,4BAAAA,CAA6BD,KAAAA;EAChCG,KAAAA,EAAOZ,CAAAA,CAAEa,MAAAA,EAAM,CAAGC,QAAAA;AACtB,CAAA;AAEO,IAAMC,6BAAAA,GAAgChB,0BAA0BS,MAAAA,CAAO;;AAE1EQ,EAAAA,WAAAA,EAAahB,EAAEG,MAAAA,EAAM;;EAErBc,cAAAA,EAAgBjB,CAAAA,CAAEG,MAAAA,EAAM,CAAGW,QAAAA;AAC/B,CAAA;AAEO,IAAMI,kCAAAA,GAAqCZ,uCAAuCE,MAAAA,CAAO;AAC5FI,EAAAA,KAAAA,EAAOZ,EAAEa,MAAAA,EAAM;AACf,EAAA,GAAGE,6BAAAA,CAA8BN;AACrC,CAAA;AAEO,IAAMU,wCAAAA,GAA2CnB,EAAEC,MAAAA,CAAO;AAC7D,EAAA,GAAGiB,kCAAAA,CAAmCT;AAC1C,CAAA;AAEO,IAAMW,yCAAAA,GAA4CpB,EAAEC,MAAAA,CAAO;AAC9D,EAAA,GAAGiB,kCAAAA,CAAmCT,KAAAA;EACtCY,MAAAA,EAAQC;AACZ,CAAA","file":"TGGXRNRA.js","sourcesContent":["import z from 'zod/v4';\n\nimport { normalizedHexSchema } from './address';\nimport { transactionResultSchema, transactionSchema } from './transaction';\n\n// Used by both onchain and offchain multisig\nexport const baseMultiSigDetailsSchema = z.object({\n proposerSenderEntityName: z.string(),\n multiSigAddress: normalizedHexSchema,\n});\n\nexport const baseMultiSigTransactionToProposeSchema = transactionSchema.extend(\n baseMultiSigDetailsSchema.shape,\n);\n\n// Details that are used on onchain multisig and exist on signer entity\nexport const onchainMultiSigDetailsSchema = baseMultiSigDetailsSchema;\n\nexport const onchainMultiSigTransactionToProposeSchema = transactionSchema.extend({\n ...onchainMultiSigDetailsSchema.shape,\n nonce: z.number().optional(),\n});\n\nexport const offChainMultiSigDetailsSchema = baseMultiSigDetailsSchema.extend({\n // FIXME-TX-SENDER: Find a way to allow a custom url by chain using a placeholder\n multiSigUrl: z.string(),\n // FIXME-TX-SENDER: allow passing by env var.\n multiSigApiKey: z.string().optional(),\n});\n\nexport const multiSigTransactionToProposeSchema = baseMultiSigTransactionToProposeSchema.extend({\n nonce: z.number(),\n ...offChainMultiSigDetailsSchema.shape,\n});\n\nexport const multiSigSignedTransactionToProposeSchema = z.object({\n ...multiSigTransactionToProposeSchema.shape,\n});\n\nexport const multiSigExecutedProposedTransactionSchema = z.object({\n ...multiSigTransactionToProposeSchema.shape,\n result: transactionResultSchema,\n});\n\nexport type BaseMultiSigDetails = z.infer<typeof baseMultiSigDetailsSchema>;\n\nexport type OnchainMultiSigDetails = z.infer<typeof onchainMultiSigDetailsSchema>;\nexport type OnChainMultiSigTransactionToPropose = z.infer<\n typeof onchainMultiSigTransactionToProposeSchema\n>;\nexport type OffchainMultiSigDetails = z.infer<typeof offChainMultiSigDetailsSchema>;\nexport type OnchainMultiSigTransactionToPropose = z.infer<\n typeof onchainMultiSigTransactionToProposeSchema\n>;\nexport type MultiSigTransactionToPropose = z.infer<typeof multiSigTransactionToProposeSchema>;\nexport type MultiSigSignedTransactionToPropose = z.infer<\n typeof multiSigSignedTransactionToProposeSchema\n>;\nexport type MultiSigExecutedProposedTransaction = z.infer<\n typeof multiSigExecutedProposedTransactionSchema\n>;\n"]}
package/dist/address.cjs CHANGED
@@ -1,29 +1,29 @@
1
1
  'use strict';
2
2
 
3
- var HEXKO45W_cjs = require('./HEXKO45W.cjs');
3
+ var PXR7GDY4_cjs = require('./PXR7GDY4.cjs');
4
4
  require('./YJF4D23A.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "NORMALIZED_HEX_ZERO", {
9
9
  enumerable: true,
10
- get: function () { return HEXKO45W_cjs.NORMALIZED_HEX_ZERO; }
10
+ get: function () { return PXR7GDY4_cjs.NORMALIZED_HEX_ZERO; }
11
11
  });
12
12
  Object.defineProperty(exports, "hexSchema", {
13
13
  enumerable: true,
14
- get: function () { return HEXKO45W_cjs.hexSchema; }
14
+ get: function () { return PXR7GDY4_cjs.hexSchema; }
15
15
  });
16
16
  Object.defineProperty(exports, "normalizeHex", {
17
17
  enumerable: true,
18
- get: function () { return HEXKO45W_cjs.normalizeHex; }
18
+ get: function () { return PXR7GDY4_cjs.normalizeHex; }
19
19
  });
20
20
  Object.defineProperty(exports, "normalizedHexSchema", {
21
21
  enumerable: true,
22
- get: function () { return HEXKO45W_cjs.normalizedHexSchema; }
22
+ get: function () { return PXR7GDY4_cjs.normalizedHexSchema; }
23
23
  });
24
24
  Object.defineProperty(exports, "sortNormalizedHex", {
25
25
  enumerable: true,
26
- get: function () { return HEXKO45W_cjs.sortNormalizedHex; }
26
+ get: function () { return PXR7GDY4_cjs.sortNormalizedHex; }
27
27
  });
28
28
  //# sourceMappingURL=address.cjs.map
29
29
  //# sourceMappingURL=address.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;AAE/C,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,YAAY,GAAI,SAAS,SAAS,KAAG,mBAMjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,aAAa,mBAAmB,EAAE,sCACsB,CAAC;AAE3F,eAAO,MAAM,mBAAmB,qBAAsB,CAAC"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;AAE/C,eAAO,MAAM,SAAS,EAEsD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEjG,eAAO,MAAM,mBAAmB,EA2BnB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE5C,eAAO,MAAM,YAAY,GAAI,SAAS,SAAS,KAAG,mBAMjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,aAAa,mBAAmB,EAAE,sCACsB,CAAC;AAE3F,eAAO,MAAM,mBAAmB,qBAAsB,CAAC"}
package/dist/address.js CHANGED
@@ -1,4 +1,4 @@
1
- export { NORMALIZED_HEX_ZERO, hexSchema, normalizeHex, normalizedHexSchema, sortNormalizedHex } from './C5A4GCMN.js';
1
+ export { NORMALIZED_HEX_ZERO, hexSchema, normalizeHex, normalizedHexSchema, sortNormalizedHex } from './S2BOAXZX.js';
2
2
  import './VUOMXK5T.js';
3
3
  //# sourceMappingURL=address.js.map
4
4
  //# sourceMappingURL=address.js.map
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var _2J25PZ2O_cjs = require('./2J25PZ2O.cjs');
4
- var VEKC7IOY_cjs = require('./VEKC7IOY.cjs');
5
- var HEXKO45W_cjs = require('./HEXKO45W.cjs');
4
+ var P66GWYCA_cjs = require('./P66GWYCA.cjs');
5
+ var PXR7GDY4_cjs = require('./PXR7GDY4.cjs');
6
6
  var IJHPYPIU_cjs = require('./IJHPYPIU.cjs');
7
7
  require('./YJF4D23A.cjs');
8
8
 
@@ -18,55 +18,55 @@ Object.defineProperty(exports, "decimalStringSchema", {
18
18
  });
19
19
  Object.defineProperty(exports, "baseMultiSigDetailsSchema", {
20
20
  enumerable: true,
21
- get: function () { return VEKC7IOY_cjs.baseMultiSigDetailsSchema; }
21
+ get: function () { return P66GWYCA_cjs.baseMultiSigDetailsSchema; }
22
22
  });
23
23
  Object.defineProperty(exports, "baseMultiSigTransactionToProposeSchema", {
24
24
  enumerable: true,
25
- get: function () { return VEKC7IOY_cjs.baseMultiSigTransactionToProposeSchema; }
25
+ get: function () { return P66GWYCA_cjs.baseMultiSigTransactionToProposeSchema; }
26
26
  });
27
27
  Object.defineProperty(exports, "multiSigExecutedProposedTransactionSchema", {
28
28
  enumerable: true,
29
- get: function () { return VEKC7IOY_cjs.multiSigExecutedProposedTransactionSchema; }
29
+ get: function () { return P66GWYCA_cjs.multiSigExecutedProposedTransactionSchema; }
30
30
  });
31
31
  Object.defineProperty(exports, "multiSigSignedTransactionToProposeSchema", {
32
32
  enumerable: true,
33
- get: function () { return VEKC7IOY_cjs.multiSigSignedTransactionToProposeSchema; }
33
+ get: function () { return P66GWYCA_cjs.multiSigSignedTransactionToProposeSchema; }
34
34
  });
35
35
  Object.defineProperty(exports, "multiSigTransactionToProposeSchema", {
36
36
  enumerable: true,
37
- get: function () { return VEKC7IOY_cjs.multiSigTransactionToProposeSchema; }
37
+ get: function () { return P66GWYCA_cjs.multiSigTransactionToProposeSchema; }
38
38
  });
39
39
  Object.defineProperty(exports, "offChainMultiSigDetailsSchema", {
40
40
  enumerable: true,
41
- get: function () { return VEKC7IOY_cjs.offChainMultiSigDetailsSchema; }
41
+ get: function () { return P66GWYCA_cjs.offChainMultiSigDetailsSchema; }
42
42
  });
43
43
  Object.defineProperty(exports, "onchainMultiSigDetailsSchema", {
44
44
  enumerable: true,
45
- get: function () { return VEKC7IOY_cjs.onchainMultiSigDetailsSchema; }
45
+ get: function () { return P66GWYCA_cjs.onchainMultiSigDetailsSchema; }
46
46
  });
47
47
  Object.defineProperty(exports, "onchainMultiSigTransactionToProposeSchema", {
48
48
  enumerable: true,
49
- get: function () { return VEKC7IOY_cjs.onchainMultiSigTransactionToProposeSchema; }
49
+ get: function () { return P66GWYCA_cjs.onchainMultiSigTransactionToProposeSchema; }
50
50
  });
51
51
  Object.defineProperty(exports, "NORMALIZED_HEX_ZERO", {
52
52
  enumerable: true,
53
- get: function () { return HEXKO45W_cjs.NORMALIZED_HEX_ZERO; }
53
+ get: function () { return PXR7GDY4_cjs.NORMALIZED_HEX_ZERO; }
54
54
  });
55
55
  Object.defineProperty(exports, "hexSchema", {
56
56
  enumerable: true,
57
- get: function () { return HEXKO45W_cjs.hexSchema; }
57
+ get: function () { return PXR7GDY4_cjs.hexSchema; }
58
58
  });
59
59
  Object.defineProperty(exports, "normalizeHex", {
60
60
  enumerable: true,
61
- get: function () { return HEXKO45W_cjs.normalizeHex; }
61
+ get: function () { return PXR7GDY4_cjs.normalizeHex; }
62
62
  });
63
63
  Object.defineProperty(exports, "normalizedHexSchema", {
64
64
  enumerable: true,
65
- get: function () { return HEXKO45W_cjs.normalizedHexSchema; }
65
+ get: function () { return PXR7GDY4_cjs.normalizedHexSchema; }
66
66
  });
67
67
  Object.defineProperty(exports, "sortNormalizedHex", {
68
68
  enumerable: true,
69
- get: function () { return HEXKO45W_cjs.sortNormalizedHex; }
69
+ get: function () { return PXR7GDY4_cjs.sortNormalizedHex; }
70
70
  });
71
71
  Object.defineProperty(exports, "assignedTransactionSchema", {
72
72
  enumerable: true,
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { decimalString, decimalStringSchema } from './4K6BY5DZ.js';
2
- export { baseMultiSigDetailsSchema, baseMultiSigTransactionToProposeSchema, multiSigExecutedProposedTransactionSchema, multiSigSignedTransactionToProposeSchema, multiSigTransactionToProposeSchema, offChainMultiSigDetailsSchema, onchainMultiSigDetailsSchema, onchainMultiSigTransactionToProposeSchema } from './K42K4QSX.js';
3
- export { NORMALIZED_HEX_ZERO, hexSchema, normalizeHex, normalizedHexSchema, sortNormalizedHex } from './C5A4GCMN.js';
2
+ export { baseMultiSigDetailsSchema, baseMultiSigTransactionToProposeSchema, multiSigExecutedProposedTransactionSchema, multiSigSignedTransactionToProposeSchema, multiSigTransactionToProposeSchema, offChainMultiSigDetailsSchema, onchainMultiSigDetailsSchema, onchainMultiSigTransactionToProposeSchema } from './TGGXRNRA.js';
3
+ export { NORMALIZED_HEX_ZERO, hexSchema, normalizeHex, normalizedHexSchema, sortNormalizedHex } from './S2BOAXZX.js';
4
4
  export { assignedTransactionSchema, buildTransactionWithResultSchema, minedTransactionSchema, signedTransactionSchema, transactionMetadataTimestamps, transactionResultSchema, transactionSchema, transactionWithResultSchema } from './LE7RUCGA.js';
5
5
  import './VUOMXK5T.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var VEKC7IOY_cjs = require('./VEKC7IOY.cjs');
4
- require('./HEXKO45W.cjs');
3
+ var P66GWYCA_cjs = require('./P66GWYCA.cjs');
4
+ require('./PXR7GDY4.cjs');
5
5
  require('./IJHPYPIU.cjs');
6
6
  require('./YJF4D23A.cjs');
7
7
 
@@ -9,35 +9,35 @@ require('./YJF4D23A.cjs');
9
9
 
10
10
  Object.defineProperty(exports, "baseMultiSigDetailsSchema", {
11
11
  enumerable: true,
12
- get: function () { return VEKC7IOY_cjs.baseMultiSigDetailsSchema; }
12
+ get: function () { return P66GWYCA_cjs.baseMultiSigDetailsSchema; }
13
13
  });
14
14
  Object.defineProperty(exports, "baseMultiSigTransactionToProposeSchema", {
15
15
  enumerable: true,
16
- get: function () { return VEKC7IOY_cjs.baseMultiSigTransactionToProposeSchema; }
16
+ get: function () { return P66GWYCA_cjs.baseMultiSigTransactionToProposeSchema; }
17
17
  });
18
18
  Object.defineProperty(exports, "multiSigExecutedProposedTransactionSchema", {
19
19
  enumerable: true,
20
- get: function () { return VEKC7IOY_cjs.multiSigExecutedProposedTransactionSchema; }
20
+ get: function () { return P66GWYCA_cjs.multiSigExecutedProposedTransactionSchema; }
21
21
  });
22
22
  Object.defineProperty(exports, "multiSigSignedTransactionToProposeSchema", {
23
23
  enumerable: true,
24
- get: function () { return VEKC7IOY_cjs.multiSigSignedTransactionToProposeSchema; }
24
+ get: function () { return P66GWYCA_cjs.multiSigSignedTransactionToProposeSchema; }
25
25
  });
26
26
  Object.defineProperty(exports, "multiSigTransactionToProposeSchema", {
27
27
  enumerable: true,
28
- get: function () { return VEKC7IOY_cjs.multiSigTransactionToProposeSchema; }
28
+ get: function () { return P66GWYCA_cjs.multiSigTransactionToProposeSchema; }
29
29
  });
30
30
  Object.defineProperty(exports, "offChainMultiSigDetailsSchema", {
31
31
  enumerable: true,
32
- get: function () { return VEKC7IOY_cjs.offChainMultiSigDetailsSchema; }
32
+ get: function () { return P66GWYCA_cjs.offChainMultiSigDetailsSchema; }
33
33
  });
34
34
  Object.defineProperty(exports, "onchainMultiSigDetailsSchema", {
35
35
  enumerable: true,
36
- get: function () { return VEKC7IOY_cjs.onchainMultiSigDetailsSchema; }
36
+ get: function () { return P66GWYCA_cjs.onchainMultiSigDetailsSchema; }
37
37
  });
38
38
  Object.defineProperty(exports, "onchainMultiSigTransactionToProposeSchema", {
39
39
  enumerable: true,
40
- get: function () { return VEKC7IOY_cjs.onchainMultiSigTransactionToProposeSchema; }
40
+ get: function () { return P66GWYCA_cjs.onchainMultiSigTransactionToProposeSchema; }
41
41
  });
42
42
  //# sourceMappingURL=multiSigTransaction.cjs.map
43
43
  //# sourceMappingURL=multiSigTransaction.cjs.map
@@ -1,5 +1,5 @@
1
- export { baseMultiSigDetailsSchema, baseMultiSigTransactionToProposeSchema, multiSigExecutedProposedTransactionSchema, multiSigSignedTransactionToProposeSchema, multiSigTransactionToProposeSchema, offChainMultiSigDetailsSchema, onchainMultiSigDetailsSchema, onchainMultiSigTransactionToProposeSchema } from './K42K4QSX.js';
2
- import './C5A4GCMN.js';
1
+ export { baseMultiSigDetailsSchema, baseMultiSigTransactionToProposeSchema, multiSigExecutedProposedTransactionSchema, multiSigSignedTransactionToProposeSchema, multiSigTransactionToProposeSchema, offChainMultiSigDetailsSchema, onchainMultiSigDetailsSchema, onchainMultiSigTransactionToProposeSchema } from './TGGXRNRA.js';
2
+ import './S2BOAXZX.js';
3
3
  import './LE7RUCGA.js';
4
4
  import './VUOMXK5T.js';
5
5
  //# sourceMappingURL=multiSigTransaction.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/common-chain-model",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -15,13 +15,13 @@
15
15
  "types": "./dist/index.d.ts",
16
16
  "dependencies": {
17
17
  "zod": "3.25.56",
18
- "@layerzerolabs/typescript-utils": "0.2.7"
18
+ "@layerzerolabs/typescript-utils": "0.2.9"
19
19
  },
20
20
  "devDependencies": {
21
21
  "tsup": "^8.4.0",
22
22
  "vitest": "^3.2.3",
23
- "@layerzerolabs/tsup-configuration": "0.2.7",
24
- "@layerzerolabs/typescript-configuration": "0.2.7"
23
+ "@layerzerolabs/typescript-configuration": "0.2.9",
24
+ "@layerzerolabs/tsup-configuration": "0.2.9"
25
25
  },
26
26
  "publishConfig": {
27
27
  "access": "restricted",
@@ -29,7 +29,6 @@
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsup",
32
- "clean": "rm -rf ./node_modules .turbo ./dist",
33
32
  "lint": "eslint . --max-warnings 0 || (eslint . --fix --max-warnings 0 && false)",
34
33
  "test": "vitest --run --pass-with-no-tests --typecheck"
35
34
  }
package/src/address.ts CHANGED
@@ -29,6 +29,11 @@ export const normalizedHexSchema = z.string().refine((data) => {
29
29
  if (data.toLowerCase() !== data) {
30
30
  return false;
31
31
  }
32
+ // normalized hex strings only contain hexadecimal characters
33
+ const hexPart = data.slice(2);
34
+ if (!/^[0-9a-f]+$/.test(hexPart)) {
35
+ return false;
36
+ }
32
37
  return true;
33
38
  }) as any as z.ZodType<NormalizedHexString>;
34
39
 
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/address.ts"],"names":["hexSchema","z","string","refine","data","startsWith","normalizedHexSchema","length","toLowerCase","normalizeHex","address","body","slice","replace","trimmed","sortNormalizedHex","hexStrings","sort","a","b","BigInt","toString","NORMALIZED_HEX_ZERO"],"mappings":";;;AAMO,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,YAAAA,2BAAgBC,OAAAA,KAAAA;AAEzB,EAAA,MAAMC,OAAOD,OAAAA,CAAQE,KAAAA,CAAM,CAAA,CAAA,CAAGC,OAAAA,CAAQ,OAAO,EAAA,CAAA;AAE7C,EAAA,MAAMC,OAAAA,GAAU,QAAQH,IAAAA,IAAQ,GAAA,CAAA;AAChC,EAAA,OAAOG,QAAQN,WAAAA,EAAW;AAC9B,CAAA,EAN4B,cAAA;AAQrB,IAAMO,iBAAAA,2BAAqBC,UAAAA,KAC9BA,UAAAA,EAAYC,KAAK,CAACC,CAAAA,EAAGC,MAAOC,MAAAA,CAAOF,CAAAA,CAAEG,UAAQ,CAAA,GAAMD,OAAOD,CAAAA,CAAEE,QAAAA,EAAQ,CAAA,GAAM,CAAA,GAAI,CAAA,GAAI,EAAC,CAAA,EADtD,mBAAA;AAG1B,IAAMC,mBAAAA,GAAsBb,aAAa,KAAA","file":"C5A4GCMN.js","sourcesContent":["import z from 'zod/v4';\n\nimport type { HexString, NormalizedHexString } from '@layerzerolabs/typescript-utils';\n\nexport type { HexString, NormalizedHexString };\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 normalizeHex = (address: HexString): NormalizedHexString => {\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 NormalizedHexString;\n};\n\nexport const sortNormalizedHex = (hexStrings?: NormalizedHexString[]) =>\n hexStrings?.sort((a, b) => (BigInt(a.toString()) - BigInt(b.toString()) > 0 ? 1 : -1));\n\nexport const NORMALIZED_HEX_ZERO = normalizeHex('0x0');\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/address.ts"],"names":["hexSchema","z","string","refine","data","startsWith","normalizedHexSchema","length","toLowerCase","normalizeHex","address","body","slice","replace","trimmed","sortNormalizedHex","hexStrings","sort","a","b","BigInt","toString","NORMALIZED_HEX_ZERO"],"mappings":";;;;;;;;;AAMO,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,YAAAA,wCAAgBC,OAAAA,KAAAA;AAEzB,EAAA,MAAMC,OAAOD,OAAAA,CAAQE,KAAAA,CAAM,CAAA,CAAA,CAAGC,OAAAA,CAAQ,OAAO,EAAA,CAAA;AAE7C,EAAA,MAAMC,OAAAA,GAAU,QAAQH,IAAAA,IAAQ,GAAA,CAAA;AAChC,EAAA,OAAOG,QAAQN,WAAAA,EAAW;AAC9B,CAAA,EAN4B,cAAA;AAQrB,IAAMO,iBAAAA,wCAAqBC,UAAAA,KAC9BA,UAAAA,EAAYC,KAAK,CAACC,CAAAA,EAAGC,MAAOC,MAAAA,CAAOF,CAAAA,CAAEG,UAAQ,CAAA,GAAMD,OAAOD,CAAAA,CAAEE,QAAAA,EAAQ,CAAA,GAAM,CAAA,GAAI,CAAA,GAAI,EAAC,CAAA,EADtD,mBAAA;AAG1B,IAAMC,mBAAAA,GAAsBb,aAAa,KAAA","file":"HEXKO45W.cjs","sourcesContent":["import z from 'zod/v4';\n\nimport type { HexString, NormalizedHexString } from '@layerzerolabs/typescript-utils';\n\nexport type { HexString, NormalizedHexString };\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 normalizeHex = (address: HexString): NormalizedHexString => {\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 NormalizedHexString;\n};\n\nexport const sortNormalizedHex = (hexStrings?: NormalizedHexString[]) =>\n hexStrings?.sort((a, b) => (BigInt(a.toString()) - BigInt(b.toString()) > 0 ? 1 : -1));\n\nexport const NORMALIZED_HEX_ZERO = normalizeHex('0x0');\n"]}