@totemsdk/core 1.2.5 → 1.2.7

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.
Files changed (127) hide show
  1. package/dist/MiniNumber.js +19 -21
  2. package/dist/Streamable.js +31 -54
  3. package/dist/adapters/index.js +9 -18
  4. package/dist/adapters/types.js +11 -19
  5. package/dist/binio.js +7 -20
  6. package/dist/bip39.js +14 -24
  7. package/dist/canonical.d.ts +3 -0
  8. package/dist/canonical.js +22 -0
  9. package/dist/cjs/MiniNumber.d.ts +47 -0
  10. package/dist/cjs/MiniNumber.js +302 -0
  11. package/dist/cjs/Streamable.d.ts +268 -0
  12. package/dist/cjs/Streamable.js +439 -0
  13. package/dist/cjs/adapters/index.d.ts +190 -0
  14. package/dist/cjs/adapters/index.js +118 -0
  15. package/dist/cjs/adapters/types.d.ts +150 -0
  16. package/dist/cjs/adapters/types.js +81 -0
  17. package/dist/cjs/binio.d.ts +9 -0
  18. package/dist/cjs/binio.js +25 -0
  19. package/dist/cjs/bip39.d.ts +91 -0
  20. package/dist/cjs/bip39.js +434 -0
  21. package/dist/cjs/canonical.d.ts +3 -0
  22. package/dist/cjs/canonical.js +27 -0
  23. package/dist/cjs/derive.d.ts +2 -0
  24. package/dist/cjs/derive.js +13 -0
  25. package/dist/cjs/index.d.ts +49 -0
  26. package/dist/cjs/index.js +231 -0
  27. package/dist/cjs/javaStreamables.d.ts +254 -0
  28. package/dist/cjs/javaStreamables.js +391 -0
  29. package/dist/cjs/lease/LeaseMonitor.d.ts +44 -0
  30. package/dist/cjs/lease/LeaseMonitor.js +115 -0
  31. package/dist/cjs/lease/LeaseStore.d.ts +58 -0
  32. package/dist/cjs/lease/LeaseStore.js +151 -0
  33. package/dist/cjs/lease/WatermarkStore.d.ts +61 -0
  34. package/dist/cjs/lease/WatermarkStore.js +209 -0
  35. package/dist/cjs/lease/index.d.ts +14 -0
  36. package/dist/cjs/lease/index.js +22 -0
  37. package/dist/cjs/lease-client.d.ts +31 -0
  38. package/dist/cjs/lease-client.js +44 -0
  39. package/dist/cjs/legacy.d.ts +23 -0
  40. package/dist/cjs/legacy.js +163 -0
  41. package/dist/cjs/minima32.d.ts +18 -0
  42. package/dist/cjs/minima32.js +121 -0
  43. package/dist/cjs/minimaWireSerializer.d.ts +60 -0
  44. package/dist/cjs/minimaWireSerializer.js +77 -0
  45. package/dist/cjs/mmr.d.ts +157 -0
  46. package/dist/cjs/mmr.js +352 -0
  47. package/dist/cjs/mx.d.ts +1 -0
  48. package/dist/cjs/mx.js +10 -0
  49. package/dist/cjs/package.json +1 -0
  50. package/dist/cjs/params.d.ts +29 -0
  51. package/dist/cjs/params.js +20 -0
  52. package/dist/cjs/script.d.ts +7 -0
  53. package/dist/cjs/script.js +27 -0
  54. package/dist/cjs/scripts/contract-helpers.d.ts +252 -0
  55. package/dist/cjs/scripts/contract-helpers.js +407 -0
  56. package/dist/cjs/scripts/dapp-types.d.ts +119 -0
  57. package/dist/cjs/scripts/dapp-types.js +77 -0
  58. package/dist/cjs/scripts/index.d.ts +4 -0
  59. package/dist/cjs/scripts/index.js +38 -0
  60. package/dist/cjs/scripts/types.d.ts +81 -0
  61. package/dist/cjs/scripts/types.js +159 -0
  62. package/dist/cjs/scripts/witness-serializer.d.ts +29 -0
  63. package/dist/cjs/scripts/witness-serializer.js +306 -0
  64. package/dist/cjs/transaction.d.ts +106 -0
  65. package/dist/cjs/transaction.js +293 -0
  66. package/dist/cjs/treekey.d.ts +399 -0
  67. package/dist/cjs/treekey.js +827 -0
  68. package/dist/cjs/tx/TransactionLifecycle.d.ts +55 -0
  69. package/dist/cjs/tx/TransactionLifecycle.js +205 -0
  70. package/dist/cjs/tx/TransactionReceiptStore.d.ts +36 -0
  71. package/dist/cjs/tx/TransactionReceiptStore.js +93 -0
  72. package/dist/cjs/tx/TransactionService.d.ts +50 -0
  73. package/dist/cjs/tx/TransactionService.js +186 -0
  74. package/dist/cjs/tx/index.d.ts +13 -0
  75. package/dist/cjs/tx/index.js +20 -0
  76. package/dist/cjs/tx/types.d.ts +115 -0
  77. package/dist/cjs/tx/types.js +6 -0
  78. package/dist/cjs/util.d.ts +1 -0
  79. package/dist/cjs/util.js +5 -0
  80. package/dist/cjs/utils.d.ts +8 -0
  81. package/dist/cjs/utils.js +42 -0
  82. package/dist/cjs/verify.d.ts +18 -0
  83. package/dist/cjs/verify.js +174 -0
  84. package/dist/cjs/version.d.ts +12 -0
  85. package/dist/cjs/version.js +15 -0
  86. package/dist/cjs/wasm-sync.d.ts +71 -0
  87. package/dist/cjs/wasm-sync.js +97 -0
  88. package/dist/cjs/wots.d.ts +232 -0
  89. package/dist/cjs/wots.js +589 -0
  90. package/dist/derive.js +7 -11
  91. package/dist/index.d.ts +8 -2
  92. package/dist/index.js +50 -143
  93. package/dist/javaStreamables.js +34 -55
  94. package/dist/lease/LeaseMonitor.js +10 -10
  95. package/dist/lease/LeaseStore.js +8 -9
  96. package/dist/lease/WatermarkStore.js +8 -9
  97. package/dist/lease/index.js +4 -13
  98. package/dist/lease-client.js +3 -8
  99. package/dist/legacy.js +13 -140
  100. package/dist/minima32.js +13 -22
  101. package/dist/minimaWireSerializer.js +14 -20
  102. package/dist/mmr.js +27 -41
  103. package/dist/mx.js +1 -10
  104. package/dist/params.js +5 -9
  105. package/dist/script.js +7 -12
  106. package/dist/scripts/contract-helpers.js +25 -36
  107. package/dist/scripts/dapp-types.js +6 -11
  108. package/dist/scripts/index.js +4 -38
  109. package/dist/scripts/types.js +12 -26
  110. package/dist/scripts/witness-serializer.js +30 -48
  111. package/dist/transaction.js +46 -55
  112. package/dist/treekey.js +96 -89
  113. package/dist/tx/TransactionLifecycle.js +15 -11
  114. package/dist/tx/TransactionReceiptStore.js +9 -9
  115. package/dist/tx/TransactionService.js +14 -14
  116. package/dist/tx/index.js +3 -11
  117. package/dist/tx/types.js +1 -2
  118. package/dist/util.js +1 -5
  119. package/dist/utils.js +5 -12
  120. package/dist/verify.js +25 -36
  121. package/dist/version.js +2 -5
  122. package/dist/wasm-sync.d.ts +2 -2
  123. package/dist/wasm-sync.js +58 -61
  124. package/dist/wots.js +64 -94
  125. package/package.json +84 -45
  126. package/dist/wasm-bridge.d.ts +0 -54
  127. package/dist/wasm-bridge.js +0 -303
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * @module @totemsdk/core
4
3
  * Core cryptographic primitives, adapters, and utilities for Minima blockchain.
