@bsv/sdk 1.1.14 → 1.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/compat/BIP39.js +272 -0
- package/dist/cjs/src/compat/BIP39.js.map +1 -0
- package/dist/cjs/src/index.js +5 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/primitives/Point.js +8 -28
- package/dist/cjs/src/primitives/Point.js.map +1 -1
- package/dist/cjs/src/primitives/PublicKey.js +2 -16
- package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
- package/dist/cjs/src/script/templates/P2PKHT.js +99 -0
- package/dist/cjs/src/script/templates/P2PKHT.js.map +1 -0
- package/dist/cjs/src/totp/converters.js +14 -0
- package/dist/cjs/src/totp/converters.js.map +1 -0
- package/dist/cjs/src/totp/pike-totp.js +75 -0
- package/dist/cjs/src/totp/pike-totp.js.map +1 -0
- package/dist/cjs/src/totp/types.js +3 -0
- package/dist/cjs/src/totp/types.js.map +1 -0
- package/dist/cjs/src/transaction/broadcasters/BRC22.js +25 -0
- package/dist/cjs/src/transaction/broadcasters/BRC22.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/compat/BIP39.js +272 -0
- package/dist/esm/src/compat/BIP39.js.map +1 -0
- package/dist/esm/src/primitives/Point.js +8 -28
- package/dist/esm/src/primitives/Point.js.map +1 -1
- package/dist/esm/src/primitives/PublicKey.js +2 -16
- package/dist/esm/src/primitives/PublicKey.js.map +1 -1
- package/dist/esm/src/script/templates/P2PKHT.js +96 -0
- package/dist/esm/src/script/templates/P2PKHT.js.map +1 -0
- package/dist/esm/src/totp/converters.js +9 -0
- package/dist/esm/src/totp/converters.js.map +1 -0
- package/dist/esm/src/totp/pike-totp.js +67 -0
- package/dist/esm/src/totp/pike-totp.js.map +1 -0
- package/dist/esm/src/totp/types.js +2 -0
- package/dist/esm/src/totp/types.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/compat/BIP39.d.ts +132 -0
- package/dist/types/src/compat/BIP39.d.ts.map +1 -0
- package/dist/types/src/primitives/Point.d.ts +1 -19
- package/dist/types/src/primitives/Point.d.ts.map +1 -1
- package/dist/types/src/primitives/PublicKey.d.ts +1 -12
- package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
- package/dist/types/src/script/templates/P2PKHT.d.ts +37 -0
- package/dist/types/src/script/templates/P2PKHT.d.ts.map +1 -0
- package/dist/types/src/totp/converters.d.ts +3 -0
- package/dist/types/src/totp/converters.d.ts.map +1 -0
- package/dist/types/src/totp/pike-totp.d.ts +25 -0
- package/dist/types/src/totp/pike-totp.d.ts.map +1 -0
- package/dist/types/src/totp/types.d.ts +11 -0
- package/dist/types/src/totp/types.d.ts.map +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bip_39_wordlist_en_js_1 = require("./bip-39-wordlist-en.js");
|
|
4
|
+
const utils_js_1 = require("../primitives/utils.js");
|
|
5
|
+
const Hash = require("../primitives/Hash.js");
|
|
6
|
+
const Random_js_1 = require("../primitives/Random.js");
|
|
7
|
+
/**
|
|
8
|
+
* @class BIP39
|
|
9
|
+
*
|
|
10
|
+
* @description
|
|
11
|
+
* Class representing BIP39 functionality.
|
|
12
|
+
* This class provides methods for generating, converting, and validating mnemonic phrases
|
|
13
|
+
* according to the BIP39 standard. It supports creating mnemonics from random entropy,
|
|
14
|
+
* converting mnemonics to seeds, and validating mnemonic phrases.
|
|
15
|
+
*/
|
|
16
|
+
class BIP39 {
|
|
17
|
+
/**
|
|
18
|
+
* Constructs a BIP39 object.
|
|
19
|
+
* @param {string} [mnemonic] - An optional mnemonic phrase.
|
|
20
|
+
* @param {number[]} [seed] - An optional seed derived from the mnemonic.
|
|
21
|
+
* @param {object} [wordlist=wordList] - An object containing a list of words and space character used in the mnemonic.
|
|
22
|
+
*/
|
|
23
|
+
constructor(mnemonic, seed, wordlist = bip_39_wordlist_en_js_1.wordList) {
|
|
24
|
+
this.mnemonic = mnemonic;
|
|
25
|
+
this.seed = seed;
|
|
26
|
+
this.Wordlist = wordlist;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Converts the mnemonic and seed into a binary representation.
|
|
30
|
+
* @returns {number[]} The binary representation of the mnemonic and seed.
|
|
31
|
+
*/
|
|
32
|
+
toBinary() {
|
|
33
|
+
const bw = new utils_js_1.Writer();
|
|
34
|
+
if (this.mnemonic) {
|
|
35
|
+
const buf = (0, utils_js_1.toArray)(this.mnemonic, 'utf8');
|
|
36
|
+
bw.writeVarIntNum(buf.length);
|
|
37
|
+
bw.write(buf);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
bw.writeVarIntNum(0);
|
|
41
|
+
}
|
|
42
|
+
if (this.seed) {
|
|
43
|
+
bw.writeVarIntNum(this.seed.length);
|
|
44
|
+
bw.write(this.seed);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
bw.writeVarIntNum(0);
|
|
48
|
+
}
|
|
49
|
+
return bw.toArray();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Loads a mnemonic and seed from a binary representation.
|
|
53
|
+
* @param {number[]} bin - The binary representation of a mnemonic and seed.
|
|
54
|
+
* @returns {this} The BIP39 instance with loaded mnemonic and seed.
|
|
55
|
+
*/
|
|
56
|
+
fromBinary(bin) {
|
|
57
|
+
const br = new utils_js_1.Reader(bin);
|
|
58
|
+
const mnemoniclen = br.readVarIntNum();
|
|
59
|
+
if (mnemoniclen > 0) {
|
|
60
|
+
this.mnemonic = (0, utils_js_1.encode)(br.read(mnemoniclen), 'utf8');
|
|
61
|
+
}
|
|
62
|
+
const seedlen = br.readVarIntNum();
|
|
63
|
+
if (seedlen > 0) {
|
|
64
|
+
this.seed = br.read(seedlen);
|
|
65
|
+
}
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generates a random mnemonic from a given bit length.
|
|
70
|
+
* @param {number} [bits=128] - The bit length for the random mnemonic (must be a multiple of 32 and at least 128).
|
|
71
|
+
* @returns {this} The BIP39 instance with the new random mnemonic.
|
|
72
|
+
* @throws {Error} If the bit length is not a multiple of 32 or is less than 128.
|
|
73
|
+
*/
|
|
74
|
+
fromRandom(bits) {
|
|
75
|
+
if (!bits) {
|
|
76
|
+
bits = 128;
|
|
77
|
+
}
|
|
78
|
+
if (bits % 32 !== 0) {
|
|
79
|
+
throw new Error('bits must be multiple of 32');
|
|
80
|
+
}
|
|
81
|
+
if (bits < 128) {
|
|
82
|
+
throw new Error('bits must be at least 128');
|
|
83
|
+
}
|
|
84
|
+
const buf = (0, Random_js_1.default)(bits / 8);
|
|
85
|
+
this.entropy2Mnemonic(buf);
|
|
86
|
+
this.mnemonic2Seed();
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Static method to generate a BIP39 instance with a random mnemonic.
|
|
91
|
+
* @param {number} [bits=128] - The bit length for the random mnemonic.
|
|
92
|
+
* @returns {BIP39} A new BIP39 instance.
|
|
93
|
+
*/
|
|
94
|
+
static fromRandom(bits) {
|
|
95
|
+
return new this().fromRandom(bits);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Converts given entropy into a mnemonic phrase.
|
|
99
|
+
* This method is used to generate a mnemonic from a specific entropy source.
|
|
100
|
+
* @param {number[]} buf - The entropy buffer, must be at least 128 bits.
|
|
101
|
+
* @returns {this} The BIP39 instance with the mnemonic set from the given entropy.
|
|
102
|
+
* @throws {Error} If the entropy is less than 128 bits.
|
|
103
|
+
*/
|
|
104
|
+
fromEntropy(buf) {
|
|
105
|
+
this.entropy2Mnemonic(buf);
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Static method to create a BIP39 instance from a given entropy.
|
|
110
|
+
* @param {number[]} buf - The entropy buffer.
|
|
111
|
+
* @returns {BIP39} A new BIP39 instance.
|
|
112
|
+
*/
|
|
113
|
+
static fromEntropy(buf) {
|
|
114
|
+
return new this().fromEntropy(buf);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Sets the mnemonic for the instance from a string.
|
|
118
|
+
* @param {string} mnemonic - The mnemonic phrase as a string.
|
|
119
|
+
* @returns {this} The BIP39 instance with the set mnemonic.
|
|
120
|
+
*/
|
|
121
|
+
fromString(mnemonic) {
|
|
122
|
+
this.mnemonic = mnemonic;
|
|
123
|
+
return this;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Static method to create a BIP39 instance from a mnemonic string.
|
|
127
|
+
* @param {string} str - The mnemonic phrase.
|
|
128
|
+
* @returns {BIP39} A new BIP39 instance.
|
|
129
|
+
*/
|
|
130
|
+
static fromString(str) {
|
|
131
|
+
return new this().fromString(str);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Converts the instance's mnemonic to a string representation.
|
|
135
|
+
* @returns {string} The mnemonic phrase as a string.
|
|
136
|
+
*/
|
|
137
|
+
toString() {
|
|
138
|
+
return this.mnemonic;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Converts the mnemonic to a seed.
|
|
142
|
+
* The mnemonic must pass the validity check before conversion.
|
|
143
|
+
* @param {string} [passphrase=''] - An optional passphrase for additional security.
|
|
144
|
+
* @returns {number[]} The generated seed.
|
|
145
|
+
* @throws {Error} If the mnemonic is invalid.
|
|
146
|
+
*/
|
|
147
|
+
toSeed(passphrase) {
|
|
148
|
+
this.mnemonic2Seed(passphrase);
|
|
149
|
+
return this.seed;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Converts entropy to a mnemonic phrase.
|
|
153
|
+
* This method takes a buffer of entropy and converts it into a corresponding
|
|
154
|
+
* mnemonic phrase based on the BIP39 wordlist. The entropy should be at least 128 bits.
|
|
155
|
+
* The method applies a checksum and maps the entropy to words in the wordlist.
|
|
156
|
+
* @param {number[]} buf - The entropy buffer to convert. Must be at least 128 bits.
|
|
157
|
+
* @returns {this} The BIP39 instance with the mnemonic set from the entropy.
|
|
158
|
+
* @throws {Error} If the entropy is less than 128 bits or if it's not an even multiple of 11 bits.
|
|
159
|
+
*/
|
|
160
|
+
entropy2Mnemonic(buf) {
|
|
161
|
+
if (buf.length < 128 / 8) {
|
|
162
|
+
throw new Error('Entropy is less than 128 bits. It must be 128 bits or more.');
|
|
163
|
+
}
|
|
164
|
+
const hash = Hash.sha256(buf);
|
|
165
|
+
let bin = '';
|
|
166
|
+
const bits = buf.length * 8;
|
|
167
|
+
for (let i = 0; i < buf.length; i++) {
|
|
168
|
+
bin = bin + ('00000000' + buf[i].toString(2)).slice(-8);
|
|
169
|
+
}
|
|
170
|
+
let hashbits = hash[0].toString(2);
|
|
171
|
+
hashbits = ('00000000' + hashbits).slice(-8).slice(0, bits / 32);
|
|
172
|
+
bin = bin + hashbits;
|
|
173
|
+
if (bin.length % 11 !== 0) {
|
|
174
|
+
throw new Error('internal error - entropy not an even multiple of 11 bits - ' + bin.length);
|
|
175
|
+
}
|
|
176
|
+
let mnemonic = '';
|
|
177
|
+
for (let i = 0; i < bin.length / 11; i++) {
|
|
178
|
+
if (mnemonic !== '') {
|
|
179
|
+
mnemonic = mnemonic + this.Wordlist.space;
|
|
180
|
+
}
|
|
181
|
+
const wi = parseInt(bin.slice(i * 11, (i + 1) * 11), 2);
|
|
182
|
+
mnemonic = mnemonic + this.Wordlist.value[wi];
|
|
183
|
+
}
|
|
184
|
+
this.mnemonic = mnemonic;
|
|
185
|
+
return this;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Validates the mnemonic phrase.
|
|
189
|
+
* Checks for correct length, absence of invalid words, and proper checksum.
|
|
190
|
+
* @returns {boolean} True if the mnemonic is valid, false otherwise.
|
|
191
|
+
* @throws {Error} If the mnemonic is not an even multiple of 11 bits.
|
|
192
|
+
*/
|
|
193
|
+
check() {
|
|
194
|
+
const mnemonic = this.mnemonic;
|
|
195
|
+
// confirm no invalid words
|
|
196
|
+
const words = mnemonic.split(this.Wordlist.space);
|
|
197
|
+
let bin = '';
|
|
198
|
+
for (let i = 0; i < words.length; i++) {
|
|
199
|
+
const ind = this.Wordlist.value.indexOf(words[i]);
|
|
200
|
+
if (ind < 0) {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
bin = bin + ('00000000000' + ind.toString(2)).slice(-11);
|
|
204
|
+
}
|
|
205
|
+
if (bin.length % 11 !== 0) {
|
|
206
|
+
throw new Error('internal error - entropy not an even multiple of 11 bits - ' + bin.length);
|
|
207
|
+
}
|
|
208
|
+
// confirm checksum
|
|
209
|
+
const cs = bin.length / 33;
|
|
210
|
+
const hashBits = bin.slice(-cs);
|
|
211
|
+
const nonhashBits = bin.slice(0, bin.length - cs);
|
|
212
|
+
const buf = [];
|
|
213
|
+
for (let i = 0; i < nonhashBits.length / 8; i++) {
|
|
214
|
+
buf.push(parseInt(bin.slice(i * 8, (i + 1) * 8), 2));
|
|
215
|
+
}
|
|
216
|
+
const hash = Hash.sha256(buf.slice(0, nonhashBits.length / 8));
|
|
217
|
+
let expectedHashBits = hash[0].toString(2);
|
|
218
|
+
expectedHashBits = ('00000000' + expectedHashBits).slice(-8).slice(0, cs);
|
|
219
|
+
return expectedHashBits === hashBits;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Converts a mnemonic to a seed.
|
|
223
|
+
* This method takes the instance's mnemonic phrase, combines it with a passphrase (if provided),
|
|
224
|
+
* and uses PBKDF2 to generate a seed. It also validates the mnemonic before conversion.
|
|
225
|
+
* This seed can then be used for generating deterministic keys.
|
|
226
|
+
* @param {string} [passphrase=''] - An optional passphrase for added security.
|
|
227
|
+
* @returns {this} The BIP39 instance with the seed generated from the mnemonic.
|
|
228
|
+
* @throws {Error} If the mnemonic does not pass validation or if the passphrase is not a string.
|
|
229
|
+
*/
|
|
230
|
+
mnemonic2Seed(passphrase = '') {
|
|
231
|
+
let mnemonic = this.mnemonic;
|
|
232
|
+
if (!this.check()) {
|
|
233
|
+
throw new Error('Mnemonic does not pass the check - was the mnemonic typed incorrectly? Are there extra spaces?');
|
|
234
|
+
}
|
|
235
|
+
if (typeof passphrase !== 'string') {
|
|
236
|
+
throw new Error('passphrase must be a string or undefined');
|
|
237
|
+
}
|
|
238
|
+
mnemonic = mnemonic.normalize('NFKD');
|
|
239
|
+
passphrase = passphrase.normalize('NFKD');
|
|
240
|
+
const mbuf = (0, utils_js_1.toArray)(mnemonic, 'utf8');
|
|
241
|
+
const pbuf = [...(0, utils_js_1.toArray)('mnemonic', 'utf8'), ...(0, utils_js_1.toArray)(passphrase, 'utf8')];
|
|
242
|
+
this.seed = Hash.pbkdf2(mbuf, pbuf, 2048, 64, 'sha512');
|
|
243
|
+
return this;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Determines the validity of a given passphrase with the mnemonic.
|
|
247
|
+
* This method is useful for checking if a passphrase matches with the mnemonic.
|
|
248
|
+
* @param {string} [passphrase=''] - The passphrase to validate.
|
|
249
|
+
* @returns {boolean} True if the mnemonic and passphrase combination is valid, false otherwise.
|
|
250
|
+
*/
|
|
251
|
+
isValid(passphrase = '') {
|
|
252
|
+
let isValid;
|
|
253
|
+
try {
|
|
254
|
+
isValid = !!this.mnemonic2Seed(passphrase);
|
|
255
|
+
}
|
|
256
|
+
catch (err) {
|
|
257
|
+
isValid = false;
|
|
258
|
+
}
|
|
259
|
+
return isValid;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Static method to check the validity of a given mnemonic and passphrase combination.
|
|
263
|
+
* @param {string} mnemonic - The mnemonic phrase.
|
|
264
|
+
* @param {string} [passphrase=''] - The passphrase to validate.
|
|
265
|
+
* @returns {boolean} True if the combination is valid, false otherwise.
|
|
266
|
+
*/
|
|
267
|
+
static isValid(mnemonic, passphrase = '') {
|
|
268
|
+
return new BIP39(mnemonic).isValid(passphrase);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
exports.default = BIP39;
|
|
272
|
+
//# sourceMappingURL=BIP39.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BIP39.js","sourceRoot":"","sources":["../../../../src/compat/BIP39.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAAmD"}
|
|
@@ -22,22 +22,23 @@ const ReductionContext_js_1 = __importDefault(require("./ReductionContext.js"));
|
|
|
22
22
|
*/
|
|
23
23
|
class Point extends BasePoint_js_1.default {
|
|
24
24
|
/**
|
|
25
|
-
* Creates a point object from a given
|
|
25
|
+
* Creates a point object from a given string. This string can represent coordinates in hex format, or points
|
|
26
26
|
* in multiple established formats.
|
|
27
27
|
* The function verifies the integrity of the provided data and throws errors if inconsistencies are found.
|
|
28
28
|
*
|
|
29
|
-
* @method
|
|
29
|
+
* @method fromString
|
|
30
30
|
* @static
|
|
31
|
-
* @param
|
|
31
|
+
* @param str - The point representation string.
|
|
32
32
|
* @returns Returns a new point representing the given string.
|
|
33
|
-
* @throws `Error` If the point
|
|
33
|
+
* @throws `Error` If the point string value has a wrong length.
|
|
34
34
|
* @throws `Error` If the point format is unknown.
|
|
35
35
|
*
|
|
36
36
|
* @example
|
|
37
|
-
* const
|
|
38
|
-
* const point = Point.
|
|
37
|
+
* const pointStr = 'abcdef';
|
|
38
|
+
* const point = Point.fromString(pointStr);
|
|
39
39
|
*/
|
|
40
|
-
static
|
|
40
|
+
static fromString(str) {
|
|
41
|
+
const bytes = (0, utils_js_1.toArray)(str, 'hex');
|
|
41
42
|
const len = 32;
|
|
42
43
|
// uncompressed, hybrid-odd, hybrid-even
|
|
43
44
|
if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&
|
|
@@ -61,27 +62,6 @@ class Point extends BasePoint_js_1.default {
|
|
|
61
62
|
}
|
|
62
63
|
throw new Error('Unknown point format');
|
|
63
64
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Creates a point object from a given string. This string can represent coordinates in hex format, or points
|
|
66
|
-
* in multiple established formats.
|
|
67
|
-
* The function verifies the integrity of the provided data and throws errors if inconsistencies are found.
|
|
68
|
-
*
|
|
69
|
-
* @method fromString
|
|
70
|
-
* @static
|
|
71
|
-
*
|
|
72
|
-
* @param str The point representation string.
|
|
73
|
-
* @returns Returns a new point representing the given string.
|
|
74
|
-
* @throws `Error` If the point string value has a wrong length.
|
|
75
|
-
* @throws `Error` If the point format is unknown.
|
|
76
|
-
*
|
|
77
|
-
* @example
|
|
78
|
-
* const pointStr = 'abcdef';
|
|
79
|
-
* const point = Point.fromString(pointStr);
|
|
80
|
-
*/
|
|
81
|
-
static fromString(str) {
|
|
82
|
-
const bytes = (0, utils_js_1.toArray)(str, 'hex');
|
|
83
|
-
return Point.fromDER(bytes);
|
|
84
|
-
}
|
|
85
65
|
/**
|
|
86
66
|
* Generates a point from an x coordinate and a boolean indicating whether the corresponding
|
|
87
67
|
* y coordinate is odd.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Point.js","sourceRoot":"","sources":["../../../../src/primitives/Point.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Point.js","sourceRoot":"","sources":["../../../../src/primitives/Point.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,20 +52,6 @@ class PublicKey extends Point_js_1.default {
|
|
|
52
52
|
const p = Point_js_1.default.fromString(str);
|
|
53
53
|
return new PublicKey(p.x, p.y);
|
|
54
54
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Static factory method to create a PublicKey instance from a number array.
|
|
57
|
-
*
|
|
58
|
-
* @param bytes - A number array representing a public key.
|
|
59
|
-
*
|
|
60
|
-
* @returns Returns the PublicKey created from the number array.
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* const myPubKey = PublicKey.fromString("03....")
|
|
64
|
-
*/
|
|
65
|
-
static fromDER(bytes) {
|
|
66
|
-
const p = Point_js_1.default.fromDER(bytes);
|
|
67
|
-
return new PublicKey(p.x, p.y);
|
|
68
|
-
}
|
|
69
55
|
/**
|
|
70
56
|
* @constructor
|
|
71
57
|
* @param x - A point or the x-coordinate of the point. May be a number, a BigNumber, a string (which will be interpreted as hex), a number array, or null. If null, an "Infinity" point is constructed.
|
|
@@ -130,8 +116,8 @@ class PublicKey extends Point_js_1.default {
|
|
|
130
116
|
* @example
|
|
131
117
|
* const derPublicKey = myPubKey.toDER()
|
|
132
118
|
*/
|
|
133
|
-
toDER(
|
|
134
|
-
return this.encode(true,
|
|
119
|
+
toDER() {
|
|
120
|
+
return this.encode(true, 'hex');
|
|
135
121
|
}
|
|
136
122
|
/**
|
|
137
123
|
* Hash sha256 and ripemd160 of the public key.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../../src/primitives/PublicKey.ts"],"names":[],"mappings":";;;;;AAAA,0DAA8B;AAE9B,0DAA8B;AAC9B,yCAAmC;AACnC,kEAAsC;AACtC,uCAAuD;AACvD,kEAAsC;AACtC,yCAA0D;AAE1D;;;;;;GAMG;AACH,MAAqB,SAAU,SAAQ,kBAAK;IAC1C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,cAAc,CAAE,GAAe;QACpC,MAAM,CAAC,GAAG,IAAI,kBAAK,EAAE,CAAA;QACrB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,CAAE,GAAW;QAC5B,MAAM,CAAC,GAAG,kBAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,
|
|
1
|
+
{"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../../src/primitives/PublicKey.ts"],"names":[],"mappings":";;;;;AAAA,0DAA8B;AAE9B,0DAA8B;AAC9B,yCAAmC;AACnC,kEAAsC;AACtC,uCAAuD;AACvD,kEAAsC;AACtC,yCAA0D;AAE1D;;;;;;GAMG;AACH,MAAqB,SAAU,SAAQ,kBAAK;IAC1C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,cAAc,CAAE,GAAe;QACpC,MAAM,CAAC,GAAG,IAAI,kBAAK,EAAE,CAAA;QACrB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,CAAE,GAAW;QAC5B,MAAM,CAAC,GAAG,kBAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,YACE,CAAwD,EACxD,IAAmD,IAAI,EACvD,QAAiB,IAAI;QAErB,IAAI,CAAC,YAAY,kBAAK,EAAE;YACtB,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;SAC1B;aAAM;YACL,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;SACnB;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAE,IAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;SACnE;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAE,GAAsB,EAAE,GAAc,EAAE,GAAoB;QAClE,MAAM,OAAO,GAAG,IAAI,sBAAS,CAAC,IAAA,gBAAM,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QACnD,OAAO,IAAA,iBAAM,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAW,CAAA;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAE,GAAW;QACjB,MAAM,GAAG,GAAG,IAAA,iBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;SAClB;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAE,SAA4B,CAAC,IAAI,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC7C,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;aAChB;iBAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;gBACpD,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;aAChB;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAA;aAC5C;SACF;QACD,OAAO,IAAA,wBAAa,EAAC,IAAI,CAAC,MAAM,EAAc,EAAE,MAAM,CAAC,CAAA;IACzD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAE,UAAsB,EAAE,aAAqB;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACxD,MAAM,gBAAgB,GAAG,IAAA,kBAAO,EAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,IAAA,oBAAU,EAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACpE,MAAM,KAAK,GAAG,IAAI,kBAAK,EAAE,CAAA;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,sBAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClC,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,8BAA8B,CAAE,OAAkB,EAAE,SAA4B,EAAE,GAAsB;QAC7G,MAAM,IAAI,GAAG,IAAA,kBAAO,EAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;SAC7C;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,WAAW,GAAG,EAAE,IAAI,WAAW,IAAI,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;SACxC;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACpB,IAAI,UAAU,GAAG,KAAK,CAAA,CAAC,qEAAqE;QAC5F,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,UAAU,GAAG,IAAI,CAAA;YACjB,CAAC,IAAI,CAAC,CAAA;SACP;QACD,MAAM,CAAC,GAAG,IAAI,sBAAS,CACrB,IAAI,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAChC,IAAI,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAClC,CAAA;QACD,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;CACF;AAhND,4BAgNC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const OP_js_1 = require("../OP.js");
|
|
4
|
+
const LockingScript_js_1 = require("../LockingScript.js");
|
|
5
|
+
const UnlockingScript_js_1 = require("../UnlockingScript.js");
|
|
6
|
+
const TransactionSignature_js_1 = require("../../primitives/TransactionSignature.js");
|
|
7
|
+
const Hash_js_1 = require("../../primitives/Hash.js");
|
|
8
|
+
const utils_js_1 = require("../../primitives/utils.js");
|
|
9
|
+
/**
|
|
10
|
+
* P2PKH (Pay To Public Key Hash) class implementing ScriptTemplate.
|
|
11
|
+
*
|
|
12
|
+
* This class provides methods to create Pay To Public Key Hash locking and unlocking scripts, including the unlocking of P2PKH UTXOs with the private key.
|
|
13
|
+
*/
|
|
14
|
+
class P2PKHT {
|
|
15
|
+
/**
|
|
16
|
+
* Creates a P2PKH locking script for a given public key hash.
|
|
17
|
+
*
|
|
18
|
+
* @param {number[]} pubkeyhash - An array representing the public key hash.
|
|
19
|
+
* @returns {LockingScript} - A P2PKH locking script.
|
|
20
|
+
*/
|
|
21
|
+
lock(pubkeyhash) {
|
|
22
|
+
const time = (0, utils_js_1.toArray)(Date.now().toString());
|
|
23
|
+
return new LockingScript_js_1.default([
|
|
24
|
+
{ op: time.length, data: time },
|
|
25
|
+
{ op: OP_js_1.default.OP_DROP },
|
|
26
|
+
{ op: OP_js_1.default.OP_DUP },
|
|
27
|
+
{ op: OP_js_1.default.OP_HASH160 },
|
|
28
|
+
{ op: pubkeyhash.length, data: pubkeyhash },
|
|
29
|
+
{ op: OP_js_1.default.OP_EQUALVERIFY },
|
|
30
|
+
{ op: OP_js_1.default.OP_CHECKSIG }
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates a function that generates a P2PKH unlocking script along with its signature and length estimation.
|
|
35
|
+
*
|
|
36
|
+
* The returned object contains:
|
|
37
|
+
* 1. `sign` - A function that, when invoked with a transaction and an input index,
|
|
38
|
+
* produces an unlocking script suitable for a P2PKH locked output.
|
|
39
|
+
* 2. `estimateLength` - A function that returns the estimated length of the unlocking script in bytes.
|
|
40
|
+
*
|
|
41
|
+
* @param {PrivateKey} privateKey - The private key used for signing the transaction.
|
|
42
|
+
* @param {'all'|'none'|'single'} signOutputs - The signature scope for outputs.
|
|
43
|
+
* @param {boolean} anyoneCanPay - Flag indicating if the signature allows for other inputs to be added later.
|
|
44
|
+
* @returns {Object} - An object containing the `sign` and `estimateLength` functions.
|
|
45
|
+
*/
|
|
46
|
+
unlock(privateKey, signOutputs = 'all', anyoneCanPay = false) {
|
|
47
|
+
return {
|
|
48
|
+
sign: async (tx, inputIndex) => {
|
|
49
|
+
let signatureScope = TransactionSignature_js_1.default.SIGHASH_FORKID;
|
|
50
|
+
if (signOutputs === 'all') {
|
|
51
|
+
signatureScope |= TransactionSignature_js_1.default.SIGHASH_ALL;
|
|
52
|
+
}
|
|
53
|
+
if (signOutputs === 'none') {
|
|
54
|
+
signatureScope |= TransactionSignature_js_1.default.SIGHASH_NONE;
|
|
55
|
+
}
|
|
56
|
+
if (signOutputs === 'single') {
|
|
57
|
+
signatureScope |= TransactionSignature_js_1.default.SIGHASH_SINGLE;
|
|
58
|
+
}
|
|
59
|
+
if (anyoneCanPay) {
|
|
60
|
+
signatureScope |= TransactionSignature_js_1.default.SIGHASH_ANYONECANPAY;
|
|
61
|
+
}
|
|
62
|
+
const otherInputs = [...tx.inputs];
|
|
63
|
+
const [input] = otherInputs.splice(inputIndex, 1);
|
|
64
|
+
if (typeof input.sourceTransaction !== 'object') {
|
|
65
|
+
// Question: Should the library support use-cases where the source transaction is not provided? This is to say, is it ever acceptable for someone to sign an input spending some output from a transaction they have not provided? Some elements (such as the satoshi value and output script) are always required. A merkle proof is also always required, and verifying it (while also verifying that the claimed output is contained within the claimed transaction) is also always required. This seems to require the entire input transaction.
|
|
66
|
+
throw new Error('The source transaction is needed for transaction signing.');
|
|
67
|
+
}
|
|
68
|
+
const preimage = TransactionSignature_js_1.default.format({
|
|
69
|
+
sourceTXID: input.sourceTransaction.id('hex'),
|
|
70
|
+
sourceOutputIndex: input.sourceOutputIndex,
|
|
71
|
+
sourceSatoshis: input.sourceTransaction.outputs[input.sourceOutputIndex].satoshis,
|
|
72
|
+
transactionVersion: tx.version,
|
|
73
|
+
otherInputs,
|
|
74
|
+
inputIndex,
|
|
75
|
+
outputs: tx.outputs,
|
|
76
|
+
inputSequence: input.sequence,
|
|
77
|
+
subscript: input.sourceTransaction.outputs[input.sourceOutputIndex].lockingScript,
|
|
78
|
+
lockTime: tx.lockTime,
|
|
79
|
+
scope: signatureScope
|
|
80
|
+
});
|
|
81
|
+
const rawSignature = privateKey.sign((0, Hash_js_1.sha256)(preimage));
|
|
82
|
+
const sig = new TransactionSignature_js_1.default(rawSignature.r, rawSignature.s, signatureScope);
|
|
83
|
+
const sigForScript = sig.toChecksigFormat();
|
|
84
|
+
const pubkeyForScript = privateKey.toPublicKey().encode(true);
|
|
85
|
+
return new UnlockingScript_js_1.default([
|
|
86
|
+
{ op: sigForScript.length, data: sigForScript },
|
|
87
|
+
{ op: pubkeyForScript.length, data: pubkeyForScript }
|
|
88
|
+
]);
|
|
89
|
+
},
|
|
90
|
+
estimateLength: async () => {
|
|
91
|
+
// public key (1+33) + signature (1+71)
|
|
92
|
+
// Note: We add 1 to each element's length because of the associated OP_PUSH
|
|
93
|
+
return 106;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.default = P2PKHT;
|
|
99
|
+
//# sourceMappingURL=P2PKHT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"P2PKHT.js","sourceRoot":"","sources":["../../../../../src/script/templates/P2PKHT.ts"],"names":[],"mappings":";;AAAA,oCAAyB;AAEzB,0DAA+C;AAC/C,8DAAmD;AAGnD,sFAA2E;AAC3E,sDAAiD;AACjD,wDAAmD;AAEnD;;;;GAIG;AACH,MAAqB,MAAM;IACzB;;;;;OAKG;IACH,IAAI,CAAE,UAAoB;QACxB,MAAM,IAAI,GAAG,IAAA,kBAAO,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3C,OAAO,IAAI,0BAAa,CAAC;YACvB,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/B,EAAE,EAAE,EAAE,eAAE,CAAC,OAAO,EAAE;YAClB,EAAE,EAAE,EAAE,eAAE,CAAC,MAAM,EAAE;YACjB,EAAE,EAAE,EAAE,eAAE,CAAC,UAAU,EAAE;YACrB,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;YAC3C,EAAE,EAAE,EAAE,eAAE,CAAC,cAAc,EAAE;YACzB,EAAE,EAAE,EAAE,eAAE,CAAC,WAAW,EAAE;SACvB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CACJ,UAAsB,EACtB,cAAyC,KAAK,EAC9C,eAAwB,KAAK;QAK7B,OAAO;YACL,IAAI,EAAE,KAAK,EAAE,EAAe,EAAE,UAAkB,EAAE,EAAE;gBAClD,IAAI,cAAc,GAAG,iCAAoB,CAAC,cAAc,CAAA;gBACxD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC1B,cAAc,IAAI,iCAAoB,CAAC,WAAW,CAAA;gBACpD,CAAC;gBACD,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBAC3B,cAAc,IAAI,iCAAoB,CAAC,YAAY,CAAA;gBACrD,CAAC;gBACD,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC7B,cAAc,IAAI,iCAAoB,CAAC,cAAc,CAAA;gBACvD,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,cAAc,IAAI,iCAAoB,CAAC,oBAAoB,CAAA;gBAC7D,CAAC;gBACD,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;gBAClC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;gBACjD,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;oBAChD,ohBAAohB;oBACphB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;gBACH,CAAC;gBACD,MAAM,QAAQ,GAAG,iCAAoB,CAAC,MAAM,CAAC;oBAC3C,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAW;oBACvD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ;oBACjF,kBAAkB,EAAE,EAAE,CAAC,OAAO;oBAC9B,WAAW;oBACX,UAAU;oBACV,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,aAAa,EAAE,KAAK,CAAC,QAAQ;oBAC7B,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,aAAa;oBACjF,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,KAAK,EAAE,cAAc;iBACtB,CAAC,CAAA;gBACF,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAA;gBACtD,MAAM,GAAG,GAAG,IAAI,iCAAoB,CAClC,YAAY,CAAC,CAAC,EACd,YAAY,CAAC,CAAC,EACd,cAAc,CACf,CAAA;gBACD,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAA;gBAC3C,MAAM,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAa,CAAA;gBACzE,OAAO,IAAI,4BAAe,CAAC;oBACzB,EAAE,EAAE,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;oBAC/C,EAAE,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;iBACtD,CAAC,CAAA;YACJ,CAAC;YACD,cAAc,EAAE,KAAK,IAAI,EAAE;gBACzB,uCAAuC;gBACvC,4EAA4E;gBAC5E,OAAO,GAAG,CAAA;YACZ,CAAC;SACF,CAAA;IACH,CAAC;CACF;AAjGD,yBAiGC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dec2hex = exports.hex2dec = void 0;
|
|
4
|
+
const hex2dec = (hex) => {
|
|
5
|
+
return parseInt(hex, 16);
|
|
6
|
+
};
|
|
7
|
+
exports.hex2dec = hex2dec;
|
|
8
|
+
const dec2hex = (dec) => {
|
|
9
|
+
const rounded = Math.round(dec);
|
|
10
|
+
const prefix = rounded <= 0xf ? '0' : ''; // ensure that single-digit numbers are padded with a leading zero
|
|
11
|
+
return prefix + rounded.toString(16);
|
|
12
|
+
};
|
|
13
|
+
exports.dec2hex = dec2hex;
|
|
14
|
+
//# sourceMappingURL=converters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../../src/totp/converters.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;IAC7C,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAFY,QAAA,OAAO,WAEnB;AAEM,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,kEAAkE;IAC3G,OAAO,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACtC,CAAC,CAAA;AAJY,QAAA,OAAO,WAInB"}
|