@totemsdk/core 1.2.6 → 1.2.8
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/dist/MiniNumber.js +9 -1
- package/dist/canonical.d.ts +3 -0
- package/dist/canonical.js +22 -0
- package/dist/cjs/MiniNumber.d.ts +47 -0
- package/dist/cjs/MiniNumber.js +310 -0
- package/dist/cjs/Streamable.d.ts +268 -0
- package/dist/cjs/Streamable.js +439 -0
- package/dist/cjs/adapters/index.d.ts +190 -0
- package/dist/cjs/adapters/index.js +118 -0
- package/dist/cjs/adapters/types.d.ts +150 -0
- package/dist/cjs/adapters/types.js +81 -0
- package/dist/cjs/binio.d.ts +9 -0
- package/dist/cjs/binio.js +25 -0
- package/dist/cjs/bip39.d.ts +91 -0
- package/dist/cjs/bip39.js +434 -0
- package/dist/cjs/canonical.d.ts +3 -0
- package/dist/cjs/canonical.js +27 -0
- package/dist/cjs/derive.d.ts +2 -0
- package/dist/cjs/derive.js +13 -0
- package/dist/cjs/index.d.ts +49 -0
- package/dist/cjs/index.js +231 -0
- package/dist/cjs/javaStreamables.d.ts +254 -0
- package/dist/cjs/javaStreamables.js +391 -0
- package/dist/cjs/lease/LeaseMonitor.d.ts +44 -0
- package/dist/cjs/lease/LeaseMonitor.js +115 -0
- package/dist/cjs/lease/LeaseStore.d.ts +58 -0
- package/dist/cjs/lease/LeaseStore.js +151 -0
- package/dist/cjs/lease/WatermarkStore.d.ts +61 -0
- package/dist/cjs/lease/WatermarkStore.js +209 -0
- package/dist/cjs/lease/index.d.ts +14 -0
- package/dist/cjs/lease/index.js +22 -0
- package/dist/cjs/lease-client.d.ts +31 -0
- package/dist/cjs/lease-client.js +44 -0
- package/dist/cjs/legacy.d.ts +23 -0
- package/dist/cjs/legacy.js +163 -0
- package/dist/cjs/minima32.d.ts +18 -0
- package/dist/cjs/minima32.js +121 -0
- package/dist/cjs/minimaWireSerializer.d.ts +60 -0
- package/dist/cjs/minimaWireSerializer.js +77 -0
- package/dist/cjs/mmr.d.ts +157 -0
- package/dist/cjs/mmr.js +352 -0
- package/dist/cjs/mx.d.ts +1 -0
- package/dist/cjs/mx.js +10 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/params.d.ts +29 -0
- package/dist/cjs/params.js +20 -0
- package/dist/cjs/script.d.ts +7 -0
- package/dist/cjs/script.js +27 -0
- package/dist/cjs/scripts/contract-helpers.d.ts +252 -0
- package/dist/cjs/scripts/contract-helpers.js +407 -0
- package/dist/cjs/scripts/dapp-types.d.ts +119 -0
- package/dist/cjs/scripts/dapp-types.js +77 -0
- package/dist/cjs/scripts/index.d.ts +4 -0
- package/dist/cjs/scripts/index.js +38 -0
- package/dist/cjs/scripts/types.d.ts +81 -0
- package/dist/cjs/scripts/types.js +159 -0
- package/dist/cjs/scripts/witness-serializer.d.ts +29 -0
- package/dist/cjs/scripts/witness-serializer.js +306 -0
- package/dist/cjs/transaction.d.ts +106 -0
- package/dist/cjs/transaction.js +293 -0
- package/dist/cjs/treekey.d.ts +399 -0
- package/dist/cjs/treekey.js +827 -0
- package/dist/cjs/tx/TransactionLifecycle.d.ts +55 -0
- package/dist/cjs/tx/TransactionLifecycle.js +205 -0
- package/dist/cjs/tx/TransactionReceiptStore.d.ts +36 -0
- package/dist/cjs/tx/TransactionReceiptStore.js +93 -0
- package/dist/cjs/tx/TransactionService.d.ts +50 -0
- package/dist/cjs/tx/TransactionService.js +186 -0
- package/dist/cjs/tx/index.d.ts +13 -0
- package/dist/cjs/tx/index.js +20 -0
- package/dist/cjs/tx/types.d.ts +115 -0
- package/dist/cjs/tx/types.js +6 -0
- package/dist/cjs/util.d.ts +1 -0
- package/dist/cjs/util.js +5 -0
- package/dist/cjs/utils.d.ts +8 -0
- package/dist/cjs/utils.js +42 -0
- package/dist/cjs/verify.d.ts +18 -0
- package/dist/cjs/verify.js +174 -0
- package/dist/cjs/version.d.ts +12 -0
- package/dist/cjs/version.js +15 -0
- package/dist/cjs/wasm-sync.d.ts +71 -0
- package/dist/cjs/wasm-sync.js +97 -0
- package/dist/cjs/wots.d.ts +232 -0
- package/dist/cjs/wots.js +589 -0
- package/dist/index.d.ts +9 -3
- package/dist/index.js +25 -2
- package/dist/minimaWireSerializer.js +2 -2
- package/dist/mmr.js +1 -1
- package/dist/transaction.js +10 -10
- package/dist/treekey.js +14 -0
- package/dist/wasm-sync.d.ts +2 -2
- package/dist/wasm-sync.js +3 -1
- package/dist/wots.d.ts +1 -1
- package/package.json +84 -45
- package/dist/wasm-bridge.d.ts +0 -54
- package/dist/wasm-bridge.js +0 -303
|
@@ -46,9 +46,9 @@ function serializeSignatureProofFromBytes(publicKey, signature, mmrProofBytes) {
|
|
|
46
46
|
export function serializeHierarchicalWitness(bundle) {
|
|
47
47
|
const parts = [];
|
|
48
48
|
// Witness.signatureCount (MiniNumber) - 1 Signature object containing N proofs
|
|
49
|
-
parts.push(writeMiniNumber(1n));
|
|
49
|
+
parts.push(writeMiniNumber(1n, 0));
|
|
50
50
|
// Signature.proofCount (MiniNumber) - N SignatureProofs inside the Signature
|
|
51
|
-
parts.push(writeMiniNumber(BigInt(bundle.proofs.length)));
|
|
51
|
+
parts.push(writeMiniNumber(BigInt(bundle.proofs.length), 0));
|
|
52
52
|
for (const proofHex of bundle.proofs) {
|
|
53
53
|
const publicKey = hexToBytes(proofHex.leafPubkey);
|
|
54
54
|
const signature = hexToBytes(proofHex.signature);
|
package/dist/mmr.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// packages/
|
|
1
|
+
// packages/core/src/mmr.ts
|
|
2
2
|
// Full MMR implementation matching Minima's MMR.java, MMRData.java, and TreeKeyNode.java
|
|
3
3
|
import { sha3_256 as nobleSha3 } from './wasm-sync.js';
|
|
4
4
|
import { serializeMiniNumber, serializeMiniData, javaHashAllObjects } from "./javaStreamables.js";
|
package/dist/transaction.js
CHANGED
|
@@ -91,10 +91,10 @@ function serializeStateVariable(sv) {
|
|
|
91
91
|
case 'number':
|
|
92
92
|
typeByte = new Uint8Array([STATETYPE_NUMBER]);
|
|
93
93
|
if (typeof sv.value === 'bigint') {
|
|
94
|
-
dataBytes = writeMiniNumber(sv.value);
|
|
94
|
+
dataBytes = writeMiniNumber(sv.value, 0);
|
|
95
95
|
}
|
|
96
96
|
else if (typeof sv.value === 'string') {
|
|
97
|
-
dataBytes = writeMiniNumber(BigInt(sv.value));
|
|
97
|
+
dataBytes = writeMiniNumber(BigInt(sv.value), 0);
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
100
|
throw new Error(`Invalid number StateVariable value: ${sv.value}`);
|
|
@@ -137,10 +137,10 @@ function serializeToken(token) {
|
|
|
137
137
|
const parts = [];
|
|
138
138
|
parts.push(writeHashToStream(token.coinId));
|
|
139
139
|
parts.push(writeMiniData(token.script));
|
|
140
|
-
parts.push(writeMiniNumber(BigInt(token.scale)));
|
|
140
|
+
parts.push(writeMiniNumber(BigInt(token.scale), 0));
|
|
141
141
|
parts.push(writeMiniNumber(token.totalAmount, 0));
|
|
142
142
|
parts.push(writeMiniData(token.name));
|
|
143
|
-
parts.push(writeMiniNumber(token.created ?? 0n));
|
|
143
|
+
parts.push(writeMiniNumber(token.created ?? 0n, 0));
|
|
144
144
|
return concat(...parts);
|
|
145
145
|
}
|
|
146
146
|
export function serializeCoin(coin) {
|
|
@@ -172,10 +172,10 @@ export function serializeCoin(coin) {
|
|
|
172
172
|
createdBytes = coin.rawBlockCreatedBytes;
|
|
173
173
|
}
|
|
174
174
|
else {
|
|
175
|
-
createdBytes = writeMiniNumber(coin.created);
|
|
175
|
+
createdBytes = writeMiniNumber(coin.created, 0);
|
|
176
176
|
}
|
|
177
177
|
parts.push(createdBytes);
|
|
178
|
-
const stateCountBytes = writeMiniNumber(BigInt(coin.state.length));
|
|
178
|
+
const stateCountBytes = writeMiniNumber(BigInt(coin.state.length), 0);
|
|
179
179
|
parts.push(stateCountBytes);
|
|
180
180
|
for (const sv of coin.state) {
|
|
181
181
|
let svBytes;
|
|
@@ -205,15 +205,15 @@ export function serializeCoin(coin) {
|
|
|
205
205
|
}
|
|
206
206
|
export function serializeTransaction(tx) {
|
|
207
207
|
const parts = [];
|
|
208
|
-
parts.push(writeMiniNumber(BigInt(tx.inputs.length)));
|
|
208
|
+
parts.push(writeMiniNumber(BigInt(tx.inputs.length), 0));
|
|
209
209
|
for (const input of tx.inputs) {
|
|
210
210
|
parts.push(serializeCoin(input));
|
|
211
211
|
}
|
|
212
|
-
parts.push(writeMiniNumber(BigInt(tx.outputs.length)));
|
|
212
|
+
parts.push(writeMiniNumber(BigInt(tx.outputs.length), 0));
|
|
213
213
|
for (const output of tx.outputs) {
|
|
214
214
|
parts.push(serializeCoin(output));
|
|
215
215
|
}
|
|
216
|
-
parts.push(writeMiniNumber(BigInt(tx.state.length)));
|
|
216
|
+
parts.push(writeMiniNumber(BigInt(tx.state.length), 0));
|
|
217
217
|
for (const sv of tx.state) {
|
|
218
218
|
parts.push(serializeStateVariable(sv));
|
|
219
219
|
}
|
|
@@ -234,7 +234,7 @@ export function precomputeTransactionCoinID(tx) {
|
|
|
234
234
|
}
|
|
235
235
|
for (let i = 0; i < tx.outputs.length; i++) {
|
|
236
236
|
const baseCoinIdStream = writeMiniData(baseCoinId);
|
|
237
|
-
const outputIndexStream = writeMiniNumber(BigInt(i));
|
|
237
|
+
const outputIndexStream = writeMiniNumber(BigInt(i), 0);
|
|
238
238
|
const combined = concat(baseCoinIdStream, outputIndexStream);
|
|
239
239
|
tx.outputs[i].coinId = sha3_256(combined);
|
|
240
240
|
}
|
package/dist/treekey.js
CHANGED
|
@@ -674,22 +674,36 @@ export function deserializeTreeSignature(data) {
|
|
|
674
674
|
const scale = data[offset];
|
|
675
675
|
const numBytesLen = data[offset + 1];
|
|
676
676
|
offset += 2;
|
|
677
|
+
if (!Number.isInteger(numBytesLen) || numBytesLen < 0 || numBytesLen > 4) {
|
|
678
|
+
throw new Error('Malformed signature: invalid proof-count length');
|
|
679
|
+
}
|
|
677
680
|
// Read the number bytes (big-endian)
|
|
678
681
|
let numProofs = 0;
|
|
679
682
|
for (let i = 0; i < numBytesLen; i++) {
|
|
680
683
|
numProofs = (numProofs << 8) | data[offset + i];
|
|
681
684
|
}
|
|
682
685
|
offset += numBytesLen;
|
|
686
|
+
if (!Number.isInteger(numProofs) || numProofs < 1 || numProofs > 8) {
|
|
687
|
+
throw new Error(`Malformed signature: impossible proof count (${numProofs})`);
|
|
688
|
+
}
|
|
683
689
|
const proofs = [];
|
|
684
690
|
for (let i = 0; i < numProofs; i++) {
|
|
685
691
|
// Leaf pubkey - MiniData format (4-byte length prefix + data)
|
|
692
|
+
if (offset + 4 > data.length)
|
|
693
|
+
throw new Error('Malformed signature: truncated leaf pubkey length');
|
|
686
694
|
const pubkeyLen = (data[offset] << 24) | (data[offset + 1] << 16) | (data[offset + 2] << 8) | data[offset + 3];
|
|
687
695
|
offset += 4;
|
|
696
|
+
if (pubkeyLen < 0 || offset + pubkeyLen > data.length)
|
|
697
|
+
throw new Error('Malformed signature: leaf pubkey out of bounds');
|
|
688
698
|
const leafPubkey = data.slice(offset, offset + pubkeyLen);
|
|
689
699
|
offset += pubkeyLen;
|
|
690
700
|
// Signature - MiniData format (4-byte length prefix + data)
|
|
701
|
+
if (offset + 4 > data.length)
|
|
702
|
+
throw new Error('Malformed signature: truncated signature length');
|
|
691
703
|
const sigLen = (data[offset] << 24) | (data[offset + 1] << 16) | (data[offset + 2] << 8) | data[offset + 3];
|
|
692
704
|
offset += 4;
|
|
705
|
+
if (sigLen < 0 || offset + sigLen > data.length)
|
|
706
|
+
throw new Error('Malformed signature: signature out of bounds');
|
|
693
707
|
const signature = data.slice(offset, offset + sigLen);
|
|
694
708
|
offset += sigLen;
|
|
695
709
|
// MMR proof - returns { proof, blockTime, bytesRead }
|
package/dist/wasm-sync.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* import { wotsSign, sha3_256 } from '@totemsdk/core/wasm';
|
|
9
9
|
* const sig = wotsSign(seed, 0, message); // synchronous!
|
|
10
10
|
*/
|
|
11
|
-
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_pk_from_sig_wasm, wots_sign_batch_wasm, wots_sign_wasm, wots_verify_digest_wasm, wots_verify_wasm, write_mini_data_wasm,
|
|
11
|
+
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_pk_from_sig_wasm, wots_sign_batch_wasm, wots_sign_wasm, wots_verify_digest_wasm, wots_verify_wasm, write_mini_data_wasm, write_mini_string_wasm } from '@totemsdk/core-wasm';
|
|
12
12
|
export declare const bytesToHex: typeof bytes_to_hex_wasm;
|
|
13
13
|
export declare const hexToBytes: typeof hex_to_bytes_wasm;
|
|
14
14
|
export declare const concatBytes: typeof concat_bytes_wasm;
|
|
@@ -43,7 +43,7 @@ export declare const verifyTreeSignature: typeof verify_tree_signature_wasm;
|
|
|
43
43
|
export declare const timingSafeEqual: typeof timing_safe_equal_wasm;
|
|
44
44
|
export declare const createChallenge: typeof create_challenge_wasm;
|
|
45
45
|
export declare const validateChallenge: typeof validate_challenge_wasm;
|
|
46
|
-
export declare
|
|
46
|
+
export declare function writeMiniNumber(value: bigint, scale?: number): Uint8Array;
|
|
47
47
|
export declare const writeMiniData: typeof write_mini_data_wasm;
|
|
48
48
|
export declare const writeMiniString: typeof write_mini_string_wasm;
|
|
49
49
|
export declare const createUnifiedChildTreeKey: typeof create_unified_child_tree_key_wasm;
|
package/dist/wasm-sync.js
CHANGED
|
@@ -50,7 +50,9 @@ export const verifyTreeSignature = verify_tree_signature_wasm;
|
|
|
50
50
|
export const timingSafeEqual = timing_safe_equal_wasm;
|
|
51
51
|
export const createChallenge = create_challenge_wasm;
|
|
52
52
|
export const validateChallenge = validate_challenge_wasm;
|
|
53
|
-
export
|
|
53
|
+
export function writeMiniNumber(value, scale = 0) {
|
|
54
|
+
return write_mini_number_wasm(value.toString(), scale);
|
|
55
|
+
}
|
|
54
56
|
export const writeMiniData = write_mini_data_wasm;
|
|
55
57
|
export const writeMiniString = write_mini_string_wasm;
|
|
56
58
|
export const createUnifiedChildTreeKey = create_unified_child_tree_key_wasm;
|
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:
|
|
41
|
+
export declare const h: (x: Uint8Array) => Uint8Array<ArrayBufferLike>;
|
|
42
42
|
/**
|
|
43
43
|
* GMSSRandom - BouncyCastle's stateful PRNG for WOTS chain seed derivation
|
|
44
44
|
*
|
package/package.json
CHANGED
|
@@ -1,84 +1,118 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@totemsdk/core",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.8",
|
|
4
4
|
"description": "Core cryptographic primitives for Totem SDK — backed by Rust/WASM",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/cjs/index.js",
|
|
7
|
+
"types": "dist/cjs/index.d.ts",
|
|
7
8
|
"exports": {
|
|
8
9
|
".": {
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
"import": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"require": {
|
|
15
|
+
"types": "./dist/cjs/index.d.ts",
|
|
16
|
+
"default": "./dist/cjs/index.js"
|
|
17
|
+
}
|
|
12
18
|
},
|
|
13
19
|
"./wasm": {
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
20
|
+
"import": {
|
|
21
|
+
"types": "./dist/wasm-sync.d.ts",
|
|
22
|
+
"default": "./dist/wasm-sync.js"
|
|
23
|
+
},
|
|
24
|
+
"require": {
|
|
25
|
+
"types": "./dist/cjs/wasm-sync.d.ts",
|
|
26
|
+
"default": "./dist/cjs/wasm-sync.js"
|
|
27
|
+
}
|
|
17
28
|
},
|
|
18
29
|
"./legacy": {
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
"import": {
|
|
31
|
+
"types": "./dist/legacy.d.ts",
|
|
32
|
+
"default": "./dist/legacy.js"
|
|
33
|
+
},
|
|
34
|
+
"require": {
|
|
35
|
+
"types": "./dist/cjs/legacy.d.ts",
|
|
36
|
+
"default": "./dist/cjs/legacy.js"
|
|
37
|
+
}
|
|
22
38
|
},
|
|
23
39
|
"./adapters": {
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
"import": {
|
|
41
|
+
"types": "./dist/adapters/index.d.ts",
|
|
42
|
+
"default": "./dist/adapters/index.js"
|
|
43
|
+
},
|
|
44
|
+
"require": {
|
|
45
|
+
"types": "./dist/cjs/adapters/index.d.ts",
|
|
46
|
+
"default": "./dist/cjs/adapters/index.js"
|
|
47
|
+
}
|
|
27
48
|
},
|
|
28
49
|
"./adapters/types": {
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
50
|
+
"import": {
|
|
51
|
+
"types": "./dist/adapters/types.d.ts",
|
|
52
|
+
"default": "./dist/adapters/types.js"
|
|
53
|
+
},
|
|
54
|
+
"require": {
|
|
55
|
+
"types": "./dist/cjs/adapters/types.d.ts",
|
|
56
|
+
"default": "./dist/cjs/adapters/types.js"
|
|
57
|
+
}
|
|
32
58
|
},
|
|
33
59
|
"./lease": {
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
60
|
+
"import": {
|
|
61
|
+
"types": "./dist/lease/index.d.ts",
|
|
62
|
+
"default": "./dist/lease/index.js"
|
|
63
|
+
},
|
|
64
|
+
"require": {
|
|
65
|
+
"types": "./dist/cjs/lease/index.d.ts",
|
|
66
|
+
"default": "./dist/cjs/lease/index.js"
|
|
67
|
+
}
|
|
37
68
|
},
|
|
38
69
|
"./tx": {
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
70
|
+
"import": {
|
|
71
|
+
"types": "./dist/tx/index.d.ts",
|
|
72
|
+
"default": "./dist/tx/index.js"
|
|
73
|
+
},
|
|
74
|
+
"require": {
|
|
75
|
+
"types": "./dist/cjs/tx/index.d.ts",
|
|
76
|
+
"default": "./dist/cjs/tx/index.js"
|
|
77
|
+
}
|
|
42
78
|
},
|
|
43
79
|
"./scripts": {
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
80
|
+
"import": {
|
|
81
|
+
"types": "./dist/scripts/index.d.ts",
|
|
82
|
+
"default": "./dist/scripts/index.js"
|
|
83
|
+
},
|
|
84
|
+
"require": {
|
|
85
|
+
"types": "./dist/cjs/scripts/index.d.ts",
|
|
86
|
+
"default": "./dist/cjs/scripts/index.js"
|
|
87
|
+
}
|
|
47
88
|
},
|
|
48
89
|
"./test-vectors.json": "./test-vectors.json"
|
|
49
90
|
},
|
|
50
91
|
"typesVersions": {
|
|
51
92
|
"*": {
|
|
52
93
|
"wasm": [
|
|
53
|
-
"./dist/wasm-sync.d.ts"
|
|
94
|
+
"./dist/cjs/wasm-sync.d.ts"
|
|
54
95
|
],
|
|
55
96
|
"legacy": [
|
|
56
|
-
"./dist/legacy.d.ts"
|
|
97
|
+
"./dist/cjs/legacy.d.ts"
|
|
57
98
|
],
|
|
58
99
|
"adapters": [
|
|
59
|
-
"./dist/adapters/index.d.ts"
|
|
100
|
+
"./dist/cjs/adapters/index.d.ts"
|
|
60
101
|
],
|
|
61
102
|
"adapters/types": [
|
|
62
|
-
"./dist/adapters/types.d.ts"
|
|
103
|
+
"./dist/cjs/adapters/types.d.ts"
|
|
63
104
|
],
|
|
64
105
|
"lease": [
|
|
65
|
-
"./dist/lease/index.d.ts"
|
|
106
|
+
"./dist/cjs/lease/index.d.ts"
|
|
66
107
|
],
|
|
67
108
|
"tx": [
|
|
68
|
-
"./dist/tx/index.d.ts"
|
|
109
|
+
"./dist/cjs/tx/index.d.ts"
|
|
69
110
|
],
|
|
70
111
|
"scripts": [
|
|
71
|
-
"./dist/scripts/index.d.ts"
|
|
112
|
+
"./dist/cjs/scripts/index.d.ts"
|
|
72
113
|
]
|
|
73
114
|
}
|
|
74
115
|
},
|
|
75
|
-
"scripts": {
|
|
76
|
-
"build": "tsc",
|
|
77
|
-
"prepare": "tsc",
|
|
78
|
-
"clean": "rm -rf dist",
|
|
79
|
-
"test": "jest --passWithNoTests",
|
|
80
|
-
"gen:pkdigest": "node scripts/gen_wots_pkdigest_vectors.cjs"
|
|
81
|
-
},
|
|
82
116
|
"files": [
|
|
83
117
|
"dist",
|
|
84
118
|
"README.md",
|
|
@@ -109,7 +143,7 @@
|
|
|
109
143
|
"repository": {
|
|
110
144
|
"type": "git",
|
|
111
145
|
"url": "git+https://github.com/totem-sdk/totem-sdk.git",
|
|
112
|
-
"directory": "packages/
|
|
146
|
+
"directory": "packages/core"
|
|
113
147
|
},
|
|
114
148
|
"keywords": [
|
|
115
149
|
"totem",
|
|
@@ -118,7 +152,12 @@
|
|
|
118
152
|
"blockchain",
|
|
119
153
|
"quantum-resistant",
|
|
120
154
|
"wots",
|
|
121
|
-
"kissvm",
|
|
122
155
|
"utxo"
|
|
123
|
-
]
|
|
124
|
-
|
|
156
|
+
],
|
|
157
|
+
"scripts": {
|
|
158
|
+
"build": "tsc && tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({type:'commonjs'})+'\\n')\"",
|
|
159
|
+
"clean": "rm -rf dist",
|
|
160
|
+
"test": "jest",
|
|
161
|
+
"gen:pkdigest": "node scripts/gen_wots_pkdigest_vectors.cjs"
|
|
162
|
+
}
|
|
163
|
+
}
|
package/dist/wasm-bridge.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WASM Bridge — thin TypeScript wrappers around @totemsdk/core-wasm.
|
|
3
|
-
*
|
|
4
|
-
* This module provides the same public API as the legacy JS implementations
|
|
5
|
-
* but delegates to Rust/WASM for all cryptographic operations.
|
|
6
|
-
*
|
|
7
|
-
* The legacy JS implementations remain available via:
|
|
8
|
-
* import { ... } from '@totemsdk/core/legacy';
|
|
9
|
-
*/
|
|
10
|
-
import type { WotsKeypair } from '../types.js';
|
|
11
|
-
export declare function getParams(): Promise<{
|
|
12
|
-
w: number;
|
|
13
|
-
n: number;
|
|
14
|
-
L: number;
|
|
15
|
-
maxDigit: number;
|
|
16
|
-
maxSignatures: number;
|
|
17
|
-
signatureLevels: number;
|
|
18
|
-
addressPrefix: string;
|
|
19
|
-
}>;
|
|
20
|
-
export declare function sha3_256(data: Uint8Array): Promise<Uint8Array>;
|
|
21
|
-
export declare function expandPrivateKey(seed: Uint8Array): Promise<Uint8Array[]>;
|
|
22
|
-
export declare function hashChain(x: Uint8Array, rounds: number): Promise<Uint8Array>;
|
|
23
|
-
export declare function derivePKdigest(seed: Uint8Array, keyIndex: number): Promise<Uint8Array>;
|
|
24
|
-
export declare function deriveFullPublicKey(seed: Uint8Array, keyIndex: number): Promise<Uint8Array>;
|
|
25
|
-
export declare function wotsSign(seed: Uint8Array, keyIndex: number, message: Uint8Array): Promise<Uint8Array>;
|
|
26
|
-
export declare function wotsVerify(sig: Uint8Array, message: Uint8Array, pkFull: Uint8Array): Promise<boolean>;
|
|
27
|
-
export declare function wotsVerifyDigest(sig: Uint8Array, message: Uint8Array, pkDigest: Uint8Array): Promise<boolean>;
|
|
28
|
-
export declare function wotsPkFromSig(message: Uint8Array, signature: Uint8Array): Promise<Uint8Array>;
|
|
29
|
-
export declare function wotsPublicKeyFromSeed(seed: Uint8Array, keyIndex?: number): Promise<Uint8Array>;
|
|
30
|
-
export declare function wotsKeypairFromSeed(seed: Uint8Array, index: number): Promise<WotsKeypair>;
|
|
31
|
-
export declare function deriveChainSeedJava(seed: Uint8Array, keyIndex: number): Promise<Uint8Array>;
|
|
32
|
-
export declare function derivePerAddressSeed(rootSeed: Uint8Array, addressIndex: number): Promise<Uint8Array>;
|
|
33
|
-
export declare function deriveRootPrivSeed(bip39Seed: Uint8Array): Promise<Uint8Array>;
|
|
34
|
-
export declare function phraseToSeed(phrase: string): Promise<Uint8Array>;
|
|
35
|
-
export declare function generateWordList(): Promise<string>;
|
|
36
|
-
export declare function validatePhrase(phrase: string): Promise<boolean>;
|
|
37
|
-
export declare function cleanSeedPhrase(phrase: string): Promise<string>;
|
|
38
|
-
export declare function makeMxAddress(root32: Uint8Array): Promise<string>;
|
|
39
|
-
export declare function parseMxAddress(address: string): Promise<Uint8Array>;
|
|
40
|
-
export declare function wotsAddressFromKeypair(seed: Uint8Array, keyIndex: number): Promise<string>;
|
|
41
|
-
export declare function serializeTransaction(tx: any): Promise<Uint8Array>;
|
|
42
|
-
export declare function computeTransactionDigest(serializedTx: Uint8Array): Promise<Uint8Array>;
|
|
43
|
-
export declare function precomputeTransactionCoinID(txid: Uint8Array, outputIndex: number): Promise<Uint8Array>;
|
|
44
|
-
export declare function verifyTreeSignature(rootPublicKey: Uint8Array, message: Uint8Array, signature: any): Promise<boolean>;
|
|
45
|
-
export declare function timingSafeEqual(a: Uint8Array, b: Uint8Array): Promise<boolean>;
|
|
46
|
-
export declare function createChallenge(domain: string, statement: string): Promise<string>;
|
|
47
|
-
export declare function validateChallenge(challengeJson: string, domain: string): Promise<boolean>;
|
|
48
|
-
export declare function writeMiniNumber(value: number, scale?: number): Promise<Uint8Array>;
|
|
49
|
-
export declare function writeMiniData(data: Uint8Array): Promise<Uint8Array>;
|
|
50
|
-
export declare function writeMiniString(s: string): Promise<Uint8Array>;
|
|
51
|
-
export declare function bytesToHex(bytes: Uint8Array): Promise<string>;
|
|
52
|
-
export declare function hexToBytes(hexStr: string): Promise<Uint8Array>;
|
|
53
|
-
export declare function concatBytes(...arrays: Uint8Array[]): Promise<Uint8Array>;
|
|
54
|
-
export { getParams as getParamSet } from './wasm-bridge.js';
|