@@ -6,181 +5,89 @@
6
5
  * Cryptographic primitives are backed by Rust/WASM (@totemsdk/core-wasm).
7
6
  * Legacy JS implementations are available at @totemsdk/core/legacy.
8
7
  */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
- };
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.validateChallenge = exports.createChallenge = exports.timingSafeEqual = exports.computeTransactionDigest = exports.serializeTransaction = exports.wotsAddressFromKeypair = exports.parseMxAddress = exports.makeMxAddress = exports.cleanSeedPhrase = exports.validatePhrase = exports.generateWordList = exports.phraseToSeed = exports.verifyMMRProof = exports.mmrRootFromPublicKeys = exports.verifyTreeSignature = exports.deriveUnifiedAddressPublicKey = exports.createUnifiedRootTreeKey = exports.createUnifiedChildTreeKey = exports.precomputeTransactionCoinID = exports.writeMiniString = exports.writeMiniData = exports.writeMiniNumber = exports.deriveRootPrivSeed = exports.derivePerAddressSeed = exports.deriveChainSeedJava = exports.wotsKeypairFromSeed = exports.wotsPublicKeyFromSeed = exports.wotsPkFromSig = exports.wotsVerifyDigest = exports.wotsVerify = exports.wotsSign = exports.deriveFullPublicKey = exports.derivePKdigest = exports.hashChain = exports.expandPrivateKey = exports.sha3_256 = exports.concatBytes = exports.hexToBytes = exports.bytesToHex = exports.TransactionReceiptStore = exports.WatermarkExhaustedError = exports.TransactionLifecycleError = exports.TransactionLifecycle = exports.TransactionService = exports.flatIndexFromLanes = exports.finalizeLease = exports.prepareLease = exports.LeaseMonitor = exports.WatermarkStore = exports.LeaseStore = void 0;
25
- exports.MINIMA_CONSTANTS = exports.createPerAddressTreeKeyAsync = exports.createPerAddressTreeKey = exports.createUnifiedChildTreeKeyAsync = exports.DEFAULT_LEVELS = exports.DEFAULT_KEYS_PER_LEVEL = exports.getRootPublicKey = exports.deserializeTreeSignature = exports.serializeTreeSignature = exports.TreeKeyNode = exports.TreeKey = exports.serializeMMREntry = exports.serializeMMRData = exports.serializeMMREntryNumber = exports.createMMREntryNumber = exports.deriveUnifiedChildSeed = exports.indexToMiniDataBytes = exports.javaHashAllObjects = exports.writeHashToStream = exports.serializeMiniNumberONE = exports.serializeMiniNumberZERO = exports.hashObject = exports.deriveChildTreeSeedJava = exports.hashAllObjects = exports.serializeMiniData = exports.serializeMiniNumber = exports.bigIntToByteArray = exports.concat = exports.writeMMREntryNumber = exports.writeMiniByte = exports.normalizeHex = exports.deriveAddressFromPublicKey = exports.verifyTreeSignatureDetailed = exports.verifySignatureDetailed = exports.verifySignature = exports.buildMinimaCoin = exports.createDefaultTransaction = exports.serializeCoin = exports.parseDecimalToMiniNumber = exports.MiniNumber = exports.generateSeedPhrase = exports.convertWordListToSeed = exports.convertStringToSeed = exports.WORD_LIST = exports.addressToRoot = exports.scriptToAddress = exports.decodeMx = exports.encodeMx = exports.scriptFromWotsPk = void 0;
26
8
  // Version information for bundle duplication detection
27
- __exportStar(require("./version.js"), exports);
9
+ export * from './version.js';
28
10
  // Platform-agnostic Adapters (SDK Upgrade)
29
- __exportStar(require("./adapters/index.js"), exports);
11
+ export * from './adapters/index.js';
30
12
  // Lease Management (SDK Upgrade) - exclude conflicting WotsIndices
31
- var index_js_1 = require("./lease/index.js");
32
- Object.defineProperty(exports, "LeaseStore", { enumerable: true, get: function () { return index_js_1.LeaseStore; } });
33
- Object.defineProperty(exports, "WatermarkStore", { enumerable: true, get: function () { return index_js_1.WatermarkStore; } });
34
- Object.defineProperty(exports, "LeaseMonitor", { enumerable: true, get: function () { return index_js_1.LeaseMonitor; } });
35
- Object.defineProperty(exports, "prepareLease", { enumerable: true, get: function () { return index_js_1.prepareLease; } });
36
- Object.defineProperty(exports, "finalizeLease", { enumerable: true, get: function () { return index_js_1.finalizeLease; } });
37
- Object.defineProperty(exports, "flatIndexFromLanes", { enumerable: true, get: function () { return index_js_1.flatIndexFromLanes; } });
13
+ export { LeaseStore, WatermarkStore, LeaseMonitor, prepareLease, finalizeLease, flatIndexFromLanes, } from './lease/index.js';
38
14
  // Transaction Management (SDK Upgrade) - exclude conflicting WotsIndices
39
- var index_js_2 = require("./tx/index.js");
40
- Object.defineProperty(exports, "TransactionService", { enumerable: true, get: function () { return index_js_2.TransactionService; } });
41
- Object.defineProperty(exports, "TransactionLifecycle", { enumerable: true, get: function () { return index_js_2.TransactionLifecycle; } });
42
- Object.defineProperty(exports, "TransactionLifecycleError", { enumerable: true, get: function () { return index_js_2.TransactionLifecycleError; } });
43
- Object.defineProperty(exports, "WatermarkExhaustedError", { enumerable: true, get: function () { return index_js_2.WatermarkExhaustedError; } });
44
- Object.defineProperty(exports, "TransactionReceiptStore", { enumerable: true, get: function () { return index_js_2.TransactionReceiptStore; } });
15
+ export { TransactionService, TransactionLifecycle, TransactionLifecycleError, WatermarkExhaustedError, TransactionReceiptStore, } from './tx/index.js';
45
16
  // ---------------------------------------------------------------------------
46
17
  // Cryptographic primitives — backed by Rust/WASM (@totemsdk/core-wasm)
