@totemsdk/core 1.2.4 → 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.
- package/README.md +1 -1
- package/dist/MiniNumber.d.ts +47 -0
- package/dist/MiniNumber.js +298 -0
- package/dist/Streamable.js +31 -54
- package/dist/adapters/index.js +9 -18
- package/dist/adapters/types.js +11 -19
- package/dist/binio.js +7 -20
- package/dist/bip39.js +14 -24
- package/dist/derive.js +7 -11
- package/dist/index.d.ts +2 -1
- package/dist/index.js +28 -141
- package/dist/javaStreamables.js +34 -55
- package/dist/lease/LeaseMonitor.js +10 -10
- package/dist/lease/LeaseStore.js +8 -9
- package/dist/lease/WatermarkStore.js +8 -9
- package/dist/lease/index.js +4 -13
- package/dist/lease-client.js +3 -8
- package/dist/legacy.js +13 -140
- package/dist/minima32.js +13 -22
- package/dist/minimaWireSerializer.js +14 -20
- package/dist/mmr.js +26 -40
- package/dist/mx.js +1 -10
- package/dist/params.js +5 -9
- package/dist/script.js +7 -12
- package/dist/scripts/contract-helpers.js +25 -36
- package/dist/scripts/dapp-types.js +6 -11
- package/dist/scripts/index.js +4 -38
- package/dist/scripts/types.js +12 -26
- package/dist/scripts/witness-serializer.js +30 -48
- package/dist/transaction.js +46 -55
- package/dist/treekey.js +82 -89
- package/dist/tx/TransactionLifecycle.js +15 -11
- package/dist/tx/TransactionReceiptStore.js +9 -9
- package/dist/tx/TransactionService.js +14 -14
- package/dist/tx/index.js +3 -11
- package/dist/tx/types.js +1 -2
- package/dist/util.js +1 -5
- package/dist/utils.js +5 -12
- package/dist/verify.js +25 -36
- package/dist/version.js +2 -5
- package/dist/wasm-sync.js +56 -61
- package/dist/wots.d.ts +2 -2
- package/dist/wots.js +65 -95
- package/package.json +1 -1
package/dist/adapters/types.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* @module @totemsdk/core/adapters/types
|
|
4
3
|
* Shared type definitions for SDK modules
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class SdkError extends Error {
|
|
5
|
+
export class SdkError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
cause;
|
|
10
8
|
constructor(message, code, cause) {
|
|
11
9
|
super(message);
|
|
12
10
|
this.code = code;
|
|
@@ -14,51 +12,45 @@ class SdkError extends Error {
|
|
|
14
12
|
this.name = 'SdkError';
|
|
15
13
|
}
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
class StorageError extends SdkError {
|
|
15
|
+
export class StorageError extends SdkError {
|
|
19
16
|
constructor(message, cause) {
|
|
20
17
|
super(message, 'STORAGE_ERROR', cause);
|
|
21
18
|
this.name = 'StorageError';
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
|
-
|
|
25
|
-
class NetworkError extends SdkError {
|
|
21
|
+
export class NetworkError extends SdkError {
|
|
26
22
|
constructor(message, cause) {
|
|
27
23
|
super(message, 'NETWORK_ERROR', cause);
|
|
28
24
|
this.name = 'NetworkError';
|
|
29
25
|
}
|
|
30
26
|
}
|
|
31
|
-
|
|
32
|
-
class AuthenticationError extends SdkError {
|
|
27
|
+
export class AuthenticationError extends SdkError {
|
|
33
28
|
constructor(message, cause) {
|
|
34
29
|
super(message, 'AUTH_ERROR', cause);
|
|
35
30
|
this.name = 'AuthenticationError';
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
|
-
|
|
39
|
-
class LeaseError extends SdkError {
|
|
33
|
+
export class LeaseError extends SdkError {
|
|
40
34
|
constructor(message, cause) {
|
|
41
35
|
super(message, 'LEASE_ERROR', cause);
|
|
42
36
|
this.name = 'LeaseError';
|
|
43
37
|
}
|
|
44
38
|
}
|
|
45
|
-
|
|
46
|
-
class TransactionError extends SdkError {
|
|
39
|
+
export class TransactionError extends SdkError {
|
|
47
40
|
constructor(message, cause) {
|
|
48
41
|
super(message, 'TRANSACTION_ERROR', cause);
|
|
49
42
|
this.name = 'TransactionError';
|
|
50
43
|
}
|
|
51
44
|
}
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
export class QuotaExceededError extends SdkError {
|
|
46
|
+
quotaInfo;
|
|
54
47
|
constructor(message, quotaInfo, cause) {
|
|
55
48
|
super(message, 'QUOTA_EXCEEDED', cause);
|
|
56
49
|
this.quotaInfo = quotaInfo;
|
|
57
50
|
this.name = 'QuotaExceededError';
|
|
58
51
|
}
|
|
59
52
|
}
|
|
60
|
-
|
|
61
|
-
function createEventEmitter() {
|
|
53
|
+
export function createEventEmitter() {
|
|
62
54
|
const listeners = new Map();
|
|
63
55
|
return {
|
|
64
56
|
on(event, listener) {
|
package/dist/binio.js
CHANGED
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
var _BinWriter_buf;
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.BinWriter = void 0;
|
|
10
|
-
class BinWriter {
|
|
11
|
-
constructor() {
|
|
12
|
-
_BinWriter_buf.set(this, []);
|
|
13
|
-
}
|
|
14
|
-
get bytes() { return new Uint8Array(__classPrivateFieldGet(this, _BinWriter_buf, "f")); }
|
|
15
|
-
writeU8(n) { __classPrivateFieldGet(this, _BinWriter_buf, "f").push(n & 0xff); }
|
|
16
|
-
writeU16(n) { __classPrivateFieldGet(this, _BinWriter_buf, "f").push((n >>> 8) & 0xff, n & 0xff); } // big-endian
|
|
1
|
+
export class BinWriter {
|
|
2
|
+
#buf = [];
|
|
3
|
+
get bytes() { return new Uint8Array(this.#buf); }
|
|
4
|
+
writeU8(n) { this.#buf.push(n & 0xff); }
|
|
5
|
+
writeU16(n) { this.#buf.push((n >>> 8) & 0xff, n & 0xff); } // big-endian
|
|
17
6
|
writeU32(n) {
|
|
18
|
-
|
|
7
|
+
this.#buf.push((n >>> 24) & 0xff, (n >>> 16) & 0xff, (n >>> 8) & 0xff, n & 0xff);
|
|
19
8
|
}
|
|
20
9
|
writeU64(bi) {
|
|
21
10
|
// big-endian 8 bytes
|
|
@@ -28,7 +17,5 @@ class BinWriter {
|
|
|
28
17
|
this.writeBytes(out);
|
|
29
18
|
}
|
|
30
19
|
writeBytes(b) { for (const x of b)
|
|
31
|
-
|
|
20
|
+
this.#buf.push(x); }
|
|
32
21
|
}
|
|
33
|
-
exports.BinWriter = BinWriter;
|
|
34
|
-
_BinWriter_buf = new WeakMap();
|
package/dist/bip39.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Minima-Compatible BIP39 Seed Phrase Handling
|
|
4
3
|
*
|
|
@@ -12,21 +11,12 @@
|
|
|
12
11
|
* - cleanSeedPhrase(): Normalizes input with prefix matching
|
|
13
12
|
* - convertStringToSeed(): Hashes phrase bytes with SHA3-256
|
|
14
13
|
*/
|
|
15
|
-
|
|
16
|
-
exports.WORD_LIST = void 0;
|
|
17
|
-
exports.cleanSeedPhrase = cleanSeedPhrase;
|
|
18
|
-
exports.validatePhrase = validatePhrase;
|
|
19
|
-
exports.convertStringToSeed = convertStringToSeed;
|
|
20
|
-
exports.convertWordListToSeed = convertWordListToSeed;
|
|
21
|
-
exports.phraseToSeed = phraseToSeed;
|
|
22
|
-
exports.generateWordList = generateWordList;
|
|
23
|
-
exports.generateSeedPhrase = generateSeedPhrase;
|
|
24
|
-
const wasm_sync_js_1 = require("./wasm-sync.js");
|
|
14
|
+
import { sha3_256 } from './wasm-sync.js';
|
|
25
15
|
/**
|
|
26
16
|
* Official BIP39 English word list (2048 words)
|
|
27
17
|
* From https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
|
|
28
18
|
*/
|
|
29
|
-
|
|
19
|
+
export const WORD_LIST = [
|
|
30
20
|
"abandon", "ability", "able", "about", "above", "absent", "absorb", "abstract",
|
|
31
21
|
"absurd", "abuse", "access", "accident", "account", "accuse", "achieve", "acid",
|
|
32
22
|
"acoustic", "acquire", "across", "act", "action", "actor", "actress", "actual",
|
|
@@ -298,7 +288,7 @@ exports.WORD_LIST = [
|
|
|
298
288
|
* @returns Canonical uppercase phrase with full words from BIP39 list
|
|
299
289
|
* @throws Error if any word cannot be matched
|
|
300
290
|
*/
|
|
301
|
-
function cleanSeedPhrase(seedPhrase) {
|
|
291
|
+
export function cleanSeedPhrase(seedPhrase) {
|
|
302
292
|
const tokens = seedPhrase.trim().split(/\s+/);
|
|
303
293
|
const matchedWords = [];
|
|
304
294
|
for (const rawToken of tokens) {
|
|
@@ -308,7 +298,7 @@ function cleanSeedPhrase(seedPhrase) {
|
|
|
308
298
|
}
|
|
309
299
|
let found = false;
|
|
310
300
|
if (token.length < 4) {
|
|
311
|
-
for (const word of
|
|
301
|
+
for (const word of WORD_LIST) {
|
|
312
302
|
if (token === word) {
|
|
313
303
|
matchedWords.push(word);
|
|
314
304
|
found = true;
|
|
@@ -317,7 +307,7 @@ function cleanSeedPhrase(seedPhrase) {
|
|
|
317
307
|
}
|
|
318
308
|
}
|
|
319
309
|
else {
|
|
320
|
-
for (const word of
|
|
310
|
+
for (const word of WORD_LIST) {
|
|
321
311
|
if (word.startsWith(token)) {
|
|
322
312
|
matchedWords.push(word);
|
|
323
313
|
found = true;
|
|
@@ -338,7 +328,7 @@ function cleanSeedPhrase(seedPhrase) {
|
|
|
338
328
|
* @param phrase - Space-separated words (any case)
|
|
339
329
|
* @returns true if all words are valid BIP39 words
|
|
340
330
|
*/
|
|
341
|
-
function validatePhrase(phrase) {
|
|
331
|
+
export function validatePhrase(phrase) {
|
|
342
332
|
try {
|
|
343
333
|
cleanSeedPhrase(phrase);
|
|
344
334
|
return true;
|
|
@@ -361,10 +351,10 @@ function validatePhrase(phrase) {
|
|
|
361
351
|
* @param phrase - Canonical phrase (should be cleaned first with cleanSeedPhrase)
|
|
362
352
|
* @returns 32-byte SHA3-256 seed
|
|
363
353
|
*/
|
|
364
|
-
function convertStringToSeed(phrase) {
|
|
354
|
+
export function convertStringToSeed(phrase) {
|
|
365
355
|
const encoder = new TextEncoder();
|
|
366
356
|
const phraseBytes = encoder.encode(phrase);
|
|
367
|
-
return
|
|
357
|
+
return sha3_256(phraseBytes);
|
|
368
358
|
}
|
|
369
359
|
/**
|
|
370
360
|
* Convert word array to seed matching Minima's BIP39.convertWordListToSeed()
|
|
@@ -377,7 +367,7 @@ function convertStringToSeed(phrase) {
|
|
|
377
367
|
* @param words - Array of BIP39 words
|
|
378
368
|
* @returns 32-byte SHA3-256 seed
|
|
379
369
|
*/
|
|
380
|
-
function convertWordListToSeed(words) {
|
|
370
|
+
export function convertWordListToSeed(words) {
|
|
381
371
|
const phrase = words.join(' ').trim();
|
|
382
372
|
return convertStringToSeed(phrase);
|
|
383
373
|
}
|
|
@@ -391,7 +381,7 @@ function convertWordListToSeed(words) {
|
|
|
391
381
|
* @returns 32-byte seed for TreeKey
|
|
392
382
|
* @throws Error if phrase contains invalid words
|
|
393
383
|
*/
|
|
394
|
-
function phraseToSeed(rawPhrase) {
|
|
384
|
+
export function phraseToSeed(rawPhrase) {
|
|
395
385
|
const canonical = cleanSeedPhrase(rawPhrase);
|
|
396
386
|
return convertStringToSeed(canonical);
|
|
397
387
|
}
|
|
@@ -401,7 +391,7 @@ function phraseToSeed(rawPhrase) {
|
|
|
401
391
|
*
|
|
402
392
|
* @returns Array of 24 random BIP39 words (lowercase)
|
|
403
393
|
*/
|
|
404
|
-
function generateWordList() {
|
|
394
|
+
export function generateWordList() {
|
|
405
395
|
const randomValues = new Uint32Array(24);
|
|
406
396
|
if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
|
|
407
397
|
crypto.getRandomValues(randomValues);
|
|
@@ -420,8 +410,8 @@ function generateWordList() {
|
|
|
420
410
|
}
|
|
421
411
|
const words = [];
|
|
422
412
|
for (let i = 0; i < 24; i++) {
|
|
423
|
-
const index = randomValues[i] %
|
|
424
|
-
words.push(
|
|
413
|
+
const index = randomValues[i] % WORD_LIST.length;
|
|
414
|
+
words.push(WORD_LIST[index]);
|
|
425
415
|
}
|
|
426
416
|
return words;
|
|
427
417
|
}
|
|
@@ -429,6 +419,6 @@ function generateWordList() {
|
|
|
429
419
|
* Generate a new random seed phrase as a string
|
|
430
420
|
* @returns 24-word phrase in UPPERCASE (canonical form)
|
|
431
421
|
*/
|
|
432
|
-
function generateSeedPhrase() {
|
|
422
|
+
export function generateSeedPhrase() {
|
|
433
423
|
return generateWordList().join(' ').toUpperCase();
|
|
434
424
|
}
|
package/dist/derive.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const minima32_js_1 = require("./minima32.js");
|
|
7
|
-
function scriptToAddress(script) {
|
|
8
|
-
const root32 = (0, mmr_js_1.mmrRootFromSingleLeaf)(script);
|
|
9
|
-
return (0, minima32_js_1.makeMxAddress)(root32);
|
|
1
|
+
import { mmrRootFromSingleLeaf } from "./mmr.js";
|
|
2
|
+
import { makeMxAddress, parseMxAddress } from "./minima32.js";
|
|
3
|
+
export function scriptToAddress(script) {
|
|
4
|
+
const root32 = mmrRootFromSingleLeaf(script);
|
|
5
|
+
return makeMxAddress(root32);
|
|
10
6
|
}
|
|
11
|
-
function addressToRoot(mx) {
|
|
12
|
-
return
|
|
7
|
+
export function addressToRoot(mx) {
|
|
8
|
+
return parseMxAddress(mx);
|
|
13
9
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export * from './mmr.js';
|
|
|
26
26
|
export * from './scripts/index.js';
|
|
27
27
|
export { scriptToAddress, addressToRoot } from './derive.js';
|
|
28
28
|
export { WORD_LIST, convertStringToSeed, convertWordListToSeed, generateSeedPhrase, } from './bip39.js';
|
|
29
|
+
export { MiniNumber } from './MiniNumber.js';
|
|
29
30
|
export { type MinimaTransaction, type MinimaCoin, type ParsedMiniNumber, type MinimaToken, type StateVariable, type RawStateVariable, type CoinProofData, type SpendableCoinInput, type TransactionBuildResult, parseDecimalToMiniNumber, serializeCoin, createDefaultTransaction, buildMinimaCoin, } from './transaction.js';
|
|
30
31
|
export { verifySignature, verifySignatureDetailed, verifyTreeSignatureDetailed, deriveAddressFromPublicKey, normalizeHex, type VerificationResult, } from './verify.js';
|
|
31
32
|
export { writeMiniByte, writeMMREntryNumber, concat, bigIntToByteArray, type Bytes, } from './Streamable.js';
|
|
@@ -37,6 +38,6 @@ export declare const MINIMA_CONSTANTS: {
|
|
|
37
38
|
readonly WOTS_N: 32;
|
|
38
39
|
readonly MAX_SIGNATURES: 262144;
|
|
39
40
|
readonly SIGNATURE_LEVELS: 3;
|
|
40
|
-
readonly ADDRESS_PREFIX:
|
|
41
|
+
readonly ADDRESS_PREFIX: 'Mx';
|
|
41
42
|
readonly NETWORK_ID: 1;
|
|
42
43
|
};
|
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,178 +5,66 @@
|
|
|
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.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
|
-
|
|
9
|
+
export * from './version.js';
|
|
28
10
|
// Platform-agnostic Adapters (SDK Upgrade)
|
|
29
|
-
|
|
11
|
+
export * from './adapters/index.js';
|
|
30
12
|
// Lease Management (SDK Upgrade) - exclude conflicting WotsIndices
|
|
31
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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';
|
|
53
21
|
// SHA3-256
|
|
54
|
-
|
|
55
|
-
Object.defineProperty(exports, "sha3_256", { enumerable: true, get: function () { return wasm_sync_js_2.sha3_256; } });
|
|
22
|
+
export { sha3_256 } from './wasm-sync.js';
|
|
56
23
|
// WOTS Signatures
|
|
57
|
-
|
|
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; } });
|
|
24
|
+
export { expandPrivateKey, hashChain, derivePKdigest, deriveFullPublicKey, wotsSign, wotsVerify, wotsVerifyDigest, wotsPkFromSig, wotsPublicKeyFromSeed, wotsKeypairFromSeed, } from './wasm-sync.js';
|
|
68
25
|
// WOTS Params (from params.ts — constants, no crypto)
|
|
69
|
-
|
|
26
|
+
export * from './params.js';
|
|
70
27
|
// Java-Compatible Serialization
|
|
71
|
-
|
|
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; } });
|
|
28
|
+
export { deriveChainSeedJava, derivePerAddressSeed, deriveRootPrivSeed, writeMiniNumber, writeMiniData, writeMiniString, precomputeTransactionCoinID, } from './wasm-sync.js';
|
|
79
29
|
// TreeKey/TreeKeyNode — WASM-backed
|
|
80
|
-
|
|
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; } });
|
|
30
|
+
export { createUnifiedChildTreeKey, createUnifiedRootTreeKey, deriveUnifiedAddressPublicKey, verifyTreeSignature, mmrRootFromPublicKeys, verifyMMRProof, } from './wasm-sync.js';
|
|
87
31
|
// BIP39 Seed Phrase Handling
|
|
88
|
-
|
|
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; } });
|
|
32
|
+
export { phraseToSeed, generateWordList, validatePhrase, cleanSeedPhrase, } from './wasm-sync.js';
|
|
93
33
|
// Address Derivation
|
|
94
|
-
|
|
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; } });
|
|
34
|
+
export { makeMxAddress, parseMxAddress, wotsAddressFromKeypair, } from './wasm-sync.js';
|
|
98
35
|
// Transaction Serialization & Digest
|
|
99
|
-
|
|
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; } });
|
|
36
|
+
export { serializeTransaction, computeTransactionDigest, } from './wasm-sync.js';
|
|
102
37
|
// Verification
|
|
103
|
-
|
|
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; } });
|
|
38
|
+
export { timingSafeEqual, createChallenge, validateChallenge, } from './wasm-sync.js';
|
|
107
39
|
// ---------------------------------------------------------------------------
|
|
108
40
|
// TypeScript-only modules (no crypto — keep as-is)
|
|
109
41
|
// ---------------------------------------------------------------------------
|
|
110
42
|
// Script helpers (for address derivation)
|
|
111
|
-
|
|
112
|
-
Object.defineProperty(exports, "scriptFromWotsPk", { enumerable: true, get: function () { return script_js_1.scriptFromWotsPk; } });
|
|
43
|
+
export { scriptFromWotsPk } from './script.js';
|
|
113
44
|
// Base32 Encoding (Minima-compatible) — re-export from WASM
|
|
114
|
-
|
|
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; } });
|
|
45
|
+
export { makeMxAddress as encodeMx, parseMxAddress as decodeMx } from './wasm-sync.js';
|
|
117
46
|
// Merkle Mountain Range (original JS — types and helpers)
|
|
118
|
-
|
|
47
|
+
export * from './mmr.js';
|
|
119
48
|
// Script Types, Witness Serializer, Contract Helpers
|
|
120
|
-
|
|
49
|
+
export * from './scripts/index.js';
|
|
121
50
|
// Address Derivation (original)
|
|
122
|
-
|
|
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; } });
|
|
51
|
+
export { scriptToAddress, addressToRoot } from './derive.js';
|
|
125
52
|
// BIP39 — re-export word list and legacy helpers from JS
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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; } });
|
|
53
|
+
export { WORD_LIST, convertStringToSeed, convertWordListToSeed, generateSeedPhrase, } from './bip39.js';
|
|
54
|
+
// MiniNumber class (matches Java MiniNumber/BigDecimal semantics)
|
|
55
|
+
export { MiniNumber } from './MiniNumber.js';
|
|
131
56
|
// Transaction types (from JS)
|
|
132
|
-
|
|
133
|
-
Object.defineProperty(exports, "parseDecimalToMiniNumber", { enumerable: true, get: function () { return transaction_js_1.parseDecimalToMiniNumber; } });
|
|
134
|
-
Object.defineProperty(exports, "serializeCoin", { enumerable: true, get: function () { return transaction_js_1.serializeCoin; } });
|
|
135
|
-
Object.defineProperty(exports, "createDefaultTransaction", { enumerable: true, get: function () { return transaction_js_1.createDefaultTransaction; } });
|
|
136
|
-
Object.defineProperty(exports, "buildMinimaCoin", { enumerable: true, get: function () { return transaction_js_1.buildMinimaCoin; } });
|
|
57
|
+
export { parseDecimalToMiniNumber, serializeCoin, createDefaultTransaction, buildMinimaCoin, } from './transaction.js';
|
|
137
58
|
// High-level Verification API (convenience functions for integrators)
|
|
138
|
-
|
|
139
|
-
Object.defineProperty(exports, "verifySignature", { enumerable: true, get: function () { return verify_js_1.verifySignature; } });
|
|
140
|
-
Object.defineProperty(exports, "verifySignatureDetailed", { enumerable: true, get: function () { return verify_js_1.verifySignatureDetailed; } });
|
|
141
|
-
Object.defineProperty(exports, "verifyTreeSignatureDetailed", { enumerable: true, get: function () { return verify_js_1.verifyTreeSignatureDetailed; } });
|
|
142
|
-
Object.defineProperty(exports, "deriveAddressFromPublicKey", { enumerable: true, get: function () { return verify_js_1.deriveAddressFromPublicKey; } });
|
|
143
|
-
Object.defineProperty(exports, "normalizeHex", { enumerable: true, get: function () { return verify_js_1.normalizeHex; } });
|
|
59
|
+
export { verifySignature, verifySignatureDetailed, verifyTreeSignatureDetailed, deriveAddressFromPublicKey, normalizeHex, } from './verify.js';
|
|
144
60
|
// Streamable primitives (low-level serialization building blocks)
|
|
145
|
-
|
|
146
|
-
Object.defineProperty(exports, "writeMiniByte", { enumerable: true, get: function () { return Streamable_js_1.writeMiniByte; } });
|
|
147
|
-
Object.defineProperty(exports, "writeMMREntryNumber", { enumerable: true, get: function () { return Streamable_js_1.writeMMREntryNumber; } });
|
|
148
|
-
Object.defineProperty(exports, "concat", { enumerable: true, get: function () { return Streamable_js_1.concat; } });
|
|
149
|
-
Object.defineProperty(exports, "bigIntToByteArray", { enumerable: true, get: function () { return Streamable_js_1.bigIntToByteArray; } });
|
|
61
|
+
export { writeMiniByte, writeMMREntryNumber, concat, bigIntToByteArray, } from './Streamable.js';
|
|
150
62
|
// Java-Compatible Serialization Helpers (non-crypto)
|
|
151
|
-
|
|
152
|
-
Object.defineProperty(exports, "serializeMiniNumber", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMiniNumber; } });
|
|
153
|
-
Object.defineProperty(exports, "serializeMiniData", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMiniData; } });
|
|
154
|
-
Object.defineProperty(exports, "hashAllObjects", { enumerable: true, get: function () { return javaStreamables_js_1.hashAllObjects; } });
|
|
155
|
-
Object.defineProperty(exports, "deriveChildTreeSeedJava", { enumerable: true, get: function () { return javaStreamables_js_1.deriveChildTreeSeedJava; } });
|
|
156
|
-
Object.defineProperty(exports, "hashObject", { enumerable: true, get: function () { return javaStreamables_js_1.hashObject; } });
|
|
157
|
-
Object.defineProperty(exports, "serializeMiniNumberZERO", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMiniNumberZERO; } });
|
|
158
|
-
Object.defineProperty(exports, "serializeMiniNumberONE", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMiniNumberONE; } });
|
|
159
|
-
Object.defineProperty(exports, "writeHashToStream", { enumerable: true, get: function () { return javaStreamables_js_1.writeHashToStream; } });
|
|
160
|
-
Object.defineProperty(exports, "javaHashAllObjects", { enumerable: true, get: function () { return javaStreamables_js_1.javaHashAllObjects; } });
|
|
161
|
-
Object.defineProperty(exports, "indexToMiniDataBytes", { enumerable: true, get: function () { return javaStreamables_js_1.indexToMiniDataBytes; } });
|
|
162
|
-
Object.defineProperty(exports, "deriveUnifiedChildSeed", { enumerable: true, get: function () { return javaStreamables_js_1.deriveUnifiedChildSeed; } });
|
|
163
|
-
Object.defineProperty(exports, "createMMREntryNumber", { enumerable: true, get: function () { return javaStreamables_js_1.createMMREntryNumber; } });
|
|
164
|
-
Object.defineProperty(exports, "serializeMMREntryNumber", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMMREntryNumber; } });
|
|
165
|
-
Object.defineProperty(exports, "serializeMMRData", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMMRData; } });
|
|
166
|
-
Object.defineProperty(exports, "serializeMMREntry", { enumerable: true, get: function () { return javaStreamables_js_1.serializeMMREntry; } });
|
|
63
|
+
export { serializeMiniNumber, serializeMiniData, hashAllObjects, deriveChildTreeSeedJava, hashObject, serializeMiniNumberZERO, serializeMiniNumberONE, writeHashToStream, javaHashAllObjects, indexToMiniDataBytes, deriveUnifiedChildSeed, createMMREntryNumber, serializeMMREntryNumber, serializeMMRData, serializeMMREntry, } from './javaStreamables.js';
|
|
167
64
|
// TreeKey/TreeKeyNode — JS types and helpers
|
|
168
|
-
|
|
169
|
-
Object.defineProperty(exports, "TreeKey", { enumerable: true, get: function () { return treekey_js_1.TreeKey; } });
|
|
170
|
-
Object.defineProperty(exports, "TreeKeyNode", { enumerable: true, get: function () { return treekey_js_1.TreeKeyNode; } });
|
|
171
|
-
Object.defineProperty(exports, "serializeTreeSignature", { enumerable: true, get: function () { return treekey_js_1.serializeTreeSignature; } });
|
|
172
|
-
Object.defineProperty(exports, "deserializeTreeSignature", { enumerable: true, get: function () { return treekey_js_1.deserializeTreeSignature; } });
|
|
173
|
-
Object.defineProperty(exports, "getRootPublicKey", { enumerable: true, get: function () { return treekey_js_1.getRootPublicKey; } });
|
|
174
|
-
Object.defineProperty(exports, "DEFAULT_KEYS_PER_LEVEL", { enumerable: true, get: function () { return treekey_js_1.DEFAULT_KEYS_PER_LEVEL; } });
|
|
175
|
-
Object.defineProperty(exports, "DEFAULT_LEVELS", { enumerable: true, get: function () { return treekey_js_1.DEFAULT_LEVELS; } });
|
|
176
|
-
Object.defineProperty(exports, "createUnifiedChildTreeKeyAsync", { enumerable: true, get: function () { return treekey_js_1.createUnifiedChildTreeKeyAsync; } });
|
|
177
|
-
Object.defineProperty(exports, "createPerAddressTreeKey", { enumerable: true, get: function () { return treekey_js_1.createPerAddressTreeKey; } });
|
|
178
|
-
Object.defineProperty(exports, "createPerAddressTreeKeyAsync", { enumerable: true, get: function () { return treekey_js_1.createPerAddressTreeKeyAsync; } });
|
|
65
|
+
export { TreeKey, TreeKeyNode, serializeTreeSignature, deserializeTreeSignature, getRootPublicKey, DEFAULT_KEYS_PER_LEVEL, DEFAULT_LEVELS, createUnifiedChildTreeKeyAsync, createPerAddressTreeKey, createPerAddressTreeKeyAsync, } from './treekey.js';
|
|
179
66
|
// Constants
|
|
180
|
-
|
|
67
|
+
export const MINIMA_CONSTANTS = {
|
|
181
68
|
WOTS_W: 8,
|
|
182
69
|
WOTS_N: 32,
|
|
183
70
|
MAX_SIGNATURES: 262144,
|