@totemsdk/core 1.2.5 → 1.2.6

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 (42) 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/derive.js +7 -11
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +27 -143
  10. package/dist/javaStreamables.js +34 -55
  11. package/dist/lease/LeaseMonitor.js +10 -10
  12. package/dist/lease/LeaseStore.js +8 -9
  13. package/dist/lease/WatermarkStore.js +8 -9
  14. package/dist/lease/index.js +4 -13
  15. package/dist/lease-client.js +3 -8
  16. package/dist/legacy.js +13 -140
  17. package/dist/minima32.js +13 -22
  18. package/dist/minimaWireSerializer.js +14 -20
  19. package/dist/mmr.js +26 -40
  20. package/dist/mx.js +1 -10
  21. package/dist/params.js +5 -9
  22. package/dist/script.js +7 -12
  23. package/dist/scripts/contract-helpers.js +25 -36
  24. package/dist/scripts/dapp-types.js +6 -11
  25. package/dist/scripts/index.js +4 -38
  26. package/dist/scripts/types.js +12 -26
  27. package/dist/scripts/witness-serializer.js +30 -48
  28. package/dist/transaction.js +46 -55
  29. package/dist/treekey.js +82 -89
  30. package/dist/tx/TransactionLifecycle.js +15 -11
  31. package/dist/tx/TransactionReceiptStore.js +9 -9
  32. package/dist/tx/TransactionService.js +14 -14
  33. package/dist/tx/index.js +3 -11
  34. package/dist/tx/types.js +1 -2
  35. package/dist/util.js +1 -5
  36. package/dist/utils.js +5 -12
  37. package/dist/verify.js +25 -36
  38. package/dist/version.js +2 -5
  39. package/dist/wasm-sync.js +56 -61
  40. package/dist/wots.d.ts +1 -1
  41. package/dist/wots.js +64 -94
  42. package/package.json +1 -1
package/dist/utils.js CHANGED
@@ -1,19 +1,12 @@
1
- "use strict";
2
1
  /**
3
2
  * Utility functions for byte array manipulation
4
3
  */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.bytesToHex = bytesToHex;
