@bitgo-beta/sdk-coin-trx 1.2.3-alpha.43 → 1.2.3-alpha.430

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 (132) hide show
  1. package/dist/resources/protobuf/Contract.proto +32 -0
  2. package/dist/resources/protobuf/tron.d.ts +1478 -214
  3. package/dist/resources/protobuf/tron.js +6312 -2600
  4. package/dist/resources/protobuf/tron.proto +6 -0
  5. package/dist/src/index.js +6 -2
  6. package/dist/src/lib/constants.d.ts +3 -0
  7. package/dist/src/lib/constants.d.ts.map +1 -0
  8. package/dist/src/lib/constants.js +6 -0
  9. package/dist/src/lib/contractCallBuilder.d.ts +1 -35
  10. package/dist/src/lib/contractCallBuilder.d.ts.map +1 -1
  11. package/dist/src/lib/contractCallBuilder.js +12 -75
  12. package/dist/src/lib/delegateResourceTxBuilder.d.ts +27 -0
  13. package/dist/src/lib/delegateResourceTxBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/delegateResourceTxBuilder.js +98 -0
  15. package/dist/src/lib/enum.d.ts +36 -1
  16. package/dist/src/lib/enum.d.ts.map +1 -1
  17. package/dist/src/lib/enum.js +40 -4
  18. package/dist/src/lib/freezeBalanceTxBuilder.d.ts +71 -0
  19. package/dist/src/lib/freezeBalanceTxBuilder.d.ts.map +1 -0
  20. package/dist/src/lib/freezeBalanceTxBuilder.js +211 -0
  21. package/dist/src/lib/iface.d.ts +220 -2
  22. package/dist/src/lib/iface.d.ts.map +1 -1
  23. package/dist/src/lib/iface.js +1 -1
  24. package/dist/src/lib/index.js +23 -9
  25. package/dist/src/lib/keyPair.d.ts +0 -1
  26. package/dist/src/lib/keyPair.d.ts.map +1 -1
  27. package/dist/src/lib/keyPair.js +31 -18
  28. package/dist/src/lib/resourceManagementTxBuilder.d.ts +72 -0
  29. package/dist/src/lib/resourceManagementTxBuilder.d.ts.map +1 -0
  30. package/dist/src/lib/resourceManagementTxBuilder.js +150 -0
  31. package/dist/src/lib/tokenTransferBuilder.d.ts +1 -1
  32. package/dist/src/lib/tokenTransferBuilder.js +3 -3
  33. package/dist/src/lib/transaction.d.ts.map +1 -1
  34. package/dist/src/lib/transaction.js +92 -6
  35. package/dist/src/lib/transactionBuilder.d.ts +50 -5
  36. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  37. package/dist/src/lib/transactionBuilder.js +110 -21
  38. package/dist/src/lib/undelegateResourceTxBuilder.d.ts +27 -0
  39. package/dist/src/lib/undelegateResourceTxBuilder.d.ts.map +1 -0
  40. package/dist/src/lib/undelegateResourceTxBuilder.js +98 -0
  41. package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts +65 -0
  42. package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts.map +1 -0
  43. package/dist/src/lib/unfreezeBalanceTxBuilder.js +204 -0
  44. package/dist/src/lib/utils.d.ts +85 -4
  45. package/dist/src/lib/utils.d.ts.map +1 -1
  46. package/dist/src/lib/utils.js +445 -47
  47. package/dist/src/lib/voteWitnessTxBuilder.d.ts +62 -0
  48. package/dist/src/lib/voteWitnessTxBuilder.d.ts.map +1 -0
  49. package/dist/src/lib/voteWitnessTxBuilder.js +219 -0
  50. package/dist/src/lib/withdrawBuilder.d.ts +49 -0
  51. package/dist/src/lib/withdrawBuilder.d.ts.map +1 -0
  52. package/dist/src/lib/withdrawBuilder.js +167 -0
  53. package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts +49 -0
  54. package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts.map +1 -0
  55. package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.js +167 -0
  56. package/dist/src/lib/wrappedBuilder.d.ts +56 -0
  57. package/dist/src/lib/wrappedBuilder.d.ts.map +1 -1
  58. package/dist/src/lib/wrappedBuilder.js +86 -2
  59. package/dist/src/trx.d.ts +78 -4
  60. package/dist/src/trx.d.ts.map +1 -1
  61. package/dist/src/trx.js +436 -147
  62. package/dist/src/trxToken.d.ts +2 -2
  63. package/dist/src/trxToken.d.ts.map +1 -1
  64. package/dist/src/trxToken.js +5 -5
  65. package/dist/test/fixtures.d.ts +40 -0
  66. package/dist/test/fixtures.d.ts.map +1 -0
  67. package/dist/test/fixtures.js +46 -0
  68. package/dist/test/resources.d.ts +586 -0
  69. package/dist/test/resources.d.ts.map +1 -0
  70. package/dist/test/resources.js +746 -0
  71. package/dist/test/unit/index.d.ts +2 -0
  72. package/dist/test/unit/index.d.ts.map +1 -0
  73. package/dist/test/unit/index.js +19 -0
  74. package/dist/test/unit/keyPair.d.ts +2 -0
  75. package/dist/test/unit/keyPair.d.ts.map +1 -0
  76. package/dist/test/unit/keyPair.js +163 -0
  77. package/dist/test/unit/transaction.d.ts +2 -0
  78. package/dist/test/unit/transaction.d.ts.map +1 -0
  79. package/dist/test/unit/transaction.js +38 -0
  80. package/dist/test/unit/transactionBuilder/contractCallBuilder.d.ts +2 -0
  81. package/dist/test/unit/transactionBuilder/contractCallBuilder.d.ts.map +1 -0
  82. package/dist/test/unit/transactionBuilder/contractCallBuilder.js +315 -0
  83. package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.d.ts +2 -0
  84. package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.d.ts.map +1 -0
  85. package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.js +255 -0
  86. package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.d.ts +2 -0
  87. package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.d.ts.map +1 -0
  88. package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.js +285 -0
  89. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  90. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  91. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +42 -0
  92. package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.d.ts +2 -0
  93. package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.d.ts.map +1 -0
  94. package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.js +255 -0
  95. package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.d.ts +2 -0
  96. package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.d.ts.map +1 -0
  97. package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.js +256 -0
  98. package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.d.ts +2 -0
  99. package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.d.ts.map +1 -0
  100. package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.js +277 -0
  101. package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.d.ts +2 -0
  102. package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.d.ts.map +1 -0
  103. package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.js +213 -0
  104. package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.d.ts +2 -0
  105. package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.d.ts.map +1 -0
  106. package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.js +213 -0
  107. package/dist/test/unit/transactionBuilder/wrappedBuilder.d.ts +2 -0
  108. package/dist/test/unit/transactionBuilder/wrappedBuilder.d.ts.map +1 -0
  109. package/dist/test/unit/transactionBuilder/wrappedBuilder.js +50 -0
  110. package/dist/test/unit/transactionBuilder.d.ts +2 -0
  111. package/dist/test/unit/transactionBuilder.d.ts.map +1 -0
  112. package/dist/test/unit/transactionBuilder.js +178 -0
  113. package/dist/test/unit/trx.d.ts +2 -0
  114. package/dist/test/unit/trx.d.ts.map +1 -0
  115. package/dist/test/unit/trx.js +639 -0
  116. package/dist/test/unit/util.d.ts +2 -0
  117. package/dist/test/unit/util.d.ts.map +1 -0
  118. package/dist/test/unit/util.js +141 -0
  119. package/dist/test/unit/verifyTransaction.d.ts +2 -0
  120. package/dist/test/unit/verifyTransaction.d.ts.map +1 -0
  121. package/dist/test/unit/verifyTransaction.js +378 -0
  122. package/dist/tsconfig.tsbuildinfo +1 -0
  123. package/package.json +20 -15
  124. package/.eslintignore +0 -5
  125. package/.mocharc.yml +0 -8
  126. package/CHANGELOG.md +0 -118
  127. package/resources/README.md +0 -31
  128. package/resources/protobuf/Contract.proto +0 -256
  129. package/resources/protobuf/Discover.proto +0 -44
  130. package/resources/protobuf/tron.d.ts +0 -11205
  131. package/resources/protobuf/tron.js +0 -33480
  132. package/resources/protobuf/tron.proto +0 -677
@@ -273,6 +273,12 @@ message Transaction {
273
273
  UpdateEnergyLimitContract = 45;
274
274
  AccountPermissionUpdateContract = 46;
275
275
  ClearABIContract = 48;
276
+ UpdateBrokerageContract = 49;
277
+ FreezeBalanceV2Contract = 54;
278
+ UnfreezeBalanceV2Contract = 55;
279
+ WithdrawExpireUnfreezeContract = 56;
280
+ DelegateResourceContract = 57;
281
+ UnDelegateResourceContract = 58;
276
282
  }
277
283
  ContractType type = 1;
278
284
  google.protobuf.Any parameter = 2;
package/dist/src/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -15,4 +19,4 @@ __exportStar(require("./trx"), exports);
15
19
  __exportStar(require("./ttrx"), exports);
16
20
  __exportStar(require("./trxToken"), exports);
