ecash-lib 1.2.2-rc9 → 1.4.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 (125) hide show
  1. package/README.md +2 -1
  2. package/dist/ecc.d.ts +12 -0
  3. package/dist/ecc.d.ts.map +1 -1
  4. package/dist/ecc.js +9 -47
  5. package/dist/ecc.js.map +1 -1
  6. package/dist/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  7. package/dist/ffi/ecash_lib_wasm_bg_browser.wasm.d.ts +18 -4
  8. package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  9. package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm.d.ts +18 -4
  10. package/dist/ffi/ecash_lib_wasm_browser.d.ts +95 -4
  11. package/dist/ffi/ecash_lib_wasm_browser.js +245 -14
  12. package/dist/ffi/ecash_lib_wasm_nodejs.d.ts +77 -0
  13. package/dist/ffi/ecash_lib_wasm_nodejs.js +247 -14
  14. package/dist/hash.d.ts +21 -1
  15. package/dist/hash.d.ts.map +1 -1
  16. package/dist/hash.js +16 -10
  17. package/dist/hash.js.map +1 -1
  18. package/dist/hdwallet.d.ts +33 -0
  19. package/dist/hdwallet.d.ts.map +1 -0
  20. package/dist/hdwallet.js +148 -0
  21. package/dist/hdwallet.js.map +1 -0
  22. package/dist/hmac.d.ts +13 -0
  23. package/dist/hmac.d.ts.map +1 -0
  24. package/dist/hmac.js +63 -0
  25. package/dist/hmac.js.map +1 -0
  26. package/dist/index.d.ts +3 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +3 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/initBrowser.d.ts.map +1 -1
  31. package/dist/initBrowser.js +3 -0
  32. package/dist/initBrowser.js.map +1 -1
  33. package/dist/initNodeJs.d.ts.map +1 -1
  34. package/dist/initNodeJs.js +3 -0
  35. package/dist/initNodeJs.js.map +1 -1
  36. package/dist/io/bytes.d.ts +5 -3
  37. package/dist/io/bytes.d.ts.map +1 -1
  38. package/dist/io/bytes.js +15 -7
  39. package/dist/io/bytes.js.map +1 -1
  40. package/dist/io/writer.d.ts +4 -3
  41. package/dist/io/writer.d.ts.map +1 -1
  42. package/dist/io/writerbytes.d.ts +4 -3
  43. package/dist/io/writerbytes.d.ts.map +1 -1
  44. package/dist/io/writerbytes.js +7 -6
  45. package/dist/io/writerbytes.js.map +1 -1
  46. package/dist/io/writerlength.d.ts +4 -3
  47. package/dist/io/writerlength.d.ts.map +1 -1
  48. package/dist/io/writerlength.js +3 -3
  49. package/dist/io/writerlength.js.map +1 -1
  50. package/dist/mnemonic.d.ts +14 -0
  51. package/dist/mnemonic.d.ts.map +1 -0
  52. package/dist/mnemonic.js +123 -0
  53. package/dist/mnemonic.js.map +1 -0
  54. package/dist/pbkdf2.d.ts +11 -0
  55. package/dist/pbkdf2.d.ts.map +1 -0
  56. package/dist/pbkdf2.js +36 -0
  57. package/dist/pbkdf2.js.map +1 -0
  58. package/dist/script.d.ts +4 -0
  59. package/dist/script.d.ts.map +1 -1
  60. package/dist/script.js +6 -0
  61. package/dist/script.js.map +1 -1
  62. package/package.json +1 -1
  63. package/src/address/address.ts +346 -0
  64. package/src/address/legacyaddr.ts +129 -0
  65. package/src/consts.ts +8 -0
  66. package/src/ecc.ts +61 -0
  67. package/src/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  68. package/src/ffi/ecash_lib_wasm_bg_browser.wasm.d.ts +32 -0
  69. package/src/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  70. package/src/ffi/ecash_lib_wasm_bg_nodejs.wasm.d.ts +32 -0
  71. package/src/ffi/ecash_lib_wasm_browser.d.ts +183 -0
  72. package/src/ffi/ecash_lib_wasm_browser.js +571 -0
  73. package/src/ffi/ecash_lib_wasm_nodejs.d.ts +127 -0
  74. package/src/ffi/ecash_lib_wasm_nodejs.js +498 -0
  75. package/src/hash.ts +46 -0
  76. package/src/hdwallet.ts +181 -0
  77. package/src/hmac.ts +74 -0
  78. package/src/index.ts +29 -0
  79. package/src/indexBrowser.ts +6 -0
  80. package/src/indexNodeJs.ts +6 -0
  81. package/src/initBrowser.ts +21 -0
  82. package/src/initNodeJs.ts +20 -0
  83. package/src/io/bytes.ts +80 -0
  84. package/src/io/hex.ts +69 -0
  85. package/src/io/int.ts +6 -0
  86. package/src/io/str.ts +16 -0
  87. package/src/io/varsize.ts +49 -0
  88. package/src/io/writer.ts +20 -0
  89. package/src/io/writerbytes.ts +87 -0
  90. package/src/io/writerlength.ts +44 -0
  91. package/src/mnemonic.ts +153 -0
  92. package/src/op.ts +162 -0
  93. package/src/opcode.ts +154 -0
  94. package/src/pbkdf2.ts +52 -0
  95. package/src/script.ts +195 -0
  96. package/src/sigHashType.ts +190 -0
  97. package/src/test/testRunner.ts +209 -0
  98. package/src/token/alp.ts +146 -0
  99. package/src/token/common.ts +32 -0
  100. package/src/token/empp.ts +29 -0
  101. package/src/token/slp.ts +212 -0
  102. package/src/tx.ts +180 -0
  103. package/src/txBuilder.ts +262 -0
  104. package/src/unsignedTx.ts +359 -0
  105. package/tsconfig.json +2 -1
  106. package/wordlists/english.json +2053 -0
  107. package/.nyc_output/0fc40ca6-d52c-45eb-b31b-2601ce70b887.json +0 -1
  108. package/.nyc_output/ac5be6db-4e40-41f8-8b84-7598d4747e57.json +0 -1
  109. package/.nyc_output/b316d46f-5ea0-4e98-884a-bfbf9cc1d0f8.json +0 -1
  110. package/.nyc_output/f965566b-9422-4874-b45e-9eefda9c769c.json +0 -1
  111. package/.nyc_output/processinfo/0fc40ca6-d52c-45eb-b31b-2601ce70b887.json +0 -1
  112. package/.nyc_output/processinfo/ac5be6db-4e40-41f8-8b84-7598d4747e57.json +0 -1
  113. package/.nyc_output/processinfo/b316d46f-5ea0-4e98-884a-bfbf9cc1d0f8.json +0 -1
  114. package/.nyc_output/processinfo/f965566b-9422-4874-b45e-9eefda9c769c.json +0 -1
  115. package/.nyc_output/processinfo/index.json +0 -1
  116. package/dist/address/cashaddr.d.ts +0 -78
  117. package/dist/address/cashaddr.d.ts.map +0 -1
  118. package/dist/address/cashaddr.js +0 -543
  119. package/dist/address/cashaddr.js.map +0 -1
  120. package/dist/cashaddr/cashaddr.d.ts +0 -23
  121. package/dist/cashaddr/cashaddr.d.ts.map +0 -1
  122. package/dist/cashaddr/cashaddr.js +0 -325
  123. package/dist/cashaddr/cashaddr.js.map +0 -1
  124. package/global.d.ts +0 -64
  125. package/test.log +0 -82