47
18
  // ---------------------------------------------------------------------------
48
19
  // Utilities
49
- var wasm_sync_js_1 = require("./wasm-sync.js");
50
- Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return wasm_sync_js_1.bytesToHex; } });
51
- Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return wasm_sync_js_1.hexToBytes; } });
52
- Object.defineProperty(exports, "concatBytes", { enumerable: true, get: function () { return wasm_sync_js_1.concatBytes; } });
20
+ export { bytesToHex, hexToBytes, concatBytes } from './wasm-sync.js';
21
+ import { bytesToHex, parseMxAddress } from './wasm-sync.js';
53
22
  // SHA3-256
54
- var wasm_sync_js_2 = require("./wasm-sync.js");
55
- Object.defineProperty(exports, "sha3_256", { enumerable: true, get: function () { return wasm_sync_js_2.sha3_256; } });
23
+ export { sha3_256 } from './wasm-sync.js';
56
24
  // WOTS Signatures
57
- var wasm_sync_js_3 = require("./wasm-sync.js");
58
- Object.defineProperty(exports, "expandPrivateKey", { enumerable: true, get: function () { return wasm_sync_js_3.expandPrivateKey; } });
59
- Object.defineProperty(exports, "hashChain", { enumerable: true, get: function () { return wasm_sync_js_3.hashChain; } });
60
- Object.defineProperty(exports, "derivePKdigest", { enumerable: true, get: function () { return wasm_sync_js_3.derivePKdigest; } });
61
- Object.defineProperty(exports, "deriveFullPublicKey", { enumerable: true, get: function () { return wasm_sync_js_3.deriveFullPublicKey; } });
62
- Object.defineProperty(exports, "wotsSign", { enumerable: true, get: function () { return wasm_sync_js_3.wotsSign; } });
63
- Object.defineProperty(exports, "wotsVerify", { enumerable: true, get: function () { return wasm_sync_js_3.wotsVerify; } });
64
- Object.defineProperty(exports, "wotsVerifyDigest", { enumerable: true, get: function () { return wasm_sync_js_3.wotsVerifyDigest; } });
65
- Object.defineProperty(exports, "wotsPkFromSig", { enumerable: true, get: function () { return wasm_sync_js_3.wotsPkFromSig; } });
66
- Object.defineProperty(exports, "wotsPublicKeyFromSeed", { enumerable: true, get: function () { return wasm_sync_js_3.wotsPublicKeyFromSeed; } });
67
- Object.defineProperty(exports, "wotsKeypairFromSeed", { enumerable: true, get: function () { return wasm_sync_js_3.wotsKeypairFromSeed; } });
25
+ export { expandPrivateKey, hashChain, derivePKdigest, deriveFullPublicKey, wotsSign, wotsVerify, wotsVerifyDigest, wotsPkFromSig, wotsPublicKeyFromSeed, wotsKeypairFromSeed, } from './wasm-sync.js';
68
26
  // WOTS Params (from params.ts — constants, no crypto)
69
- __exportStar(require("./params.js"), exports);
27
+ export * from './params.js';
70
28
  // Java-Compatible Serialization
71
- var wasm_sync_js_4 = require("./wasm-sync.js");
72
- Object.defineProperty(exports, "deriveChainSeedJava", { enumerable: true, get: function () { return wasm_sync_js_4.deriveChainSeedJava; } });
73
- Object.defineProperty(exports, "derivePerAddressSeed", { enumerable: true, get: function () { return wasm_sync_js_4.derivePerAddressSeed; } });
74
- Object.defineProperty(exports, "deriveRootPrivSeed", { enumerable: true, get: function () { return wasm_sync_js_4.deriveRootPrivSeed; } });
75
- Object.defineProperty(exports, "writeMiniNumber", { enumerable: true, get: function () { return wasm_sync_js_4.writeMiniNumber; } });
76
- Object.defineProperty(exports, "writeMiniData", { enumerable: true, get: function () { return wasm_sync_js_4.writeMiniData; } });
77
- Object.defineProperty(exports, "writeMiniString", { enumerable: true, get: function () { return wasm_sync_js_4.writeMiniString; } });
78
- Object.defineProperty(exports, "precomputeTransactionCoinID", { enumerable: true, get: function () { return wasm_sync_js_4.precomputeTransactionCoinID; } });
29
+ export { deriveChainSeedJava, derivePerAddressSeed, deriveRootPrivSeed, writeMiniNumber, writeMiniData, writeMiniString, precomputeTransactionCoinID, } from './wasm-sync.js';
79
30
  // TreeKey/TreeKeyNode — WASM-backed
80
- var wasm_sync_js_5 = require("./wasm-sync.js");
81
- Object.defineProperty(exports, "createUnifiedChildTreeKey", { enumerable: true, get: function () { return wasm_sync_js_5.createUnifiedChildTreeKey; } });
82
- Object.defineProperty(exports, "createUnifiedRootTreeKey", { enumerable: true, get: function () { return wasm_sync_js_5.createUnifiedRootTreeKey; } });
83
- Object.defineProperty(exports, "deriveUnifiedAddressPublicKey", { enumerable: true, get: function () { return wasm_sync_js_5.deriveUnifiedAddressPublicKey; } });
84
- Object.defineProperty(exports, "verifyTreeSignature", { enumerable: true, get: function () { return wasm_sync_js_5.verifyTreeSignature; } });
85
- Object.defineProperty(exports, "mmrRootFromPublicKeys", { enumerable: true, get: function () { return wasm_sync_js_5.mmrRootFromPublicKeys; } });
86
- Object.defineProperty(exports, "verifyMMRProof", { enumerable: true, get: function () { return wasm_sync_js_5.verifyMMRProof; } });
31
+ // createUnifiedChildTreeKey / createUnifiedRootTreeKey come from the TS
32
+ // implementation (returning a full TreeKey object with setUses/sign/getPublicKey)
33
+ // to match the object API that downstream consumers (server, root-identity)
34
+ // rely on. The WASM binding only returns the root public key bytes.
35
+ export { createUnifiedChildTreeKey, createUnifiedRootTreeKey, deriveUnifiedAddressPublicKey, verifyTreeSignature, } from './treekey.js';
36
+ export { mmrRootFromPublicKeys, verifyMMRProof, } from './wasm-sync.js';
87
37
  // BIP39 Seed Phrase Handling
88
- var wasm_sync_js_6 = require("./wasm-sync.js");
89
- Object.defineProperty(exports, "phraseToSeed", { enumerable: true, get: function () { return wasm_sync_js_6.phraseToSeed; } });
90
- Object.defineProperty(exports, "generateWordList", { enumerable: true, get: function () { return wasm_sync_js_6.generateWordList; } });
91
- Object.defineProperty(exports, "validatePhrase", { enumerable: true, get: function () { return wasm_sync_js_6.validatePhrase; } });
92
- Object.defineProperty(exports, "cleanSeedPhrase", { enumerable: true, get: function () { return wasm_sync_js_6.cleanSeedPhrase; } });
38
+ // NOTE: the TS implementation (bip39.ts) uses the complete 2048-word BIP39
39
+ // word list and Minima-compatible uppercase canonicalization. The WASM
40
+ // binding (wasm-sync.ts) ships a corrupted/partial word list (missing
41
+ // "hungry", contains spurious words) and lowercases instead of uppercasing,
42
+ // so the public API routes through the TS implementation.
43
+ export { phraseToSeed, generateWordList, validatePhrase, cleanSeedPhrase, } from './bip39.js';
93
44
  // Address Derivation
