@bitgo/account-lib 2.20.0-rc.21 → 2.20.0-rc.22

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 (80) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/tsconfig.tsbuildinfo +1354 -3334
  3. package/package.json +7 -14
  4. package/dist/browser/bitgo-account-lib.js +0 -2
  5. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -337
  6. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
  7. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  8. package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
  9. package/dist/src/coin/algo/errors.d.ts +0 -11
  10. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  11. package/dist/src/coin/algo/errors.js +0 -27
  12. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  13. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  14. package/dist/src/coin/algo/ifaces.js +0 -3
  15. package/dist/src/coin/algo/index.d.ts +0 -13
  16. package/dist/src/coin/algo/index.d.ts.map +0 -1
  17. package/dist/src/coin/algo/index.js +0 -47
  18. package/dist/src/coin/algo/keyPair.d.ts +0 -25
  19. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  20. package/dist/src/coin/algo/keyPair.js +0 -77
  21. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  22. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  23. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
  24. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  25. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  26. package/dist/src/coin/algo/seedEncoding.js +0 -97
  27. package/dist/src/coin/algo/transaction.d.ts +0 -75
  28. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  29. package/dist/src/coin/algo/transaction.js +0 -251
  30. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
  31. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  32. package/dist/src/coin/algo/transactionBuilder.js +0 -373
  33. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  34. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  35. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
  36. package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
  37. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  38. package/dist/src/coin/algo/transferBuilder.js +0 -89
  39. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  40. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  41. package/dist/src/coin/algo/txnSchema.js +0 -68
  42. package/dist/src/coin/algo/utils.d.ts +0 -249
  43. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  44. package/dist/src/coin/algo/utils.js +0 -539
  45. package/dist/src/coin/cspr/constants.d.ts +0 -19
  46. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  47. package/dist/src/coin/cspr/constants.js +0 -28
  48. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  49. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  50. package/dist/src/coin/cspr/delegateBuilder.js +0 -111
  51. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  52. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  53. package/dist/src/coin/cspr/ifaces.js +0 -3
  54. package/dist/src/coin/cspr/index.d.ts +0 -6
  55. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  56. package/dist/src/coin/cspr/index.js +0 -31
  57. package/dist/src/coin/cspr/keyPair.d.ts +0 -18
  58. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  59. package/dist/src/coin/cspr/keyPair.js +0 -75
  60. package/dist/src/coin/cspr/transaction.d.ts +0 -55
  61. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  62. package/dist/src/coin/cspr/transaction.js +0 -227
  63. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
  64. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  65. package/dist/src/coin/cspr/transactionBuilder.js +0 -312
  66. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  67. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  68. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
  69. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  70. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  71. package/dist/src/coin/cspr/transferBuilder.js +0 -106
  72. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  73. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  74. package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
  75. package/dist/src/coin/cspr/utils.d.ts +0 -188
  76. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  77. package/dist/src/coin/cspr/utils.js +0 -477
  78. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  79. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  80. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.algoUtils = exports.Interface = exports.AddressValidationError = exports.InsufficientFeeError = exports.TransactionBuilderFactory = exports.AssetTransferBuilder = exports.Transaction = exports.KeyRegistrationBuilder = exports.TransferBuilder = exports.TransactionBuilder = exports.KeyPair = void 0;
