@bitgo-beta/sdk-coin-sui 1.4.1-alpha.31 → 1.4.1-alpha.310

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 (162) hide show
  1. package/.mocharc.yml +1 -2
  2. package/CHANGELOG.md +897 -0
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +7 -2
  6. package/dist/src/lib/compareTransactionBlocks.d.ts +8 -0
  7. package/dist/src/lib/compareTransactionBlocks.d.ts.map +1 -0
  8. package/dist/src/lib/compareTransactionBlocks.js +12 -0
  9. package/dist/src/lib/constants.d.ts +11 -3
  10. package/dist/src/lib/constants.d.ts.map +1 -1
  11. package/dist/src/lib/constants.js +20 -3
  12. package/dist/src/lib/customTransaction.d.ts +57 -0
  13. package/dist/src/lib/customTransaction.d.ts.map +1 -0
  14. package/dist/src/lib/customTransaction.js +159 -0
  15. package/dist/src/lib/customTransactionBuilder.d.ts +46 -0
  16. package/dist/src/lib/customTransactionBuilder.d.ts.map +1 -0
  17. package/dist/src/lib/customTransactionBuilder.js +117 -0
  18. package/dist/src/lib/iface.d.ts +86 -27
  19. package/dist/src/lib/iface.d.ts.map +1 -1
  20. package/dist/src/lib/iface.js +39 -10
  21. package/dist/src/lib/index.d.ts +10 -0
  22. package/dist/src/lib/index.d.ts.map +1 -1
  23. package/dist/src/lib/index.js +44 -10
  24. package/dist/src/lib/keyPair.d.ts.map +1 -1
  25. package/dist/src/lib/keyPair.js +25 -21
  26. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +6 -6
  27. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -1
  28. package/dist/src/lib/mystenlab/builder/Inputs.js +19 -20
  29. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +302 -0
  30. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -0
  31. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +255 -0
  32. package/dist/src/lib/mystenlab/builder/{TransactionData.d.ts → TransactionDataBlock.d.ts} +62 -62
  33. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -0
  34. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +168 -0
  35. package/dist/src/lib/mystenlab/builder/{Commands.d.ts → Transactions.d.ts} +103 -158
  36. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -0
  37. package/dist/src/lib/mystenlab/builder/Transactions.js +118 -0
  38. package/dist/src/lib/mystenlab/builder/bcs.d.ts +6 -6
  39. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -1
  40. package/dist/src/lib/mystenlab/builder/bcs.js +16 -16
  41. package/dist/src/lib/mystenlab/builder/index.d.ts +2 -2
  42. package/dist/src/lib/mystenlab/builder/index.d.ts.map +1 -1
  43. package/dist/src/lib/mystenlab/builder/index.js +8 -4
  44. package/dist/src/lib/mystenlab/builder/serializer.d.ts.map +1 -1
  45. package/dist/src/lib/mystenlab/builder/serializer.js +6 -11
  46. package/dist/src/lib/mystenlab/builder/utils.d.ts +2 -5
  47. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -1
  48. package/dist/src/lib/mystenlab/builder/utils.js +5 -5
  49. package/dist/src/lib/mystenlab/cryptography/hash.js +3 -4
  50. package/dist/src/lib/mystenlab/framework/framework.d.ts +8 -7
  51. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -1
  52. package/dist/src/lib/mystenlab/framework/framework.js +23 -27
  53. package/dist/src/lib/mystenlab/framework/index.d.ts.map +1 -1
  54. package/dist/src/lib/mystenlab/framework/index.js +6 -4
  55. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +4 -23
  56. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -1
  57. package/dist/src/lib/mystenlab/framework/sui-system-state.js +11 -40
  58. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts.map +1 -0
  59. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +119 -0
  60. package/dist/src/lib/mystenlab/types/coin.d.ts +10 -10
  61. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -1
  62. package/dist/src/lib/mystenlab/types/coin.js +19 -19
  63. package/dist/src/lib/mystenlab/types/common.d.ts +8 -8
  64. package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -1
  65. package/dist/src/lib/mystenlab/types/common.js +22 -22
  66. package/dist/src/lib/mystenlab/types/events.d.ts +14 -14
  67. package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -1
  68. package/dist/src/lib/mystenlab/types/events.js +17 -17
  69. package/dist/src/lib/mystenlab/types/index.d.ts.map +1 -1
  70. package/dist/src/lib/mystenlab/types/index.js +6 -5
  71. package/dist/src/lib/mystenlab/types/normalized.d.ts +21 -21
  72. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -1
  73. package/dist/src/lib/mystenlab/types/normalized.js +42 -43
  74. package/dist/src/lib/mystenlab/types/objects.d.ts +95 -78
  75. package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -1
  76. package/dist/src/lib/mystenlab/types/objects.js +98 -104
  77. package/dist/src/lib/mystenlab/types/option.d.ts +1 -1
  78. package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -1
  79. package/dist/src/lib/mystenlab/types/option.js +2 -3
  80. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +10 -9
  81. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -1
  82. package/dist/src/lib/mystenlab/types/sui-bcs.js +4 -4
  83. package/dist/src/lib/mystenlab/types/transactions.d.ts +3262 -1046
  84. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -1
  85. package/dist/src/lib/mystenlab/types/transactions.js +209 -187
  86. package/dist/src/lib/mystenlab/types/validator.d.ts +641 -0
  87. package/dist/src/lib/mystenlab/types/validator.d.ts.map +1 -0
  88. package/dist/src/lib/mystenlab/types/validator.js +156 -0
  89. package/dist/src/lib/resources/walrusConfig.d.ts +22 -0
  90. package/dist/src/lib/resources/walrusConfig.d.ts.map +1 -0
  91. package/dist/src/lib/resources/walrusConfig.js +37 -0
  92. package/dist/src/lib/rpcClient.d.ts +5 -0
  93. package/dist/src/lib/rpcClient.d.ts.map +1 -0
  94. package/dist/src/lib/rpcClient.js +74 -0
  95. package/dist/src/lib/stakingBuilder.d.ts +15 -15
  96. package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
  97. package/dist/src/lib/stakingBuilder.js +113 -44
  98. package/dist/src/lib/stakingTransaction.d.ts +2 -10
  99. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  100. package/dist/src/lib/stakingTransaction.js +97 -35
  101. package/dist/src/lib/tokenTransferBuilder.d.ts +38 -0
  102. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  103. package/dist/src/lib/tokenTransferBuilder.js +132 -0
  104. package/dist/src/lib/tokenTransferTransaction.d.ts +57 -0
  105. package/dist/src/lib/tokenTransferTransaction.d.ts.map +1 -0
  106. package/dist/src/lib/tokenTransferTransaction.js +250 -0
  107. package/dist/src/lib/transaction.d.ts +16 -6
  108. package/dist/src/lib/transaction.d.ts.map +1 -1
  109. package/dist/src/lib/transaction.js +126 -26
  110. package/dist/src/lib/transactionBuilder.d.ts +2 -3
  111. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  112. package/dist/src/lib/transactionBuilder.js +4 -4
  113. package/dist/src/lib/transactionBuilderFactory.d.ts +17 -2
  114. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  115. package/dist/src/lib/transactionBuilderFactory.js +52 -2
  116. package/dist/src/lib/transferBuilder.d.ts +3 -1
  117. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  118. package/dist/src/lib/transferBuilder.js +34 -11
  119. package/dist/src/lib/transferTransaction.d.ts +1 -1
  120. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  121. package/dist/src/lib/transferTransaction.js +33 -18
  122. package/dist/src/lib/unstakingBuilder.d.ts +62 -0
  123. package/dist/src/lib/unstakingBuilder.d.ts.map +1 -0
  124. package/dist/src/lib/unstakingBuilder.js +227 -0
  125. package/dist/src/lib/unstakingTransaction.d.ts +75 -0
  126. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -0
  127. package/dist/src/lib/unstakingTransaction.js +345 -0
  128. package/dist/src/lib/utils.d.ts +51 -7
  129. package/dist/src/lib/utils.d.ts.map +1 -1
  130. package/dist/src/lib/utils.js +362 -27
  131. package/dist/src/lib/walrusStakingBuilder.d.ts +66 -0
  132. package/dist/src/lib/walrusStakingBuilder.d.ts.map +1 -0
  133. package/dist/src/lib/walrusStakingBuilder.js +200 -0
  134. package/dist/src/lib/walrusStakingTransaction.d.ts +52 -0
  135. package/dist/src/lib/walrusStakingTransaction.d.ts.map +1 -0
  136. package/dist/src/lib/walrusStakingTransaction.js +269 -0
  137. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts +36 -0
  138. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts.map +1 -0
  139. package/dist/src/lib/walrusWithdrawStakeBuilder.js +173 -0
  140. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts +21 -0
  141. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts.map +1 -0
  142. package/dist/src/lib/walrusWithdrawStakeTransaction.js +186 -0
  143. package/dist/src/register.d.ts.map +1 -1
  144. package/dist/src/register.js +5 -1
  145. package/dist/src/sui.d.ts +44 -8
  146. package/dist/src/sui.d.ts.map +1 -1
  147. package/dist/src/sui.js +484 -42
  148. package/dist/src/suiToken.d.ts +22 -0
  149. package/dist/src/suiToken.d.ts.map +1 -0
  150. package/dist/src/suiToken.js +61 -0
  151. package/dist/src/tsui.js +1 -1
  152. package/package.json +15 -12
  153. package/dist/src/lib/mystenlab/builder/Commands.d.ts.map +0 -1
  154. package/dist/src/lib/mystenlab/builder/Commands.js +0 -119
  155. package/dist/src/lib/mystenlab/builder/Transaction.d.ts +0 -609
  156. package/dist/src/lib/mystenlab/builder/Transaction.d.ts.map +0 -1
  157. package/dist/src/lib/mystenlab/builder/Transaction.js +0 -254
  158. package/dist/src/lib/mystenlab/builder/TransactionData.d.ts.map +0 -1
  159. package/dist/src/lib/mystenlab/builder/TransactionData.js +0 -171
  160. package/dist/src/lib/mystenlab/builder/type-tag-serializer.d.ts.map +0 -1
  161. package/dist/src/lib/mystenlab/builder/type-tag-serializer.js +0 -119
  162. /package/dist/src/lib/mystenlab/{builder → txn-data-serializers}/type-tag-serializer.d.ts +0 -0
