@witnet/sdk 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/.env_witnet +6 -6
  2. package/LICENSE +21 -21
  3. package/README.md +103 -103
  4. package/dist/package.json +3 -4
  5. package/dist/src/bin/helpers.js +2 -2
  6. package/dist/src/index.js +1 -1
  7. package/dist/src/lib/crypto/account.d.ts +3 -1
  8. package/dist/src/lib/crypto/account.d.ts.map +1 -1
  9. package/dist/src/lib/crypto/account.js +7 -1
  10. package/dist/src/lib/crypto/coinbase.js +1 -1
  11. package/dist/src/lib/crypto/index.js +1 -1
  12. package/dist/src/lib/crypto/interfaces.d.ts +2 -0
  13. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
  14. package/dist/src/lib/crypto/interfaces.js +1 -1
  15. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +1 -1
  16. package/dist/src/lib/crypto/payloads/StakePayload.js +1 -1
  17. package/dist/src/lib/crypto/payloads/UnstakePayload.js +1 -1
  18. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +1 -1
  19. package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
  20. package/dist/src/lib/crypto/payloads.js +12 -1
  21. package/dist/src/lib/crypto/signer.d.ts +1 -0
  22. package/dist/src/lib/crypto/signer.d.ts.map +1 -1
  23. package/dist/src/lib/crypto/signer.js +18 -1
  24. package/dist/src/lib/crypto/transmitters/DataRequests.js +1 -1
  25. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +1 -1
  26. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +1 -1
  27. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +1 -1
  28. package/dist/src/lib/crypto/transmitters.d.ts +1 -1
  29. package/dist/src/lib/crypto/transmitters.d.ts.map +1 -1
  30. package/dist/src/lib/crypto/transmitters.js +4 -4
  31. package/dist/src/lib/crypto/types.d.ts.map +1 -1
  32. package/dist/src/lib/crypto/types.js +2 -1
  33. package/dist/src/lib/crypto/utils.js +1 -1
  34. package/dist/src/lib/crypto/wallet.d.ts +3 -1
  35. package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
  36. package/dist/src/lib/crypto/wallet.js +10 -1
  37. package/dist/src/lib/index.js +1 -1
  38. package/dist/src/lib/radon/ccdr/eth.js +1 -1
  39. package/dist/src/lib/radon/ccdr/index.js +1 -1
  40. package/dist/src/lib/radon/ccdr/wit.js +1 -1
  41. package/dist/src/lib/radon/filters.js +1 -1
  42. package/dist/src/lib/radon/index.js +1 -1
  43. package/dist/src/lib/radon/reducers.js +1 -1
  44. package/dist/src/lib/radon/types.js +1 -1
  45. package/dist/src/lib/radon/utils.js +1 -1
  46. package/dist/src/lib/rpc/index.js +1 -1
  47. package/dist/src/lib/rpc/nodes.js +1 -1
  48. package/dist/src/lib/rpc/provider.js +1 -1
  49. package/dist/src/lib/rpc/types.d.ts +6 -4
  50. package/dist/src/lib/rpc/types.d.ts.map +1 -1
  51. package/dist/src/lib/rpc/types.js +1 -1
  52. package/dist/src/lib/types.d.ts +0 -1
  53. package/dist/src/lib/types.d.ts.map +1 -1
  54. package/dist/src/lib/types.js +1 -1
  55. package/dist/src/lib/utils.js +1 -1
  56. package/dist/witnet/assets/index.js +1 -1
  57. package/dist/witnet/assets/modals/index.js +1 -1
  58. package/dist/witnet/assets/modals/web3/eth.js +1 -1
  59. package/dist/witnet/assets/modals/web3/ipfs.js +1 -1
  60. package/dist/witnet/assets/modals/web3/wit.js +1 -1
  61. package/dist/witnet/assets/requests.js +1 -1
  62. package/package.json +3 -4
  63. package/src/bin/cli/history.js +31 -31
  64. package/src/bin/cli/inspect.js +405 -405
  65. package/src/bin/cli/network.js +594 -594
  66. package/src/bin/cli/nodes.js +364 -364
  67. package/src/bin/cli/radon.js +817 -815
  68. package/src/bin/cli/wallet.js +1121 -1117
  69. package/src/bin/helpers.js +840 -840
  70. package/src/bin/postinstall.js +9 -9
  71. package/src/bin/toolkit.js +295 -295
  72. package/witnet/assets/_index.js +8 -8
  73. package/witnet/assets/_requests.js +25 -25
  74. package/witnet/assets/_sources.js +36 -36
  75. package/witnet/assets/_templates.js +36 -36
  76. package/witnet/assets/index.js +4 -4
  77. package/witnet/assets/modals/index.js +9 -9
  78. package/witnet/assets/modals/web3/eth.js +29 -29
  79. package/witnet/assets/modals/web3/ipfs.js +19 -19
  80. package/witnet/assets/modals/web3/wit.js +21 -21
  81. package/witnet/assets/requests.js +95 -95
  82. package/dist/bin/helpers.d.ts +0 -88
  83. package/dist/bin/helpers.d.ts.map +0 -1
  84. package/dist/bin/helpers.js +0 -866
  85. package/dist/index.d.ts +0 -4
  86. package/dist/index.d.ts.map +0 -1
  87. package/dist/index.js +0 -42
  88. package/dist/lib/crypto/account.d.ts +0 -18
  89. package/dist/lib/crypto/account.d.ts.map +0 -1
  90. package/dist/lib/crypto/account.js +0 -152
  91. package/dist/lib/crypto/coinbase.d.ts +0 -9
  92. package/dist/lib/crypto/coinbase.d.ts.map +0 -1
  93. package/dist/lib/crypto/coinbase.js +0 -39
  94. package/dist/lib/crypto/index.d.ts +0 -7
  95. package/dist/lib/crypto/index.d.ts.map +0 -1
  96. package/dist/lib/crypto/index.js +0 -28
  97. package/dist/lib/crypto/interfaces.d.ts +0 -80
  98. package/dist/lib/crypto/interfaces.d.ts.map +0 -1
  99. package/dist/lib/crypto/interfaces.js +0 -3
  100. package/dist/lib/crypto/payloads/DataRequestPayload.d.ts +0 -47
  101. package/dist/lib/crypto/payloads/DataRequestPayload.d.ts.map +0 -1
  102. package/dist/lib/crypto/payloads/DataRequestPayload.js +0 -384
  103. package/dist/lib/crypto/payloads/StakePayload.d.ts +0 -27
  104. package/dist/lib/crypto/payloads/StakePayload.d.ts.map +0 -1
  105. package/dist/lib/crypto/payloads/StakePayload.js +0 -184
  106. package/dist/lib/crypto/payloads/UnstakePayload.d.ts +0 -35
  107. package/dist/lib/crypto/payloads/UnstakePayload.d.ts.map +0 -1
  108. package/dist/lib/crypto/payloads/UnstakePayload.js +0 -244
  109. package/dist/lib/crypto/payloads/ValueTransferPayload.d.ts +0 -24
  110. package/dist/lib/crypto/payloads/ValueTransferPayload.d.ts.map +0 -1
  111. package/dist/lib/crypto/payloads/ValueTransferPayload.js +0 -182
  112. package/dist/lib/crypto/payloads.d.ts +0 -54
  113. package/dist/lib/crypto/payloads.d.ts.map +0 -1
  114. package/dist/lib/crypto/payloads.js +0 -224
  115. package/dist/lib/crypto/signer.d.ts +0 -26
  116. package/dist/lib/crypto/signer.d.ts.map +0 -1
  117. package/dist/lib/crypto/signer.js +0 -299
  118. package/dist/lib/crypto/transmitters/DataRequests.d.ts +0 -14
  119. package/dist/lib/crypto/transmitters/DataRequests.d.ts.map +0 -1
  120. package/dist/lib/crypto/transmitters/DataRequests.js +0 -62
  121. package/dist/lib/crypto/transmitters/StakeDeposits.d.ts +0 -11
  122. package/dist/lib/crypto/transmitters/StakeDeposits.d.ts.map +0 -1
  123. package/dist/lib/crypto/transmitters/StakeDeposits.js +0 -48
  124. package/dist/lib/crypto/transmitters/StakeWithdrawals.d.ts +0 -17
  125. package/dist/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +0 -1
  126. package/dist/lib/crypto/transmitters/StakeWithdrawals.js +0 -115
  127. package/dist/lib/crypto/transmitters/ValueTransfers.d.ts +0 -10
  128. package/dist/lib/crypto/transmitters/ValueTransfers.d.ts.map +0 -1
  129. package/dist/lib/crypto/transmitters/ValueTransfers.js +0 -47
  130. package/dist/lib/crypto/transmitters.d.ts +0 -46
  131. package/dist/lib/crypto/transmitters.d.ts.map +0 -1
  132. package/dist/lib/crypto/transmitters.js +0 -506
  133. package/dist/lib/crypto/types.d.ts +0 -127
  134. package/dist/lib/crypto/types.d.ts.map +0 -1
  135. package/dist/lib/crypto/types.js +0 -261
  136. package/dist/lib/crypto/utils.d.ts +0 -10
  137. package/dist/lib/crypto/utils.d.ts.map +0 -1
  138. package/dist/lib/crypto/utils.js +0 -97
  139. package/dist/lib/crypto/wallet.d.ts +0 -26
  140. package/dist/lib/crypto/wallet.d.ts.map +0 -1
  141. package/dist/lib/crypto/wallet.js +0 -327
  142. package/dist/lib/helpers.d.ts +0 -90
  143. package/dist/lib/helpers.d.ts.map +0 -1
  144. package/dist/lib/helpers.js +0 -1031
  145. package/dist/lib/index.d.ts +0 -5
  146. package/dist/lib/index.d.ts.map +0 -1
  147. package/dist/lib/index.js +0 -21
  148. package/dist/lib/radon/artifacts.d.ts +0 -55
  149. package/dist/lib/radon/artifacts.d.ts.map +0 -1
  150. package/dist/lib/radon/artifacts.js +0 -347
  151. package/dist/lib/radon/ccdr/eth.d.ts +0 -100
  152. package/dist/lib/radon/ccdr/eth.d.ts.map +0 -1
  153. package/dist/lib/radon/ccdr/eth.js +0 -237
  154. package/dist/lib/radon/ccdr/index.d.ts +0 -34
  155. package/dist/lib/radon/ccdr/index.d.ts.map +0 -1
  156. package/dist/lib/radon/ccdr/index.js +0 -63
  157. package/dist/lib/radon/ccdr/wit.d.ts +0 -29
  158. package/dist/lib/radon/ccdr/wit.d.ts.map +0 -1
  159. package/dist/lib/radon/ccdr/wit.js +0 -60
  160. package/dist/lib/radon/filters.d.ts +0 -14
  161. package/dist/lib/radon/filters.d.ts.map +0 -1
  162. package/dist/lib/radon/filters.js +0 -47
  163. package/dist/lib/radon/index.d.ts +0 -36
  164. package/dist/lib/radon/index.d.ts.map +0 -1
  165. package/dist/lib/radon/index.js +0 -154
  166. package/dist/lib/radon/reducers.d.ts +0 -29
  167. package/dist/lib/radon/reducers.d.ts.map +0 -1
  168. package/dist/lib/radon/reducers.js +0 -101
  169. package/dist/lib/radon/retrievals.d.ts +0 -120
  170. package/dist/lib/radon/retrievals.d.ts.map +0 -1
  171. package/dist/lib/radon/retrievals.js +0 -358
  172. package/dist/lib/radon/sources.d.ts +0 -102
  173. package/dist/lib/radon/sources.d.ts.map +0 -1
  174. package/dist/lib/radon/sources.js +0 -294
  175. package/dist/lib/radon/types.d.ts +0 -521
  176. package/dist/lib/radon/types.d.ts.map +0 -1
  177. package/dist/lib/radon/types.js +0 -1066
  178. package/dist/lib/radon/utils.d.ts +0 -55
  179. package/dist/lib/radon/utils.d.ts.map +0 -1
  180. package/dist/lib/radon/utils.js +0 -181
  181. package/dist/lib/rpc/farm.d.ts +0 -66
  182. package/dist/lib/rpc/farm.d.ts.map +0 -1
  183. package/dist/lib/rpc/farm.js +0 -808
  184. package/dist/lib/rpc/index.d.ts +0 -3
  185. package/dist/lib/rpc/index.d.ts.map +0 -1
  186. package/dist/lib/rpc/index.js +0 -19
  187. package/dist/lib/rpc/node.d.ts +0 -38
  188. package/dist/lib/rpc/node.d.ts.map +0 -1
  189. package/dist/lib/rpc/node.js +0 -335
  190. package/dist/lib/rpc/nodes.d.ts +0 -40
  191. package/dist/lib/rpc/nodes.d.ts.map +0 -1
  192. package/dist/lib/rpc/nodes.js +0 -531
  193. package/dist/lib/rpc/provider.d.ts +0 -72
  194. package/dist/lib/rpc/provider.d.ts.map +0 -1
  195. package/dist/lib/rpc/provider.js +0 -402
  196. package/dist/lib/rpc/reporter.d.ts +0 -18
  197. package/dist/lib/rpc/reporter.d.ts.map +0 -1
  198. package/dist/lib/rpc/reporter.js +0 -99
  199. package/dist/lib/rpc/types.d.ts +0 -396
  200. package/dist/lib/rpc/types.d.ts.map +0 -1
  201. package/dist/lib/rpc/types.js +0 -81
  202. package/dist/lib/rpc/wallet.d.ts +0 -72
  203. package/dist/lib/rpc/wallet.d.ts.map +0 -1
  204. package/dist/lib/rpc/wallet.js +0 -41
  205. package/dist/lib/types.d.ts +0 -19
  206. package/dist/lib/types.d.ts.map +0 -1
  207. package/dist/lib/types.js +0 -7
  208. package/dist/lib/utils.d.ts +0 -5
  209. package/dist/lib/utils.d.ts.map +0 -1
  210. package/dist/lib/utils.js +0 -51
  211. package/dist/src/lib/rpc/reporter.d.ts +0 -17
  212. package/dist/src/lib/rpc/reporter.d.ts.map +0 -1
  213. package/dist/src/lib/rpc/reporter.js +0 -27