94
- var wasm_sync_js_7 = require("./wasm-sync.js");
95
- Object.defineProperty(exports, "makeMxAddress", { enumerable: true, get: function () { return wasm_sync_js_7.makeMxAddress; } });
96
- Object.defineProperty(exports, "parseMxAddress", { enumerable: true, get: function () { return wasm_sync_js_7.parseMxAddress; } });
97
- Object.defineProperty(exports, "wotsAddressFromKeypair", { enumerable: true, get: function () { return wasm_sync_js_7.wotsAddressFromKeypair; } });
45
+ export { makeMxAddress, parseMxAddress, wotsAddressFromKeypair, } from './wasm-sync.js';
98
46
  // Transaction Serialization & Digest
99
- var wasm_sync_js_8 = require("./wasm-sync.js");
100
- Object.defineProperty(exports, "serializeTransaction", { enumerable: true, get: function () { return wasm_sync_js_8.serializeTransaction; } });
101
- Object.defineProperty(exports, "computeTransactionDigest", { enumerable: true, get: function () { return wasm_sync_js_8.computeTransactionDigest; } });
47
+ export { serializeTransaction, computeTransactionDigest, } from './wasm-sync.js';
102
48
  // Verification
103
- var wasm_sync_js_9 = require("./wasm-sync.js");
104
- Object.defineProperty(exports, "timingSafeEqual", { enumerable: true, get: function () { return wasm_sync_js_9.timingSafeEqual; } });
105
- Object.defineProperty(exports, "createChallenge", { enumerable: true, get: function () { return wasm_sync_js_9.createChallenge; } });
106
- Object.defineProperty(exports, "validateChallenge", { enumerable: true, get: function () { return wasm_sync_js_9.validateChallenge; } });
49
+ export { timingSafeEqual, createChallenge, validateChallenge, } from './wasm-sync.js';
107
50
  // ---------------------------------------------------------------------------
108
51
  // TypeScript-only modules (no crypto — keep as-is)
109
52
  // ---------------------------------------------------------------------------
110
53
  // Script helpers (for address derivation)
111
- var script_js_1 = require("./script.js");
112
- Object.defineProperty(exports, "scriptFromWotsPk", { enumerable: true, get: function () { return script_js_1.scriptFromWotsPk; } });
54
+ export { scriptFromWotsPk } from './script.js';
113
55
  // Base32 Encoding (Minima-compatible) — re-export from WASM
114
- var wasm_sync_js_10 = require("./wasm-sync.js");
115
- Object.defineProperty(exports, "encodeMx", { enumerable: true, get: function () { return wasm_sync_js_10.makeMxAddress; } });
116
- Object.defineProperty(exports, "decodeMx", { enumerable: true, get: function () { return wasm_sync_js_10.parseMxAddress; } });
56
+ export { makeMxAddress as encodeMx, parseMxAddress as decodeMx } from './wasm-sync.js';
57
+ /** Convert an Mx (radix-32) or hex Minima address to lowercase hex. */
58
+ export function mxToHex(address) {
59
+ const upper = address.startsWith('0x') || address.startsWith('0X') ? address.slice(2) : address;
60
+ return upper.toUpperCase().startsWith('MX')
61
+ ? bytesToHex(parseMxAddress(address))
62
+ : upper.replace(/^0x/i, '');
63
+ }
117
64
  // Merkle Mountain Range (original JS — types and helpers)
118
- __exportStar(require("./mmr.js"), exports);
65
+ export * from './mmr.js';
119
66
  // Script Types, Witness Serializer, Contract Helpers
120
- __exportStar(require("./scripts/index.js"), exports);
67
+ export * from './scripts/index.js';
121
68
  // Address Derivation (original)
122
- var derive_js_1 = require("./derive.js");
123
- Object.defineProperty(exports, "scriptToAddress", { enumerable: true, get: function () { return derive_js_1.scriptToAddress; } });
124
- Object.defineProperty(exports, "addressToRoot", { enumerable: true, get: function () { return derive_js_1.addressToRoot; } });
69
+ export { scriptToAddress, addressToRoot } from './derive.js';
125
70
  // BIP39 — re-export word list and legacy helpers from JS
126
- var bip39_js_1 = require("./bip39.js");
127
- Object.defineProperty(exports, "WORD_LIST", { enumerable: true, get: function () { return bip39_js_1.WORD_LIST; } });
128
- Object.defineProperty(exports, "convertStringToSeed", { enumerable: true, get: function () { return bip39_js_1.convertStringToSeed; } });
129
- Object.defineProperty(exports, "convertWordListToSeed", { enumerable: true, get: function () { return bip39_js_1.convertWordListToSeed; } });
130
- Object.defineProperty(exports, "generateSeedPhrase", { enumerable: true, get: function () { return bip39_js_1.generateSeedPhrase; } });
71
+ export { WORD_LIST, convertStringToSeed, convertWordListToSeed, generateSeedPhrase, } from './bip39.js';
131
72
  // MiniNumber class (matches Java MiniNumber/BigDecimal semantics)
132
- var MiniNumber_js_1 = require("./MiniNumber.js");
133
- Object.defineProperty(exports, "MiniNumber", { enumerable: true, get: function () { return MiniNumber_js_1.MiniNumber; } });
73
+ export { MiniNumber } from './MiniNumber.js';
134
74
  // Transaction types (from JS)
135
- var transaction_js_1 = require("./transaction.js");
136
- Object.defineProperty(exports, "parseDecimalToMiniNumber", { enumerable: true, get: function () { return transaction_js_1.parseDecimalToMiniNumber; } });
137
- Object.defineProperty(exports, "serializeCoin", { enumerable: true, get: function () { return transaction_js_1.serializeCoin; } });
138
- Object.defineProperty(exports, "createDefaultTransaction", { enumerable: true, get: function () { return transaction_js_1.createDefaultTransaction; } });
139
- Object.defineProperty(exports, "buildMinimaCoin", { enumerable: true, get: function () { return transaction_js_1.buildMinimaCoin; } });
75
+ export { parseDecimalToMiniNumber, serializeCoin, createDefaultTransaction, buildMinimaCoin, } from './transaction.js';
140
76
  // High-level Verification API (convenience functions for integrators)
