1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.PublicKey = void 0;
|
4 | var eosjs_numeric_1 = require("./eosjs-numeric");
|
5 | var eosjs_key_conversions_1 = require("./eosjs-key-conversions");
|
6 |
|
7 | var PublicKey = (function () {
|
8 | function PublicKey(key, ec) {
|
9 | this.key = key;
|
10 | this.ec = ec;
|
11 | }
|
12 |
|
13 | PublicKey.fromString = function (publicKeyStr, ec) {
|
14 | var key = eosjs_numeric_1.stringToPublicKey(publicKeyStr);
|
15 | if (!ec) {
|
16 | ec = eosjs_key_conversions_1.constructElliptic(key.type);
|
17 | }
|
18 | return new PublicKey(key, ec);
|
19 | };
|
20 |
|
21 | PublicKey.fromElliptic = function (publicKey, keyType, ec) {
|
22 | var x = publicKey.getPublic().getX().toArray('be', 32);
|
23 | var y = publicKey.getPublic().getY().toArray('be', 32);
|
24 | if (!ec) {
|
25 | ec = eosjs_key_conversions_1.constructElliptic(keyType);
|
26 | }
|
27 | return new PublicKey({
|
28 | type: keyType,
|
29 | data: new Uint8Array([(y[31] & 1) ? 3 : 2].concat(x)),
|
30 | }, ec);
|
31 | };
|
32 |
|
33 | PublicKey.prototype.toString = function () {
|
34 | return eosjs_numeric_1.publicKeyToString(this.key);
|
35 | };
|
36 |
|
37 | PublicKey.prototype.toLegacyString = function () {
|
38 | return eosjs_numeric_1.publicKeyToLegacyString(this.key);
|
39 | };
|
40 |
|
41 | PublicKey.prototype.toElliptic = function () {
|
42 | return this.ec.keyPair({
|
43 | pub: Buffer.from(this.key.data),
|
44 | });
|
45 | };
|
46 |
|
47 | PublicKey.prototype.getType = function () {
|
48 | return this.key.type;
|
49 | };
|
50 |
|
51 | PublicKey.prototype.isValid = function () {
|
52 | try {
|
53 | var ellipticPublicKey = this.toElliptic();
|
54 | var validationObj = ellipticPublicKey.validate();
|
55 | return validationObj.result;
|
56 | }
|
57 | catch (_a) {
|
58 | return false;
|
59 | }
|
60 | };
|
61 | return PublicKey;
|
62 | }());
|
63 | exports.PublicKey = PublicKey;
|
64 |
|
\ | No newline at end of file |