@bitgo-beta/sdk-coin-tao 1.0.1-alpha.15 → 1.0.1-alpha.150

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 (87) hide show
  1. package/.mocharc.yml +1 -1
  2. package/CHANGELOG.md +206 -0
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +2 -1
  6. package/dist/src/lib/constants.d.ts +11 -0
  7. package/dist/src/lib/constants.d.ts.map +1 -0
  8. package/dist/src/lib/constants.js +14 -0
  9. package/dist/src/lib/iface.d.ts +14 -335
  10. package/dist/src/lib/iface.d.ts.map +1 -1
  11. package/dist/src/lib/iface.js +1 -126
  12. package/dist/src/lib/index.d.ts +9 -9
  13. package/dist/src/lib/index.d.ts.map +1 -1
  14. package/dist/src/lib/index.js +30 -51
  15. package/dist/src/lib/moveStakeBuilder.d.ts +84 -0
  16. package/dist/src/lib/moveStakeBuilder.d.ts.map +1 -0
  17. package/dist/src/lib/moveStakeBuilder.js +182 -0
  18. package/dist/src/lib/moveStakeTransaction.d.ts +10 -0
  19. package/dist/src/lib/moveStakeTransaction.d.ts.map +1 -0
  20. package/dist/src/lib/moveStakeTransaction.js +77 -0
  21. package/dist/src/lib/stakingBuilder.d.ts +63 -0
  22. package/dist/src/lib/stakingBuilder.d.ts.map +1 -0
  23. package/dist/src/lib/stakingBuilder.js +133 -0
  24. package/dist/src/lib/tokenTransferBuilder.d.ts +74 -0
  25. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  26. package/dist/src/lib/tokenTransferBuilder.js +154 -0
  27. package/dist/src/lib/tokenTransferTransaction.d.ts +10 -0
  28. package/dist/src/lib/tokenTransferTransaction.d.ts.map +1 -0
  29. package/dist/src/lib/tokenTransferTransaction.js +77 -0
  30. package/dist/src/lib/transactionBuilderFactory.d.ts +10 -4
  31. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  32. package/dist/src/lib/transactionBuilderFactory.js +33 -8
  33. package/dist/src/lib/transferBuilder.d.ts +2 -7
  34. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  35. package/dist/src/lib/transferBuilder.js +8 -3
  36. package/dist/src/lib/unstakeBuilder.d.ts +66 -0
  37. package/dist/src/lib/unstakeBuilder.d.ts.map +1 -0
  38. package/dist/src/lib/unstakeBuilder.js +136 -0
  39. package/dist/src/lib/utils.d.ts +5 -264
  40. package/dist/src/lib/utils.d.ts.map +1 -1
  41. package/dist/src/lib/utils.js +15 -480
  42. package/dist/src/register.d.ts.map +1 -1
  43. package/dist/src/register.js +5 -1
  44. package/dist/src/resources/index.d.ts +1 -1
  45. package/dist/src/resources/index.js +2 -2
  46. package/dist/src/resources/mainnet.d.ts +12 -1
  47. package/dist/src/resources/mainnet.d.ts.map +1 -1
  48. package/dist/src/resources/mainnet.js +14 -3
  49. package/dist/src/resources/testnet.d.ts +13 -0
  50. package/dist/src/resources/testnet.d.ts.map +1 -0
  51. package/dist/src/resources/testnet.js +16 -0
  52. package/dist/src/tao.d.ts +19 -6
  53. package/dist/src/tao.d.ts.map +1 -1
  54. package/dist/src/tao.js +43 -81
  55. package/dist/src/taoToken.d.ts +19 -0
  56. package/dist/src/taoToken.d.ts.map +1 -0
  57. package/dist/src/taoToken.js +52 -0
  58. package/package.json +10 -19
  59. package/.gitignore +0 -3
  60. package/.prettierignore +0 -2
  61. package/dist/src/lib/errors.d.ts +0 -8
  62. package/dist/src/lib/errors.d.ts.map +0 -1
  63. package/dist/src/lib/errors.js +0 -19
  64. package/dist/src/lib/iface_utils.d.ts +0 -59
  65. package/dist/src/lib/iface_utils.d.ts.map +0 -1
  66. package/dist/src/lib/iface_utils.js +0 -92
  67. package/dist/src/lib/keyPair.d.ts +0 -38
  68. package/dist/src/lib/keyPair.d.ts.map +0 -1
  69. package/dist/src/lib/keyPair.js +0 -117
  70. package/dist/src/lib/nativeTransferBuilder.d.ts +0 -84
  71. package/dist/src/lib/nativeTransferBuilder.d.ts.map +0 -1
  72. package/dist/src/lib/nativeTransferBuilder.js +0 -219
  73. package/dist/src/lib/singletonRegistry.d.ts +0 -7
  74. package/dist/src/lib/singletonRegistry.d.ts.map +0 -1
  75. package/dist/src/lib/singletonRegistry.js +0 -20
  76. package/dist/src/lib/transaction.d.ts +0 -83
  77. package/dist/src/lib/transaction.d.ts.map +0 -1
  78. package/dist/src/lib/transaction.js +0 -610
  79. package/dist/src/lib/transactionBuilder.d.ts +0 -131
  80. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  81. package/dist/src/lib/transactionBuilder.js +0 -351
  82. package/dist/src/lib/txnSchema.d.ts +0 -15
  83. package/dist/src/lib/txnSchema.d.ts.map +0 -1
  84. package/dist/src/lib/txnSchema.js +0 -117
  85. package/dist/src/resources/westend.d.ts +0 -2
  86. package/dist/src/resources/westend.d.ts.map +0 -1
  87. package/dist/src/resources/westend.js +0 -5
