ecash-lib 4.13.0-rc.0 → 4.13.0

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 (52) hide show
  1. package/README.md +1 -1
  2. package/dist/ffi/ecash_lib_wasm_bg_browser.js +22065 -2616
  3. package/dist/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  4. package/dist/ffi/ecash_lib_wasm_bg_browser.wasm.d.ts +3 -3
  5. package/dist/ffi/ecash_lib_wasm_browser.d.ts +20 -20
  6. package/dist/ffi/ecash_lib_wasm_browser.js +84 -83
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/initWasm.js +3 -4
  12. package/dist/initWasm.js.map +1 -1
  13. package/package.json +51 -62
  14. package/src/ffi/ecash_lib_wasm_bg_browser.js +22065 -2616
  15. package/src/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  16. package/src/ffi/ecash_lib_wasm_bg_browser.wasm.d.ts +3 -3
  17. package/src/ffi/ecash_lib_wasm_browser.d.ts +20 -20
  18. package/src/ffi/ecash_lib_wasm_browser.js +84 -83
  19. package/src/index.ts +2 -0
  20. package/src/initWasm.ts +3 -4
  21. package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  22. package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm.d.ts +0 -40
  23. package/dist/ffi/ecash_lib_wasm_nodejs.d.ts +0 -180
  24. package/dist/ffi/ecash_lib_wasm_nodejs.js +0 -726
  25. package/dist/indexBrowser.d.ts +0 -3
  26. package/dist/indexBrowser.d.ts.map +0 -1
  27. package/dist/indexBrowser.js +0 -22
  28. package/dist/indexBrowser.js.map +0 -1
  29. package/dist/indexNodeJs.d.ts +0 -3
  30. package/dist/indexNodeJs.d.ts.map +0 -1
  31. package/dist/indexNodeJs.js +0 -22
  32. package/dist/indexNodeJs.js.map +0 -1
  33. package/dist/initBrowser.d.ts +0 -2
  34. package/dist/initBrowser.d.ts.map +0 -1
  35. package/dist/initBrowser.js +0 -7
  36. package/dist/initBrowser.js.map +0 -1
  37. package/dist/initNodeJs.d.ts +0 -2
  38. package/dist/initNodeJs.d.ts.map +0 -1
  39. package/dist/initNodeJs.js +0 -7
  40. package/dist/initNodeJs.js.map +0 -1
  41. package/dist/payment/p2shInputData.d.ts +0 -18
  42. package/dist/payment/p2shInputData.d.ts.map +0 -1
  43. package/dist/payment/p2shInputData.js +0 -88
  44. package/dist/payment/p2shInputData.js.map +0 -1
  45. package/src/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  46. package/src/ffi/ecash_lib_wasm_bg_nodejs.wasm.d.ts +0 -40
  47. package/src/ffi/ecash_lib_wasm_nodejs.d.ts +0 -180
  48. package/src/ffi/ecash_lib_wasm_nodejs.js +0 -726
  49. package/src/indexBrowser.ts +0 -6
  50. package/src/indexNodeJs.ts +0 -6
  51. package/src/initBrowser.ts +0 -5
  52. package/src/initNodeJs.ts +0 -5
