@bitgo-beta/sdk-coin-trx 1.2.3-alpha.33 → 1.2.3-alpha.331

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 (67) hide show
  1. package/CHANGELOG.md +904 -0
  2. package/dist/resources/protobuf/Contract.proto +32 -0
  3. package/dist/resources/protobuf/tron.d.ts +1478 -214
  4. package/dist/resources/protobuf/tron.js +6312 -2600
  5. package/dist/resources/protobuf/tron.proto +6 -0
  6. package/dist/src/index.js +6 -2
  7. package/dist/src/lib/constants.d.ts +3 -0
  8. package/dist/src/lib/constants.d.ts.map +1 -0
  9. package/dist/src/lib/constants.js +6 -0
  10. package/dist/src/lib/contractCallBuilder.d.ts +1 -35
  11. package/dist/src/lib/contractCallBuilder.d.ts.map +1 -1
  12. package/dist/src/lib/contractCallBuilder.js +12 -75
  13. package/dist/src/lib/delegateResourceTxBuilder.d.ts +27 -0
  14. package/dist/src/lib/delegateResourceTxBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/delegateResourceTxBuilder.js +98 -0
  16. package/dist/src/lib/enum.d.ts +32 -1
  17. package/dist/src/lib/enum.d.ts.map +1 -1
  18. package/dist/src/lib/enum.js +36 -4
  19. package/dist/src/lib/freezeBalanceTxBuilder.d.ts +71 -0
  20. package/dist/src/lib/freezeBalanceTxBuilder.d.ts.map +1 -0
  21. package/dist/src/lib/freezeBalanceTxBuilder.js +211 -0
  22. package/dist/src/lib/iface.d.ts +216 -2
  23. package/dist/src/lib/iface.d.ts.map +1 -1
  24. package/dist/src/lib/iface.js +1 -1
  25. package/dist/src/lib/index.js +23 -9
  26. package/dist/src/lib/keyPair.d.ts +0 -1
  27. package/dist/src/lib/keyPair.d.ts.map +1 -1
  28. package/dist/src/lib/keyPair.js +31 -18
  29. package/dist/src/lib/resourceManagementTxBuilder.d.ts +72 -0
  30. package/dist/src/lib/resourceManagementTxBuilder.d.ts.map +1 -0
  31. package/dist/src/lib/resourceManagementTxBuilder.js +150 -0
  32. package/dist/src/lib/tokenTransferBuilder.d.ts +1 -1
  33. package/dist/src/lib/tokenTransferBuilder.js +3 -3
  34. package/dist/src/lib/transaction.d.ts.map +1 -1
  35. package/dist/src/lib/transaction.js +80 -6
  36. package/dist/src/lib/transactionBuilder.d.ts +50 -5
  37. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  38. package/dist/src/lib/transactionBuilder.js +110 -21
  39. package/dist/src/lib/undelegateResourceTxBuilder.d.ts +27 -0
  40. package/dist/src/lib/undelegateResourceTxBuilder.d.ts.map +1 -0
  41. package/dist/src/lib/undelegateResourceTxBuilder.js +98 -0
  42. package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts +65 -0
  43. package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts.map +1 -0
  44. package/dist/src/lib/unfreezeBalanceTxBuilder.js +204 -0
  45. package/dist/src/lib/utils.d.ts +49 -4
  46. package/dist/src/lib/utils.d.ts.map +1 -1
  47. package/dist/src/lib/utils.js +331 -47
  48. package/dist/src/lib/voteWitnessTxBuilder.d.ts +62 -0
  49. package/dist/src/lib/voteWitnessTxBuilder.d.ts.map +1 -0
  50. package/dist/src/lib/voteWitnessTxBuilder.js +219 -0
  51. package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts +49 -0
  52. package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts.map +1 -0
  53. package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.js +167 -0
  54. package/dist/src/lib/wrappedBuilder.d.ts +48 -0
  55. package/dist/src/lib/wrappedBuilder.d.ts.map +1 -1
  56. package/dist/src/lib/wrappedBuilder.js +74 -2
  57. package/dist/src/trx.d.ts +58 -4
  58. package/dist/src/trx.d.ts.map +1 -1
  59. package/dist/src/trx.js +320 -146
  60. package/dist/src/trxToken.d.ts +2 -2
  61. package/dist/src/trxToken.d.ts.map +1 -1
  62. package/dist/src/trxToken.js +5 -5
  63. package/package.json +16 -14
  64. package/resources/protobuf/Contract.proto +32 -0
  65. package/resources/protobuf/tron.d.ts +1478 -214
  66. package/resources/protobuf/tron.js +6312 -2600
  67. package/resources/protobuf/tron.proto +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"wrappedBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/wrappedBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,mBAAmB;IAI7E,qBAAqB,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,kBAAkB;IAI3E,uBAAuB,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,oBAAoB;IAI/E,OAAO,CAAC,iBAAiB;IAOzB,kBAAkB;IAClB,aAAa,CAAC,WAAW,EAAE,MAAM;IAIjC,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO;IAIjB,kBAAkB;IACZ,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAIvC,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,GAAG;IAiBb;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIvC,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAO/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAIjD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAInD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAGtC"}
