@bitgo/sdk-coin-sui 2.0.1 → 3.0.1
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.
- package/.eslintignore +1 -0
- package/CHANGELOG.md +37 -0
- package/dist/src/lib/constants.d.ts +3 -15
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +7 -20
- package/dist/src/lib/iface.d.ts +35 -181
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +11 -38
- package/dist/src/lib/index.d.ts +2 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +6 -2
- package/dist/src/lib/keyPair.d.ts +4 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +7 -10
- package/dist/src/lib/mystenlab/builder/Inputs.d.ts +66 -0
- package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/builder/Inputs.js +56 -0
- package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +616 -0
- package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/builder/TransactionBlock.js +260 -0
- package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +566 -0
- package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +171 -0
- package/dist/src/lib/mystenlab/builder/Transactions.d.ts +992 -0
- package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/builder/Transactions.js +119 -0
- package/dist/src/lib/mystenlab/builder/bcs.d.ts +25 -0
- package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/builder/bcs.js +141 -0
- package/dist/src/lib/mystenlab/builder/index.d.ts +5 -0
- package/dist/src/lib/mystenlab/builder/index.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/builder/index.js +17 -0
- package/dist/src/lib/mystenlab/builder/serializer.d.ts +4 -0
- package/dist/src/lib/mystenlab/builder/serializer.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/builder/serializer.js +101 -0
- package/dist/src/lib/mystenlab/builder/utils.d.ts +10 -0
- package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/builder/utils.js +10 -0
- package/dist/src/lib/mystenlab/cryptography/hash.d.ts +8 -0
- package/dist/src/lib/mystenlab/cryptography/hash.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/cryptography/hash.js +22 -0
- package/dist/src/lib/mystenlab/framework/framework.d.ts +93 -0
- package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/framework/framework.js +138 -0
- package/dist/src/lib/mystenlab/framework/index.d.ts +3 -0
- package/dist/src/lib/mystenlab/framework/index.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/framework/index.js +15 -0
- package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +12 -0
- package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/framework/sui-system-state.js +19 -0
- package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts +7 -0
- package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +119 -0
- package/dist/src/lib/mystenlab/types/coin.d.ts +89 -0
- package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/coin.js +32 -0
- package/dist/src/lib/mystenlab/types/common.d.ts +45 -0
- package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/common.js +84 -0
- package/dist/src/lib/mystenlab/types/events.d.ts +198 -0
- package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/events.js +46 -0
- package/dist/src/lib/mystenlab/types/index.d.ts +9 -0
- package/dist/src/lib/mystenlab/types/index.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/index.js +21 -0
- package/dist/src/lib/mystenlab/types/normalized.d.ts +254 -0
- package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/normalized.js +111 -0
- package/dist/src/lib/mystenlab/types/objects.d.ts +806 -0
- package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/objects.js +302 -0
- package/dist/src/lib/mystenlab/types/option.d.ts +8 -0
- package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/option.js +14 -0
- package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +111 -0
- package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/sui-bcs.js +107 -0
- package/dist/src/lib/mystenlab/types/transactions.d.ts +6703 -0
- package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/transactions.js +405 -0
- package/dist/src/lib/mystenlab/types/validator.d.ts +641 -0
- package/dist/src/lib/mystenlab/types/validator.d.ts.map +1 -0
- package/dist/src/lib/mystenlab/types/validator.js +156 -0
- package/dist/src/lib/stakingBuilder.d.ts +24 -35
- package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
- package/dist/src/lib/stakingBuilder.js +93 -129
- package/dist/src/lib/stakingTransaction.d.ts +5 -21
- package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
- package/dist/src/lib/stakingTransaction.js +77 -219
- package/dist/src/lib/transaction.d.ts +8 -6
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +74 -124
- package/dist/src/lib/transactionBuilder.d.ts +9 -9
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +27 -16
- package/dist/src/lib/transactionBuilderFactory.d.ts +8 -5
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +17 -11
- package/dist/src/lib/transferBuilder.d.ts +15 -10
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +38 -101
- package/dist/src/lib/transferTransaction.d.ts +5 -4
- package/dist/src/lib/transferTransaction.d.ts.map +1 -1
- package/dist/src/lib/transferTransaction.js +45 -96
- package/dist/src/lib/unstakingBuilder.d.ts +55 -0
- package/dist/src/lib/unstakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/unstakingBuilder.js +148 -0
- package/dist/src/lib/unstakingTransaction.d.ts +51 -0
- package/dist/src/lib/unstakingTransaction.d.ts.map +1 -0
- package/dist/src/lib/unstakingTransaction.js +206 -0
- package/dist/src/lib/utils.d.ts +30 -92
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +115 -177
- package/dist/src/sui.d.ts.map +1 -1
- package/dist/src/sui.js +23 -13
- package/package.json +9 -9
- package/dist/src/lib/bcs.d.ts +0 -3
- package/dist/src/lib/bcs.d.ts.map +0 -1
- package/dist/src/lib/bcs.js +0 -109
- package/dist/src/lib/txnSchema.d.ts +0 -7
- package/dist/src/lib/txnSchema.d.ts.map +0 -1
- package/dist/src/lib/txnSchema.js +0 -81
|
@@ -7,11 +7,12 @@ exports.StakingBuilder = void 0;
|
|
|
7
7
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
8
8
|
const iface_1 = require("./iface");
|
|
9
9
|
const transactionBuilder_1 = require("./transactionBuilder");
|
|
10
|
-
const constants_1 = require("./constants");
|
|
11
|
-
const txnSchema_1 = require("./txnSchema");
|
|
12
|
-
const stakingTransaction_1 = require("./stakingTransaction");
|
|
13
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
14
10
|
const utils_1 = __importDefault(require("./utils"));
|
|
11
|
+
const assert_1 = __importDefault(require("assert"));
|
|
12
|
+
const stakingTransaction_1 = require("./stakingTransaction");
|
|
13
|
+
const builder_1 = require("./mystenlab/builder");
|
|
14
|
+
const framework_1 = require("./mystenlab/framework");
|
|
15
|
+
const bcs_1 = require("@mysten/bcs");
|
|
15
16
|
class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
16
17
|
constructor(_coinConfig) {
|
|
17
18
|
super(_coinConfig);
|
|
@@ -20,18 +21,17 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
20
21
|
/**
|
|
21
22
|
* Build a MoveCall transaction ready to be signed and executed.
|
|
22
23
|
*
|
|
23
|
-
* @returns {
|
|
24
|
-
*
|
|
25
|
-
* @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_delegation_mul_coin
|
|
24
|
+
* @returns {BitGoSuiTransaction} an unsigned Sui transaction
|
|
26
25
|
*/
|
|
27
26
|
buildStakeTransaction() {
|
|
28
27
|
return {
|
|
29
|
-
type: iface_1.SuiTransactionType.
|
|
28
|
+
type: iface_1.SuiTransactionType.AddStake,
|
|
30
29
|
sender: this._sender,
|
|
31
|
-
tx:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
tx: {
|
|
31
|
+
inputs: [],
|
|
32
|
+
transactions: [],
|
|
33
|
+
},
|
|
34
|
+
gasData: this._gasData,
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
@@ -41,69 +41,42 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
41
41
|
* @protected
|
|
42
42
|
*/
|
|
43
43
|
get transactionType() {
|
|
44
|
-
return
|
|
44
|
+
return sdk_core_1.TransactionType.StakingAdd;
|
|
45
45
|
}
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
*/
|
|
51
|
-
requestAddDelegation(addDelegation) {
|
|
52
|
-
this.validateAddress({ address: addDelegation.validatorAddress });
|
|
53
|
-
this.validateValue(bignumber_js_1.default(addDelegation.amount));
|
|
54
|
-
for (const coin of addDelegation.coins) {
|
|
55
|
-
this.validateSuiObjectRef(coin, 'addDelegation.coins');
|
|
46
|
+
/** @inheritdoc */
|
|
47
|
+
validateTransaction(transaction) {
|
|
48
|
+
if (!transaction.suiTransaction) {
|
|
49
|
+
return;
|
|
56
50
|
}
|
|
57
|
-
this.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
arguments: [constants_1.SUI_SYSTEM_STATE_OBJECT, addDelegation.coins, addDelegation.amount, addDelegation.validatorAddress],
|
|
64
|
-
};
|
|
65
|
-
return this;
|
|
51
|
+
this.validateTransactionFields();
|
|
52
|
+
}
|
|
53
|
+
/** @inheritdoc */
|
|
54
|
+
sign(key) {
|
|
55
|
+
this.transaction.setSuiTransaction(this.buildSuiTransaction());
|
|
56
|
+
super.sign(key);
|
|
66
57
|
}
|
|
67
58
|
/**
|
|
68
|
-
* Create a new transaction for
|
|
59
|
+
* Create a new transaction for staking coins ready to be signed and executed.
|
|
69
60
|
*
|
|
70
|
-
* @param {
|
|
61
|
+
* @param {RequestAddStake} request
|
|
71
62
|
*/
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
this.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
function: iface_1.MethodNames.RequestWithdrawDelegation,
|
|
80
|
-
typeArguments: [],
|
|
81
|
-
arguments: [constants_1.SUI_SYSTEM_STATE_OBJECT, withdrawDelegation.delegation, withdrawDelegation.stakedCoinId],
|
|
82
|
-
};
|
|
63
|
+
stake(request) {
|
|
64
|
+
utils_1.default.validateAddress(request.validatorAddress, 'validatorAddress');
|
|
65
|
+
assert_1.default(utils_1.default.isValidAmount(request.amount), 'Invalid recipient amount');
|
|
66
|
+
if (this._sender === request.validatorAddress) {
|
|
67
|
+
throw new sdk_core_1.BuildTransactionError('Sender address cannot be the same as the Staking address');
|
|
68
|
+
}
|
|
69
|
+
this._addStakeTx = request;
|
|
83
70
|
return this;
|
|
84
71
|
}
|
|
85
72
|
/**
|
|
86
|
-
* Create a new transaction for
|
|
73
|
+
* Create a new transaction for withdrawing coins ready to be signed
|
|
87
74
|
*
|
|
88
|
-
* @param {
|
|
75
|
+
* @param {RequestWithdrawStakedSui} request
|
|
89
76
|
*/
|
|
90
|
-
|
|
91
|
-
this.validateSuiObjectRef(
|
|
92
|
-
this.
|
|
93
|
-
this.validateAddress({ address: switchDelegation.newValidatorAddress });
|
|
94
|
-
this._switchDelegation = switchDelegation;
|
|
95
|
-
this._moveCallTx = {
|
|
96
|
-
package: constants_1.SUI_PACKAGE,
|
|
97
|
-
module: iface_1.ModulesNames.SuiSystem,
|
|
98
|
-
function: iface_1.MethodNames.RequestSwitchDelegation,
|
|
99
|
-
typeArguments: [],
|
|
100
|
-
arguments: [
|
|
101
|
-
constants_1.SUI_SYSTEM_STATE_OBJECT,
|
|
102
|
-
switchDelegation.delegation,
|
|
103
|
-
switchDelegation.stakedCoinId,
|
|
104
|
-
switchDelegation.newValidatorAddress,
|
|
105
|
-
],
|
|
106
|
-
};
|
|
77
|
+
unstake(request) {
|
|
78
|
+
this.validateSuiObjectRef(request.stakedSui, 'stakedSui');
|
|
79
|
+
this._withdrawDelegation = request;
|
|
107
80
|
return this;
|
|
108
81
|
}
|
|
109
82
|
/** @inheritdoc */
|
|
@@ -133,91 +106,82 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
133
106
|
* @param {StakingTransaction} tx the transaction data
|
|
134
107
|
*/
|
|
135
108
|
initBuilder(tx) {
|
|
136
|
-
var _a, _b;
|
|
137
109
|
this._transaction = tx;
|
|
138
110
|
if (tx.signature && tx.signature.length > 0) {
|
|
139
111
|
this._signatures = [tx.suiSignature];
|
|
140
112
|
}
|
|
141
113
|
const txData = tx.toJson();
|
|
142
|
-
this.
|
|
114
|
+
this.type(iface_1.SuiTransactionType.AddStake);
|
|
143
115
|
this.sender(txData.sender);
|
|
144
|
-
this.
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
this.requestAddDelegation({
|
|
151
|
-
coins: txDetails.Call.arguments[1],
|
|
152
|
-
amount: Number(txDetails.Call.arguments[2]),
|
|
153
|
-
validatorAddress: txDetails.Call.arguments[3].toString(),
|
|
154
|
-
});
|
|
155
|
-
break;
|
|
156
|
-
case iface_1.MethodNames.RequestWithdrawDelegation:
|
|
157
|
-
this.type(iface_1.SuiTransactionType.WithdrawDelegation);
|
|
158
|
-
this.requestWithdrawDelegation({
|
|
159
|
-
delegation: txDetails.Call.arguments[1],
|
|
160
|
-
stakedCoinId: txDetails.Call.arguments[2],
|
|
161
|
-
amount: ((_a = this._withdrawDelegation) === null || _a === void 0 ? void 0 : _a.amount) || 0,
|
|
162
|
-
});
|
|
163
|
-
break;
|
|
164
|
-
case iface_1.MethodNames.RequestSwitchDelegation:
|
|
165
|
-
this.type(iface_1.SuiTransactionType.SwitchDelegation);
|
|
166
|
-
this.requestSwitchDelegation({
|
|
167
|
-
delegation: txDetails.Call.arguments[1],
|
|
168
|
-
stakedCoinId: txDetails.Call.arguments[2],
|
|
169
|
-
newValidatorAddress: txDetails.Call.arguments[3].toString(),
|
|
170
|
-
amount: ((_b = this._withdrawDelegation) === null || _b === void 0 ? void 0 : _b.amount) || 0,
|
|
171
|
-
});
|
|
172
|
-
break;
|
|
173
|
-
default:
|
|
174
|
-
throw new sdk_core_1.NotSupported(`${txDetails.Call.function} not supported`);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
throw new Error('Transaction type not supported: ' + txDetails);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
/** @inheritdoc */
|
|
182
|
-
validateTransaction(tx) {
|
|
183
|
-
this.validateSchema({
|
|
184
|
-
type: this._type,
|
|
185
|
-
sender: this._sender,
|
|
186
|
-
tx: this._moveCallTx,
|
|
187
|
-
gasPrice: this._gasPrice,
|
|
188
|
-
gasBudget: this._gasBudget,
|
|
189
|
-
gasPayment: this._gasPayment,
|
|
190
|
-
});
|
|
116
|
+
this.gasData(txData.gasData);
|
|
117
|
+
const amountInputIdx = txData.kind.ProgrammableTransaction.transactions[1].arguments[1].index;
|
|
118
|
+
const amount = utils_1.default.getAmount(txData.kind.ProgrammableTransaction.inputs[amountInputIdx]);
|
|
119
|
+
const validatorAddressInputIdx = txData.kind.ProgrammableTransaction.transactions[1].arguments[2].index;
|
|
120
|
+
const validatorAddress = utils_1.default.getAddress(txData.kind.ProgrammableTransaction.inputs[validatorAddressInputIdx]);
|
|
121
|
+
this.stake({ amount, validatorAddress });
|
|
191
122
|
}
|
|
192
123
|
/**
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
* @param {SuiTransaction<MoveCallTx>} tx
|
|
196
|
-
* @private
|
|
124
|
+
* Validates all fields are defined
|
|
197
125
|
*/
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
126
|
+
validateTransactionFields() {
|
|
127
|
+
assert_1.default(this._type, new sdk_core_1.BuildTransactionError('type is required before building'));
|
|
128
|
+
assert_1.default(this._sender, new sdk_core_1.BuildTransactionError('sender is required before building'));
|
|
129
|
+
assert_1.default(this._addStakeTx.validatorAddress, new sdk_core_1.BuildTransactionError('validator address is required before building'));
|
|
130
|
+
assert_1.default(this._addStakeTx.amount, new sdk_core_1.BuildTransactionError('staking amount is required before building'));
|
|
131
|
+
assert_1.default(this._gasData, new sdk_core_1.BuildTransactionError('gasData is required before building'));
|
|
132
|
+
this.validateGasData(this._gasData);
|
|
203
133
|
}
|
|
204
134
|
/**
|
|
205
135
|
* Build SuiTransaction
|
|
206
136
|
*
|
|
207
|
-
* @return {
|
|
137
|
+
* @return {BitGoSuiTransaction<MoveCallTx>}
|
|
208
138
|
* @protected
|
|
209
139
|
*/
|
|
210
140
|
buildSuiTransaction() {
|
|
211
|
-
this.
|
|
141
|
+
this.validateTransactionFields();
|
|
142
|
+
const programmableTxBuilder = new builder_1.TransactionBlock();
|
|
143
|
+
switch (this._type) {
|
|
144
|
+
case iface_1.SuiTransactionType.AddStake:
|
|
145
|
+
// Create a new coin with staking balance, based on the coins used as gas payment.
|
|
146
|
+
const coin = programmableTxBuilder.splitCoins(programmableTxBuilder.gas, [
|
|
147
|
+
programmableTxBuilder.pure(this._addStakeTx.amount),
|
|
148
|
+
]);
|
|
149
|
+
// Stake the split coin to a specific validator address.
|
|
150
|
+
programmableTxBuilder.moveCall({
|
|
151
|
+
target: `${framework_1.SUI_SYSTEM_ADDRESS}::${framework_1.SUI_SYSTEM_MODULE_NAME}::${framework_1.ADD_STAKE_FUN_NAME}`,
|
|
152
|
+
arguments: [
|
|
153
|
+
programmableTxBuilder.object(builder_1.Inputs.SharedObjectRef(framework_1.SUI_SYSTEM_STATE_OBJECT)),
|
|
154
|
+
coin,
|
|
155
|
+
programmableTxBuilder.pure(builder_1.Inputs.Pure(this._addStakeTx.validatorAddress, bcs_1.BCS.ADDRESS)),
|
|
156
|
+
],
|
|
157
|
+
});
|
|
158
|
+
break;
|
|
159
|
+
case iface_1.SuiTransactionType.WithdrawStake:
|
|
160
|
+
// Unstake staked object.
|
|
161
|
+
programmableTxBuilder.moveCall({
|
|
162
|
+
target: `${framework_1.SUI_SYSTEM_ADDRESS}::${framework_1.SUI_SYSTEM_MODULE_NAME}::${framework_1.WITHDRAW_STAKE_FUN_NAME}`,
|
|
163
|
+
arguments: [
|
|
164
|
+
programmableTxBuilder.object(builder_1.Inputs.SharedObjectRef(framework_1.SUI_SYSTEM_STATE_OBJECT)),
|
|
165
|
+
programmableTxBuilder.pure(builder_1.Inputs.ObjectRef(this._withdrawDelegation.stakedSui)),
|
|
166
|
+
],
|
|
167
|
+
});
|
|
168
|
+
break;
|
|
169
|
+
default:
|
|
170
|
+
throw new sdk_core_1.InvalidTransactionError(`unsupported target method`);
|
|
171
|
+
}
|
|
172
|
+
const txData = programmableTxBuilder.blockData;
|
|
212
173
|
return {
|
|
213
174
|
type: this._type,
|
|
214
175
|
sender: this._sender,
|
|
215
|
-
tx:
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
176
|
+
tx: {
|
|
177
|
+
inputs: [...txData.inputs],
|
|
178
|
+
transactions: [...txData.transactions],
|
|
179
|
+
},
|
|
180
|
+
gasData: {
|
|
181
|
+
...this._gasData,
|
|
182
|
+
},
|
|
219
183
|
};
|
|
220
184
|
}
|
|
221
185
|
}
|
|
222
186
|
exports.StakingBuilder = StakingBuilder;
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDhDQUF5RjtBQUN6RixtQ0FXaUI7QUFDakIsNkRBQTBEO0FBQzFELDJDQUFtRTtBQUNuRSwyQ0FBMkQ7QUFDM0QsNkRBQTBEO0FBRTFELGdFQUFxQztBQUNyQyxvREFBNEI7QUFFNUIsTUFBYSxjQUFlLFNBQVEsdUNBQThCO0lBTWhFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSx1Q0FBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ08scUJBQXFCO1FBQzdCLE9BQU87WUFDTCxJQUFJLEVBQUUsMEJBQWtCLENBQUMsYUFBYTtZQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3BCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDeEIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxlQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLGFBQW1DO1FBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FB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RUQ7Ozs7O09BS0c7SUFDTyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNwQixFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzFCLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDN0IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRPRCx3Q0FzT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIE5vdFN1cHBvcnRlZCwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIE1ldGhvZE5hbWVzLFxuICBNb2R1bGVzTmFtZXMsXG4gIE1vdmVDYWxsVHgsXG4gIE1vdmVDYWxsVHhEZXRhaWxzLFxuICBSZXF1ZXN0QWRkRGVsZWdhdGlvbixcbiAgUmVxdWVzdFN3aXRjaERlbGVnYXRpb24sXG4gIFJlcXVlc3RXaXRoZHJhd0RlbGVnYXRpb24sXG4gIFN1aU9iamVjdFJlZixcbiAgU3VpVHJhbnNhY3Rpb24sXG4gIFN1aVRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBTVUlfUEFDS0FHRSwgU1VJX1NZU1RFTV9TVEFURV9PQkpFQ1QgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdWlNb3ZlQ2FsbFRyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHsgU3Rha2luZ1RyYW5zYWN0aW9uIH0gZnJvbSAnLi9zdGFraW5nVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFN0YWtpbmdCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPE1vdmVDYWxsVHg+IHtcbiAgcHJvdGVjdGVkIF9tb3ZlQ2FsbFR4OiBNb3ZlQ2FsbFR4O1xuICBwcm90ZWN0ZWQgX2FkZERlbGVnYXRpb25UeDogUmVxdWVzdEFkZERlbGVnYXRpb247XG4gIHByb3RlY3RlZCBfd2l0aGRyYXdEZWxlZ2F0aW9uOiBSZXF1ZXN0V2l0aGRyYXdEZWxlZ2F0aW9uO1xuICBwcm90ZWN0ZWQgX3N3aXRjaERlbGVnYXRpb246IFJlcXVlc3RTd2l0Y2hEZWxlZ2F0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBTdGFraW5nVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgTW92ZUNhbGwgdHJhbnNhY3Rpb24gcmVhZHkgdG8gYmUgc2lnbmVkIGFuZCBleGVjdXRlZC5cbiAgICpcbiAgICogQHJldHVybnMge1N1aVRyYW5zYWN0aW9ufSBhbiB1bnNpZ25lZCBTdWkgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9tYWluL2NyYXRlcy9zdWktZnJhbWV3b3JrL2RvY3Mvc3VpX3N5c3RlbS5tZCNmdW5jdGlvbi1yZXF1ZXN0X2FkZF9kZWxlZ2F0aW9uX211bF9jb2luXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRTdGFrZVRyYW5zYWN0aW9uKCk6IFN1aVRyYW5zYWN0aW9uPE1vdmVDYWxsVHg+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogU3VpVHJhbnNhY3Rpb25UeXBlLkFkZERlbGVnYXRpb24sXG4gICAgICBzZW5kZXI6IHRoaXMuX3NlbmRlcixcbiAgICAgIHR4OiB0aGlzLl9tb3ZlQ2FsbFR4LFxuICAgICAgZ2FzQnVkZ2V0OiB0aGlzLl9nYXNCdWRnZXQsXG4gICAgICBnYXNQcmljZTogdGhpcy5fZ2FzUHJpY2UsXG4gICAgICBnYXNQYXltZW50OiB0aGlzLl9nYXNQYXltZW50LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHN0YWtpbmcgdHJhbnNhY3Rpb24gdHlwZVxuICAgKlxuICAgKiBAcmV0dXJuIHtUcmFuc2FjdGlvblR5cGV9XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHV0aWxzLmdldFRyYW5zYWN0aW9uVHlwZSh0aGlzLl9tb3ZlQ2FsbFR4LmZ1bmN0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgdHJhbnNhY3Rpb24gZm9yIGRlbGVnYXRpbmcgY29pbnMgcmVhZHkgdG8gYmUgc2lnbmVkIGFuZCBleGVjdXRlZC5cbiAgICpcbiAgICogQHBhcmFtIHtSZXF1ZXN0QWRkRGVsZWdhdGlvbn0gYWRkRGVsZWdhdGlvblxuICAgKi9cbiAgcmVxdWVzdEFkZERlbGVnYXRpb24oYWRkRGVsZWdhdGlvbjogUmVxdWVzdEFkZERlbGVnYXRpb24pOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IGFkZERlbGVnYXRpb24udmFsaWRhdG9yQWRkcmVzcyB9KTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUoQmlnTnVtYmVyKGFkZERlbGVnYXRpb24uYW1vdW50KSk7XG4gICAgZm9yIChjb25zdCBjb2luIG9mIGFkZERlbGVnYXRpb24uY29pbnMpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVTdWlPYmplY3RSZWYoY29pbiwgJ2FkZERlbGVnYXRpb24uY29pbnMnKTtcbiAgICB9XG4gICAgdGhpcy5fYWRkRGVsZWdhdGlvblR4ID0gYWRkRGVsZWdhdGlvbjtcbiAgICB0aGlzLl9tb3ZlQ2FsbFR4ID0ge1xuICAgICAgcGFja2FnZTogU1VJX1BBQ0tBR0UsXG4gICAgICBtb2R1bGU6IE1vZHVsZXNOYW1lcy5TdWlTeXN0ZW0sXG4gICAgICBmdW5jdGlvbjogTWV0aG9kTmFtZXMuUmVxdWVzdEFkZERlbGVnYXRpb25NdWxDb2luLFxuICAgICAgdHlwZUFyZ3VtZW50czogW10sXG4gICAgICBhcmd1bWVudHM6IFtTVUlfU1lTVEVNX1NUQVRFX09CSkVDVCwgYWRkRGVsZWdhdGlvbi5jb2lucywgYWRkRGVsZWdhdGlvbi5hbW91bnQsIGFkZERlbGVnYXRpb24udmFsaWRhdG9yQWRkcmVzc10sXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgdHJhbnNhY3Rpb24gZm9yIHdpdGhkcmF3aW5nIGNvaW5zIHJlYWR5IHRvIGJlIHNpZ25lZFxuICAgKlxuICAgKiBAcGFyYW0ge1JlcXVlc3RXaXRoZHJhd0RlbGVnYXRpb259IGFkZERlbGVnYXRpb25UeFxuICAgKi9cbiAgcmVxdWVzdFdpdGhkcmF3RGVsZWdhdGlvbih3aXRoZHJhd0RlbGVnYXRpb246IFJlcXVlc3RXaXRoZHJhd0RlbGVnYXRpb24pOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlU3VpT2JqZWN0UmVmKHdpdGhkcmF3RGVsZWdhdGlvbi5kZWxlZ2F0aW9uLCAnd2l0aGRyYXdEZWxlZ2F0aW9uLmRlbGVnYXRpb24nKTtcbiAgICB0aGlzLnZhbGlkYXRlU3VpT2JqZWN0UmVmKHdpdGhkcmF3RGVsZWdhdGlvbi5zdGFrZWRDb2luSWQsICd3aXRoZHJhd0RlbGVnYXRpb24uc3Rha2VkQ29pbklkJyk7XG5cbiAgICB0aGlzLl93aXRoZHJhd0RlbGVnYXRpb24gPSB3aXRoZHJhd0RlbGVnYXRpb247XG4gICAgdGhpcy5fbW92ZUNhbGxUeCA9IHtcbiAgICAgIHBhY2thZ2U6IFNVSV9QQUNLQUdFLFxuICAgICAgbW9kdWxlOiBNb2R1bGVzTmFtZXMuU3VpU3lzdGVtLFxuICAgICAgZnVuY3Rpb246IE1ldGhvZE5hbWVzLlJlcXVlc3RXaXRoZHJhd0RlbGVnYXRpb24sXG4gICAgICB0eXBlQXJndW1lbnRzOiBbXSxcbiAgICAgIGFyZ3VtZW50czogW1NVSV9TWVNURU1fU1RBVEVfT0JKRUNULCB3aXRoZHJhd0RlbGVnYXRpb24uZGVsZWdhdGlvbiwgd2l0aGRyYXdEZWxlZ2F0aW9uLnN0YWtlZENvaW5JZF0sXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgdHJhbnNhY3Rpb24gZm9yIHN3aXRjaGluZyBkZWxlZ2F0aW9uIHJlYWR5IHRvIGJlIHNpZ25lZFxuICAgKlxuICAgKiBAcGFyYW0ge3N3aXRjaERlbGVnYXRpb259IHN3aXRjaERlbGVnYXRpb25cbiAgICovXG4gIHJlcXVlc3RTd2l0Y2hEZWxlZ2F0aW9uKHN3aXRjaERlbGVnYXRpb246IFJlcXVlc3RTd2l0Y2hEZWxlZ2F0aW9uKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVN1aU9iamVjdFJlZihzd2l0Y2hEZWxlZ2F0aW9uLmRlbGVnYXRpb24sICdzd2l0Y2hEZWxlZ2F0aW9uLmRlbGVnYXRpb24nKTtcbiAgICB0aGlzLnZhbGlkYXRlU3VpT2JqZWN0UmVmKHN3aXRjaERlbGVnYXRpb24uc3Rha2VkQ29pbklkLCAnc3dpdGNoRGVsZWdhdGlvbi5zdGFrZWRDb2luSWQnKTtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IHN3aXRjaERlbGVnYXRpb24ubmV3VmFsaWRhdG9yQWRkcmVzcyB9KTtcblxuICAgIHRoaXMuX3N3aXRjaERlbGVnYXRpb24gPSBzd2l0Y2hEZWxlZ2F0aW9uO1xuICAgIHRoaXMuX21vdmVDYWxsVHggPSB7XG4gICAgICBwYWNrYWdlOiBTVUlfUEFDS0FHRSxcbiAgICAgIG1vZHVsZTogTW9kdWxlc05hbWVzLlN1aVN5c3RlbSxcbiAgICAgIGZ1bmN0aW9uOiBNZXRob2ROYW1lcy5SZXF1ZXN0U3dpdGNoRGVsZWdhdGlvbixcbiAgICAgIHR5cGVBcmd1bWVudHM6IFtdLFxuICAgICAgYXJndW1lbnRzOiBbXG4gICAgICAgIFNVSV9TWVNURU1fU1RBVEVfT0JKRUNULFxuICAgICAgICBzd2l0Y2hEZWxlZ2F0aW9uLmRlbGVnYXRpb24sXG4gICAgICAgIHN3aXRjaERlbGVnYXRpb24uc3Rha2VkQ29pbklkLFxuICAgICAgICBzd2l0Y2hEZWxlZ2F0aW9uLm5ld1ZhbGlkYXRvckFkZHJlc3MsXG4gICAgICBdLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb248TW92ZUNhbGxUeD4ge1xuICAgIGNvbnN0IHR4ID0gbmV3IFN0YWtpbmdUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbjxNb3ZlQ2FsbFR4Pj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0U3VpVHJhbnNhY3Rpb24odGhpcy5idWlsZFN1aVRyYW5zYWN0aW9uKCkpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlKHRoaXMudHJhbnNhY3Rpb25UeXBlKTtcblxuICAgIGlmICh0aGlzLl9zaWduZXIpIHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbih0aGlzLl9zaWduZXIpO1xuICAgIH1cblxuICAgIHRoaXMuX3NpZ25hdHVyZXMuZm9yRWFjaCgoc2lnbmF0dXJlKSA9PiB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLmFkZFNpZ25hdHVyZShzaWduYXR1cmUucHVibGljS2V5LCBzaWduYXR1cmUuc2lnbmF0dXJlKTtcbiAgICB9KTtcblxuICAgIHRoaXMudHJhbnNhY3Rpb24ubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7U3Rha2luZ1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFN0YWtpbmdUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHg7XG5cbiAgICBpZiAodHguc2lnbmF0dXJlICYmIHR4LnNpZ25hdHVyZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmVzID0gW3R4LnN1aVNpZ25hdHVyZV07XG4gICAgfVxuXG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdGhpcy5nYXNCdWRnZXQodHhEYXRhLmdhc0J1ZGdldCk7XG4gICAgdGhpcy5zZW5kZXIodHhEYXRhLnNlbmRlcik7XG4gICAgdGhpcy5nYXNQYXltZW50KHR4RGF0YS5nYXNQYXltZW50KTtcblxuICAgIGNvbnN0IHR4RGV0YWlscyA9IHR4RGF0YS5raW5kLlNpbmdsZSBhcyBNb3ZlQ2FsbFR4RGV0YWlscztcbiAgICBpZiAodHhEZXRhaWxzLmhhc093blByb3BlcnR5KCdDYWxsJykpIHtcbiAgICAgIHN3aXRjaCAodHhEZXRhaWxzLkNhbGwuZnVuY3Rpb24pIHtcbiAgICAgICAgY2FzZSBNZXRob2ROYW1lcy5SZXF1ZXN0QWRkRGVsZWdhdGlvbk11bENvaW46XG4gICAgICAgICAgdGhpcy50eXBlKFN1aVRyYW5zYWN0aW9uVHlwZS5BZGREZWxlZ2F0aW9uKTtcbiAgICAgICAgICB0aGlzLnJlcXVlc3RBZGREZWxlZ2F0aW9uKHtcbiAgICAgICAgICAgIGNvaW5zOiB0eERldGFpbHMuQ2FsbC5hcmd1bWVudHNbMV0gYXMgU3VpT2JqZWN0UmVmW10sXG4gICAgICAgICAgICBhbW91bnQ6IE51bWJlcih0eERldGFpbHMuQ2FsbC5hcmd1bWVudHNbMl0pLFxuICAgICAgICAgICAgdmFsaWRhdG9yQWRkcmVzczogdHhEZXRhaWxzLkNhbGwuYXJndW1lbnRzWzNdLnRvU3RyaW5nKCksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgTWV0aG9kTmFtZXMuUmVxdWVzdFdpdGhkcmF3RGVsZWdhdGlvbjpcbiAgICAgICAgICB0aGlzLnR5cGUoU3VpVHJhbnNhY3Rpb25UeXBlLldpdGhkcmF3RGVsZWdhdGlvbik7XG4gICAgICAgICAgdGhpcy5yZXF1ZXN0V2l0aGRyYXdEZWxlZ2F0aW9uKHtcbiAgICAgICAgICAgIGRlbGVnYXRpb246IHR4RGV0YWlscy5DYWxsLmFyZ3VtZW50c1sxXSBhcyBTdWlPYmplY3RSZWYsXG4gICAgICAgICAgICBzdGFrZWRDb2luSWQ6IHR4RGV0YWlscy5DYWxsLmFyZ3VtZW50c1syXSBhcyBTdWlPYmplY3RSZWYsXG4gICAgICAgICAgICBhbW91bnQ6IHRoaXMuX3dpdGhkcmF3RGVsZWdhdGlvbj8uYW1vdW50IHx8IDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgTWV0aG9kTmFtZXMuUmVxdWVzdFN3aXRjaERlbGVnYXRpb246XG4gICAgICAgICAgdGhpcy50eXBlKFN1aVRyYW5zYWN0aW9uVHlwZS5Td2l0Y2hEZWxlZ2F0aW9uKTtcbiAgICAgICAgICB0aGlzLnJlcXVlc3RTd2l0Y2hEZWxlZ2F0aW9uKHtcbiAgICAgICAgICAgIGRlbGVnYXRpb246IHR4RGV0YWlscy5DYWxsLmFyZ3VtZW50c1sxXSBhcyBTdWlPYmplY3RSZWYsXG4gICAgICAgICAgICBzdGFrZWRDb2luSWQ6IHR4RGV0YWlscy5DYWxsLmFyZ3VtZW50c1syXSBhcyBTdWlPYmplY3RSZWYsXG4gICAgICAgICAgICBuZXdWYWxpZGF0b3JBZGRyZXNzOiB0eERldGFpbHMuQ2FsbC5hcmd1bWVudHNbM10udG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGFtb3VudDogdGhpcy5fd2l0aGRyYXdEZWxlZ2F0aW9uPy5hbW91bnQgfHwgMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKGAke3R4RGV0YWlscy5DYWxsLmZ1bmN0aW9ufSBub3Qgc3VwcG9ydGVkYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVHJhbnNhY3Rpb24gdHlwZSBub3Qgc3VwcG9ydGVkOiAnICsgdHhEZXRhaWxzKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0eDogVHJhbnNhY3Rpb248TW92ZUNhbGxUeD4pOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlU2NoZW1hKHtcbiAgICAgIHR5cGU6IHRoaXMuX3R5cGUsXG4gICAgICBzZW5kZXI6IHRoaXMuX3NlbmRlcixcbiAgICAgIHR4OiB0aGlzLl9tb3ZlQ2FsbFR4LFxuICAgICAgZ2FzUHJpY2U6IHRoaXMuX2dhc1ByaWNlLFxuICAgICAgZ2FzQnVkZ2V0OiB0aGlzLl9nYXNCdWRnZXQsXG4gICAgICBnYXNQYXltZW50OiB0aGlzLl9nYXNQYXltZW50LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRyYW5zYWN0aW9uIHNjaGVtYVxuICAgKlxuICAgKiBAcGFyYW0ge1N1aVRyYW5zYWN0aW9uPE1vdmVDYWxsVHg+fSB0eFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNjaGVtYSh0eDogU3VpVHJhbnNhY3Rpb248TW92ZUNhbGxUeD4pOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gU3VpTW92ZUNhbGxUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh0eCk7XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYFN0YWtlIEJ1aWxkZXIgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIFN1aVRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEByZXR1cm4ge1N1aVRyYW5zYWN0aW9uPE1vdmVDYWxsVHg+fVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRTdWlUcmFuc2FjdGlvbigpOiBTdWlUcmFuc2FjdGlvbjxNb3ZlQ2FsbFR4PiB7XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uKHRoaXMuX3RyYW5zYWN0aW9uKTtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy5fdHlwZSxcbiAgICAgIHNlbmRlcjogdGhpcy5fc2VuZGVyLFxuICAgICAgdHg6IHRoaXMuX21vdmVDYWxsVHgsXG4gICAgICBnYXNCdWRnZXQ6IHRoaXMuX2dhc0J1ZGdldCxcbiAgICAgIGdhc1ByaWNlOiB0aGlzLl9nYXNQcmljZSxcbiAgICAgIGdhc1BheW1lbnQ6IHRoaXMuX2dhc1BheW1lbnQsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDhDQUEyRztBQUMzRyxtQ0FNaUI7QUFDakIsNkRBQTBEO0FBRTFELG9EQUE0QjtBQUM1QixvREFBNEI7QUFFNUIsNkRBQTBEO0FBQzFELGlEQUs2QjtBQUM3QixxREFNK0I7QUFDL0IscUNBQWtDO0FBRWxDLE1BQWEsY0FBZSxTQUFRLHVDQUFrRDtJQUlwRixZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksdUNBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxxQkFBcUI7UUFDN0IsT0FBTztZQUNMLElBQUksRUFBRSwwQkFBa0IsQ0FBQyxRQUFRO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNwQixFQUFFLEVBQUU7Z0JBQ0YsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsV0FBZ0M7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUU7WUFDL0IsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsR0FBWTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixF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LGVBQWUsQ0FBQyxtQ0FBdUIsQ0FBQyxDQUFDO3dCQUM3RSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO3FCQUNqRjtpQkFDcUIsQ0FBQyxDQUFDO2dCQUMxQixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDbEU7UUFFRCxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDL0MsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsRUFBRSxFQUFFO2dCQUNGLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsWUFBWSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDakI7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBNU1ELHdDQTRNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgU3VpVHJhbnNhY3Rpb24sXG4gIFJlcXVlc3RBZGRTdGFrZSxcbiAgUmVxdWVzdFdpdGhkcmF3U3Rha2VkU3VpLFxuICBTdWlUcmFuc2FjdGlvblR5cGUsXG4gIFN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbixcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgVHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNmZXJUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBTdGFraW5nVHJhbnNhY3Rpb24gfSBmcm9tICcuL3N0YWtpbmdUcmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbkJsb2NrIGFzIFByb2dyYW1taW5nVHJhbnNhY3Rpb25CbG9ja0J1aWxkZXIsXG4gIFRyYW5zYWN0aW9uQmxvY2tJbnB1dCxcbiAgTW92ZUNhbGxUcmFuc2FjdGlvbixcbiAgSW5wdXRzLFxufSBmcm9tICcuL215c3RlbmxhYi9idWlsZGVyJztcbmltcG9ydCB7XG4gIEFERF9TVEFLRV9GVU5fTkFNRSxcbiAgU1VJX1NZU1RFTV9BRERSRVNTLFxuICBTVUlfU1lTVEVNX01PRFVMRV9OQU1FLFxuICBTVUlfU1lTVEVNX1NUQVRFX09CSkVDVCxcbiAgV0lUSERSQVdfU1RBS0VfRlVOX05BTUUsXG59IGZyb20gJy4vbXlzdGVubGFiL2ZyYW1ld29yayc7XG5pbXBvcnQgeyBCQ1MgfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcjxTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgcHJvdGVjdGVkIF9hZGRTdGFrZVR4OiBSZXF1ZXN0QWRkU3Rha2U7XG4gIHByb3RlY3RlZCBfd2l0aGRyYXdEZWxlZ2F0aW9uOiBSZXF1ZXN0V2l0aGRyYXdTdGFrZWRTdWk7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFN0YWtpbmdUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBNb3ZlQ2FsbCB0cmFuc2FjdGlvbiByZWFkeSB0byBiZSBzaWduZWQgYW5kIGV4ZWN1dGVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Qml0R29TdWlUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgU3VpIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRTdGFrZVRyYW5zYWN0aW9uKCk6IFN1aVRyYW5zYWN0aW9uPFN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBTdWlUcmFuc2FjdGlvblR5cGUuQWRkU3Rha2UsXG4gICAgICBzZW5kZXI6IHRoaXMuX3NlbmRlcixcbiAgICAgIHR4OiB7XG4gICAgICAgIGlucHV0czogW10sXG4gICAgICAgIHRyYW5zYWN0aW9uczogW10sXG4gICAgICB9LFxuICAgICAgZ2FzRGF0YTogdGhpcy5fZ2FzRGF0YSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdGFraW5nIHRyYW5zYWN0aW9uIHR5cGVcbiAgICpcbiAgICogQHJldHVybiB7VHJhbnNhY3Rpb25UeXBlfVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FkZDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2ZlclRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0cmFuc2FjdGlvbi5zdWlUcmFuc2FjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlVHJhbnNhY3Rpb25GaWVsZHMoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBzaWduKGtleTogQmFzZUtleSkge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0U3VpVHJhbnNhY3Rpb24odGhpcy5idWlsZFN1aVRyYW5zYWN0aW9uKCkpO1xuICAgIHN1cGVyLnNpZ24oa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgdHJhbnNhY3Rpb24gZm9yIHN0YWtpbmcgY29pbnMgcmVhZHkgdG8gYmUgc2lnbmVkIGFuZCBleGVjdXRlZC5cbiAgICpcbiAgICogQHBhcmFtIHtSZXF1ZXN0QWRkU3Rha2V9IHJlcXVlc3RcbiAgICovXG4gIHN0YWtlKHJlcXVlc3Q6IFJlcXVlc3RBZGRTdGFrZSk6IHRoaXMge1xuICAgIHV0aWxzLnZhbGlkYXRlQWRkcmVzcyhyZXF1ZXN0LnZhbGlkYXRvckFkZHJlc3MsICd2YWxpZGF0b3JBZGRyZXNzJyk7XG4gICAgYXNzZXJ0KHV0aWxzLmlzVmFsaWRBbW91bnQocmVxdWVzdC5hbW91bnQpLCAnSW52YWxpZCByZWNpcGllbnQgYW1vdW50Jyk7XG5cbiAgICBpZiAodGhpcy5fc2VuZGVyID09PSByZXF1ZXN0LnZhbGlkYXRvckFkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1NlbmRlciBhZGRyZXNzIGNhbm5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgU3Rha2luZyBhZGRyZXNzJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fYWRkU3Rha2VUeCA9IHJlcXVlc3Q7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9uIGZvciB3aXRoZHJhd2luZyBjb2lucyByZWFkeSB0byBiZSBzaWduZWRcbiAgICpcbiAgICogQHBhcmFtIHtSZXF1ZXN0V2l0aGRyYXdTdGFrZWRTdWl9IHJlcXVlc3RcbiAgICovXG4gIHVuc3Rha2UocmVxdWVzdDogUmVxdWVzdFdpdGhkcmF3U3Rha2VkU3VpKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVN1aU9iamVjdFJlZihyZXF1ZXN0LnN0YWtlZFN1aSwgJ3N0YWtlZFN1aScpO1xuICAgIHRoaXMuX3dpdGhkcmF3RGVsZWdhdGlvbiA9IHJlcXVlc3Q7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb248U3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgdHggPSBuZXcgU3Rha2luZ1RyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLmluaXRCdWlsZGVyKHR4KTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPFN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4+IHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFN1aVRyYW5zYWN0aW9uKHRoaXMuYnVpbGRTdWlUcmFuc2FjdGlvbigpKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSh0aGlzLnRyYW5zYWN0aW9uVHlwZSk7XG5cbiAgICBpZiAodGhpcy5fc2lnbmVyKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnNpZ24odGhpcy5fc2lnbmVyKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zaWduYXR1cmVzLmZvckVhY2goKHNpZ25hdHVyZSkgPT4ge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5hZGRTaWduYXR1cmUoc2lnbmF0dXJlLnB1YmxpY0tleSwgc2lnbmF0dXJlLnNpZ25hdHVyZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnRyYW5zYWN0aW9uLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1N0YWtpbmdUcmFuc2FjdGlvbn0gdHggdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbjxTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+KTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcblxuICAgIGlmICh0eC5zaWduYXR1cmUgJiYgdHguc2lnbmF0dXJlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbdHguc3VpU2lnbmF0dXJlXTtcbiAgICB9XG5cbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcbiAgICB0aGlzLnR5cGUoU3VpVHJhbnNhY3Rpb25UeXBlLkFkZFN0YWtlKTtcbiAgICB0aGlzLnNlbmRlcih0eERhdGEuc2VuZGVyKTtcbiAgICB0aGlzLmdhc0RhdGEodHhEYXRhLmdhc0RhdGEpO1xuXG4gICAgY29uc3QgYW1vdW50SW5wdXRJZHggPSAoXG4gICAgICAodHhEYXRhLmtpbmQuUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zWzFdIGFzIE1vdmVDYWxsVHJhbnNhY3Rpb24pLmFyZ3VtZW50c1sxXSBhcyBUcmFuc2FjdGlvbkJsb2NrSW5wdXRcbiAgICApLmluZGV4O1xuICAgIGNvbnN0IGFtb3VudCA9IHV0aWxzLmdldEFtb3VudCh0eERhdGEua2luZC5Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbi5pbnB1dHNbYW1vdW50SW5wdXRJZHhdIGFzIFRyYW5zYWN0aW9uQmxvY2tJbnB1dCk7XG5cbiAgICBjb25zdCB2YWxpZGF0b3JBZGRyZXNzSW5wdXRJZHggPSAoXG4gICAgICAodHhEYXRhLmtpbmQuUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zWzFdIGFzIE1vdmVDYWxsVHJhbnNhY3Rpb24pLmFyZ3VtZW50c1syXSBhcyBUcmFuc2FjdGlvbkJsb2NrSW5wdXRcbiAgICApLmluZGV4O1xuICAgIGNvbnN0IHZhbGlkYXRvckFkZHJlc3MgPSB1dGlscy5nZXRBZGRyZXNzKFxuICAgICAgdHhEYXRhLmtpbmQuUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24uaW5wdXRzW3ZhbGlkYXRvckFkZHJlc3NJbnB1dElkeF0gYXMgVHJhbnNhY3Rpb25CbG9ja0lucHV0XG4gICAgKTtcblxuICAgIHRoaXMuc3Rha2UoeyBhbW91bnQsIHZhbGlkYXRvckFkZHJlc3MgfSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGFsbCBmaWVsZHMgYXJlIGRlZmluZWRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVUcmFuc2FjdGlvbkZpZWxkcygpOiB2b2lkIHtcbiAgICBhc3NlcnQodGhpcy5fdHlwZSwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcigndHlwZSBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignc2VuZGVyIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICBhc3NlcnQoXG4gICAgICB0aGlzLl9hZGRTdGFrZVR4LnZhbGlkYXRvckFkZHJlc3MsXG4gICAgICBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCd2YWxpZGF0b3IgYWRkcmVzcyBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKVxuICAgICk7XG4gICAgYXNzZXJ0KHRoaXMuX2FkZFN0YWtlVHguYW1vdW50LCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdzdGFraW5nIGFtb3VudCBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgYXNzZXJ0KHRoaXMuX2dhc0RhdGEsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2dhc0RhdGEgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJykpO1xuICAgIHRoaXMudmFsaWRhdGVHYXNEYXRhKHRoaXMuX2dhc0RhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIFN1aVRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEByZXR1cm4ge0JpdEdvU3VpVHJhbnNhY3Rpb248TW92ZUNhbGxUeD59XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZFN1aVRyYW5zYWN0aW9uKCk6IFN1aVRyYW5zYWN0aW9uPFN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudmFsaWRhdGVUcmFuc2FjdGlvbkZpZWxkcygpO1xuXG4gICAgY29uc3QgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyID0gbmV3IFByb2dyYW1taW5nVHJhbnNhY3Rpb25CbG9ja0J1aWxkZXIoKTtcbiAgICBzd2l0Y2ggKHRoaXMuX3R5cGUpIHtcbiAgICAgIGNhc2UgU3VpVHJhbnNhY3Rpb25UeXBlLkFkZFN0YWtlOlxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgY29pbiB3aXRoIHN0YWtpbmcgYmFsYW5jZSwgYmFzZWQgb24gdGhlIGNvaW5zIHVzZWQgYXMgZ2FzIHBheW1lbnQuXG4gICAgICAgIGNvbnN0IGNvaW4gPSBwcm9ncmFtbWFibGVUeEJ1aWxkZXIuc3BsaXRDb2lucyhwcm9ncmFtbWFibGVUeEJ1aWxkZXIuZ2FzLCBbXG4gICAgICAgICAgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLnB1cmUodGhpcy5fYWRkU3Rha2VUeC5hbW91bnQpLFxuICAgICAgICBdKTtcbiAgICAgICAgLy8gU3Rha2UgdGhlIHNwbGl0IGNvaW4gdG8gYSBzcGVjaWZpYyB2YWxpZGF0b3IgYWRkcmVzcy5cbiAgICAgICAgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLm1vdmVDYWxsKHtcbiAgICAgICAgICB0YXJnZXQ6IGAke1NVSV9TWVNURU1fQUREUkVTU306OiR7U1VJX1NZU1RFTV9NT0RVTEVfTkFNRX06OiR7QUREX1NUQUtFX0ZVTl9OQU1FfWAsXG4gICAgICAgICAgYXJndW1lbnRzOiBbXG4gICAgICAgICAgICBwcm9ncmFtbWFibGVUeEJ1aWxkZXIub2JqZWN0KElucHV0cy5TaGFyZWRPYmplY3RSZWYoU1VJX1NZU1RFTV9TVEFURV9PQkpFQ1QpKSxcbiAgICAgICAgICAgIGNvaW4sXG4gICAgICAgICAgICBwcm9ncmFtbWFibGVUeEJ1aWxkZXIucHVyZShJbnB1dHMuUHVyZSh0aGlzLl9hZGRTdGFrZVR4LnZhbGlkYXRvckFkZHJlc3MsIEJDUy5BRERSRVNTKSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSBhcyBNb3ZlQ2FsbFRyYW5zYWN0aW9uKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN1aVRyYW5zYWN0aW9uVHlwZS5XaXRoZHJhd1N0YWtlOlxuICAgICAgICAvLyBVbnN0YWtlIHN0YWtlZCBvYmplY3QuXG4gICAgICAgIHByb2dyYW1tYWJsZVR4QnVpbGRlci5tb3ZlQ2FsbCh7XG4gICAgICAgICAgdGFyZ2V0OiBgJHtTVUlfU1lTVEVNX0FERFJFU1N9Ojoke1NVSV9TWVNURU1fTU9EVUxFX05BTUV9Ojoke1dJVEhEUkFXX1NUQUtFX0ZVTl9OQU1FfWAsXG4gICAgICAgICAgYXJndW1lbnRzOiBbXG4gICAgICAgICAgICBwcm9ncmFtbWFibGVUeEJ1aWxkZXIub2JqZWN0KElucHV0cy5TaGFyZWRPYmplY3RSZWYoU1VJX1NZU1RFTV9TVEFURV9PQkpFQ1QpKSxcbiAgICAgICAgICAgIHByb2dyYW1tYWJsZVR4QnVpbGRlci5wdXJlKElucHV0cy5PYmplY3RSZWYodGhpcy5fd2l0aGRyYXdEZWxlZ2F0aW9uLnN0YWtlZFN1aSkpLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0gYXMgTW92ZUNhbGxUcmFuc2FjdGlvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGB1bnN1cHBvcnRlZCB0YXJnZXQgbWV0aG9kYCk7XG4gICAgfVxuXG4gICAgY29uc3QgdHhEYXRhID0gcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLmJsb2NrRGF0YTtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy5fdHlwZSxcbiAgICAgIHNlbmRlcjogdGhpcy5fc2VuZGVyLFxuICAgICAgdHg6IHtcbiAgICAgICAgaW5wdXRzOiBbLi4udHhEYXRhLmlucHV0c10sXG4gICAgICAgIHRyYW5zYWN0aW9uczogWy4uLnR4RGF0YS50cmFuc2FjdGlvbnNdLFxuICAgICAgfSxcbiAgICAgIGdhc0RhdGE6IHtcbiAgICAgICAgLi4udGhpcy5fZ2FzRGF0YSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { BaseKey, PublicKey as BasePublicKey, Signature, TransactionType } from '@bitgo/sdk-core';
|
|
3
|
-
import {
|
|
3
|
+
import { StakingProgrammableTransaction, SuiTransaction, TransactionExplanation, TxData } from './iface';
|
|
4
4
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
5
5
|
import { Transaction } from './transaction';
|
|
6
|
-
export declare class StakingTransaction extends Transaction<
|
|
6
|
+
export declare class StakingTransaction extends Transaction<StakingProgrammableTransaction> {
|
|
7
7
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
|
-
get suiTransaction(): SuiTransaction<
|
|
9
|
-
setSuiTransaction(tx: SuiTransaction<
|
|
8
|
+
get suiTransaction(): SuiTransaction<StakingProgrammableTransaction>;
|
|
9
|
+
setSuiTransaction(tx: SuiTransaction<StakingProgrammableTransaction>): void;
|
|
10
10
|
addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
11
11
|
get suiSignature(): Signature;
|
|
12
12
|
/** @inheritdoc */
|
|
@@ -40,28 +40,12 @@ export declare class StakingTransaction extends Transaction<MoveCallTx> {
|
|
|
40
40
|
*/
|
|
41
41
|
getTxData(): TxData;
|
|
42
42
|
/**
|
|
43
|
-
* Returns a complete explanation for a
|
|
43
|
+
* Returns a complete explanation for a staking transaction
|
|
44
44
|
*
|
|
45
45
|
* @param {TxData} json The transaction data in json format
|
|
46
46
|
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
47
47
|
* @returns {TransactionExplanation}
|
|
48
48
|
*/
|
|
49
49
|
explainAddDelegationTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
50
|
-
/**
|
|
51
|
-
* Returns a complete explanation for a withdraw delegation transaction
|
|
52
|
-
*
|
|
53
|
-
* @param {TxData} json The transaction data in json format
|
|
54
|
-
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
55
|
-
* @returns {TransactionExplanation}
|
|
56
|
-
*/
|
|
57
|
-
explainWithdrawDelegationTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
58
|
-
/**
|
|
59
|
-
* Returns a complete explanation for a switch delegation transaction
|
|
60
|
-
*
|
|
61
|
-
* @param {TxData} json The transaction data in json format
|
|
62
|
-
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
63
|
-
* @returns {TransactionExplanation}
|
|
64
|
-
*/
|
|
65
|
-
explainSwitchDelegationTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
66
50
|
}
|
|
67
51
|
//# sourceMappingURL=stakingTransaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stakingTransaction.d.ts","sourceRoot":"","sources":["../../../src/lib/stakingTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAGP,SAAS,IAAI,aAAa,EAC1B,SAAS,EAET,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"stakingTransaction.d.ts","sourceRoot":"","sources":["../../../src/lib/stakingTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAGP,SAAS,IAAI,aAAa,EAC1B,SAAS,EAET,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,8BAA8B,CAAC;gBACrE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,cAAc,IAAI,cAAc,CAAC,8BAA8B,CAAC,CAEnE;IAED,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,8BAA8B,CAAC,GAAG,IAAI;IAI3E,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/D,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAehB,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAmC5C;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIvD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAiC5B;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAchD;;;;OAIG;IACH,SAAS,IAAI,MAAM;IA0CnB;;;;;;OAMG;IACH,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;CA2BjH"}
|