141
- var verify_js_1 = require("./verify.js");
142
- Object.defineProperty(exports, "verifySignature", { enumerable: true, get: function () { return verify_js_1.verifySignature; } });
143
- Object.defineProperty(exports, "verifySignatureDetailed", { enumerable: true, get: function () { return verify_js_1.verifySignatureDetailed; } });
144
- Object.defineProperty(exports, "verifyTreeSignatureDetailed", { enumerable: true, get: function () { return verify_js_1.verifyTreeSignatureDetailed; } });
145
- Object.defineProperty(exports, "deriveAddressFromPublicKey", { enumerable: true, get: function () { return verify_js_1.deriveAddressFromPublicKey; } });
146
- Object.defineProperty(exports, "normalizeHex", { enumerable: true, get: function () { return verify_js_1.normalizeHex; } });
77
+ export { verifySignature, verifySignatureDetailed, verifyTreeSignatureDetailed, deriveAddressFromPublicKey, normalizeHex, } from './verify.js';
147
78
  // Streamable primitives (low-level serialization building blocks)
148
- var Streamable_js_1 = require("./Streamable.js");
149
- Object.defineProperty(exports, "writeMiniByte", { enumerable: true, get: function () { return Streamable_js_1.writeMiniByte; } });
150
- Object.defineProperty(exports, "writeMMREntryNumber", { enumerable: true, get: function () { return Streamable_js_1.writeMMREntryNumber; } });
151
- Object.defineProperty(exports, "concat", { enumerable: true, get: function () { return Streamable_js_1.concat; } });
152
- Object.defineProperty(exports, "bigIntToByteArray", { enumerable: true, get: function () { return Streamable_js_1.bigIntToByteArray; } });
79
+ export { writeMiniByte, writeMMREntryNumber, concat, bigIntToByteArray, } from './Streamable.js';
153
80
  // Java-Compatible Serialization Helpers (non-crypto)
154
- var javaStreamables_js_1 = require("./javaStreamables.js");
155
- Object.defineProperty(exports, "serializeMiniNumber", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMiniNumber; } });
156
- Object.defineProperty(exports, "serializeMiniData", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMiniData; } });
157
- Object.defineProperty(exports, "hashAllObjects", { enumerable: true, get: function () { return javaStreamables_js_1.hashAllObjects; } });
158
- Object.defineProperty(exports, "deriveChildTreeSeedJava", { enumerable: true, get: function () { return javaStreamables_js_1.deriveChildTreeSeedJava; } });
159
- Object.defineProperty(exports, "hashObject", { enumerable: true, get: function () { return javaStreamables_js_1.hashObject; } });
160
- Object.defineProperty(exports, "serializeMiniNumberZERO", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMiniNumberZERO; } });
161
- Object.defineProperty(exports, "serializeMiniNumberONE", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMiniNumberONE; } });
162
- Object.defineProperty(exports, "writeHashToStream", { enumerable: true, get: function () { return javaStreamables_js_1.writeHashToStream; } });
163
- Object.defineProperty(exports, "javaHashAllObjects", { enumerable: true, get: function () { return javaStreamables_js_1.javaHashAllObjects; } });
164
- Object.defineProperty(exports, "indexToMiniDataBytes", { enumerable: true, get: function () { return javaStreamables_js_1.indexToMiniDataBytes; } });
165
- Object.defineProperty(exports, "deriveUnifiedChildSeed", { enumerable: true, get: function () { return javaStreamables_js_1.deriveUnifiedChildSeed; } });
166
- Object.defineProperty(exports, "createMMREntryNumber", { enumerable: true, get: function () { return javaStreamables_js_1.createMMREntryNumber; } });
167
- Object.defineProperty(exports, "serializeMMREntryNumber", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMMREntryNumber; } });
168
- Object.defineProperty(exports, "serializeMMRData", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMMRData; } });
169
- Object.defineProperty(exports, "serializeMMREntry", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMMREntry; } });
81
+ export { serializeMiniNumber, serializeMiniData, hashAllObjects, deriveChildTreeSeedJava, hashObject, serializeMiniNumberZERO, serializeMiniNumberONE, writeHashToStream, javaHashAllObjects, indexToMiniDataBytes, deriveUnifiedChildSeed, createMMREntryNumber, serializeMMREntryNumber, serializeMMRData, serializeMMREntry, } from './javaStreamables.js';
170
82
  // TreeKey/TreeKeyNode — JS types and helpers
171
- var treekey_js_1 = require("./treekey.js");
172
- Object.defineProperty(exports, "TreeKey", { enumerable: true, get: function () { return treekey_js_1.TreeKey; } });
173
- Object.defineProperty(exports, "TreeKeyNode", { enumerable: true, get: function () { return treekey_js_1.TreeKeyNode; } });
174
- Object.defineProperty(exports, "serializeTreeSignature", { enumerable: true, get: function () { return treekey_js_1.serializeTreeSignature; } });
175
- Object.defineProperty(exports, "deserializeTreeSignature", { enumerable: true, get: function () { return treekey_js_1.deserializeTreeSignature; } });
176
- Object.defineProperty(exports, "getRootPublicKey", { enumerable: true, get: function () { return treekey_js_1.getRootPublicKey; } });
177
- Object.defineProperty(exports, "DEFAULT_KEYS_PER_LEVEL", { enumerable: true, get: function () { return treekey_js_1.DEFAULT_KEYS_PER_LEVEL; } });
178
- Object.defineProperty(exports, "DEFAULT_LEVELS", { enumerable: true, get: function () { return treekey_js_1.DEFAULT_LEVELS; } });
179
- Object.defineProperty(exports, "createUnifiedChildTreeKeyAsync", { enumerable: true, get: function () { return treekey_js_1.createUnifiedChildTreeKeyAsync; } });
180
- Object.defineProperty(exports, "createPerAddressTreeKey", { enumerable: true, get: function () { return treekey_js_1.createPerAddressTreeKey; } });
181
- Object.defineProperty(exports, "createPerAddressTreeKeyAsync", { enumerable: true, get: function () { return treekey_js_1.createPerAddressTreeKeyAsync; } });
83
+ export { TreeKey, TreeKeyNode, serializeTreeSignature, deserializeTreeSignature, getRootPublicKey, DEFAULT_KEYS_PER_LEVEL, DEFAULT_LEVELS, createUnifiedChildTreeKeyAsync, createPerAddressTreeKey, createPerAddressTreeKeyAsync, } from './treekey.js';
84
+ export { F, hex, fromHex, u16be, u32be, assert32, h, prfChainSeed, toWinternitzDigits, baseWWithChecksum, wotsSignLegacy, } from './wots.js';
85
+ // Canonical helpers (deterministic JSON + hashing)
86
+ export { toHex, canonicalJson, hashCanonical } from './canonical.js';
87
+ // Byte/string utilities
88
+ export { utf8ToBytes, bytesToUtf8 } from './utils.js';
182
89
  // Constants