@@ -1,127 +0,0 @@
1
- import { Epoch, Hash, HexString, Nanowits } from "../types";
2
- export type KeyPath = Array<number>;
3
- export type KeyedSignature = {
4
- signature: {
5
- Secp256k1: {
6
- der: Array<number>;
7
- };
8
- };
9
- public_key: {
10
- bytes: Array<number>;
11
- compressed: number;
12
- };
13
- };
14
- export type PublicKeyHashString = HexString;
15
- interface Key {
16
- bytes: Uint8Array;
17
- }
18
- export interface PrivateKey extends Key {
19
- type: "private";
20
- }
21
- export interface PublicKey extends Key {
22
- type: "public";
23
- }
24
- export type TransactionCallback = (receipt: TransactionReceipt, error?: any) => any;
25
- export type TransactionParams = {
26
- deadline?: Epoch;
27
- fees: Nanowits;
28
- };
29
- export type TransactionReceipt = {
30
- authorization?: HexString;
31
- blockEpoch?: Epoch;
32
- blockHash?: Hash;
33
- blockMiner?: PublicKeyHashString;
34
- burns?: Nanowits;
35
- confirmations?: number;
36
- change?: Nanowits;
37
- droHash?: Hash;
38
- error?: Error;
39
- fees: Nanowits;
40
- from?: Array<PublicKeyHashString> | PublicKeyHashString;
41
- hash: Hash;
42
- outputLock?: number;
43
- radArgs?: any;
44
- radHash?: HexString;
45
- recipients?: Array<[PublicKeyHashString, Nanowits]>;
46
- status?: TransactionStatus;
47
- timestamp: number;
48
- type: string;
49
- tx?: any;
50
- value?: Nanowits;
51
- weight: number;
52
- withdrawer?: PublicKeyHashString;
53
- witnesses?: number | Record<PublicKeyHashString, Nanowits>;
54
- };
55
- export declare enum TransactionStatus {
56
- Pending = "pending",
57
- Confirmed = "confirmed",
58
- Finalized = "finalized",
59
- Mined = "mined",
60
- Relayed = "relayed"
61
- }
62
- export type Transmission = {
63
- bytecode?: Uint8Array;
64
- hash?: Hash;
65
- message: any;
66
- };
67
- export type UtxoPointer = {
68
- transaction_id: Hash;
69
- output_index: number;
70
- };
71
- export declare enum UtxoSelectionStrategy {
72
- BigFirst = "big-first",
73
- Random = "random",
74
- SlimFit = "slim-fit",
75
- SmallFirst = "small-first"
76
- }
77
- export declare class PublicKey implements Key {
78
- readonly compressed: number;
79
- readonly bytes: Uint8Array;
80
- static fromProtobuf(protobuf: {
81
- compressed: number;
82
- bytes: Array<number>;
83
- }): PublicKey;
84
- static fromUint8Array(uint8Array: Uint8Array): PublicKey;
85
- static recoverFrom(recoverable: any, msg: Uint8Array): PublicKey;
86
- constructor(compressed: number, bytes: Uint8Array);
87
- equals(pubKey: PublicKey): boolean;
88
- hash(): PublicKeyHash;
89
- toString(): string;
90
- toUint8Array(): Uint8Array;
91
- }
92
- export declare class PublicKeyHash {
93
- static fromHash(hash: Uint8Array): PublicKeyHash;
94
- static fromHexString(hash: HexString): PublicKeyHash;
95
- static fromPublicKey(pk: PublicKey): PublicKeyHash;
96
- static fromBech32(pkh: string): PublicKeyHash;
97
- protected words: number[];
98
- constructor(words: number[]);
99
- toBech32(network?: string): string;
100
- toBytes20(): Uint8Array;
101
- toBytes32(): Uint8Array;
102
- toHexString(): string;
103
- }
104
- export declare class Signature {
105
- static fromHexString(hex: string): Signature;
106
- readonly bytes: Uint8Array;
107
- constructor(bytes: Uint8Array);
108
- toHexString(): string;
109
- }
110
- export declare class RecoverableSignature extends Signature {
111
- static from(recoverable: any, msg: Uint8Array): RecoverableSignature;
112
- static fromKeyedSignature(ks: KeyedSignature, msg: Uint8Array): RecoverableSignature;
113
- readonly message: Uint8Array;
114
- readonly pubKey: PublicKey;
115
- readonly recoveryId: number;
116
- constructor(pubKey: PublicKey, bytes: Uint8Array, msg: Uint8Array);
117
- toHexString(): string;
118
- toKeyedSignature(): any;
119
- toProtobuf(): any;
120
- }
121
- export declare class TransmissionError extends Error {
122
- readonly error?: any;
123
- readonly inFlight: Transmission;
124
- constructor(inFlight: Transmission, error?: any);
125
- }
126
- export {};
127
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/crypto/types.ts"],"names":[],"mappings":"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"}
@@ -1,261 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __read = (this && this.__read) || function (o, n) {
18
- var m = typeof Symbol === "function" && o[Symbol.iterator];
19
- if (!m) return o;
20
- var i = m.call(o), r, ar = [], e;
21
- try {
22
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
- }
24
- catch (error) { e = { error: error }; }
25
- finally {
26
- try {
27
- if (r && !r.done && (m = i["return"])) m.call(i);
28
- }
29
- finally { if (e) throw e.error; }
30
- }
31
- return ar;
32
- };
33
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
34
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
35
- if (ar || !(i in from)) {
36
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
37
- ar[i] = from[i];
38
- }
39
- }
40
- return to.concat(ar || Array.prototype.slice.call(from));
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.TransmissionError = exports.RecoverableSignature = exports.Signature = exports.PublicKeyHash = exports.PublicKey = exports.UtxoSelectionStrategy = exports.TransactionStatus = void 0;
44
- var secp256k1 = require('secp256k1');
45
- var bech32_1 = require("bech32");
46
- var helpers_1 = require("../../bin/helpers");
47
- var utils_1 = require("./utils");
48
- var TransactionStatus;
49
- (function (TransactionStatus) {
50
- /// Awating to be relayed by the RPC provider
51
- TransactionStatus["Pending"] = "pending";
52
- /// Remains on-chain after certain amount of epochs since mined
53
- TransactionStatus["Confirmed"] = "confirmed";
54
- /// Remains on-chain after end of next super-epoch to the one on which the tx got mined
55
- TransactionStatus["Finalized"] = "finalized";
56
- /// Relayed and allegedly included in a block
57
- TransactionStatus["Mined"] = "mined";
58
- /// Relayed to the mempool
59
- TransactionStatus["Relayed"] = "relayed";
60
- })(TransactionStatus || (exports.TransactionStatus = TransactionStatus = {}));
61
- var UtxoSelectionStrategy;
62
- (function (UtxoSelectionStrategy) {
63
- UtxoSelectionStrategy["BigFirst"] = "big-first";
64
- UtxoSelectionStrategy["Random"] = "random";
65
- UtxoSelectionStrategy["SlimFit"] = "slim-fit";
66
- UtxoSelectionStrategy["SmallFirst"] = "small-first";
67
- })(UtxoSelectionStrategy || (exports.UtxoSelectionStrategy = UtxoSelectionStrategy = {}));
68
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
69
- /// EXPORTED CLASSES
70
- /// ===================================================================================================================
71
- var PublicKey = /** @class */ (function () {
72
- function PublicKey(compressed, bytes) {
73
- this.compressed = compressed;
74
- this.bytes = bytes;
75
- }
76
- PublicKey.fromProtobuf = function (protobuf) {
77
- return new PublicKey(protobuf.compressed, Uint8Array.from(protobuf.bytes));
78
- };
79
- PublicKey.fromUint8Array = function (uint8Array) {
80
- return new PublicKey(uint8Array[0], uint8Array.slice(1));
81
- };
82
- PublicKey.recoverFrom = function (recoverable, msg) {
83
- var bytes;
84
- if ((0, helpers_1.isHexString)(recoverable)) {
85
- bytes = (0, helpers_1.fromHexString)(recoverable);
86
- }
87
- else if (recoverable instanceof Buffer) {
88
- bytes = Uint8Array.from(recoverable.buffer);
89
- }
90
- else if (recoverable instanceof Uint8Array) {
91
- bytes = recoverable;
92
- }
93
- else {
94
- throw new TypeError("PublicKey: unsupported recoverable signature format: ".concat(recoverable));
95
- }
96
- if (bytes.length !== 65) {
97
- throw new TypeError("PublicKey: expected recoverable signature with length 65: ".concat((0, helpers_1.toHexString)(bytes)));
98
- }
99
- var _a = __read([bytes[0], bytes.slice(1)], 2), recoveryId = _a[0], signature = _a[1];
100
- return PublicKey.fromUint8Array(secp256k1.ecdsaRecover(signature, recoveryId, msg));
101
- };
102
- PublicKey.prototype.equals = function (pubKey) {
103
- return pubKey.compressed === this.compressed && matchingUint8Arrays(pubKey.bytes, pubKey.bytes);
104
- };
105
- PublicKey.prototype.hash = function () {
106
- return PublicKeyHash.fromPublicKey(this);
107
- };
108
- PublicKey.prototype.toString = function () {
109
- return (0, helpers_1.toHexString)(__spreadArray([this.compressed], __read(this.bytes), false));
110
- };
111
- PublicKey.prototype.toUint8Array = function () {
112
- return Uint8Array.from(__spreadArray([this.compressed], __read(this.bytes), false));
113
- };
114
- return PublicKey;
115
- }());
116
- exports.PublicKey = PublicKey;
117
- ;
118
- /// ===================================================================================================================
119
- var PublicKeyHash = /** @class */ (function () {
120
- function PublicKeyHash(words) {
121
- this.words = words;
122
- }
123
- PublicKeyHash.fromHash = function (hash) {
124
- return new PublicKeyHash(bech32_1.bech32.toWords(hash));
125
- };
126
- PublicKeyHash.fromHexString = function (hash) {
127
- return PublicKeyHash.fromHash((0, helpers_1.fromHexString)(hash));
128
- };
129
- PublicKeyHash.fromPublicKey = function (pk) {
130
- return PublicKeyHash.fromHash((0, utils_1.sha256)(Buffer.from(__spreadArray([pk.compressed], __read(pk.bytes), false))).subarray(0, 20));
131
- };
132
- PublicKeyHash.fromBech32 = function (pkh) {
133
- try {
134
- pkh = pkh.toLowerCase();
135
- if (pkh.startsWith('wit')) {
136
- return new PublicKeyHash(bech32_1.bech32.decode(pkh, 66).words);
137
- }
138
- else if (pkh.startsWith('twit')) {
139
- return new PublicKeyHash(bech32_1.bech32.decode(pkh, 67).words);
140
- }
141
- else {
142
- throw new TypeError("PublicKeyHash: invalid bech32 string: ".concat(pkh));
143
- }
144
- }
145
- catch (_a) {
146
- throw new TypeError("PublicKeyHash: invalid bech32 string: ".concat(pkh));
147
- }
148
- };
149
- PublicKeyHash.prototype.toBech32 = function (network) {
150
- if (network === void 0) { network = "mainnet"; }
151
- return network === "mainnet" ? bech32_1.bech32.encode('wit', this.words, 66) : bech32_1.bech32.encode('twit', this.words, 67);
152
- };
153
- PublicKeyHash.prototype.toBytes20 = function () {
154
- return Uint8Array.from(bech32_1.bech32.fromWords(this.words).slice(0, 20));
155
- };
156
- PublicKeyHash.prototype.toBytes32 = function () {
157
- return Uint8Array.from(__spreadArray(__spreadArray([], __read(bech32_1.bech32.fromWords(this.words).slice(0, 20)), false), __read(new Array(12).fill(0)), false));
158
- };
159
- PublicKeyHash.prototype.toHexString = function () {
160
- return (0, helpers_1.toHexString)(this.toBytes20());
161
- };
162
- return PublicKeyHash;
163
- }());
164
- exports.PublicKeyHash = PublicKeyHash;
165
- /// ===================================================================================================================
166
- var Signature = /** @class */ (function () {
167
- function Signature(bytes) {
168
- this.bytes = bytes;
169
- }
170
- Signature.fromHexString = function (hex) {
171
- return new Signature((0, helpers_1.fromHexString)(hex));
172
- };
173
- Signature.prototype.toHexString = function () {
174
- return (0, helpers_1.toHexString)(this.bytes);
175
- };
176
- return Signature;
177
- }());
178
- exports.Signature = Signature;
179
- /// ===================================================================================================================
180
- var RecoverableSignature = /** @class */ (function (_super) {
181
- __extends(RecoverableSignature, _super);
182
- function RecoverableSignature(pubKey, bytes, msg) {
183
- var _this = _super.call(this, bytes) || this;
184
- var pubKeyRaw = pubKey.toUint8Array();
185
- var recoveryId;
186
- for (recoveryId = 0; recoveryId < 4; recoveryId++) {
187
- var recovered = void 0;
188
- try {
189
- recovered = secp256k1.ecdsaRecover(bytes, recoveryId, msg);
190
- if (matchingUint8Arrays(recovered, pubKeyRaw))
191
- break;
192
- }
193
- catch (_a) { }
194
- }
195
- _this.message = msg;
196
- _this.pubKey = pubKey;
197
- _this.recoveryId = recoveryId;
198
- return _this;
199
- }
200
- RecoverableSignature.from = function (recoverable, msg) {
201
- var bytes;
202
- if ((0, helpers_1.isHexString)(recoverable)) {
203
- bytes = (0, helpers_1.fromHexString)(recoverable).slice(1);
204
- }
205
- else if (recoverable instanceof Buffer) {
206
- bytes = Uint8Array.from(recoverable.buffer).slice(1);
207
- }
208
- else if (recoverable instanceof Uint8Array) {
209
- bytes = recoverable.slice(1);
210
- }
211
- else {
212
- throw new TypeError("RecoverableSignature: unsupported recoverable signature format: ".concat(recoverable));
213
- }
214
- if (bytes.length !== 64) {
215
- throw new TypeError("RecoverableSignatre: expected recoverable signature with length 65: ".concat((0, helpers_1.toHexString)(bytes)));
216
- }
217
- return new RecoverableSignature(PublicKey.recoverFrom(recoverable, msg), bytes, msg);
218
- };
219
- RecoverableSignature.fromKeyedSignature = function (ks, msg) {
220
- return new RecoverableSignature(PublicKey.fromProtobuf(ks.public_key), secp256k1.signatureImport(Uint8Array.from(ks.signature.Secp256k1.der)), msg);
221
- };
222
- RecoverableSignature.prototype.toHexString = function () {
223
- return (0, helpers_1.toHexString)(__spreadArray([this.recoveryId], __read(this.bytes), false));
224
- };
225
- RecoverableSignature.prototype.toKeyedSignature = function () {
226
- return {
227
- signature: { Secp256k1: { der: Array.from(secp256k1.signatureExport(this.bytes)) } },
228
- public_key: {
229
- bytes: Array.from(this.pubKey.bytes),
230
- compressed: this.pubKey.compressed,
231
- }
232
- };
233
- };
234
- RecoverableSignature.prototype.toProtobuf = function () {
235
- return {
236
- signature: { Secp256k1: { der: Array.from(secp256k1.signatureExport(this.bytes)) } },
237
- publicKey: { publicKey: Array.from(__spreadArray([this.pubKey.compressed], __read(this.pubKey.bytes), false)) },
238
- };
239
- };
240
- return RecoverableSignature;
241
- }(Signature));
242
- exports.RecoverableSignature = RecoverableSignature;
243
- /// ===================================================================================================================
244
- var TransmissionError = /** @class */ (function (_super) {
245
- __extends(TransmissionError, _super);
246
- function TransmissionError(inFlight, error) {
247
- var _this = _super.call(this, JSON.stringify(error)) || this;
248
- error === null || error === void 0 ? true : delete error.stack;
249
- _this.error = error;
250
- _this.inFlight = inFlight;
251
- return _this;
252
- }
253
- return TransmissionError;
254
- }(Error));
255
- exports.TransmissionError = TransmissionError;
256
- /// -------------------------------------------------------------------------------------------------------------------
257
- /// --- Internal functions
258
- function matchingUint8Arrays(a, b) {
259
- return a.length === b.length && a.every(function (value, index) { return value === b[index]; });
260
- }
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NyeXB0by90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQ3RDLGlDQUErQjtBQUcvQiw2Q0FBMkU7QUFDM0UsaUNBQWdDO0FBMkRoQyxJQUFZLGlCQWVYO0FBZkQsV0FBWSxpQkFBaUI7SUFDekIsNkNBQTZDO0lBQzdDLHdDQUFtQixDQUFBO0lBRW5CLCtEQUErRDtJQUMvRCw0Q0FBdUIsQ0FBQTtJQUV2Qix1RkFBdUY7SUFDdkYsNENBQXVCLENBQUE7SUFFdkIsNkNBQTZDO0lBQzdDLG9DQUFlLENBQUE7SUFFZiwyQkFBMkI7SUFDM0Isd0NBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQWZXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBZTVCO0FBZUQsSUFBWSxxQkFLWDtBQUxELFdBQVkscUJBQXFCO0lBQzdCLCtDQUFzQixDQUFBO0lBQ3RCLDBDQUFpQixDQUFBO0lBQ2pCLDZDQUFvQixDQUFBO0lBQ3BCLG1EQUEwQixDQUFBO0FBQzlCLENBQUMsRUFMVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQUtoQztBQUdELHVIQUF1SDtBQUN2SCxxQkFBcUI7QUFFckIsdUhBQXVIO0FBQ3ZIO0lBa0NJLG1CQUFZLFVBQWtCLEVBQUUsS0FBaUI7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDdEIsQ0FBQztJQWhDTSxzQkFBWSxHQUFuQixVQUFvQixRQUFzRDtRQUN0RSxPQUFPLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMs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bnQiOlsiY29uc3Qgc2VjcDI1NmsxID0gcmVxdWlyZSgnc2VjcDI1NmsxJylcbmltcG9ydCB7IGJlY2gzMiB9IGZyb20gJ2JlY2gzMidcbmltcG9ydCB7IEVwb2NoLCBIYXNoLCBIZXhTdHJpbmcsIE5hbm93aXRzIH0gZnJvbSBcIi4uL3R5cGVzXCJcblxuaW1wb3J0IHsgZnJvbUhleFN0cmluZywgaXNIZXhTdHJpbmcsIHRvSGV4U3RyaW5nIH0gZnJvbSBcIi4uLy4uL2Jpbi9oZWxwZXJzXCJcbmltcG9ydCB7IHNoYTI1NiB9IGZyb20gXCIuL3V0aWxzXCJcblxuZXhwb3J0IHR5cGUgS2V5UGF0aCA9IEFycmF5PG51bWJlcj5cblxuZXhwb3J0IHR5cGUgS2V5ZWRTaWduYXR1cmUgPSB7XG4gICAgc2lnbmF0dXJlOiB7IFNlY3AyNTZrMTogeyBkZXI6IEFycmF5PG51bWJlcj4gfX0sXG4gICAgcHVibGljX2tleToge1xuICAgICAgICBieXRlczogQXJyYXk8bnVtYmVyPjtcbiAgICAgICAgY29tcHJlc3NlZDogbnVtYmVyLFxuICAgIH0sXG59O1xuXG5leHBvcnQgdHlwZSBQdWJsaWNLZXlIYXNoU3RyaW5nID0gSGV4U3RyaW5nXG5cbmludGVyZmFjZSBLZXkge1xuICAgIGJ5dGVzOiBVaW50OEFycmF5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByaXZhdGVLZXkgZXh0ZW5kcyBLZXkge1xuICAgIHR5cGU6IFwicHJpdmF0ZVwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1YmxpY0tleSBleHRlbmRzIEtleSB7XG4gICAgdHlwZTogXCJwdWJsaWNcIjtcbn1cblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25DYWxsYmFjayA9IChyZWNlaXB0OiBUcmFuc2FjdGlvblJlY2VpcHQsIGVycm9yPzogYW55KSA9PiBhbnlcblxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25QYXJhbXMgPSB7XG4gICAgZGVhZGxpbmU/OiBFcG9jaCxcbiAgICBmZWVzOiBOYW5vd2l0cyxcbn1cbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uUmVjZWlwdCA9IHtcbiAgICBhdXRob3JpemF0aW9uPzogSGV4U3RyaW5nO1xuICAgIGJsb2NrRXBvY2g/OiBFcG9jaDtcbiAgICBibG9ja0hhc2g/OiBIYXNoO1xuICAgIGJsb2NrTWluZXI/OiBQdWJsaWNLZXlIYXNoU3RyaW5nO1xuICAgIGJ1cm5zPzogTmFub3dpdHM7XG4gICAgY29uZmlybWF0aW9ucz86IG51bWJlcjtcbiAgICBjaGFuZ2U/OiBOYW5vd2l0cztcbiAgICBkcm9IYXNoPzogSGFzaDtcbiAgICBlcnJvcj86IEVycm9yLFxuICAgIGZlZXM6IE5hbm93aXRzO1xuICAgIGZyb20/OiBBcnJheTxQdWJsaWNLZXlIYXNoU3RyaW5nPiB8IFB1YmxpY0tleUhhc2hTdHJpbmc7XG4gICAgaGFzaDogSGFzaDtcbiAgICBvdXRwdXRMb2NrPzogbnVtYmVyO1xuICAgIHJhZEFyZ3M/OiBhbnk7XG4gICAgcmFkSGFzaD86IEhleFN0cmluZztcbiAgICByZWNpcGllbnRzPzogQXJyYXk8W1B1YmxpY0tleUhhc2hTdHJpbmcsIE5hbm93aXRzXT47XG4gICAgc3RhdHVzPzogVHJhbnNhY3Rpb25TdGF0dXM7XG4gICAgdGltZXN0YW1wOiBudW1iZXI7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHR4PzogYW55O1xuICAgIHZhbHVlPzogTmFub3dpdHM7XG4gICAgd2VpZ2h0OiBudW1iZXI7XG4gICAgd2l0aGRyYXdlcj86IFB1YmxpY0tleUhhc2hTdHJpbmc7XG4gICAgd2l0bmVzc2VzPzogbnVtYmVyIHwgUmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIE5hbm93aXRzPjtcbn1cblxuZXhwb3J0IGVudW0gVHJhbnNhY3Rpb25TdGF0dXMge1xuICAgIC8vLyBBd2F0aW5nIHRvIGJlIHJlbGF5ZWQgYnkgdGhlIFJQQyBwcm92aWRlclxuICAgIFBlbmRpbmcgPSBcInBlbmRpbmdcIiwgXG5cbiAgICAvLy8gUmVtYWlucyBvbi1jaGFpbiBhZnRlciBjZXJ0YWluIGFtb3VudCBvZiBlcG9jaHMgc2luY2UgbWluZWRcbiAgICBDb25maXJtZWQgPSBcImNvbmZpcm1lZFwiLFxuXG4gICAgLy8vIFJlbWFpbnMgb24tY2hhaW4gYWZ0ZXIgZW5kIG9mIG5leHQgc3VwZXItZXBvY2ggdG8gdGhlIG9uZSBvbiB3aGljaCB0aGUgdHggZ290IG1pbmVkXG4gICAgRmluYWxpemVkID0gXCJmaW5hbGl6ZWRcIixcbiAgICBcbiAgICAvLy8gUmVsYXllZCBhbmQgYWxsZWdlZGx5IGluY2x1ZGVkIGluIGEgYmxvY2tcbiAgICBNaW5lZCA9IFwibWluZWRcIixcbiAgICBcbiAgICAvLy8gUmVsYXllZCB0byB0aGUgbWVtcG9vbCBcbiAgICBSZWxheWVkID0gXCJyZWxheWVkXCIsXG59XG5cbmV4cG9ydCB0eXBlIFRyYW5zbWlzc2lvbiA9IHtcbiAgICBieXRlY29kZT86IFVpbnQ4QXJyYXksXG4gICAgaGFzaD86IEhhc2g7XG4gICAgbWVzc2FnZTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBVdHhvUG9pbnRlciA9IHtcbiAgICAvLyB0cmFuc2FjdGlvbiBpZGVudGlmaWVyXG4gICAgdHJhbnNhY3Rpb25faWQ6IEhhc2g7XG4gICAgLy8gb3V0cHV0IGluZGV4IHdpdGhpbiByZWZlcnJlZCB0cmFuc2FjdGlvblxuICAgIG91dHB1dF9pbmRleDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGVudW0gVXR4b1NlbGVjdGlvblN0cmF0ZWd5IHtcbiAgICBCaWdGaXJzdCA9IFwiYmlnLWZpcnN0XCIsXG4gICAgUmFuZG9tID0gXCJyYW5kb21cIixcbiAgICBTbGltRml0ID0gXCJzbGltLWZpdFwiLFxuICAgIFNtYWxsRmlyc3QgPSBcInNtYWxsLWZpcnN0XCIsXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBFWFBPUlRFRCBDTEFTU0VTIFxuXG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuZXhwb3J0IGNsYXNzIFB1YmxpY0tleSBpbXBsZW1lbnRzIEtleSB7XG4gICAgXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbXByZXNzZWQ6IG51bWJlcjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnl0ZXM6IFVpbnQ4QXJyYXk7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvYnVmKHByb3RvYnVmOiB7IGNvbXByZXNzZWQ6IG51bWJlciwgYnl0ZXM6IEFycmF5PG51bWJlcj4gfSk6IFB1YmxpY0tleSB7XG4gICAgICAgIHJldHVybiBuZXcgUHVibGljS2V5KHByb3RvYnVmLmNvbXByZXNzZWQsIFVpbnQ4QXJyYXkuZnJvbShwcm90b2J1Zi5ieXRlcykpXG4gICAgfVxuXG4gICAgc3RhdGljIGZyb21VaW50OEFycmF5KHVpbnQ4QXJyYXk6IFVpbnQ4QXJyYXkpOiBQdWJsaWNLZXkge1xuICAgICAgICByZXR1cm4gbmV3IFB1YmxpY0tleShcbiAgICAgICAgICAgIHVpbnQ4QXJyYXlbMF0sXG4gICAgICAgICAgICB1aW50OEFycmF5LnNsaWNlKDEpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHN0YXRpYyByZWNvdmVyRnJvbShyZWNvdmVyYWJsZTogYW55LCBtc2c6IFVpbnQ4QXJyYXkpOiBQdWJsaWNLZXkge1xuICAgICAgICBsZXQgYnl0ZXNcbiAgICAgICAgaWYgKGlzSGV4U3RyaW5nKHJlY292ZXJhYmxlKSkge1xuICAgICAgICAgICAgYnl0ZXMgPSBmcm9tSGV4U3RyaW5nKHJlY292ZXJhYmxlKVxuICAgICAgICB9IGVsc2UgaWYgKHJlY292ZXJhYmxlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgICAgICBieXRlcyA9IFVpbnQ4QXJyYXkuZnJvbShyZWNvdmVyYWJsZS5idWZmZXIpXG4gICAgICAgIH0gZWxzZSBpZiAocmVjb3ZlcmFibGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgICAgICAgICBieXRlcyA9IHJlY292ZXJhYmxlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBQdWJsaWNLZXk6IHVuc3VwcG9ydGVkIHJlY292ZXJhYmxlIHNpZ25hdHVyZSBmb3JtYXQ6ICR7cmVjb3ZlcmFibGV9YClcbiAgICAgICAgfVxuICAgICAgICBpZiAoYnl0ZXMubGVuZ3RoICE9PSA2NSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgUHVibGljS2V5OiBleHBlY3RlZCByZWNvdmVyYWJsZSBzaWduYXR1cmUgd2l0aCBsZW5ndGggNjU6ICR7dG9IZXhTdHJpbmcoYnl0ZXMpfWApXG4gICAgICAgIH0gXG4gICAgICAgIGNvbnN0IFsgcmVjb3ZlcnlJZCwgc2lnbmF0dXJlIF0gPSBbIGJ5dGVzWzBdLCBieXRlcy5zbGljZSgxKSBdXG4gICAgICAgIHJldHVybiBQdWJsaWNLZXkuZnJvbVVpbnQ4QXJyYXkoc2VjcDI1NmsxLmVjZHNhUmVjb3ZlcihzaWduYXR1cmUsIHJlY292ZXJ5SWQsIG1zZykpXG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoY29tcHJlc3NlZDogbnVtYmVyLCBieXRlczogVWludDhBcnJheSkge1xuICAgICAgICB0aGlzLmNvbXByZXNzZWQgPSBjb21wcmVzc2VkXG4gICAgICAgIHRoaXMuYnl0ZXMgPSBieXRlc1xuICAgIH1cblxuICAgIHB1YmxpYyBlcXVhbHMocHViS2V5OiBQdWJsaWNLZXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHB1YktleS5jb21wcmVzc2VkID09PSB0aGlzLmNvbXByZXNzZWQgJiYgbWF0Y2hpbmdVaW50OEFycmF5cyhwdWJLZXkuYnl0ZXMsIHB1YktleS5ieXRlcylcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzaCgpOiBQdWJsaWNLZXlIYXNoIHtcbiAgICAgICAgcmV0dXJuIFB1YmxpY0tleUhhc2guZnJvbVB1YmxpY0tleSh0aGlzKVxuICAgIH1cblxuICAgIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdG9IZXhTdHJpbmcoW3RoaXMuY29tcHJlc3NlZCwgLi4udGhpcy5ieXRlc10pXG4gICAgfVxuXG4gICAgcHVibGljIHRvVWludDhBcnJheSgpOiBVaW50OEFycmF5IHtcbiAgICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShbdGhpcy5jb21wcmVzc2VkLCAuLi50aGlzLmJ5dGVzXSlcbiAgICB9XG59O1xuXG5cbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgY2xhc3MgUHVibGljS2V5SGFzaCB7XG5cbiAgICBzdGF0aWMgZnJvbUhhc2goaGFzaDogVWludDhBcnJheSk6IFB1YmxpY0tleUhhc2gge1xuICAgICAgICByZXR1cm4gbmV3IFB1YmxpY0tleUhhc2goYmVjaDMyLnRvV29yZHMoaGFzaCkpO1xuICAgIH1cblxuICAgIHN0YXRpYyBmcm9tSGV4U3RyaW5nKGhhc2g6IEhleFN0cmluZyk6IFB1YmxpY0tleUhhc2gge1xuICAgICAgICByZXR1cm4gUHVibGljS2V5SGFzaC5mcm9tSGFzaChmcm9tSGV4U3RyaW5nKGhhc2gpKVxuICAgIH1cbiAgICBcbiAgICBzdGF0aWMgZnJvbVB1YmxpY0tleShwazogUHVibGljS2V5KTogUHVibGljS2V5SGFzaCB7XG4gICAgICAgIHJldHVybiBQdWJsaWNLZXlIYXNoLmZyb21IYXNoKFxuICAgICAgICAgICAgc2hhMjU2KFxuICAgICAgICAgICAgICAgIEJ1ZmZlci5mcm9tKFtway5jb21wcmVzc2VkLCAuLi5way5ieXRlc10pXG4gICAgICAgICAgICApLnN1YmFycmF5KDAsIDIwKVxuICAgICAgICApO1xuICAgIH1cbiAgICBcbiAgICBzdGF0aWMgZnJvbUJlY2gzMihwa2g6IHN0cmluZyk6IFB1YmxpY0tleUhhc2gge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcGtoID0gcGtoLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIGlmIChwa2guc3RhcnRzV2l0aCgnd2l0JykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFB1YmxpY0tleUhhc2goYmVjaDMyLmRlY29kZShwa2gsIDY2KS53b3JkcylcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGtoLnN0YXJ0c1dpdGgoJ3R3aXQnKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHVibGljS2V5SGFzaChiZWNoMzIuZGVjb2RlKHBraCwgNjcpLndvcmRzKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBQdWJsaWNLZXlIYXNoOiBpbnZhbGlkIGJlY2gzMiBzdHJpbmc6ICR7cGtofWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFB1YmxpY0tleUhhc2g6IGludmFsaWQgYmVjaDMyIHN0cmluZzogJHtwa2h9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgd29yZHM6IG51bWJlcltdO1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKHdvcmRzOiBudW1iZXJbXSkge1xuICAgICAgICB0aGlzLndvcmRzID0gd29yZHNcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9CZWNoMzIobmV0d29yayA9IFwibWFpbm5ldFwiKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG5ldHdvcmsgPT09IFwibWFpbm5ldFwiID8gYmVjaDMyLmVuY29kZSgnd2l0JywgdGhpcy53b3JkcywgNjYpIDogYmVjaDMyLmVuY29kZSgndHdpdCcsIHRoaXMud29yZHMsIDY3KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9CeXRlczIwKCk6IFVpbnQ4QXJyYXkge1xuICAgICAgICByZXR1cm4gVWludDhBcnJheS5mcm9tKGJlY2gzMi5mcm9tV29yZHModGhpcy53b3Jkcykuc2xpY2UoMCwgMjApKVxuICAgIH1cblxuICAgIHB1YmxpYyB0b0J5dGVzMzIoKTogVWludDhBcnJheSB7XG4gICAgICAgIHJldHVybiBVaW50OEFycmF5LmZyb20oW1xuICAgICAgICAgICAgLi4uYmVjaDMyLmZyb21Xb3Jkcyh0aGlzLndvcmRzKS5zbGljZSgwLCAyMCksXG4gICAgICAgICAgICAuLi5uZXcgQXJyYXkoMTIpLmZpbGwoMCksXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b0hleFN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdG9IZXhTdHJpbmcodGhpcy50b0J5dGVzMjAoKSlcbiAgICB9XG59XG5cblxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmV4cG9ydCBjbGFzcyBTaWduYXR1cmUge1xuXG4gICAgc3RhdGljIGZyb21IZXhTdHJpbmcoaGV4OiBzdHJpbmcpOiBTaWduYXR1cmUge1xuICAgICAgICByZXR1cm4gbmV3IFNpZ25hdHVyZShmcm9tSGV4U3RyaW5nKGhleCkpXG4gICAgfVxuXG4gICAgcHVibGljIHJlYWRvbmx5IGJ5dGVzOiBVaW50OEFycmF5O1xuXG4gICAgY29uc3RydWN0b3IgKGJ5dGVzOiBVaW50OEFycmF5KSB7XG4gICAgICAgIHRoaXMuYnl0ZXMgPSBieXRlc1xuICAgIH1cbiAgICBcbiAgICBwdWJsaWMgdG9IZXhTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRvSGV4U3RyaW5nKHRoaXMuYnl0ZXMpXG4gICAgfVxufVxuXG5cbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgY2xhc3MgUmVjb3ZlcmFibGVTaWduYXR1cmUgZXh0ZW5kcyBTaWduYXR1cmUge1xuXG4gICAgc3RhdGljIGZyb20ocmVjb3ZlcmFibGU6IGFueSwgbXNnOiBVaW50OEFycmF5KTogUmVjb3ZlcmFibGVTaWduYXR1cmUge1xuICAgICAgICBsZXQgYnl0ZXNcbiAgICAgICAgaWYgKGlzSGV4U3RyaW5nKHJlY292ZXJhYmxlKSkge1xuICAgICAgICAgICAgYnl0ZXMgPSBmcm9tSGV4U3RyaW5nKHJlY292ZXJhYmxlKS5zbGljZSgxKVxuICAgICAgICB9IGVsc2UgaWYgKHJlY292ZXJhYmxlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgICAgICBieXRlcyA9IFVpbnQ4QXJyYXkuZnJvbShyZWNvdmVyYWJsZS5idWZmZXIpLnNsaWNlKDEpXG4gICAgICAgIH0gZWxzZSBpZiAocmVjb3ZlcmFibGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgICAgICAgICBieXRlcyA9IHJlY292ZXJhYmxlLnNsaWNlKDEpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBSZWNvdmVyYWJsZVNpZ25hdHVyZTogdW5zdXBwb3J0ZWQgcmVjb3ZlcmFibGUgc2lnbmF0dXJlIGZvcm1hdDogJHtyZWNvdmVyYWJsZX1gKVxuICAgICAgICB9XG4gICAgICAgIGlmIChieXRlcy5sZW5ndGggIT09IDY0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBSZWNvdmVyYWJsZVNpZ25hdHJlOiBleHBlY3RlZCByZWNvdmVyYWJsZSBzaWduYXR1cmUgd2l0aCBsZW5ndGggNjU6ICR7dG9IZXhTdHJpbmcoYnl0ZXMpfWApXG4gICAgICAgIH0gXG4gICAgICAgIHJldHVybiBuZXcgUmVjb3ZlcmFibGVTaWduYXR1cmUoUHVibGljS2V5LnJlY292ZXJGcm9tKHJlY292ZXJhYmxlLCBtc2cpLCBieXRlcywgbXNnKVxuICAgIH1cblxuICAgIHN0YXRpYyBmcm9tS2V5ZWRTaWduYXR1cmUoa3M6IEtleWVkU2lnbmF0dXJlLCBtc2c6IFVpbnQ4QXJyYXkpOiBSZWNvdmVyYWJsZVNpZ25hdHVyZSB7XG4gICAgICAgIHJldHVybiBuZXcgUmVjb3ZlcmFibGVTaWduYXR1cmUoXG4gICAgICAgICAgICBQdWJsaWNLZXkuZnJvbVByb3RvYnVmKGtzLnB1YmxpY19rZXkpLFxuICAgICAgICAgICAgc2VjcDI1NmsxLnNpZ25hdHVyZUltcG9ydChVaW50OEFycmF5LmZyb20oa3Muc2lnbmF0dXJlLlNlY3AyNTZrMS5kZXIpKSxcbiAgICAgICAgICAgIG1zZ1xuICAgICAgICApICAgXG4gICAgfVxuXG4gICAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2U6IFVpbnQ4QXJyYXlcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHViS2V5OiBQdWJsaWNLZXlcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVjb3ZlcnlJZDogbnVtYmVyXG4gICAgXG4gICAgY29uc3RydWN0b3IgKHB1YktleTogUHVibGljS2V5LCBieXRlczogVWludDhBcnJheSwgbXNnOiBVaW50OEFycmF5KSB7XG4gICAgICAgIHN1cGVyKGJ5dGVzKVxuICAgICAgICBjb25zdCBwdWJLZXlSYXcgPSBwdWJLZXkudG9VaW50OEFycmF5KClcbiAgICAgICAgbGV0IHJlY292ZXJ5SWQ6IG51bWJlcjtcbiAgICAgICAgZm9yIChyZWNvdmVyeUlkID0gMDsgcmVjb3ZlcnlJZCA8IDQ7IHJlY292ZXJ5SWQgKyspIHtcbiAgICAgICAgICAgIGxldCByZWNvdmVyZWQgXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICByZWNvdmVyZWQgPSBzZWNwMjU2azEuZWNkc2FSZWNvdmVyKGJ5dGVzLCByZWNvdmVyeUlkLCBtc2cpXG4gICAgICAgICAgICAgIGlmIChtYXRjaGluZ1VpbnQ4QXJyYXlzKHJlY292ZXJlZCwgcHViS2V5UmF3KSkgYnJlYWs7XG4gICAgICAgICAgICB9IGNhdGNoIHt9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tZXNzYWdlID0gbXNnXG4gICAgICAgIHRoaXMucHViS2V5ID0gcHViS2V5XG4gICAgICAgIHRoaXMucmVjb3ZlcnlJZCA9IHJlY292ZXJ5SWRcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9IZXhTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRvSGV4U3RyaW5nKFt0aGlzLnJlY292ZXJ5SWQsIC4uLnRoaXMuYnl0ZXNdKVxuICAgIH1cblxuICAgIHB1YmxpYyB0b0tleWVkU2lnbmF0dXJlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaWduYXR1cmU6IHsgU2VjcDI1NmsxOiB7IGRlcjogQXJyYXkuZnJvbShzZWNwMjU2azEuc2lnbmF0dXJlRXhwb3J0KHRoaXMuYnl0ZXMpKSB9fSxcbiAgICAgICAgICAgIHB1YmxpY19rZXk6IHtcbiAgICAgICAgICAgICAgICBieXRlczogQXJyYXkuZnJvbSh0aGlzLnB1YktleS5ieXRlcyksXG4gICAgICAgICAgICAgICAgY29tcHJlc3NlZDogdGhpcy5wdWJLZXkuY29tcHJlc3NlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0b1Byb3RvYnVmKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaWduYXR1cmU6IHsgU2VjcDI1NmsxOiB7IGRlcjogQXJyYXkuZnJvbShzZWNwMjU2azEuc2lnbmF0dXJlRXhwb3J0KHRoaXMuYnl0ZXMpKSB9fSxcbiAgICAgICAgICAgIHB1YmxpY0tleTogeyBwdWJsaWNLZXk6IEFycmF5LmZyb20oWyB0aGlzLnB1YktleS5jb21wcmVzc2VkLCAuLi50aGlzLnB1YktleS5ieXRlcyBdKSB9LFxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgY2xhc3MgVHJhbnNtaXNzaW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgcmVhZG9ubHkgZXJyb3I/OiBhbnk7XG4gICAgcmVhZG9ubHkgaW5GbGlnaHQ6IFRyYW5zbWlzc2lvbjtcbiAgICBjb25zdHJ1Y3RvcihpbkZsaWdodDogVHJhbnNtaXNzaW9uLCBlcnJvcj86IGFueSkge1xuICAgICAgICBzdXBlcihKU09OLnN0cmluZ2lmeShlcnJvcikpXG4gICAgICAgIGRlbGV0ZSBlcnJvcj8uc3RhY2tcbiAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yXG4gICAgICAgIHRoaXMuaW5GbGlnaHQgPSBpbkZsaWdodFxuICAgIH1cbn1cblxuXG4vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vIC0tLSBJbnRlcm5hbCBmdW5jdGlvbnMgXG5cbmZ1bmN0aW9uIG1hdGNoaW5nVWludDhBcnJheXMoYTogVWludDhBcnJheSwgYjogVWludDhBcnJheSkge1xuICAgIHJldHVybiBhLmxlbmd0aCA9PT0gYi5sZW5ndGggJiYgYS5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gYltpbmRleF0pXG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- export { bech32 } from 'bech32';
2
- export { PrivateKey, PublicKey, PublicKeyHash, KeyedSignature, RecoverableSignature, Signature } from "./types";
3
- export declare function decipherXprv(slip32: string, passwd: string): string;
4
- export declare const parseXprv: (slip32: string) => {
5
- chainCode: Uint8Array;
6
- keyPath: Array<number>;
7
- privateKey: Uint8Array;
8
- };
9
- export declare function sha256(buffer: any): Buffer<ArrayBufferLike>;
10
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/crypto/utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAqB/G,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAcnE;AAED,eAAO,MAAM,SAAS,WAAY,MAAM,KAAG;IACvC,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;CAyD1B,CAAC;AAEF,wBAAgB,MAAM,CAAC,MAAM,EAAE,GAAG,2BAIjC"}
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseXprv = exports.Signature = exports.RecoverableSignature = exports.PublicKeyHash = exports.PublicKey = exports.bech32 = void 0;
4
- exports.decipherXprv = decipherXprv;
5
- exports.sha256 = sha256;
6
- var secp256k1 = require("secp256k1");
7
- var bech32_1 = require("bech32");
8
- var crypto_1 = require("crypto");
9
- var bech32_2 = require("bech32");
10
- Object.defineProperty(exports, "bech32", { enumerable: true, get: function () { return bech32_2.bech32; } });
11
- var types_1 = require("./types");
12
- Object.defineProperty(exports, "PublicKey", { enumerable: true, get: function () { return types_1.PublicKey; } });
13
- Object.defineProperty(exports, "PublicKeyHash", { enumerable: true, get: function () { return types_1.PublicKeyHash; } });
14
- Object.defineProperty(exports, "RecoverableSignature", { enumerable: true, get: function () { return types_1.RecoverableSignature; } });
15
- Object.defineProperty(exports, "Signature", { enumerable: true, get: function () { return types_1.Signature; } });
16
- var CHAIN_CODE_LENGTH = 32;
17
- var DEPTH_LENGTH = 1;
18
- var KEY_LENGTH = 33;
19
- var KEY_PATH_LENGTH = 4;
20
- var BECH32_LIMIT = (DEPTH_LENGTH
21
- + ((Math.pow(256, DEPTH_LENGTH) - 1) * KEY_PATH_LENGTH)
22
- + CHAIN_CODE_LENGTH
23
- + KEY_LENGTH);
24
- var getExpectedDataLength = function (depth) { return (DEPTH_LENGTH
25
- + depth * KEY_PATH_LENGTH
26
- + CHAIN_CODE_LENGTH
27
- + KEY_LENGTH); };
28
- function decipherXprv(slip32, passwd) {
29
- var _a = bech32_1.bech32.decode(slip32, BECH32_LIMIT), prefix = _a.prefix, words = _a.words;
30
- if (prefix !== "xprv") {
31
- throw Error("Invalid XPRV header: \"".concat(prefix, "\" != \"xprv\""));
32
- }
33
- var buffer = new Uint8Array(bech32_1.bech32.fromWords(words)).buffer;
34
- var iv = buffer.slice(0, 16);
35
- var salt = buffer.slice(16, 48);
36
- var data = buffer.slice(48);
37
- var key = (0, crypto_1.pbkdf2Sync)(passwd, Buffer.from(salt), 10000, 32, 'sha256');
38
- var decipher = (0, crypto_1.createDecipheriv)("aes-256-cbc", key, Buffer.from(iv));
39
- var decrypted = decipher.update(Buffer.from(data), undefined, 'utf-8');
40
- decrypted += decipher.final('utf-8');
41
- return decrypted;
42
- }
43
- var parseXprv = function (slip32) {
44
- // decode slip32 string
45
- var _a = bech32_1.bech32.decode(slip32, BECH32_LIMIT), prefix = _a.prefix, words = _a.words;
46
- var bytes = bech32_1.bech32.fromWords(words);
47
- // check prefix
48
- if (prefix !== "xprv") {
49
- throw Error("Invalid XPRV: bad header: \"".concat(prefix, "\" != \"xprv\""));
50
- }
51
- // check expected data length
52
- var depth = bytes[0];
53
- if (depth !== 0) {
54
- throw Error("Invalid XPRV: not a master private key (depth: ".concat(depth, ")"));
55
- }
56
- var expectedLength = getExpectedDataLength(depth);
57
- if (bytes.length !== expectedLength) {
58
- throw Error("Invalid XPRV: bad data length"
59
- + "(expected: ".concat(expectedLength, ", was: ").concat(bytes.length));
60
- }
61
- var buffer = new Uint8Array(bytes).buffer;
62
- // extract key path (32-bit unsigned integers, big endian)
63
- var keyPath = [];
64
- var keyPathView = new DataView(buffer, DEPTH_LENGTH, depth * KEY_PATH_LENGTH);
65
- for (var i = 0; i < depth; i++) {
66
- keyPath.push((keyPathView.getUint32(i * KEY_PATH_LENGTH, false)));
67
- }
68
- // extract chain code
69
- var chainCode = new Uint8Array(CHAIN_CODE_LENGTH);
70
- var chainCodeOffset = DEPTH_LENGTH + depth * KEY_PATH_LENGTH;
71
- var chainCodeView = new DataView(buffer, chainCodeOffset, CHAIN_CODE_LENGTH);
72
- for (var i = 0; i < chainCode.length; i++) {
73
- chainCode[i] = (chainCodeView.getUint8(i));
74
- }
75
- // extract key bytes
76
- var privateKey = new Uint8Array(KEY_LENGTH);
77
- var privateKeyView = new DataView(buffer, chainCodeOffset + CHAIN_CODE_LENGTH);
78
- for (var i = 0; i < privateKey.length; i++) {
79
- privateKey[i] = (privateKeyView.getUint8(i));
80
- }
81
- // check if private or public key are valid
82
- if (privateKey[0] !== 0 || !secp256k1.privateKeyVerify(privateKey.slice(1))) {
83
- throw Error("Malformed slip32: not a private key");
84
- }
85
- return {
86
- chainCode: chainCode,
87
- keyPath: keyPath,
88
- privateKey: privateKey.slice(1),
89
- };
90
- };
91
- exports.parseXprv = parseXprv;
92
- function sha256(buffer) {
93
- var hash = (0, crypto_1.createHash)('sha256');
94
- hash.update(buffer);
95
- return hash.digest();
96
- }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NyeXB0by91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0QkEsb0NBY0M7QUFnRUQsd0JBSUM7QUE5R0QsSUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBRXRDLGlDQUErQjtBQUMvQixpQ0FBaUU7QUFFakUsaUNBQStCO0FBQXRCLGdHQUFBLE1BQU0sT0FBQTtBQUVmLGlDQUErRztBQUExRixrR0FBQSxTQUFTLE9BQUE7QUFBRSxzR0FBQSxhQUFhLE9BQUE7QUFBa0IsNkdBQUEsb0JBQW9CLE9BQUE7QUFBRSxrR0FBQSxTQUFTLE9BQUE7QUFFOUYsSUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUE7QUFDNUIsSUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFBO0FBQ3RCLElBQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQTtBQUNyQixJQUFNLGVBQWUsR0FBRyxDQUFDLENBQUE7QUFFekIsSUFBTSxZQUFZLEdBQUcsQ0FDakIsWUFBWTtNQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUM7TUFDckQsaUJBQWlCO01BQ2pCLFVBQVUsQ0FDbkIsQ0FBQztBQUVGLElBQU0scUJBQXFCLEdBQUcsVUFBQyxLQUFhLElBQUssT0FBQSxDQUM3QyxZQUFZO01BQ04sS0FBSyxHQUFHLGVBQWU7TUFDdkIsaUJBQWlCO01BQ2pCLFVBQVUsQ0FDbkIsRUFMZ0QsQ0FLaEQsQ0FBQztBQUVGLFNBQWdCLFlBQVksQ0FBQyxNQUFjLEVBQUUsTUFBYztJQUNqRCxJQUFBLEtBQW9CLGVBQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFyRCxNQUFNLFlBQUEsRUFBRSxLQUFLLFdBQXdDLENBQUE7SUFDN0QsSUFBSSxNQUFNLEtBQUss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Q0wsQ0FBQyxDQUFDO0FBNURXLFFBQUEsU0FBUyxhQTREcEI7QUFFRixTQUFnQixNQUFNLENBQUMsTUFBVztJQUM5QixJQUFNLElBQUksR0FBRyxJQUFBLG1CQUFVLEVBQUMsUUFBUSxDQUFDLENBQUE7SUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgc2VjcDI1NmsxID0gcmVxdWlyZShcInNlY3AyNTZrMVwiKVxuXG5pbXBvcnQgeyBiZWNoMzIgfSBmcm9tICdiZWNoMzInXG5pbXBvcnQgeyBjcmVhdGVEZWNpcGhlcml2LCBjcmVhdGVIYXNoLCBwYmtkZjJTeW5jIH0gZnJvbSAnY3J5cHRvJ1xuXG5leHBvcnQgeyBiZWNoMzIgfSBmcm9tICdiZWNoMzInXG5cbmV4cG9ydCB7IFByaXZhdGVLZXksIFB1YmxpY0tleSwgUHVibGljS2V5SGFzaCwgS2V5ZWRTaWduYXR1cmUsIFJlY292ZXJhYmxlU2lnbmF0dXJlLCBTaWduYXR1cmUgfSBmcm9tIFwiLi90eXBlc1wiXG5cbmNvbnN0IENIQUlOX0NPREVfTEVOR1RIID0gMzJcbmNvbnN0IERFUFRIX0xFTkdUSCA9IDFcbmNvbnN0IEtFWV9MRU5HVEggPSAzM1xuY29uc3QgS0VZX1BBVEhfTEVOR1RIID0gNFxuXG5jb25zdCBCRUNIMzJfTElNSVQgPSAoXG4gICAgREVQVEhfTEVOR1RIIFxuICAgICAgICArICgoTWF0aC5wb3coMjU2LCBERVBUSF9MRU5HVEgpIC0gMSkgKiBLRVlfUEFUSF9MRU5HVEgpIFxuICAgICAgICArIENIQUlOX0NPREVfTEVOR1RIIFxuICAgICAgICArIEtFWV9MRU5HVEhcbik7XG5cbmNvbnN0IGdldEV4cGVjdGVkRGF0YUxlbmd0aCA9IChkZXB0aDogbnVtYmVyKSA9PiAoXG4gICAgREVQVEhfTEVOR1RIXG4gICAgICAgICsgZGVwdGggKiBLRVlfUEFUSF9MRU5HVEhcbiAgICAgICAgKyBDSEFJTl9DT0RFX0xFTkdUSFxuICAgICAgICArIEtFWV9MRU5HVEhcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNpcGhlclhwcnYoc2xpcDMyOiBzdHJpbmcsIHBhc3N3ZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHByZWZpeCwgd29yZHMgfSA9IGJlY2gzMi5kZWNvZGUoc2xpcDMyLCBCRUNIMzJfTElNSVQpXG4gICAgaWYgKHByZWZpeCAhPT0gXCJ4cHJ2XCIpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgWFBSViBoZWFkZXI6IFwiJHtwcmVmaXh9XCIgIT0gXCJ4cHJ2XCJgKVxuICAgIH1cbiAgICBjb25zdCBidWZmZXIgPSBuZXcgVWludDhBcnJheShiZWNoMzIuZnJvbVdvcmRzKHdvcmRzKSkuYnVmZmVyXG4gICAgY29uc3QgaXYgPSBidWZmZXIuc2xpY2UoMCwgMTYpXG4gICAgY29uc3Qgc2FsdCA9IGJ1ZmZlci5zbGljZSgxNiwgNDgpXG4gICAgY29uc3QgZGF0YSA9IGJ1ZmZlci5zbGljZSg0OClcbiAgICBjb25zdCBrZXkgPSBwYmtkZjJTeW5jKHBhc3N3ZCwgQnVmZmVyLmZyb20oc2FsdCksIDEwMDAwLCAzMiwgJ3NoYTI1NicpICAgIFxuICAgIGNvbnN0IGRlY2lwaGVyID0gY3JlYXRlRGVjaXBoZXJpdihcImFlcy0yNTYtY2JjXCIsIGtleSwgQnVmZmVyLmZyb20oaXYpKVxuICAgIGxldCBkZWNyeXB0ZWQgPSBkZWNpcGhlci51cGRhdGUoQnVmZmVyLmZyb20oZGF0YSksIHVuZGVmaW5lZCwgJ3V0Zi04JylcbiAgICBkZWNyeXB0ZWQgKz0gZGVjaXBoZXIuZmluYWwoJ3V0Zi04JylcbiAgICByZXR1cm4gZGVjcnlwdGVkXG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVhwcnYgPSAoc2xpcDMyOiBzdHJpbmcpOiB7XG4gICAgY2hhaW5Db2RlOiBVaW50OEFycmF5LFxuICAgIGtleVBhdGg6IEFycmF5PG51bWJlcj4sXG4gICAgcHJpdmF0ZUtleTogVWludDhBcnJheSxcbn0gPT4ge1xuICAgIC8vIGRlY29kZSBzbGlwMzIgc3RyaW5nXG4gICAgY29uc3QgeyBwcmVmaXgsIHdvcmRzIH0gPSBiZWNoMzIuZGVjb2RlKHNsaXAzMiwgQkVDSDMyX0xJTUlUKVxuICAgIGNvbnN0IGJ5dGVzID0gYmVjaDMyLmZyb21Xb3Jkcyh3b3JkcylcblxuICAgIC8vIGNoZWNrIHByZWZpeFxuICAgIGlmIChwcmVmaXggIT09IFwieHBydlwiKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIFhQUlY6IGJhZCBoZWFkZXI6IFwiJHtwcmVmaXh9XCIgIT0gXCJ4cHJ2XCJgKVxuICAgIH1cblxuICAgIC8vIGNoZWNrIGV4cGVjdGVkIGRhdGEgbGVuZ3RoXG4gICAgY29uc3QgZGVwdGggPSBieXRlc1swXVxuICAgIGlmIChkZXB0aCAhPT0gMCkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBYUFJWOiBub3QgYSBtYXN0ZXIgcHJpdmF0ZSBrZXkgKGRlcHRoOiAke2RlcHRofSlgKVxuICAgIH1cbiAgICBjb25zdCBleHBlY3RlZExlbmd0aCA9IGdldEV4cGVjdGVkRGF0YUxlbmd0aChkZXB0aClcbiAgICBpZiAoYnl0ZXMubGVuZ3RoICE9PSBleHBlY3RlZExlbmd0aCkge1xuICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgIFwiSW52YWxpZCBYUFJWOiBiYWQgZGF0YSBsZW5ndGhcIlxuICAgICAgICAgICAgICAgICsgYChleHBlY3RlZDogJHtleHBlY3RlZExlbmd0aH0sIHdhczogJHtieXRlcy5sZW5ndGh9YFxuICAgICAgICApXG4gICAgfVxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJ5dGVzKS5idWZmZXJcblxuICAgIC8vIGV4dHJhY3Qga2V5IHBhdGggKDMyLWJpdCB1bnNpZ25lZCBpbnRlZ2VycywgYmlnIGVuZGlhbilcbiAgICBjb25zdCBrZXlQYXRoOiBBcnJheTxudW1iZXI+ID0gW11cbiAgICBjb25zdCBrZXlQYXRoVmlldyA9IG5ldyBEYXRhVmlldyhidWZmZXIsIERFUFRIX0xFTkdUSCwgZGVwdGggKiBLRVlfUEFUSF9MRU5HVEgpXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZXB0aDsgaSsrKSB7XG4gICAgICAgIGtleVBhdGgucHVzaCgoa2V5UGF0aFZpZXcuZ2V0VWludDMyKGkgKiBLRVlfUEFUSF9MRU5HVEgsIGZhbHNlKSkpXG4gICAgfVxuXG4gICAgLy8gZXh0cmFjdCBjaGFpbiBjb2RlXG4gICAgY29uc3QgY2hhaW5Db2RlOiBVaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoQ0hBSU5fQ09ERV9MRU5HVEgpXG4gICAgY29uc3QgY2hhaW5Db2RlT2Zmc2V0ID0gREVQVEhfTEVOR1RIICsgZGVwdGggKiBLRVlfUEFUSF9MRU5HVEhcbiAgICBjb25zdCBjaGFpbkNvZGVWaWV3ID0gbmV3IERhdGFWaWV3KGJ1ZmZlciwgY2hhaW5Db2RlT2Zmc2V0LCBDSEFJTl9DT0RFX0xFTkdUSClcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoYWluQ29kZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjaGFpbkNvZGVbaV0gPSAoY2hhaW5Db2RlVmlldy5nZXRVaW50OChpKSlcbiAgICB9XG5cbiAgICAvLyBleHRyYWN0IGtleSBieXRlc1xuICAgIGNvbnN0IHByaXZhdGVLZXk6IFVpbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShLRVlfTEVOR1RIKVxuICAgIGNvbnN0IHByaXZhdGVLZXlWaWV3ID0gbmV3IERhdGFWaWV3KGJ1ZmZlciwgY2hhaW5Db2RlT2Zmc2V0ICsgQ0hBSU5fQ09ERV9MRU5HVEgpXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcml2YXRlS2V5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHByaXZhdGVLZXlbaV0gPSAocHJpdmF0ZUtleVZpZXcuZ2V0VWludDgoaSkpXG4gICAgfVxuXG4gICAgLy8gY2hlY2sgaWYgcHJpdmF0ZSBvciBwdWJsaWMga2V5IGFyZSB2YWxpZFxuICAgIGlmIChwcml2YXRlS2V5WzBdICE9PSAwIHx8ICFzZWNwMjU2azEucHJpdmF0ZUtleVZlcmlmeShwcml2YXRlS2V5LnNsaWNlKDEpKSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgTWFsZm9ybWVkIHNsaXAzMjogbm90IGEgcHJpdmF0ZSBrZXlgKVxuICAgIH0gXG5cbiAgICByZXR1cm4ge1xuICAgICAgICBjaGFpbkNvZGUsXG4gICAgICAgIGtleVBhdGgsXG4gICAgICAgIHByaXZhdGVLZXk6IHByaXZhdGVLZXkuc2xpY2UoMSksXG4gICAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNoYTI1NihidWZmZXI6IGFueSkge1xuICAgIGNvbnN0IGhhc2ggPSBjcmVhdGVIYXNoKCdzaGEyNTYnKVxuICAgIGhhc2gudXBkYXRlKGJ1ZmZlcilcbiAgICByZXR1cm4gaGFzaC5kaWdlc3QoKVxufVxuIl19
@@ -1,26 +0,0 @@
1
- import { Balance, Network, QueryStakesOrder, StakeEntry } from "../types";
2
- import { IAccount, IBIP32, ICoinbase, IProvider, ISigner, IWallet } from "./interfaces";
3
- import { PublicKey, PublicKeyHashString, UtxoSelectionStrategy } from "./types";
4
- export declare class Wallet implements IWallet {
5
- protected root: IBIP32;
6
- protected _accounts: Array<IAccount>;
7
- readonly coinbase: ICoinbase;
8
- gap: number;
9
- readonly provider: IProvider;
10
- strategy: UtxoSelectionStrategy;
11
- static fromXprv(xprv: string, provider: IProvider, strategy?: UtxoSelectionStrategy, gap?: number): Promise<Wallet>;
12
- static fromEncryptedXprv(xprv: string, passwd: string, provider: IProvider, strategy?: UtxoSelectionStrategy, gap?: number): Promise<Wallet>;
13
- constructor(root: IBIP32, provider: IProvider, strategy?: UtxoSelectionStrategy, gap?: number);
14
- get accounts(): Array<IAccount> | undefined;
15
- get network(): Network | undefined;
16
- get pkh(): PublicKeyHashString;
17
- get publicKey(): PublicKey;
18
- get signers(): Array<ISigner>;
19
- deriveAccounts(limit: number): Array<IAccount>;
20
- exploreAccounts(limit: number, gap?: number): Promise<Array<IAccount>>;
21
- findAccount(pkh: PublicKeyHashString, gap?: number): IAccount | undefined;
22
- countUtxos(reload?: boolean): Promise<number>;
23
- getBalance(): Promise<Balance>;
24
- getDelegates(order?: QueryStakesOrder, leftJoin?: boolean): Promise<Array<StakeEntry>>;
25
- }
26
- //# sourceMappingURL=wallet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/lib/crypto/wallet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAA;AAGxF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/E,qBAAa,MAAO,YAAW,OAAO;IAClC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAM;IAE1C,SAAgB,QAAQ,EAAE,SAAS,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACnB,SAAgB,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,EAAE,qBAAqB,CAAC;WAE1B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,qBAAqB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAU5G,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,qBAAqB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAItI,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,qBAAqB,EAAE,GAAG,CAAC,EAAE,MAAM;IAQ7F,IAAW,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAEjD;IAED,IAAW,OAAO,IAAI,OAAO,GAAG,SAAS,CAExC;IAED,IAAW,GAAG,IAAI,mBAAmB,CAEpC;IAED,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED,IAAW,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAQnC;IAEM,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;IAcxC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAwB5E,WAAW,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAmBnE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAa7C,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAmB9B,YAAY,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;CAqBnG"}