1
+ {"version":3,"file":"wrappedBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/wrappedBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,mBAAmB;IAI7E,qBAAqB,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,kBAAkB;IAI3E,uBAAuB,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,oBAAoB;IAI/E;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,sBAAsB;IAIrF;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,oBAAoB;IAI/E;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,wBAAwB;IAIzF;;;;;OAKG;IACH,kCAAkC,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,+BAA+B;IAIrG;;;;;OAKG;IACH,4BAA4B,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,yBAAyB;IAIzF;;;;;OAKG;IACH,8BAA8B,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,2BAA2B;IAI7F,OAAO,CAAC,iBAAiB;IAOzB,kBAAkB;IAClB,aAAa,CAAC,WAAW,EAAE,MAAM;IAIjC,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO;IAIjB,kBAAkB;IACZ,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAIvC,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,GAAG;IA6Bb;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIvC,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAO/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAIjD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAInD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAGtC"}
@@ -8,6 +8,12 @@ const utils_1 = require("./utils");
8
8
  const enum_1 = require("./enum");
9
9
  const contractCallBuilder_1 = require("./contractCallBuilder");
10
10
  const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
11
+ const freezeBalanceTxBuilder_1 = require("./freezeBalanceTxBuilder");
12
+ const voteWitnessTxBuilder_1 = require("./voteWitnessTxBuilder");
13
+ const unfreezeBalanceTxBuilder_1 = require("./unfreezeBalanceTxBuilder");
14
+ const withdrawExpireUnfreezeTxBuilder_1 = require("./withdrawExpireUnfreezeTxBuilder");
15
+ const delegateResourceTxBuilder_1 = require("./delegateResourceTxBuilder");
16
+ const undelegateResourceTxBuilder_1 = require("./undelegateResourceTxBuilder");
11
17
  /**
12
18
  * Wrapped Builder class
13
19
  * This builder is created to maintain compatibility with the current uses of account-lib
@@ -34,6 +40,60 @@ class WrappedBuilder extends transactionBuilder_1.TransactionBuilder {
34
40
  getTokenTransferBuilder(tx) {
35
41
  return this.initializeBuilder(tx, new tokenTransferBuilder_1.TokenTransferBuilder(this._coinConfig));
36
42
  }
43
+ /**
44
+ * Returns a specific builder to create a freeze balance transaction
45
+ *
46
+ * @param {TransactionReceipt} transaction - The transaction to initialize builder
47
+ * @returns {FreezeBalanceTxBuilder} The specific freeze balance builder
48
+ */
49
+ getFreezeBalanceV2TxBuilder(tx) {
50
+ return this.initializeBuilder(tx, new freezeBalanceTxBuilder_1.FreezeBalanceTxBuilder(this._coinConfig));
51
+ }
52
+ /**
53
+ * Returns a specific builder to create a vote witness transaction
54
+ *
55
+ * @param {TransactionReceipt} transaction - The transaction to initialize builder
56
+ * @returns {VoteWitnessTxBuilder} The specific vote witness builder
57
+ */
58
+ getVoteWitnessTxBuilder(tx) {
59
+ return this.initializeBuilder(tx, new voteWitnessTxBuilder_1.VoteWitnessTxBuilder(this._coinConfig));
60
+ }
61
+ /**
62
+ * Returns a specific builder to create an unfreeze balance transaction
63
+ *
64
+ * @param {Transaction} [tx] The transaction to initialize builder
65
+ * @returns {UnfreezeBalanceTxBuilder} The specific unfreeze builder
66
+ */
67
+ getUnfreezeBalanceV2TxBuilder(tx) {
68
+ return this.initializeBuilder(tx, new unfreezeBalanceTxBuilder_1.UnfreezeBalanceTxBuilder(this._coinConfig));
69
+ }
70
+ /**
71
+ * Returns a specific builder to create a withdraw expire unfreeze transaction
72
+ *
73
+ * @param {Transaction} [tx] The transaction to initialize builder
74
+ * @returns {WithdrawExpireUnfreezeTxBuilder} The specific withdraw builder
75
+ */
76
+ getWithdrawExpireUnfreezeTxBuilder(tx) {
77
+ return this.initializeBuilder(tx, new withdrawExpireUnfreezeTxBuilder_1.WithdrawExpireUnfreezeTxBuilder(this._coinConfig));
78
+ }
79
+ /**
80
+ * Returns a specific builder to create a delegate resource transaction
81
+ *
82
+ * @param {TransactionReceipt | string} [tx] The transaction to initialize builder
83
+ * @returns {DelegateResourceTxBuilder} The specific delegate resource builder
84
+ */
85
+ getDelegateResourceTxBuilder(tx) {
86
+ return this.initializeBuilder(tx, new delegateResourceTxBuilder_1.DelegateResourceTxBuilder(this._coinConfig));
87
+ }
88
+ /**
89
+ * Returns a specific builder to create a undelegate resource transaction
90
+ *
91
+ * @param {TransactionReceipt | string} [tx] The transaction to initialize builder
92
+ * @returns {UndelegateResourceTxBuilder} The specific delegate resource builder
93
+ */
94
+ getUnDelegateResourceTxBuilder(tx) {
95
+ return this.initializeBuilder(tx, new undelegateResourceTxBuilder_1.UndelegateResourceTxBuilder(this._coinConfig));
96
+ }
37
97
  initializeBuilder(tx, builder) {
38
98
  if (tx) {
39
99
  builder.initBuilder(tx);
@@ -56,7 +116,7 @@ class WrappedBuilder extends transactionBuilder_1.TransactionBuilder {
56
116
  from(raw) {
57
117
  this.validateRawTransaction(raw);
58
118
  const rawDataHex = this.getTxReceipt(raw);
59
- const decodedTx = utils_1.decodeTransaction(rawDataHex);
119
+ const decodedTx = (0, utils_1.decodeTransaction)(rawDataHex);
60
120
  const contractType = decodedTx.contractType;
61
121
  switch (contractType) {
62
122
  case enum_1.ContractType.Transfer:
@@ -65,6 +125,18 @@ class WrappedBuilder extends transactionBuilder_1.TransactionBuilder {
65
125
  return this._builder;
66
126
  case enum_1.ContractType.TriggerSmartContract:
67
127
  return this.getContractCallBuilder(raw);
128
+ case enum_1.ContractType.FreezeBalanceV2:
129
+ return this.getFreezeBalanceV2TxBuilder(raw);
130
+ case enum_1.ContractType.VoteWitness:
131
+ return this.getVoteWitnessTxBuilder(raw);
132
+ case enum_1.ContractType.UnfreezeBalanceV2:
133
+ return this.getUnfreezeBalanceV2TxBuilder(raw);
134
+ case enum_1.ContractType.WithdrawExpireUnfreeze:
135
+ return this.getWithdrawExpireUnfreezeTxBuilder(raw);
136
+ case enum_1.ContractType.DelegateResourceContract:
137
+ return this.getDelegateResourceTxBuilder(raw);
138
+ case enum_1.ContractType.UnDelegateResourceContract:
139
+ return this.getUnDelegateResourceTxBuilder(raw);
68
140
  default:
69
141
  throw new sdk_core_1.InvalidTransactionError('Invalid transaction type: ' + contractType);
70
142
  }
@@ -105,4 +177,4 @@ class WrappedBuilder extends transactionBuilder_1.TransactionBuilder {
105
177
  }
106
178
  }
107
179
  exports.WrappedBuilder = WrappedBuilder;
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dyYXBwZWRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1EQUF5RjtBQUd6Riw2REFBMEQ7QUFDMUQsdUNBQW9DO0FBQ3BDLG1DQUE0QztBQUM1QyxpQ0FBc0M7QUFDdEMsK0RBQTREO0FBRTVELGlFQUE4RDtBQUU5RDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsdUNBQWtCO0lBR3BELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksdUNBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQUMsRUFBZ0M7UUFDckQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseUNBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQWdDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHVDQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxFQUFnQztRQUN0RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU8saUJBQWlCLENBQStCLEVBQTJDLEVBQUUsT0FBVTtRQUM3RyxJQUFJLEVBQUUsRUFBRTtZQUNOLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxXQUFtQjtRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFZO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMsS0FBSztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFRO1FBQ1gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUcseUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUM1QyxRQUFRLFlBQVksRUFBRTtZQUNwQixLQUFLLG1CQUFZLENBQUMsUUFBUSxDQUFDO1lBQzNCLEtBQUssbUJBQVksQ0FBQyx1QkFBdUI7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkIsS0FBSyxtQkFBWSxDQUFDLG9CQUFvQjtnQkFDcEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUM7Z0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDRCQUE0QixHQUFHLFlBQVksQ0FBQyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssWUFBWSxDQUFDLEdBQW9DO1FBQ3ZELE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZUFBZSxDQUFDLE9BQWdCO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEdBQVk7UUFDdEIsSUFBSTtZQUNGLElBQUksaUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUMvQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUNELGtCQUFrQjtJQUNsQixzQkFBc0IsQ0FBQyxjQUFtQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsV0FBd0I7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUF4R0Qsd0NBd0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZUtleSwgQmFzZVRyYW5zYWN0aW9uLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi9hZGRyZXNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgZGVjb2RlVHJhbnNhY3Rpb24gfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENvbnRyYWN0VHlwZSB9IGZyb20gJy4vZW51bSc7XG5pbXBvcnQgeyBDb250cmFjdENhbGxCdWlsZGVyIH0gZnJvbSAnLi9jb250cmFjdENhbGxCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Rva2VuVHJhbnNmZXJCdWlsZGVyJztcblxuLyoqXG4gKiBXcmFwcGVkIEJ1aWxkZXIgY2xhc3NcbiAqIFRoaXMgYnVpbGRlciBpcyBjcmVhdGVkIHRvIG1haW50YWluIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgY3VycmVudCB1c2VzIG9mIGFjY291bnQtbGliXG4gKiBJdCBoYXMgYW4gaW5zdGFuY2Ugb2YgVHJhbnNhY3Rpb24gQnVpbGRlciBvciBDb250cmFjdCBDYWxsIEJ1aWxkZXIgYXMgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBXcmFwcGVkQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2J1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgLy8gZGVmYXVsdHMgdG8gb2xkIGJ1aWxkZXJcbiAgICB0aGlzLl9idWlsZGVyID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgY29udHJhY3QgY2FsbCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSBbdHhdIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGJ1aWxkZXJcbiAgICogQHJldHVybnMge0NvbnRyYWN0Q2FsbEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyBjb250cmFjdCBjYWxsIGJ1aWxkZXJcbiAgICovXG4gIGdldENvbnRyYWN0Q2FsbEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiBDb250cmFjdENhbGxCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENvbnRyYWN0Q2FsbEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zYWN0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRUb2tlblRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IFRva2VuVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRva2VuVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyB8IHVuZGVmaW5lZCwgYnVpbGRlcjogVCk6IFQge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGV4dGVuZFZhbGlkVG8oZXh0ZW5zaW9uTXM6IG51bWJlcikge1xuICAgIHRoaXMuX2J1aWxkZXIuZXh0ZW5kVmFsaWRUbyhleHRlbnNpb25Ncyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc2lnbihrZXk6IEJhc2VLZXkpIHtcbiAgICB0aGlzLl9idWlsZGVyLnNpZ24oa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPEJhc2VUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLl9idWlsZGVyLmJ1aWxkKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IGFueSkge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIGNvbnN0IHJhd0RhdGFIZXggPSB0aGlzLmdldFR4UmVjZWlwdChyYXcpO1xuICAgIGNvbnN0IGRlY29kZWRUeCA9IGRlY29kZVRyYW5zYWN0aW9uKHJhd0RhdGFIZXgpO1xuICAgIGNvbnN0IGNvbnRyYWN0VHlwZSA9IGRlY29kZWRUeC5jb250cmFjdFR5cGU7XG4gICAgc3dpdGNoIChjb250cmFjdFR5cGUpIHtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLlRyYW5zZmVyOlxuICAgICAgY2FzZSBDb250cmFjdFR5cGUuQWNjb3VudFBlcm1pc3Npb25VcGRhdGU6XG4gICAgICAgIHRoaXMuX2J1aWxkZXIgPSB0aGlzLmdldFRyYW5zYWN0aW9uQnVpbGRlcihyYXcpO1xuICAgICAgICByZXR1cm4gdGhpcy5fYnVpbGRlcjtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLlRyaWdnZXJTbWFydENvbnRyYWN0OlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb250cmFjdENhbGxCdWlsZGVyKHJhdyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gdHlwZTogJyArIGNvbnRyYWN0VHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcmF3IGRhdGEgaGV4IGZyb20gYSByYXcgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9fSByYXcgdGhlIHJhdyB0cmFuc2FjdGlvbiBhcyBhIHN0cmluZyBvciBhcyBhbiBvYmplY3RcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIHJhdyBkYXRhIGhleFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRUeFJlY2VpcHQocmF3OiBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmF3WydyYXdfZGF0YV9oZXgnXSB8fCB0aGlzLmdldFR4UmVjZWlwdChKU09OLnBhcnNlKHJhdyBhcyBzdHJpbmcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQWRkcmVzcyk6IHZvaWQge1xuICAgIHRoaXMuX2J1aWxkZXIudmFsaWRhdGVBZGRyZXNzKGFkZHJlc3MpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBub3QgdmFsaWQnKTtcbiAgICB9XG4gIH1cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX2J1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9idWlsZGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX2J1aWxkZXIudmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dyYXBwZWRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1EQUF5RjtBQUd6Riw2REFBMEQ7QUFDMUQsdUNBQW9DO0FBQ3BDLG1DQUE0QztBQUM1QyxpQ0FBc0M7QUFDdEMsK0RBQTREO0FBRTVELGlFQUE4RDtBQUM5RCxxRUFBa0U7QUFDbEUsaUVBQThEO0FBQzlELHlFQUFzRTtBQUN0RSx1RkFBb0Y7QUFDcEYsMkVBQXdFO0FBQ3hFLCtFQUE0RTtBQUU1RTs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsdUNBQWtCO0lBR3BELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksdUNBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQUMsRUFBZ0M7UUFDckQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseUNBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQWdDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHVDQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxFQUFnQztRQUN0RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCwyQkFBMkIsQ0FBQyxFQUFnQztRQUMxRCxP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O0lBQ2xCLHNCQUFzQixDQUFDLGNBQW1CO1FBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixtQkFBbUIsQ0FBQyxXQUF3QjtRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsYUFBYSxDQUFDLEtBQWdCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQWhMRCx3Q0FnTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBCYXNlVHJhbnNhY3Rpb24sIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuL2FkZHJlc3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBkZWNvZGVUcmFuc2FjdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQ29udHJhY3RUeXBlIH0gZnJvbSAnLi9lbnVtJztcbmltcG9ydCB7IENvbnRyYWN0Q2FsbEJ1aWxkZXIgfSBmcm9tICcuL2NvbnRyYWN0Q2FsbEJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNlaXB0IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUb2tlblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdG9rZW5UcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgRnJlZXplQmFsYW5jZVR4QnVpbGRlciB9IGZyb20gJy4vZnJlZXplQmFsYW5jZVR4QnVpbGRlcic7XG5pbXBvcnQgeyBWb3RlV2l0bmVzc1R4QnVpbGRlciB9IGZyb20gJy4vdm90ZVdpdG5lc3NUeEJ1aWxkZXInO1xuaW1wb3J0IHsgVW5mcmVlemVCYWxhbmNlVHhCdWlsZGVyIH0gZnJvbSAnLi91bmZyZWV6ZUJhbGFuY2VUeEJ1aWxkZXInO1xuaW1wb3J0IHsgV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlciB9IGZyb20gJy4vd2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlcic7XG5pbXBvcnQgeyBEZWxlZ2F0ZVJlc291cmNlVHhCdWlsZGVyIH0gZnJvbSAnLi9kZWxlZ2F0ZVJlc291cmNlVHhCdWlsZGVyJztcbmltcG9ydCB7IFVuZGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlciB9IGZyb20gJy4vdW5kZWxlZ2F0ZVJlc291cmNlVHhCdWlsZGVyJztcblxuLyoqXG4gKiBXcmFwcGVkIEJ1aWxkZXIgY2xhc3NcbiAqIFRoaXMgYnVpbGRlciBpcyBjcmVhdGVkIHRvIG1haW50YWluIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgY3VycmVudCB1c2VzIG9mIGFjY291bnQtbGliXG4gKiBJdCBoYXMgYW4gaW5zdGFuY2Ugb2YgVHJhbnNhY3Rpb24gQnVpbGRlciBvciBDb250cmFjdCBDYWxsIEJ1aWxkZXIgYXMgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBXcmFwcGVkQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2J1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgLy8gZGVmYXVsdHMgdG8gb2xkIGJ1aWxkZXJcbiAgICB0aGlzLl9idWlsZGVyID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgY29udHJhY3QgY2FsbCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSBbdHhdIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGJ1aWxkZXJcbiAgICogQHJldHVybnMge0NvbnRyYWN0Q2FsbEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyBjb250cmFjdCBjYWxsIGJ1aWxkZXJcbiAgICovXG4gIGdldENvbnRyYWN0Q2FsbEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiBDb250cmFjdENhbGxCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENvbnRyYWN0Q2FsbEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zYWN0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRUb2tlblRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IFRva2VuVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRva2VuVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgYnVpbGRlciB0byBjcmVhdGUgYSBmcmVlemUgYmFsYW5jZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUmVjZWlwdH0gdHJhbnNhY3Rpb24gLSBUaGUgdHJhbnNhY3Rpb24gdG8gaW5pdGlhbGl6ZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtGcmVlemVCYWxhbmNlVHhCdWlsZGVyfSBUaGUgc3BlY2lmaWMgZnJlZXplIGJhbGFuY2UgYnVpbGRlclxuICAgKi9cbiAgZ2V0RnJlZXplQmFsYW5jZVYyVHhCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogRnJlZXplQmFsYW5jZVR4QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBGcmVlemVCYWxhbmNlVHhCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgYnVpbGRlciB0byBjcmVhdGUgYSB2b3RlIHdpdG5lc3MgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblJlY2VpcHR9IHRyYW5zYWN0aW9uIC0gVGhlIHRyYW5zYWN0aW9uIHRvIGluaXRpYWxpemUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7Vm90ZVdpdG5lc3NUeEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyB2b3RlIHdpdG5lc3MgYnVpbGRlclxuICAgKi9cbiAgZ2V0Vm90ZVdpdG5lc3NUeEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiBWb3RlV2l0bmVzc1R4QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBWb3RlV2l0bmVzc1R4QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGFuIHVuZnJlZXplIGJhbGFuY2UgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gW3R4XSBUaGUgdHJhbnNhY3Rpb24gdG8gaW5pdGlhbGl6ZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtVbmZyZWV6ZUJhbGFuY2VUeEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyB1bmZyZWV6ZSBidWlsZGVyXG4gICAqL1xuICBnZXRVbmZyZWV6ZUJhbGFuY2VWMlR4QnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IFVuZnJlZXplQmFsYW5jZVR4QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBVbmZyZWV6ZUJhbGFuY2VUeEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIHdpdGhkcmF3IGV4cGlyZSB1bmZyZWV6ZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSBbdHhdIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1dpdGhkcmF3RXhwaXJlVW5mcmVlemVUeEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyB3aXRoZHJhdyBidWlsZGVyXG4gICAqL1xuICBnZXRXaXRoZHJhd0V4cGlyZVVuZnJlZXplVHhCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBXaXRoZHJhd0V4cGlyZVVuZnJlZXplVHhCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgYnVpbGRlciB0byBjcmVhdGUgYSBkZWxlZ2F0ZSByZXNvdXJjZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZ30gW3R4XSBUaGUgdHJhbnNhY3Rpb24gdG8gaW5pdGlhbGl6ZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtEZWxlZ2F0ZVJlc291cmNlVHhCdWlsZGVyfSBUaGUgc3BlY2lmaWMgZGVsZWdhdGUgcmVzb3VyY2UgYnVpbGRlclxuICAgKi9cbiAgZ2V0RGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IERlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgRGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgdW5kZWxlZ2F0ZSByZXNvdXJjZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZ30gW3R4XSBUaGUgdHJhbnNhY3Rpb24gdG8gaW5pdGlhbGl6ZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtVbmRlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyBkZWxlZ2F0ZSByZXNvdXJjZSBidWlsZGVyXG4gICAqL1xuICBnZXRVbkRlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiBVbmRlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVW5kZWxlZ2F0ZVJlc291cmNlVHhCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyB8IHVuZGVmaW5lZCwgYnVpbGRlcjogVCk6IFQge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGV4dGVuZFZhbGlkVG8oZXh0ZW5zaW9uTXM6IG51bWJlcikge1xuICAgIHRoaXMuX2J1aWxkZXIuZXh0ZW5kVmFsaWRUbyhleHRlbnNpb25Ncyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc2lnbihrZXk6IEJhc2VLZXkpIHtcbiAgICB0aGlzLl9idWlsZGVyLnNpZ24oa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPEJhc2VUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLl9idWlsZGVyLmJ1aWxkKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IGFueSkge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIGNvbnN0IHJhd0RhdGFIZXggPSB0aGlzLmdldFR4UmVjZWlwdChyYXcpO1xuICAgIGNvbnN0IGRlY29kZWRUeCA9IGRlY29kZVRyYW5zYWN0aW9uKHJhd0RhdGFIZXgpO1xuICAgIGNvbnN0IGNvbnRyYWN0VHlwZSA9IGRlY29kZWRUeC5jb250cmFjdFR5cGU7XG4gICAgc3dpdGNoIChjb250cmFjdFR5cGUpIHtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLlRyYW5zZmVyOlxuICAgICAgY2FzZSBDb250cmFjdFR5cGUuQWNjb3VudFBlcm1pc3Npb25VcGRhdGU6XG4gICAgICAgIHRoaXMuX2J1aWxkZXIgPSB0aGlzLmdldFRyYW5zYWN0aW9uQnVpbGRlcihyYXcpO1xuICAgICAgICByZXR1cm4gdGhpcy5fYnVpbGRlcjtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLlRyaWdnZXJTbWFydENvbnRyYWN0OlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb250cmFjdENhbGxCdWlsZGVyKHJhdyk7XG4gICAgICBjYXNlIENvbnRyYWN0VHlwZS5GcmVlemVCYWxhbmNlVjI6XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZyZWV6ZUJhbGFuY2VWMlR4QnVpbGRlcihyYXcpO1xuICAgICAgY2FzZSBDb250cmFjdFR5cGUuVm90ZVdpdG5lc3M6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZvdGVXaXRuZXNzVHhCdWlsZGVyKHJhdyk7XG4gICAgICBjYXNlIENvbnRyYWN0VHlwZS5VbmZyZWV6ZUJhbGFuY2VWMjpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VW5mcmVlemVCYWxhbmNlVjJUeEJ1aWxkZXIocmF3KTtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLldpdGhkcmF3RXhwaXJlVW5mcmVlemU6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFdpdGhkcmF3RXhwaXJlVW5mcmVlemVUeEJ1aWxkZXIocmF3KTtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLkRlbGVnYXRlUmVzb3VyY2VDb250cmFjdDpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlcihyYXcpO1xuICAgICAgY2FzZSBDb250cmFjdFR5cGUuVW5EZWxlZ2F0ZVJlc291cmNlQ29udHJhY3Q6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFVuRGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlcihyYXcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uIHR5cGU6ICcgKyBjb250cmFjdFR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJhdyBkYXRhIGhleCBmcm9tIGEgcmF3IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfX0gcmF3IHRoZSByYXcgdHJhbnNhY3Rpb24gYXMgYSBzdHJpbmcgb3IgYXMgYW4gb2JqZWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSByYXcgZGF0YSBoZXhcbiAgICovXG4gIHByaXZhdGUgZ2V0VHhSZWNlaXB0KHJhdzogc3RyaW5nIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJhd1sncmF3X2RhdGFfaGV4J10gfHwgdGhpcy5nZXRUeFJlY2VpcHQoSlNPTi5wYXJzZShyYXcgYXMgc3RyaW5nKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkIHtcbiAgICB0aGlzLl9idWlsZGVyLnZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgbm90IHZhbGlkJyk7XG4gICAgfVxuICB9XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9idWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fYnVpbGRlci52YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9idWlsZGVyLnZhbGlkYXRlVmFsdWUodmFsdWUpO1xuICB9XG59XG4iXX0=
package/dist/src/trx.d.ts CHANGED
@@ -1,9 +1,12 @@
1
- /// <reference types="node" />
2
1
  import { CoinFamily, BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
3
- import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, TransactionExplanation, TransactionFee, TransactionPrebuild as BaseTransactionPrebuild, TransactionRecipient as Recipient, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, TransactionExplanation, TransactionFee, TransactionPrebuild as BaseTransactionPrebuild, TransactionRecipient as Recipient, VerifyAddressOptions, VerifyTransactionOptions, BaseTransaction, MultisigType, AuditDecryptedKeyParams } from '@bitgo-beta/sdk-core';
4
3
  import { Interface } from './lib';
5
4
  import { TransactionReceipt } from './lib/iface';
6
5
  export declare const MINIMUM_TRON_MSIG_TRANSACTION_FEE = 1000000;
6
+ export declare const SAFE_TRON_TRANSACTION_FEE: number;
7
+ export declare const SAFE_TRON_TOKEN_TRANSACTION_FEE: number;
8
+ export declare const RECOVER_TRANSACTION_EXPIRY = 86400000;
9
+ export declare const DEFAULT_SCAN_FACTOR = 20;
7
10
  export interface TronSignTransactionOptions extends SignTransactionOptions {
8
11
  txPrebuild: TransactionPrebuild;
9
12
  prv: string;
@@ -41,12 +44,33 @@ export interface RecoveryOptions {
41
44
  bitgoKey: string;
42
45
  recoveryDestination: string;
43
46
  krsProvider?: string;
47
+ tokenContractAddress?: string;
44
48
  walletPassphrase?: string;
49
+ startingScanIndex?: number;
50
+ scan?: number;
51
+ }
52
+ export interface ConsolidationRecoveryOptions {
53
+ userKey: string;
54
+ backupKey: string;
55
+ bitgoKey: string;
56
+ tokenContractAddress?: string;
57
+ startingScanIndex?: number;
58
+ endingScanIndex?: number;
59
+ }
60
+ export interface ConsolidationRecoveryBatch {
61
+ transactions: RecoveryTransaction[];
62
+ }
63
+ export interface FeeInfo {
64
+ fee: string;
45
65
  }
46
66
  export interface RecoveryTransaction {
67
+ txHex?: string;
68
+ feeInfo?: FeeInfo;
69
+ coin?: string;
47
70
  tx?: TransactionPrebuild;
48
71
  recoveryAmount?: number;
49
72
  tokenTxs?: TransactionReceipt[];
73
+ addressInfo?: AddressInfo;
50
74
  }
51
75
  export declare enum NodeTypes {
52
76
  Full = 0,
@@ -67,6 +91,8 @@ export declare class Trx extends BaseCoin {
67
91
  getBaseFactor(): number;
68
92
  /** @inheritdoc */
69
93
  transactionDataAllowed(): boolean;
94
+ /** inherited doc */
95
+ getDefaultMultisigType(): MultisigType;
70
96
  static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
71
97
  /**
72
98
  * Flag for sending value of 0
@@ -76,7 +102,7 @@ export declare class Trx extends BaseCoin {
76
102
  /** @inheritDoc */
77
103
  allowsAccountConsolidations(): boolean;
78
104
  /**
79
- * Checks if this is a valid base58 or hex address
105
+ * Checks if this is a valid base58
80
106
  * @param address
81
107
  */
82
108
  isValidAddress(address: string): boolean;
@@ -113,7 +139,6 @@ export declare class Trx extends BaseCoin {
113
139
  * @param params
114
140
  * @param params.txPrebuild {Object} prebuild object returned by platform
115
141
  * @param params.prv {String} user prv
116
- * @param params.wallet.addressVersion {String} this is the version of the Algorand multisig address generation format
117
142
  * @returns Bluebird<SignedTransaction>
118
143
  */
119
144
  signTransaction(params: TronSignTransactionOptions): Promise<SignedTransaction>;
@@ -149,6 +174,7 @@ export declare class Trx extends BaseCoin {
149
174
  getExtraPrebuildParams(buildParams: any): Promise<any>;
150
175
  pubToHexAddress(pub: string): string;
151
176
  xprvToCompressedPrv(xprv: string): string;
177
+ private getNodeUrl;
152
178
  /**
153
179
  * Make a query to Trongrid for information such as balance, token balance, solidity calls
154
180
  * @param query {Object} key-value pairs of parameters to append after /api
@@ -190,19 +216,47 @@ export declare class Trx extends BaseCoin {
190
216
  address: string;
191
217
  weight: number;
192
218
  }[], keys: string[]): void;
219
+ /**
220
+ * Format for offline vault signing
221
+ * @param {BaseTransaction} tx
222
+ * @param {number} fee
223
+ * @param {number} recoveryAmount
224
+ * @returns {RecoveryTransaction}
225
+ */
226
+ formatForOfflineVault(tx: BaseTransaction, fee: number, recoveryAmount: number, addressInfo?: AddressInfo): RecoveryTransaction;
193
227
  /**
194
228
  * Builds a funds recovery transaction without BitGo.
195
229
  * We need to do three queries during this:
196
230
  * 1) Node query - how much money is in the account
197
231
  * 2) Build transaction - build our transaction for the amount
198
232
  * 3) Send signed build - send our signed build to a public node
233
+ *
234
+ * Note 1: for base address recoveries, fund will be recovered to recovery destination if base address balance is
235
+ * more than 2.1 TRX for native TRX recovery and 100 TRX for token recover. For receive addresses, fund will be
236
+ * recovered to base address first then swept to base address(decided as the universal pattern in team meeting).
237
+ *
238
+ * Note 2: the function supports token sweep from base address.
239
+ * TODO: support token sweep from receive address.
240
+ *
199
241
  * @param params
200
242
  */
201
243
  recover(params: RecoveryOptions): Promise<RecoveryTransaction>;
244
+ /**
245
+ * Builds native TRX recoveries of receive addresses in batch without BitGo.
246
+ * Funds will be recovered to base address first. You need to initiate another sweep txn after that.
247
+ * Note: there will be another recoverTokenConsolidations function to support token recover from receive addresses.
248
+ *
249
+ * @param {ConsolidationRecoveryOptions} params - options for consolidation recovery.
250
+ * @param {string} [params.startingScanIndex] - receive address index to start scanning from. default to 1 (inclusive).
251
+ * @param {string} [params.endingScanIndex] - receive address index to end scanning at. default to startingScanIndex + 20 (exclusive).
252
+ */
253
+ recoverConsolidations(params: ConsolidationRecoveryOptions): Promise<ConsolidationRecoveryBatch>;
202
254
  /**
203
255
  * Explain a Tron transaction from txHex
204
256
  * @param params
205
257
  */
206
258
  explainTransaction(params: ExplainTransactionOptions): Promise<TronTransactionExplanation>;
259
+ /** @inheritDoc */
260
+ auditDecryptedKey(params: AuditDecryptedKeyParams): void;
207
261
  }
208
262
  //# sourceMappingURL=trx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trx.d.ts","sourceRoot":"","sources":["../../src/trx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trx.d.ts","sourceRoot":"","sources":["../../src/trx.ts"],"names":[],"mappings":"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"}