@bitgo-beta/sdk-coin-flrp 1.0.0-alpha.27 → 1.0.0-alpha.29

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.
@@ -1,7 +1,7 @@
1
1
  import { DefaultKeys, KeyPairOptions, Secp256k1ExtendedKeyPair } from '@bitgo-beta/sdk-core';
2
2
  export declare enum addressFormat {
3
- testnet = "fuji",
4
- mainnet = "flr"
3
+ testnet = "costwo",
4
+ mainnet = "flare"
5
5
  }
6
6
  export declare class KeyPair extends Secp256k1ExtendedKeyPair {
7
7
  /**
@@ -31,14 +31,14 @@ export declare class KeyPair extends Secp256k1ExtendedKeyPair {
31
31
  /**
32
32
  * Get a Flare P-Chain public mainnet address
33
33
  *
34
- * @param {string} format - flare hrp selector: Mainnet(flr) or Testnet(fuji)
34
+ * @param {string} format - flare hrp selector: Mainnet(flare) or Testnet(costwo)
35
35
  * @returns {string} The mainnet address derived from the public key
36
36
  */
37
37
  getAddress(format?: string): string;
38
38
  /**
39
39
  * Get a public address of public key.
40
40
  *
41
- * @param {string} hrp - select Mainnet(flr) or Testnet(fuji) for the address
41
+ * @param {string} hrp - select Mainnet(flare) or Testnet(costwo) for the address
42
42
  * @returns {string} The address derived from the public key and hrp
43
43
  */
44
44
  getFlrPAddress(hrp: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAMX,cAAc,EACd,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAM9B,oBAAY,aAAa;IACvB,OAAO,SAAS;IAChB,OAAO,QAAQ;CAChB;AAED,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW3C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkB1C;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAOtB;;;;;OAKG;IACH,UAAU,CAAC,MAAM,SAAY,GAAG,MAAM;IAGtC;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAK7B"}
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAMX,cAAc,EACd,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAM9B,oBAAY,aAAa;IACvB,OAAO,WAAW;IAClB,OAAO,UAAU;CAClB;AAED,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAe3C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkB1C;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAOtB;;;;;OAKG;IACH,UAAU,CAAC,MAAM,SAAY,GAAG,MAAM;IAGtC;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAK7B"}
@@ -11,8 +11,8 @@ const utils_1 = __importDefault(require("./utils"));
11
11
  const DEFAULT_SEED_SIZE_BYTES = 16;
12
12
  var addressFormat;
13
13
  (function (addressFormat) {
14
- addressFormat["testnet"] = "fuji";
15
- addressFormat["mainnet"] = "flr";
14
+ addressFormat["testnet"] = "costwo";
15
+ addressFormat["mainnet"] = "flare";
16
16
  })(addressFormat || (exports.addressFormat = addressFormat = {}));
17
17
  class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
18
18
  /**
@@ -48,6 +48,10 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
48
48
  * @param {string} prv A raw private key
49
49
  */
50
50
  recordKeysFromPrivateKey(prv) {
51
+ if (prv.startsWith('PrivateKey-')) {
52
+ this.keyPair = secp256k1_1.ECPair.fromPrivateKey(Buffer.from(utils_1.default.cb58Decode(prv.split('-')[1])));
53
+ return;
54
+ }
51
55
  if (!utils_1.default.isValidPrivateKey(prv)) {
52
56
  throw new Error('Unsupported private key');
53
57
  }
@@ -97,7 +101,7 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
97
101
  /**
98
102
  * Get a Flare P-Chain public mainnet address
99
103
  *
100
- * @param {string} format - flare hrp selector: Mainnet(flr) or Testnet(fuji)
104
+ * @param {string} format - flare hrp selector: Mainnet(flare) or Testnet(costwo)
101
105
  * @returns {string} The mainnet address derived from the public key
102
106
  */
103
107
  getAddress(format = 'mainnet') {
@@ -106,7 +110,7 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
106
110
  /**
107
111
  * Get a public address of public key.
108
112
  *
109
- * @param {string} hrp - select Mainnet(flr) or Testnet(fuji) for the address
113
+ * @param {string} hrp - select Mainnet(flare) or Testnet(costwo) for the address
110
114
  * @returns {string} The address derived from the public key and hrp
111
115
  */
112
116
  getFlrPAddress(hrp) {
@@ -139,4 +143,4 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
139
143
  }
140
144
  }
141
145
  exports.KeyPair = KeyPair;
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFTOEI7QUFDOUIscURBQXNEO0FBQ3RELG1DQUFpRDtBQUNqRCxvREFBNEI7QUFFNUIsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFDbkMsSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLGlDQUFnQixDQUFBO0lBQ2hCLGdDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGFBQWEsNkJBQWIsYUFBYSxRQUd4QjtBQUVELE1BQWEsT0FBUSxTQUFRLG1DQUF3QjtJQUNuRDs7OztPQUlHO0lBQ0gsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksR0FBRyxJQUFBLG9CQUFXLEVBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxJQUFJLElBQUEsaUJBQU0sRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLElBQUEsdUJBQVksRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSxzQkFBVyxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxDQUFD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UUFDckMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG9CQUFvQjtRQUMxQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQkFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekUsT0FBTyxJQUFBLG1CQUFVLEVBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQXpIRCwwQkF5SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWZhdWx0S2V5cyxcbiAgaXNQcml2YXRlS2V5LFxuICBpc1B1YmxpY0tleSxcbiAgaXNTZWVkLFxuICBpc1ZhbGlkWHBydixcbiAgaXNWYWxpZFhwdWIsXG4gIEtleVBhaXJPcHRpb25zLFxuICBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGJpcDMyLCBFQ1BhaXIgfSBmcm9tICdAYml0Z28tYmV0YS9zZWNwMjU2azEnO1xuaW1wb3J0IHsgcmFuZG9tQnl0ZXMsIGNyZWF0ZUhhc2ggfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBERUZBVUxUX1NFRURfU0laRV9CWVRFUyA9IDE2O1xuZXhwb3J0IGVudW0gYWRkcmVzc0Zvcm1hdCB7XG4gIHRlc3RuZXQgPSAnZnVqaScsXG4gIG1haW5uZXQgPSAnZmxyJyxcbn1cblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICBjb25zdCBzZWVkID0gcmFuZG9tQnl0ZXMoREVGQVVMVF9TRUVEX1NJWkVfQllURVMpO1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VlZChzb3VyY2UpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNvdXJjZS5zZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzUHJpdmF0ZUtleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShzb3VyY2UucHJ2KTtcbiAgICB9IGVsc2UgaWYgKGlzUHVibGljS2V5KHNvdXJjZSkpIHtcbiAgICAgIHRoaXMucmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkoc291cmNlLnB1Yik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGROb2RlKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIudG9LZXlQYWlyKHRoaXMuaGROb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBrZXlwYWlyIGZyb20gYSBwcm90b2NvbCBwcml2YXRlIGtleSBvciBleHRlbmRlZCBwcml2YXRlIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBydiBBIHJhdyBwcml2YXRlIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHBydjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHJpdmF0ZUtleShwcnYpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICAgIGlmIChpc1ZhbGlkWHBydihwcnYpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocHJ2KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21Qcml2YXRlS2V5KEJ1ZmZlci5mcm9tKHBydi5zbGljZSgwLCA2NCksICdoZXgnKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuIEVDUGFpciBmcm9tIGEgcHJvdG9jb2wgcHVibGljIGtleSBvciBleHRlbmRlZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIEEgcmF3IHB1YmxpYyBrZXlcbiAgICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5KHB1Yjogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChpc1ZhbGlkWHB1YihwdWIpKSB7XG4gICAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbUJhc2U1OChwdWIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21QdWJsaWNLZXkoQnVmZmVyLmZyb20ocHViLCAnaGV4JykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMua2V5UGFpciA9IEVDUGFpci5mcm9tUHVibGljS2V5KEJ1ZmZlci5mcm9tKHV0aWxzLmNiNThEZWNvZGUocHViKSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgcHVibGljIGtleScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGtleXMgZm9ybWF0IGlzIGEgcGFpciBvZiBVaW50OEFycmF5IGtleXNcbiAgICpcbiAgICogQHJldHVybnMgeyBEZWZhdWx0S2V5cyB9IFRoZSBrZXlzIGluIHRoZSBkZWZpbmVkIGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogdGhpcy5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIEZsYXJlIFAtQ2hhaW4gcHVibGljIG1haW5uZXQgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gZmxhcmUgaHJwIHNlbGVjdG9yOiBNYWlubmV0KGZscikgb3IgVGVzdG5ldChmdWppKVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbWFpbm5ldCBhZGRyZXNzIGRlcml2ZWQgZnJvbSB0aGUgcHVibGljIGtleVxuICAgKi9cbiAgZ2V0QWRkcmVzcyhmb3JtYXQgPSAnbWFpbm5ldCcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldEZsclBBZGRyZXNzKGFkZHJlc3NGb3JtYXRbZm9ybWF0XSk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCBhIHB1YmxpYyBhZGRyZXNzIG9mIHB1YmxpYyBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBocnAgLSBzZWxlY3QgTWFpbm5ldChmbHIpIG9yIFRlc3RuZXQoZnVqaSkgZm9yIHRoZSBhZGRyZXNzXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBhZGRyZXNzIGRlcml2ZWQgZnJvbSB0aGUgcHVibGljIGtleSBhbmQgaHJwXG4gICAqL1xuICBnZXRGbHJQQWRkcmVzcyhocnA6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYWRkcmVzc0J1ZmZlciA9IEJ1ZmZlci5mcm9tKHRoaXMuZ2V0QWRkcmVzc0J1ZmZlcigpKTtcbiAgICByZXR1cm4gdXRpbHMuYWRkcmVzc1RvU3RyaW5nKGhycCwgJ1AnLCBhZGRyZXNzQnVmZmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBGbGFyZSBQLUNoYWluIHB1YmxpYyBtYWlubmV0IGFkZHJlc3MgYnVmZmVyXG4gICAqXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IFRoZSBhZGRyZXNzIGJ1ZmZlciBkZXJpdmVkIGZyb20gdGhlIHB1YmxpYyBrZXlcbiAgICovXG4gIHByaXZhdGUgZ2V0QWRkcmVzc0J1ZmZlcigpOiBCdWZmZXIge1xuICAgIHRyeSB7XG4gICAgICAvLyBVc2UgdGhlIHNhZmUgYnVmZmVyIG1ldGhvZCBmb3IgYWRkcmVzcyBkZXJpdmF0aW9uXG4gICAgICByZXR1cm4gdGhpcy5nZXRBZGRyZXNzU2FmZUJ1ZmZlcigpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRBZGRyZXNzU2FmZUJ1ZmZlcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgdGhlIHNhZmUgQnVmZmVyIGluc3RlYWQgb2YgdGhlIHJlZ3VsYXIgYnVmZmVyIHRvIGRlcml2ZSB0aGUgYWRkcmVzcyBidWZmZXIuIFVzZWQgaW4gdGhlIE9WQy5cbiAgICpcbiAgICogQHJldHVybnMge0J1ZmZlcn1cbiAgICovXG4gIHByaXZhdGUgZ2V0QWRkcmVzc1NhZmVCdWZmZXIoKTogQnVmZmVyIHtcbiAgICBjb25zdCBwdWJsaWNLZXlIZXggPSB0aGlzLmtleVBhaXIucHVibGljS2V5LnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBzaGEyNTYgPSBjcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUocHVibGljS2V5SGV4LCAnaGV4JykuZGlnZXN0KCk7XG4gICAgcmV0dXJuIGNyZWF0ZUhhc2goJ3JpcGVtZDE2MCcpLnVwZGF0ZShzaGEyNTYpLmRpZ2VzdCgpO1xuICB9XG59XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFTOEI7QUFDOUIscURBQXNEO0FBQ3RELG1DQUFpRDtBQUNqRCxvREFBNEI7QUFFNUIsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFDbkMsSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLG1DQUFrQixDQUFBO0lBQ2xCLGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxhQUFhLDZCQUFiLGFBQWEsUUFHeEI7QUFFRCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7T0FJRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEdBQUcsSUFBQSxvQkFBVyxFQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxJQUFBLGlCQUFNLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHVCQUFZLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLElBQUEsc0JBQVcsRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FB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QUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNuRSxPQUFPLGVBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQjtRQUN0QixJQUFJLENBQUM7WUFDSCxvREFBb0Q7WUFDcEQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssb0JBQW9CO1FBQzFCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFBLG1CQUFVLEVBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6RSxPQUFPLElBQUEsbUJBQVUsRUFBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBN0hELDBCQTZIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlZmF1bHRLZXlzLFxuICBpc1ByaXZhdGVLZXksXG4gIGlzUHVibGljS2V5LFxuICBpc1NlZWQsXG4gIGlzVmFsaWRYcHJ2LFxuICBpc1ZhbGlkWHB1YixcbiAgS2V5UGFpck9wdGlvbnMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgYmlwMzIsIEVDUGFpciB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyByYW5kb21CeXRlcywgY3JlYXRlSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gMTY7XG5leHBvcnQgZW51bSBhZGRyZXNzRm9ybWF0IHtcbiAgdGVzdG5ldCA9ICdjb3N0d28nLFxuICBtYWlubmV0ID0gJ2ZsYXJlJyxcbn1cblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICBjb25zdCBzZWVkID0gcmFuZG9tQnl0ZXMoREVGQVVMVF9TRUVEX1NJWkVfQllURVMpO1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VlZChzb3VyY2UpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNvdXJjZS5zZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzUHJpdmF0ZUtleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShzb3VyY2UucHJ2KTtcbiAgICB9IGVsc2UgaWYgKGlzUHVibGljS2V5KHNvdXJjZSkpIHtcbiAgICAgIHRoaXMucmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkoc291cmNlLnB1Yik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGROb2RlKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIudG9LZXlQYWlyKHRoaXMuaGROb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBrZXlwYWlyIGZyb20gYSBwcm90b2NvbCBwcml2YXRlIGtleSBvciBleHRlbmRlZCBwcml2YXRlIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBydiBBIHJhdyBwcml2YXRlIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHBydjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBydi5zdGFydHNXaXRoKCdQcml2YXRlS2V5LScpKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBFQ1BhaXIuZnJvbVByaXZhdGVLZXkoQnVmZmVyLmZyb20odXRpbHMuY2I1OERlY29kZShwcnYuc3BsaXQoJy0nKVsxXSkpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHJpdmF0ZUtleShwcnYpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICAgIGlmIChpc1ZhbGlkWHBydihwcnYpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocHJ2KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21Qcml2YXRlS2V5KEJ1ZmZlci5mcm9tKHBydi5zbGljZSgwLCA2NCksICdoZXgnKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuIEVDUGFpciBmcm9tIGEgcHJvdG9jb2wgcHVibGljIGtleSBvciBleHRlbmRlZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIEEgcmF3IHB1YmxpYyBrZXlcbiAgICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5KHB1Yjogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChpc1ZhbGlkWHB1YihwdWIpKSB7XG4gICAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbUJhc2U1OChwdWIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21QdWJsaWNLZXkoQnVmZmVyLmZyb20ocHViLCAnaGV4JykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMua2V5UGFpciA9IEVDUGFpci5mcm9tUHVibGljS2V5KEJ1ZmZlci5mcm9tKHV0aWxzLmNiNThEZWNvZGUocHViKSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgcHVibGljIGtleScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGtleXMgZm9ybWF0IGlzIGEgcGFpciBvZiBVaW50OEFycmF5IGtleXNcbiAgICpcbiAgICogQHJldHVybnMgeyBEZWZhdWx0S2V5cyB9IFRoZSBrZXlzIGluIHRoZSBkZWZpbmVkIGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogdGhpcy5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIEZsYXJlIFAtQ2hhaW4gcHVibGljIG1haW5uZXQgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gZmxhcmUgaHJwIHNlbGVjdG9yOiBNYWlubmV0KGZsYXJlKSBvciBUZXN0bmV0KGNvc3R3bylcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIG1haW5uZXQgYWRkcmVzcyBkZXJpdmVkIGZyb20gdGhlIHB1YmxpYyBrZXlcbiAgICovXG4gIGdldEFkZHJlc3MoZm9ybWF0ID0gJ21haW5uZXQnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGbHJQQWRkcmVzcyhhZGRyZXNzRm9ybWF0W2Zvcm1hdF0pO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgYSBwdWJsaWMgYWRkcmVzcyBvZiBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaHJwIC0gc2VsZWN0IE1haW5uZXQoZmxhcmUpIG9yIFRlc3RuZXQoY29zdHdvKSBmb3IgdGhlIGFkZHJlc3NcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGFkZHJlc3MgZGVyaXZlZCBmcm9tIHRoZSBwdWJsaWMga2V5IGFuZCBocnBcbiAgICovXG4gIGdldEZsclBBZGRyZXNzKGhycDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhZGRyZXNzQnVmZmVyOiBCdWZmZXIgPSBCdWZmZXIuZnJvbSh0aGlzLmdldEFkZHJlc3NCdWZmZXIoKSk7XG4gICAgcmV0dXJuIHV0aWxzLmFkZHJlc3NUb1N0cmluZyhocnAsICdQJywgYWRkcmVzc0J1ZmZlcik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgRmxhcmUgUC1DaGFpbiBwdWJsaWMgbWFpbm5ldCBhZGRyZXNzIGJ1ZmZlclxuICAgKlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSBUaGUgYWRkcmVzcyBidWZmZXIgZGVyaXZlZCBmcm9tIHRoZSBwdWJsaWMga2V5XG4gICAqL1xuICBwcml2YXRlIGdldEFkZHJlc3NCdWZmZXIoKTogQnVmZmVyIHtcbiAgICB0cnkge1xuICAgICAgLy8gVXNlIHRoZSBzYWZlIGJ1ZmZlciBtZXRob2QgZm9yIGFkZHJlc3MgZGVyaXZhdGlvblxuICAgICAgcmV0dXJuIHRoaXMuZ2V0QWRkcmVzc1NhZmVCdWZmZXIoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QWRkcmVzc1NhZmVCdWZmZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlIHRoZSBzYWZlIEJ1ZmZlciBpbnN0ZWFkIG9mIHRoZSByZWd1bGFyIGJ1ZmZlciB0byBkZXJpdmUgdGhlIGFkZHJlc3MgYnVmZmVyLiBVc2VkIGluIHRoZSBPVkMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9XG4gICAqL1xuICBwcml2YXRlIGdldEFkZHJlc3NTYWZlQnVmZmVyKCk6IEJ1ZmZlciB7XG4gICAgY29uc3QgcHVibGljS2V5SGV4ID0gdGhpcy5rZXlQYWlyLnB1YmxpY0tleS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3Qgc2hhMjU2ID0gY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHB1YmxpY0tleUhleCwgJ2hleCcpLmRpZ2VzdCgpO1xuICAgIHJldHVybiBjcmVhdGVIYXNoKCdyaXBlbWQxNjAnKS51cGRhdGUoc2hhMjU2KS5kaWdlc3QoKTtcbiAgfVxufVxuIl19
@@ -5,6 +5,7 @@ import { DeprecatedOutput, DeprecatedTx, Output } from './iface';
5
5
  export declare const createHexRegex: (length: number, requirePrefix?: boolean) => RegExp;
6
6
  export declare const createFlexibleHexRegex: (requirePrefix?: boolean) => RegExp;
7
7
  export declare class Utils implements BaseUtils {
8
+ addressToString: (hrp: string, prefix: string, address: Buffer) => string;
8
9
  includeIn(walletAddresses: string[], otxoOutputAddresses: string[]): boolean;
9
10
  /**
10
11
  * Checks if it is a valid address no illegal characters
@@ -15,14 +16,6 @@ export declare class Utils implements BaseUtils {
15
16
  /** @inheritdoc */
16
17
  isValidAddress(address: string | string[]): boolean;
17
18
  private isValidAddressRegex;
18
- /**
19
- * Checks if it is a valid blockId with length 66 including 0x
20
- *
21
- * @param {string} hash - blockId to be validated
22
- * @returns {boolean} - the validation result
23
- */
24
- /** @inheritdoc */
25
- isValidBlockId(hash: string): boolean;
26
19
  /**
27
20
  * Checks if the string is a valid protocol public key or
28
21
  * extended public key.
@@ -31,7 +24,8 @@ export declare class Utils implements BaseUtils {
31
24
  * @returns {boolean} - the validation result
32
25
  */
33
26
  isValidPublicKey(pub: string): boolean;
34
- parseAddress: (pub: string) => Buffer;
27
+ parseAddress: (address: string) => Buffer;
28
+ stringToAddress: (address: string, hrp?: string) => Buffer;
35
29
  /**
36
30
  * Returns whether or not the string is a valid protocol private key, or extended
37
31
  * private key.
@@ -79,6 +73,8 @@ export declare class Utils implements BaseUtils {
79
73
  isValidSignature(signature: string): boolean;
80
74
  /** @inheritdoc */
81
75
  isValidTransactionId(txId: string): boolean;
76
+ /** @inheritdoc */
77
+ isValidBlockId(blockId: string): boolean;
82
78
  /**
83
79
  * FlareJS wrapper to create signature and return it for credentials
84
80
  * @param network
@@ -164,20 +160,6 @@ export declare class Utils implements BaseUtils {
164
160
  * @return {string} outputidx number
165
161
  */
166
162
  outputidxBufferToNumber(outputidx: Buffer): string;
167
- /**
168
- * CB58 decode function - simple Base58 decode implementation
169
- * @param {string} data - CB58 encoded string
170
- * @returns {Buffer} decoded buffer
171
- */
172
- cb58Decode(data: string): Buffer;
173
- /**
174
- * Convert address buffer to bech32 string
175
- * @param {string} hrp - Human readable part
176
- * @param {string} chainid - Chain identifier
177
- * @param {Buffer} addressBuffer - Address buffer
178
- * @returns {string} Address string
179
- */
180
- addressToString(hrp: string, chainid: string, addressBuffer: Buffer): string;
181
163
  /**
182
164
  * Convert string to bytes for FlareJS memo
183
165
  * Follows FlareJS utils.stringToBytes pattern
@@ -211,6 +193,27 @@ export declare class Utils implements BaseUtils {
211
193
  * @returns {boolean} Whether memo is within size limits
212
194
  */
213
195
  validateMemoSize(memoBytes: Uint8Array, maxSize?: number): boolean;
196
+ /**
197
+ * Adds a checksum to a Buffer and returns the concatenated result
198
+ */
199
+ private addChecksum;
200
+ /**
201
+ * Validates a checksum on a Buffer and returns true if valid, false if not
202
+ */
203
+ private validateChecksum;
204
+ /**
205
+ * Encodes a Buffer as a base58 string with checksum
206
+ */
207
+ cb58Encode(bytes: Buffer): string;
208
+ /**
209
+ * Decodes a base58 string with checksum to a Buffer
210
+ */
211
+ cb58Decode(str: string): Buffer;
212
+ /**
213
+ * Checks if a string is a valid CB58 (base58 with checksum) format
214
+ */
215
+ private isCB58;
216
+ isValidId(id: string): boolean;
214
217
  }
215
218
  declare const utils: Utils;
216
219
  export default utils;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}