@@ -13,10 +13,13 @@ export function ecc_pubkeyAdd(a: number, b: number, c: number, d: number, e: num
13
13
  export function ecc_signRecoverable(a: number, b: number, c: number, d: number, e: number, f: number): void;
14
14
  export function ecc_recoverSig(a: number, b: number, c: number, d: number, e: number, f: number): void;
15
15
  export function __wbg_ecc_free(a: number): void;
16
+ export function publicKeyCryptoVerify(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): void;
17
+ export function publicKeyCryptoAlgoSupported(a: number, b: number, c: number, d: number, e: number): void;
16
18
  export function sha512h_new(): number;
17
19
  export function sha512h_update(a: number, b: number, c: number): void;
18
20
  export function sha512h_finalize(a: number, b: number): void;
19
21
  export function sha512h_clone(a: number): number;
22
+ export function __wbg_sha512h_free(a: number): void;
20
23
  export function sha256h_new(): number;
21
24
  export function sha256h_update(a: number, b: number, c: number): void;
22
25
  export function sha256h_finalize(a: number, b: number): void;
@@ -26,14 +29,11 @@ export function sha512(a: number, b: number, c: number): void;
26
29
  export function sha256d(a: number, b: number, c: number): void;
27
30
  export function sha256(a: number, b: number, c: number): void;
28
31
  export function shaRmd160(a: number, b: number, c: number): void;
29
- export function publicKeyCryptoVerify(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): void;
30
- export function publicKeyCryptoAlgoSupported(a: number, b: number, c: number, d: number, e: number): void;
31
32
  export function ecash_secp256k1_context_create(a: number): number;
32
33
  export function ecash_secp256k1_context_destroy(a: number): void;
33
34
  export function secp256k1_default_illegal_callback_fn(a: number, b: number): void;
34
35
  export function secp256k1_default_error_callback_fn(a: number, b: number): void;
35
36
  export function ring_core_0_17_14__bn_mul_mont(a: number, b: number, c: number, d: number, e: number, f: number): void;
36
- export function __wbg_sha512h_free(a: number): void;
37
37
  export function __wbindgen_add_to_stack_pointer(a: number): number;
38
38
  export function __wbindgen_export_0(a: number, b: number): number;
39
39
  export function __wbindgen_export_1(a: number, b: number, c: number): void;
@@ -1,6 +1,23 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  /**
4
+ * Verify a signature for the given cryptographic algorithm.
5
+ * Intended to be used in X509 certificate verification.
6
+ * Throw an exception if the algorithm is not supported.
7
+ * @param {string} algo_oid
8
+ * @param {string | undefined} params
9
+ * @param {Uint8Array} sig
10
+ * @param {Uint8Array} msg
11
+ * @param {Uint8Array} pk
12
+ */
13
+ export function publicKeyCryptoVerify(algo_oid: string, params: string | undefined, sig: Uint8Array, msg: Uint8Array, pk: Uint8Array): void;
14
+ /**
15
+ * Throw an exception if the given algo is not supported, otherwise do nothing.
16
+ * @param {string} algo_oid
17
+ * @param {string | undefined} [params]
18
+ */
19
+ export function publicKeyCryptoAlgoSupported(algo_oid: string, params?: string): void;
20
+ /**
4
21
  * Calculate SHA512(data).
5
22
  * @param {Uint8Array} data
6
23
  * @returns {Uint8Array}
@@ -25,23 +42,6 @@ export function sha256(data: Uint8Array): Uint8Array;
25
42
  */
26
43
  export function shaRmd160(data: Uint8Array): Uint8Array;
27
44
  /**
28
- * Verify a signature for the given cryptographic algorithm.
29
- * Intended to be used in X509 certificate verification.
30
- * Throw an exception if the algorithm is not supported.
31
- * @param {string} algo_oid
32
- * @param {string | undefined} params
33
- * @param {Uint8Array} sig
34
- * @param {Uint8Array} msg
35
- * @param {Uint8Array} pk
36
- */
37
- export function publicKeyCryptoVerify(algo_oid: string, params: string | undefined, sig: Uint8Array, msg: Uint8Array, pk: Uint8Array): void;
38
- /**
39
- * Throw an exception if the given algo is not supported, otherwise do nothing.
40
- * @param {string} algo_oid
41
- * @param {string | undefined} [params]
42
- */
43
- export function publicKeyCryptoAlgoSupported(algo_oid: string, params?: string): void;
44
- /**
45
45
  * ECC signatures with libsecp256k1.
46
46
  */
47
47
  export class Ecc {
@@ -195,10 +195,13 @@ export interface InitOutput {
195
195
  readonly ecc_signRecoverable: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
196
196
  readonly ecc_recoverSig: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
197
197
  readonly __wbg_ecc_free: (a: number) => void;
198
+ readonly publicKeyCryptoVerify: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
199
+ readonly publicKeyCryptoAlgoSupported: (a: number, b: number, c: number, d: number, e: number) => void;
198
200
  readonly sha512h_new: () => number;
199
201
  readonly sha512h_update: (a: number, b: number, c: number) => void;
200
202
  readonly sha512h_finalize: (a: number, b: number) => void;
201
203
  readonly sha512h_clone: (a: number) => number;
204
+ readonly __wbg_sha512h_free: (a: number) => void;
202
205
  readonly sha256h_new: () => number;
203
206
  readonly sha256h_update: (a: number, b: number, c: number) => void;
204
207
  readonly sha256h_finalize: (a: number, b: number) => void;
@@ -208,14 +211,11 @@ export interface InitOutput {
208
211
  readonly sha256d: (a: number, b: number, c: number) => void;
209
212
  readonly sha256: (a: number, b: number, c: number) => void;
210
213
  readonly shaRmd160: (a: number, b: number, c: number) => void;
211
- readonly publicKeyCryptoVerify: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
212
- readonly publicKeyCryptoAlgoSupported: (a: number, b: number, c: number, d: number, e: number) => void;
213
214
  readonly ecash_secp256k1_context_create: (a: number) => number;
214
215
  readonly ecash_secp256k1_context_destroy: (a: number) => void;
215
216
  readonly secp256k1_default_illegal_callback_fn: (a: number, b: number) => void;
216
217
  readonly secp256k1_default_error_callback_fn: (a: number, b: number) => void;
217
218
  readonly ring_core_0_17_14__bn_mul_mont: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
218
- readonly __wbg_sha512h_free: (a: number) => void;
219
219
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
220
220
  readonly __wbindgen_export_0: (a: number, b: number) => number;
221
221
  readonly __wbindgen_export_1: (a: number, b: number, c: number) => void;
@@ -69,89 +69,6 @@ function getArrayU8FromWasm0(ptr, len) {
69
69
  ptr = ptr >>> 0;
70
70
  return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
71
71
  }
72
- /**
73
- * Calculate SHA512(data).
74
- * @param {Uint8Array} data
75
- * @returns {Uint8Array}
76
- */
77
- export function sha512(data) {
78
- try {
79
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
80
- const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
81
- const len0 = WASM_VECTOR_LEN;
82
- wasm.sha512(retptr, ptr0, len0);
83
- var r0 = getInt32Memory0()[retptr / 4 + 0];
84
- var r1 = getInt32Memory0()[retptr / 4 + 1];
85
- var v2 = getArrayU8FromWasm0(r0, r1).slice();
86
- wasm.__wbindgen_export_1(r0, r1 * 1, 1);
87
- return v2;
88
- } finally {
89
- wasm.__wbindgen_add_to_stack_pointer(16);
90
- }
91
- }
92
-
93
- /**
94
- * Calculate SHA256(SHA256(data)).
95
- * @param {Uint8Array} data
96
- * @returns {Uint8Array}
97
- */
98
- export function sha256d(data) {
99
- try {
100
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
101
- const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
102
- const len0 = WASM_VECTOR_LEN;
103
- wasm.sha256d(retptr, ptr0, len0);
104
- var r0 = getInt32Memory0()[retptr / 4 + 0];
105
- var r1 = getInt32Memory0()[retptr / 4 + 1];
106
- var v2 = getArrayU8FromWasm0(r0, r1).slice();
107
- wasm.__wbindgen_export_1(r0, r1 * 1, 1);
108
- return v2;
109
- } finally {
110
- wasm.__wbindgen_add_to_stack_pointer(16);
111
- }
112
- }
113
-
114
- /**
115
- * Calculate SHA256(data).
116
- * @param {Uint8Array} data
117
- * @returns {Uint8Array}
118
- */
119
- export function sha256(data) {
120
- try {
121
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
122
- const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
123
- const len0 = WASM_VECTOR_LEN;
124
- wasm.sha256(retptr, ptr0, len0);
125
- var r0 = getInt32Memory0()[retptr / 4 + 0];
126
- var r1 = getInt32Memory0()[retptr / 4 + 1];
127
- var v2 = getArrayU8FromWasm0(r0, r1).slice();
128
- wasm.__wbindgen_export_1(r0, r1 * 1, 1);
129
- return v2;
130
- } finally {
131
- wasm.__wbindgen_add_to_stack_pointer(16);
132
- }
133
- }
134
-
135
- /**
136
- * Calculate RIPEMD160(SHA256(data)), commonly used as address hash.
137
- * @param {Uint8Array} data
138
- * @returns {Uint8Array}
139
- */
140
- export function shaRmd160(data) {
141
- try {
142
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
143
- const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
144
- const len0 = WASM_VECTOR_LEN;
145
- wasm.shaRmd160(retptr, ptr0, len0);
146
- var r0 = getInt32Memory0()[retptr / 4 + 0];
147
- var r1 = getInt32Memory0()[retptr / 4 + 1];
148
- var v2 = getArrayU8FromWasm0(r0, r1).slice();
149
- wasm.__wbindgen_export_1(r0, r1 * 1, 1);
150
- return v2;
151
- } finally {
152
- wasm.__wbindgen_add_to_stack_pointer(16);
153
- }
154
- }
155
72
 
156
73
  const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );
157
74
 
@@ -267,6 +184,90 @@ export function publicKeyCryptoAlgoSupported(algo_oid, params) {
267
184
  }
268
185
  }
269
186
 
187
+ /**
188
+ * Calculate SHA512(data).
189
+ * @param {Uint8Array} data
190
+ * @returns {Uint8Array}
191
+ */
192
+ export function sha512(data) {
193
+ try {
194
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
195
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
196
+ const len0 = WASM_VECTOR_LEN;
197
+ wasm.sha512(retptr, ptr0, len0);
198
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
199
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
200
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
201
+ wasm.__wbindgen_export_1(r0, r1 * 1, 1);
202
+ return v2;
203
+ } finally {
204
+ wasm.__wbindgen_add_to_stack_pointer(16);
205
+ }
206
+ }
207
+
208
+ /**
209
+ * Calculate SHA256(SHA256(data)).
210
+ * @param {Uint8Array} data
211
+ * @returns {Uint8Array}
212
+ */
213
+ export function sha256d(data) {
214
+ try {
215
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
216
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
217
+ const len0 = WASM_VECTOR_LEN;
218
+ wasm.sha256d(retptr, ptr0, len0);
219
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
220
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
221
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
222
+ wasm.__wbindgen_export_1(r0, r1 * 1, 1);
223
+ return v2;
224
+ } finally {
225
+ wasm.__wbindgen_add_to_stack_pointer(16);
226
+ }
227
+ }
228
+
229
+ /**
230
+ * Calculate SHA256(data).
231
+ * @param {Uint8Array} data
232
+ * @returns {Uint8Array}
233
+ */
234
+ export function sha256(data) {
235
+ try {
236
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
237
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
238
+ const len0 = WASM_VECTOR_LEN;
239
+ wasm.sha256(retptr, ptr0, len0);
240
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
241
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
242
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
243
+ wasm.__wbindgen_export_1(r0, r1 * 1, 1);
244
+ return v2;
245
+ } finally {
246
+ wasm.__wbindgen_add_to_stack_pointer(16);
247
+ }
248
+ }
249
+
250
+ /**
251
+ * Calculate RIPEMD160(SHA256(data)), commonly used as address hash.
252
+ * @param {Uint8Array} data
253
+ * @returns {Uint8Array}
254
+ */
255
+ export function shaRmd160(data) {
256
+ try {
257
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
258
+ const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
259
+ const len0 = WASM_VECTOR_LEN;
260
+ wasm.shaRmd160(retptr, ptr0, len0);
261
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
262
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
263
+ var v2 = getArrayU8FromWasm0(r0, r1).slice();
264
+ wasm.__wbindgen_export_1(r0, r1 * 1, 1);
265
+ return v2;
266
+ } finally {
267
+ wasm.__wbindgen_add_to_stack_pointer(16);
268
+ }
269
+ }
270
+
270
271
  const EccFinalization = (typeof FinalizationRegistry === 'undefined')
271
272
  ? { register: () => {}, unregister: () => {} }
272
273
  : new FinalizationRegistry(ptr => wasm.__wbg_ecc_free(ptr >>> 0));
package/src/index.ts CHANGED
@@ -2,6 +2,8 @@
2
2
  // Distributed under the MIT software license, see the accompanying
3
3
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
4
 
5
+ import './initWasm.js';
6
+
5
7
  export * from './consts.js';
6
8
  export * from './ecc.js';
7
9
  export * from './hash.js';
package/src/initWasm.ts CHANGED
@@ -9,11 +9,10 @@ import { __setHashes } from './hash.js';
9
9
  import { __setPkc } from './publicKeyCrypto.js';
10
10
 
11
11
  /**
12
- * Initialize WASM from an embedded base64 payload.
12
+ * Initialize WASM from an embedded base64 payload at import time.
13
13
  *
14
- * We use this for both browser and Node.js entry points so bundlers (e.g.
15
- * Next.js webpack on the server) do not need to resolve a separate .wasm file
16
- * or polyfill fs.readFileSync at import time.
14
+ * Works in Node.js, browsers, and bundlers (e.g. Next.js) without a separate
15
+ * `.wasm` file or `fs.readFileSync` at import time.
17
16
  */
18
17
  const wasmRaw = Uint8Array.from(atob(ECASH_LIB_WASM_BASE64), c =>
19
18
  c.charCodeAt(0),
@@ -1,40 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- export const memory: WebAssembly.Memory;
4
- export function ecc_new(): number;
5
- export function ecc_derivePubkey(a: number, b: number, c: number, d: number): void;
6
- export function ecc_ecdsaSign(a: number, b: number, c: number, d: number, e: number, f: number): void;
7
- export function ecc_ecdsaVerify(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number): void;
8
- export function ecc_schnorrSign(a: number, b: number, c: number, d: number, e: number, f: number): void;
9
- export function ecc_schnorrVerify(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number): void;
10
- export function ecc_isValidSeckey(a: number, b: number, c: number): number;
11
- export function ecc_seckeyAdd(a: number, b: number, c: number, d: number, e: number, f: number): void;
12
- export function ecc_pubkeyAdd(a: number, b: number, c: number, d: number, e: number, f: number): void;
13
- export function ecc_signRecoverable(a: number, b: number, c: number, d: number, e: number, f: number): void;
14
- export function ecc_recoverSig(a: number, b: number, c: number, d: number, e: number, f: number): void;
15
- export function __wbg_ecc_free(a: number): void;
16
- export function sha512h_new(): number;
17
- export function sha512h_update(a: number, b: number, c: number): void;
18
- export function sha512h_finalize(a: number, b: number): void;
19
- export function sha512h_clone(a: number): number;
20
- export function sha256h_new(): number;
21
- export function sha256h_update(a: number, b: number, c: number): void;
22
- export function sha256h_finalize(a: number, b: number): void;
23
- export function sha256h_clone(a: number): number;
24
- export function __wbg_sha256h_free(a: number): void;
25
- export function sha512(a: number, b: number, c: number): void;
26
- export function sha256d(a: number, b: number, c: number): void;
27
- export function sha256(a: number, b: number, c: number): void;
28
- export function shaRmd160(a: number, b: number, c: number): void;
29
- export function publicKeyCryptoVerify(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): void;
30
- export function publicKeyCryptoAlgoSupported(a: number, b: number, c: number, d: number, e: number): void;
31
- export function ecash_secp256k1_context_create(a: number): number;
32
- export function ecash_secp256k1_context_destroy(a: number): void;
33
- export function secp256k1_default_illegal_callback_fn(a: number, b: number): void;
34
- export function secp256k1_default_error_callback_fn(a: number, b: number): void;
35
- export function ring_core_0_17_14__bn_mul_mont(a: number, b: number, c: number, d: number, e: number, f: number): void;
36
- export function __wbg_sha512h_free(a: number): void;
37
- export function __wbindgen_add_to_stack_pointer(a: number): number;
38
- export function __wbindgen_export_0(a: number, b: number): number;
39
- export function __wbindgen_export_1(a: number, b: number, c: number): void;
40
- export function __wbindgen_export_2(a: number, b: number, c: number, d: number): number;
@@ -1,180 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * Calculate SHA512(data).
5
- * @param {Uint8Array} data
6
- * @returns {Uint8Array}
7
- */
8
- export function sha512(data: Uint8Array): Uint8Array;
9
- /**
10
- * Calculate SHA256(SHA256(data)).
11
- * @param {Uint8Array} data
12
- * @returns {Uint8Array}
13
- */
14
- export function sha256d(data: Uint8Array): Uint8Array;
15
- /**
16
- * Calculate SHA256(data).
17
- * @param {Uint8Array} data
18
- * @returns {Uint8Array}
19
- */
20
- export function sha256(data: Uint8Array): Uint8Array;
21
- /**
22
- * Calculate RIPEMD160(SHA256(data)), commonly used as address hash.
23
- * @param {Uint8Array} data
24
- * @returns {Uint8Array}
25
- */
26
- export function shaRmd160(data: Uint8Array): Uint8Array;
27
- /**
28
- * Verify a signature for the given cryptographic algorithm.
29
- * Intended to be used in X509 certificate verification.
30
- * Throw an exception if the algorithm is not supported.
31
- * @param {string} algo_oid
32
- * @param {string | undefined} params
33
- * @param {Uint8Array} sig
34
- * @param {Uint8Array} msg
35
- * @param {Uint8Array} pk
36
- */
37
- export function publicKeyCryptoVerify(algo_oid: string, params: string | undefined, sig: Uint8Array, msg: Uint8Array, pk: Uint8Array): void;
38
- /**
39
- * Throw an exception if the given algo is not supported, otherwise do nothing.
40
- * @param {string} algo_oid
41
- * @param {string | undefined} [params]
42
- */
43
- export function publicKeyCryptoAlgoSupported(algo_oid: string, params?: string): void;
44
- /**
45
- * ECC signatures with libsecp256k1.
46
- */
47
- export class Ecc {
48
- free(): void;
49
- /**
50
- * Create a new Ecc instance.
51
- */
52
- constructor();
53
- /**
54
- * Derive a public key from secret key.
55
- * @param {Uint8Array} seckey
56
- * @returns {Uint8Array}
57
- */
58
- derivePubkey(seckey: Uint8Array): Uint8Array;
59
- /**
60
- * Sign an ECDSA signature.
61
- * @param {Uint8Array} seckey
62
- * @param {Uint8Array} msg
63
- * @returns {Uint8Array}
64
- */
65
- ecdsaSign(seckey: Uint8Array, msg: Uint8Array): Uint8Array;
66
- /**
67
- * Verify an ECDSA signature.
68
- * @param {Uint8Array} sig
69
- * @param {Uint8Array} msg
70
- * @param {Uint8Array} pk
71
- */
72
- ecdsaVerify(sig: Uint8Array, msg: Uint8Array, pk: Uint8Array): void;
73
- /**
74
- * Sign a Schnorr signature.
75
- * @param {Uint8Array} seckey
76
- * @param {Uint8Array} msg
77
- * @returns {Uint8Array}
78
- */
79
- schnorrSign(seckey: Uint8Array, msg: Uint8Array): Uint8Array;
80
- /**
81
- * Verify a Schnorr signature.
82
- * @param {Uint8Array} sig
83
- * @param {Uint8Array} msg
84
- * @param {Uint8Array} pk
85
- */
86
- schnorrVerify(sig: Uint8Array, msg: Uint8Array, pk: Uint8Array): void;
87
- /**
88
- * Return whether the given secret key is valid, i.e. whether is of correct
89
- * length (32 bytes) and is on the curve.
90
- * @param {Uint8Array} seckey
91
- * @returns {boolean}
92
- */
93
- isValidSeckey(seckey: Uint8Array): boolean;
94
- /**
95
- * Add a scalar to a secret key.
96
- * @param {Uint8Array} a
97
- * @param {Uint8Array} b
98
- * @returns {Uint8Array}
99
- */
100
- seckeyAdd(a: Uint8Array, b: Uint8Array): Uint8Array;
101
- /**
102
- * Add a scalar to a public key (adding G*b).
103
- * @param {Uint8Array} a
104
- * @param {Uint8Array} b
105
- * @returns {Uint8Array}
106
- */
107
- pubkeyAdd(a: Uint8Array, b: Uint8Array): Uint8Array;
108
- /**
109
- * Create a compact ECDSA signature (65 bytes), which allows reconstructing
110
- * the used public key.
111
- * The format is one header byte, followed by two times 32 bytes for the
112
- * serialized r and s values.
113
- * The header byte: 0x1B = first key with even y,
114
- * 0x1C = first key with odd y,
115
- * 0x1D = second key with even y,
116
- * 0x1E = second key with odd y,
117
- * add 0x04 for compressed keys.
118
- * @param {Uint8Array} seckey
119
- * @param {Uint8Array} msg
120
- * @returns {Uint8Array}
121
- */
122
- signRecoverable(seckey: Uint8Array, msg: Uint8Array): Uint8Array;
123
- /**
124
- * Recover the public key of a signature signed by signRecoverable.
125
- * @param {Uint8Array} sig
126
- * @param {Uint8Array} msg
127
- * @returns {Uint8Array}
128
- */
129
- recoverSig(sig: Uint8Array, msg: Uint8Array): Uint8Array;
130
- }
131
- /**
132
- * Instance to calculate SHA256 in a streaming fashion
133
- */
134
- export class Sha256H {
135
- free(): void;
136
- /**
137
- * Create new hasher instance
138
- */
139
- constructor();
140
- /**
141
- * Feed bytes into the hasher
142
- * @param {Uint8Array} data
143
- */
144
- update(data: Uint8Array): void;
145
- /**
146
- * Finalize the hash and return the result
147
- * @returns {Uint8Array}
148
- */
149
- finalize(): Uint8Array;
150
- /**
151
- * Clone the hasher
152
- * @returns {Sha256H}
153
- */
154
- clone(): Sha256H;
155
- }
156
- /**
157
- * Instance to calculate SHA512 in a streaming fashion
158
- */
159
- export class Sha512H {
160
- free(): void;
161
- /**
162
- * Create new hasher instance
163
- */
164
- constructor();
165
- /**
166
- * Feed bytes into the hasher
167
- * @param {Uint8Array} data
168
- */
169
- update(data: Uint8Array): void;
170
- /**
171
- * Finalize the hash and return the result
172
- * @returns {Uint8Array}
173
- */
174
- finalize(): Uint8Array;
175
- /**
176
- * Clone the hasher
177
- * @returns {Sha512H}
178
- */
179
- clone(): Sha512H;
180
- }