183
- exports.MINIMA_CONSTANTS = {
90
+ export const MINIMA_CONSTANTS = {
184
91
  WOTS_W: 8,
185
92
  WOTS_N: 32,
186
93
  MAX_SIGNATURES: 262144,
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * Java-Compatible Serialization Helpers
4
3
  *
@@ -13,28 +12,8 @@
13
12
  * NOTE: This module provides number-based wrappers for backward compatibility.
14
13
  * The canonical implementations are in Streamable.ts which uses bigint for precision.
15
14
  */
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.serializeMiniNumber = serializeMiniNumber;
18
- exports.serializeMiniData = serializeMiniData;
19
- exports.hashAllObjects = hashAllObjects;
20
- exports.deriveChainSeedJava = deriveChainSeedJava;
21
- exports.deriveChildTreeSeedJava = deriveChildTreeSeedJava;
22
- exports.hashObject = hashObject;
23
- exports.indexToMiniDataBytes = indexToMiniDataBytes;
24
- exports.derivePerAddressSeed = derivePerAddressSeed;
25
- exports.serializeMiniNumberZERO = serializeMiniNumberZERO;
26
- exports.serializeMiniNumberONE = serializeMiniNumberONE;
27
- exports.writeHashToStream = writeHashToStream;
28
- exports.javaHashAllObjects = javaHashAllObjects;
29
- exports.createMMREntryNumber = createMMREntryNumber;
30
- exports.serializeMMREntryNumber = serializeMMREntryNumber;
31
- exports.serializeMMRData = serializeMMRData;
32
- exports.serializeMMREntry = serializeMMREntry;
33
- exports.deriveRootPrivSeed = deriveRootPrivSeed;
34
- exports.deriveUnifiedChildSeed = deriveUnifiedChildSeed;
35
- exports.precomputeTransactionCoinID = precomputeTransactionCoinID;
36
- const wasm_sync_js_1 = require("./wasm-sync.js");
37
- const Streamable_js_1 = require("./Streamable.js");
15
+ import { sha3_256 } from './wasm-sync.js';
16
+ import { writeMiniNumber as streamableWriteMiniNumber, writeMiniData as streamableWriteMiniData, writeHashToStream as streamableWriteHashToStream, bigIntToByteArray } from './Streamable.js';
38
17
  /**
39
18
  * Serialize a number in MiniNumber format (Java compatible)
40
19
  *
@@ -43,10 +22,10 @@ const Streamable_js_1 = require("./Streamable.js");
43
22
  * @param n - Non-negative integer to serialize
44
23
  * @returns Serialized bytes matching Java MiniNumber format
45
24
  */
46
- function serializeMiniNumber(n) {
25
+ export function serializeMiniNumber(n) {
47
26
  if (n < 0)
48
27
  throw new Error('MiniNumber must be non-negative');
49
- return (0, Streamable_js_1.writeMiniNumber)(BigInt(n));
28
+ return streamableWriteMiniNumber(BigInt(n));
50
29
  }
51
30
  /**
52
31
  * Serialize bytes in MiniData format (Java compatible)
@@ -56,8 +35,8 @@ function serializeMiniNumber(n) {
56
35
  * @param data - Bytes to serialize
57
36
  * @returns Serialized bytes matching Java MiniData format
58
37
  */
59
- function serializeMiniData(data) {
60
- return (0, Streamable_js_1.writeMiniData)(data);
38
+ export function serializeMiniData(data) {
39
+ return streamableWriteMiniData(data);
61
40
  }
62
41
  /**
63
42
  * Hash multiple Streamable objects (Java compatible)
@@ -72,7 +51,7 @@ function serializeMiniData(data) {
72
51
  * @param items - Array of serialized objects (use serializeMiniNumber/serializeMiniData)
73
52
  * @returns 32-byte SHA3-256 hash
74
53
  */
75
- function hashAllObjects(...items) {
54
+ export function hashAllObjects(...items) {
76
55
  // Concatenate all serialized items
77
56
  const totalLength = items.reduce((sum, item) => sum + item.length, 0);
78
57
  const combined = new Uint8Array(totalLength);
@@ -82,7 +61,7 @@ function hashAllObjects(...items) {
82
61
  offset += item.length;
83
62
  }
84
63
  // SHA3-256 hash
85
- return (0, wasm_sync_js_1.sha3_256)(combined);
64
+ return sha3_256(combined);
86
65
  }
87
66
  /**
88
67
  * Derive per-chain seed matching Java TreeKeyNode.java exactly
@@ -94,7 +73,7 @@ function hashAllObjects(...items) {
94
73
  * @param index - Chain index (0-63)
95
74
  * @returns 32-byte derived seed for this chain
96
75
  */
97
- function deriveChainSeedJava(privateSeed, index) {
76
+ export function deriveChainSeedJava(privateSeed, index) {
98
77
  const indexSerialized = serializeMiniNumber(index);
99
78
  const seedSerialized = serializeMiniData(privateSeed);
100
79
  return hashAllObjects(indexSerialized, seedSerialized);
@@ -112,7 +91,7 @@ function deriveChainSeedJava(privateSeed, index) {
112
91
  * @param childIndex - Child index (0-63)
113
92
  * @returns 32-byte derived seed for child tree
114
93
  */
115
- function deriveChildTreeSeedJava(childSeed, childIndex) {
94
+ export function deriveChildTreeSeedJava(childSeed, childIndex) {
116
95
  const indexSerialized = serializeMiniNumber(childIndex);
117
96
  const seedSerialized = serializeMiniData(childSeed);
118
97
  return hashAllObjects(indexSerialized, seedSerialized);
@@ -128,9 +107,9 @@ function deriveChildTreeSeedJava(childSeed, childIndex) {
128
107
  * @param data - Raw bytes (will be serialized as MiniData)
129
108
  * @returns 32-byte SHA3-256 hash
130
109
  */
131
- function hashObject(data) {
110
+ export function hashObject(data) {
132
111
  const serialized = serializeMiniData(data);
133
- return (0, wasm_sync_js_1.sha3_256)(serialized);
112
+ return sha3_256(serialized);
134
113
  }
135
114
  /**
136
115
  * Convert index to MiniData bytes matching Java's:
@@ -142,7 +121,7 @@ function hashObject(data) {
142
121
  * @param index - Non-negative integer (0, 1, 2, ...)
143
122
  * @returns Minimal byte representation of the index
144
123
  */
145
- function indexToMiniDataBytes(index) {
124
+ export function indexToMiniDataBytes(index) {
146
125
  if (index === 0) {
147
126
  return new Uint8Array([0x00]);
148
127
  }
@@ -170,7 +149,7 @@ function indexToMiniDataBytes(index) {
170
149
  * @param addressIndex - Address index (0, 1, 2, ... 63)
171
150
  * @returns 32-byte private seed for this address's TreeKey
172
151
  */
173
- function derivePerAddressSeed(baseSeed, addressIndex) {
152
+ export function derivePerAddressSeed(baseSeed, addressIndex) {
174
153
  // Step 1: Create modifier bytes from BigInteger representation of index
175
154
  const modifierBytes = indexToMiniDataBytes(addressIndex);
176
155
  // Step 2: Serialize both as MiniData (4-byte length prefix each)
@@ -180,7 +159,7 @@ function derivePerAddressSeed(baseSeed, addressIndex) {
180
159
  const combined = new Uint8Array(baseSeedSerialized.length + modifierSerialized.length);
181
160
  combined.set(baseSeedSerialized, 0);
182
161
  combined.set(modifierSerialized, baseSeedSerialized.length);
183
- const result = (0, wasm_sync_js_1.sha3_256)(combined);
162
+ const result = sha3_256(combined);
184
163
  // DIAGNOSTIC: Log first 8 bytes to detect bundle duplication or implementation differences
185
164
  // Enable via: globalThis.TOTEM_SEED_DEBUG = true
186
165
  if (typeof console !== 'undefined' && globalThis.TOTEM_SEED_DEBUG) {
@@ -193,14 +172,14 @@ function derivePerAddressSeed(baseSeed, addressIndex) {
193
172
  * Serialize MiniNumber.ZERO - cached for performance
194
173
  * Returns: [0x00, 0x01, 0x00] = scale(0) + length(1) + value(0)
195
174
  */
196
- function serializeMiniNumberZERO() {
175
+ export function serializeMiniNumberZERO() {
197
176
  return new Uint8Array([0x00, 0x01, 0x00]);
198
177
  }
199
178
  /**
200
179
  * Serialize MiniNumber.ONE
201
180
  * Returns: [0x00, 0x01, 0x01] = scale(0) + length(1) + value(1)
202
181
  */
203
- function serializeMiniNumberONE() {
182
+ export function serializeMiniNumberONE() {
204
183
  return new Uint8Array([0x00, 0x01, 0x01]);
205
184
  }
206
185
  /**
@@ -211,8 +190,8 @@ function serializeMiniNumberONE() {
211
190
  * @param data - Hash bytes (max 64 bytes per MINIMA_MAX_HASH_LENGTH)
212
191
  * @returns Serialized bytes with 4-byte length prefix
213
192
  */
214
- function writeHashToStream(data) {
215
- return (0, Streamable_js_1.writeHashToStream)(data);
193
+ export function writeHashToStream(data) {
194
+ return streamableWriteHashToStream(data);
216
195
  }
217
196
  /**
218
197
  * Java hashAllObjects for MMRData hashing
@@ -232,7 +211,7 @@ function writeHashToStream(data) {
232
211
  * @param items - Pre-serialized items to concatenate and hash
233
212
  * @returns 32-byte SHA3-256 hash
234
213
  */
235
- function javaHashAllObjects(...items) {
214
+ export function javaHashAllObjects(...items) {
236
215
  const totalLength = items.reduce((sum, item) => sum + item.length, 0);
237
216
  const combined = new Uint8Array(totalLength);
238
217
  let offset = 0;
@@ -240,12 +219,12 @@ function javaHashAllObjects(...items) {
240
219
  combined.set(item, offset);
241
220
  offset += item.length;
242
221
  }
243
- return (0, wasm_sync_js_1.sha3_256)(combined);
222
+ return sha3_256(combined);
244
223
  }
245
224
  /**
246
225
  * Create MMREntryNumber from bigint (common case for integer positions)
247
226
  */
248
- function createMMREntryNumber(value) {
227
+ export function createMMREntryNumber(value) {
249
228
  return { scale: 0, unscaled: value };
250
229
  }
251
230
  /**
@@ -258,7 +237,7 @@ function createMMREntryNumber(value) {
258
237
  * @param entry - MMREntryNumber to serialize
259
238
  * @returns Serialized bytes: MiniNumber(scale) + MiniData(unscaled bytes)
260
239
  */
261
- function serializeMMREntryNumber(entry) {
240
+ export function serializeMMREntryNumber(entry) {
262
241
  const scaleSerialized = serializeMiniNumber(entry.scale);
263
242
  const unscaledBytes = bigintToSignedBytes(entry.unscaled);
264
243
  const unscaledSerialized = serializeMiniData(unscaledBytes);
@@ -272,7 +251,7 @@ function serializeMMREntryNumber(entry) {
272
251
  * Uses the canonical implementation from Streamable.ts
273
252
  */
274
253
  function bigintToSignedBytes(n) {
275
- return (0, Streamable_js_1.bigIntToByteArray)(n);
254
+ return bigIntToByteArray(n);
276
255
  }
277
256
  /**
278
257
  * Serialize MMRData matching Java MMRData.writeDataStream()
@@ -284,7 +263,7 @@ function bigintToSignedBytes(n) {
284
263
  * @param mmrData - MMRData to serialize
285
264
  * @returns Serialized bytes: writeHashToStream(hash) + MiniNumber(value)
286
265
  */
287
- function serializeMMRData(mmrData) {
266
+ export function serializeMMRData(mmrData) {
288
267
  const hashSerialized = writeHashToStream(mmrData.data);
289
268
  const valueSerialized = serializeMiniNumber(Number(mmrData.value));
290
269
  const result = new Uint8Array(hashSerialized.length + valueSerialized.length);
@@ -304,7 +283,7 @@ function serializeMMRData(mmrData) {
304
283
  * @param entry - MMREntry to serialize
305
284
  * @returns Serialized bytes: MiniNumber(row) + MMREntryNumber + MMRData
306
285
  */
307
- function serializeMMREntry(entry) {
286
+ export function serializeMMREntry(entry) {
308
287
  const rowSerialized = serializeMiniNumber(entry.row);
309
288
  const entryNumberSerialized = serializeMMREntryNumber(entry.entryNumber);
310
289
  const mmrDataSerialized = serializeMMRData(entry.mmrData);
@@ -327,14 +306,14 @@ function serializeMMREntry(entry) {
327
306
  * @param baseSeed - 32-byte wallet base seed (from mnemonic)
328
307
  * @returns 32-byte root private seed
329
308
  */
330
- function deriveRootPrivSeed(baseSeed) {
309
+ export function deriveRootPrivSeed(baseSeed) {
331
310
  const baseSeedSerialized = serializeMiniData(baseSeed);
332
311
  const rootIdentityBytes = new TextEncoder().encode('ROOT_IDENTITY');
333
312
  const rootIdentitySerialized = serializeMiniData(rootIdentityBytes);
334
313
  const combined = new Uint8Array(baseSeedSerialized.length + rootIdentitySerialized.length);
335
314
  combined.set(baseSeedSerialized, 0);
336
315
  combined.set(rootIdentitySerialized, baseSeedSerialized.length);
337
- return (0, wasm_sync_js_1.sha3_256)(combined);
316
+ return sha3_256(combined);
338
317
  }
339
318
  /**
340
319
  * Derive a unified child seed for the address at `index`.
@@ -346,7 +325,7 @@ function deriveRootPrivSeed(baseSeed) {
346
325
  * @param index - Address index (0-63)
347
326
  * @returns 32-byte child seed for the TreeKey at this address
348
327
  */
349
- function deriveUnifiedChildSeed(baseSeed, index) {
328
+ export function deriveUnifiedChildSeed(baseSeed, index) {
350
329
  const rootPrivSeed = deriveRootPrivSeed(baseSeed);
351
330
  const modifierBytes = indexToMiniDataBytes(index);
352
331
  const rootSeedSerialized = serializeMiniData(rootPrivSeed);
@@ -354,7 +333,7 @@ function deriveUnifiedChildSeed(baseSeed, index) {
354
333
  const combined = new Uint8Array(rootSeedSerialized.length + modifierSerialized.length);
355
334
  combined.set(rootSeedSerialized, 0);
356
335
  combined.set(modifierSerialized, rootSeedSerialized.length);
357
- return (0, wasm_sync_js_1.sha3_256)(combined);
336
+ return sha3_256(combined);
358
337
  }
359
338
  /**
360
339
  * Precompute output coin IDs before computing the transaction digest.
@@ -372,7 +351,7 @@ function deriveUnifiedChildSeed(baseSeed, index) {
372
351
  * @param inputs - Transaction inputs array, each must have a coinId (Uint8Array)
373
352
  * @param outputs - Transaction outputs array, each will have its coinId mutated in-place
374
353
  */
375
- function precomputeTransactionCoinID(inputs, outputs) {
354
+ export function precomputeTransactionCoinID(inputs, outputs) {
376
355
  if (inputs.length === 0)
377
356
  return;
378
357
  const baseCoinId = inputs[0].coinId;
@@ -381,11 +360,11 @@ function precomputeTransactionCoinID(inputs, outputs) {
381
360
  `(placeholder?). Real coinId from CoinProof required for signing.`);
382
361
  }
383
362
  for (let i = 0; i < outputs.length; i++) {
384
- const baseCoinIdStream = (0, Streamable_js_1.writeMiniData)(baseCoinId);
385
- const outputIndexStream = (0, Streamable_js_1.writeMiniNumber)(BigInt(i));
363
+ const baseCoinIdStream = streamableWriteMiniData(baseCoinId);
364
+ const outputIndexStream = streamableWriteMiniNumber(BigInt(i));
386
365
  const combined = new Uint8Array(baseCoinIdStream.length + outputIndexStream.length);
387
366
  combined.set(baseCoinIdStream, 0);
388
367
  combined.set(outputIndexStream, baseCoinIdStream.length);
389
- outputs[i].coinId = (0, wasm_sync_js_1.sha3_256)(combined);
368
+ outputs[i].coinId = sha3_256(combined);
390
369
  }
391
370
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * @module LeaseMonitor
4
3
  * Monitors lease expiry and triggers renewal/cleanup actions
@@ -8,20 +7,22 @@
8
7
  * - Event-based notifications for expiring leases
9
8
  * - Adaptive monitoring interval based on shortest TTL
10
9
  */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.LeaseMonitor = void 0;
13
- const index_js_1 = require("../adapters/index.js");
10
+ import { DefaultTimerAdapter, NoopLogger } from '../adapters/index.js';
14
11
  const DEFAULT_CONFIG = {
15
12
  defaultIntervalMs: 5000,
16
13
  expiryThresholdMs: 5000,
17
14
  minIntervalMs: 1000,
18
15
  maxIntervalMs: 30000,
19
16
  };
20
- class LeaseMonitor {
21
- constructor(leaseStore, timer = new index_js_1.DefaultTimerAdapter(), logger = new index_js_1.NoopLogger(), config = {}) {
22
- this.timerHandle = null;
23
- this.isRunning = false;
24
- this.expiryCallbacks = new Set();
17
+ export class LeaseMonitor {
18
+ leaseStore;
19
+ timer;
20
+ logger;
21
+ config;
22
+ timerHandle = null;
23
+ isRunning = false;
24
+ expiryCallbacks = new Set();
25
+ constructor(leaseStore, timer = new DefaultTimerAdapter(), logger = new NoopLogger(), config = {}) {
25
26
  this.leaseStore = leaseStore;
26
27
  this.timer = timer;
27
28
  this.logger = logger;
@@ -108,4 +109,3 @@ class LeaseMonitor {
108
109
  });
109
110
  }
110
111
  }
111
- exports.LeaseMonitor = LeaseMonitor;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * @module LeaseStore
4
3
  * WOTS lease lifecycle management with platform-agnostic storage
@@ -10,14 +9,15 @@
10
9
  * - Mutators update memory cache AND persist to storage
11
10
  * - Caller MUST call initialize() before using sync getters
12
11
  */
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.LeaseStore = void 0;
15
- const index_js_1 = require("../adapters/index.js");
12
+ import { NoopLogger } from '../adapters/index.js';
16
13
  const DEFAULT_STORAGE_KEY = 'totem_wots_leases';
17
- class LeaseStore {
18
- constructor(storage, logger = new index_js_1.NoopLogger(), config = {}) {
19
- this.leases = new Map();
20
- this._initialized = false;
14
+ export class LeaseStore {
15
+ leases = new Map();
16
+ _initialized = false;
17
+ storageKey;
18
+ storage;
19
+ logger;
20
+ constructor(storage, logger = new NoopLogger(), config = {}) {
21
21
  this.storage = storage;
22
22
  this.logger = logger;
23
23
  this.storageKey = config.storageKey ?? DEFAULT_STORAGE_KEY;
@@ -145,4 +145,3 @@ class LeaseStore {
145
145
  return (indices.addressIndex * 64 * 64) + (indices.l1 * 64) + indices.l2;
146
146
  }
147
147
  }
148
- exports.LeaseStore = LeaseStore;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * @module WatermarkStore
4
3
  * WOTS index tracking with server synchronization
@@ -10,16 +9,17 @@
10
9
  * - Mutators update memory cache AND persist to storage
11
10
  * - Caller MUST call initialize() before using sync getters
12
11
  */
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.WatermarkStore = void 0;
15
- const index_js_1 = require("../adapters/index.js");
12
+ import { NoopLogger } from '../adapters/index.js';
16
13
  const DEFAULT_STORAGE_KEY = 'totem_wots_watermark';
17
14
  const MAX_INDEX_PER_LEVEL = 64;
18
15
  const TOTAL_INDICES = 64 * 64 * 64;
19
- class WatermarkStore {
20
- constructor(storage, logger = new index_js_1.NoopLogger(), config = {}) {
21
- this.state = null;
22
- this._initialized = false;
16
+ export class WatermarkStore {
17
+ state = null;
18
+ _initialized = false;
19
+ storageKey;
20
+ storage;
21
+ logger;
22
+ constructor(storage, logger = new NoopLogger(), config = {}) {
23
23
  this.storage = storage;
24
24
  this.logger = logger;
25
25
  this.storageKey = config.storageKey ?? DEFAULT_STORAGE_KEY;
@@ -203,4 +203,3 @@ class WatermarkStore {
203
203
  return (addressIndex * MAX_INDEX_PER_LEVEL * MAX_INDEX_PER_LEVEL) + (l1 * MAX_INDEX_PER_LEVEL) + l2;
204
204
  }
205
205
  }
206
- exports.WatermarkStore = WatermarkStore;