@@ -1,117 +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
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.KeyPair = void 0;
40
- const keyring_1 = require("@polkadot/keyring");
41
- const pair_1 = require("@polkadot/keyring/pair");
42
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
43
- const bs58_1 = __importDefault(require("bs58"));
44
- const utils_1 = __importDefault(require("./utils"));
45
- const nacl = __importStar(require("tweetnacl"));
46
- const TYPE = 'ed25519';
47
- const keyring = new keyring_1.Keyring({ type: TYPE });
48
- class KeyPair extends sdk_core_1.Ed25519KeyPair {
49
- /**
50
- * Public constructor. By default, creates a key pair with a random master seed.
51
- *
52
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
53
- */
54
- constructor(source) {
55
- super(source);
56
- }
57
- /**
58
- * Helper function to create the KeyringPair for signing a dot transaction.
59
- *
60
- * @returns {KeyringPair} dot KeyringPair
61
- *
62
- * @see https://polkadot.js.org/docs/api/start/keyring
63
- */
64
- createPolkadotPair() {
65
- const secretKey = this.keyPair.prv ? new Uint8Array(Buffer.from(this.keyPair.prv, 'hex')) : undefined;
66
- const publicKey = new Uint8Array(Buffer.from(this.keyPair.pub, 'hex'));
67
- return (0, pair_1.createPair)({ toSS58: keyring.encodeAddress, type: TYPE }, { secretKey, publicKey });
68
- }
69
- /**
70
- // https://wiki.polkadot.network/docs/learn-accounts#address-format
71
- * Returns the address in either mainnet polkadot format (starts with 1)
72
- * or substrate format used for westend (starts with 5)
73
- */
74
- getAddress(format) {
75
- let encodedAddress = this.createPolkadotPair().address;
76
- encodedAddress = keyring.encodeAddress(encodedAddress, format);
77
- return encodedAddress;
78
- }
79
- /** @inheritdoc */
80
- getKeys() {
81
- const result = { pub: this.keyPair.pub };
82
- if (this.keyPair.prv) {
83
- result.prv = this.keyPair.prv;
84
- }
85
- return result;
86
- }
87
- /** @inheritdoc */
88
- recordKeysFromPrivateKeyInProtocolFormat(prv) {
89
- const decodedSeed = utils_1.default.decodeSeed(prv);
90
- const bufferFromSeed = Buffer.from(decodedSeed.seed);
91
- return utils_1.default.keyPairFromSeed(bufferFromSeed).keyPair;
92
- }
93
- /** @inheritdoc */
94
- recordKeysFromPublicKeyInProtocolFormat(pub) {
95
- const publicKey = keyring.addFromPair({
96
- // tss common pub is in base58 format and decodes to length of 32
97
- publicKey: (0, sdk_core_1.isBase58)(pub, 32) ? new Uint8Array(bs58_1.default.decode(pub)) : new Uint8Array(Buffer.from(pub, 'hex')),
98
- secretKey: new Uint8Array(),
99
- }).publicKey;
100
- return { pub: (0, sdk_core_1.toHex)(publicKey) };
101
- }
102
- /**
103
- * Sign the message in Uint8Array
104
- *
105
- * @param {Uint8Array} message to be signed
106
- * @returns {Uint8Array} signed message
107
- */
108
- signMessageinUint8Array(message) {
109
- const { prv } = this.keyPair;
110
- if (!prv) {
111
- throw new Error('Missing private key');
112
- }
113
- return nacl.sign.detached(message, nacl.sign.keyPair.fromSeed((0, sdk_core_1.toUint8Array)(prv)).secretKey);
114
- }
115
- }
116
- exports.KeyPair = KeyPair;
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNEM7QUFDNUMsaURBQW9EO0FBRXBELG1EQVE4QjtBQUM5QixnREFBd0I7QUFDeEIsb0RBQTRCO0FBQzVCLGdEQUFrQztBQUVsQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUM7QUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFFNUMsTUFBYSxPQUFRLFNBQVEseUJBQWM7SUFDekM7Ozs7T0FJRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxrQkFBa0I7UUFDMUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RHLE1BQU0sU0FBUyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RSxPQUFPLElBQUEsaUJBQVUsRUFBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUN2RCxjQUFjLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsTUFBZ0IsQ0FBQyxDQUFDO1FBRXpFLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTztRQUNMLE1BQU0sTUFBTSxHQUFnQixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHdDQUF3QyxDQUFDLEdBQVc7UUFDbEQsTUFBTSxXQUFXLEdBQUcsZUFBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxPQUFPLGVBQUssQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsdUNBQXVDLENBQUMsR0FBVztRQUNqRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3BDLGlFQUFpRTtZQUNqRSxTQUFTLEVBQUUsSUFBQSxtQkFBUSxFQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsY0FBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RyxTQUFTLEVBQUUsSUFBSSxVQUFVLEVBQUU7U0FDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNiLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBQSxnQkFBSyxFQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUMsT0FBbUI7UUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBQSx1QkFBWSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUYsQ0FBQztDQUNGO0FBMUVELDBCQTBFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleXJpbmcgfSBmcm9tICdAcG9sa2Fkb3Qva2V5cmluZyc7XG5pbXBvcnQgeyBjcmVhdGVQYWlyIH0gZnJvbSAnQHBvbGthZG90L2tleXJpbmcvcGFpcic7XG5pbXBvcnQgeyBLZXlyaW5nUGFpciB9IGZyb20gJ0Bwb2xrYWRvdC9rZXlyaW5nL3R5cGVzJztcbmltcG9ydCB7XG4gIERvdEFkZHJlc3NGb3JtYXQsXG4gIERlZmF1bHRLZXlzLFxuICBFZDI1NTE5S2V5UGFpcixcbiAgaXNCYXNlNTgsXG4gIEtleVBhaXJPcHRpb25zLFxuICB0b0hleCxcbiAgdG9VaW50OEFycmF5LFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIG5hY2wgZnJvbSAndHdlZXRuYWNsJztcblxuY29uc3QgVFlQRSA9ICdlZDI1NTE5JztcbmNvbnN0IGtleXJpbmcgPSBuZXcgS2V5cmluZyh7IHR5cGU6IFRZUEUgfSk7XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgRWQyNTUxOUtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIEtleXJpbmdQYWlyIGZvciBzaWduaW5nIGEgZG90IHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyB7S2V5cmluZ1BhaXJ9IGRvdCBLZXlyaW5nUGFpclxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3MvYXBpL3N0YXJ0L2tleXJpbmdcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVQb2xrYWRvdFBhaXIoKTogS2V5cmluZ1BhaXIge1xuICAgIGNvbnN0IHNlY3JldEtleSA9IHRoaXMua2V5UGFpci5wcnYgPyBuZXcgVWludDhBcnJheShCdWZmZXIuZnJvbSh0aGlzLmtleVBhaXIucHJ2LCAnaGV4JykpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wdWIsICdoZXgnKSk7XG4gICAgcmV0dXJuIGNyZWF0ZVBhaXIoeyB0b1NTNTg6IGtleXJpbmcuZW5jb2RlQWRkcmVzcywgdHlwZTogVFlQRSB9LCB7IHNlY3JldEtleSwgcHVibGljS2V5IH0pO1xuICB9XG5cbiAgLyoqXG4gICAvLyBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLWFjY291bnRzI2FkZHJlc3MtZm9ybWF0XG4gICAqIFJldHVybnMgdGhlIGFkZHJlc3MgaW4gZWl0aGVyIG1haW5uZXQgcG9sa2Fkb3QgZm9ybWF0IChzdGFydHMgd2l0aCAxKVxuICAgKiBvciBzdWJzdHJhdGUgZm9ybWF0IHVzZWQgZm9yIHdlc3RlbmQgKHN0YXJ0cyB3aXRoIDUpXG4gICAqL1xuICBnZXRBZGRyZXNzKGZvcm1hdDogRG90QWRkcmVzc0Zvcm1hdCk6IHN0cmluZyB7XG4gICAgbGV0IGVuY29kZWRBZGRyZXNzID0gdGhpcy5jcmVhdGVQb2xrYWRvdFBhaXIoKS5hZGRyZXNzO1xuICAgIGVuY29kZWRBZGRyZXNzID0ga2V5cmluZy5lbmNvZGVBZGRyZXNzKGVuY29kZWRBZGRyZXNzLCBmb3JtYXQgYXMgbnVtYmVyKTtcblxuICAgIHJldHVybiBlbmNvZGVkQWRkcmVzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCByZXN1bHQ6IERlZmF1bHRLZXlzID0geyBwdWI6IHRoaXMua2V5UGFpci5wdWIgfTtcbiAgICBpZiAodGhpcy5rZXlQYWlyLnBydikge1xuICAgICAgcmVzdWx0LnBydiA9IHRoaXMua2V5UGFpci5wcnY7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5SW5Qcm90b2NvbEZvcm1hdChwcnY6IHN0cmluZyk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCBkZWNvZGVkU2VlZCA9IHV0aWxzLmRlY29kZVNlZWQocHJ2KTtcbiAgICBjb25zdCBidWZmZXJGcm9tU2VlZCA9IEJ1ZmZlci5mcm9tKGRlY29kZWRTZWVkLnNlZWQpO1xuICAgIHJldHVybiB1dGlscy5rZXlQYWlyRnJvbVNlZWQoYnVmZmVyRnJvbVNlZWQpLmtleVBhaXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IGtleXJpbmcuYWRkRnJvbVBhaXIoe1xuICAgICAgLy8gdHNzIGNvbW1vbiBwdWIgaXMgaW4gYmFzZTU4IGZvcm1hdCBhbmQgZGVjb2RlcyB0byBsZW5ndGggb2YgMzJcbiAgICAgIHB1YmxpY0tleTogaXNCYXNlNTgocHViLCAzMikgPyBuZXcgVWludDhBcnJheShiczU4LmRlY29kZShwdWIpKSA6IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHB1YiwgJ2hleCcpKSxcbiAgICAgIHNlY3JldEtleTogbmV3IFVpbnQ4QXJyYXkoKSxcbiAgICB9KS5wdWJsaWNLZXk7XG4gICAgcmV0dXJuIHsgcHViOiB0b0hleChwdWJsaWNLZXkpIH07XG4gIH1cblxuICAvKipcbiAgICogIFNpZ24gdGhlIG1lc3NhZ2UgaW4gVWludDhBcnJheVxuICAgKlxuICAgKiBAcGFyYW0ge1VpbnQ4QXJyYXl9IG1lc3NhZ2UgdG8gYmUgc2lnbmVkXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fSBzaWduZWQgbWVzc2FnZVxuICAgKi9cbiAgc2lnbk1lc3NhZ2VpblVpbnQ4QXJyYXkobWVzc2FnZTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkge1xuICAgIGNvbnN0IHsgcHJ2IH0gPSB0aGlzLmtleVBhaXI7XG4gICAgaWYgKCFwcnYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICByZXR1cm4gbmFjbC5zaWduLmRldGFjaGVkKG1lc3NhZ2UsIG5hY2wuc2lnbi5rZXlQYWlyLmZyb21TZWVkKHRvVWludDhBcnJheShwcnYpKS5zZWNyZXRLZXkpO1xuICB9XG59XG4iXX0=
@@ -1,84 +0,0 @@
1
- import { BaseAddress, TransactionType } from '@bitgo-beta/sdk-core';
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
4
- import { ProxyType } from './iface';
5
- import { Transaction } from './transaction';
6
- import { TransactionBuilder } from './transactionBuilder';
7
- export declare abstract class NativeTransferBuilder extends TransactionBuilder {
8
- protected _sweepFreeBalance: boolean;
9
- protected _keepAddressAlive: boolean;
10
- protected _amount: string;
11
- protected _to: string;
12
- protected _owner: string;
13
- protected _forceProxyType: ProxyType;
14
- constructor(_coinConfig: Readonly<CoinConfig>);
15
- /**
16
- *
17
- * Dispatch the given call from an account that the sender is authorised for through add_proxy.
18
- *
19
- * @returns {UnsignedTransaction} an unsigned Dot transaction
20
- *
21
- * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
22
- */
23
- protected buildTransaction(): UnsignedTransaction;
24
- protected get transactionType(): TransactionType;
25
- /**
26
- *
27
- * Set this to be a sweep transaction, using TransferAll with keepAlive set to true by default.
28
- * If keepAlive is false, the entire address will be swept (including the 1 DOT minimum).
29
- *
30
- * @param {boolean} keepAlive - keep the address alive after this sweep
31
- * @returns {TransferBuilder} This transfer builder.
32
- *
33
- * @see https://github.com/paritytech/txwrapper-core/blob/main/docs/modules/txwrapper_substrate_src.methods.balances.md#transferall
34
- */
35
- sweep(keepAlive?: boolean): this;
36
- /**
37
- *
38
- * The amount for transfer transaction.
39
- *
40
- * @param {string} amount
41
- * @returns {TransferBuilder} This transfer builder.
42
- *
43
- * @see https://wiki.polkadot.network/docs/build-protocol-info
44
- */
45
- amount(amount: string): this;
46
- /**
47
- *
48
- * The destination address for transfer transaction.
49
- *
50
- * @param {string} dest
51
- * @returns {TransferBuilder} This transfer builder.
52
- *
53
- * @see https://wiki.polkadot.network/docs/build-protocol-info
54
- */
55
- to({ address }: BaseAddress): this;
56
- /**
57
- *
58
- * The real address of the original tx
59
- *
60
- * @param {BaseAddress} real
61
- * @returns {TransferBuilder} This builder.
62
- *
63
- * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
64
- */
65
- owner(owner: BaseAddress): this;
66
- /**
67
- *
68
- * The proxy type to execute
69
- *
70
- * @param {proxyType} forceProxyType
71
- * @returns {TransferBuilder} This builder.
72
- *
73
- * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
74
- */
75
- forceProxyType(forceProxyType: ProxyType): this;
76
- /** @inheritdoc */
77
- validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction: string): void;
78
- /** @inheritdoc */
79
- protected fromImplementation(rawTransaction: string): Transaction;
80
- /** @inheritdoc */
81
- validateTransaction(_: Transaction): void;
82
- private validateFields;
83
- }
84
- //# sourceMappingURL=nativeTransferBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nativeTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/nativeTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0C,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAExG,OAAO,EAA0B,SAAS,EAAiC,MAAM,SAAS,CAAC;AAG3F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,8BAAsB,qBAAsB,SAAQ,kBAAkB;IACpE,SAAS,CAAC,iBAAiB,UAAS;IACpC,SAAS,CAAC,iBAAiB,UAAQ;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAqCjD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI;IAQhC;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;;;;OAQG;IACH,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,IAAI;IAMlC;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAM/B;;;;;;;;OAQG;IACH,cAAc,CAAC,cAAc,EAAE,SAAS,GAAG,IAAI;IAK/C,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IA0B7G,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAsDjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;CAgBvB"}
@@ -1,219 +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.NativeTransferBuilder = void 0;
7
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
- const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
- const iface_1 = require("./iface");
11
- const iface_utils_1 = require("./iface_utils");
12
- const singletonRegistry_1 = require("./singletonRegistry");
13
- const transactionBuilder_1 = require("./transactionBuilder");
14
- const txnSchema_1 = require("./txnSchema");
15
- const utils_1 = __importDefault(require("./utils"));
16
- class NativeTransferBuilder extends transactionBuilder_1.TransactionBuilder {
17
- constructor(_coinConfig) {
18
- super(_coinConfig);
19
- this._sweepFreeBalance = false;
20
- this._keepAddressAlive = true;
21
- }
22
- /**
23
- *
24
- * Dispatch the given call from an account that the sender is authorised for through add_proxy.
25
- *
26
- * @returns {UnsignedTransaction} an unsigned Dot transaction
27
- *
28
- * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
29
- */
30
- buildTransaction() {
31
- const baseTxInfo = this.createBaseTxInfo();
32
- let transferTx;
33
- if (this._sweepFreeBalance) {
34
- transferTx = txwrapper_polkadot_1.methods.balances.transferAll({
35
- dest: { id: this._to },
36
- keepAlive: this._keepAddressAlive,
37
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
38
- }
39
- else {
40
- transferTx = txwrapper_polkadot_1.methods.balances.transferKeepAlive({
41
- value: this._amount,
42
- dest: { id: this._to },
43
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
44
- }
45
- if (!this._owner) {
46
- return transferTx;
47
- }
48
- return txwrapper_polkadot_1.methods.proxy.proxy({
49
- real: this._owner,
50
- forceProxyType: this._forceProxyType,
51
- call: transferTx.method,
52
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
53
- }
54
- get transactionType() {
55
- return sdk_core_1.TransactionType.Send;
56
- }
57
- /**
58
- *
59
- * Set this to be a sweep transaction, using TransferAll with keepAlive set to true by default.
60
- * If keepAlive is false, the entire address will be swept (including the 1 DOT minimum).
61
- *
62
- * @param {boolean} keepAlive - keep the address alive after this sweep
63
- * @returns {TransferBuilder} This transfer builder.
64
- *
65
- * @see https://github.com/paritytech/txwrapper-core/blob/main/docs/modules/txwrapper_substrate_src.methods.balances.md#transferall
66
- */
67
- sweep(keepAlive) {
68
- this._sweepFreeBalance = true;
69
- if (keepAlive !== undefined) {
70
- this._keepAddressAlive = keepAlive;
71
- }
72
- return this;
73
- }
74
- /**
75
- *
76
- * The amount for transfer transaction.
77
- *
78
- * @param {string} amount
79
- * @returns {TransferBuilder} This transfer builder.
80
- *
81
- * @see https://wiki.polkadot.network/docs/build-protocol-info
82
- */
83
- amount(amount) {
84
- this.validateValue(new bignumber_js_1.default(amount));
85
- this._amount = amount;
86
- return this;
87
- }
88
- /**
89
- *
90
- * The destination address for transfer transaction.
91
- *
92
- * @param {string} dest
93
- * @returns {TransferBuilder} This transfer builder.
94
- *
95
- * @see https://wiki.polkadot.network/docs/build-protocol-info
96
- */
97
- to({ address }) {
98
- this.validateAddress({ address });
99
- this._to = address;
100
- return this;
101
- }
102
- /**
103
- *
104
- * The real address of the original tx
105
- *
106
- * @param {BaseAddress} real
107
- * @returns {TransferBuilder} This builder.
108
- *
109
- * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
110
- */
111
- owner(owner) {
112
- this.validateAddress({ address: owner.address });
113
- this._owner = owner.address;
114
- return this;
115
- }
116
- /**
117
- *
118
- * The proxy type to execute
119
- *
120
- * @param {proxyType} forceProxyType
121
- * @returns {TransferBuilder} This builder.
122
- *
123
- * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
124
- */
125
- forceProxyType(forceProxyType) {
126
- this._forceProxyType = forceProxyType;
127
- return this;
128
- }
129
- /** @inheritdoc */
130
- validateDecodedTransaction(decodedTxn, rawTransaction) {
131
- if (decodedTxn.method?.name === iface_1.MethodNames.TransferKeepAlive) {
132
- const txMethod = decodedTxn.method.args;
133
- const amount = `${txMethod.value}`;
134
- const to = txMethod.dest.id;
135
- const validationResult = txnSchema_1.TransferTransactionSchema.validate({ amount, to });
136
- if (validationResult.error) {
137
- throw new sdk_core_1.InvalidTransactionError(`Transfer Transaction validation failed: ${validationResult.error.message}`);
138
- }
139
- }
140
- else if (decodedTxn.method?.name === iface_1.MethodNames.Proxy) {
141
- const txMethod = decodedTxn.method.args;
142
- const real = (0, iface_utils_1.getAddress)(txMethod);
143
- const forceProxyType = txMethod.forceProxyType;
144
- const decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
145
- registry: singletonRegistry_1.SingletonRegistry.getInstance(this._material),
146
- metadataRpc: this._material.metadata,
147
- });
148
- const amount = `${decodedCall.value}`;
149
- const to = decodedCall.dest.id;
150
- const validationResult = txnSchema_1.ProxyTransactionSchema.validate({ real, forceProxyType, amount, to });
151
- if (validationResult.error) {
152
- throw new sdk_core_1.InvalidTransactionError(`Proxy Transaction validation failed: ${validationResult.error.message}`);
153
- }
154
- }
155
- }
156
- /** @inheritdoc */
157
- fromImplementation(rawTransaction) {
158
- const tx = super.fromImplementation(rawTransaction);
159
- if (this._method?.name === iface_1.MethodNames.TransferKeepAlive) {
160
- const txMethod = this._method.args;
161
- this.amount(txMethod.value);
162
- this.to({
163
- address: utils_1.default.decodeDotAddress(txMethod.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
164
- });
165
- }
166
- else if (this._method?.name === iface_1.MethodNames.TransferAll) {
167
- this._sweepFreeBalance = true;
168
- const txMethod = this._method.args;
169
- this.sweep(txMethod.keepAlive);
170
- this.to({
171
- address: utils_1.default.decodeDotAddress(txMethod.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
172
- });
173
- }
174
- else if (this._method?.name === iface_1.MethodNames.Proxy) {
175
- const txMethod = this._method.args;
176
- this.owner({
177
- address: utils_1.default.decodeDotAddress((0, iface_utils_1.getAddress)(txMethod), utils_1.default.getAddressFormat(this._coinConfig.name)),
178
- });
179
- this.forceProxyType(txMethod.forceProxyType);
180
- const decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
181
- registry: singletonRegistry_1.SingletonRegistry.getInstance(this._material),
182
- metadataRpc: this._material.metadata,
183
- });
184
- if (!decodedCall.value || !decodedCall.dest) {
185
- throw new sdk_core_1.InvalidTransactionError(`Invalid Proxy Transaction Method: ${this._method?.name}. Expected transferKeepAlive`);
186
- }
187
- this.amount(`${decodedCall.value}`);
188
- this.to({
189
- address: utils_1.default.decodeDotAddress(decodedCall.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
190
- });
191
- }
192
- else {
193
- throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected a transferKeepAlive or a proxy transferKeepAlive transaction`);
194
- }
195
- return tx;
196
- }
197
- /** @inheritdoc */
198
- validateTransaction(_) {
199
- super.validateTransaction(_);
200
- this.validateFields(this._to, this._amount, this._owner, this._forceProxyType);
201
- }
202
- validateFields(to, amount, real, forceProxyType) {
203
- let validationResult;
204
- if (forceProxyType) {
205
- validationResult = txnSchema_1.ProxyTransactionSchema.validate({ to, amount, real, forceProxyType });
206
- }
207
- else if (this._sweepFreeBalance) {
208
- validationResult = txnSchema_1.TransferAllTransactionSchema.validate({ to });
209
- }
210
- else {
211
- validationResult = txnSchema_1.TransferTransactionSchema.validate({ amount, to });
212
- }
213
- if (validationResult.error) {
214
- throw new sdk_core_1.InvalidTransactionError(`Proxy/TransferAll/TransferKeepAlive Transaction validation failed: ${validationResult.error.message}`);
215
- }
216
- }
217
- }
218
- exports.NativeTransferBuilder = NativeTransferBuilder;
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlVHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9uYXRpdmVUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQTRHO0FBRTVHLHNFQUF3RDtBQUV4RCxnRUFBcUM7QUFDckMsbUNBQTJGO0FBQzNGLCtDQUEyQztBQUMzQywyREFBd0Q7QUFFeEQsNkRBQTBEO0FBQzFELDJDQUE4RztBQUM5RyxvREFBNEI7QUFFNUIsTUFBc0IscUJBQXNCLFNBQVEsdUNBQWtCO0lBUXBFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBUlgsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHNCQUFpQixHQUFHLElBQUksQ0FBQztJQVFuQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNPLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsVUFBVSxHQUFHLDRCQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkM7Z0JBQ0UsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCO2FBQ2xDLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxHQUFHLDRCQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUM3QztnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ25CLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ3ZCLEVBQ0QsVUFB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RUFBRSxNQUFjLEVBQUUsSUFBYSxFQUFFLGNBQXVCO1FBQ3ZGLElBQUksZ0JBQWdCLENBQUM7UUFDckIsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixnQkFBZ0IsR0FBRyxrQ0FBc0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzNGLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xDLGdCQUFnQixHQUFHLHdDQUE0QixDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQzthQUFNLENBQUM7WUFDTixnQkFBZ0IsR0FBRyxxQ0FBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksa0NBQXVCLENBQy9CLHNFQUFzRSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQ3ZHLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBbFBELHNEQWtQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBZGRyZXNzLCBEb3RBc3NldFR5cGVzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBNZXRob2ROYW1lcywgUHJveHlBcmdzLCBQcm94eVR5cGUsIFRyYW5zZmVyQWxsQXJncywgVHJhbnNmZXJBcmdzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBnZXRBZGRyZXNzIH0gZnJvbSAnLi9pZmFjZV91dGlscyc7XG5pbXBvcnQgeyBTaW5nbGV0b25SZWdpc3RyeSB9IGZyb20gJy4vc2luZ2xldG9uUmVnaXN0cnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFByb3h5VHJhbnNhY3Rpb25TY2hlbWEsIFRyYW5zZmVyQWxsVHJhbnNhY3Rpb25TY2hlbWEsIFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXRpdmVUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3N3ZWVwRnJlZUJhbGFuY2UgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9rZWVwQWRkcmVzc0FsaXZlID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90bzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX293bmVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZm9yY2VQcm94eVR5cGU6IFByb3h5VHlwZTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogRGlzcGF0Y2ggdGhlIGdpdmVuIGNhbGwgZnJvbSBhbiBhY2NvdW50IHRoYXQgdGhlIHNlbmRlciBpcyBhdXRob3Jpc2VkIGZvciB0aHJvdWdoIGFkZF9wcm94eS5cbiAgICpcbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIERvdCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3Mvc3Vic3RyYXRlL2V4dHJpbnNpY3MvI3Byb3h5XG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgbGV0IHRyYW5zZmVyVHg7XG4gICAgaWYgKHRoaXMuX3N3ZWVwRnJlZUJhbGFuY2UpIHtcbiAgICAgIHRyYW5zZmVyVHggPSBtZXRob2RzLmJhbGFuY2VzLnRyYW5zZmVyQWxsKFxuICAgICAgICB7XG4gICAgICAgICAgZGVzdDogeyBpZDogdGhpcy5fdG8gfSxcbiAgICAgICAgICBrZWVwQWxpdmU6IHRoaXMuX2tlZXBBZGRyZXNzQWxpdmUsXG4gICAgICAgIH0sXG4gICAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2ZlclR4ID0gbWV0aG9kcy5iYWxhbmNlcy50cmFuc2ZlcktlZXBBbGl2ZShcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgZGVzdDogeyBpZDogdGhpcy5fdG8gfSxcbiAgICAgICAgfSxcbiAgICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9vd25lcikge1xuICAgICAgcmV0dXJuIHRyYW5zZmVyVHg7XG4gICAgfVxuICAgIHJldHVybiBtZXRob2RzLnByb3h5LnByb3h5KFxuICAgICAge1xuICAgICAgICByZWFsOiB0aGlzLl9vd25lcixcbiAgICAgICAgZm9yY2VQcm94eVR5cGU6IHRoaXMuX2ZvcmNlUHJveHlUeXBlLFxuICAgICAgICBjYWxsOiB0cmFuc2ZlclR4Lm1ldGhvZCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogU2V0IHRoaXMgdG8gYmUgYSBzd2VlcCB0cmFuc2FjdGlvbiwgdXNpbmcgVHJhbnNmZXJBbGwgd2l0aCBrZWVwQWxpdmUgc2V0IHRvIHRydWUgYnkgZGVmYXVsdC5cbiAgICogSWYga2VlcEFsaXZlIGlzIGZhbHNlLCB0aGUgZW50aXJlIGFkZHJlc3Mgd2lsbCBiZSBzd2VwdCAoaW5jbHVkaW5nIHRoZSAxIERPVCBtaW5pbXVtKS5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBrZWVwQWxpdmUgLSBrZWVwIHRoZSBhZGRyZXNzIGFsaXZlIGFmdGVyIHRoaXMgc3dlZXBcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3R4d3JhcHBlci1jb3JlL2Jsb2IvbWFpbi9kb2NzL21vZHVsZXMvdHh3cmFwcGVyX3N1YnN0cmF0ZV9zcmMubWV0aG9kcy5iYWxhbmNlcy5tZCN0cmFuc2ZlcmFsbFxuICAgKi9cbiAgc3dlZXAoa2VlcEFsaXZlPzogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX3N3ZWVwRnJlZUJhbGFuY2UgPSB0cnVlO1xuICAgIGlmIChrZWVwQWxpdmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fa2VlcEFkZHJlc3NBbGl2ZSA9IGtlZXBBbGl2ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGFtb3VudCBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnRcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtcHJvdG9jb2wtaW5mb1xuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoYW1vdW50KSk7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGZvciB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc3RcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtcHJvdG9jb2wtaW5mb1xuICAgKi9cbiAgdG8oeyBhZGRyZXNzIH06IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzIH0pO1xuICAgIHRoaXMuX3RvID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgcmVhbCBhZGRyZXNzIG9mIHRoZSBvcmlnaW5hbCB0eFxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VBZGRyZXNzfSByZWFsXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXByb3hpZXMjd2h5LXVzZS1hLXByb3h5XG4gICAqL1xuICBvd25lcihvd25lcjogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IG93bmVyLmFkZHJlc3MgfSk7XG4gICAgdGhpcy5fb3duZXIgPSBvd25lci5hZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRoZSBwcm94eSB0eXBlIHRvIGV4ZWN1dGVcbiAgICpcbiAgICogQHBhcmFtIHtwcm94eVR5cGV9IGZvcmNlUHJveHlUeXBlXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXByb3hpZXMjcHJveHktdHlwZXNcbiAgICovXG4gIGZvcmNlUHJveHlUeXBlKGZvcmNlUHJveHlUeXBlOiBQcm94eVR5cGUpOiB0aGlzIHtcbiAgICB0aGlzLl9mb3JjZVByb3h5VHlwZSA9IGZvcmNlUHJveHlUeXBlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCwgcmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuVHJhbnNmZXJLZWVwQWxpdmUpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIFRyYW5zZmVyQXJncztcbiAgICAgIGNvbnN0IGFtb3VudCA9IGAke3R4TWV0aG9kLnZhbHVlfWA7XG4gICAgICBjb25zdCB0byA9IHR4TWV0aG9kLmRlc3QuaWQ7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gVHJhbnNmZXJUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7IGFtb3VudCwgdG8gfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zZmVyIFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5Qcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgUHJveHlBcmdzO1xuICAgICAgY29uc3QgcmVhbCA9IGdldEFkZHJlc3ModHhNZXRob2QpO1xuICAgICAgY29uc3QgZm9yY2VQcm94eVR5cGUgPSB0eE1ldGhvZC5mb3JjZVByb3h5VHlwZTtcbiAgICAgIGNvbnN0IGRlY29kZWRDYWxsID0gdXRpbHMuZGVjb2RlQ2FsbE1ldGhvZChyYXdUcmFuc2FjdGlvbiwge1xuICAgICAgICByZWdpc3RyeTogU2luZ2xldG9uUmVnaXN0cnkuZ2V0SW5zdGFuY2UodGhpcy5fbWF0ZXJpYWwpLFxuICAgICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWF0ZXJpYWwubWV0YWRhdGEsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGFtb3VudCA9IGAke2RlY29kZWRDYWxsLnZhbHVlfWA7XG4gICAgICBjb25zdCB0byA9IGRlY29kZWRDYWxsLmRlc3QuaWQ7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gUHJveHlUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7IHJlYWwsIGZvcmNlUHJveHlUeXBlLCBhbW91bnQsIHRvIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBQcm94eSBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuVHJhbnNmZXJLZWVwQWxpdmUpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgVHJhbnNmZXJBcmdzO1xuICAgICAgdGhpcy5hbW91bnQodHhNZXRob2QudmFsdWUpO1xuICAgICAgdGhpcy50byh7XG4gICAgICAgIGFkZHJlc3M6IHV0aWxzLmRlY29kZURvdEFkZHJlc3MoXG4gICAgICAgICAgdHhNZXRob2QuZGVzdC5pZCxcbiAgICAgICAgICB1dGlscy5nZXRBZGRyZXNzRm9ybWF0KHRoaXMuX2NvaW5Db25maWcubmFtZSBhcyBEb3RBc3NldFR5cGVzKVxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLlRyYW5zZmVyQWxsKSB7XG4gICAgICB0aGlzLl9zd2VlcEZyZWVCYWxhbmNlID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgVHJhbnNmZXJBbGxBcmdzO1xuICAgICAgdGhpcy5zd2VlcCh0eE1ldGhvZC5rZWVwQWxpdmUpO1xuICAgICAgdGhpcy50byh7XG4gICAgICAgIGFkZHJlc3M6IHV0aWxzLmRlY29kZURvdEFkZHJlc3MoXG4gICAgICAgICAgdHhNZXRob2QuZGVzdC5pZCxcbiAgICAgICAgICB1dGlscy5nZXRBZGRyZXNzRm9ybWF0KHRoaXMuX2NvaW5Db25maWcubmFtZSBhcyBEb3RBc3NldFR5cGVzKVxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLlByb3h5KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIFByb3h5QXJncztcbiAgICAgIHRoaXMub3duZXIoe1xuICAgICAgICBhZGRyZXNzOiB1dGlscy5kZWNvZGVEb3RBZGRyZXNzKFxuICAgICAgICAgIGdldEFkZHJlc3ModHhNZXRob2QpLFxuICAgICAgICAgIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lIGFzIERvdEFzc2V0VHlwZXMpXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZm9yY2VQcm94eVR5cGUodHhNZXRob2QuZm9yY2VQcm94eVR5cGUpO1xuICAgICAgY29uc3QgZGVjb2RlZENhbGwgPSB1dGlscy5kZWNvZGVDYWxsTWV0aG9kKHJhd1RyYW5zYWN0aW9uLCB7XG4gICAgICAgIHJlZ2lzdHJ5OiBTaW5nbGV0b25SZWdpc3RyeS5nZXRJbnN0YW5jZSh0aGlzLl9tYXRlcmlhbCksXG4gICAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIH0pO1xuICAgICAgaWYgKCFkZWNvZGVkQ2FsbC52YWx1ZSB8fCAhZGVjb2RlZENhbGwuZGVzdCkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgICAgYEludmFsaWQgUHJveHkgVHJhbnNhY3Rpb24gTWV0aG9kOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIHRyYW5zZmVyS2VlcEFsaXZlYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5hbW91bnQoYCR7ZGVjb2RlZENhbGwudmFsdWV9YCk7XG4gICAgICB0aGlzLnRvKHtcbiAgICAgICAgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyhcbiAgICAgICAgICBkZWNvZGVkQ2FsbC5kZXN0LmlkLFxuICAgICAgICAgIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lIGFzIERvdEFzc2V0VHlwZXMpXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIGEgdHJhbnNmZXJLZWVwQWxpdmUgb3IgYSBwcm94eSB0cmFuc2ZlcktlZXBBbGl2ZSB0cmFuc2FjdGlvbmBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbihfKTtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKHRoaXMuX3RvLCB0aGlzLl9hbW91bnQsIHRoaXMuX293bmVyLCB0aGlzLl9mb3JjZVByb3h5VHlwZSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKHRvOiBzdHJpbmcsIGFtb3VudDogc3RyaW5nLCByZWFsPzogc3RyaW5nLCBmb3JjZVByb3h5VHlwZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCB2YWxpZGF0aW9uUmVzdWx0O1xuICAgIGlmIChmb3JjZVByb3h5VHlwZSkge1xuICAgICAgdmFsaWRhdGlvblJlc3VsdCA9IFByb3h5VHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyB0bywgYW1vdW50LCByZWFsLCBmb3JjZVByb3h5VHlwZSB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3N3ZWVwRnJlZUJhbGFuY2UpIHtcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBUcmFuc2ZlckFsbFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdG8gfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSBUcmFuc2ZlclRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgYW1vdW50LCB0byB9KTtcbiAgICB9XG5cbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgUHJveHkvVHJhbnNmZXJBbGwvVHJhbnNmZXJLZWVwQWxpdmUgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- import { TypeRegistry } from '@substrate/txwrapper-core/lib/types';
2
- export declare class SingletonRegistry {
3
- private static instance;
4
- private static material;
5
- static getInstance(material: any): TypeRegistry;
6
- }
7
- //# sourceMappingURL=singletonRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"singletonRegistry.d.ts","sourceRoot":"","sources":["../../../src/lib/singletonRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAInE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAElC,MAAM,CAAC,WAAW,CAAC,QAAQ,KAAA,GAAG,YAAY;CAY3C"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SingletonRegistry = void 0;
4
- const txwrapper_registry_1 = require("@substrate/txwrapper-registry");
5
- class SingletonRegistry {
6
- static getInstance(material) {
7
- if (material !== SingletonRegistry.material) {
8
- SingletonRegistry.material = material;
9
- SingletonRegistry.instance = (0, txwrapper_registry_1.getRegistry)({
10
- chainName: material.chainName,
11
- specName: material.specName,
12
- specVersion: material.specVersion,
13
- metadataRpc: material.metadata,
14
- });
15
- }
16
- return SingletonRegistry.instance;
17
- }
18
- }
19
- exports.SingletonRegistry = SingletonRegistry;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NpbmdsZXRvblJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHNFQUE0RDtBQUc1RCxNQUFhLGlCQUFpQjtJQUk1QixNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVE7UUFDekIsSUFBSSxRQUFRLEtBQUssaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUMsaUJBQWlCLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUN0QyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsSUFBQSxnQ0FBVyxFQUFDO2dCQUN2QyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7Z0JBQzdCLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBaUM7Z0JBQ3BELFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztnQkFDakMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxRQUF5QjthQUNoRCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBaEJELDhDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdHRlbnNvclNwZWNOYW1lVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHlwZVJlZ2lzdHJ5IH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZS9saWIvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0UmVnaXN0cnkgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1yZWdpc3RyeSc7XG5pbXBvcnQgeyBNYXRlcmlhbCB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgY2xhc3MgU2luZ2xldG9uUmVnaXN0cnkge1xuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZTogVHlwZVJlZ2lzdHJ5O1xuICBwcml2YXRlIHN0YXRpYyBtYXRlcmlhbDogTWF0ZXJpYWw7XG5cbiAgc3RhdGljIGdldEluc3RhbmNlKG1hdGVyaWFsKTogVHlwZVJlZ2lzdHJ5IHtcbiAgICBpZiAobWF0ZXJpYWwgIT09IFNpbmdsZXRvblJlZ2lzdHJ5Lm1hdGVyaWFsKSB7XG4gICAgICBTaW5nbGV0b25SZWdpc3RyeS5tYXRlcmlhbCA9IG1hdGVyaWFsO1xuICAgICAgU2luZ2xldG9uUmVnaXN0cnkuaW5zdGFuY2UgPSBnZXRSZWdpc3RyeSh7XG4gICAgICAgIGNoYWluTmFtZTogbWF0ZXJpYWwuY2hhaW5OYW1lLFxuICAgICAgICBzcGVjTmFtZTogbWF0ZXJpYWwuc3BlY05hbWUgYXMgQml0dGVuc29yU3BlY05hbWVUeXBlLFxuICAgICAgICBzcGVjVmVyc2lvbjogbWF0ZXJpYWwuc3BlY1ZlcnNpb24sXG4gICAgICAgIG1ldGFkYXRhUnBjOiBtYXRlcmlhbC5tZXRhZGF0YSBhcyBgMHgke3N0cmluZ31gLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBTaW5nbGV0b25SZWdpc3RyeS5pbnN0YW5jZTtcbiAgfVxufVxuIl19
@@ -1,83 +0,0 @@
1
- import { BaseKey, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { UnsignedTransaction } from '@substrate/txwrapper-core';
4
- import { TypeRegistry } from '@substrate/txwrapper-core/lib/types';
5
- import { KeyPair } from './keyPair';
6
- import { TransactionExplanation, TxData } from './iface';
7
- /**
8
- * Use a dummy address as the destination of a bond or bondExtra because our inputs and outputs model
9
- * doesn't seem to handle the concept of locking funds within a wallet as a method of transferring coins.
10
- */
11
- export declare const STAKING_DESTINATION: string;
12
- export declare class Transaction extends BaseTransaction {
13
- protected _dotTransaction: UnsignedTransaction;
14
- private _signedTransaction?;
15
- private _registry;
16
- private _chainName;
17
- private _sender;
18
- private static FAKE_SIGNATURE;
19
- constructor(coinConfig: Readonly<CoinConfig>);
20
- /** @inheritdoc */
21
- canSign({ key }: BaseKey): boolean;
22
- /**
23
- * Sign a polkadot transaction and update the transaction hex
24
- *
25
- * @param {KeyPair} keyPair - ed signature
26
- */
27
- sign(keyPair: KeyPair): void;
28
- /**
29
- * Adds the signature to the DOT Transaction
30
- * @param {string} signature
31
- */
32
- addSignature(signature: string): void;
33
- /**
34
- * Returns a serialized representation of this transaction with a fake signature attached which
35
- * can be used to estimate transaction fees.
36
- */
37
- fakeSign(): string;
38
- registry(registry: TypeRegistry): void;
39
- chainName(chainName: string): void;
40
- sender(sender: string): void;
41
- /** @inheritdoc */
42
- toBroadcastFormat(): string;
43
- transactionSize(): number;
44
- /** @inheritdoc */
45
- toJson(): TxData;
46
- explainTransferTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
47
- explainStakingActivateTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
48
- explainAddressInitializationTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
49
- explainStakingUnlockTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
50
- /** @inheritdoc */
51
- explainTransaction(): TransactionExplanation;
52
- /**
53
- * Load the input and output data on this transaction.
54
- */
55
- loadInputsAndOutputs(): void;
56
- private decodeInputsAndOutputsForSend;
57
- private decodeInputsAndOutputsForBatch;
58
- private getRemoveProxyCost;
59
- private getAddProxyCost;
60
- private getConstant;
61
- private decodeInputsAndOutputsForBond;
62
- private decodeInputsAndOutputsForUnbond;
63
- private decodeInputsAndOutputsForWithdrawUnbond;
64
- /**
65
- * Constructs a signed payload using construct.signTx
66
- * This method will be called during the build step if a TSS signature
67
- * is added and will set the signTransaction which is the txHex that will be broadcasted
68
- * As well as add the signature used to sign to the signature array in hex format
69
- *
70
- * @param {Buffer} signature The signature to be added to a dot transaction
71
- */
72
- constructSignedPayload(signature: Buffer): void;
73
- setTransaction(tx: UnsignedTransaction): void;
74
- /** @inheritdoc **/
75
- get signablePayload(): Buffer;
76
- /**
77
- * Set the transaction type.
78
- *
79
- * @param {TransactionType} transactionType The transaction type to be set.
80
- */
81
- transactionType(transactionType: TransactionType): void;
82
- }
83
- //# sourceMappingURL=transaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAOf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAeL,sBAAsB,EACtB,MAAM,EAGP,MAAM,SAAS,CAAC;AAQjB;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAsF,CAAC;AAEvH,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC/C,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAmE;gBAEpF,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,kBAAkB;IAClB,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,GAAG,OAAO;IAMlC;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA0B5B;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASrC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IASlB,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIlC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAa3B,eAAe,IAAI,MAAM;IAIzB,kBAAkB;IAClB,MAAM,IAAI,MAAM;IA4HhB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAe3G,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAelH,uCAAuC,CACrC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,sBAAsB,GACxC,sBAAsB;IAUzB,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAYhH,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAgC5C;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAuB5B,OAAO,CAAC,6BAA6B;IAqDrC,OAAO,CAAC,8BAA8B;IA6GtC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,6BAA6B;IA4BrC,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,uCAAuC;IAK/C;;;;;;;OAOG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAgB/C,cAAc,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAI7C,mBAAmB;IACnB,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;CAGxD"}