@@ -0,0 +1,183 @@
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
+ * ECC signatures with libsecp256k1.
29
+ */
30
+ export class Ecc {
31
+ free(): void;
32
+ /**
33
+ * Create a new Ecc instance.
34
+ */
35
+ constructor();
36
+ /**
37
+ * Derive a public key from secret key.
38
+ * @param {Uint8Array} seckey
39
+ * @returns {Uint8Array}
40
+ */
41
+ derivePubkey(seckey: Uint8Array): Uint8Array;
42
+ /**
43
+ * Sign an ECDSA signature.
44
+ * @param {Uint8Array} seckey
45
+ * @param {Uint8Array} msg
46
+ * @returns {Uint8Array}
47
+ */
48
+ ecdsaSign(seckey: Uint8Array, msg: Uint8Array): Uint8Array;
49
+ /**
50
+ * Sign a Schnorr signature.
51
+ * @param {Uint8Array} seckey
52
+ * @param {Uint8Array} msg
53
+ * @returns {Uint8Array}
54
+ */
55
+ schnorrSign(seckey: Uint8Array, msg: Uint8Array): Uint8Array;
56
+ /**
57
+ * Return whether the given secret key is valid, i.e. whether is of correct
58
+ * length (32 bytes) and is on the curve.
59
+ * @param {Uint8Array} seckey
60
+ * @returns {boolean}
61
+ */
62
+ isValidSeckey(seckey: Uint8Array): boolean;
63
+ /**
64
+ * Add a scalar to a secret key.
65
+ * @param {Uint8Array} a
66
+ * @param {Uint8Array} b
67
+ * @returns {Uint8Array}
68
+ */
69
+ seckeyAdd(a: Uint8Array, b: Uint8Array): Uint8Array;
70
+ /**
71
+ * Add a scalar to a public key (adding G*b).
72
+ * @param {Uint8Array} a
73
+ * @param {Uint8Array} b
74
+ * @returns {Uint8Array}
75
+ */
76
+ pubkeyAdd(a: Uint8Array, b: Uint8Array): Uint8Array;
77
+ }
78
+ /**
79
+ * Instance to calculate SHA256 in a streaming fashion
80
+ */
81
+ export class Sha256H {
82
+ free(): void;
83
+ /**
84
+ * Create new hasher instance
85
+ */
86
+ constructor();
87
+ /**
88
+ * Feed bytes into the hasher
89
+ * @param {Uint8Array} data
90
+ */
91
+ update(data: Uint8Array): void;
92
+ /**
93
+ * Finalize the hash and return the result
94
+ * @returns {Uint8Array}
95
+ */
96
+ finalize(): Uint8Array;
97
+ /**
98
+ * Clone the hasher
99
+ * @returns {Sha256H}
100
+ */
101
+ clone(): Sha256H;
102
+ }
103
+ /**
104
+ * Instance to calculate SHA512 in a streaming fashion
105
+ */
106
+ export class Sha512H {
107
+ free(): void;
108
+ /**
109
+ * Create new hasher instance
110
+ */
111
+ constructor();
112
+ /**
113
+ * Feed bytes into the hasher
114
+ * @param {Uint8Array} data
115
+ */
116
+ update(data: Uint8Array): void;
117
+ /**
118
+ * Finalize the hash and return the result
119
+ * @returns {Uint8Array}
120
+ */
121
+ finalize(): Uint8Array;
122
+ /**
123
+ * Clone the hasher
124
+ * @returns {Sha512H}
125
+ */
126
+ clone(): Sha512H;
127
+ }
128
+
129
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
130
+
131
+ export interface InitOutput {
132
+ readonly memory: WebAssembly.Memory;
133
+ readonly sha512h_new: () => number;
134
+ readonly sha512h_update: (a: number, b: number, c: number) => void;
135
+ readonly sha512h_finalize: (a: number, b: number) => void;
136
+ readonly sha512h_clone: (a: number) => number;
137
+ readonly sha256h_new: () => number;
138
+ readonly sha256h_update: (a: number, b: number, c: number) => void;
139
+ readonly sha256h_finalize: (a: number, b: number) => void;
140
+ readonly sha256h_clone: (a: number) => number;
141
+ readonly __wbg_sha256h_free: (a: number) => void;
142
+ readonly sha512: (a: number, b: number, c: number) => void;
143
+ readonly sha256d: (a: number, b: number, c: number) => void;
144
+ readonly sha256: (a: number, b: number, c: number) => void;
145
+ readonly shaRmd160: (a: number, b: number, c: number) => void;
146
+ readonly ecc_new: () => number;
147
+ readonly ecc_derivePubkey: (a: number, b: number, c: number, d: number) => void;
148
+ readonly ecc_ecdsaSign: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
149
+ readonly ecc_schnorrSign: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
150
+ readonly ecc_isValidSeckey: (a: number, b: number, c: number) => number;
151
+ readonly ecc_seckeyAdd: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
152
+ readonly ecc_pubkeyAdd: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
153
+ readonly __wbg_ecc_free: (a: number) => void;
154
+ readonly ecash_secp256k1_context_create: (a: number) => number;
155
+ readonly ecash_secp256k1_context_destroy: (a: number) => void;
156
+ readonly secp256k1_default_illegal_callback_fn: (a: number, b: number) => void;
157
+ readonly secp256k1_default_error_callback_fn: (a: number, b: number) => void;
158
+ readonly __wbg_sha512h_free: (a: number) => void;
159
+ readonly __wbindgen_export_0: (a: number, b: number) => number;
160
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
161
+ readonly __wbindgen_export_1: (a: number, b: number, c: number) => void;
162
+ }
163
+
164
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
165
+ /**
166
+ * Instantiates the given `module`, which can either be bytes or
167
+ * a precompiled `WebAssembly.Module`.
168
+ *
169
+ * @param {SyncInitInput} module
170
+ *
171
+ * @returns {InitOutput}
172
+ */
173
+ export function initSync(module: SyncInitInput): InitOutput;
174
+
175
+ /**
176
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
177
+ * for everything else, calls `WebAssembly.instantiate` directly.
178
+ *
179
+ * @param {InitInput | Promise<InitInput>} module_or_path
180
+ *
181
+ * @returns {Promise<InitOutput>}
182
+ */
183
+ export default function __wbg_init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;