7
- exports.hexToBytes = hexToBytes;
8
- exports.concatBytes = concatBytes;
9
- exports.utf8ToBytes = utf8ToBytes;
10
- exports.bytesToUtf8 = bytesToUtf8;
11
- function bytesToHex(bytes) {
4
+ export function bytesToHex(bytes) {
12
5
  return Array.from(bytes)
13
6
  .map(b => b.toString(16).padStart(2, '0'))
14
7
  .join('');
15
8
  }
16
- function hexToBytes(hex) {
9
+ export function hexToBytes(hex) {
17
10
  if (hex.startsWith('0x'))
18
11
  hex = hex.slice(2);
19
12
  if (hex.length % 2 !== 0)
@@ -24,7 +17,7 @@ function hexToBytes(hex) {
24
17
  }
25
18
  return bytes;
26
19
  }
27
- function concatBytes(...arrays) {
20
+ export function concatBytes(...arrays) {
28
21
  const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0);
29
22
  const result = new Uint8Array(totalLength);
30
23
  let offset = 0;
@@ -34,9 +27,9 @@ function concatBytes(...arrays) {
34
27
  }
35
28
  return result;
36
29
  }
37
- function utf8ToBytes(str) {
30
+ export function utf8ToBytes(str) {
38
31
  return new TextEncoder().encode(str);
39
32
  }
40
- function bytesToUtf8(bytes) {
33
+ export function bytesToUtf8(bytes) {
41
34
  return new TextDecoder().decode(bytes);
42
35
  }
package/dist/verify.js CHANGED
@@ -1,26 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeHex = normalizeHex;
4
- exports.hexToBytes = hexToBytes;
5
- exports.bytesToHex = bytesToHex;
6
- exports.deriveAddressFromPublicKey = deriveAddressFromPublicKey;
7
- exports.verifyTreeSignatureDetailed = verifyTreeSignatureDetailed;
8
- exports.verifySignature = verifySignature;
9
- exports.verifySignatureDetailed = verifySignatureDetailed;
10
- exports.createChallenge = createChallenge;
11
- exports.validateChallenge = validateChallenge;
12
- const wasm_sync_js_1 = require("./wasm-sync.js");
13
- const treekey_js_1 = require("./treekey.js");
14
- const derive_js_1 = require("./derive.js");
15
- const script_js_1 = require("./script.js");
16
- const treekey_js_2 = require("./treekey.js");
17
- const wots_js_1 = require("./wots.js");
18
- const params_js_1 = require("./params.js");
19
- function normalizeHex(hex) {
1
+ import { sha3_256 } from './wasm-sync.js';
2
+ import { deserializeTreeSignature } from './treekey.js';
3
+ import { scriptToAddress } from './derive.js';
4
+ import { scriptFromWotsPk } from './script.js';
5
+ import { getRootPublicKey } from './treekey.js';
6
+ import { wotsVerifyDigest } from './wots.js';
7
+ import { getParamSet } from './params.js';
8
+ export function normalizeHex(hex) {
20
9
  const stripped = hex.startsWith('0x') ? hex.slice(2) : hex;
21
10
  return stripped.toLowerCase();
22
11
  }
23
- function hexToBytes(hex) {
12
+ export function hexToBytes(hex) {
24
13
  const h = normalizeHex(hex);
25
14
  if (h.length % 2 !== 0)
26
15
  throw new Error('Invalid hex string: odd length');
@@ -30,28 +19,28 @@ function hexToBytes(hex) {
30
19
  }
31
20
  return bytes;
32
21
  }
33
- function bytesToHex(bytes) {
22
+ export function bytesToHex(bytes) {
34
23
  return Array.from(bytes)
35
24
  .map(b => b.toString(16).padStart(2, '0'))
36
25
  .join('');
37
26
  }
38
- function deriveAddressFromPublicKey(publicKeyHex) {
27
+ export function deriveAddressFromPublicKey(publicKeyHex) {
39
28
  const pkBytes = hexToBytes(publicKeyHex);
40
29
  if (pkBytes.length !== 32) {
41
30
  throw new Error(`Public key must be 32 bytes (64 hex chars), got ${pkBytes.length} bytes`);
42
31
  }
43
- const script = (0, script_js_1.scriptFromWotsPk)(pkBytes);
44
- return (0, derive_js_1.scriptToAddress)(script);
32
+ const script = scriptFromWotsPk(pkBytes);
33
+ return scriptToAddress(script);
45
34
  }
46
- function verifyTreeSignatureDetailed(expectedPubkey, data, signature) {
35
+ export function verifyTreeSignatureDetailed(expectedPubkey, data, signature) {
47
36
  const { proofs } = signature;
48
37
  if (proofs.length === 0) {
49
38
  return { valid: false, error: 'Signature contains no proofs' };
50
39
  }
51
- const paramSet = (0, params_js_1.getParamSet)();
40
+ const paramSet = getParamSet();
52
41
  for (let depth = 0; depth < proofs.length; depth++) {
53
42
  const proof = proofs[depth];
54
- const rootPubkey = (0, treekey_js_2.getRootPublicKey)(proof);
43
+ const rootPubkey = getRootPublicKey(proof);
55
44
  if (depth === 0) {
56
45
  if (!timingSafeEqual(expectedPubkey, rootPubkey)) {
57
46
  return {
@@ -65,9 +54,9 @@ function verifyTreeSignatureDetailed(expectedPubkey, data, signature) {
65
54
  signedData = data;
66
55
  }
67
56
  else {
68
- signedData = (0, treekey_js_2.getRootPublicKey)(proofs[depth + 1]);
57
+ signedData = getRootPublicKey(proofs[depth + 1]);
69
58
  }
70
- if (!(0, wots_js_1.wotsVerifyDigest)(proof.signature, signedData, proof.leafPubkey, paramSet)) {
59
+ if (!wotsVerifyDigest(proof.signature, signedData, proof.leafPubkey, paramSet)) {
71
60
  return {
72
61
  valid: false,
73
62
  error: `WOTS signature verification failed at depth ${depth} (digest mismatch or corrupted signature)`,
@@ -76,11 +65,11 @@ function verifyTreeSignatureDetailed(expectedPubkey, data, signature) {
76
65
  }
77
66
  return { valid: true };
78
67
  }
79
- function verifySignature(address, message, signatureHex, publicKeyHex) {
68
+ export function verifySignature(address, message, signatureHex, publicKeyHex) {
80
69
  const result = verifySignatureDetailed(address, message, signatureHex, publicKeyHex);
81
70
  return result.valid;
82
71
  }
83
- function verifySignatureDetailed(address, message, signatureHex, publicKeyHex) {
72
+ export function verifySignatureDetailed(address, message, signatureHex, publicKeyHex) {
84
73
  try {
85
74
  const pkBytes = hexToBytes(publicKeyHex);
86
75
  if (pkBytes.length !== 32) {
@@ -99,7 +88,7 @@ function verifySignatureDetailed(address, message, signatureHex, publicKeyHex) {
99
88
  const sigBytes = hexToBytes(signatureHex);
100
89
  let treeSignature;
101
90
  try {
102
- treeSignature = (0, treekey_js_1.deserializeTreeSignature)(sigBytes);
91
+ treeSignature = deserializeTreeSignature(sigBytes);
103
92
  }
104
93
  catch (e) {
105
94
  return {
@@ -107,7 +96,7 @@ function verifySignatureDetailed(address, message, signatureHex, publicKeyHex) {
107
96
  error: `Malformed signature: ${e.message}`,
108
97
  };
109
98
  }
110
- const digest = (0, wasm_sync_js_1.sha3_256)(new TextEncoder().encode(message));
99
+ const digest = sha3_256(new TextEncoder().encode(message));
111
100
  return verifyTreeSignatureDetailed(pkBytes, digest, treeSignature);
112
101
  }
113
102
  catch (e) {
@@ -143,12 +132,12 @@ function cryptoRandomBytes(length) {
143
132
  }
144
133
  return buf;
145
134
  }
146
- function createChallenge(domain, nonce) {
135
+ export function createChallenge(domain, nonce) {
147
136
  const ts = Date.now();
148
- const n = nonce || bytesToHex((0, wasm_sync_js_1.sha3_256)(new Uint8Array([...new TextEncoder().encode(`${domain}:${ts}:`), ...cryptoRandomBytes(16)]))).slice(0, 16);
137
+ const n = nonce || bytesToHex(sha3_256(new Uint8Array([...new TextEncoder().encode(`${domain}:${ts}:`), ...cryptoRandomBytes(16)]))).slice(0, 16);
149
138
  return JSON.stringify({ domain, nonce: n, issuedAt: ts });
150
139
  }
151
- function validateChallenge(challenge, options) {
140
+ export function validateChallenge(challenge, options) {
152
141
  try {
153
142
  const parsed = JSON.parse(challenge);
154
143
  const { domain, nonce, issuedAt } = parsed;
package/dist/version.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * SDK Core Version Information
4
3
  *
@@ -9,7 +8,5 @@
9
8
  * If you see different CORE_BUILD_IDs logged from wallet creation
10
9
  * vs signing modules, there's a bundling issue.
11
10
  */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.CORE_VERSION = exports.CORE_BUILD_ID = void 0;
14
- exports.CORE_BUILD_ID = '2026.02.05-v1';
15
- exports.CORE_VERSION = '1.0.0';
11
+ export const CORE_BUILD_ID = '2026.02.05-v1';
12
+ export const CORE_VERSION = '1.0.0';
package/dist/wasm-sync.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * Synchronous WASM bridge — thin wrappers around @totemsdk/core-wasm.
4
3
  *
@@ -9,86 +8,82 @@
9
8
  * import { wotsSign, sha3_256 } from '@totemsdk/core/wasm';
10
9
  * const sig = wotsSign(seed, 0, message); // synchronous!
11
10
  */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.wasmTreeKeyFree = exports.wasmTreeKeyGetMaxUses = exports.wasmTreeKeySetUses = exports.wasmTreeKeyGetUses = exports.wasmTreeKeyGetPublicKey = exports.wasmTreeKeySign = exports.wasmTreeKeyNew = exports.mineTxPoWChunk = exports.mineTxPoW = exports.deriveFullPublicKeyBatch = exports.derivePKdigestBatch = exports.wotsSignBatch = exports.getParams = exports.verifyMMRProof = exports.mmrRootFromPublicKeys = exports.deriveUnifiedAddressPublicKey = exports.createUnifiedRootTreeKey = exports.createUnifiedChildTreeKey = exports.writeMiniString = exports.writeMiniData = exports.writeMiniNumber = exports.validateChallenge = exports.createChallenge = exports.timingSafeEqual = exports.verifyTreeSignature = exports.precomputeTransactionCoinID = exports.computeTransactionDigest = exports.serializeTransaction = exports.parseMxAddress = exports.makeMxAddress = exports.cleanSeedPhrase = exports.validatePhrase = exports.generateWordList = exports.phraseToSeed = exports.deriveRootPrivSeed = exports.derivePerAddressSeed = exports.deriveChainSeedJava = 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 = void 0;
14
- exports.wotsAddressFromKeypair = wotsAddressFromKeypair;
15
- exports.wotsKeypairFromSeed = wotsKeypairFromSeed;
16
11
  // The bundler target initializes WASM synchronously at import time.
17
12
  // The nodejs target uses require() which is also synchronous.
18
13
  // Both targets export functions that are ready to call immediately.
19
- const core_wasm_1 = require("@totemsdk/core-wasm");
20
- Object.defineProperty(exports, "getParams", { enumerable: true, get: function () { return core_wasm_1.get_params; } });
14
+ import { bytes_to_hex_wasm, clean_seed_phrase_wasm, compute_transaction_digest_wasm, concat_bytes_wasm, create_challenge_wasm, create_unified_child_tree_key_wasm, create_unified_root_tree_key_wasm, derive_chain_seed_wasm, derive_full_public_key_batch_wasm, derive_full_public_key_wasm, derive_per_address_seed_wasm, derive_pk_digest_batch_wasm, derive_pk_digest_wasm, derive_root_priv_seed_wasm, derive_unified_address_public_key_wasm, expand_private_key_wasm, generate_mnemonic_wasm, get_params, hash_chain_wasm, hex_to_bytes_wasm, make_mx_address_wasm, mine_txpow_chunk_wasm, mine_txpow_wasm, mmr_root_from_public_keys_wasm, parse_mx_address_wasm, phrase_to_seed_wasm, precompute_transaction_coin_id_wasm, serialize_transaction_wasm, sha3_256_wasm, timing_safe_equal_wasm, validate_challenge_wasm, validate_phrase_wasm, verify_mmr_proof_wasm, verify_tree_signature_wasm, wasm_tree_key_free, wasm_tree_key_get_max_uses, wasm_tree_key_get_public_key, wasm_tree_key_get_uses, wasm_tree_key_new, wasm_tree_key_set_uses, wasm_tree_key_sign, wots_address_from_keypair_wasm, wots_pk_from_sig_wasm, wots_sign_batch_wasm, wots_sign_wasm, wots_verify_digest_wasm, wots_verify_wasm, write_mini_data_wasm, write_mini_number_wasm, write_mini_string_wasm, } from '@totemsdk/core-wasm';
21
15
  // ---------------------------------------------------------------------------
22
16
  // Re-export with clean names matching the original @totemsdk/core API
23
17
  // ---------------------------------------------------------------------------
24
- exports.bytesToHex = core_wasm_1.bytes_to_hex_wasm;
25
- exports.hexToBytes = core_wasm_1.hex_to_bytes_wasm;
26
- exports.concatBytes = core_wasm_1.concat_bytes_wasm;
27
- exports.sha3_256 = core_wasm_1.sha3_256_wasm;
28
- exports.expandPrivateKey = core_wasm_1.expand_private_key_wasm;
29
- exports.hashChain = core_wasm_1.hash_chain_wasm;
30
- exports.derivePKdigest = core_wasm_1.derive_pk_digest_wasm;
31
- exports.deriveFullPublicKey = core_wasm_1.derive_full_public_key_wasm;
32
- exports.wotsSign = core_wasm_1.wots_sign_wasm;
33
- exports.wotsVerify = core_wasm_1.wots_verify_wasm;
34
- exports.wotsVerifyDigest = core_wasm_1.wots_verify_digest_wasm;
35
- exports.wotsPkFromSig = core_wasm_1.wots_pk_from_sig_wasm;
36
- exports.wotsPublicKeyFromSeed = core_wasm_1.derive_pk_digest_wasm;
37
- exports.deriveChainSeedJava = core_wasm_1.derive_chain_seed_wasm;
38
- exports.derivePerAddressSeed = core_wasm_1.derive_per_address_seed_wasm;
39
- exports.deriveRootPrivSeed = core_wasm_1.derive_root_priv_seed_wasm;
40
- exports.phraseToSeed = core_wasm_1.phrase_to_seed_wasm;
41
- exports.generateWordList = core_wasm_1.generate_mnemonic_wasm;
42
- exports.validatePhrase = core_wasm_1.validate_phrase_wasm;
43
- exports.cleanSeedPhrase = core_wasm_1.clean_seed_phrase_wasm;
44
- exports.makeMxAddress = core_wasm_1.make_mx_address_wasm;
45
- exports.parseMxAddress = core_wasm_1.parse_mx_address_wasm;
46
- function wotsAddressFromKeypair(seedOrKp, index) {
18
+ export const bytesToHex = bytes_to_hex_wasm;
19
+ export const hexToBytes = hex_to_bytes_wasm;
20
+ export const concatBytes = concat_bytes_wasm;
21
+ export const sha3_256 = sha3_256_wasm;
22
+ export const expandPrivateKey = expand_private_key_wasm;
23
+ export const hashChain = hash_chain_wasm;
24
+ export const derivePKdigest = derive_pk_digest_wasm;
25
+ export const deriveFullPublicKey = derive_full_public_key_wasm;
26
+ export const wotsSign = wots_sign_wasm;
27
+ export const wotsVerify = wots_verify_wasm;
28
+ export const wotsVerifyDigest = wots_verify_digest_wasm;
29
+ export const wotsPkFromSig = wots_pk_from_sig_wasm;
30
+ export const wotsPublicKeyFromSeed = derive_pk_digest_wasm;
31
+ export const deriveChainSeedJava = derive_chain_seed_wasm;
32
+ export const derivePerAddressSeed = derive_per_address_seed_wasm;
33
+ export const deriveRootPrivSeed = derive_root_priv_seed_wasm;
34
+ export const phraseToSeed = phrase_to_seed_wasm;
35
+ export const generateWordList = generate_mnemonic_wasm;
36
+ export const validatePhrase = validate_phrase_wasm;
37
+ export const cleanSeedPhrase = clean_seed_phrase_wasm;
38
+ export const makeMxAddress = make_mx_address_wasm;
39
+ export const parseMxAddress = parse_mx_address_wasm;
40
+ export function wotsAddressFromKeypair(seedOrKp, index) {
47
41
  if (seedOrKp instanceof Uint8Array) {
48
- return (0, core_wasm_1.wots_address_from_keypair_wasm)(seedOrKp, index);
42
+ return wots_address_from_keypair_wasm(seedOrKp, index);
49
43
  }
50
- return (0, core_wasm_1.wots_address_from_keypair_wasm)(seedOrKp.seed, seedOrKp.index);
44
+ return wots_address_from_keypair_wasm(seedOrKp.seed, seedOrKp.index);
51
45
  }
52
- exports.serializeTransaction = core_wasm_1.serialize_transaction_wasm;
53
- exports.computeTransactionDigest = core_wasm_1.compute_transaction_digest_wasm;
54
- exports.precomputeTransactionCoinID = core_wasm_1.precompute_transaction_coin_id_wasm;
55
- exports.verifyTreeSignature = core_wasm_1.verify_tree_signature_wasm;
56
- exports.timingSafeEqual = core_wasm_1.timing_safe_equal_wasm;
57
- exports.createChallenge = core_wasm_1.create_challenge_wasm;
58
- exports.validateChallenge = core_wasm_1.validate_challenge_wasm;
59
- exports.writeMiniNumber = core_wasm_1.write_mini_number_wasm;
60
- exports.writeMiniData = core_wasm_1.write_mini_data_wasm;
61
- exports.writeMiniString = core_wasm_1.write_mini_string_wasm;
62
- exports.createUnifiedChildTreeKey = core_wasm_1.create_unified_child_tree_key_wasm;
63
- exports.createUnifiedRootTreeKey = core_wasm_1.create_unified_root_tree_key_wasm;
64
- exports.deriveUnifiedAddressPublicKey = core_wasm_1.derive_unified_address_public_key_wasm;
65
- exports.mmrRootFromPublicKeys = core_wasm_1.mmr_root_from_public_keys_wasm;
66
- exports.verifyMMRProof = core_wasm_1.verify_mmr_proof_wasm;
46
+ export const serializeTransaction = serialize_transaction_wasm;
47
+ export const computeTransactionDigest = compute_transaction_digest_wasm;
48
+ export const precomputeTransactionCoinID = precompute_transaction_coin_id_wasm;
49
+ export const verifyTreeSignature = verify_tree_signature_wasm;
50
+ export const timingSafeEqual = timing_safe_equal_wasm;
51
+ export const createChallenge = create_challenge_wasm;
52
+ export const validateChallenge = validate_challenge_wasm;
53
+ export const writeMiniNumber = write_mini_number_wasm;
54
+ export const writeMiniData = write_mini_data_wasm;
55
+ export const writeMiniString = write_mini_string_wasm;
56
+ export const createUnifiedChildTreeKey = create_unified_child_tree_key_wasm;
57
+ export const createUnifiedRootTreeKey = create_unified_root_tree_key_wasm;
58
+ export const deriveUnifiedAddressPublicKey = derive_unified_address_public_key_wasm;
59
+ export const mmrRootFromPublicKeys = mmr_root_from_public_keys_wasm;
60
+ export const verifyMMRProof = verify_mmr_proof_wasm;
61
+ export { get_params as getParams };
67
62
  // ---------------------------------------------------------------------------
68
63
  // Batch WOTS APIs
69
64
  // ---------------------------------------------------------------------------
70
- exports.wotsSignBatch = core_wasm_1.wots_sign_batch_wasm;
71
- exports.derivePKdigestBatch = core_wasm_1.derive_pk_digest_batch_wasm;
72
- exports.deriveFullPublicKeyBatch = core_wasm_1.derive_full_public_key_batch_wasm;
65
+ export const wotsSignBatch = wots_sign_batch_wasm;
66
+ export const derivePKdigestBatch = derive_pk_digest_batch_wasm;
67
+ export const deriveFullPublicKeyBatch = derive_full_public_key_batch_wasm;
73
68
  // ---------------------------------------------------------------------------
74
69
  // TxPoW Mining
75
70
  // ---------------------------------------------------------------------------
76
- exports.mineTxPoW = core_wasm_1.mine_txpow_wasm;
77
- exports.mineTxPoWChunk = core_wasm_1.mine_txpow_chunk_wasm;
71
+ export const mineTxPoW = mine_txpow_wasm;
72
+ export const mineTxPoWChunk = mine_txpow_chunk_wasm;
78
73
  // ---------------------------------------------------------------------------
79
74
  // Stateful WasmTreeKey
80
75
  // ---------------------------------------------------------------------------
81
- exports.wasmTreeKeyNew = core_wasm_1.wasm_tree_key_new;
82
- exports.wasmTreeKeySign = core_wasm_1.wasm_tree_key_sign;
83
- exports.wasmTreeKeyGetPublicKey = core_wasm_1.wasm_tree_key_get_public_key;
84
- exports.wasmTreeKeyGetUses = core_wasm_1.wasm_tree_key_get_uses;
85
- exports.wasmTreeKeySetUses = core_wasm_1.wasm_tree_key_set_uses;
86
- exports.wasmTreeKeyGetMaxUses = core_wasm_1.wasm_tree_key_get_max_uses;
87
- exports.wasmTreeKeyFree = core_wasm_1.wasm_tree_key_free;
76
+ export const wasmTreeKeyNew = wasm_tree_key_new;
77
+ export const wasmTreeKeySign = wasm_tree_key_sign;
78
+ export const wasmTreeKeyGetPublicKey = wasm_tree_key_get_public_key;
79
+ export const wasmTreeKeyGetUses = wasm_tree_key_get_uses;
80
+ export const wasmTreeKeySetUses = wasm_tree_key_set_uses;
81
+ export const wasmTreeKeyGetMaxUses = wasm_tree_key_get_max_uses;
82
+ export const wasmTreeKeyFree = wasm_tree_key_free;
88
83
  // ---------------------------------------------------------------------------
89
84
  // Convenience: wotsKeypairFromSeed
90
85
  // ---------------------------------------------------------------------------
91
- function wotsKeypairFromSeed(seed, index) {
92
- const pk = (0, core_wasm_1.derive_pk_digest_wasm)(seed, index);
86
+ export function wotsKeypairFromSeed(seed, index) {
87
+ const pk = derive_pk_digest_wasm(seed, index);
93
88
  return { seed, index, pk };
94
89
  }
package/dist/wots.d.ts CHANGED
@@ -38,7 +38,7 @@ export declare const concatBytes: (...arrs: Uint8Array[]) => Uint8Array<ArrayBuf
38
38
  export declare const u16be: (n: number) => Uint8Array<ArrayBuffer>;
39
39
  export declare const u32be: (n: number) => Uint8Array<ArrayBuffer>;
40
40
  export declare function assert32(u: Uint8Array, label?: string): void;
41
- export declare const h: (x: Uint8Array) => Uint8Array<ArrayBufferLike>;
41
+ export declare const h: typeof F;
42
42
  /**
43
43
  * GMSSRandom - BouncyCastle's stateful PRNG for WOTS chain seed derivation
44
44
  *