@@ -0,0 +1,345 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.UnstakingTransaction = void 0;
37
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
38
+ const utils_1 = __importStar(require("./utils"));
39
+ const buffer_1 = require("buffer");
40
+ const transaction_1 = require("./transaction");
41
+ const builder_1 = require("./mystenlab/builder");
42
+ const types_1 = require("./mystenlab/types");
43
+ const bcs_1 = require("@mysten/bcs");
44
+ const constants_1 = require("./constants");
45
+ const unstakingBuilder_1 = require("./unstakingBuilder");
46
+ const compareTransactionBlocks_1 = require("./compareTransactionBlocks");
47
+ class UnstakingTransaction extends transaction_1.Transaction {
48
+ constructor(_coinConfig) {
49
+ super(_coinConfig);
50
+ }
51
+ get suiTransaction() {
52
+ return this._suiTransaction;
53
+ }
54
+ setSuiTransaction(tx) {
55
+ this._suiTransaction = tx;
56
+ }
57
+ addSignature(publicKey, signature) {
58
+ this._signatures.push(signature.toString('hex'));
59
+ this._signature = { publicKey, signature };
60
+ this.serialize();
61
+ }
62
+ get suiSignature() {
63
+ return this._signature;
64
+ }
65
+ /** @inheritdoc */
66
+ canSign(key) {
67
+ return true;
68
+ }
69
+ /** @inheritdoc */
70
+ toBroadcastFormat() {
71
+ if (!this._suiTransaction) {
72
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
73
+ }
74
+ return this.serialize();
75
+ }
76
+ /** @inheritdoc */
77
+ toJson() {
78
+ if (!this._suiTransaction) {
79
+ throw new sdk_core_1.ParseTransactionError('Empty transaction');
80
+ }
81
+ const tx = this._suiTransaction;
82
+ return {
83
+ id: this._id,
84
+ sender: tx.sender,
85
+ kind: { ProgrammableTransaction: tx.tx },
86
+ gasData: tx.gasData,
87
+ expiration: { None: null },
88
+ };
89
+ }
90
+ /** @inheritDoc */
91
+ explainTransaction() {
92
+ const result = this.toJson();
93
+ const displayOrder = [
94
+ 'id',
95
+ 'outputs',
96
+ 'outputAmount',
97
+ 'changeOutputs',
98
+ 'changeAmount',
99
+ 'fee',
100
+ 'type',
101
+ 'module',
102
+ 'function',
103
+ 'validatorAddress',
104
+ ];
105
+ const outputs = [];
106
+ const explanationResult = {
107
+ displayOrder,
108
+ id: this.id,
109
+ outputs,
110
+ outputAmount: '0',
111
+ changeOutputs: [],
112
+ changeAmount: '0',
113
+ fee: { fee: this.suiTransaction.gasData.budget.toString() },
114
+ type: this.type,
115
+ };
116
+ switch (this.type) {
117
+ case sdk_core_1.TransactionType.StakingClaim:
118
+ return this.explainWithdrawStakedSuiTransaction(result, explanationResult);
119
+ default:
120
+ throw new sdk_core_1.InvalidTransactionError('Transaction type not supported');
121
+ }
122
+ }
123
+ /**
124
+ * Set the transaction type.
125
+ *
126
+ * @param {TransactionType} transactionType The transaction type to be set.
127
+ */
128
+ transactionType(transactionType) {
129
+ this._type = transactionType;
130
+ }
131
+ getEntriesForStakedSuiInput(stakedSuiInput, amount) {
132
+ return {
133
+ inputs: [
134
+ {
135
+ address: (0, types_1.normalizeSuiAddress)(stakedSuiInput.objectId),
136
+ value: amount === undefined ? constants_1.AMOUNT_UNKNOWN_TEXT : amount.toString(),
137
+ coin: this._coinConfig.name,
138
+ },
139
+ ],
140
+ outputs: [
141
+ {
142
+ address: this.suiTransaction.sender,
143
+ value: amount === undefined ? constants_1.AMOUNT_UNKNOWN_TEXT : amount.toString(),
144
+ coin: this._coinConfig.name,
145
+ },
146
+ ],
147
+ };
148
+ }
149
+ /**
150
+ * @param inputs
151
+ * @param transactions
152
+ */
153
+ static parseTransactionPairReserialized(inputs, transactions) {
154
+ const [inputStakedSui, inputAmount, inputSharedObj] = inputs;
155
+ if (!builder_1.ObjectCallArg.is(inputStakedSui)) {
156
+ throw new Error('Invalid input staked sui');
157
+ }
158
+ if (!builder_1.PureCallArg.is(inputAmount)) {
159
+ throw new Error('Invalid input amount');
160
+ }
161
+ if (!builder_1.ObjectCallArg.is(inputSharedObj)) {
162
+ throw new Error('Invalid input shared object');
163
+ }
164
+ const amount = BigInt(types_1.bcs.de(bcs_1.BCS.U64, Uint8Array.from(inputAmount.Pure)));
165
+ if (!(0, utils_1.isImmOrOwnedObj)(inputStakedSui.Object)) {
166
+ throw new Error('Invalid input shared object');
167
+ }
168
+ // make sure we parsed the transaction correctly by rebuilding it and comparing the transaction blocks
169
+ (0, compareTransactionBlocks_1.assertEqualTransactionBlocks)({ inputs, transactions }, unstakingBuilder_1.UnstakingBuilder.getTransactionBlockDataReserialized(inputStakedSui.Object.ImmOrOwned, amount));
170
+ return {
171
+ stakedObjectRef: inputStakedSui.Object.ImmOrOwned,
172
+ amount,
173
+ };
174
+ }
175
+ static parseTransactionPair(inputs, transactions) {
176
+ if (transactions.length !== 2) {
177
+ throw new Error('Invalid transaction pair');
178
+ }
179
+ if (!builder_1.MoveCallTransaction.is(transactions[0]) || !builder_1.MoveCallTransaction.is(transactions[1])) {
180
+ throw new Error('Invalid transaction pair');
181
+ }
182
+ if (!Array.isArray(inputs) || inputs.length !== 3) {
183
+ throw new Error('Invalid inputs');
184
+ }
185
+ const [inputStakedSui, inputAmount, inputSharedObj] = inputs;
186
+ if (!builder_1.TransactionBlockInput.is(inputStakedSui) ||
187
+ !builder_1.TransactionBlockInput.is(inputAmount) ||
188
+ !builder_1.TransactionBlockInput.is(inputSharedObj)) {
189
+ // for unclear reasons there seem to be two different serialization formats that we are dealing with
190
+ // try the other one here
191
+ return this.parseTransactionPairReserialized(
192
+ // we have length checked these earlier
193
+ inputs, transactions);
194
+ }
195
+ if (inputStakedSui.type !== 'object' ||
196
+ inputAmount.type !== 'pure' ||
197
+ typeof inputAmount.value !== 'string' ||
198
+ inputSharedObj.type !== 'object' ||
199
+ !builder_1.ObjectCallArg.is(inputStakedSui.value) ||
200
+ !(0, utils_1.isImmOrOwnedObj)(inputStakedSui.value.Object)) {
201
+ throw new Error('Invalid inputs');
202
+ }
203
+ const amount = BigInt(inputAmount.value);
204
+ // make sure we parsed the transaction correctly by rebuilding it and comparing the transaction blocks
205
+ (0, compareTransactionBlocks_1.assertEqualTransactionBlocks)({ inputs, transactions }, unstakingBuilder_1.UnstakingBuilder.getTransactionBlockData(inputStakedSui.value.Object.ImmOrOwned, amount));
206
+ return {
207
+ stakedObjectRef: inputStakedSui.value.Object.ImmOrOwned,
208
+ amount,
209
+ };
210
+ }
211
+ static parseTransactionSingle(inputs, tx) {
212
+ if (!builder_1.MoveCallTransaction.is(tx) || !builder_1.TransactionBlockInput.is(tx.arguments[1])) {
213
+ throw new Error('Invalid transaction');
214
+ }
215
+ const stakedSuiInputIdx = tx.arguments[1].index;
216
+ let stakedSuiInput = inputs[stakedSuiInputIdx];
217
+ if (!builder_1.TransactionBlockInput.is(stakedSuiInput)) {
218
+ // for unclear reasons, in tests the stakedSuiInput is not a TransactionBlockInput sometimes
219
+ if (!builder_1.ObjectCallArg.is(stakedSuiInput)) {
220
+ throw new Error('Invalid transaction');
221
+ }
222
+ }
223
+ if ('Object' in stakedSuiInput && (0, utils_1.isImmOrOwnedObj)(stakedSuiInput.Object)) {
224
+ stakedSuiInput = stakedSuiInput.Object.ImmOrOwned;
225
+ }
226
+ else if ('value' in stakedSuiInput && (0, utils_1.isImmOrOwnedObj)(stakedSuiInput.value.Object)) {
227
+ stakedSuiInput = stakedSuiInput.value.Object.ImmOrOwned;
228
+ }
229
+ else {
230
+ throw new Error('Invalid transaction');
231
+ }
232
+ if (!types_1.SuiObjectRef.is(stakedSuiInput)) {
233
+ throw new Error('Invalid transaction');
234
+ }
235
+ return {
236
+ stakedObjectRef: stakedSuiInput,
237
+ };
238
+ }
239
+ static parseTransaction(tx) {
240
+ const { inputs, transactions } = tx;
241
+ if (transactions.length === 1) {
242
+ return UnstakingTransaction.parseTransactionSingle(inputs, transactions[0]);
243
+ }
244
+ else if (transactions.length === 2) {
245
+ return UnstakingTransaction.parseTransactionPair(inputs, transactions);
246
+ }
247
+ else {
248
+ throw new sdk_core_1.InvalidTransactionError('Invalid transaction');
249
+ }
250
+ }
251
+ /**
252
+ * Load the input and output data on this transaction.
253
+ */
254
+ loadInputsAndOutputs() {
255
+ if (!this.suiTransaction) {
256
+ return;
257
+ }
258
+ const parsed = UnstakingTransaction.parseTransaction(this.suiTransaction.tx);
259
+ const { inputs, outputs } = this.getEntriesForStakedSuiInput(parsed.stakedObjectRef, parsed.amount);
260
+ this._inputs = inputs;
261
+ this._outputs = outputs;
262
+ }
263
+ /**
264
+ * Sets this transaction payload
265
+ *
266
+ * @param {string} rawTransaction
267
+ */
268
+ fromRawTransaction(rawTransaction) {
269
+ try {
270
+ utils_1.default.isValidRawTransaction(rawTransaction);
271
+ this._suiTransaction = transaction_1.Transaction.deserializeSuiTransaction(rawTransaction);
272
+ this._type = utils_1.default.getTransactionType(this._suiTransaction.type);
273
+ this._id = this._suiTransaction.id;
274
+ this.loadInputsAndOutputs();
275
+ }
276
+ catch (e) {
277
+ throw e;
278
+ }
279
+ }
280
+ /**
281
+ * Helper function for serialize() to get the correct txData with transaction type
282
+ *
283
+ * @return {TxData}
284
+ */
285
+ getTxData() {
286
+ if (!this._suiTransaction) {
287
+ throw new sdk_core_1.InvalidTransactionError('empty transaction');
288
+ }
289
+ const inputs = this._suiTransaction.tx.inputs.map((input, index) => {
290
+ if (input.hasOwnProperty('Object')) {
291
+ return input;
292
+ }
293
+ if (input.hasOwnProperty('Pure')) {
294
+ if (input.Pure.length === constants_1.SUI_ADDRESS_LENGTH) {
295
+ const address = (0, types_1.normalizeSuiAddress)(builder_1.builder.de(bcs_1.BCS.ADDRESS, buffer_1.Buffer.from(input.Pure).toString('base64'), 'base64'));
296
+ return builder_1.Inputs.Pure(address, bcs_1.BCS.ADDRESS);
297
+ }
298
+ else {
299
+ const amount = builder_1.builder.de(bcs_1.BCS.U64, buffer_1.Buffer.from(input.Pure).toString('base64'), 'base64');
300
+ return builder_1.Inputs.Pure(amount, bcs_1.BCS.U64);
301
+ }
302
+ }
303
+ if (input.kind === 'Input' && (input.value.hasOwnProperty('Object') || input.value.hasOwnProperty('Pure'))) {
304
+ return input.value;
305
+ }
306
+ // what's left is the pure number or address string
307
+ return builder_1.Inputs.Pure(input.value, input.type === 'pure' ? bcs_1.BCS.U64 : bcs_1.BCS.ADDRESS);
308
+ });
309
+ const programmableTx = {
310
+ inputs: inputs,
311
+ transactions: this._suiTransaction.tx.transactions,
312
+ };
313
+ return {
314
+ sender: this._suiTransaction.sender,
315
+ expiration: { None: null },
316
+ gasData: this._suiTransaction.gasData,
317
+ kind: {
318
+ ProgrammableTransaction: programmableTx,
319
+ },
320
+ };
321
+ }
322
+ /**
323
+ * Returns a complete explanation for a unstaking transaction
324
+ *
325
+ * @param {TxData} json The transaction data in json format
326
+ * @param {TransactionExplanation} explanationResult The transaction explanation to be completed
327
+ * @returns {TransactionExplanation}
328
+ */
329
+ explainWithdrawStakedSuiTransaction(json, explanationResult) {
330
+ const outputs = [
331
+ {
332
+ address: this.suiTransaction.sender,
333
+ amount: constants_1.AMOUNT_UNKNOWN_TEXT,
334
+ },
335
+ ];
336
+ const outputAmount = constants_1.AMOUNT_UNKNOWN_TEXT;
337
+ return {
338
+ ...explanationResult,
339
+ outputAmount,
340
+ outputs,
341
+ };
342
+ }
343
+ }
344
+ exports.UnstakingTransaction = UnstakingTransaction;
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zdGFraW5nVHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Vuc3Rha2luZ1RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQVM4QjtBQUc5QixpREFBaUQ7QUFDakQsbUNBQWdDO0FBQ2hDLCtDQUE0QztBQUM1QyxpREFPNkI7QUFDN0IsNkNBQW9GO0FBQ3BGLHFDQUFrQztBQUNsQywyQ0FBc0U7QUFDdEUseURBQXNEO0FBQ3RELHlFQUEwRTtBQUUxRSxNQUFhLG9CQUFxQixTQUFRLHlCQUE2QztJQUNyRixZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBb0Q7UUFDcEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUF3QixFQUFFLFNBQWlCO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTyxDQUFDLEdBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQjtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsZUFB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Q0osQ0FBQztDQUNGO0FBN1dELG9EQTZXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEVudHJ5LFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUGFyc2VUcmFuc2FjdGlvbkVycm9yLFxuICBQdWJsaWNLZXkgYXMgQmFzZVB1YmxpY0tleSxcbiAgU2lnbmF0dXJlLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBVbnN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbiwgU3VpVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sIFR4RGF0YSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHV0aWxzLCB7IGlzSW1tT3JPd25lZE9iaiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSAnYnVmZmVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBidWlsZGVyLFxuICBJbnB1dHMsXG4gIE1vdmVDYWxsVHJhbnNhY3Rpb24sXG4gIE9iamVjdENhbGxBcmcsXG4gIFB1cmVDYWxsQXJnLFxuICBUcmFuc2FjdGlvbkJsb2NrSW5wdXQsXG59IGZyb20gJy4vbXlzdGVubGFiL2J1aWxkZXInO1xuaW1wb3J0IHsgYmNzLCBDYWxsQXJnLCBub3JtYWxpemVTdWlBZGRyZXNzLCBTdWlPYmplY3RSZWYgfSBmcm9tICcuL215c3RlbmxhYi90eXBlcyc7XG5pbXBvcnQgeyBCQ1MgfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5pbXBvcnQgeyBBTU9VTlRfVU5LTk9XTl9URVhULCBTVUlfQUREUkVTU19MRU5HVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBVbnN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi91bnN0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7IGFzc2VydEVxdWFsVHJhbnNhY3Rpb25CbG9ja3MgfSBmcm9tICcuL2NvbXBhcmVUcmFuc2FjdGlvbkJsb2Nrcyc7XG5cbmV4cG9ydCBjbGFzcyBVbnN0YWtpbmdUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uPFVuc3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPiB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldCBzdWlUcmFuc2FjdGlvbigpOiBTdWlUcmFuc2FjdGlvbjxVbnN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLl9zdWlUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldFN1aVRyYW5zYWN0aW9uKHR4OiBTdWlUcmFuc2FjdGlvbjxVbnN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4pOiB2b2lkIHtcbiAgICB0aGlzLl9zdWlUcmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgYWRkU2lnbmF0dXJlKHB1YmxpY0tleTogQmFzZVB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlLnRvU3RyaW5nKCdoZXgnKSk7XG4gICAgdGhpcy5fc2lnbmF0dXJlID0geyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9O1xuICAgIHRoaXMuc2VyaWFsaXplKCk7XG4gIH1cblxuICBnZXQgc3VpU2lnbmF0dXJlKCk6IFNpZ25hdHVyZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9zdWlUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX3N1aVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IHR4ID0gdGhpcy5fc3VpVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLl9pZCxcbiAgICAgIHNlbmRlcjogdHguc2VuZGVyLFxuICAgICAga2luZDogeyBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjogdHgudHggfSxcbiAgICAgIGdhc0RhdGE6IHR4Lmdhc0RhdGEsXG4gICAgICBleHBpcmF0aW9uOiB7IE5vbmU6IG51bGwgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFtcbiAgICAgICdpZCcsXG4gICAgICAnb3V0cHV0cycsXG4gICAgICAnb3V0cHV0QW1vdW50JyxcbiAgICAgICdjaGFuZ2VPdXRwdXRzJyxcbiAgICAgICdjaGFuZ2VBbW91bnQnLFxuICAgICAgJ2ZlZScsXG4gICAgICAndHlwZScsXG4gICAgICAnbW9kdWxlJyxcbiAgICAgICdmdW5jdGlvbicsXG4gICAgICAndmFsaWRhdG9yQWRkcmVzcycsXG4gICAgXTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW107XG5cbiAgICBjb25zdCBleHBsYW5hdGlvblJlc3VsdDogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiA9IHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogJzAnLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6IHRoaXMuc3VpVHJhbnNhY3Rpb24uZ2FzRGF0YS5idWRnZXQudG9TdHJpbmcoKSB9LFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0NsYWltOlxuICAgICAgICByZXR1cm4gdGhpcy5leHBsYWluV2l0aGRyYXdTdGFrZWRTdWlUcmFuc2FjdGlvbihyZXN1bHQsIGV4cGxhbmF0aW9uUmVzdWx0KTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gdHlwZSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblR5cGV9IHRyYW5zYWN0aW9uVHlwZSBUaGUgdHJhbnNhY3Rpb24gdHlwZSB0byBiZSBzZXQuXG4gICAqL1xuICB0cmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb25UeXBlOiBUcmFuc2FjdGlvblR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLl90eXBlID0gdHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgZ2V0RW50cmllc0ZvclN0YWtlZFN1aUlucHV0KHN0YWtlZFN1aUlucHV0OiBTdWlPYmplY3RSZWYsIGFtb3VudD86IGJpZ2ludCk6IHsgaW5wdXRzOiBFbnRyeVtdOyBvdXRwdXRzOiBFbnRyeVtdIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IG5vcm1hbGl6ZVN1aUFkZHJlc3Moc3Rha2VkU3VpSW5wdXQub2JqZWN0SWQpLFxuICAgICAgICAgIHZhbHVlOiBhbW91bnQgPT09IHVuZGVmaW5lZCA/IEFNT1VOVF9VTktOT1dOX1RFWFQgOiBhbW91bnQudG9TdHJpbmcoKSxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgb3V0cHV0czogW1xuICAgICAgICB7XG4gICAgICAgICAgYWRkcmVzczogdGhpcy5zdWlUcmFuc2FjdGlvbi5zZW5kZXIsXG4gICAgICAgICAgdmFsdWU6IGFtb3VudCA9PT0gdW5kZWZpbmVkID8gQU1PVU5UX1VOS05PV05fVEVYVCA6IGFtb3VudC50b1N0cmluZygpLFxuICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gaW5wdXRzXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIHN0YXRpYyBwYXJzZVRyYW5zYWN0aW9uUGFpclJlc2VyaWFsaXplZChcbiAgICBpbnB1dHM6IFt1bmtub3duLCB1bmtub3duLCB1bmtub3duXSxcbiAgICB0cmFuc2FjdGlvbnM6IFt1bmtub3duLCB1bmtub3duXVxuICApOiB7XG4gICAgc3Rha2VkT2JqZWN0UmVmOiBTdWlPYmplY3RSZWY7XG4gICAgYW1vdW50OiBiaWdpbnQ7XG4gIH0ge1xuICAgIGNvbnN0IFtpbnB1dFN0YWtlZFN1aSwgaW5wdXRBbW91bnQsIGlucHV0U2hhcmVkT2JqXSA9IGlucHV0cztcblxuICAgIGlmICghT2JqZWN0Q2FsbEFyZy5pcyhpbnB1dFN0YWtlZFN1aSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dCBzdGFrZWQgc3VpJyk7XG4gICAgfVxuXG4gICAgaWYgKCFQdXJlQ2FsbEFyZy5pcyhpbnB1dEFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dCBhbW91bnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIU9iamVjdENhbGxBcmcuaXMoaW5wdXRTaGFyZWRPYmopKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW5wdXQgc2hhcmVkIG9iamVjdCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGFtb3VudCA9IEJpZ0ludChiY3MuZGUoQkNTLlU2NCwgVWludDhBcnJheS5mcm9tKGlucHV0QW1vdW50LlB1cmUpKSk7XG4gICAgaWYgKCFpc0ltbU9yT3duZWRPYmooaW5wdXRTdGFrZWRTdWkuT2JqZWN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlucHV0IHNoYXJlZCBvYmplY3QnKTtcbiAgICB9XG5cbiAgICAvLyBtYWtlIHN1cmUgd2UgcGFyc2VkIHRoZSB0cmFuc2FjdGlvbiBjb3JyZWN0bHkgYnkgcmVidWlsZGluZyBpdCBhbmQgY29tcGFyaW5nIHRoZSB0cmFuc2FjdGlvbiBibG9ja3NcbiAgICBhc3NlcnRFcXVhbFRyYW5zYWN0aW9uQmxvY2tzKFxuICAgICAgeyBpbnB1dHMsIHRyYW5zYWN0aW9ucyB9LFxuICAgICAgVW5zdGFraW5nQnVpbGRlci5nZXRUcmFuc2FjdGlvbkJsb2NrRGF0YVJlc2VyaWFsaXplZChpbnB1dFN0YWtlZFN1aS5PYmplY3QuSW1tT3JPd25lZCwgYW1vdW50KVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3Rha2VkT2JqZWN0UmVmOiBpbnB1dFN0YWtlZFN1aS5PYmplY3QuSW1tT3JPd25lZCxcbiAgICAgIGFtb3VudCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIHBhcnNlVHJhbnNhY3Rpb25QYWlyKFxuICAgIGlucHV0czogU3VpVHJhbnNhY3Rpb25bJ3R4J11bJ2lucHV0cyddLFxuICAgIHRyYW5zYWN0aW9uczogdW5rbm93bltdXG4gICk6IHtcbiAgICBzdGFrZWRPYmplY3RSZWY6IFN1aU9iamVjdFJlZjtcbiAgICBhbW91bnQ6IGJpZ2ludDtcbiAgfSB7XG4gICAgaWYgKHRyYW5zYWN0aW9ucy5sZW5ndGggIT09IDIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiBwYWlyJyk7XG4gICAgfVxuXG4gICAgaWYgKCFNb3ZlQ2FsbFRyYW5zYWN0aW9uLmlzKHRyYW5zYWN0aW9uc1swXSkgfHwgIU1vdmVDYWxsVHJhbnNhY3Rpb24uaXModHJhbnNhY3Rpb25zWzFdKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uIHBhaXInKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaW5wdXRzKSB8fCBpbnB1dHMubGVuZ3RoICE9PSAzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW5wdXRzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgW2lucHV0U3Rha2VkU3VpLCBpbnB1dEFtb3VudCwgaW5wdXRTaGFyZWRPYmpdID0gaW5wdXRzO1xuICAgIGlmIChcbiAgICAgICFUcmFuc2FjdGlvbkJsb2NrSW5wdXQuaXMoaW5wdXRTdGFrZWRTdWkpIHx8XG4gICAgICAhVHJhbnNhY3Rpb25CbG9ja0lucHV0LmlzKGlucHV0QW1vdW50KSB8fFxuICAgICAgIVRyYW5zYWN0aW9uQmxvY2tJbnB1dC5pcyhpbnB1dFNoYXJlZE9iailcbiAgICApIHtcbiAgICAgIC8vIGZvciB1bmNsZWFyIHJlYXNvbnMgdGhlcmUgc2VlbSB0byBiZSB0d28gZGlmZmVyZW50IHNlcmlhbGl6YXRpb24gZm9ybWF0cyB0aGF0IHdlIGFyZSBkZWFsaW5nIHdpdGhcbiAgICAgIC8vIHRyeSB0aGUgb3RoZXIgb25lIGhlcmVcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlVHJhbnNhY3Rpb25QYWlyUmVzZXJpYWxpemVkKFxuICAgICAgICAvLyB3ZSBoYXZlIGxlbmd0aCBjaGVja2VkIHRoZXNlIGVhcmxpZXJcbiAgICAgICAgaW5wdXRzIGFzIFt1bmtub3duLCB1bmtub3duLCB1bmtub3duXSxcbiAgICAgICAgdHJhbnNhY3Rpb25zIGFzIFt1bmtub3duLCB1bmtub3duXVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBpbnB1dFN0YWtlZFN1aS50eXBlICE9PSAnb2JqZWN0JyB8fFxuICAgICAgaW5wdXRBbW91bnQudHlwZSAhPT0gJ3B1cmUnIHx8XG4gICAgICB0eXBlb2YgaW5wdXRBbW91bnQudmFsdWUgIT09ICdzdHJpbmcnIHx8XG4gICAgICBpbnB1dFNoYXJlZE9iai50eXBlICE9PSAnb2JqZWN0JyB8fFxuICAgICAgIU9iamVjdENhbGxBcmcuaXMoaW5wdXRTdGFrZWRTdWkudmFsdWUpIHx8XG4gICAgICAhaXNJbW1Pck93bmVkT2JqKGlucHV0U3Rha2VkU3VpLnZhbHVlLk9iamVjdClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dHMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBhbW91bnQgPSBCaWdJbnQoaW5wdXRBbW91bnQudmFsdWUpO1xuXG4gICAgLy8gbWFrZSBzdXJlIHdlIHBhcnNlZCB0aGUgdHJhbnNhY3Rpb24gY29ycmVjdGx5IGJ5IHJlYnVpbGRpbmcgaXQgYW5kIGNvbXBhcmluZyB0aGUgdHJhbnNhY3Rpb24gYmxvY2tzXG4gICAgYXNzZXJ0RXF1YWxUcmFuc2FjdGlvbkJsb2NrcyhcbiAgICAgIHsgaW5wdXRzLCB0cmFuc2FjdGlvbnMgfSxcbiAgICAgIFVuc3Rha2luZ0J1aWxkZXIuZ2V0VHJhbnNhY3Rpb25CbG9ja0RhdGEoaW5wdXRTdGFrZWRTdWkudmFsdWUuT2JqZWN0LkltbU9yT3duZWQsIGFtb3VudClcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YWtlZE9iamVjdFJlZjogaW5wdXRTdGFrZWRTdWkudmFsdWUuT2JqZWN0LkltbU9yT3duZWQsXG4gICAgICBhbW91bnQsXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBwYXJzZVRyYW5zYWN0aW9uU2luZ2xlKFxuICAgIGlucHV0czogU3VpVHJhbnNhY3Rpb25bJ3R4J11bJ2lucHV0cyddLFxuICAgIHR4OiB1bmtub3duXG4gICk6IHtcbiAgICBzdGFrZWRPYmplY3RSZWY6IFN1aU9iamVjdFJlZjtcbiAgfSB7XG4gICAgaWYgKCFNb3ZlQ2FsbFRyYW5zYWN0aW9uLmlzKHR4KSB8fCAhVHJhbnNhY3Rpb25CbG9ja0lucHV0LmlzKHR4LmFyZ3VtZW50c1sxXSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCBzdGFrZWRTdWlJbnB1dElkeCA9IHR4LmFyZ3VtZW50c1sxXS5pbmRleDtcbiAgICBsZXQgc3Rha2VkU3VpSW5wdXQ6IHVua25vd24gfCBTdWlPYmplY3RSZWYgPSBpbnB1dHNbc3Rha2VkU3VpSW5wdXRJZHhdO1xuICAgIGlmICghVHJhbnNhY3Rpb25CbG9ja0lucHV0LmlzKHN0YWtlZFN1aUlucHV0KSkge1xuICAgICAgLy8gZm9yIHVuY2xlYXIgcmVhc29ucywgaW4gdGVzdHMgdGhlIHN0YWtlZFN1aUlucHV0IGlzIG5vdCBhIFRyYW5zYWN0aW9uQmxvY2tJbnB1dCBzb21ldGltZXNcbiAgICAgIGlmICghT2JqZWN0Q2FsbEFyZy5pcyhzdGFrZWRTdWlJbnB1dCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICgnT2JqZWN0JyBpbiBzdGFrZWRTdWlJbnB1dCAmJiBpc0ltbU9yT3duZWRPYmooc3Rha2VkU3VpSW5wdXQuT2JqZWN0KSkge1xuICAgICAgc3Rha2VkU3VpSW5wdXQgPSBzdGFrZWRTdWlJbnB1dC5PYmplY3QuSW1tT3JPd25lZCBhcyBTdWlPYmplY3RSZWY7XG4gICAgfSBlbHNlIGlmICgndmFsdWUnIGluIHN0YWtlZFN1aUlucHV0ICYmIGlzSW1tT3JPd25lZE9iaihzdGFrZWRTdWlJbnB1dC52YWx1ZS5PYmplY3QpKSB7XG4gICAgICBzdGFrZWRTdWlJbnB1dCA9IHN0YWtlZFN1aUlucHV0LnZhbHVlLk9iamVjdC5JbW1Pck93bmVkIGFzIFN1aU9iamVjdFJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGlmICghU3VpT2JqZWN0UmVmLmlzKHN0YWtlZFN1aUlucHV0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBzdGFrZWRPYmplY3RSZWY6IHN0YWtlZFN1aUlucHV0LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgcGFyc2VUcmFuc2FjdGlvbih0eDogVW5zdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24pOiB7XG4gICAgc3Rha2VkT2JqZWN0UmVmOiBTdWlPYmplY3RSZWY7XG4gICAgYW1vdW50PzogYmlnaW50O1xuICB9IHtcbiAgICBjb25zdCB7IGlucHV0cywgdHJhbnNhY3Rpb25zIH0gPSB0eDtcbiAgICBpZiAodHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIFVuc3Rha2luZ1RyYW5zYWN0aW9uLnBhcnNlVHJhbnNhY3Rpb25TaW5nbGUoaW5wdXRzLCB0cmFuc2FjdGlvbnNbMF0pO1xuICAgIH0gZWxzZSBpZiAodHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0dXJuIFVuc3Rha2luZ1RyYW5zYWN0aW9uLnBhcnNlVHJhbnNhY3Rpb25QYWlyKGlucHV0cywgdHJhbnNhY3Rpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIGlucHV0IGFuZCBvdXRwdXQgZGF0YSBvbiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgbG9hZElucHV0c0FuZE91dHB1dHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN1aVRyYW5zYWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkID0gVW5zdGFraW5nVHJhbnNhY3Rpb24ucGFyc2VUcmFuc2FjdGlvbih0aGlzLnN1aVRyYW5zYWN0aW9uLnR4KTtcbiAgICBjb25zdCB7IGlucHV0cywgb3V0cHV0cyB9ID0gdGhpcy5nZXRFbnRyaWVzRm9yU3Rha2VkU3VpSW5wdXQocGFyc2VkLnN0YWtlZE9iamVjdFJlZiwgcGFyc2VkLmFtb3VudCk7XG4gICAgdGhpcy5faW5wdXRzID0gaW5wdXRzO1xuICAgIHRoaXMuX291dHB1dHMgPSBvdXRwdXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhpcyB0cmFuc2FjdGlvbiBwYXlsb2FkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByYXdUcmFuc2FjdGlvblxuICAgKi9cbiAgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdXRpbHMuaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHRoaXMuX3N1aVRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZGVzZXJpYWxpemVTdWlUcmFuc2FjdGlvbihcbiAgICAgICAgcmF3VHJhbnNhY3Rpb25cbiAgICAgICkgYXMgU3VpVHJhbnNhY3Rpb248VW5zdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+O1xuICAgICAgdGhpcy5fdHlwZSA9IHV0aWxzLmdldFRyYW5zYWN0aW9uVHlwZSh0aGlzLl9zdWlUcmFuc2FjdGlvbi50eXBlKTtcbiAgICAgIHRoaXMuX2lkID0gdGhpcy5fc3VpVHJhbnNhY3Rpb24uaWQ7XG4gICAgICB0aGlzLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIGZ1bmN0aW9uIGZvciBzZXJpYWxpemUoKSB0byBnZXQgdGhlIGNvcnJlY3QgdHhEYXRhIHdpdGggdHJhbnNhY3Rpb24gdHlwZVxuICAgKlxuICAgKiBAcmV0dXJuIHtUeERhdGF9XG4gICAqL1xuICBnZXRUeERhdGEoKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX3N1aVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ2VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IGlucHV0czogQ2FsbEFyZ1tdIHwgVHJhbnNhY3Rpb25CbG9ja0lucHV0W10gPSB0aGlzLl9zdWlUcmFuc2FjdGlvbi50eC5pbnB1dHMubWFwKChpbnB1dCwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbnB1dC5oYXNPd25Qcm9wZXJ0eSgnT2JqZWN0JykpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0O1xuICAgICAgfVxuICAgICAgaWYgKGlucHV0Lmhhc093blByb3BlcnR5KCdQdXJlJykpIHtcbiAgICAgICAgaWYgKGlucHV0LlB1cmUubGVuZ3RoID09PSBTVUlfQUREUkVTU19MRU5HVEgpIHtcbiAgICAgICAgICBjb25zdCBhZGRyZXNzID0gbm9ybWFsaXplU3VpQWRkcmVzcyhcbiAgICAgICAgICAgIGJ1aWxkZXIuZGUoQkNTLkFERFJFU1MsIEJ1ZmZlci5mcm9tKGlucHV0LlB1cmUpLnRvU3RyaW5nKCdiYXNlNjQnKSwgJ2Jhc2U2NCcpXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gSW5wdXRzLlB1cmUoYWRkcmVzcywgQkNTLkFERFJFU1MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGFtb3VudCA9IGJ1aWxkZXIuZGUoQkNTLlU2NCwgQnVmZmVyLmZyb20oaW5wdXQuUHVyZSkudG9TdHJpbmcoJ2Jhc2U2NCcpLCAnYmFzZTY0Jyk7XG4gICAgICAgICAgcmV0dXJuIElucHV0cy5QdXJlKGFtb3VudCwgQkNTLlU2NCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dC5raW5kID09PSAnSW5wdXQnICYmIChpbnB1dC52YWx1ZS5oYXNPd25Qcm9wZXJ0eSgnT2JqZWN0JykgfHwgaW5wdXQudmFsdWUuaGFzT3duUHJvcGVydHkoJ1B1cmUnKSkpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0LnZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyB3aGF0J3MgbGVmdCBpcyB0aGUgcHVyZSBudW1iZXIgb3IgYWRkcmVzcyBzdHJpbmdcbiAgICAgIHJldHVybiBJbnB1dHMuUHVyZShpbnB1dC52YWx1ZSwgaW5wdXQudHlwZSA9PT0gJ3B1cmUnID8gQkNTLlU2NCA6IEJDUy5BRERSRVNTKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHByb2dyYW1tYWJsZVR4ID0ge1xuICAgICAgaW5wdXRzOiBpbnB1dHMsXG4gICAgICB0cmFuc2FjdGlvbnM6IHRoaXMuX3N1aVRyYW5zYWN0aW9uLnR4LnRyYW5zYWN0aW9ucyxcbiAgICB9IGFzIFVuc3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbmRlcjogdGhpcy5fc3VpVHJhbnNhY3Rpb24uc2VuZGVyLFxuICAgICAgZXhwaXJhdGlvbjogeyBOb25lOiBudWxsIH0sXG4gICAgICBnYXNEYXRhOiB0aGlzLl9zdWlUcmFuc2FjdGlvbi5nYXNEYXRhLFxuICAgICAga2luZDoge1xuICAgICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjogcHJvZ3JhbW1hYmxlVHgsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGNvbXBsZXRlIGV4cGxhbmF0aW9uIGZvciBhIHVuc3Rha2luZyB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1R4RGF0YX0ganNvbiBUaGUgdHJhbnNhY3Rpb24gZGF0YSBpbiBqc29uIGZvcm1hdFxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uRXhwbGFuYXRpb259IGV4cGxhbmF0aW9uUmVzdWx0IFRoZSB0cmFuc2FjdGlvbiBleHBsYW5hdGlvbiB0byBiZSBjb21wbGV0ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uRXhwbGFuYXRpb259XG4gICAqL1xuICBleHBsYWluV2l0aGRyYXdTdGFrZWRTdWlUcmFuc2FjdGlvbihqc29uOiBUeERhdGEsIGV4cGxhbmF0aW9uUmVzdWx0OiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5zdWlUcmFuc2FjdGlvbi5zZW5kZXIsXG4gICAgICAgIGFtb3VudDogQU1PVU5UX1VOS05PV05fVEVYVCxcbiAgICAgIH0sXG4gICAgXTtcbiAgICBjb25zdCBvdXRwdXRBbW91bnQgPSBBTU9VTlRfVU5LTk9XTl9URVhUO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmV4cGxhbmF0aW9uUmVzdWx0LFxuICAgICAgb3V0cHV0QW1vdW50LFxuICAgICAgb3V0cHV0cyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,6 +1,12 @@
1
- import { BaseUtils, TransactionType, Recipient } from '@bitgo-beta/sdk-core';
1
+ import { BaseUtils, Recipient, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import BigNumber from 'bignumber.js';
3
+ import { RequestAddStake, RequestWalrusStakeWithPool, RequestWalrusWithdrawStake, StakingProgrammableTransaction, WalrusStakingProgrammableTransaction, WalrusWithdrawStakeProgrammableTransaction, SuiObjectInfo, SuiProgrammableTransaction, SuiTransaction, SuiTransactionType } from './iface';
2
4
  import { SuiJsonValue, SuiObjectRef } from './mystenlab/types';
3
- import { TransactionInput } from './mystenlab/builder';
5
+ import { ObjectCallArg, TransactionBlockInput, TransactionType as TransactionCommandType } from './mystenlab/builder';
6
+ import { BaseNetwork } from '@bitgo-beta/statics';
7
+ export declare function isImmOrOwnedObj(obj: ObjectCallArg['Object']): obj is {
8
+ ImmOrOwned: SuiObjectRef;
9
+ };
4
10
  export declare class Utils implements BaseUtils {
5
11
  /** @inheritdoc */
6
12
  isValidBlockId(hash: string): boolean;
@@ -70,14 +76,52 @@ export declare class Utils implements BaseUtils {
70
76
  * @param {MethodNames} fctName
71
77
  * @return {TransactionType}
72
78
  */
73
- getTransactionType(fctName: string): TransactionType;
74
- getRecipients(inputs: SuiJsonValue[] | TransactionInput[]): Recipient[];
75
- getRecipientAmount(input: SuiJsonValue | TransactionInput): string;
76
- getRecipientAddress(input: SuiJsonValue | TransactionInput): string;
79
+ getTransactionType(suiTransactionType: SuiTransactionType): TransactionType;
80
+ /**
81
+ * Get SUI transaction type
82
+ *
83
+ * @param {MethodNames} fctName
84
+ * @return {TransactionType}
85
+ */
86
+ getSuiTransactionType(command: TransactionCommandType): SuiTransactionType;
87
+ getRecipients(tx: SuiTransaction<SuiProgrammableTransaction>): Recipient[];
88
+ /**
89
+ * Get add staking requests
90
+ *
91
+ * @param {StakingProgrammableTransaction} tx: staking transaction object
92
+ * @return {RequestAddStake[]} add staking requests
93
+ */
94
+ getStakeRequests(tx: StakingProgrammableTransaction): RequestAddStake[];
95
+ getWalrusStakeWithPoolRequests(tx: WalrusStakingProgrammableTransaction): RequestWalrusStakeWithPool[];
96
+ isWalrusRequestWithdrawStakeTx(tx: WalrusWithdrawStakeProgrammableTransaction): boolean;
97
+ getWalrusWithdrawStakeRequests(tx: WalrusWithdrawStakeProgrammableTransaction): RequestWalrusWithdrawStake;
98
+ getAmount(input: SuiJsonValue | TransactionBlockInput): number;
99
+ getAddress(input: TransactionBlockInput): string;
77
100
  normalizeCoins(coins: any[]): SuiObjectRef[];
78
101
  normalizeSuiObjectRef(obj: SuiObjectRef): SuiObjectRef;
79
- transactionInput(type: 'object' | 'pure', index?: number, value?: unknown): TransactionInput;
102
+ transactionInput(type: 'object' | 'pure', index?: number, value?: unknown): TransactionBlockInput;
103
+ getAddressFromPublicKey(publicKey: string): string;
104
+ getFeeEstimate(url: string, txHex: string): Promise<BigNumber>;
105
+ getBalance(url: string, owner: string, coinType?: string): Promise<string>;
106
+ getInputCoins(url: string, owner: string, coinType?: string): Promise<SuiObjectInfo[]>;
107
+ executeTransactionBlock(url: string, serializedTx: string, signatures: string[]): Promise<string>;
108
+ validateNonNegativeNumber(defaultVal: number, errorMsg: string, inputVal?: number): number;
109
+ getSuiTokenFromAddress(packageId: string, network: BaseNetwork): Readonly<import("@bitgo-beta/statics").BaseCoin> | undefined;
110
+ selectObjectsInDescOrderOfBalance(objs: SuiObjectInfo[], limit: BigNumber): SuiObjectInfo[];
80
111
  }
81
112
  declare const utils: Utils;
82
113
  export default utils;
114
+ export declare enum AppId {
115
+ Sui = 0
116
+ }
117
+ export declare enum IntentVersion {
118
+ V0 = 0
119
+ }
120
+ export declare enum IntentScope {
121
+ TransactionData = 0,
122
+ TransactionEffects = 1,
123
+ CheckpointSummary = 2,
124
+ PersonalMessage = 3
125
+ }
126
+ export type Intent = [IntentScope, IntentVersion, AppId];
83
127
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAIT,eAAe,EAEf,SAAS,EACV,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAIL,YAAY,EACZ,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAW,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,qBAAa,KAAM,YAAW,SAAS;IACrC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kBAAkB;IAClB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;OAKG;IACH,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAWtD;;;;OAIG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASpD;;;;;OAKG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/D;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAMzD,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI7B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKvC;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO;IAS1C;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAQ/C;;;;;QAKI;IACJ,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAIlC;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAWpD,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,GAAG,SAAS,EAAE;IAkBvE,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,gBAAgB,GAAG,MAAM;IAMlE,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,gBAAgB,GAAG,MAAM;IAMnE,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE;IAM5C,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY;IAQtD,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,KAAK,SAAI,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,gBAAgB;CAQxF;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAC1B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}