@bitgo-beta/sdk-coin-vet 1.0.1-beta.5 → 1.0.1-beta.500

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 (156) hide show
  1. package/dist/src/index.d.ts +2 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +3 -1
  4. package/dist/src/lib/constants.d.ts +29 -1
  5. package/dist/src/lib/constants.d.ts.map +1 -1
  6. package/dist/src/lib/constants.js +31 -3
  7. package/dist/src/lib/iface.d.ts +38 -0
  8. package/dist/src/lib/iface.d.ts.map +1 -0
  9. package/dist/src/lib/iface.js +3 -0
  10. package/dist/src/lib/index.d.ts +26 -1
  11. package/dist/src/lib/index.d.ts.map +1 -1
  12. package/dist/src/lib/index.js +52 -2
  13. package/dist/src/lib/keyPair.d.ts +26 -0
  14. package/dist/src/lib/keyPair.d.ts.map +1 -0
  15. package/dist/src/lib/keyPair.js +65 -0
  16. package/dist/src/lib/transaction/addressInitializationTransaction.d.ts +31 -0
  17. package/dist/src/lib/transaction/addressInitializationTransaction.d.ts.map +1 -0
  18. package/dist/src/lib/transaction/addressInitializationTransaction.js +170 -0
  19. package/dist/src/lib/transaction/burnNftTransaction.d.ts +29 -0
  20. package/dist/src/lib/transaction/burnNftTransaction.d.ts.map +1 -0
  21. package/dist/src/lib/transaction/burnNftTransaction.js +138 -0
  22. package/dist/src/lib/transaction/claimRewards.d.ts +41 -0
  23. package/dist/src/lib/transaction/claimRewards.d.ts.map +1 -0
  24. package/dist/src/lib/transaction/claimRewards.js +210 -0
  25. package/dist/src/lib/transaction/delegateClauseTransaction.d.ts +27 -0
  26. package/dist/src/lib/transaction/delegateClauseTransaction.d.ts.map +1 -0
  27. package/dist/src/lib/transaction/delegateClauseTransaction.js +158 -0
  28. package/dist/src/lib/transaction/exitDelegation.d.ts +29 -0
  29. package/dist/src/lib/transaction/exitDelegation.d.ts.map +1 -0
  30. package/dist/src/lib/transaction/exitDelegation.js +143 -0
  31. package/dist/src/lib/transaction/flushTokenTransaction.d.ts +20 -0
  32. package/dist/src/lib/transaction/flushTokenTransaction.d.ts.map +1 -0
  33. package/dist/src/lib/transaction/flushTokenTransaction.js +98 -0
  34. package/dist/src/lib/transaction/nftTransaction.d.ts +17 -0
  35. package/dist/src/lib/transaction/nftTransaction.d.ts.map +1 -0
  36. package/dist/src/lib/transaction/nftTransaction.js +108 -0
  37. package/dist/src/lib/transaction/stakeClauseTransaction.d.ts +27 -0
  38. package/dist/src/lib/transaction/stakeClauseTransaction.d.ts.map +1 -0
  39. package/dist/src/lib/transaction/stakeClauseTransaction.js +158 -0
  40. package/dist/src/lib/transaction/stakingTransaction.d.ts +31 -0
  41. package/dist/src/lib/transaction/stakingTransaction.d.ts.map +1 -0
  42. package/dist/src/lib/transaction/stakingTransaction.js +169 -0
  43. package/dist/src/lib/transaction/tokenTransaction.d.ts +14 -0
  44. package/dist/src/lib/transaction/tokenTransaction.d.ts.map +1 -0
  45. package/dist/src/lib/transaction/tokenTransaction.js +95 -0
  46. package/dist/src/lib/transaction/transaction.d.ts +109 -0
  47. package/dist/src/lib/transaction/transaction.d.ts.map +1 -0
  48. package/dist/src/lib/transaction/transaction.js +484 -0
  49. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.d.ts +78 -0
  50. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.d.ts.map +1 -0
  51. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.js +158 -0
  52. package/dist/src/lib/transactionBuilder/burnNftBuilder.d.ts +59 -0
  53. package/dist/src/lib/transactionBuilder/burnNftBuilder.d.ts.map +1 -0
  54. package/dist/src/lib/transactionBuilder/burnNftBuilder.js +118 -0
  55. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.d.ts +57 -0
  56. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.d.ts.map +1 -0
  57. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.js +142 -0
  58. package/dist/src/lib/transactionBuilder/delegateTxnBuilder.d.ts +72 -0
  59. package/dist/src/lib/transactionBuilder/delegateTxnBuilder.d.ts.map +1 -0
  60. package/dist/src/lib/transactionBuilder/delegateTxnBuilder.js +133 -0
  61. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.d.ts +59 -0
  62. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.d.ts.map +1 -0
  63. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.js +118 -0
  64. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.d.ts +66 -0
  65. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.d.ts.map +1 -0
  66. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.js +129 -0
  67. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.d.ts +23 -0
  68. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.d.ts.map +1 -0
  69. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.js +93 -0
  70. package/dist/src/lib/transactionBuilder/stakeClauseTxnBuilder.d.ts +73 -0
  71. package/dist/src/lib/transactionBuilder/stakeClauseTxnBuilder.d.ts.map +1 -0
  72. package/dist/src/lib/transactionBuilder/stakeClauseTxnBuilder.js +146 -0
  73. package/dist/src/lib/transactionBuilder/stakingBuilder.d.ts +73 -0
  74. package/dist/src/lib/transactionBuilder/stakingBuilder.d.ts.map +1 -0
  75. package/dist/src/lib/transactionBuilder/stakingBuilder.js +147 -0
  76. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.d.ts +21 -0
  77. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.d.ts.map +1 -0
  78. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.js +70 -0
  79. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts +55 -0
  80. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  81. package/dist/src/lib/transactionBuilder/transactionBuilder.js +159 -0
  82. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts +10 -0
  83. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts.map +1 -0
  84. package/dist/src/lib/transactionBuilder/transferBuilder.js +45 -0
  85. package/dist/src/lib/transactionBuilderFactory.d.ts +77 -0
  86. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  87. package/dist/src/lib/transactionBuilderFactory.js +173 -0
  88. package/dist/src/lib/types.d.ts +32 -0
  89. package/dist/src/lib/types.d.ts.map +1 -0
  90. package/dist/src/lib/types.js +3 -0
  91. package/dist/src/lib/utils.d.ts +102 -1
  92. package/dist/src/lib/utils.d.ts.map +1 -1
  93. package/dist/src/lib/utils.js +301 -6
  94. package/dist/src/register.d.ts.map +1 -1
  95. package/dist/src/register.js +9 -1
  96. package/dist/src/vet.d.ts +87 -4
  97. package/dist/src/vet.d.ts.map +1 -1
  98. package/dist/src/vet.js +613 -13
  99. package/dist/src/vetNFTCollection.d.ts +18 -0
  100. package/dist/src/vetNFTCollection.d.ts.map +1 -0
  101. package/dist/src/vetNFTCollection.js +52 -0
  102. package/dist/src/vetToken.d.ts +19 -0
  103. package/dist/src/vetToken.d.ts.map +1 -0
  104. package/dist/src/vetToken.js +52 -0
  105. package/dist/test/resources/vet.d.ts +72 -0
  106. package/dist/test/resources/vet.d.ts.map +1 -0
  107. package/dist/test/resources/vet.js +127 -0
  108. package/dist/test/transactionBuilder/addressInitializationBuilder.d.ts +2 -0
  109. package/dist/test/transactionBuilder/addressInitializationBuilder.d.ts.map +1 -0
  110. package/dist/test/transactionBuilder/addressInitializationBuilder.js +141 -0
  111. package/dist/test/transactionBuilder/burnNftBuilder.d.ts +2 -0
  112. package/dist/test/transactionBuilder/burnNftBuilder.d.ts.map +1 -0
  113. package/dist/test/transactionBuilder/burnNftBuilder.js +150 -0
  114. package/dist/test/transactionBuilder/claimRewardsBuilder.d.ts +2 -0
  115. package/dist/test/transactionBuilder/claimRewardsBuilder.d.ts.map +1 -0
  116. package/dist/test/transactionBuilder/claimRewardsBuilder.js +246 -0
  117. package/dist/test/transactionBuilder/delegateClauseTxnBuilder.d.ts +2 -0
  118. package/dist/test/transactionBuilder/delegateClauseTxnBuilder.d.ts.map +1 -0
  119. package/dist/test/transactionBuilder/delegateClauseTxnBuilder.js +185 -0
  120. package/dist/test/transactionBuilder/exitDelegationBuilder.d.ts +2 -0
  121. package/dist/test/transactionBuilder/exitDelegationBuilder.d.ts.map +1 -0
  122. package/dist/test/transactionBuilder/exitDelegationBuilder.js +150 -0
  123. package/dist/test/transactionBuilder/flushTokenTransactionBuilder.d.ts +2 -0
  124. package/dist/test/transactionBuilder/flushTokenTransactionBuilder.d.ts.map +1 -0
  125. package/dist/test/transactionBuilder/flushTokenTransactionBuilder.js +132 -0
  126. package/dist/test/transactionBuilder/nftTransactionBuilder.d.ts +2 -0
  127. package/dist/test/transactionBuilder/nftTransactionBuilder.d.ts.map +1 -0
  128. package/dist/test/transactionBuilder/nftTransactionBuilder.js +242 -0
  129. package/dist/test/transactionBuilder/stakeClauseTransactionBuilder.d.ts +2 -0
  130. package/dist/test/transactionBuilder/stakeClauseTransactionBuilder.d.ts.map +1 -0
  131. package/dist/test/transactionBuilder/stakeClauseTransactionBuilder.js +247 -0
  132. package/dist/test/transactionBuilder/stakingTransaction.d.ts +2 -0
  133. package/dist/test/transactionBuilder/stakingTransaction.d.ts.map +1 -0
  134. package/dist/test/transactionBuilder/stakingTransaction.js +250 -0
  135. package/dist/test/transactionBuilder/tokenTransactionBuilder.d.ts +2 -0
  136. package/dist/test/transactionBuilder/tokenTransactionBuilder.d.ts.map +1 -0
  137. package/dist/test/transactionBuilder/tokenTransactionBuilder.js +249 -0
  138. package/dist/test/transactionBuilder/transferBuilder.d.ts +2 -0
  139. package/dist/test/transactionBuilder/transferBuilder.d.ts.map +1 -0
  140. package/dist/test/transactionBuilder/transferBuilder.js +214 -0
  141. package/dist/test/unit/keyPair.d.ts +2 -0
  142. package/dist/test/unit/keyPair.d.ts.map +1 -0
  143. package/dist/test/unit/keyPair.js +181 -0
  144. package/dist/test/unit/stakingFlowE2E.d.ts +2 -0
  145. package/dist/test/unit/stakingFlowE2E.d.ts.map +1 -0
  146. package/dist/test/unit/stakingFlowE2E.js +222 -0
  147. package/dist/test/unit/utils.d.ts +2 -0
  148. package/dist/test/unit/utils.d.ts.map +1 -0
  149. package/dist/test/unit/utils.js +106 -0
  150. package/dist/test/unit/vet.d.ts +2 -0
  151. package/dist/test/unit/vet.d.ts.map +1 -0
  152. package/dist/test/unit/vet.js +251 -0
  153. package/dist/tsconfig.tsbuildinfo +1 -0
  154. package/package.json +22 -8
  155. package/.eslintignore +0 -5
  156. package/.mocharc.yml +0 -8
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TransactionBuilderFactory = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const transferBuilder_1 = require("./transactionBuilder/transferBuilder");
9
+ const addressInitializationBuilder_1 = require("./transactionBuilder/addressInitializationBuilder");
10
+ const flushTokenTransactionBuilder_1 = require("./transactionBuilder/flushTokenTransactionBuilder");
11
+ const exitDelegationBuilder_1 = require("./transactionBuilder/exitDelegationBuilder");
12
+ const burnNftBuilder_1 = require("./transactionBuilder/burnNftBuilder");
13
+ const claimRewardsBuilder_1 = require("./transactionBuilder/claimRewardsBuilder");
14
+ const transaction_1 = require("./transaction/transaction");
15
+ const utils_1 = __importDefault(require("./utils"));
16
+ const addressInitializationTransaction_1 = require("./transaction/addressInitializationTransaction");
17
+ const flushTokenTransaction_1 = require("./transaction/flushTokenTransaction");
18
+ const exitDelegation_1 = require("./transaction/exitDelegation");
19
+ const burnNftTransaction_1 = require("./transaction/burnNftTransaction");
20
+ const claimRewards_1 = require("./transaction/claimRewards");
21
+ const tokenTransactionBuilder_1 = require("./transactionBuilder/tokenTransactionBuilder");
22
+ const tokenTransaction_1 = require("./transaction/tokenTransaction");
23
+ const stakingBuilder_1 = require("./transactionBuilder/stakingBuilder");
24
+ const stakingTransaction_1 = require("./transaction/stakingTransaction");
25
+ const nftTransactionBuilder_1 = require("./transactionBuilder/nftTransactionBuilder");
26
+ const nftTransaction_1 = require("./transaction/nftTransaction");
27
+ const stakeClauseTransaction_1 = require("./transaction/stakeClauseTransaction");
28
+ const stakeClauseTxnBuilder_1 = require("./transactionBuilder/stakeClauseTxnBuilder");
29
+ const delegateTxnBuilder_1 = require("./transactionBuilder/delegateTxnBuilder");
30
+ const delegateClauseTransaction_1 = require("./transaction/delegateClauseTransaction");
31
+ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
32
+ constructor(_coinConfig) {
33
+ super(_coinConfig);
34
+ }
35
+ /** @inheritdoc */
36
+ from(signedRawTx) {
37
+ try {
38
+ const signedTx = transaction_1.Transaction.deserializeTransaction(signedRawTx);
39
+ const type = this.getTransactionTypeFromSignedTxn(signedTx);
40
+ switch (type) {
41
+ case sdk_core_1.TransactionType.Send:
42
+ const transferTx = new transaction_1.Transaction(this._coinConfig);
43
+ transferTx.fromDeserializedSignedTransaction(signedTx);
44
+ return this.getTransferBuilder(transferTx);
45
+ case sdk_core_1.TransactionType.AddressInitialization:
46
+ const addressInitializationTx = new addressInitializationTransaction_1.AddressInitializationTransaction(this._coinConfig);
47
+ addressInitializationTx.fromDeserializedSignedTransaction(signedTx);
48
+ return this.getAddressInitializationBuilder(addressInitializationTx);
49
+ case sdk_core_1.TransactionType.FlushTokens:
50
+ const flushTokenTx = new flushTokenTransaction_1.FlushTokenTransaction(this._coinConfig);
51
+ flushTokenTx.fromDeserializedSignedTransaction(signedTx);
52
+ return this.getFlushTokenTransactionBuilder(flushTokenTx);
53
+ case sdk_core_1.TransactionType.SendToken:
54
+ const tokenTransferTx = new tokenTransaction_1.TokenTransaction(this._coinConfig);
55
+ tokenTransferTx.fromDeserializedSignedTransaction(signedTx);
56
+ return this.getTokenTransactionBuilder(tokenTransferTx);
57
+ case sdk_core_1.TransactionType.SendNFT:
58
+ const nftTransferTx = new nftTransaction_1.NFTTransaction(this._coinConfig);
59
+ nftTransferTx.fromDeserializedSignedTransaction(signedTx);
60
+ return this.getNFTTransactionBuilder(nftTransferTx);
61
+ case sdk_core_1.TransactionType.ContractCall:
62
+ const stakingTx = new stakingTransaction_1.StakingTransaction(this._coinConfig);
63
+ stakingTx.fromDeserializedSignedTransaction(signedTx);
64
+ return this.getStakingBuilder(stakingTx);
65
+ case sdk_core_1.TransactionType.StakingActivate:
66
+ const stakeClauseTx = new stakeClauseTransaction_1.StakeClauseTransaction(this._coinConfig);
67
+ stakeClauseTx.fromDeserializedSignedTransaction(signedTx);
68
+ return this.getStakingActivateBuilder(stakeClauseTx);
69
+ case sdk_core_1.TransactionType.StakingDelegate:
70
+ const delegateClauseTx = new delegateClauseTransaction_1.DelegateClauseTransaction(this._coinConfig);
71
+ delegateClauseTx.fromDeserializedSignedTransaction(signedTx);
72
+ return this.getStakingDelegateBuilder(delegateClauseTx);
73
+ case sdk_core_1.TransactionType.StakingUnlock:
74
+ const exitDelegationTx = new exitDelegation_1.ExitDelegationTransaction(this._coinConfig);
75
+ exitDelegationTx.fromDeserializedSignedTransaction(signedTx);
76
+ return this.getExitDelegationBuilder(exitDelegationTx);
77
+ case sdk_core_1.TransactionType.StakingWithdraw:
78
+ const burnNftTx = new burnNftTransaction_1.BurnNftTransaction(this._coinConfig);
79
+ burnNftTx.fromDeserializedSignedTransaction(signedTx);
80
+ return this.getBurnNftBuilder(burnNftTx);
81
+ case sdk_core_1.TransactionType.StakingClaim:
82
+ const claimRewardsTx = new claimRewards_1.ClaimRewardsTransaction(this._coinConfig);
83
+ claimRewardsTx.fromDeserializedSignedTransaction(signedTx);
84
+ return this.getClaimRewardsBuilder(claimRewardsTx);
85
+ default:
86
+ throw new sdk_core_1.InvalidTransactionError('Invalid transaction type');
87
+ }
88
+ }
89
+ catch (e) {
90
+ throw e;
91
+ }
92
+ }
93
+ /** @inheritdoc */
94
+ getTransferBuilder(tx) {
95
+ return this.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
96
+ }
97
+ getAddressInitializationBuilder(tx) {
98
+ return this.initializeBuilder(tx, new addressInitializationBuilder_1.AddressInitializationBuilder(this._coinConfig));
99
+ }
100
+ getFlushTokenTransactionBuilder(tx) {
101
+ return this.initializeBuilder(tx, new flushTokenTransactionBuilder_1.FlushTokenTransactionBuilder(this._coinConfig));
102
+ }
103
+ getTokenTransactionBuilder(tx) {
104
+ return this.initializeBuilder(tx, new tokenTransactionBuilder_1.TokenTransactionBuilder(this._coinConfig));
105
+ }
106
+ getStakingBuilder(tx) {
107
+ return this.initializeBuilder(tx, new stakingBuilder_1.StakingBuilder(this._coinConfig));
108
+ }
109
+ getStakingDelegateBuilder(tx) {
110
+ return this.initializeBuilder(tx, new delegateTxnBuilder_1.DelegateTxnBuilder(this._coinConfig));
111
+ }
112
+ getStakingActivateBuilder(tx) {
113
+ return this.initializeBuilder(tx, new stakeClauseTxnBuilder_1.StakeClauseTxnBuilder(this._coinConfig));
114
+ }
115
+ /**
116
+ * Gets an nft transaction builder.
117
+ *
118
+ * @param {NFTTransaction} tx - The nft transaction to use
119
+ * @returns {NFTTransactionBuilder} The nft transaction builder
120
+ */
121
+ getNFTTransactionBuilder(tx) {
122
+ return this.initializeBuilder(tx, new nftTransactionBuilder_1.NFTTransactionBuilder(this._coinConfig));
123
+ }
124
+ /**
125
+ * Gets an exit delegation transaction builder.
126
+ *
127
+ * @param {ExitDelegationTransaction} tx - The exit delegation transaction to use
128
+ * @returns {ExitDelegationBuilder} The exit delegation transaction builder
129
+ */
130
+ getExitDelegationBuilder(tx) {
131
+ return this.initializeBuilder(tx, new exitDelegationBuilder_1.ExitDelegationBuilder(this._coinConfig));
132
+ }
133
+ /**
134
+ * Gets a burn NFT transaction builder.
135
+ *
136
+ * @param {BurnNftTransaction} tx - The burn NFT transaction to use
137
+ * @returns {BurnNftBuilder} The burn NFT transaction builder
138
+ */
139
+ getBurnNftBuilder(tx) {
140
+ return this.initializeBuilder(tx, new burnNftBuilder_1.BurnNftBuilder(this._coinConfig));
141
+ }
142
+ /**
143
+ * Gets a claim rewards transaction builder.
144
+ *
145
+ * @param {ClaimRewardsTransaction} tx - The claim rewards transaction to use
146
+ * @returns {ClaimRewardsBuilder} The claim rewards transaction builder
147
+ */
148
+ getClaimRewardsBuilder(tx) {
149
+ return this.initializeBuilder(tx, new claimRewardsBuilder_1.ClaimRewardsBuilder(this._coinConfig));
150
+ }
151
+ /** @inheritdoc */
152
+ getWalletInitializationBuilder() {
153
+ throw new Error('Method not implemented.');
154
+ }
155
+ getTransactionTypeFromSignedTxn(signedTxn) {
156
+ return utils_1.default.getTransactionTypeFromClause(signedTxn.body.clauses);
157
+ }
158
+ /**
159
+ * Initialize the builder with the given transaction
160
+ *
161
+ * @param {Transaction | undefined} tx - the transaction used to initialize the builder
162
+ * @param {TransactionBuilder} builder - the builder to be initialized
163
+ * @returns {TransactionBuilder} the builder initialized
164
+ */
165
+ initializeBuilder(tx, builder) {
166
+ if (tx) {
167
+ builder.initBuilder(tx);
168
+ }
169
+ return builder;
170
+ }
171
+ }
172
+ exports.TransactionBuilderFactory = TransactionBuilderFactory;
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxtREFBK0c7QUFHL0csMEVBQXVFO0FBQ3ZFLG9HQUFpRztBQUNqRyxvR0FBaUc7QUFDakcsc0ZBQW1GO0FBQ25GLHdFQUFxRTtBQUNyRSxrRkFBK0U7QUFDL0UsMkRBQXdEO0FBQ3hELG9EQUE0QjtBQUM1QixxR0FBa0c7QUFDbEcsK0VBQTRFO0FBQzVFLGlFQUF5RTtBQUN6RSx5RUFBc0U7QUFDdEUsNkRBQXFFO0FBQ3JFLDBGQUF1RjtBQUN2RixxRUFBa0U7QUFDbEUsd0VBQXFFO0FBQ3JFLHlFQUFzRTtBQUN0RSxzRkFBbUY7QUFDbkYsaUVBQThEO0FBQzlELGlGQUE4RTtBQUM5RSxzRkFBbUY7QUFDbkYsZ0ZBQTZFO0FBQzdFLHVGQUFvRjtBQUVwRixNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxXQUFtQjtRQUN0QixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyx5QkFBVyxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RCxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNiLEtBQUssMEJBQWUsQ0FBQyxJQUFJO29CQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNyRCxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3ZELE9BQU8sSUFBSSxD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QUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssaUJBQWlCLENBQStCLEVBQTJCLEVBQUUsT0FBVTtRQUM3RixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBMUpELDhEQTBKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIFZldFRyYW5zYWN0aW9uIH0gZnJvbSAnQHZlY2hhaW4vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9hZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmltcG9ydCB7IEZsdXNoVG9rZW5UcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9mbHVzaFRva2VuVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEV4aXREZWxlZ2F0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL2V4aXREZWxlZ2F0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBCdXJuTmZ0QnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL2J1cm5OZnRCdWlsZGVyJztcbmltcG9ydCB7IENsYWltUmV3YXJkc0J1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9jbGFpbVJld2FyZHNCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBZGRyZXNzSW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vYWRkcmVzc0luaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRmx1c2hUb2tlblRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi9mbHVzaFRva2VuVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRXhpdERlbGVnYXRpb25UcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vZXhpdERlbGVnYXRpb24nO1xuaW1wb3J0IHsgQnVybk5mdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi9idXJuTmZ0VHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQ2xhaW1SZXdhcmRzVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL2NsYWltUmV3YXJkcyc7XG5pbXBvcnQgeyBUb2tlblRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL3Rva2VuVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRva2VuVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3Rva2VuVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9zdGFraW5nQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3N0YWtpbmdUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBORlRUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlci9uZnRUcmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgTkZUVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL25mdFRyYW5zYWN0aW9uJztcbmltcG9ydCB7IFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3N0YWtlQ2xhdXNlVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU3Rha2VDbGF1c2VUeG5CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXIvc3Rha2VDbGF1c2VUeG5CdWlsZGVyJztcbmltcG9ydCB7IERlbGVnYXRlVHhuQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyL2RlbGVnYXRlVHhuQnVpbGRlcic7XG5pbXBvcnQgeyBEZWxlZ2F0ZUNsYXVzZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi9kZWxlZ2F0ZUNsYXVzZVRyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHNpZ25lZFJhd1R4OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzaWduZWRUeCA9IFRyYW5zYWN0aW9uLmRlc2VyaWFsaXplVHJhbnNhY3Rpb24oc2lnbmVkUmF3VHgpO1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbVNpZ25lZFR4bihzaWduZWRUeCk7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgICBjb25zdCB0cmFuc2ZlclR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHRyYW5zZmVyVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIodHJhbnNmZXJUeCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbjpcbiAgICAgICAgICBjb25zdCBhZGRyZXNzSW5pdGlhbGl6YXRpb25UeCA9IG5ldyBBZGRyZXNzSW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICBhZGRyZXNzSW5pdGlhbGl6YXRpb25UeC5mcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHgpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIoYWRkcmVzc0luaXRpYWxpemF0aW9uVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5GbHVzaFRva2VuczpcbiAgICAgICAgICBjb25zdCBmbHVzaFRva2VuVHggPSBuZXcgRmx1c2hUb2tlblRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIGZsdXNoVG9rZW5UeC5mcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHgpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEZsdXNoVG9rZW5UcmFuc2FjdGlvbkJ1aWxkZXIoZmx1c2hUb2tlblR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZFRva2VuOlxuICAgICAgICAgIGNvbnN0IHRva2VuVHJhbnNmZXJUeCA9IG5ldyBUb2tlblRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHRva2VuVHJhbnNmZXJUeC5mcm9tRGVzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24oc2lnbmVkVHgpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRva2VuVHJhbnNhY3Rpb25CdWlsZGVyKHRva2VuVHJhbnNmZXJUeCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmRORlQ6XG4gICAgICAgICAgY29uc3QgbmZ0VHJhbnNmZXJUeCA9IG5ldyBORlRUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICBuZnRUcmFuc2ZlclR4LmZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TkZUVHJhbnNhY3Rpb25CdWlsZGVyKG5mdFRyYW5zZmVyVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Db250cmFjdENhbGw6XG4gICAgICAgICAgY29uc3Qgc3Rha2luZ1R4ID0gbmV3IFN0YWtpbmdUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICBzdGFraW5nVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQnVpbGRlcihzdGFraW5nVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU6XG4gICAgICAgICAgY29uc3Qgc3Rha2VDbGF1c2VUeCA9IG5ldyBTdGFrZUNsYXVzZVRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHN0YWtlQ2xhdXNlVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKHN0YWtlQ2xhdXNlVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVsZWdhdGU6XG4gICAgICAgICAgY29uc3QgZGVsZWdhdGVDbGF1c2VUeCA9IG5ldyBEZWxlZ2F0ZUNsYXVzZVRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIGRlbGVnYXRlQ2xhdXNlVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nRGVsZWdhdGVCdWlsZGVyKGRlbGVnYXRlQ2xhdXNlVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW5sb2NrOlxuICAgICAgICAgIGNvbnN0IGV4aXREZWxlZ2F0aW9uVHggPSBuZXcgRXhpdERlbGVnYXRpb25UcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICBleGl0RGVsZWdhdGlvblR4LmZyb21EZXNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbihzaWduZWRUeCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXhpdERlbGVnYXRpb25CdWlsZGVyKGV4aXREZWxlZ2F0aW9uVHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc6XG4gICAgICAgICAgY29uc3QgYnVybk5mdFR4ID0gbmV3IEJ1cm5OZnRUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICBidXJuTmZ0VHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCdXJuTmZ0QnVpbGRlcihidXJuTmZ0VHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQ2xhaW06XG4gICAgICAgICAgY29uc3QgY2xhaW1SZXdhcmRzVHggPSBuZXcgQ2xhaW1SZXdhcmRzVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICAgICAgY2xhaW1SZXdhcmRzVHguZnJvbURlc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDbGFpbVJld2FyZHNCdWlsZGVyKGNsYWltUmV3YXJkc1R4KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogQWRkcmVzc0luaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24pOiBBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0Rmx1c2hUb2tlblRyYW5zYWN0aW9uQnVpbGRlcih0eD86IEZsdXNoVG9rZW5UcmFuc2FjdGlvbik6IEZsdXNoVG9rZW5UcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgRmx1c2hUb2tlblRyYW5zYWN0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRUb2tlblRyYW5zYWN0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVG9rZW5UcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVG9rZW5UcmFuc2FjdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0U3Rha2luZ0J1aWxkZXIodHg/OiBTdGFraW5nVHJhbnNhY3Rpb24pOiBTdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRTdGFraW5nRGVsZWdhdGVCdWlsZGVyKHR4PzogRGVsZWdhdGVDbGF1c2VUcmFuc2FjdGlvbik6IERlbGVnYXRlVHhuQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBEZWxlZ2F0ZVR4bkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcih0eD86IFN0YWtlQ2xhdXNlVHJhbnNhY3Rpb24pOiBTdGFrZUNsYXVzZVR4bkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2VDbGF1c2VUeG5CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIG5mdCB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge05GVFRyYW5zYWN0aW9ufSB0eCAtIFRoZSBuZnQgdHJhbnNhY3Rpb24gdG8gdXNlXG4gICAqIEByZXR1cm5zIHtORlRUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoZSBuZnQgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgZ2V0TkZUVHJhbnNhY3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBORlRUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgTkZUVHJhbnNhY3Rpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIGV4aXQgZGVsZWdhdGlvbiB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge0V4aXREZWxlZ2F0aW9uVHJhbnNhY3Rpb259IHR4IC0gVGhlIGV4aXQgZGVsZWdhdGlvbiB0cmFuc2FjdGlvbiB0byB1c2VcbiAgICogQHJldHVybnMge0V4aXREZWxlZ2F0aW9uQnVpbGRlcn0gVGhlIGV4aXQgZGVsZWdhdGlvbiB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBnZXRFeGl0RGVsZWdhdGlvbkJ1aWxkZXIodHg/OiBFeGl0RGVsZWdhdGlvblRyYW5zYWN0aW9uKTogRXhpdERlbGVnYXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEV4aXREZWxlZ2F0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGJ1cm4gTkZUIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7QnVybk5mdFRyYW5zYWN0aW9ufSB0eCAtIFRoZSBidXJuIE5GVCB0cmFuc2FjdGlvbiB0byB1c2VcbiAgICogQHJldHVybnMge0J1cm5OZnRCdWlsZGVyfSBUaGUgYnVybiBORlQgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgZ2V0QnVybk5mdEJ1aWxkZXIodHg/OiBCdXJuTmZ0VHJhbnNhY3Rpb24pOiBCdXJuTmZ0QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBCdXJuTmZ0QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGNsYWltIHJld2FyZHMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHBhcmFtIHtDbGFpbVJld2FyZHNUcmFuc2FjdGlvbn0gdHggLSBUaGUgY2xhaW0gcmV3YXJkcyB0cmFuc2FjdGlvbiB0byB1c2VcbiAgICogQHJldHVybnMge0NsYWltUmV3YXJkc0J1aWxkZXJ9IFRoZSBjbGFpbSByZXdhcmRzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIGdldENsYWltUmV3YXJkc0J1aWxkZXIodHg/OiBDbGFpbVJld2FyZHNUcmFuc2FjdGlvbik6IENsYWltUmV3YXJkc0J1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ2xhaW1SZXdhcmRzQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uVHlwZUZyb21TaWduZWRUeG4oc2lnbmVkVHhuOiBWZXRUcmFuc2FjdGlvbik6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHV0aWxzLmdldFRyYW5zYWN0aW9uVHlwZUZyb21DbGF1c2Uoc2lnbmVkVHhuLmJvZHkuY2xhdXNlcyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciB3aXRoIHRoZSBnaXZlbiB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IGJ1aWxkZXIgLSB0aGUgYnVpbGRlciB0byBiZSBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsIGJ1aWxkZXI6IFQpOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxufVxuIl19
@@ -0,0 +1,32 @@
1
+ import { ParseTransactionOptions } from '@bitgo-beta/sdk-core';
2
+ export interface ExplainTransactionOptions {
3
+ txHex: string;
4
+ }
5
+ export interface VetParseTransactionOptions extends ParseTransactionOptions {
6
+ txHex: string;
7
+ }
8
+ export interface ClaimRewardsData {
9
+ tokenId: string;
10
+ delegationContractAddress?: string;
11
+ stargateNftAddress?: string;
12
+ claimBaseRewards?: boolean;
13
+ claimStakingRewards?: boolean;
14
+ }
15
+ export type RecoverOptions = {
16
+ userKey?: string;
17
+ backupKey?: string;
18
+ walletPassphrase?: string;
19
+ recoveryDestination: string;
20
+ isUnsignedSweep?: boolean;
21
+ bitgoKey?: string;
22
+ tokenContractAddress?: string;
23
+ };
24
+ export interface RecoveryTransaction {
25
+ id: string;
26
+ tx: string;
27
+ }
28
+ export interface UnsignedSweepRecoveryTransaction {
29
+ txHex: string;
30
+ coin: string;
31
+ }
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhIZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXRQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgdHhIZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGFpbVJld2FyZHNEYXRhIHtcbiAgdG9rZW5JZDogc3RyaW5nO1xuICBkZWxlZ2F0aW9uQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICBzdGFyZ2F0ZU5mdEFkZHJlc3M/OiBzdHJpbmc7XG4gIGNsYWltQmFzZVJld2FyZHM/OiBib29sZWFuO1xuICBjbGFpbVN0YWtpbmdSZXdhcmRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgUmVjb3Zlck9wdGlvbnMgPSB7XG4gIHVzZXJLZXk/OiBzdHJpbmc7XG4gIGJhY2t1cEtleT86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcmVjb3ZlcnlEZXN0aW5hdGlvbjogc3RyaW5nO1xuICBpc1Vuc2lnbmVkU3dlZXA/OiBib29sZWFuOyAvLyBzcGVjaWZ5IGlmIHRoaXMgaXMgYW4gdW5zaWduZWQgcmVjb3ZlcnlcbiAgYml0Z29LZXk/OiBzdHJpbmc7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyeVRyYW5zYWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdHg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbnNpZ25lZFN3ZWVwUmVjb3ZlcnlUcmFuc2FjdGlvbiB7XG4gIHR4SGV4OiBzdHJpbmc7XG4gIGNvaW46IHN0cmluZztcbn1cbiJdfQ==
@@ -1,4 +1,6 @@
1
- import { BaseUtils } from '@bitgo-beta/sdk-core';
1
+ import { Transaction, TransactionClause } from '@vechain/sdk-core';
2
+ import { BaseUtils, TransactionRecipient, TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
4
  export declare class Utils implements BaseUtils {
3
5
  isValidAddress(address: string): boolean;
4
6
  isValidBlockId(hash: string): boolean;
@@ -6,6 +8,105 @@ export declare class Utils implements BaseUtils {
6
8
  isValidPublicKey(key: string): boolean;
7
9
  isValidSignature(signature: string): boolean;
8
10
  isValidTransactionId(txId: string): boolean;
11
+ isValidHex(value: string, length: number): boolean;
12
+ deserializeTransaction(serializedTransaction: string): Transaction;
13
+ getTransactionTypeFromClause(clauses: TransactionClause[]): TransactionType;
14
+ getTransferTokenData(toAddress: string, amountWei: string): string;
15
+ getTransferNFTData(from: string, to: string, tokenId: string): string;
16
+ /**
17
+ * Decodes staking transaction data to extract levelId and autorenew
18
+ *
19
+ * @param {string} data - The encoded transaction data
20
+ * @returns {object} - Object containing levelId and autorenew
21
+ */
22
+ decodeStakingData(data: string): {
23
+ levelId: number;
24
+ autorenew: boolean;
25
+ };
26
+ /**
27
+ * Decodes staking transaction data to extract levelId and autorenew
28
+ *
29
+ * @param {string} data - The encoded transaction data
30
+ * @returns {object} - Object containing levelId and autorenew
31
+ */
32
+ decodeStakeClauseData(data: string): {
33
+ levelId: number;
34
+ };
35
+ /**
36
+ * Decodes delegate transaction data to extract tokenId and validatorAddress
37
+ *
38
+ * @param {string} data - The encoded transaction data
39
+ * @returns {object} - Object containing levelId and validator address
40
+ */
41
+ decodeDelegateClauseData(data: string): {
42
+ tokenId: string;
43
+ validator: string;
44
+ };
45
+ decodeTransferTokenData(data: string): TransactionRecipient;
46
+ decodeTransferNFTData(data: string): {
47
+ recipients: TransactionRecipient[];
48
+ sender: string;
49
+ tokenId: string;
50
+ };
51
+ /**
52
+ * Decodes claim rewards transaction data to extract tokenId
53
+ *
54
+ * @param {string} data - The encoded claim rewards method call data
55
+ * @returns {string} - The tokenId as a string
56
+ */
57
+ decodeClaimRewardsData(data: string): string;
58
+ /**
59
+ * Decodes exit delegation transaction data to extract tokenId
60
+ *
61
+ * @param {string} data - The encoded exit delegation method call data
62
+ * @returns {string} - The tokenId as a string
63
+ */
64
+ decodeExitDelegationData(data: string): string;
65
+ /**
66
+ * Decodes burn NFT transaction data to extract tokenId
67
+ *
68
+ * @param {string} data - The encoded burn NFT method call data
69
+ * @returns {string} - The tokenId as a string
70
+ */
71
+ decodeBurnNftData(data: string): string;
72
+ /**
73
+ * Get the network-appropriate stargate contract address
74
+ * @param {CoinConfig} coinConfig - The coin configuration object
75
+ * @returns {string} The delegation contract address for the network
76
+ */
77
+ getDefaultDelegationAddress(coinConfig: Readonly<CoinConfig>): string;
78
+ /**
79
+ * Get the network-appropriate staking contract address
80
+ * @param {CoinConfig} coinConfig - The coin configuration object
81
+ * @returns {string} The staking contract address for the network
82
+ */
83
+ getDefaultStakingAddress(coinConfig: Readonly<CoinConfig>): string;
84
+ /**
85
+ * Check if an address is a valid delegation contract address for any network
86
+ * @param {string} address - The address to check
87
+ * @returns {boolean} True if the address is a delegation contract address
88
+ */
89
+ isDelegationContractAddress(address: string): boolean;
90
+ /**
91
+ * Check if an address is a valid NFT contract address for any network
92
+ * @param {string} address - The address to check
93
+ * @returns {boolean} True if the address is an NFT contract address
94
+ */
95
+ isNftContractAddress(address: string): boolean;
96
+ /**
97
+ * Validate that a contract address matches the expected stargate address for the network
98
+ * @param {string} address - The contract address to validate
99
+ * @param {CoinConfig} coinConfig - The coin configuration object
100
+ * @throws {Error} If the address doesn't match the expected contract address
101
+ */
102
+ validateStakingContractAddress(address: string, coinConfig: Readonly<CoinConfig>): void;
103
+ /**
104
+ * Validate that a contract address matches the expected stargate contract for the network
105
+ * @param {string} address - The contract address to validate
106
+ * @param {CoinConfig} coinConfig - The coin configuration object
107
+ * @throws {Error} If the address doesn't match the expected delegation contract address
108
+ */
109
+ validateDelegationContractAddress(address: string, coinConfig: Readonly<CoinConfig>): void;
9
110
  }
10
111
  declare const utils: Utils;
11
112
  export default utils;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,qBAAa,KAAM,YAAW,SAAS;IACrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG5C;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AA2BxF,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,qBAAa,KAAM,YAAW,SAAS;IACrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IASvC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAStC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKlD,sBAAsB,CAAC,qBAAqB,EAAE,MAAM,GAAG,WAAW;IAalE,4BAA4B,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,eAAe;IA+B3E,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAWlE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAWrE;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE;IAgBxE;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IAexD;;;;;OAKG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAgB9E,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAY3D,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG;QACnC,UAAU,EAAE,oBAAoB,EAAE,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB;IAmBD;;;;;OAKG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgB5C;;;;;OAKG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAc9C;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAcvC;;;;OAIG;IACH,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM;IAKrE;;;;OAIG;IACH,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM;IAKlE;;;;OAIG;IACH,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQrD;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAO9C;;;;;OAKG;IACH,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI;IASvF;;;;;OAKG;IACH,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI;CAQ3F;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}