17
21
  __exportStar(require("./register"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsNkNBQTJCO0FBQzNCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbmV4cG9ydCAqIGZyb20gJy4vdHJ4JztcbmV4cG9ydCAqIGZyb20gJy4vdHRyeCc7XG5leHBvcnQgKiBmcm9tICcuL3RyeFRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXInO1xuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3RyeCc7XG5leHBvcnQgKiBmcm9tICcuL3R0cngnO1xuZXhwb3J0ICogZnJvbSAnLi90cnhUb2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export declare const DELEGATION_TYPE_URL = "type.googleapis.com/protocol.DelegateResourceContract";
2
+ export declare const UNDELEGATION_TYPE_URL = "type.googleapis.com/protocol.UnDelegateResourceContract";
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,0DAA0D,CAAC;AAC3F,eAAO,MAAM,qBAAqB,4DAA4D,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UNDELEGATION_TYPE_URL = exports.DELEGATION_TYPE_URL = void 0;
4
+ exports.DELEGATION_TYPE_URL = 'type.googleapis.com/protocol.DelegateResourceContract';
5
+ exports.UNDELEGATION_TYPE_URL = 'type.googleapis.com/protocol.UnDelegateResourceContract';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxtQkFBbUIsR0FBRyx1REFBdUQsQ0FBQztBQUM5RSxRQUFBLHFCQUFxQixHQUFHLHlEQUF5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFTEVHQVRJT05fVFlQRV9VUkwgPSAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5EZWxlZ2F0ZVJlc291cmNlQ29udHJhY3QnO1xuZXhwb3J0IGNvbnN0IFVOREVMRUdBVElPTl9UWVBFX1VSTCA9ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlVuRGVsZWdhdGVSZXNvdXJjZUNvbnRyYWN0JztcbiJdfQ==
@@ -3,17 +3,12 @@ import { BaseKey } from '@bitgo-beta/sdk-core';
3
3
  import { TransactionBuilder } from './transactionBuilder';
4
4
  import { Address } from './address';
5
5
  import { Transaction } from './transaction';
6
- import { Block, Fee, TransactionReceipt, TriggerSmartContract } from './iface';
6
+ import { Fee, TransactionReceipt, TriggerSmartContract } from './iface';
7
7
  export declare const MAX_FEE = 5000000000;
8
8
  export declare class ContractCallBuilder extends TransactionBuilder {
9
9
  protected _signingKeys: BaseKey[];
10
10
  private _toContractAddress;
11
11
  private _data;
12
- private _ownerAddress;
13
- private _refBlockBytes;
14
- private _refBlockHash;
15
- private _expiration;
16
- private _timestamp;
17
12
  private _fee;
18
13
  constructor(_coinConfig: Readonly<CoinConfig>);
19
14
  /** @inheritdoc */
@@ -33,13 +28,6 @@ export declare class ContractCallBuilder extends TransactionBuilder {
33
28
  * @param {TriggerSmartContract} contractCall object with transfer data
34
29
  */
35
30
  protected initContractCall(contractCall: TriggerSmartContract): void;
36
- /**
37
- * Set the source address,
38
- *
39
- * @param {Address} address source account
40
- * @returns {ContractCallBuilder} the builder with the new parameter set
41
- */
42
- source(address: Address): this;
43
31
  /**
44
32
  * Set the address of the contract to be called,
45
33
  *
@@ -54,29 +42,8 @@ export declare class ContractCallBuilder extends TransactionBuilder {
54
42
  * @returns {ContractCallBuilder} the builder with the new parameter set
55
43
  */
56
44
  data(data: string): this;
57
- /**
58
- * Set the block values,
59
- *
60
- * @param {Block} block the object containing number and hash of the block
61
- * @returns {ContractCallBuilder} the builder with the new parameter set
62
- */
63
- block(block: Block): this;
64
- /**
65
- * Set the expiration time for the transaction, set also timestamp if it was not set previously
66
- *
67
- * @param {number} time the expiration time in milliseconds
68
- * @returns {ContractCallBuilder} the builder with the new parameter set
69
- */
70
- expiration(time: number): this;
71
45
  /** @inheritdoc */
72
46
  extendValidTo(extensionMs: number): void;
73
- /**
74
- * Set the timestamp for the transaction
75
- *
76
- * @param {number} time the timestamp in milliseconds
77
- * @returns {ContractCallBuilder} the builder with the new parameter set
78
- */
79
- timestamp(time: number): this;
80
47
  /**
81
48
  * Set the fee limit for the transaction
82
49
  *
@@ -91,6 +58,5 @@ export declare class ContractCallBuilder extends TransactionBuilder {
91
58
  validateTransaction(transaction: Transaction): void;
92
59
  /** @inheritdoc */
93
60
  validateMandatoryFields(): void;
94
- validateExpirationTime(value: number): void;
95
61
  }
96
62
  //# sourceMappingURL=contractCallBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contractCallBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/contractCallBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EACL,OAAO,EAMR,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAa/E,eAAO,MAAM,OAAO,aAAa,CAAC;AAElC,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAM;gBAEN,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAc3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAUvD;;;;;OAKG;IACH,WAAW,CAAC,cAAc,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAiB9D;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI;IAcpE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM9B;;;;;OAKG;IACH,EAAE,CAAC,eAAe,EAAE,OAAO,GAAG,IAAI;IAMlC;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAUzB;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU9B,kBAAkB;IAClB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAoBxC;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK7B;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAYnB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,eAAe;IAOvB,kBAAkB;IAElB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAInD,kBAAkB;IAClB,uBAAuB;IAkBvB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAW5C"}
1
+ {"version":3,"file":"contractCallBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/contractCallBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EACL,OAAO,EAMR,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAYxE,eAAO,MAAM,OAAO,aAAa,CAAC;AAElC,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAM;gBAEN,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAc3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAUvD;;;;;OAKG;IACH,WAAW,CAAC,cAAc,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAiB9D;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI;IAapE;;;;;OAKG;IACH,EAAE,CAAC,eAAe,EAAE,OAAO,GAAG,IAAI;IAMlC;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxB,kBAAkB;IAClB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAoBxC;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAYnB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,eAAe;IAOvB,kBAAkB;IAElB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAInD,kBAAkB;IAClB,uBAAuB;CAiBxB"}
@@ -12,8 +12,6 @@ const transactionBuilder_1 = require("./transactionBuilder");
12
12
  const transaction_1 = require("./transaction");
13
13
  const utils_1 = require("./utils");
14
14
  var ContractType = tron_1.protocol.Transaction.Contract.ContractType;
15
- const DEFAULT_EXPIRATION = 3600000; // one hour
16
- const MAX_DURATION = 31536000000; // one year
17
15
  exports.MAX_FEE = 5000000000; // 5e9 = 5000 TRX acording https://developers.tron.network/docs/setting-a-fee-limit-on-deployexecution
18
16
  class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
19
17
  constructor(_coinConfig) {
@@ -76,24 +74,12 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
76
74
  this.data(data);
77
75
  }
78
76
  if (contract_address) {
79
- this.to({ address: utils_1.getBase58AddressFromHex(contract_address) });
77
+ this.to({ address: (0, utils_1.getBase58AddressFromHex)(contract_address) });
80
78
  }
81
79
  if (owner_address) {
82
- this.source({ address: utils_1.getBase58AddressFromHex(owner_address) });
80
+ this.source({ address: (0, utils_1.getBase58AddressFromHex)(owner_address) });
83
81
  }
84
82
  }
85
- // region Contract Call fields
86
- /**
87
- * Set the source address,
88
- *
89
- * @param {Address} address source account
90
- * @returns {ContractCallBuilder} the builder with the new parameter set
91
- */
92
- source(address) {
93
- this.validateAddress(address);
94
- this._ownerAddress = utils_1.getHexAddressFromBase58Address(address.address);
95
- return this;
96
- }
97
83
  /**
98
84
  * Set the address of the contract to be called,
99
85
  *
@@ -102,7 +88,7 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
102
88
  */
103
89
  to(contractAddress) {
104
90
  this.validateAddress(contractAddress);
105
- this._toContractAddress = utils_1.getHexAddressFromBase58Address(contractAddress.address);
91
+ this._toContractAddress = (0, utils_1.getHexAddressFromBase58Address)(contractAddress.address);
106
92
  return this;
107
93
  }
108
94
  /**
@@ -112,40 +98,12 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
112
98
  * @returns {ContractCallBuilder} the builder with the new parameter set
113
99
  */
114
100
  data(data) {
115
- if (!utils_1.isValidHex(data)) {
101
+ if (!(0, utils_1.isValidHex)(data)) {
116
102
  throw new sdk_core_1.InvalidParameterValueError(data + ' is not a valid hex string.');
117
103
  }
118
104
  this._data = data;
119
105
  return this;
120
106
  }
121
- /**
122
- * Set the block values,
123
- *
124
- * @param {Block} block the object containing number and hash of the block
125
- * @returns {ContractCallBuilder} the builder with the new parameter set
126
- */
127
- block(block) {
128
- const blockBytes = Buffer.alloc(8);
129
- blockBytes.writeInt32BE(block.number, 4);
130
- this._refBlockBytes = blockBytes.slice(6, 8).toString('hex');
131
- this._refBlockHash = Buffer.from(block.hash, 'hex').slice(8, 16).toString('hex');
132
- return this;
133
- }
134
- /**
135
- * Set the expiration time for the transaction, set also timestamp if it was not set previously
136
- *
137
- * @param {number} time the expiration time in milliseconds
138
- * @returns {ContractCallBuilder} the builder with the new parameter set
139
- */
140
- expiration(time) {
141
- if (this.transaction.id) {
142
- throw new sdk_core_1.ExtendTransactionError('Expiration is already set, it can only be extended');
143
- }
144
- this._timestamp = this._timestamp || Date.now();
145
- this.validateExpirationTime(time);
146
- this._expiration = time;
147
- return this;
148
- }
149
107
  /** @inheritdoc */
150
108
  extendValidTo(extensionMs) {
151
109
  if (this.transaction.signature && this.transaction.signature.length > 0) {
@@ -154,7 +112,7 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
154
112
  if (extensionMs <= 0) {
155
113
  throw new Error('Value cannot be below zero');
156
114
  }
157
- if (extensionMs > MAX_DURATION) {
115
+ if (extensionMs > utils_1.TRANSACTION_MAX_EXPIRATION) {
158
116
  throw new sdk_core_1.ExtendTransactionError('The expiration cannot be extended more than one year');
159
117
  }
160
118
  if (this._expiration) {
@@ -164,16 +122,6 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
164
122
  throw new Error('There is not expiration to extend');
165
123
  }
166
124
  }
167
- /**
168
- * Set the timestamp for the transaction
169
- *
170
- * @param {number} time the timestamp in milliseconds
171
- * @returns {ContractCallBuilder} the builder with the new parameter set
172
- */
173
- timestamp(time) {
174
- this._timestamp = time;
175
- return this;
176
- }
177
125
  /**
178
126
  * Set the fee limit for the transaction
179
127
  *
@@ -192,7 +140,7 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
192
140
  // endregion
193
141
  createTransaction() {
194
142
  const rawDataHex = this.getRawDataHex();
195
- const rawData = utils_1.decodeTransaction(rawDataHex);
143
+ const rawData = (0, utils_1.decodeTransaction)(rawDataHex);
196
144
  const contract = rawData.contract[0];
197
145
  const contractParameter = contract.parameter;
198
146
  contractParameter.value.contract_address = this._toContractAddress.toLocaleLowerCase();
@@ -201,7 +149,7 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
201
149
  contractParameter.type_url = 'type.googleapis.com/protocol.TriggerSmartContract';
202
150
  contract.type = 'TriggerSmartContract';
203
151
  const hexBuffer = Buffer.from(rawDataHex, 'hex');
204
- const id = crypto_1.createHash('sha256').update(hexBuffer).digest('hex');
152
+ const id = (0, crypto_1.createHash)('sha256').update(hexBuffer).digest('hex');
205
153
  const txRecip = {
206
154
  raw_data: rawData,
207
155
  raw_data_hex: rawDataHex,
@@ -212,9 +160,9 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
212
160
  }
213
161
  getRawDataHex() {
214
162
  const rawContract = {
215
- ownerAddress: utils_1.getByteArrayFromHexAddress(this._ownerAddress),
216
- contractAddress: utils_1.getByteArrayFromHexAddress(this._toContractAddress),
217
- data: utils_1.getByteArrayFromHexAddress(this._data),
163
+ ownerAddress: (0, utils_1.getByteArrayFromHexAddress)(this._ownerAddress),
164
+ contractAddress: (0, utils_1.getByteArrayFromHexAddress)(this._toContractAddress),
165
+ data: (0, utils_1.getByteArrayFromHexAddress)(this._data),
218
166
  };
219
167
  const contractCall = tron_1.protocol.TriggerSmartContract.fromObject(rawContract);
220
168
  const contractBytes = tron_1.protocol.TriggerSmartContract.encode(contractCall).finish();
@@ -228,7 +176,7 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
228
176
  const raw = {
229
177
  refBlockBytes: Buffer.from(this._refBlockBytes, 'hex'),
230
178
  refBlockHash: Buffer.from(this._refBlockHash, 'hex'),
231
- expiration: this._expiration || Date.now() + DEFAULT_EXPIRATION,
179
+ expiration: this._expiration || Date.now() + utils_1.TRANSACTION_DEFAULT_EXPIRATION,
232
180
  timestamp: this._timestamp || Date.now(),
233
181
  contract: [txContract],
234
182
  feeLimit: parseInt(this._fee.feeLimit, 10),
@@ -265,17 +213,6 @@ class ContractCallBuilder extends transactionBuilder_1.TransactionBuilder {
265
213
  throw new sdk_core_1.BuildTransactionError('Missing fee');
266
214
  }
267
215
  }
268
- validateExpirationTime(value) {
269
- if (value < this._timestamp) {
270
- throw new sdk_core_1.InvalidParameterValueError('Expiration must be greater than timestamp');
271
- }
272
- if (value < Date.now()) {
273
- throw new sdk_core_1.InvalidParameterValueError('Expiration must be greater than current time');
274
- }
275
- if (value - this._timestamp > MAX_DURATION) {
276
- throw new sdk_core_1.InvalidParameterValueError('Expiration must not be greater than one year');
277
- }
278
- }
279
216
  }
280
217
  exports.ContractCallBuilder = ContractCallBuilder;
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RDYWxsQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RDYWxsQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBb0M7QUFFcEMsZ0VBQXFDO0FBQ3JDLHdEQUF5RDtBQUN6RCxtREFPOEI7QUFDOUIsNkRBQTBEO0FBRTFELCtDQUE0QztBQUU1QyxtQ0FNaUI7QUFFakIsSUFBTyxZQUFZLEdBQUcsZUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO0FBRWpFLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLENBQUMsV0FBVztBQUMvQyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsQ0FBQyxXQUFXO0FBQ2hDLFFBQUEsT0FBTyxHQUFHLFVBQVUsQ0FBQyxDQUFDLHNHQUFzRztBQUV6SSxNQUFhLG1CQUFvQixTQUFRLHVDQUFrQjtJQVd6RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixrQkFBa0I7UUFDbEIsZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLElBQUksZ0NBQXFCLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUN4RTtRQUNELE9BQU8sT0FBTyxDQUFD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U0FDeEU7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDL0MsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDeEU7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFhO1FBQ2xDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsTUFBTSxJQUFJLHFDQUEwQixDQUFDLDJDQUEyQyxDQUFDLENBQUM7U0FDbkY7UUFDRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdEIsTUFBTSxJQUFJLHFDQUEwQixDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDdEY7UUFDRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksRUFBRTtZQUMxQyxNQUFNLElBQUkscUNBQTBCLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUN0RjtJQUNILENBQUM7Q0FDRjtBQXhTRCxrREF3U0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIFRyb25OZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBwcm90b2NvbCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9wcm90b2J1Zi90cm9uJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgRXh0ZW5kVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi9hZGRyZXNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCbG9jaywgRmVlLCBUcmFuc2FjdGlvblJlY2VpcHQsIFRyaWdnZXJTbWFydENvbnRyYWN0IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQge1xuICBkZWNvZGVUcmFuc2FjdGlvbixcbiAgZ2V0QmFzZTU4QWRkcmVzc0Zyb21IZXgsXG4gIGdldEJ5dGVBcnJheUZyb21IZXhBZGRyZXNzLFxuICBnZXRIZXhBZGRyZXNzRnJvbUJhc2U1OEFkZHJlc3MsXG4gIGlzVmFsaWRIZXgsXG59IGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQgQ29udHJhY3RUeXBlID0gcHJvdG9jb2wuVHJhbnNhY3Rpb24uQ29udHJhY3QuQ29udHJhY3RUeXBlO1xuXG5jb25zdCBERUZBVUxUX0VYUElSQVRJT04gPSAzNjAwMDAwOyAvLyBvbmUgaG91clxuY29uc3QgTUFYX0RVUkFUSU9OID0gMzE1MzYwMDAwMDA7IC8vIG9uZSB5ZWFyXG5leHBvcnQgY29uc3QgTUFYX0ZFRSA9IDUwMDAwMDAwMDA7IC8vIDVlOSA9IDUwMDAgVFJYIGFjb3JkaW5nIGh0dHBzOi8vZGV2ZWxvcGVycy50cm9uLm5ldHdvcmsvZG9jcy9zZXR0aW5nLWEtZmVlLWxpbWl0LW9uLWRlcGxveWV4ZWN1dGlvblxuXG5leHBvcnQgY2xhc3MgQ29udHJhY3RDYWxsQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfc2lnbmluZ0tleXM6IEJhc2VLZXlbXTtcbiAgcHJpdmF0ZSBfdG9Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGF0YTogc3RyaW5nO1xuICBwcml2YXRlIF9vd25lckFkZHJlc3M6IHN0cmluZztcbiAgcHJpdmF0ZSBfcmVmQmxvY2tCeXRlczogc3RyaW5nO1xuICBwcml2YXRlIF9yZWZCbG9ja0hhc2g6IHN0cmluZztcbiAgcHJpdmF0ZSBfZXhwaXJhdGlvbjogbnVtYmVyO1xuICBwcml2YXRlIF90aW1lc3RhbXA6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZmVlOiBGZWU7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3NpZ25pbmdLZXlzID0gW107XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuY3JlYXRlVHJhbnNhY3Rpb24oKTtcbiAgICAvKiogQGluaGVyaXRkb2MgKi9cbiAgICAvLyBUaGlzIG1ldGhvZCBtdXN0IGJlIGV4dGVuZGVkIG9uIGNoaWxkIGNsYXNzZXNcbiAgICBpZiAodGhpcy5fc2lnbmluZ0tleXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hcHBseVNpZ25hdHVyZXMoKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb24uaWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0EgdmFsaWQgdHJhbnNhY3Rpb24gbXVzdCBoYXZlIGFuIGlkJyk7XG4gICAgfVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy50cmFuc2FjdGlvbik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuX3NpZ25pbmdLZXlzLnNvbWUoKHNpZ25pbmdLZXkpID0+IHNpZ25pbmdLZXkua2V5ID09PSBrZXkua2V5KSkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignRHVwbGljYXRlZCBrZXknKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmluZ0tleXMucHVzaChrZXkpO1xuXG4gICAgLy8gV2Uga2VlcCB0aGlzIHJldHVybiBmb3IgY29tcGF0aWJpbGl0eSBidXQgaXMgbm90IG1lYW50IHRvIGJlIHVzZVxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSByYXdUcmFuc2FjdGlvbiB0aGUgdHJhbnNhY3Rpb24gZGF0YSBpbiBhIHN0cmluZyBvciBKU09OIGZvcm1hdFxuICAgKiBAcmV0dXJucyB7Q29udHJhY3RDYWxsQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgdHJhbnNhY3Rpb24gZGF0YSBzZXRcbiAgICovXG4gIGluaXRCdWlsZGVyKHJhd1RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHR4ID0gdGhpcy5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24gPSB0eDtcbiAgICB0aGlzLl9zaWduaW5nS2V5cyA9IFtdO1xuICAgIGNvbnN0IHJhd0RhdGEgPSB0eC50b0pzb24oKS5yYXdfZGF0YTtcbiAgICB0aGlzLl9yZWZCbG9ja0J5dGVzID0gcmF3RGF0YS5yZWZfYmxvY2tfYnl0ZXM7XG4gICAgdGhpcy5fcmVmQmxvY2tIYXNoID0gcmF3RGF0YS5yZWZfYmxvY2tfaGFzaDtcbiAgICB0aGlzLl9leHBpcmF0aW9uID0gcmF3RGF0YS5leHBpcmF0aW9uO1xuICAgIHRoaXMuX3RpbWVzdGFtcCA9IHJhd0RhdGEudGltZXN0YW1wO1xuICAgIHRoaXMuX2ZlZSA9IHsgZmVlTGltaXQ6IHJhd0RhdGEuZmVlX2xpbWl0IS50b1N0cmluZygpIH07XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbCk7XG4gICAgY29uc3QgY29udHJhY3RDYWxsID0gcmF3RGF0YS5jb250cmFjdFswXSBhcyBUcmlnZ2VyU21hcnRDb250cmFjdDtcbiAgICB0aGlzLmluaXRDb250cmFjdENhbGwoY29udHJhY3RDYWxsKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBjb250cmFjdCBjYWxsIHNwZWNpZmljIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmlnZ2VyU21hcnRDb250cmFjdH0gY29udHJhY3RDYWxsIG9iamVjdCB3aXRoIHRyYW5zZmVyIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBpbml0Q29udHJhY3RDYWxsKGNvbnRyYWN0Q2FsbDogVHJpZ2dlclNtYXJ0Q29udHJhY3QpOiB2b2lkIHtcbiAgICBjb25zdCB7IGRhdGEsIG93bmVyX2FkZHJlc3MsIGNvbnRyYWN0X2FkZHJlc3MgfSA9IGNvbnRyYWN0Q2FsbC5wYXJhbWV0ZXIudmFsdWU7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMuZGF0YShkYXRhKTtcbiAgICB9XG4gICAgaWYgKGNvbnRyYWN0X2FkZHJlc3MpIHtcbiAgICAgIHRoaXMudG8oeyBhZGRyZXNzOiBnZXRCYXNlNThBZGRyZXNzRnJvbUhleChjb250cmFjdF9hZGRyZXNzKSB9KTtcbiAgICB9XG4gICAgaWYgKG93bmVyX2FkZHJlc3MpIHtcbiAgICAgIHRoaXMuc291cmNlKHsgYWRkcmVzczogZ2V0QmFzZTU4QWRkcmVzc0Zyb21IZXgob3duZXJfYWRkcmVzcykgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVnaW9uIENvbnRyYWN0IENhbGwgZmllbGRzXG4gIC8qKlxuICAgKiBTZXQgdGhlIHNvdXJjZSBhZGRyZXNzLFxuICAgKlxuICAgKiBAcGFyYW0ge0FkZHJlc3N9IGFkZHJlc3Mgc291cmNlIGFjY291bnRcbiAgICogQHJldHVybnMge0NvbnRyYWN0Q2FsbEJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICBzb3VyY2UoYWRkcmVzczogQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKGFkZHJlc3MpO1xuICAgIHRoaXMuX293bmVyQWRkcmVzcyA9IGdldEhleEFkZHJlc3NGcm9tQmFzZTU4QWRkcmVzcyhhZGRyZXNzLmFkZHJlc3MpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gYmUgY2FsbGVkLFxuICAgKlxuICAgKiBAcGFyYW0ge0FkZHJlc3N9IGNvbnRyYWN0QWRkcmVzcyB0aGUgY29udHJhY3QgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7Q29udHJhY3RDYWxsQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIHRvKGNvbnRyYWN0QWRkcmVzczogQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKGNvbnRyYWN0QWRkcmVzcyk7XG4gICAgdGhpcy5fdG9Db250cmFjdEFkZHJlc3MgPSBnZXRIZXhBZGRyZXNzRnJvbUJhc2U1OEFkZHJlc3MoY29udHJhY3RBZGRyZXNzLmFkZHJlc3MpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGF0YSB3aXRoIHRoZSBtZXRob2QgY2FsbCBhbmQgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YSBkYXRhIGVuY29kZWQgb24gaGV4YVxuICAgKiBAcmV0dXJucyB7Q29udHJhY3RDYWxsQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGRhdGEoZGF0YTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkSGV4KGRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoZGF0YSArICcgaXMgbm90IGEgdmFsaWQgaGV4IHN0cmluZy4nKTtcbiAgICB9XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBibG9jayB2YWx1ZXMsXG4gICAqXG4gICAqIEBwYXJhbSB7QmxvY2t9IGJsb2NrIHRoZSBvYmplY3QgY29udGFpbmluZyBudW1iZXIgYW5kIGhhc2ggb2YgdGhlIGJsb2NrXG4gICAqIEByZXR1cm5zIHtDb250cmFjdENhbGxCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgYmxvY2soYmxvY2s6IEJsb2NrKTogdGhpcyB7XG4gICAgY29uc3QgYmxvY2tCeXRlcyA9IEJ1ZmZlci5hbGxvYyg4KTtcbiAgICBibG9ja0J5dGVzLndyaXRlSW50MzJCRShibG9jay5udW1iZXIsIDQpO1xuICAgIHRoaXMuX3JlZkJsb2NrQnl0ZXMgPSBibG9ja0J5dGVzLnNsaWNlKDYsIDgpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIHRoaXMuX3JlZkJsb2NrSGFzaCA9IEJ1ZmZlci5mcm9tKGJsb2NrLmhhc2gsICdoZXgnKS5zbGljZSg4LCAxNikudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBleHBpcmF0aW9uIHRpbWUgZm9yIHRoZSB0cmFuc2FjdGlvbiwgc2V0IGFsc28gdGltZXN0YW1wIGlmIGl0IHdhcyBub3Qgc2V0IHByZXZpb3VzbHlcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHRpbWUgdGhlIGV4cGlyYXRpb24gdGltZSBpbiBtaWxsaXNlY29uZHNcbiAgICogQHJldHVybnMge0NvbnRyYWN0Q2FsbEJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICBleHBpcmF0aW9uKHRpbWU6IG51bWJlcik6IHRoaXMge1xuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLmlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXh0ZW5kVHJhbnNhY3Rpb25FcnJvcignRXhwaXJhdGlvbiBpcyBhbHJlYWR5IHNldCwgaXQgY2FuIG9ubHkgYmUgZXh0ZW5kZWQnKTtcbiAgICB9XG4gICAgdGhpcy5fdGltZXN0YW1wID0gdGhpcy5fdGltZXN0YW1wIHx8IERhdGUubm93KCk7XG4gICAgdGhpcy52YWxpZGF0ZUV4cGlyYXRpb25UaW1lKHRpbWUpO1xuICAgIHRoaXMuX2V4cGlyYXRpb24gPSB0aW1lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGV4dGVuZFZhbGlkVG8oZXh0ZW5zaW9uTXM6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnNpZ25hdHVyZSAmJiB0aGlzLnRyYW5zYWN0aW9uLnNpZ25hdHVyZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXh0ZW5kVHJhbnNhY3Rpb25FcnJvcignQ2Fubm90IGV4dGVuZCBhIHNpZ25lZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGlmIChleHRlbnNpb25NcyA8PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBiZWxvdyB6ZXJvJyk7XG4gICAgfVxuXG4gICAgaWYgKGV4dGVuc2lvbk1zID4gTUFYX0RVUkFUSU9OKSB7XG4gICAgICB0aHJvdyBuZXcgRXh0ZW5kVHJhbnNhY3Rpb25FcnJvcignVGhlIGV4cGlyYXRpb24gY2Fubm90IGJlIGV4dGVuZGVkIG1vcmUgdGhhbiBvbmUgeWVhcicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9leHBpcmF0aW9uKSB7XG4gICAgICB0aGlzLl9leHBpcmF0aW9uID0gdGhpcy5fZXhwaXJhdGlvbiArIGV4dGVuc2lvbk1zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZXJlIGlzIG5vdCBleHBpcmF0aW9uIHRvIGV4dGVuZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIHRoZSB0aW1lc3RhbXAgaW4gbWlsbGlzZWNvbmRzXG4gICAqIEByZXR1cm5zIHtDb250cmFjdENhbGxCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgdGltZXN0YW1wKHRpbWU6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuX3RpbWVzdGFtcCA9IHRpbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBmZWUgbGltaXQgZm9yIHRoZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge0ZlZX0gZmVlIHRoZSBmZWUgbGltaXQgZm9yIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7Q29udHJhY3RDYWxsQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGZlZShmZWU6IEZlZSk6IHRoaXMge1xuICAgIGNvbnN0IGZlZUxpbWl0ID0gbmV3IEJpZ051bWJlcihmZWUuZmVlTGltaXQpO1xuICAgIGNvbnN0IHRyb25OZXR3b3JrID0gdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIFRyb25OZXR3b3JrO1xuICAgIGlmIChmZWVMaW1pdC5pc05hTigpIHx8IGZlZUxpbWl0LmlzTGVzc1RoYW4oMCkgfHwgZmVlTGltaXQuaXNHcmVhdGVyVGhhbih0cm9uTmV0d29yay5tYXhGZWVMaW1pdCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBmZWUgbGltaXQgdmFsdWUnKTtcbiAgICB9XG4gICAgdGhpcy5fZmVlID0gZmVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgcHJpdmF0ZSBjcmVhdGVUcmFuc2FjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCByYXdEYXRhSGV4ID0gdGhpcy5nZXRSYXdEYXRhSGV4KCk7XG4gICAgY29uc3QgcmF3RGF0YSA9IGRlY29kZVRyYW5zYWN0aW9uKHJhd0RhdGFIZXgpO1xuICAgIGNvbnN0IGNvbnRyYWN0ID0gcmF3RGF0YS5jb250cmFjdFswXSBhcyBUcmlnZ2VyU21hcnRDb250cmFjdDtcbiAgICBjb25zdCBjb250cmFjdFBhcmFtZXRlciA9IGNvbnRyYWN0LnBhcmFtZXRlcjtcbiAgICBjb250cmFjdFBhcmFtZXRlci52YWx1ZS5jb250cmFjdF9hZGRyZXNzID0gdGhpcy5fdG9Db250cmFjdEFkZHJlc3MudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBjb250cmFjdFBhcmFtZXRlci52YWx1ZS5vd25lcl9hZGRyZXNzID0gdGhpcy5fb3duZXJBZGRyZXNzLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgY29udHJhY3RQYXJhbWV0ZXIudmFsdWUuZGF0YSA9IHRoaXMuX2RhdGEudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBjb250cmFjdFBhcmFtZXRlci50eXBlX3VybCA9ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0JztcbiAgICBjb250cmFjdC50eXBlID0gJ1RyaWdnZXJTbWFydENvbnRyYWN0JztcbiAgICBjb25zdCBoZXhCdWZmZXIgPSBCdWZmZXIuZnJvbShyYXdEYXRhSGV4LCAnaGV4Jyk7XG4gICAgY29uc3QgaWQgPSBjcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoaGV4QnVmZmVyKS5kaWdlc3QoJ2hleCcpO1xuICAgIGNvbnN0IHR4UmVjaXA6IFRyYW5zYWN0aW9uUmVjZWlwdCA9IHtcbiAgICAgIHJhd19kYXRhOiByYXdEYXRhLFxuICAgICAgcmF3X2RhdGFfaGV4OiByYXdEYXRhSGV4LFxuICAgICAgdHhJRDogaWQsXG4gICAgICBzaWduYXR1cmU6IHRoaXMudHJhbnNhY3Rpb24uc2lnbmF0dXJlLFxuICAgIH07XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0eFJlY2lwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmF3RGF0YUhleCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJhd0NvbnRyYWN0ID0ge1xuICAgICAgb3duZXJBZGRyZXNzOiBnZXRCeXRlQXJyYXlGcm9tSGV4QWRkcmVzcyh0aGlzLl9vd25lckFkZHJlc3MpLFxuICAgICAgY29udHJhY3RBZGRyZXNzOiBnZXRCeXRlQXJyYXlGcm9tSGV4QWRkcmVzcyh0aGlzLl90b0NvbnRyYWN0QWRkcmVzcyksXG4gICAgICBkYXRhOiBnZXRCeXRlQXJyYXlGcm9tSGV4QWRkcmVzcyh0aGlzLl9kYXRhKSxcbiAgICB9O1xuICAgIGNvbnN0IGNvbnRyYWN0Q2FsbCA9IHByb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0LmZyb21PYmplY3QocmF3Q29udHJhY3QpO1xuICAgIGNvbnN0IGNvbnRyYWN0Qnl0ZXMgPSBwcm90b2NvbC5UcmlnZ2VyU21hcnRDb250cmFjdC5lbmNvZGUoY29udHJhY3RDYWxsKS5maW5pc2goKTtcbiAgICBjb25zdCB0eENvbnRyYWN0ID0ge1xuICAgICAgdHlwZTogQ29udHJhY3RUeXBlLlRyaWdnZXJTbWFydENvbnRyYWN0LFxuICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgIHZhbHVlOiBjb250cmFjdEJ5dGVzLFxuICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJpZ2dlclNtYXJ0Q29udHJhY3QnLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHJhdyA9IHtcbiAgICAgIHJlZkJsb2NrQnl0ZXM6IEJ1ZmZlci5mcm9tKHRoaXMuX3JlZkJsb2NrQnl0ZXMsICdoZXgnKSxcbiAgICAgIHJlZkJsb2NrSGFzaDogQnVmZmVyLmZyb20odGhpcy5fcmVmQmxvY2tIYXNoLCAnaGV4JyksXG4gICAgICBleHBpcmF0aW9uOiB0aGlzLl9leHBpcmF0aW9uIHx8IERhdGUubm93KCkgKyBERUZBVUxUX0VYUElSQVRJT04sXG4gICAgICB0aW1lc3RhbXA6IHRoaXMuX3RpbWVzdGFtcCB8fCBEYXRlLm5vdygpLFxuICAgICAgY29udHJhY3Q6IFt0eENvbnRyYWN0XSxcbiAgICAgIGZlZUxpbWl0OiBwYXJzZUludCh0aGlzLl9mZWUuZmVlTGltaXQsIDEwKSxcbiAgICB9O1xuICAgIGNvbnN0IHJhd1R4ID0gcHJvdG9jb2wuVHJhbnNhY3Rpb24ucmF3LmNyZWF0ZShyYXcpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShwcm90b2NvbC5UcmFuc2FjdGlvbi5yYXcuZW5jb2RlKHJhd1R4KS5maW5pc2goKSkudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNpZ25hdHVyZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uLmlucHV0cykge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignVHJhbnNhY3Rpb24gaGFzIG5vIGlucHV0cycpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduaW5nS2V5cy5mb3JFYWNoKChrZXkpID0+IHRoaXMuYXBwbHlTaWduYXR1cmUoa2V5KSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgLy8gU3BlY2lmaWNhbGx5LCBjaGVja3MgaGV4IHVuZGVybHlpbmcgdHJhbnNhY3Rpb24gaGFzaGVzIHRvIGNvcnJlY3QgdHJhbnNhY3Rpb24gSUQuXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCkge1xuICAgIGlmICghdGhpcy5fZGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBwYXJhbWV0ZXI6IGRhdGEnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9vd25lckFkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgcGFyYW1ldGVyOiBzb3VyY2UnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl90b0NvbnRyYWN0QWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBwYXJhbWV0ZXI6IGNvbnRyYWN0IGFkZHJlc3MnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9yZWZCbG9ja0J5dGVzIHx8ICF0aGlzLl9yZWZCbG9ja0hhc2gpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgYmxvY2sgcmVmZXJlbmNlIGluZm9ybWF0aW9uJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fZmVlKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGZlZScpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlRXhwaXJhdGlvblRpbWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZSA8IHRoaXMuX3RpbWVzdGFtcCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdFeHBpcmF0aW9uIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRpbWVzdGFtcCcpO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPCBEYXRlLm5vdygpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0V4cGlyYXRpb24gbXVzdCBiZSBncmVhdGVyIHRoYW4gY3VycmVudCB0aW1lJyk7XG4gICAgfVxuICAgIGlmICh2YWx1ZSAtIHRoaXMuX3RpbWVzdGFtcCA+IE1BWF9EVVJBVElPTikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdFeHBpcmF0aW9uIG11c3Qgbm90IGJlIGdyZWF0ZXIgdGhhbiBvbmUgeWVhcicpO1xuICAgIH1cbiAgfVxufVxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RDYWxsQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RDYWxsQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBb0M7QUFFcEMsZ0VBQXFDO0FBQ3JDLHdEQUF5RDtBQUN6RCxtREFPOEI7QUFDOUIsNkRBQTBEO0FBRTFELCtDQUE0QztBQUU1QyxtQ0FRaUI7QUFFakIsSUFBTyxZQUFZLEdBQUcsZUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO0FBQ3BELFFBQUEsT0FBTyxHQUFHLFVBQVUsQ0FBQyxDQUFDLHNHQUFzRztBQUV6SSxNQUFhLG1CQUFvQixTQUFRLHVDQUFrQjtJQU16RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixrQkFBa0I7UUFDbEIsZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksZ0NBQXFCLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Is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QUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEQsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksZ0NBQXFCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7Q0FDRjtBQS9ORCxrREErTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIFRyb25OZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBwcm90b2NvbCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9wcm90b2J1Zi90cm9uJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgRXh0ZW5kVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi9hZGRyZXNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBGZWUsIFRyYW5zYWN0aW9uUmVjZWlwdCwgVHJpZ2dlclNtYXJ0Q29udHJhY3QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7XG4gIGRlY29kZVRyYW5zYWN0aW9uLFxuICBnZXRCYXNlNThBZGRyZXNzRnJvbUhleCxcbiAgZ2V0Qnl0ZUFycmF5RnJvbUhleEFkZHJlc3MsXG4gIGdldEhleEFkZHJlc3NGcm9tQmFzZTU4QWRkcmVzcyxcbiAgaXNWYWxpZEhleCxcbiAgVFJBTlNBQ1RJT05fTUFYX0VYUElSQVRJT04sXG4gIFRSQU5TQUNUSU9OX0RFRkFVTFRfRVhQSVJBVElPTixcbn0gZnJvbSAnLi91dGlscyc7XG5cbmltcG9ydCBDb250cmFjdFR5cGUgPSBwcm90b2NvbC5UcmFuc2FjdGlvbi5Db250cmFjdC5Db250cmFjdFR5cGU7XG5leHBvcnQgY29uc3QgTUFYX0ZFRSA9IDUwMDAwMDAwMDA7IC8vIDVlOSA9IDUwMDAgVFJYIGFjb3JkaW5nIGh0dHBzOi8vZGV2ZWxvcGVycy50cm9uLm5ldHdvcmsvZG9jcy9zZXR0aW5nLWEtZmVlLWxpbWl0LW9uLWRlcGxveWV4ZWN1dGlvblxuXG5leHBvcnQgY2xhc3MgQ29udHJhY3RDYWxsQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfc2lnbmluZ0tleXM6IEJhc2VLZXlbXTtcbiAgcHJpdmF0ZSBfdG9Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGF0YTogc3RyaW5nO1xuICBwcml2YXRlIF9mZWU6IEZlZTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fc2lnbmluZ0tleXMgPSBbXTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy5jcmVhdGVUcmFuc2FjdGlvbigpO1xuICAgIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAgIC8vIFRoaXMgbWV0aG9kIG11c3QgYmUgZXh0ZW5kZWQgb24gY2hpbGQgY2xhc3Nlc1xuICAgIGlmICh0aGlzLl9zaWduaW5nS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFwcGx5U2lnbmF0dXJlcygpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbi5pZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignQSB2YWxpZCB0cmFuc2FjdGlvbiBtdXN0IGhhdmUgYW4gaWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLnRyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICBpZiAodGhpcy5fc2lnbmluZ0tleXMuc29tZSgoc2lnbmluZ0tleSkgPT4gc2lnbmluZ0tleS5rZXkgPT09IGtleS5rZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdEdXBsaWNhdGVkIGtleScpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduaW5nS2V5cy5wdXNoKGtleSk7XG5cbiAgICAvLyBXZSBrZWVwIHRoaXMgcmV0dXJuIGZvciBjb21wYXRpYmlsaXR5IGJ1dCBpcyBub3QgbWVhbnQgdG8gYmUgdXNlXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHthbnl9IHJhd1RyYW5zYWN0aW9uIHRoZSB0cmFuc2FjdGlvbiBkYXRhIGluIGEgc3RyaW5nIG9yIEpTT04gZm9ybWF0XG4gICAqIEByZXR1cm5zIHtDb250cmFjdENhbGxCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSB0cmFuc2FjdGlvbiBkYXRhIHNldFxuICAgKi9cbiAgaW5pdEJ1aWxkZXIocmF3VHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgY29uc3QgdHggPSB0aGlzLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IHR4O1xuICAgIHRoaXMuX3NpZ25pbmdLZXlzID0gW107XG4gICAgY29uc3QgcmF3RGF0YSA9IHR4LnRvSnNvbigpLnJhd19kYXRhO1xuICAgIHRoaXMuX3JlZkJsb2NrQnl0ZXMgPSByYXdEYXRhLnJlZl9ibG9ja19ieXRlcztcbiAgICB0aGlzLl9yZWZCbG9ja0hhc2ggPSByYXdEYXRhLnJlZl9ibG9ja19oYXNoO1xuICAgIHRoaXMuX2V4cGlyYXRpb24gPSByYXdEYXRhLmV4cGlyYXRpb247XG4gICAgdGhpcy5fdGltZXN0YW1wID0gcmF3RGF0YS50aW1lc3RhbXA7XG4gICAgdGhpcy5fZmVlID0geyBmZWVMaW1pdDogcmF3RGF0YS5mZWVfbGltaXQhLnRvU3RyaW5nKCkgfTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuQ29udHJhY3RDYWxsKTtcbiAgICBjb25zdCBjb250cmFjdENhbGwgPSByYXdEYXRhLmNvbnRyYWN0WzBdIGFzIFRyaWdnZXJTbWFydENvbnRyYWN0O1xuICAgIHRoaXMuaW5pdENvbnRyYWN0Q2FsbChjb250cmFjdENhbGwpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGNvbnRyYWN0IGNhbGwgc3BlY2lmaWMgZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyaWdnZXJTbWFydENvbnRyYWN0fSBjb250cmFjdENhbGwgb2JqZWN0IHdpdGggdHJhbnNmZXIgZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGluaXRDb250cmFjdENhbGwoY29udHJhY3RDYWxsOiBUcmlnZ2VyU21hcnRDb250cmFjdCk6IHZvaWQge1xuICAgIGNvbnN0IHsgZGF0YSwgb3duZXJfYWRkcmVzcywgY29udHJhY3RfYWRkcmVzcyB9ID0gY29udHJhY3RDYWxsLnBhcmFtZXRlci52YWx1ZTtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5kYXRhKGRhdGEpO1xuICAgIH1cbiAgICBpZiAoY29udHJhY3RfYWRkcmVzcykge1xuICAgICAgdGhpcy50byh7IGFkZHJlc3M6IGdldEJhc2U1OEFkZHJlc3NGcm9tSGV4KGNvbnRyYWN0X2FkZHJlc3MpIH0pO1xuICAgIH1cbiAgICBpZiAob3duZXJfYWRkcmVzcykge1xuICAgICAgdGhpcy5zb3VyY2UoeyBhZGRyZXNzOiBnZXRCYXNlNThBZGRyZXNzRnJvbUhleChvd25lcl9hZGRyZXNzKSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byBiZSBjYWxsZWQsXG4gICAqXG4gICAqIEBwYXJhbSB7QWRkcmVzc30gY29udHJhY3RBZGRyZXNzIHRoZSBjb250cmFjdCBhZGRyZXNzXG4gICAqIEByZXR1cm5zIHtDb250cmFjdENhbGxCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgdG8oY29udHJhY3RBZGRyZXNzOiBBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoY29udHJhY3RBZGRyZXNzKTtcbiAgICB0aGlzLl90b0NvbnRyYWN0QWRkcmVzcyA9IGdldEhleEFkZHJlc3NGcm9tQmFzZTU4QWRkcmVzcyhjb250cmFjdEFkZHJlc3MuYWRkcmVzcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkYXRhIHdpdGggdGhlIG1ldGhvZCBjYWxsIGFuZCBwYXJhbWV0ZXJzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIGRhdGEgZW5jb2RlZCBvbiBoZXhhXG4gICAqIEByZXR1cm5zIHtDb250cmFjdENhbGxCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgZGF0YShkYXRhOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRIZXgoZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcihkYXRhICsgJyBpcyBub3QgYSB2YWxpZCBoZXggc3RyaW5nLicpO1xuICAgIH1cbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBleHRlbmRWYWxpZFRvKGV4dGVuc2lvbk1zOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5zaWduYXR1cmUgJiYgdGhpcy50cmFuc2FjdGlvbi5zaWduYXR1cmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEV4dGVuZFRyYW5zYWN0aW9uRXJyb3IoJ0Nhbm5vdCBleHRlbmQgYSBzaWduZWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBpZiAoZXh0ZW5zaW9uTXMgPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdWYWx1ZSBjYW5ub3QgYmUgYmVsb3cgemVybycpO1xuICAgIH1cblxuICAgIGlmIChleHRlbnNpb25NcyA+IFRSQU5TQUNUSU9OX01BWF9FWFBJUkFUSU9OKSB7XG4gICAgICB0aHJvdyBuZXcgRXh0ZW5kVHJhbnNhY3Rpb25FcnJvcignVGhlIGV4cGlyYXRpb24gY2Fubm90IGJlIGV4dGVuZGVkIG1vcmUgdGhhbiBvbmUgeWVhcicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9leHBpcmF0aW9uKSB7XG4gICAgICB0aGlzLl9leHBpcmF0aW9uID0gdGhpcy5fZXhwaXJhdGlvbiArIGV4dGVuc2lvbk1zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZXJlIGlzIG5vdCBleHBpcmF0aW9uIHRvIGV4dGVuZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGZlZSBsaW1pdCBmb3IgdGhlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7RmVlfSBmZWUgdGhlIGZlZSBsaW1pdCBmb3IgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtDb250cmFjdENhbGxCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgZmVlKGZlZTogRmVlKTogdGhpcyB7XG4gICAgY29uc3QgZmVlTGltaXQgPSBuZXcgQmlnTnVtYmVyKGZlZS5mZWVMaW1pdCk7XG4gICAgY29uc3QgdHJvbk5ldHdvcmsgPSB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsgYXMgVHJvbk5ldHdvcms7XG4gICAgaWYgKGZlZUxpbWl0LmlzTmFOKCkgfHwgZmVlTGltaXQuaXNMZXNzVGhhbigwKSB8fCBmZWVMaW1pdC5pc0dyZWF0ZXJUaGFuKHRyb25OZXR3b3JrLm1heEZlZUxpbWl0KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGZlZSBsaW1pdCB2YWx1ZScpO1xuICAgIH1cbiAgICB0aGlzLl9mZWUgPSBmZWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICBwcml2YXRlIGNyZWF0ZVRyYW5zYWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IHJhd0RhdGFIZXggPSB0aGlzLmdldFJhd0RhdGFIZXgoKTtcbiAgICBjb25zdCByYXdEYXRhID0gZGVjb2RlVHJhbnNhY3Rpb24ocmF3RGF0YUhleCk7XG4gICAgY29uc3QgY29udHJhY3QgPSByYXdEYXRhLmNvbnRyYWN0WzBdIGFzIFRyaWdnZXJTbWFydENvbnRyYWN0O1xuICAgIGNvbnN0IGNvbnRyYWN0UGFyYW1ldGVyID0gY29udHJhY3QucGFyYW1ldGVyO1xuICAgIGNvbnRyYWN0UGFyYW1ldGVyLnZhbHVlLmNvbnRyYWN0X2FkZHJlc3MgPSB0aGlzLl90b0NvbnRyYWN0QWRkcmVzcy50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnRyYWN0UGFyYW1ldGVyLnZhbHVlLm93bmVyX2FkZHJlc3MgPSB0aGlzLl9vd25lckFkZHJlc3MudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBjb250cmFjdFBhcmFtZXRlci52YWx1ZS5kYXRhID0gdGhpcy5fZGF0YS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnRyYWN0UGFyYW1ldGVyLnR5cGVfdXJsID0gJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJpZ2dlclNtYXJ0Q29udHJhY3QnO1xuICAgIGNvbnRyYWN0LnR5cGUgPSAnVHJpZ2dlclNtYXJ0Q29udHJhY3QnO1xuICAgIGNvbnN0IGhleEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHJhd0RhdGFIZXgsICdoZXgnKTtcbiAgICBjb25zdCBpZCA9IGNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShoZXhCdWZmZXIpLmRpZ2VzdCgnaGV4Jyk7XG4gICAgY29uc3QgdHhSZWNpcDogVHJhbnNhY3Rpb25SZWNlaXB0ID0ge1xuICAgICAgcmF3X2RhdGE6IHJhd0RhdGEsXG4gICAgICByYXdfZGF0YV9oZXg6IHJhd0RhdGFIZXgsXG4gICAgICB0eElEOiBpZCxcbiAgICAgIHNpZ25hdHVyZTogdGhpcy50cmFuc2FjdGlvbi5zaWduYXR1cmUsXG4gICAgfTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcsIHR4UmVjaXApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSYXdEYXRhSGV4KCk6IHN0cmluZyB7XG4gICAgY29uc3QgcmF3Q29udHJhY3QgPSB7XG4gICAgICBvd25lckFkZHJlc3M6IGdldEJ5dGVBcnJheUZyb21IZXhBZGRyZXNzKHRoaXMuX293bmVyQWRkcmVzcyksXG4gICAgICBjb250cmFjdEFkZHJlc3M6IGdldEJ5dGVBcnJheUZyb21IZXhBZGRyZXNzKHRoaXMuX3RvQ29udHJhY3RBZGRyZXNzKSxcbiAgICAgIGRhdGE6IGdldEJ5dGVBcnJheUZyb21IZXhBZGRyZXNzKHRoaXMuX2RhdGEpLFxuICAgIH07XG4gICAgY29uc3QgY29udHJhY3RDYWxsID0gcHJvdG9jb2wuVHJpZ2dlclNtYXJ0Q29udHJhY3QuZnJvbU9iamVjdChyYXdDb250cmFjdCk7XG4gICAgY29uc3QgY29udHJhY3RCeXRlcyA9IHByb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0LmVuY29kZShjb250cmFjdENhbGwpLmZpbmlzaCgpO1xuICAgIGNvbnN0IHR4Q29udHJhY3QgPSB7XG4gICAgICB0eXBlOiBDb250cmFjdFR5cGUuVHJpZ2dlclNtYXJ0Q29udHJhY3QsXG4gICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgdmFsdWU6IGNvbnRyYWN0Qnl0ZXMsXG4gICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmlnZ2VyU21hcnRDb250cmFjdCcsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcmF3ID0ge1xuICAgICAgcmVmQmxvY2tCeXRlczogQnVmZmVyLmZyb20odGhpcy5fcmVmQmxvY2tCeXRlcywgJ2hleCcpLFxuICAgICAgcmVmQmxvY2tIYXNoOiBCdWZmZXIuZnJvbSh0aGlzLl9yZWZCbG9ja0hhc2gsICdoZXgnKSxcbiAgICAgIGV4cGlyYXRpb246IHRoaXMuX2V4cGlyYXRpb24gfHwgRGF0ZS5ub3coKSArIFRSQU5TQUNUSU9OX0RFRkFVTFRfRVhQSVJBVElPTixcbiAgICAgIHRpbWVzdGFtcDogdGhpcy5fdGltZXN0YW1wIHx8IERhdGUubm93KCksXG4gICAgICBjb250cmFjdDogW3R4Q29udHJhY3RdLFxuICAgICAgZmVlTGltaXQ6IHBhcnNlSW50KHRoaXMuX2ZlZS5mZWVMaW1pdCwgMTApLFxuICAgIH07XG4gICAgY29uc3QgcmF3VHggPSBwcm90b2NvbC5UcmFuc2FjdGlvbi5yYXcuY3JlYXRlKHJhdyk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHByb3RvY29sLlRyYW5zYWN0aW9uLnJhdy5lbmNvZGUocmF3VHgpLmZpbmlzaCgpKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U2lnbmF0dXJlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb24uaW5wdXRzKSB7XG4gICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdUcmFuc2FjdGlvbiBoYXMgbm8gaW5wdXRzJyk7XG4gICAgfVxuICAgIHRoaXMuX3NpZ25pbmdLZXlzLmZvckVhY2goKGtleSkgPT4gdGhpcy5hcHBseVNpZ25hdHVyZShrZXkpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAvLyBTcGVjaWZpY2FsbHksIGNoZWNrcyBoZXggdW5kZXJseWluZyB0cmFuc2FjdGlvbiBoYXNoZXMgdG8gY29ycmVjdCB0cmFuc2FjdGlvbiBJRC5cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKSB7XG4gICAgaWYgKCF0aGlzLl9kYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIHBhcmFtZXRlcjogZGF0YScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX293bmVyQWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBwYXJhbWV0ZXI6IHNvdXJjZScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3RvQ29udHJhY3RBZGRyZXNzKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIHBhcmFtZXRlcjogY29udHJhY3QgYWRkcmVzcycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3JlZkJsb2NrQnl0ZXMgfHwgIXRoaXMuX3JlZkJsb2NrSGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBibG9jayByZWZlcmVuY2UgaW5mb3JtYXRpb24nKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9mZWUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgZmVlJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { TransactionReceipt } from './iface';
4
+ import { ResourceManagementTxBuilder } from './resourceManagementTxBuilder';
5
+ export declare class DelegateResourceTxBuilder extends ResourceManagementTxBuilder {
6
+ constructor(_coinConfig: Readonly<CoinConfig>);
7
+ /** @inheritdoc */
8
+ protected get transactionType(): TransactionType;
9
+ /**
10
+ * Initialize the transaction builder fields using the transaction data
11
+ *
12
+ * @param {TransactionReceipt | string} rawTransaction the transaction data in a string or JSON format
13
+ * @returns {DelegateResourceTxBuilder} the builder with the transaction data set
14
+ */
15
+ initBuilder(rawTransaction: TransactionReceipt | string): this;
16
+ /**
17
+ * Helper method to create the delegate resource transaction
18
+ */
19
+ protected createResourceManagementTransaction(): void;
20
+ /**
21
+ * Helper method to get the delegate resource transaction raw data hex
22
+ *
23
+ * @returns {string} the delegate resource transaction raw data hex
24
+ */
25
+ protected getResourceManagementTxRawDataHex(): string;
26
+ }
27
+ //# sourceMappingURL=delegateResourceTxBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegateResourceTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/delegateResourceTxBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAA8B,MAAM,SAAS,CAAC;AAMzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,qBAAa,yBAA0B,SAAQ,2BAA2B;gBAC5D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;OAKG;IACH,WAAW,CAAC,cAAc,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAgB9D;;OAEG;IACH,SAAS,CAAC,mCAAmC,IAAI,IAAI;IAsBrD;;;;OAIG;IACH,SAAS,CAAC,iCAAiC,IAAI,MAAM;CA0BtD"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DelegateResourceTxBuilder = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ const transaction_1 = require("./transaction");
7
+ const utils_1 = require("./utils");
8
+ const tron_1 = require("../../resources/protobuf/tron");
9
+ const constants_1 = require("./constants");
10
+ var ContractType = tron_1.protocol.Transaction.Contract.ContractType;
11
+ const resourceManagementTxBuilder_1 = require("./resourceManagementTxBuilder");
12
+ class DelegateResourceTxBuilder extends resourceManagementTxBuilder_1.ResourceManagementTxBuilder {
13
+ constructor(_coinConfig) {
14
+ super(_coinConfig);
15
+ }
16
+ /** @inheritdoc */
17
+ get transactionType() {
18
+ return sdk_core_1.TransactionType.DelegateResource;
19
+ }
20
+ /**
21
+ * Initialize the transaction builder fields using the transaction data
22
+ *
23
+ * @param {TransactionReceipt | string} rawTransaction the transaction data in a string or JSON format
24
+ * @returns {DelegateResourceTxBuilder} the builder with the transaction data set
25
+ */
26
+ initBuilder(rawTransaction) {
27
+ this.validateRawTransaction(rawTransaction);
28
+ const tx = this.fromImplementation(rawTransaction);
29
+ this.transaction = tx;
30
+ this._signingKeys = [];
31
+ const rawData = tx.toJson().raw_data;
32
+ this._refBlockBytes = rawData.ref_block_bytes;
33
+ this._refBlockHash = rawData.ref_block_hash;
34
+ this._expiration = rawData.expiration;
35
+ this._timestamp = rawData.timestamp;
36
+ this.transaction.setTransactionType(sdk_core_1.TransactionType.DelegateResource);
37
+ const contractCall = rawData.contract[0];
38
+ this.initResourceManagementContractCall(contractCall);
39
+ return this;
40
+ }
41
+ /**
42
+ * Helper method to create the delegate resource transaction
43
+ */
44
+ createResourceManagementTransaction() {
45
+ const rawDataHex = this.getResourceManagementTxRawDataHex();
46
+ const rawData = (0, utils_1.decodeTransaction)(rawDataHex);
47
+ const contract = rawData.contract[0];
48
+ const contractParameter = contract.parameter;
49
+ contractParameter.value.owner_address = this._ownerAddress.toLocaleLowerCase();
50
+ contractParameter.value.balance = Number(this._balance);
51
+ contractParameter.value.receiver_address = this._receiverAddress.toLocaleLowerCase();
52
+ contractParameter.value.resource = this._resource;
53
+ contractParameter.type_url = constants_1.DELEGATION_TYPE_URL;
54
+ contract.type = 'DelegateResourceContract';
55
+ const hexBuffer = Buffer.from(rawDataHex, 'hex');
56
+ const id = (0, crypto_1.createHash)('sha256').update(hexBuffer).digest('hex');
57
+ const txReceipt = {
58
+ raw_data: rawData,
59
+ raw_data_hex: rawDataHex,
60
+ txID: id,
61
+ signature: this.transaction.signature,
62
+ };
63
+ this.transaction = new transaction_1.Transaction(this._coinConfig, txReceipt);
64
+ }
65
+ /**
66
+ * Helper method to get the delegate resource transaction raw data hex
67
+ *
68
+ * @returns {string} the delegate resource transaction raw data hex
69
+ */
70
+ getResourceManagementTxRawDataHex() {
71
+ const rawContract = {
72
+ ownerAddress: (0, utils_1.getByteArrayFromHexAddress)(this._ownerAddress),
73
+ receiverAddress: (0, utils_1.getByteArrayFromHexAddress)(this._receiverAddress),
74
+ balance: this._balance,
75
+ resource: this._resource,
76
+ };
77
+ const delegateResourceContract = tron_1.protocol.DelegateResourceContract.fromObject(rawContract);
78
+ const delegateResourceContractBytes = tron_1.protocol.DelegateResourceContract.encode(delegateResourceContract).finish();
79
+ const txContract = {
80
+ type: ContractType.DelegateResourceContract,
81
+ parameter: {
82
+ value: delegateResourceContractBytes,
83
+ type_url: constants_1.DELEGATION_TYPE_URL,
84
+ },
85
+ };
86
+ const raw = {
87
+ refBlockBytes: Buffer.from(this._refBlockBytes, 'hex'),
88
+ refBlockHash: Buffer.from(this._refBlockHash, 'hex'),
89
+ expiration: this._expiration || Date.now() + utils_1.TRANSACTION_DEFAULT_EXPIRATION,
90
+ timestamp: this._timestamp || Date.now(),
91
+ contract: [txContract],
92
+ };
93
+ const rawTx = tron_1.protocol.Transaction.raw.create(raw);
94
+ return Buffer.from(tron_1.protocol.Transaction.raw.encode(rawTx).finish()).toString('hex');
95
+ }
96
+ }
97
+ exports.DelegateResourceTxBuilder = DelegateResourceTxBuilder;
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBb0M7QUFDcEMsbURBQXVEO0FBR3ZELCtDQUE0QztBQUU1QyxtQ0FBd0c7QUFDeEcsd0RBQXlEO0FBQ3pELDJDQUFrRDtBQUVsRCxJQUFPLFlBQVksR0FBRyxlQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7QUFDakUsK0VBQTRFO0FBRTVFLE1BQWEseUJBQTBCLFNBQVEseURBQTJCO0lBQ3hFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsY0FBMkM7UUFDckQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxD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LEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQztZQUNwRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsc0NBQThCO1lBQzNFLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQ3ZCLENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxlQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0NBQ0Y7QUF4RkQsOERBd0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlY2VpcHQsIFJlc291cmNlTWFuYWdlbWVudENvbnRyYWN0IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBkZWNvZGVUcmFuc2FjdGlvbiwgZ2V0Qnl0ZUFycmF5RnJvbUhleEFkZHJlc3MsIFRSQU5TQUNUSU9OX0RFRkFVTFRfRVhQSVJBVElPTiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgcHJvdG9jb2wgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcHJvdG9idWYvdHJvbic7XG5pbXBvcnQgeyBERUxFR0FUSU9OX1RZUEVfVVJMIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgQ29udHJhY3RUeXBlID0gcHJvdG9jb2wuVHJhbnNhY3Rpb24uQ29udHJhY3QuQ29udHJhY3RUeXBlO1xuaW1wb3J0IHsgUmVzb3VyY2VNYW5hZ2VtZW50VHhCdWlsZGVyIH0gZnJvbSAnLi9yZXNvdXJjZU1hbmFnZW1lbnRUeEJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgRGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlciBleHRlbmRzIFJlc291cmNlTWFuYWdlbWVudFR4QnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuRGVsZWdhdGVSZXNvdXJjZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZ30gcmF3VHJhbnNhY3Rpb24gdGhlIHRyYW5zYWN0aW9uIGRhdGEgaW4gYSBzdHJpbmcgb3IgSlNPTiBmb3JtYXRcbiAgICogQHJldHVybnMge0RlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIHRyYW5zYWN0aW9uIGRhdGEgc2V0XG4gICAqL1xuICBpbml0QnVpbGRlcihyYXdUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBjb25zdCB0eCA9IHRoaXMuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gdHg7XG4gICAgdGhpcy5fc2lnbmluZ0tleXMgPSBbXTtcbiAgICBjb25zdCByYXdEYXRhID0gdHgudG9Kc29uKCkucmF3X2RhdGE7XG4gICAgdGhpcy5fcmVmQmxvY2tCeXRlcyA9IHJhd0RhdGEucmVmX2Jsb2NrX2J5dGVzO1xuICAgIHRoaXMuX3JlZkJsb2NrSGFzaCA9IHJhd0RhdGEucmVmX2Jsb2NrX2hhc2g7XG4gICAgdGhpcy5fZXhwaXJhdGlvbiA9IHJhd0RhdGEuZXhwaXJhdGlvbjtcbiAgICB0aGlzLl90aW1lc3RhbXAgPSByYXdEYXRhLnRpbWVzdGFtcDtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuRGVsZWdhdGVSZXNvdXJjZSk7XG4gICAgY29uc3QgY29udHJhY3RDYWxsID0gcmF3RGF0YS5jb250cmFjdFswXSBhcyBSZXNvdXJjZU1hbmFnZW1lbnRDb250cmFjdDtcbiAgICB0aGlzLmluaXRSZXNvdXJjZU1hbmFnZW1lbnRDb250cmFjdENhbGwoY29udHJhY3RDYWxsKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGNyZWF0ZSB0aGUgZGVsZWdhdGUgcmVzb3VyY2UgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZU1hbmFnZW1lbnRUcmFuc2FjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCByYXdEYXRhSGV4ID0gdGhpcy5nZXRSZXNvdXJjZU1hbmFnZW1lbnRUeFJhd0RhdGFIZXgoKTtcbiAgICBjb25zdCByYXdEYXRhID0gZGVjb2RlVHJhbnNhY3Rpb24ocmF3RGF0YUhleCk7XG4gICAgY29uc3QgY29udHJhY3QgPSByYXdEYXRhLmNvbnRyYWN0WzBdIGFzIFJlc291cmNlTWFuYWdlbWVudENvbnRyYWN0O1xuICAgIGNvbnN0IGNvbnRyYWN0UGFyYW1ldGVyID0gY29udHJhY3QucGFyYW1ldGVyO1xuICAgIGNvbnRyYWN0UGFyYW1ldGVyLnZhbHVlLm93bmVyX2FkZHJlc3MgPSB0aGlzLl9vd25lckFkZHJlc3MudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBjb250cmFjdFBhcmFtZXRlci52YWx1ZS5iYWxhbmNlID0gTnVtYmVyKHRoaXMuX2JhbGFuY2UpO1xuICAgIGNvbnRyYWN0UGFyYW1ldGVyLnZhbHVlLnJlY2VpdmVyX2FkZHJlc3MgPSB0aGlzLl9yZWNlaXZlckFkZHJlc3MudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBjb250cmFjdFBhcmFtZXRlci52YWx1ZS5yZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNlO1xuICAgIGNvbnRyYWN0UGFyYW1ldGVyLnR5cGVfdXJsID0gREVMRUdBVElPTl9UWVBFX1VSTDtcbiAgICBjb250cmFjdC50eXBlID0gJ0RlbGVnYXRlUmVzb3VyY2VDb250cmFjdCc7XG4gICAgY29uc3QgaGV4QnVmZmVyID0gQnVmZmVyLmZyb20ocmF3RGF0YUhleCwgJ2hleCcpO1xuICAgIGNvbnN0IGlkID0gY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKGhleEJ1ZmZlcikuZGlnZXN0KCdoZXgnKTtcbiAgICBjb25zdCB0eFJlY2VpcHQ6IFRyYW5zYWN0aW9uUmVjZWlwdCA9IHtcbiAgICAgIHJhd19kYXRhOiByYXdEYXRhLFxuICAgICAgcmF3X2RhdGFfaGV4OiByYXdEYXRhSGV4LFxuICAgICAgdHhJRDogaWQsXG4gICAgICBzaWduYXR1cmU6IHRoaXMudHJhbnNhY3Rpb24uc2lnbmF0dXJlLFxuICAgIH07XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0eFJlY2VpcHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gZ2V0IHRoZSBkZWxlZ2F0ZSByZXNvdXJjZSB0cmFuc2FjdGlvbiByYXcgZGF0YSBoZXhcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIGRlbGVnYXRlIHJlc291cmNlIHRyYW5zYWN0aW9uIHJhdyBkYXRhIGhleFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFJlc291cmNlTWFuYWdlbWVudFR4UmF3RGF0YUhleCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJhd0NvbnRyYWN0ID0ge1xuICAgICAgb3duZXJBZGRyZXNzOiBnZXRCeXRlQXJyYXlGcm9tSGV4QWRkcmVzcyh0aGlzLl9vd25lckFkZHJlc3MpLFxuICAgICAgcmVjZWl2ZXJBZGRyZXNzOiBnZXRCeXRlQXJyYXlGcm9tSGV4QWRkcmVzcyh0aGlzLl9yZWNlaXZlckFkZHJlc3MpLFxuICAgICAgYmFsYW5jZTogdGhpcy5fYmFsYW5jZSxcbiAgICAgIHJlc291cmNlOiB0aGlzLl9yZXNvdXJjZSxcbiAgICB9O1xuICAgIGNvbnN0IGRlbGVnYXRlUmVzb3VyY2VDb250cmFjdCA9IHByb3RvY29sLkRlbGVnYXRlUmVzb3VyY2VDb250cmFjdC5mcm9tT2JqZWN0KHJhd0NvbnRyYWN0KTtcbiAgICBjb25zdCBkZWxlZ2F0ZVJlc291cmNlQ29udHJhY3RCeXRlcyA9IHByb3RvY29sLkRlbGVnYXRlUmVzb3VyY2VDb250cmFjdC5lbmNvZGUoZGVsZWdhdGVSZXNvdXJjZUNvbnRyYWN0KS5maW5pc2goKTtcbiAgICBjb25zdCB0eENvbnRyYWN0ID0ge1xuICAgICAgdHlwZTogQ29udHJhY3RUeXBlLkRlbGVnYXRlUmVzb3VyY2VDb250cmFjdCxcbiAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICB2YWx1ZTogZGVsZWdhdGVSZXNvdXJjZUNvbnRyYWN0Qnl0ZXMsXG4gICAgICAgIHR5cGVfdXJsOiBERUxFR0FUSU9OX1RZUEVfVVJMLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHJhdyA9IHtcbiAgICAgIHJlZkJsb2NrQnl0ZXM6IEJ1ZmZlci5mcm9tKHRoaXMuX3JlZkJsb2NrQnl0ZXMsICdoZXgnKSxcbiAgICAgIHJlZkJsb2NrSGFzaDogQnVmZmVyLmZyb20odGhpcy5fcmVmQmxvY2tIYXNoLCAnaGV4JyksXG4gICAgICBleHBpcmF0aW9uOiB0aGlzLl9leHBpcmF0aW9uIHx8IERhdGUubm93KCkgKyBUUkFOU0FDVElPTl9ERUZBVUxUX0VYUElSQVRJT04sXG4gICAgICB0aW1lc3RhbXA6IHRoaXMuX3RpbWVzdGFtcCB8fCBEYXRlLm5vdygpLFxuICAgICAgY29udHJhY3Q6IFt0eENvbnRyYWN0XSxcbiAgICB9O1xuICAgIGNvbnN0IHJhd1R4ID0gcHJvdG9jb2wuVHJhbnNhY3Rpb24ucmF3LmNyZWF0ZShyYXcpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShwcm90b2NvbC5UcmFuc2FjdGlvbi5yYXcuZW5jb2RlKHJhd1R4KS5maW5pc2goKSkudG9TdHJpbmcoJ2hleCcpO1xuICB9XG59XG4iXX0=
@@ -13,11 +13,46 @@ export declare enum ContractType {
13
13
  /**
14
14
  * This is a smart contract type.
15
15
  */
16
- TriggerSmartContract = 2
16
+ TriggerSmartContract = 2,
17
+ /**
18
+ * This is the contract for freezeBuilder
19
+ */
20
+ FreezeBalanceV2 = 3,
21
+ /**
22
+ * This is the contract for voting for witnesses
23
+ */
24
+ VoteWitness = 4,
25
+ /**
26
+ * This is the contract for unfreezing balances
27
+ */
28
+ UnfreezeBalanceV2 = 5,
29
+ /**
30
+ * This is the contract for withdrawing expired unfrozen balances
31
+ */
32
+ WithdrawExpireUnfreeze = 6,
33
+ /**
34
+ * This is the contract for withdrawing reward balances
35
+ */
36
+ WithdrawBalance = 7,
37
+ /**
38
+ * This is the contract for delegating resource
39
+ */
40
+ DelegateResourceContract = 8,
41
+ /**
42
+ * This is the contract for un-delegating resource
43
+ */
44
+ UnDelegateResourceContract = 9
17
45
  }
18
46
  export declare enum PermissionType {
19
47
  Owner = 0,
20
48
  Witness = 1,
21
49
  Active = 2
22
50
  }
51
+ /**
52
+ * Tron resource types
53
+ */
54
+ export declare enum TronResource {
55
+ BANDWIDTH = "BANDWIDTH",
56
+ ENERGY = "ENERGY"
57
+ }
23
58
  //# sourceMappingURL=enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/lib/enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,QAAQ,IAAA;IACR;;OAEG;IACH,uBAAuB,IAAA;IACvB;;OAEG;IACH,oBAAoB,IAAA;CACrB;AAED,oBAAY,cAAc;IACxB,KAAK,IAAA;IACL,OAAO,IAAA;IACP,MAAM,IAAA;CACP"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/lib/enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,QAAQ,IAAA;IACR;;OAEG;IACH,uBAAuB,IAAA;IACvB;;OAEG;IACH,oBAAoB,IAAA;IACpB;;OAEG;IACH,eAAe,IAAA;IACf;;OAEG;IACH,WAAW,IAAA;IACX;;OAEG;IACH,iBAAiB,IAAA;IACjB;;OAEG;IACH,sBAAsB,IAAA;IACtB;;OAEG;IACH,eAAe,IAAA;IACf;;OAEG;IACH,wBAAwB,IAAA;IACxB;;OAEG;IACH,0BAA0B,IAAA;CAC3B;AAED,oBAAY,cAAc;IACxB,KAAK,IAAA;IACL,OAAO,IAAA;IACP,MAAM,IAAA;CACP;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB"}