26
- const utils_1 = __importDefault(require("./utils"));
27
- exports.algoUtils = utils_1.default;
28
- const Interface = __importStar(require("./ifaces"));
29
- exports.Interface = Interface;
30
- var keyPair_1 = require("./keyPair");
31
- Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
32
- var transactionBuilder_1 = require("./transactionBuilder");
33
- Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
34
- var transferBuilder_1 = require("./transferBuilder");
35
- Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
36
- var keyRegistrationBuilder_1 = require("./keyRegistrationBuilder");
37
- Object.defineProperty(exports, "KeyRegistrationBuilder", { enumerable: true, get: function () { return keyRegistrationBuilder_1.KeyRegistrationBuilder; } });
38
- var transaction_1 = require("./transaction");
39
- Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
40
- var assetTransferBuilder_1 = require("./assetTransferBuilder");
41
- Object.defineProperty(exports, "AssetTransferBuilder", { enumerable: true, get: function () { return assetTransferBuilder_1.AssetTransferBuilder; } });
42
- var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
43
- Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
44
- var errors_1 = require("./errors");
45
- Object.defineProperty(exports, "InsufficientFeeError", { enumerable: true, get: function () { return errors_1.InsufficientFeeError; } });
46
- Object.defineProperty(exports, "AddressValidationError", { enumerable: true, get: function () { return errors_1.AddressValidationError; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9hbGdvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFZVixvQkFaWCxlQUFLLENBWWU7QUFYM0Isb0RBQXNDO0FBVTdCLDhCQUFTO0FBUmxCLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIsbUVBQWtFO0FBQXpELGdJQUFBLHNCQUFzQixPQUFBO0FBQy9CLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsK0RBQThEO0FBQXJELDRIQUFBLG9CQUFvQixPQUFBO0FBQzdCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyxtQ0FBd0U7QUFBL0QsOEdBQUEsb0JBQW9CLE9BQUE7QUFBRSxnSEFBQSxzQkFBc0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlcyc7XG5cbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB9IGZyb20gJy4va2V5UmVnaXN0cmF0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgQXNzZXRUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL2Fzc2V0VHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgSW5zdWZmaWNpZW50RmVlRXJyb3IsIEFkZHJlc3NWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgeyBJbnRlcmZhY2UgfTtcbmV4cG9ydCB7IHV0aWxzIGFzIGFsZ29VdGlscyB9O1xuIl19
@@ -1,25 +0,0 @@
1
- import { Ed25519KeyPair, DefaultKeys, KeyPairOptions } from '@bitgo/sdk-core';
2
- export declare class KeyPair extends Ed25519KeyPair {
3
- /**
4
- * Public constructor. By default, creates a key pair with a random master seed.
5
- *
6
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
7
- */
8
- constructor(source?: KeyPairOptions);
9
- /** @inheritdoc */
10
- recordKeysFromPrivateKeyInProtocolFormat(prv: string): DefaultKeys;
11
- /** @inheritdoc */
12
- recordKeysFromPublicKeyInProtocolFormat(pub: string): DefaultKeys;
13
- /** @inheritdoc */
14
- getAddress(): string;
15
- /** @inheritdoc */
16
- getKeys(): DefaultKeys;
17
- /**
18
- * Getting the base64 private key for signing an algo transaction.
19
- *
20
- * @returns {Uint8Array} base64 private key
21
- * @see https://developer.algorand.org/docs/features/accounts/#transformation-private-key-to-base64-private-key
22
- */
23
- getSigningKey(): Uint8Array;
24
- }
25
- //# sourceMappingURL=keyPair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/keyPair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,iBAAiB,CAAC;AAG1F,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAOlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAKjE,kBAAkB;IAClB,UAAU,IAAI,MAAM;IAIpB,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAYtB;;;;;OAKG;IACH,aAAa,IAAI,UAAU;CAM5B"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.KeyPair = void 0;
26
- const algosdk_1 = __importStar(require("algosdk"));
27
- const sdk_core_1 = require("@bitgo/sdk-core");
28
- const utils_1 = __importDefault(require("./utils"));
29
- class KeyPair extends sdk_core_1.Ed25519KeyPair {
30
- /**
31
- * Public constructor. By default, creates a key pair with a random master seed.
32
- *
33
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
34
- */
35
- constructor(source) {
36
- super(source);
37
- }
38
- /** @inheritdoc */
39
- recordKeysFromPrivateKeyInProtocolFormat(prv) {
40
- const decodedSeed = utils_1.default.decodeSeed(prv);
41
- const bufferFromSeed = Buffer.from(decodedSeed.seed);
42
- return utils_1.default.keyPairFromSeed(bufferFromSeed).keyPair;
43
- }
44
- /** @inheritdoc */
45
- recordKeysFromPublicKeyInProtocolFormat(pub) {
46
- const publicKey = algosdk_1.default.decodeAddress(pub).publicKey;
47
- return { pub: utils_1.default.toHex(publicKey) };
48
- }
49
- /** @inheritdoc */
50
- getAddress() {
51
- return algosdk_1.encodeAddress(utils_1.default.toUint8Array(this.keyPair.pub));
52
- }
53
- /** @inheritdoc */
54
- getKeys() {
55
- // TODO(https://bitgoinc.atlassian.net/browse/STLX-6062): refactor this method
56
- // should return the pub and prv in the Algorand encoded format
57
- const result = { pub: this.keyPair.pub };
58
- if (this.keyPair.prv) {
59
- result.prv = this.keyPair.prv;
60
- }
61
- return result;
62
- }
63
- /**
64
- * Getting the base64 private key for signing an algo transaction.
65
- *
66
- * @returns {Uint8Array} base64 private key
67
- * @see https://developer.algorand.org/docs/features/accounts/#transformation-private-key-to-base64-private-key
68
- */
69
- getSigningKey() {
70
- if (!this.keyPair.prv) {
71
- throw new sdk_core_1.InvalidKey('Private key undefined');
72
- }
73
- return utils_1.default.toUint8Array(this.keyPair.prv + this.keyPair.pub);
74
- }
75
- }
76
- exports.KeyPair = KeyPair;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2FsZ28va2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWlEO0FBQ2pELDhDQUEwRjtBQUMxRixvREFBNEI7QUFFNUIsTUFBYSxPQUFRLFNBQVEseUJBQWM7SUFDekM7Ozs7T0FJRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsd0NBQXdDLENBQUMsR0FBVztRQUNsRCxNQUFNLFdBQVcsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJELE9BQU8sZUFBSyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDdkQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix1Q0FBdUMsQ0FBQyxHQUFXO1FBQ2pELE1BQU0sU0FBUyxHQUFHLGlCQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLGVBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixPQUFPLHVCQUFhLENBQUMsZUFBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixPQUFPO1FBQ0wsOEVBQThFO1FBQzlFLCtEQUErRDtRQUMvRCxNQUFNLE1BQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUV0RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDL0I7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxhQUFhO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxxQkFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLGVBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBQ0Y7QUF0REQsMEJBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFsZ29zZGssIHsgZW5jb2RlQWRkcmVzcyB9IGZyb20gJ2FsZ29zZGsnO1xuaW1wb3J0IHsgRWQyNTUxOUtleVBhaXIsIERlZmF1bHRLZXlzLCBLZXlQYWlyT3B0aW9ucywgSW52YWxpZEtleSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgRWQyNTUxOUtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleUluUHJvdG9jb2xGb3JtYXQocHJ2OiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgZGVjb2RlZFNlZWQgPSB1dGlscy5kZWNvZGVTZWVkKHBydik7XG4gICAgY29uc3QgYnVmZmVyRnJvbVNlZWQgPSBCdWZmZXIuZnJvbShkZWNvZGVkU2VlZC5zZWVkKTtcblxuICAgIHJldHVybiB1dGlscy5rZXlQYWlyRnJvbVNlZWQoYnVmZmVyRnJvbVNlZWQpLmtleVBhaXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IGFsZ29zZGsuZGVjb2RlQWRkcmVzcyhwdWIpLnB1YmxpY0tleTtcbiAgICByZXR1cm4geyBwdWI6IHV0aWxzLnRvSGV4KHB1YmxpY0tleSkgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGVuY29kZUFkZHJlc3ModXRpbHMudG9VaW50OEFycmF5KHRoaXMua2V5UGFpci5wdWIpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICAvLyBUT0RPKGh0dHBzOi8vYml0Z29pbmMuYXRsYXNzaWFuLm5ldC9icm93c2UvU1RMWC02MDYyKTogcmVmYWN0b3IgdGhpcyBtZXRob2RcbiAgICAvLyBzaG91bGQgcmV0dXJuIHRoZSBwdWIgYW5kIHBydiBpbiB0aGUgQWxnb3JhbmQgZW5jb2RlZCBmb3JtYXRcbiAgICBjb25zdCByZXN1bHQ6IERlZmF1bHRLZXlzID0geyBwdWI6IHRoaXMua2V5UGFpci5wdWIgfTtcblxuICAgIGlmICh0aGlzLmtleVBhaXIucHJ2KSB7XG4gICAgICByZXN1bHQucHJ2ID0gdGhpcy5rZXlQYWlyLnBydjtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRpbmcgdGhlIGJhc2U2NCBwcml2YXRlIGtleSBmb3Igc2lnbmluZyBhbiBhbGdvIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyB7VWludDhBcnJheX0gYmFzZTY0IHByaXZhdGUga2V5XG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvZmVhdHVyZXMvYWNjb3VudHMvI3RyYW5zZm9ybWF0aW9uLXByaXZhdGUta2V5LXRvLWJhc2U2NC1wcml2YXRlLWtleVxuICAgKi9cbiAgZ2V0U2lnbmluZ0tleSgpOiBVaW50OEFycmF5IHtcbiAgICBpZiAoIXRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkS2V5KCdQcml2YXRlIGtleSB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHV0aWxzLnRvVWludDhBcnJheSh0aGlzLmtleVBhaXIucHJ2ICsgdGhpcy5rZXlQYWlyLnB1Yik7XG4gIH1cbn1cbiJdfQ==
@@ -1,104 +0,0 @@
1
- import algosdk from 'algosdk';
2
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
- import { TransactionType } from '@bitgo/sdk-core';
4
- import { TransactionBuilder } from './transactionBuilder';
5
- import { Transaction } from './transaction';
6
- export declare class KeyRegistrationBuilder extends TransactionBuilder {
7
- protected _voteKey: string;
8
- protected _selectionKey: string;
9
- protected _voteFirst: number;
10
- protected _voteLast: number;
11
- protected _voteKeyDilution: number;
12
- protected _nonParticipation: boolean;
13
- protected _stateProofKey: string;
14
- constructor(coinConfig: Readonly<CoinConfig>);
15
- /**
16
- * Sets the vote key
17
- *
18
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
19
- *
20
- * @param {string} key The root participation public key. See Generate a Participation Key to learn more.
21
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
22
- */
23
- voteKey(key: string): KeyRegistrationBuilder;
24
- /**
25
- * Sets the selection key
26
- *
27
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
28
- *
29
- * @param {string} key The VRF public key for the account.
30
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
31
- */
32
- selectionKey(key: string): KeyRegistrationBuilder;
33
- /**
34
- * Sets the stateProof key
35
- *
36
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
37
- *
38
- * @param {string} key The stateproof key. See consensus for more information.
39
- * https://developer.algorand.org/docs/get-details/algorand_consensus/?from_query=state#state-proof-keys
40
- */
41
- stateProofKey(key: string): KeyRegistrationBuilder;
42
- /**
43
- *Sets the vote first round
44
- *
45
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
46
- *
47
- * @param {number} round The first round that the participation key is valid. Not to be confused with the FirstValid round of the keyreg transaction.
48
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
49
- */
50
- voteFirst(round: number): KeyRegistrationBuilder;
51
- /**
52
- * Sets the vote last round
53
- *
54
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
55
- *
56
- * A recommended range is 3,000,000 rounds.
57
- *
58
- * @param {number} round No theoretical limit.
59
- * https://developer.algorand.org/docs/run-a-node/participate/generate_keys/
60
- */
61
- voteLast(round: number): KeyRegistrationBuilder;
62
- /**
63
- * Sets the vote key dilution
64
- *
65
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
66
- *
67
- * Defaults to 10,000
68
- *
69
- * @param {number} size [10000]. To reduce the size of the participation key, set the key dilution value to roughly the square root of the range that the partkey is valid for.
70
- * https://developer.algorand.org/docs/run-a-node/participate/generate_keys/#generate-the-participation-key-with-goal
71
- * @param size
72
- */
73
- voteKeyDilution(size?: number): KeyRegistrationBuilder;
74
- /**
75
- * Sets the non participation flag
76
- *
77
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
78
- *
79
- * @param {boolean} nonParticipation All new Algorand accounts are participating by default.
80
- * This means that they earn rewards. Mark an account nonparticipating by setting this value to true and this account
81
- * will no longer earn rewards NEVER.
82
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
83
- */
84
- nonParticipation(nonParticipation: boolean): KeyRegistrationBuilder;
85
- protected buildAlgoTxn(): algosdk.Transaction;
86
- private buildOfflineKeyRegTransaction;
87
- private buildOnlineKeyRegTransaction;
88
- private buildNonParticipationKeyRegTransaction;
89
- protected get transactionType(): TransactionType;
90
- /** @inheritdoc */
91
- protected fromImplementation(rawTransaction: Uint8Array | string): Transaction;
92
- /** @inheritdoc */
93
- validateRawTransaction(rawTransaction: Uint8Array | string): void;
94
- private isNonParticipationKeyRegAlgoSDKTransaction;
95
- private isNonParticipationKeyRegAccountLibTransaction;
96
- private isOnlineKeyRegAlgoSDKTransaction;
97
- private isOnlineKeyRegAccountLibTransaction;
98
- private isOfflineKeyRegAlgoSDKTransaction;
99
- private isOfflineKeyRegAccountLibTransaction;
100
- /** @inheritdoc */
101
- validateTransaction(transaction: Transaction): void;
102
- private validateFields;
103
- }
104
- //# sourceMappingURL=keyRegistrationBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyRegistrationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/keyRegistrationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAA2B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;gBAErB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB;IAK5C;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB;IAKjD;;;;;;;OAOG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB;IAMlD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB;IAOhD;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB;IAO/C;;;;;;;;;;OAUG;IACH,eAAe,CAAC,IAAI,SAAQ,GAAG,sBAAsB;IAOrD;;;;;;;;;OASG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,GAAG,sBAAsB;IAMnE,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW;IAQ7C,OAAO,CAAC,6BAA6B;IAarC,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,sCAAsC;IAe9C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW;IAqB9E,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAqBjE,OAAO,CAAC,0CAA0C;IAIlD,OAAO,CAAC,6CAA6C;IAIrD,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,mCAAmC;IAI3C,OAAO,CAAC,iCAAiC;IAYzC,OAAO,CAAC,oCAAoC;IAY5C,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IA6BnD,OAAO,CAAC,cAAc;CAqBvB"}
@@ -1,239 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.KeyRegistrationBuilder = void 0;
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const algosdk_1 = __importDefault(require("algosdk"));
9
- const sdk_core_1 = require("@bitgo/sdk-core");
10
- const transactionBuilder_1 = require("./transactionBuilder");
11
- const txnSchema_1 = require("./txnSchema");
12
- const utils_1 = __importDefault(require("./utils"));
13
- class KeyRegistrationBuilder extends transactionBuilder_1.TransactionBuilder {
14
- constructor(coinConfig) {
15
- super(coinConfig);
16
- }
17
- /**
18
- * Sets the vote key
19
- *
20
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
21
- *
22
- * @param {string} key The root participation public key. See Generate a Participation Key to learn more.
23
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
24
- */
25
- voteKey(key) {
26
- this._voteKey = key;
27
- return this;
28
- }
29
- /**
30
- * Sets the selection key
31
- *
32
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
33
- *
34
- * @param {string} key The VRF public key for the account.
35
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
36
- */
37
- selectionKey(key) {
38
- this._selectionKey = key;
39
- return this;
40
- }
41
- /**
42
- * Sets the stateProof key
43
- *
44
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
45
- *
46
- * @param {string} key The stateproof key. See consensus for more information.
47
- * https://developer.algorand.org/docs/get-details/algorand_consensus/?from_query=state#state-proof-keys
48
- */
49
- stateProofKey(key) {
50
- utils_1.default.validateBase64(key);
51
- this._stateProofKey = key;
52
- return this;
53
- }
54
- /**
55
- *Sets the vote first round
56
- *
57
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
58
- *
59
- * @param {number} round The first round that the participation key is valid. Not to be confused with the FirstValid round of the keyreg transaction.
60
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
61
- */
62
- voteFirst(round) {
63
- this.validateValue(new bignumber_js_1.default(round));
64
- this._voteFirst = round;
65
- return this;
66
- }
67
- /**
68
- * Sets the vote last round
69
- *
70
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
71
- *
72
- * A recommended range is 3,000,000 rounds.
73
- *
74
- * @param {number} round No theoretical limit.
75
- * https://developer.algorand.org/docs/run-a-node/participate/generate_keys/
76
- */
77
- voteLast(round) {
78
- this.validateValue(new bignumber_js_1.default(round));
79
- this._voteLast = round;
80
- return this;
81
- }
82
- /**
83
- * Sets the vote key dilution
84
- *
85
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
86
- *
87
- * Defaults to 10,000
88
- *
89
- * @param {number} size [10000]. To reduce the size of the participation key, set the key dilution value to roughly the square root of the range that the partkey is valid for.
90
- * https://developer.algorand.org/docs/run-a-node/participate/generate_keys/#generate-the-participation-key-with-goal
91
- * @param size
92
- */
93
- voteKeyDilution(size = 10000) {
94
- this.validateValue(new bignumber_js_1.default(size));
95
- this._voteKeyDilution = size;
96
- return this;
97
- }
98
- /**
99
- * Sets the non participation flag
100
- *
101
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
102
- *
103
- * @param {boolean} nonParticipation All new Algorand accounts are participating by default.
104
- * This means that they earn rewards. Mark an account nonparticipating by setting this value to true and this account
105
- * will no longer earn rewards NEVER.
106
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
107
- */
108
- nonParticipation(nonParticipation) {
109
- this._nonParticipation = nonParticipation;
110
- return this;
111
- }
112
- buildAlgoTxn() {
113
- return this.isOfflineKeyRegAccountLibTransaction()
114
- ? this.buildOfflineKeyRegTransaction()
115
- : this.isNonParticipationKeyRegAccountLibTransaction()
116
- ? this.buildNonParticipationKeyRegTransaction()
117
- : this.buildOnlineKeyRegTransaction();
118
- }
119
- buildOfflineKeyRegTransaction() {
120
- return algosdk_1.default.makeKeyRegistrationTxnWithSuggestedParams(this._sender, this._note, undefined, // voteKey param
121
- undefined, // selectionKey param
122
- undefined, // voteFirst param
123
- undefined, // voteLast param
124
- undefined, // voteKeyDilution param
125
- this.suggestedParams);
126
- }
127
- buildOnlineKeyRegTransaction() {
128
- return algosdk_1.default.makeKeyRegistrationTxnWithSuggestedParams(this._sender, this._note, this._voteKey, this._selectionKey, this._voteFirst, this._voteLast, this._voteKeyDilution, this.suggestedParams, undefined, // reKeyTo param
129
- undefined, // nonParticipation param
130
- this._stateProofKey);
131
- }
132
- buildNonParticipationKeyRegTransaction() {
133
- return algosdk_1.default.makeKeyRegistrationTxnWithSuggestedParams(this._sender, this._note, undefined, // voteKey param
134
- undefined, // selectionKey param
135
- undefined, // voteFirst param
136
- undefined, // voteLast param
137
- undefined, // voteKeyDilution param
138
- this.suggestedParams, this._reKeyTo, true);
139
- }
140
- get transactionType() {
141
- return sdk_core_1.TransactionType.WalletInitialization;
142
- }
143
- /** @inheritdoc */
144
- fromImplementation(rawTransaction) {
145
- const tx = super.fromImplementation(rawTransaction);
146
- const algoTxn = tx.getAlgoTransaction();
147
- if (algoTxn) {
148
- if (this.isNonParticipationKeyRegAlgoSDKTransaction(algoTxn)) {
149
- this.nonParticipation(!!algoTxn.nonParticipation);
150
- }
151
- else if (this.isOnlineKeyRegAlgoSDKTransaction(algoTxn)) {
152
- this.voteKey(algoTxn.voteKey.toString('base64'));
153
- this.selectionKey(algoTxn.selectionKey.toString('base64'));
154
- this.voteFirst(algoTxn.voteFirst);
155
- this.voteLast(algoTxn.voteLast);
156
- this.voteKeyDilution(algoTxn.voteKeyDilution);
157
- if (algoTxn.stateProofKey) {
158
- this.stateProofKey(algoTxn.stateProofKey.toString('base64'));
159
- }
160
- }
161
- }
162
- return tx;
163
- }
164
- /** @inheritdoc */
165
- validateRawTransaction(rawTransaction) {
166
- const decodeTxn = utils_1.default.decodeAlgoTxn(rawTransaction);
167
- const algoTxn = decodeTxn.txn;
168
- if (algoTxn.type !== algosdk_1.default.TransactionType.keyreg) {
169
- throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${algoTxn.type}. Expected ${algosdk_1.default.TransactionType.keyreg}`);
170
- }
171
- if (this.isOnlineKeyRegAlgoSDKTransaction(algoTxn)) {
172
- this.validateFields(algoTxn.voteKey.toString('base64'), algoTxn.selectionKey.toString('base64'), algoTxn.voteFirst, algoTxn.voteLast, algoTxn.voteKeyDilution, algoTxn.stateProofKey && algoTxn.stateProofKey.toString('base64'));
173
- }
174
- }
175
- isNonParticipationKeyRegAlgoSDKTransaction(algoTxn) {
176
- return !!algoTxn.nonParticipation;
177
- }
178
- isNonParticipationKeyRegAccountLibTransaction() {
179
- return !!this._nonParticipation;
180
- }
181
- isOnlineKeyRegAlgoSDKTransaction(algoTxn) {
182
- return !(this.isOfflineKeyRegAlgoSDKTransaction(algoTxn) || this.isNonParticipationKeyRegAlgoSDKTransaction(algoTxn));
183
- }
184
- isOnlineKeyRegAccountLibTransaction() {
185
- return !(this.isOfflineKeyRegAccountLibTransaction() || this.isNonParticipationKeyRegAccountLibTransaction());
186
- }
187
- isOfflineKeyRegAlgoSDKTransaction(algoTxn) {
188
- return (!algoTxn.voteKey &&
189
- !algoTxn.selectionKey &&
190
- !algoTxn.voteFirst &&
191
- !algoTxn.voteLast &&
192
- !algoTxn.voteKeyDilution &&
193
- !algoTxn.stateProofKey &&
194
- !algoTxn.nonParticipation);
195
- }
196
- isOfflineKeyRegAccountLibTransaction() {
197
- return (!this._voteKey &&
198
- !this._selectionKey &&
199
- !this._voteFirst &&
200
- !this._voteLast &&
201
- !this._voteKeyDilution &&
202
- !this._stateProofKey &&
203
- !this._nonParticipation);
204
- }
205
- /** @inheritdoc */
206
- validateTransaction(transaction) {
207
- super.validateTransaction(transaction);
208
- if (this.isOnlineKeyRegAccountLibTransaction()) {
209
- // invalid offline will reach here
210
- this.validateFields(this._voteKey, this._selectionKey, this._voteFirst, this._voteLast, this._voteKeyDilution, this._stateProofKey);
211
- }
212
- else {
213
- // offline or nonparticipation transaction
214
- if (this._voteKey ||
215
- this._selectionKey ||
216
- this._voteFirst ||
217
- this._voteLast ||
218
- this._voteKeyDilution ||
219
- this._stateProofKey) {
220
- throw new sdk_core_1.InvalidTransactionError('VoteKey, SelectionKey, VoteFirst, VoteLast, VoteKeyDilution, StateProofKey fields cannot be set when offline or nonparticipation is set');
221
- }
222
- }
223
- }
224
- validateFields(voteKey, selectionKey, voteFirst, voteLast, voteKeyDilution, stateProofKey) {
225
- const validationResult = txnSchema_1.KeyRegTxnSchema.validate({
226
- voteKey,
227
- selectionKey,
228
- voteFirst,
229
- voteLast,
230
- voteKeyDilution,
231
- stateProofKey,
232
- });
233
- if (validationResult.error) {
234
- throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
235
- }
236
- }
237
- }
238
- exports.KeyRegistrationBuilder = KeyRegistrationBuilder;
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UmVnaXN0cmF0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2FsZ28va2V5UmVnaXN0cmF0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnRUFBcUM7QUFDckMsc0RBQThCO0FBRTlCLDhDQUEyRTtBQUMzRSw2REFBMEQ7QUFFMUQsMkNBQThDO0FBQzlDLG9EQUE0QjtBQUU1QixNQUFhLHNCQUF1QixTQUFRLHVDQUFrQjtJQVM1RCxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxZQUFZLENBQUMsR0FBVztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsYUFBYSxDQUFDLEdBQVc7UUFDdkIsZUFBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsYUFBYSxD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QUMsa0NBQWtDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZHO0lBQ0gsQ0FBQztDQUNGO0FBeFRELHdEQXdUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCBhbGdvc2RrIGZyb20gJ2FsZ29zZGsnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEtleVJlZ1R4blNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEtleVJlZ2lzdHJhdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3ZvdGVLZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9zZWxlY3Rpb25LZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIF92b3RlRmlyc3Q6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF92b3RlTGFzdDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX3ZvdGVLZXlEaWx1dGlvbjogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX25vblBhcnRpY2lwYXRpb246IGJvb2xlYW47XG4gIHByb3RlY3RlZCBfc3RhdGVQcm9vZktleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdm90ZSBrZXlcbiAgICpcbiAgICogQHJldHVybnMge0tleVJlZ2lzdHJhdGlvbkJ1aWxkZXJ9IFRoaXMgS2V5IFJlZ2lzdHJhdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSByb290IHBhcnRpY2lwYXRpb24gcHVibGljIGtleS4gU2VlIEdlbmVyYXRlIGEgUGFydGljaXBhdGlvbiBLZXkgdG8gbGVhcm4gbW9yZS5cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL3RyYW5zYWN0aW9ucy8ja2V5LXJlZ2lzdHJhdGlvbi10cmFuc2FjdGlvblxuICAgKi9cbiAgdm90ZUtleShrZXk6IHN0cmluZyk6IEtleVJlZ2lzdHJhdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMuX3ZvdGVLZXkgPSBrZXk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VsZWN0aW9uIGtleVxuICAgKlxuICAgKiBAcmV0dXJucyB7S2V5UmVnaXN0cmF0aW9uQnVpbGRlcn0gVGhpcyBLZXkgUmVnaXN0cmF0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIFZSRiBwdWJsaWMga2V5IGZvciB0aGUgYWNjb3VudC5cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL3RyYW5zYWN0aW9ucy8ja2V5LXJlZ2lzdHJhdGlvbi10cmFuc2FjdGlvblxuICAgKi9cbiAgc2VsZWN0aW9uS2V5KGtleTogc3RyaW5nKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgdGhpcy5fc2VsZWN0aW9uS2V5ID0ga2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0YXRlUHJvb2Yga2V5XG4gICAqXG4gICAqIEByZXR1cm5zIHtLZXlSZWdpc3RyYXRpb25CdWlsZGVyfSBUaGlzIEtleSBSZWdpc3RyYXRpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUgc3RhdGVwcm9vZiBrZXkuIFNlZSBjb25zZW5zdXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL2dldC1kZXRhaWxzL2FsZ29yYW5kX2NvbnNlbnN1cy8/ZnJvbV9xdWVyeT1zdGF0ZSNzdGF0ZS1wcm9vZi1rZXlzXG4gICAqL1xuICBzdGF0ZVByb29mS2V5KGtleTogc3RyaW5nKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgVXRpbHMudmFsaWRhdGVCYXNlNjQoa2V5KTtcbiAgICB0aGlzLl9zdGF0ZVByb29mS2V5ID0ga2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqU2V0cyB0aGUgdm90ZSBmaXJzdCByb3VuZFxuICAgKlxuICAgKiBAcmV0dXJucyB7S2V5UmVnaXN0cmF0aW9uQnVpbGRlcn0gVGhpcyBLZXkgUmVnaXN0cmF0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByb3VuZCBUaGUgZmlyc3Qgcm91bmQgdGhhdCB0aGUgcGFydGljaXBhdGlvbiBrZXkgaXMgdmFsaWQuIE5vdCB0byBiZSBjb25mdXNlZCB3aXRoIHRoZSBGaXJzdFZhbGlkIHJvdW5kIG9mIHRoZSBrZXlyZWcgdHJhbnNhY3Rpb24uXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL3JlZmVyZW5jZS90cmFuc2FjdGlvbnMvI2tleS1yZWdpc3RyYXRpb24tdHJhbnNhY3Rpb25cbiAgICovXG4gIHZvdGVGaXJzdChyb3VuZDogbnVtYmVyKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocm91bmQpKTtcbiAgICB0aGlzLl92b3RlRmlyc3QgPSByb3VuZDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZvdGUgbGFzdCByb3VuZFxuICAgKlxuICAgKiBAcmV0dXJucyB7S2V5UmVnaXN0cmF0aW9uQnVpbGRlcn0gVGhpcyBLZXkgUmVnaXN0cmF0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEEgcmVjb21tZW5kZWQgcmFuZ2UgaXMgMywwMDAsMDAwIHJvdW5kcy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJvdW5kIE5vIHRoZW9yZXRpY2FsIGxpbWl0LlxuICAgKiBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9ydW4tYS1ub2RlL3BhcnRpY2lwYXRlL2dlbmVyYXRlX2tleXMvXG4gICAqL1xuICB2b3RlTGFzdChyb3VuZDogbnVtYmVyKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocm91bmQpKTtcbiAgICB0aGlzLl92b3RlTGFzdCA9IHJvdW5kO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdm90ZSBrZXkgZGlsdXRpb25cbiAgICpcbiAgICogQHJldHVybnMge0tleVJlZ2lzdHJhdGlvbkJ1aWxkZXJ9IFRoaXMgS2V5IFJlZ2lzdHJhdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byAxMCwwMDBcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHNpemUgWzEwMDAwXS4gVG8gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBwYXJ0aWNpcGF0aW9uIGtleSwgc2V0IHRoZSBrZXkgZGlsdXRpb24gdmFsdWUgdG8gcm91Z2hseSB0aGUgc3F1YXJlIHJvb3Qgb2YgdGhlIHJhbmdlIHRoYXQgdGhlIHBhcnRrZXkgaXMgdmFsaWQgZm9yLlxuICAgKiBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9ydW4tYS1ub2RlL3BhcnRpY2lwYXRlL2dlbmVyYXRlX2tleXMvI2dlbmVyYXRlLXRoZS1wYXJ0aWNpcGF0aW9uLWtleS13aXRoLWdvYWxcbiAgICogQHBhcmFtIHNpemVcbiAgICovXG4gIHZvdGVLZXlEaWx1dGlvbihzaXplID0gMTAwMDApOiBLZXlSZWdpc3RyYXRpb25CdWlsZGVyIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihzaXplKSk7XG4gICAgdGhpcy5fdm90ZUtleURpbHV0aW9uID0gc2l6ZTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5vbiBwYXJ0aWNpcGF0aW9uIGZsYWdcbiAgICpcbiAgICogQHJldHVybnMge0tleVJlZ2lzdHJhdGlvbkJ1aWxkZXJ9IFRoaXMgS2V5IFJlZ2lzdHJhdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5vblBhcnRpY2lwYXRpb24gQWxsIG5ldyBBbGdvcmFuZCBhY2NvdW50cyBhcmUgcGFydGljaXBhdGluZyBieSBkZWZhdWx0LlxuICAgKiBUaGlzIG1lYW5zIHRoYXQgdGhleSBlYXJuIHJld2FyZHMuIE1hcmsgYW4gYWNjb3VudCBub25wYXJ0aWNpcGF0aW5nIGJ5IHNldHRpbmcgdGhpcyB2YWx1ZSB0byB0cnVlIGFuZCB0aGlzIGFjY291bnRcbiAgICogd2lsbCBubyBsb25nZXIgZWFybiByZXdhcmRzIE5FVkVSLlxuICAgKiBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9yZWZlcmVuY2UvdHJhbnNhY3Rpb25zLyNrZXktcmVnaXN0cmF0aW9uLXRyYW5zYWN0aW9uXG4gICAqL1xuICBub25QYXJ0aWNpcGF0aW9uKG5vblBhcnRpY2lwYXRpb246IGJvb2xlYW4pOiBLZXlSZWdpc3RyYXRpb25CdWlsZGVyIHtcbiAgICB0aGlzLl9ub25QYXJ0aWNpcGF0aW9uID0gbm9uUGFydGljaXBhdGlvbjtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkQWxnb1R4bigpOiBhbGdvc2RrLlRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5pc09mZmxpbmVLZXlSZWdBY2NvdW50TGliVHJhbnNhY3Rpb24oKVxuICAgICAgPyB0aGlzLmJ1aWxkT2ZmbGluZUtleVJlZ1RyYW5zYWN0aW9uKClcbiAgICAgIDogdGhpcy5pc05vblBhcnRpY2lwYXRpb25LZXlSZWdBY2NvdW50TGliVHJhbnNhY3Rpb24oKVxuICAgICAgPyB0aGlzLmJ1aWxkTm9uUGFydGljaXBhdGlvbktleVJlZ1RyYW5zYWN0aW9uKClcbiAgICAgIDogdGhpcy5idWlsZE9ubGluZUtleVJlZ1RyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkT2ZmbGluZUtleVJlZ1RyYW5zYWN0aW9uKCk6IGFsZ29zZGsuVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBhbGdvc2RrLm1ha2VLZXlSZWdpc3RyYXRpb25UeG5XaXRoU3VnZ2VzdGVkUGFyYW1zKFxuICAgICAgdGhpcy5fc2VuZGVyLFxuICAgICAgdGhpcy5fbm90ZSxcbiAgICAgIHVuZGVmaW5lZCwgLy8gdm90ZUtleSBwYXJhbVxuICAgICAgdW5kZWZpbmVkLCAvLyBzZWxlY3Rpb25LZXkgcGFyYW1cbiAgICAgIHVuZGVmaW5lZCwgLy8gdm90ZUZpcnN0IHBhcmFtXG4gICAgICB1bmRlZmluZWQsIC8vIHZvdGVMYXN0IHBhcmFtXG4gICAgICB1bmRlZmluZWQsIC8vIHZvdGVLZXlEaWx1dGlvbiBwYXJhbVxuICAgICAgdGhpcy5zdWdnZXN0ZWRQYXJhbXMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRPbmxpbmVLZXlSZWdUcmFuc2FjdGlvbigpOiBhbGdvc2RrLlRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gYWxnb3Nkay5tYWtlS2V5UmVnaXN0cmF0aW9uVHhuV2l0aFN1Z2dlc3RlZFBhcmFtcyhcbiAgICAgIHRoaXMuX3NlbmRlcixcbiAgICAgIHRoaXMuX25vdGUsXG4gICAgICB0aGlzLl92b3RlS2V5LFxuICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5LFxuICAgICAgdGhpcy5fdm90ZUZpcnN0LFxuICAgICAgdGhpcy5fdm90ZUxhc3QsXG4gICAgICB0aGlzLl92b3RlS2V5RGlsdXRpb24sXG4gICAgICB0aGlzLnN1Z2dlc3RlZFBhcmFtcyxcbiAgICAgIHVuZGVmaW5lZCwgLy8gcmVLZXlUbyBwYXJhbVxuICAgICAgdW5kZWZpbmVkLCAvLyBub25QYXJ0aWNpcGF0aW9uIHBhcmFtXG4gICAgICB0aGlzLl9zdGF0ZVByb29mS2V5LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTm9uUGFydGljaXBhdGlvbktleVJlZ1RyYW5zYWN0aW9uKCk6IGFsZ29zZGsuVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBhbGdvc2RrLm1ha2VLZXlSZWdpc3RyYXRpb25UeG5XaXRoU3VnZ2VzdGVkUGFyYW1zKFxuICAgICAgdGhpcy5fc2VuZGVyLFxuICAgICAgdGhpcy5fbm90ZSxcbiAgICAgIHVuZGVmaW5lZCwgLy8gdm90ZUtleSBwYXJhbVxuICAgICAgdW5kZWZpbmVkLCAvLyBzZWxlY3Rpb25LZXkgcGFyYW1cbiAgICAgIHVuZGVmaW5lZCwgLy8gdm90ZUZpcnN0IHBhcmFtXG4gICAgICB1bmRlZmluZWQsIC8vIHZvdGVMYXN0IHBhcmFtXG4gICAgICB1bmRlZmluZWQsIC8vIHZvdGVLZXlEaWx1dGlvbiBwYXJhbVxuICAgICAgdGhpcy5zdWdnZXN0ZWRQYXJhbXMsXG4gICAgICB0aGlzLl9yZUtleVRvLFxuICAgICAgdHJ1ZSwgLy8gbm9uUGFydGljaXBhdGlvbiBwYXJhbVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogVWludDhBcnJheSB8IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgY29uc3QgYWxnb1R4biA9IHR4LmdldEFsZ29UcmFuc2FjdGlvbigpO1xuXG4gICAgaWYgKGFsZ29UeG4pIHtcbiAgICAgIGlmICh0aGlzLmlzTm9uUGFydGljaXBhdGlvbktleVJlZ0FsZ29TREtUcmFuc2FjdGlvbihhbGdvVHhuKSkge1xuICAgICAgICB0aGlzLm5vblBhcnRpY2lwYXRpb24oISFhbGdvVHhuLm5vblBhcnRpY2lwYXRpb24pO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzT25saW5lS2V5UmVnQWxnb1NES1RyYW5zYWN0aW9uKGFsZ29UeG4pKSB7XG4gICAgICAgIHRoaXMudm90ZUtleShhbGdvVHhuLnZvdGVLZXkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25LZXkoYWxnb1R4bi5zZWxlY3Rpb25LZXkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcbiAgICAgICAgdGhpcy52b3RlRmlyc3QoYWxnb1R4bi52b3RlRmlyc3QpO1xuICAgICAgICB0aGlzLnZvdGVMYXN0KGFsZ29UeG4udm90ZUxhc3QpO1xuICAgICAgICB0aGlzLnZvdGVLZXlEaWx1dGlvbihhbGdvVHhuLnZvdGVLZXlEaWx1dGlvbik7XG4gICAgICAgIGlmIChhbGdvVHhuLnN0YXRlUHJvb2ZLZXkpIHtcbiAgICAgICAgICB0aGlzLnN0YXRlUHJvb2ZLZXkoYWxnb1R4bi5zdGF0ZVByb29mS2V5LnRvU3RyaW5nKCdiYXNlNjQnKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkZWNvZGVUeG4gPSBVdGlscy5kZWNvZGVBbGdvVHhuKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBjb25zdCBhbGdvVHhuID0gZGVjb2RlVHhuLnR4bjtcbiAgICBpZiAoYWxnb1R4bi50eXBlICE9PSBhbGdvc2RrLlRyYW5zYWN0aW9uVHlwZS5rZXlyZWcpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHthbGdvVHhuLnR5cGV9LiBFeHBlY3RlZCAke2FsZ29zZGsuVHJhbnNhY3Rpb25UeXBlLmtleXJlZ31gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc09ubGluZUtleVJlZ0FsZ29TREtUcmFuc2FjdGlvbihhbGdvVHhuKSkge1xuICAgICAgdGhpcy52YWxpZGF0ZUZpZWxkcyhcbiAgICAgICAgYWxnb1R4bi52b3RlS2V5LnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgICAgYWxnb1R4bi5zZWxlY3Rpb25LZXkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgICBhbGdvVHhuLnZvdGVGaXJzdCxcbiAgICAgICAgYWxnb1R4bi52b3RlTGFzdCxcbiAgICAgICAgYWxnb1R4bi52b3RlS2V5RGlsdXRpb24sXG4gICAgICAgIGFsZ29UeG4uc3RhdGVQcm9vZktleSAmJiBhbGdvVHhuLnN0YXRlUHJvb2ZLZXkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzTm9uUGFydGljaXBhdGlvbktleVJlZ0FsZ29TREtUcmFuc2FjdGlvbihhbGdvVHhuOiBhbGdvc2RrLlRyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhYWxnb1R4bi5ub25QYXJ0aWNpcGF0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05vblBhcnRpY2lwYXRpb25LZXlSZWdBY2NvdW50TGliVHJhbnNhY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fbm9uUGFydGljaXBhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgaXNPbmxpbmVLZXlSZWdBbGdvU0RLVHJhbnNhY3Rpb24oYWxnb1R4bjogYWxnb3Nkay5UcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKFxuICAgICAgdGhpcy5pc09mZmxpbmVLZXlSZWdBbGdvU0RLVHJhbnNhY3Rpb24oYWxnb1R4bikgfHwgdGhpcy5pc05vblBhcnRpY2lwYXRpb25LZXlSZWdBbGdvU0RLVHJhbnNhY3Rpb24oYWxnb1R4bilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09ubGluZUtleVJlZ0FjY291bnRMaWJUcmFuc2FjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISh0aGlzLmlzT2ZmbGluZUtleVJlZ0FjY291bnRMaWJUcmFuc2FjdGlvbigpIHx8IHRoaXMuaXNOb25QYXJ0aWNpcGF0aW9uS2V5UmVnQWNjb3VudExpYlRyYW5zYWN0aW9uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09mZmxpbmVLZXlSZWdBbGdvU0RLVHJhbnNhY3Rpb24oYWxnb1R4bjogYWxnb3Nkay5UcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhYWxnb1R4bi52b3RlS2V5ICYmXG4gICAgICAhYWxnb1R4bi5zZWxlY3Rpb25LZXkgJiZcbiAgICAgICFhbGdvVHhuLnZvdGVGaXJzdCAmJlxuICAgICAgIWFsZ29UeG4udm90ZUxhc3QgJiZcbiAgICAgICFhbGdvVHhuLnZvdGVLZXlEaWx1dGlvbiAmJlxuICAgICAgIWFsZ29UeG4uc3RhdGVQcm9vZktleSAmJlxuICAgICAgIWFsZ29UeG4ubm9uUGFydGljaXBhdGlvblxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzT2ZmbGluZUtleVJlZ0FjY291bnRMaWJUcmFuc2FjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMuX3ZvdGVLZXkgJiZcbiAgICAgICF0aGlzLl9zZWxlY3Rpb25LZXkgJiZcbiAgICAgICF0aGlzLl92b3RlRmlyc3QgJiZcbiAgICAgICF0aGlzLl92b3RlTGFzdCAmJlxuICAgICAgIXRoaXMuX3ZvdGVLZXlEaWx1dGlvbiAmJlxuICAgICAgIXRoaXMuX3N0YXRlUHJvb2ZLZXkgJiZcbiAgICAgICF0aGlzLl9ub25QYXJ0aWNpcGF0aW9uXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLmlzT25saW5lS2V5UmVnQWNjb3VudExpYlRyYW5zYWN0aW9uKCkpIHtcbiAgICAgIC8vIGludmFsaWQgb2ZmbGluZSB3aWxsIHJlYWNoIGhlcmVcbiAgICAgIHRoaXMudmFsaWRhdGVGaWVsZHMoXG4gICAgICAgIHRoaXMuX3ZvdGVLZXksXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbktleSxcbiAgICAgICAgdGhpcy5fdm90ZUZpcnN0LFxuICAgICAgICB0aGlzLl92b3RlTGFzdCxcbiAgICAgICAgdGhpcy5fdm90ZUtleURpbHV0aW9uLFxuICAgICAgICB0aGlzLl9zdGF0ZVByb29mS2V5LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gb2ZmbGluZSBvciBub25wYXJ0aWNpcGF0aW9uIHRyYW5zYWN0aW9uXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX3ZvdGVLZXkgfHxcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5IHx8XG4gICAgICAgIHRoaXMuX3ZvdGVGaXJzdCB8fFxuICAgICAgICB0aGlzLl92b3RlTGFzdCB8fFxuICAgICAgICB0aGlzLl92b3RlS2V5RGlsdXRpb24gfHxcbiAgICAgICAgdGhpcy5fc3RhdGVQcm9vZktleVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICAnVm90ZUtleSwgU2VsZWN0aW9uS2V5LCBWb3RlRmlyc3QsIFZvdGVMYXN0LCBWb3RlS2V5RGlsdXRpb24sIFN0YXRlUHJvb2ZLZXkgZmllbGRzIGNhbm5vdCBiZSBzZXQgd2hlbiBvZmZsaW5lIG9yIG5vbnBhcnRpY2lwYXRpb24gaXMgc2V0JyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKFxuICAgIHZvdGVLZXk6IHN0cmluZyxcbiAgICBzZWxlY3Rpb25LZXk6IHN0cmluZyxcbiAgICB2b3RlRmlyc3Q6IG51bWJlcixcbiAgICB2b3RlTGFzdDogbnVtYmVyLFxuICAgIHZvdGVLZXlEaWx1dGlvbjogbnVtYmVyLFxuICAgIHN0YXRlUHJvb2ZLZXk/OiBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBLZXlSZWdUeG5TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgdm90ZUtleSxcbiAgICAgIHNlbGVjdGlvbktleSxcbiAgICAgIHZvdGVGaXJzdCxcbiAgICAgIHZvdGVMYXN0LFxuICAgICAgdm90ZUtleURpbHV0aW9uLFxuICAgICAgc3RhdGVQcm9vZktleSxcbiAgICB9KTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Seed } from './ifaces';
2
- export declare class SeedEncoding {
3
- private static genericHash;
4
- /**
5
- * Checks if a seed is valid
6
- * @param {String} seed - encoded Algorand seed
7
- * @returns {Boolean} true if valid, false otherwise
8
- */
9
- static isValidSeed(seed: string): boolean;
10
- /**
11
- * Decode a seed
12
- *
13
- * @param seed
14
- * @return {{checksum: Uint8Array, seed: Uint8Array}}
15
- */
16
- static decode(seed: string): Seed;
17
- /**
18
- * Encode a secret key into a seed
19
- *
20
- * @param secretKey
21
- * @return {String} encoded seed
22
- */
23
- static encode(secretKey: Uint8Array): string;
24
- }
25
- //# sourceMappingURL=seedEncoding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seedEncoding.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/seedEncoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAOhC,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IA0BzC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAajC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM;CAe7C"}