@bitgo-beta/sdk-coin-near 1.1.0
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 +5 -0
- package/.mocharc.yml +8 -0
- package/CHANGELOG.md +32 -0
- package/LICENSE +191 -0
- package/README.md +30 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +16 -0
- package/dist/src/lib/constants.d.ts +12 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +15 -0
- package/dist/src/lib/contractCallWrapper.d.ts +33 -0
- package/dist/src/lib/contractCallWrapper.d.ts.map +1 -0
- package/dist/src/lib/contractCallWrapper.js +68 -0
- package/dist/src/lib/errors.d.ts +5 -0
- package/dist/src/lib/errors.d.ts.map +1 -0
- package/dist/src/lib/errors.js +12 -0
- package/dist/src/lib/iface.d.ts +40 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +8 -0
- package/dist/src/lib/index.d.ts +11 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +41 -0
- package/dist/src/lib/keyPair.d.ts +25 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +72 -0
- package/dist/src/lib/stakingActivateBuilder.d.ts +32 -0
- package/dist/src/lib/stakingActivateBuilder.d.ts.map +1 -0
- package/dist/src/lib/stakingActivateBuilder.js +90 -0
- package/dist/src/lib/stakingDeactivateBuilder.d.ts +32 -0
- package/dist/src/lib/stakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/src/lib/stakingDeactivateBuilder.js +89 -0
- package/dist/src/lib/stakingWithdrawBuilder.d.ts +32 -0
- package/dist/src/lib/stakingWithdrawBuilder.d.ts.map +1 -0
- package/dist/src/lib/stakingWithdrawBuilder.js +89 -0
- package/dist/src/lib/transaction.d.ts +90 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +368 -0
- package/dist/src/lib/transactionBuilder.d.ts +89 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +216 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +30 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +71 -0
- package/dist/src/lib/transferBuilder.d.ts +26 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +72 -0
- package/dist/src/lib/utils.d.ts +42 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +85 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts +12 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/lib/walletInitializationBuilder.js +20 -0
- package/dist/src/near.d.ts +169 -0
- package/dist/src/near.d.ts.map +1 -0
- package/dist/src/near.js +471 -0
- package/dist/src/tnear.d.ts +7 -0
- package/dist/src/tnear.d.ts.map +1 -0
- package/dist/src/tnear.js +11 -0
- package/package.json +61 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.Transaction = void 0;
|
|
26
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
27
|
+
const constants_1 = require("./constants");
|
|
28
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
29
|
+
const keyPair_1 = require("./keyPair");
|
|
30
|
+
const nearAPI = __importStar(require("near-api-js"));
|
|
31
|
+
const sha256 = __importStar(require("js-sha256"));
|
|
32
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
33
|
+
class Transaction extends sdk_core_1.BaseTransaction {
|
|
34
|
+
constructor(coinConfig) {
|
|
35
|
+
super(coinConfig);
|
|
36
|
+
}
|
|
37
|
+
get nearTransaction() {
|
|
38
|
+
return this._nearTransaction;
|
|
39
|
+
}
|
|
40
|
+
set nearTransaction(tx) {
|
|
41
|
+
this._nearTransaction = tx;
|
|
42
|
+
this._id = utils_1.default.base58Encode(this.getTransactionHash());
|
|
43
|
+
}
|
|
44
|
+
/** @inheritdoc */
|
|
45
|
+
canSign(key) {
|
|
46
|
+
try {
|
|
47
|
+
new keyPair_1.KeyPair({ prv: key.key });
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** @inheritdoc */
|
|
55
|
+
toBroadcastFormat() {
|
|
56
|
+
if (!this._nearTransaction) {
|
|
57
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
58
|
+
}
|
|
59
|
+
const txSeralized = this._nearSignedTransaction
|
|
60
|
+
? Buffer.from(this._nearSignedTransaction.encode()).toString('base64')
|
|
61
|
+
: Buffer.from(this._nearTransaction.encode()).toString('base64');
|
|
62
|
+
return txSeralized;
|
|
63
|
+
}
|
|
64
|
+
/** @inheritdoc */
|
|
65
|
+
toJson() {
|
|
66
|
+
if (!this._nearTransaction) {
|
|
67
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
68
|
+
}
|
|
69
|
+
let parsedAction = {};
|
|
70
|
+
if (this._nearTransaction.actions[0].enum === 'transfer') {
|
|
71
|
+
parsedAction = { transfer: this._nearTransaction.actions[0].transfer };
|
|
72
|
+
}
|
|
73
|
+
else if (this._nearTransaction.actions[0].enum === 'functionCall') {
|
|
74
|
+
const functionCallObject = this._nearTransaction.actions[0].functionCall;
|
|
75
|
+
parsedAction = {
|
|
76
|
+
functionCall: {
|
|
77
|
+
methodName: functionCallObject.methodName,
|
|
78
|
+
args: JSON.parse(Buffer.from(functionCallObject.args).toString()),
|
|
79
|
+
gas: functionCallObject.gas.toString(),
|
|
80
|
+
deposit: functionCallObject.deposit.toString(),
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
id: this._id,
|
|
86
|
+
signerId: this._nearTransaction.signerId,
|
|
87
|
+
publicKey: this._nearTransaction.publicKey.toString(),
|
|
88
|
+
nonce: this._nearTransaction.nonce,
|
|
89
|
+
receiverId: this._nearTransaction.receiverId,
|
|
90
|
+
actions: [parsedAction],
|
|
91
|
+
signature: typeof this._nearSignedTransaction === 'undefined' ? undefined : this._nearSignedTransaction.signature,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Set the transaction type.
|
|
96
|
+
*
|
|
97
|
+
* @param {TransactionType} transactionType The transaction type to be set.
|
|
98
|
+
*/
|
|
99
|
+
setTransactionType(transactionType) {
|
|
100
|
+
this._type = transactionType;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Sets this transaction payload
|
|
104
|
+
*
|
|
105
|
+
* @param rawTx
|
|
106
|
+
*/
|
|
107
|
+
fromRawTransaction(rawTx) {
|
|
108
|
+
const bufferRawTransaction = constants_1.HEX_REGEX.test(rawTx) ? Buffer.from(rawTx, 'hex') : Buffer.from(rawTx, 'base64');
|
|
109
|
+
try {
|
|
110
|
+
const signedTx = nearAPI.utils.serialize.deserialize(nearAPI.transactions.SCHEMA, nearAPI.transactions.SignedTransaction, bufferRawTransaction);
|
|
111
|
+
signedTx.transaction.nonce = parseInt(signedTx.transaction.nonce.toString(), 10);
|
|
112
|
+
this._nearSignedTransaction = signedTx;
|
|
113
|
+
this._nearTransaction = signedTx.transaction;
|
|
114
|
+
this._id = utils_1.default.base58Encode(this.getTransactionHash());
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
try {
|
|
118
|
+
const unsignedTx = nearAPI.utils.serialize.deserialize(nearAPI.transactions.SCHEMA, nearAPI.transactions.Transaction, bufferRawTransaction);
|
|
119
|
+
unsignedTx.nonce = parseInt(unsignedTx.nonce.toString(), 10);
|
|
120
|
+
this._nearTransaction = unsignedTx;
|
|
121
|
+
this._id = utils_1.default.base58Encode(this.getTransactionHash());
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
throw new sdk_core_1.InvalidTransactionError('unable to build transaction from raw');
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
this.loadInputsAndOutputs();
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Sign this transaction
|
|
131
|
+
*
|
|
132
|
+
* @param {KeyPair} signer key
|
|
133
|
+
*/
|
|
134
|
+
sign(signer) {
|
|
135
|
+
if (!this._nearTransaction) {
|
|
136
|
+
throw new sdk_core_1.InvalidTransactionError('empty transaction to sign');
|
|
137
|
+
}
|
|
138
|
+
const serializedTxHash = this.getTransactionHash();
|
|
139
|
+
const signature = signer.signMessageinUint8Array(serializedTxHash);
|
|
140
|
+
this._nearSignedTransaction = new nearAPI.transactions.SignedTransaction({
|
|
141
|
+
transaction: this._nearTransaction,
|
|
142
|
+
signature: new nearAPI.transactions.Signature({
|
|
143
|
+
keyType: this._nearTransaction.publicKey.keyType,
|
|
144
|
+
data: signature,
|
|
145
|
+
}),
|
|
146
|
+
});
|
|
147
|
+
this.loadInputsAndOutputs();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* set transaction type by staking contract method names.
|
|
151
|
+
* @param methodName method name to match and set the transaction type
|
|
152
|
+
*/
|
|
153
|
+
setTypeByStakingMethod(methodName) {
|
|
154
|
+
switch (methodName) {
|
|
155
|
+
case constants_1.StakingContractMethodNames.DepositAndStake:
|
|
156
|
+
this.setTransactionType(sdk_core_1.TransactionType.StakingActivate);
|
|
157
|
+
break;
|
|
158
|
+
case constants_1.StakingContractMethodNames.Unstake:
|
|
159
|
+
this.setTransactionType(sdk_core_1.TransactionType.StakingDeactivate);
|
|
160
|
+
break;
|
|
161
|
+
case constants_1.StakingContractMethodNames.Withdraw:
|
|
162
|
+
this.setTransactionType(sdk_core_1.TransactionType.StakingWithdraw);
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Check if method is allowed on Near account-lib implementation.
|
|
168
|
+
* This method should check on all contracts added to Near.
|
|
169
|
+
* @param methodName contract call method name to check if its allowed.
|
|
170
|
+
*/
|
|
171
|
+
validateMethodAllowed(methodName) {
|
|
172
|
+
if (!Object.values(constants_1.StakingContractMethodNames).some((item) => item === methodName)) {
|
|
173
|
+
throw new sdk_core_1.InvalidTransactionError('unsupported function call in raw transaction');
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Build input and output field for this transaction
|
|
178
|
+
*
|
|
179
|
+
*/
|
|
180
|
+
loadInputsAndOutputs() {
|
|
181
|
+
if (this._nearTransaction.actions.length !== 1) {
|
|
182
|
+
throw new sdk_core_1.InvalidTransactionError('too many actions in raw transaction');
|
|
183
|
+
}
|
|
184
|
+
const action = this._nearTransaction.actions[0];
|
|
185
|
+
switch (action.enum) {
|
|
186
|
+
case 'transfer':
|
|
187
|
+
this.setTransactionType(sdk_core_1.TransactionType.Send);
|
|
188
|
+
break;
|
|
189
|
+
case 'functionCall':
|
|
190
|
+
const methodName = action.functionCall.methodName;
|
|
191
|
+
this.validateMethodAllowed(methodName);
|
|
192
|
+
this.setTypeByStakingMethod(methodName);
|
|
193
|
+
break;
|
|
194
|
+
default:
|
|
195
|
+
throw new sdk_core_1.InvalidTransactionError('unsupported action in raw transaction');
|
|
196
|
+
}
|
|
197
|
+
const outputs = [];
|
|
198
|
+
const inputs = [];
|
|
199
|
+
switch (this.type) {
|
|
200
|
+
case sdk_core_1.TransactionType.Send:
|
|
201
|
+
const amount = action.transfer.deposit.toString();
|
|
202
|
+
inputs.push({
|
|
203
|
+
address: this._nearTransaction.signerId,
|
|
204
|
+
value: amount,
|
|
205
|
+
coin: this._coinConfig.name,
|
|
206
|
+
});
|
|
207
|
+
outputs.push({
|
|
208
|
+
address: this._nearTransaction.receiverId,
|
|
209
|
+
value: amount,
|
|
210
|
+
coin: this._coinConfig.name,
|
|
211
|
+
});
|
|
212
|
+
break;
|
|
213
|
+
case sdk_core_1.TransactionType.StakingActivate:
|
|
214
|
+
const stakingAmount = action.functionCall.deposit.toString();
|
|
215
|
+
inputs.push({
|
|
216
|
+
address: this._nearTransaction.signerId,
|
|
217
|
+
value: stakingAmount,
|
|
218
|
+
coin: this._coinConfig.name,
|
|
219
|
+
});
|
|
220
|
+
outputs.push({
|
|
221
|
+
address: this._nearTransaction.receiverId,
|
|
222
|
+
value: stakingAmount,
|
|
223
|
+
coin: this._coinConfig.name,
|
|
224
|
+
});
|
|
225
|
+
break;
|
|
226
|
+
case sdk_core_1.TransactionType.StakingWithdraw:
|
|
227
|
+
const stakingWithdrawAmount = JSON.parse(Buffer.from(action.functionCall.args).toString()).amount;
|
|
228
|
+
inputs.push({
|
|
229
|
+
address: this._nearTransaction.receiverId,
|
|
230
|
+
value: stakingWithdrawAmount,
|
|
231
|
+
coin: this._coinConfig.name,
|
|
232
|
+
});
|
|
233
|
+
outputs.push({
|
|
234
|
+
address: this._nearTransaction.signerId,
|
|
235
|
+
value: stakingWithdrawAmount,
|
|
236
|
+
coin: this._coinConfig.name,
|
|
237
|
+
});
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
this._outputs = outputs;
|
|
241
|
+
this._inputs = inputs;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Returns a complete explanation for a transfer transaction
|
|
245
|
+
* @param {TxData} json The transaction data in json format
|
|
246
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
247
|
+
* @returns {TransactionExplanation}
|
|
248
|
+
*/
|
|
249
|
+
explainTransferTransaction(json, explanationResult) {
|
|
250
|
+
var _a, _b;
|
|
251
|
+
return {
|
|
252
|
+
...explanationResult,
|
|
253
|
+
outputAmount: ((_a = json.actions[0].transfer) === null || _a === void 0 ? void 0 : _a.deposit.toString()) || '',
|
|
254
|
+
outputs: [
|
|
255
|
+
{
|
|
256
|
+
address: json.receiverId,
|
|
257
|
+
amount: ((_b = json.actions[0].transfer) === null || _b === void 0 ? void 0 : _b.deposit.toString()) || '',
|
|
258
|
+
},
|
|
259
|
+
],
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Returns a complete explanation for a staking activate transaction
|
|
264
|
+
* @param {TxData} json The transaction data in json format
|
|
265
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
266
|
+
* @returns {TransactionExplanation}
|
|
267
|
+
*/
|
|
268
|
+
explainStakingActivateTransaction(json, explanationResult) {
|
|
269
|
+
var _a, _b;
|
|
270
|
+
return {
|
|
271
|
+
...explanationResult,
|
|
272
|
+
outputAmount: ((_a = json.actions[0].functionCall) === null || _a === void 0 ? void 0 : _a.deposit.toString()) || '',
|
|
273
|
+
outputs: [
|
|
274
|
+
{
|
|
275
|
+
address: json.receiverId,
|
|
276
|
+
amount: ((_b = json.actions[0].functionCall) === null || _b === void 0 ? void 0 : _b.deposit.toString()) || '',
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Returns a complete explanation for a staking withdraw transaction
|
|
283
|
+
* @param {TxData} json The transaction data in json format
|
|
284
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
285
|
+
* @returns {TransactionExplanation}
|
|
286
|
+
*/
|
|
287
|
+
explainStakingWithdrawTransaction(json, explanationResult) {
|
|
288
|
+
var _a;
|
|
289
|
+
const amount = (_a = json.actions[0].functionCall) === null || _a === void 0 ? void 0 : _a.args.amount;
|
|
290
|
+
return {
|
|
291
|
+
...explanationResult,
|
|
292
|
+
outputAmount: amount,
|
|
293
|
+
outputs: [
|
|
294
|
+
{
|
|
295
|
+
address: json.signerId,
|
|
296
|
+
amount: amount,
|
|
297
|
+
},
|
|
298
|
+
],
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
/** @inheritdoc */
|
|
302
|
+
explainTransaction() {
|
|
303
|
+
const result = this.toJson();
|
|
304
|
+
const displayOrder = ['outputAmount', 'changeAmount', 'outputs', 'changeOutputs', 'fee', 'type'];
|
|
305
|
+
const outputs = [];
|
|
306
|
+
const explanationResult = {
|
|
307
|
+
// txhash used to identify the transactions
|
|
308
|
+
id: result.id || '',
|
|
309
|
+
displayOrder,
|
|
310
|
+
outputAmount: '0',
|
|
311
|
+
changeAmount: '0',
|
|
312
|
+
changeOutputs: [],
|
|
313
|
+
outputs,
|
|
314
|
+
fee: { fee: '' },
|
|
315
|
+
type: this.type,
|
|
316
|
+
};
|
|
317
|
+
switch (this.type) {
|
|
318
|
+
case sdk_core_1.TransactionType.Send:
|
|
319
|
+
return this.explainTransferTransaction(result, explanationResult);
|
|
320
|
+
case sdk_core_1.TransactionType.StakingActivate:
|
|
321
|
+
return this.explainStakingActivateTransaction(result, explanationResult);
|
|
322
|
+
case sdk_core_1.TransactionType.StakingDeactivate:
|
|
323
|
+
return explanationResult;
|
|
324
|
+
case sdk_core_1.TransactionType.StakingWithdraw:
|
|
325
|
+
return this.explainStakingWithdrawTransaction(result, explanationResult);
|
|
326
|
+
default:
|
|
327
|
+
throw new sdk_core_1.InvalidTransactionError('Transaction type not supported');
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
getTransactionHash() {
|
|
331
|
+
const serializedTx = nearAPI.utils.serialize.serialize(nearAPI.transactions.SCHEMA, this._nearTransaction);
|
|
332
|
+
return new Uint8Array(sha256.sha256.array(serializedTx));
|
|
333
|
+
}
|
|
334
|
+
get signablePayload() {
|
|
335
|
+
if (!this._nearTransaction) {
|
|
336
|
+
throw new sdk_core_1.InvalidTransactionError('empty transaction');
|
|
337
|
+
}
|
|
338
|
+
return Buffer.from(this.getTransactionHash());
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Constructs a signed payload using construct.signTx
|
|
342
|
+
* This method will be called during the build step if a TSS signature
|
|
343
|
+
* is added and will set the signTransaction which is the txHex that will be broadcasted
|
|
344
|
+
* As well as add the signature used to sign to the signature array in hex format
|
|
345
|
+
*
|
|
346
|
+
* @param {Buffer} signature The signature to be added to a near transaction
|
|
347
|
+
*/
|
|
348
|
+
constructSignedPayload(signature) {
|
|
349
|
+
this._nearSignedTransaction = new nearAPI.transactions.SignedTransaction({
|
|
350
|
+
transaction: this._nearTransaction,
|
|
351
|
+
signature: new nearAPI.transactions.Signature({
|
|
352
|
+
keyType: this._nearTransaction.publicKey.keyType,
|
|
353
|
+
data: signature,
|
|
354
|
+
}),
|
|
355
|
+
});
|
|
356
|
+
this.loadInputsAndOutputs();
|
|
357
|
+
}
|
|
358
|
+
/** @inheritdoc **/
|
|
359
|
+
get signature() {
|
|
360
|
+
const signatures = [];
|
|
361
|
+
if (this._nearSignedTransaction) {
|
|
362
|
+
signatures.push(bs58_1.default.encode(this._nearSignedTransaction.signature.data));
|
|
363
|
+
}
|
|
364
|
+
return signatures;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
exports.Transaction = Transaction;
|
|
368
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFPOEI7QUFHOUIsMkNBQW9FO0FBQ3BFLG9EQUE0QjtBQUM1Qix1Q0FBb0M7QUFDcEMscURBQXVDO0FBQ3ZDLGtEQUFvQztBQUNwQyxnREFBMEI7QUFFMUIsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUFJOUMsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsRUFBb0M7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsR0FBRyxHQUFHLGVBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLElBQUk7WUFDRixJQUFJLGlCQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUFDLE1BQU07WUFDTixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHNCQUFzQjtZQUM3QyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsSUFBSSxZQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQ3hELFlBQVksR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7WUFDbkUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUN6RSxZQUFZLEdBQUc7Z0JBQ2IsWUFBWSxFQUFFO29CQUNaLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVO29CQUN6QyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNqRSxHQUFHLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtvQkFDdEMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7aUJBQy9DO2FBQ0YsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUTtZQUN4QyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDckQsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO1lBQ2xDLFVBQVUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtZQUM1QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7WUFDdkIsU0FBUyxFQUFFLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUztTQUNsSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrQkFBa0IsQ0FBQyxlQUFnQztRQUNqRCxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLEtBQWE7UUFDOUIsTUFBTSxvQkFBb0IsR0FBRyxxQkFBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlHLElBQUk7WUFDRixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQ2xELE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUMzQixPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUN0QyxvQkFBb0IsQ0FDckIsQ0FBQztZQUNGLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsUUFBUSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQzdDLElBQUksQ0FBQyxHQUFHLEdBQUcsZUFBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1NBQzFEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJO2dCQUNGLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FDcEQsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQzNCLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUNoQyxvQkFBb0IsQ0FDckIsQ0FBQztnQkFDRixVQUFVLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsR0FBRyxHQUFHLGVBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQzthQUMxRDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO2FBQzNFO1NBQ0Y7UUFFRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUVILElBQUksQ0FBQyxNQUFlO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDaEU7UUFDRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7WUFDdkUsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDbEMsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLE9BQU87Z0JBQ2hELElBQUksRUFBRSxTQUFTO2FBQ2hCLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssc0JBQXNCLENBQUMsVUFBa0I7UUFDL0MsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxzQ0FBMEIsQ0FBQyxlQUFlO2dCQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDekQsTUFBTTtZQUNSLEtBQUssc0NBQTBCLENBQUMsT0FBTztnQkFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDM0QsTUFBTTtZQUNSLEtBQUssc0NBQTBCLENBQUMsUUFBUTtnQkFDdEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3pELE1BQU07U0FDVDtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0sscUJBQXFCLENBQUMsVUFBa0I7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsc0NBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsRUFBRTtZQUNsRixNQUFNLElBQUksa0NBQXVCLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNuRjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0I7UUFDbEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDOUMsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDMUU7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWhELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNuQixLQUFLLFVBQVU7Z0JBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlDLE1BQU07WUFDUixLQUFLLGNBQWM7Z0JBQ2pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO2dCQUNsRCxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtZQUNSO2dCQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1NBQzlFO1FBRUQsTUFBTSxPQUFPLEdBQVksRUFBRSxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUFZLEVBQUUsQ0FBQztRQUMzQixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSywwQkFBZSxDQUFDLElBQUk7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUTtvQkFDdkMsS0FBSyxFQUFFLE1BQU07b0JBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtpQkFDNUIsQ0FBQyxDQUFDO2dCQUNILE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO29CQUN6QyxLQUFLLEVBQUUsTUFBTTtvQkFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2lCQUM1QixDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLEtBQUssMEJBQWUsQ0FBQyxlQUFlO2dCQUNsQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDVixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVE7b0JBQ3ZDLEtBQUssRUFBRSxhQUFhO29CQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2lCQUM1QixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVU7b0JBQ3pDLEtBQUssRUFBRSxhQUFhO29CQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2lCQUM1QixDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLEtBQUssMEJBQWUsQ0FBQyxlQUFlO2dCQUNsQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUNsRyxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtvQkFDekMsS0FBSyxFQUFFLHFCQUFxQjtvQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtpQkFDNUIsQ0FBQyxDQUFDO2dCQUNILE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRO29CQUN2QyxLQUFLLEVBQUUscUJBQXFCO29CQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2lCQUM1QixDQUFDLENBQUM7Z0JBQ0gsTUFBTTtTQUNUO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsMEJBQTBCLENBQUMsSUFBWSxFQUFFLGlCQUF5Qzs7UUFDaEYsT0FBTztZQUNMLEdBQUcsaUJBQWlCO1lBQ3BCLFlBQVksRUFBRSxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLDBDQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSSxFQUFFO1lBQ2hFLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7b0JBQ3hCLE1BQU0sRUFBRSxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLDBDQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSSxFQUFFO2lCQUMzRDthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlDQUFpQyxDQUFDLElBQVksRUFBRSxpQkFBeUM7O1FBQ3ZGLE9BQU87WUFDTCxHQUFHLGlCQUFpQjtZQUNwQixZQUFZLEVBQUUsQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSwwQ0FBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUksRUFBRTtZQUNwRSxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO29CQUN4QixNQUFNLEVBQUUsQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSwwQ0FBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUksRUFBRTtpQkFDL0Q7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQ0FBaUMsQ0FBQyxJQUFZLEVBQUUsaUJBQXlDOztRQUN2RixNQUFNLE1BQU0sR0FBRyxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSwwQ0FBRSxJQUFJLENBQUMsTUFBZ0IsQ0FBQztRQUNuRSxPQUFPO1lBQ0wsR0FBRyxpQkFBaUI7WUFDcEIsWUFBWSxFQUFFLE1BQU07WUFDcEIsT0FBTyxFQUFFO2dCQUNQO29CQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDdEIsTUFBTSxFQUFFLE1BQU07aUJBQ2Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQjtRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsTUFBTSxZQUFZLEdBQUcsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sT0FBTyxHQUEyQixFQUFFLENBQUM7UUFDM0MsTUFBTSxpQkFBaUIsR0FBMkI7WUFDaEQsMkNBQTJDO1lBQzNDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUU7WUFDbkIsWUFBWTtZQUNaLFlBQVksRUFBRSxHQUFHO1lBQ2pCLFlBQVksRUFBRSxHQUFHO1lBQ2pCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLE9BQU87WUFDUCxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO1FBQ0YsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssMEJBQWUsQ0FBQyxJQUFJO2dCQUN2QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUNwRSxLQUFLLDBCQUFlLENBQUMsZUFBZTtnQkFDbEMsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDM0UsS0FBSywwQkFBZSxDQUFDLGlCQUFpQjtnQkFDcEMsT0FBTyxpQkFBaUIsQ0FBQztZQUMzQixLQUFLLDBCQUFlLENBQUMsZUFBZTtnQkFDbEMsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDM0U7Z0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRyxPQUFPLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxzQkFBc0IsQ0FBQyxTQUFpQjtRQUN0QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1lBQ3ZFLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ2xDLFNBQVMsRUFBRSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO2dCQUM1QyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxPQUFPO2dCQUNoRCxJQUFJLEVBQUUsU0FBUzthQUNoQixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELG1CQUFtQjtJQUNuQixJQUFJLFNBQVM7UUFDWCxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUM1RTtRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQTVXRCxrQ0E0V0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIEVudHJ5LFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiwgVHhEYXRhLCBBY3Rpb24gfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEhFWF9SRUdFWCwgU3Rha2luZ0NvbnRyYWN0TWV0aG9kTmFtZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCAqIGFzIG5lYXJBUEkgZnJvbSAnbmVhci1hcGktanMnO1xuaW1wb3J0ICogYXMgc2hhMjU2IGZyb20gJ2pzLXNoYTI1Nic7XG5pbXBvcnQgYmFzZTU4IGZyb20gJ2JzNTgnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9uZWFyVHJhbnNhY3Rpb246IG5lYXJBUEkudHJhbnNhY3Rpb25zLlRyYW5zYWN0aW9uO1xuICBwcml2YXRlIF9uZWFyU2lnbmVkVHJhbnNhY3Rpb246IG5lYXJBUEkudHJhbnNhY3Rpb25zLlNpZ25lZFRyYW5zYWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXQgbmVhclRyYW5zYWN0aW9uKCk6IG5lYXJBUEkudHJhbnNhY3Rpb25zLlRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fbmVhclRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IG5lYXJUcmFuc2FjdGlvbih0eDogbmVhckFQSS50cmFuc2FjdGlvbnMuVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl9uZWFyVHJhbnNhY3Rpb24gPSB0eDtcbiAgICB0aGlzLl9pZCA9IHV0aWxzLmJhc2U1OEVuY29kZSh0aGlzLmdldFRyYW5zYWN0aW9uSGFzaCgpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fbmVhclRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgdHhTZXJhbGl6ZWQgPSB0aGlzLl9uZWFyU2lnbmVkVHJhbnNhY3Rpb25cbiAgICAgID8gQnVmZmVyLmZyb20odGhpcy5fbmVhclNpZ25lZFRyYW5zYWN0aW9uLmVuY29kZSgpKS50b1N0cmluZygnYmFzZTY0JylcbiAgICAgIDogQnVmZmVyLmZyb20odGhpcy5fbmVhclRyYW5zYWN0aW9uLmVuY29kZSgpKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgcmV0dXJuIHR4U2VyYWxpemVkO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5fbmVhclRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG5cbiAgICBsZXQgcGFyc2VkQWN0aW9uOiBBY3Rpb24gPSB7fTtcbiAgICBpZiAodGhpcy5fbmVhclRyYW5zYWN0aW9uLmFjdGlvbnNbMF0uZW51bSA9PT0gJ3RyYW5zZmVyJykge1xuICAgICAgcGFyc2VkQWN0aW9uID0geyB0cmFuc2ZlcjogdGhpcy5fbmVhclRyYW5zYWN0aW9uLmFjdGlvbnNbMF0udHJhbnNmZXIgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX25lYXJUcmFuc2FjdGlvbi5hY3Rpb25zWzBdLmVudW0gPT09ICdmdW5jdGlvbkNhbGwnKSB7XG4gICAgICBjb25zdCBmdW5jdGlvbkNhbGxPYmplY3QgPSB0aGlzLl9uZWFyVHJhbnNhY3Rpb24uYWN0aW9uc1swXS5mdW5jdGlvbkNhbGw7XG4gICAgICBwYXJzZWRBY3Rpb24gPSB7XG4gICAgICAgIGZ1bmN0aW9uQ2FsbDoge1xuICAgICAgICAgIG1ldGhvZE5hbWU6IGZ1bmN0aW9uQ2FsbE9iamVjdC5tZXRob2ROYW1lLFxuICAgICAgICAgIGFyZ3M6IEpTT04ucGFyc2UoQnVmZmVyLmZyb20oZnVuY3Rpb25DYWxsT2JqZWN0LmFyZ3MpLnRvU3RyaW5nKCkpLFxuICAgICAgICAgIGdhczogZnVuY3Rpb25DYWxsT2JqZWN0Lmdhcy50b1N0cmluZygpLFxuICAgICAgICAgIGRlcG9zaXQ6IGZ1bmN0aW9uQ2FsbE9iamVjdC5kZXBvc2l0LnRvU3RyaW5nKCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5faWQsXG4gICAgICBzaWduZXJJZDogdGhpcy5fbmVhclRyYW5zYWN0aW9uLnNpZ25lcklkLFxuICAgICAgcHVibGljS2V5OiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24ucHVibGljS2V5LnRvU3RyaW5nKCksXG4gICAgICBub25jZTogdGhpcy5fbmVhclRyYW5zYWN0aW9uLm5vbmNlLFxuICAgICAgcmVjZWl2ZXJJZDogdGhpcy5fbmVhclRyYW5zYWN0aW9uLnJlY2VpdmVySWQsXG4gICAgICBhY3Rpb25zOiBbcGFyc2VkQWN0aW9uXSxcbiAgICAgIHNpZ25hdHVyZTogdHlwZW9mIHRoaXMuX25lYXJTaWduZWRUcmFuc2FjdGlvbiA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiB0aGlzLl9uZWFyU2lnbmVkVHJhbnNhY3Rpb24uc2lnbmF0dXJlLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uVHlwZX0gdHJhbnNhY3Rpb25UeXBlIFRoZSB0cmFuc2FjdGlvbiB0eXBlIHRvIGJlIHNldC5cbiAgICovXG4gIHNldFRyYW5zYWN0aW9uVHlwZSh0cmFuc2FjdGlvblR5cGU6IFRyYW5zYWN0aW9uVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuX3R5cGUgPSB0cmFuc2FjdGlvblR5cGU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGlzIHRyYW5zYWN0aW9uIHBheWxvYWRcbiAgICpcbiAgICogQHBhcmFtIHJhd1R4XG4gICAqL1xuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHg6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGJ1ZmZlclJhd1RyYW5zYWN0aW9uID0gSEVYX1JFR0VYLnRlc3QocmF3VHgpID8gQnVmZmVyLmZyb20ocmF3VHgsICdoZXgnKSA6IEJ1ZmZlci5mcm9tKHJhd1R4LCAnYmFzZTY0Jyk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNpZ25lZFR4ID0gbmVhckFQSS51dGlscy5zZXJpYWxpemUuZGVzZXJpYWxpemUoXG4gICAgICAgIG5lYXJBUEkudHJhbnNhY3Rpb25zLlNDSEVNQSxcbiAgICAgICAgbmVhckFQSS50cmFuc2FjdGlvbnMuU2lnbmVkVHJhbnNhY3Rpb24sXG4gICAgICAgIGJ1ZmZlclJhd1RyYW5zYWN0aW9uXG4gICAgICApO1xuICAgICAgc2lnbmVkVHgudHJhbnNhY3Rpb24ubm9uY2UgPSBwYXJzZUludChzaWduZWRUeC50cmFuc2FjdGlvbi5ub25jZS50b1N0cmluZygpLCAxMCk7XG4gICAgICB0aGlzLl9uZWFyU2lnbmVkVHJhbnNhY3Rpb24gPSBzaWduZWRUeDtcbiAgICAgIHRoaXMuX25lYXJUcmFuc2FjdGlvbiA9IHNpZ25lZFR4LnRyYW5zYWN0aW9uO1xuICAgICAgdGhpcy5faWQgPSB1dGlscy5iYXNlNThFbmNvZGUodGhpcy5nZXRUcmFuc2FjdGlvbkhhc2goKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdW5zaWduZWRUeCA9IG5lYXJBUEkudXRpbHMuc2VyaWFsaXplLmRlc2VyaWFsaXplKFxuICAgICAgICAgIG5lYXJBUEkudHJhbnNhY3Rpb25zLlNDSEVNQSxcbiAgICAgICAgICBuZWFyQVBJLnRyYW5zYWN0aW9ucy5UcmFuc2FjdGlvbixcbiAgICAgICAgICBidWZmZXJSYXdUcmFuc2FjdGlvblxuICAgICAgICApO1xuICAgICAgICB1bnNpZ25lZFR4Lm5vbmNlID0gcGFyc2VJbnQodW5zaWduZWRUeC5ub25jZS50b1N0cmluZygpLCAxMCk7XG4gICAgICAgIHRoaXMuX25lYXJUcmFuc2FjdGlvbiA9IHVuc2lnbmVkVHg7XG4gICAgICAgIHRoaXMuX2lkID0gdXRpbHMuYmFzZTU4RW5jb2RlKHRoaXMuZ2V0VHJhbnNhY3Rpb25IYXNoKCkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3VuYWJsZSB0byBidWlsZCB0cmFuc2FjdGlvbiBmcm9tIHJhdycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIHRoaXMgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtLZXlQYWlyfSBzaWduZXIga2V5XG4gICAqL1xuXG4gIHNpZ24oc2lnbmVyOiBLZXlQYWlyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9uZWFyVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignZW1wdHkgdHJhbnNhY3Rpb24gdG8gc2lnbicpO1xuICAgIH1cbiAgICBjb25zdCBzZXJpYWxpemVkVHhIYXNoID0gdGhpcy5nZXRUcmFuc2FjdGlvbkhhc2goKTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBzaWduZXIuc2lnbk1lc3NhZ2VpblVpbnQ4QXJyYXkoc2VyaWFsaXplZFR4SGFzaCk7XG4gICAgdGhpcy5fbmVhclNpZ25lZFRyYW5zYWN0aW9uID0gbmV3IG5lYXJBUEkudHJhbnNhY3Rpb25zLlNpZ25lZFRyYW5zYWN0aW9uKHtcbiAgICAgIHRyYW5zYWN0aW9uOiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24sXG4gICAgICBzaWduYXR1cmU6IG5ldyBuZWFyQVBJLnRyYW5zYWN0aW9ucy5TaWduYXR1cmUoe1xuICAgICAgICBrZXlUeXBlOiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24ucHVibGljS2V5LmtleVR5cGUsXG4gICAgICAgIGRhdGE6IHNpZ25hdHVyZSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXQgdHJhbnNhY3Rpb24gdHlwZSBieSBzdGFraW5nIGNvbnRyYWN0IG1ldGhvZCBuYW1lcy5cbiAgICogQHBhcmFtIG1ldGhvZE5hbWUgbWV0aG9kIG5hbWUgdG8gbWF0Y2ggYW5kIHNldCB0aGUgdHJhbnNhY3Rpb24gdHlwZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRUeXBlQnlTdGFraW5nTWV0aG9kKG1ldGhvZE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHN3aXRjaCAobWV0aG9kTmFtZSkge1xuICAgICAgY2FzZSBTdGFraW5nQ29udHJhY3RNZXRob2ROYW1lcy5EZXBvc2l0QW5kU3Rha2U6XG4gICAgICAgIHRoaXMuc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3Rha2luZ0NvbnRyYWN0TWV0aG9kTmFtZXMuVW5zdGFrZTpcbiAgICAgICAgdGhpcy5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdDb250cmFjdE1ldGhvZE5hbWVzLldpdGhkcmF3OlxuICAgICAgICB0aGlzLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3KTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIG1ldGhvZCBpcyBhbGxvd2VkIG9uIE5lYXIgYWNjb3VudC1saWIgaW1wbGVtZW50YXRpb24uXG4gICAqIFRoaXMgbWV0aG9kIHNob3VsZCBjaGVjayBvbiBhbGwgY29udHJhY3RzIGFkZGVkIHRvIE5lYXIuXG4gICAqIEBwYXJhbSBtZXRob2ROYW1lIGNvbnRyYWN0IGNhbGwgbWV0aG9kIG5hbWUgdG8gY2hlY2sgaWYgaXRzIGFsbG93ZWQuXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlTWV0aG9kQWxsb3dlZChtZXRob2ROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIU9iamVjdC52YWx1ZXMoU3Rha2luZ0NvbnRyYWN0TWV0aG9kTmFtZXMpLnNvbWUoKGl0ZW0pID0+IGl0ZW0gPT09IG1ldGhvZE5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3Vuc3VwcG9ydGVkIGZ1bmN0aW9uIGNhbGwgaW4gcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGlucHV0IGFuZCBvdXRwdXQgZmllbGQgZm9yIHRoaXMgdHJhbnNhY3Rpb25cbiAgICpcbiAgICovXG4gIGxvYWRJbnB1dHNBbmRPdXRwdXRzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9uZWFyVHJhbnNhY3Rpb24uYWN0aW9ucy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndG9vIG1hbnkgYWN0aW9ucyBpbiByYXcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9uZWFyVHJhbnNhY3Rpb24uYWN0aW9uc1swXTtcblxuICAgIHN3aXRjaCAoYWN0aW9uLmVudW0pIHtcbiAgICAgIGNhc2UgJ3RyYW5zZmVyJzpcbiAgICAgICAgdGhpcy5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uQ2FsbCc6XG4gICAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBhY3Rpb24uZnVuY3Rpb25DYWxsLm1ldGhvZE5hbWU7XG4gICAgICAgIHRoaXMudmFsaWRhdGVNZXRob2RBbGxvd2VkKG1ldGhvZE5hbWUpO1xuICAgICAgICB0aGlzLnNldFR5cGVCeVN0YWtpbmdNZXRob2QobWV0aG9kTmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCd1bnN1cHBvcnRlZCBhY3Rpb24gaW4gcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0czogRW50cnlbXSA9IFtdO1xuICAgIGNvbnN0IGlucHV0czogRW50cnlbXSA9IFtdO1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgICBjb25zdCBhbW91bnQgPSBhY3Rpb24udHJhbnNmZXIuZGVwb3NpdC50b1N0cmluZygpO1xuICAgICAgICBpbnB1dHMucHVzaCh7XG4gICAgICAgICAgYWRkcmVzczogdGhpcy5fbmVhclRyYW5zYWN0aW9uLnNpZ25lcklkLFxuICAgICAgICAgIHZhbHVlOiBhbW91bnQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24ucmVjZWl2ZXJJZCxcbiAgICAgICAgICB2YWx1ZTogYW1vdW50LFxuICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgICBjb25zdCBzdGFraW5nQW1vdW50ID0gYWN0aW9uLmZ1bmN0aW9uQ2FsbC5kZXBvc2l0LnRvU3RyaW5nKCk7XG4gICAgICAgIGlucHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24uc2lnbmVySWQsXG4gICAgICAgICAgdmFsdWU6IHN0YWtpbmdBbW91bnQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24ucmVjZWl2ZXJJZCxcbiAgICAgICAgICB2YWx1ZTogc3Rha2luZ0Ftb3VudCxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdzpcbiAgICAgICAgY29uc3Qgc3Rha2luZ1dpdGhkcmF3QW1vdW50ID0gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShhY3Rpb24uZnVuY3Rpb25DYWxsLmFyZ3MpLnRvU3RyaW5nKCkpLmFtb3VudDtcbiAgICAgICAgaW5wdXRzLnB1c2goe1xuICAgICAgICAgIGFkZHJlc3M6IHRoaXMuX25lYXJUcmFuc2FjdGlvbi5yZWNlaXZlcklkLFxuICAgICAgICAgIHZhbHVlOiBzdGFraW5nV2l0aGRyYXdBbW91bnQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24uc2lnbmVySWQsXG4gICAgICAgICAgdmFsdWU6IHN0YWtpbmdXaXRoZHJhd0Ftb3VudCxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5fb3V0cHV0cyA9IG91dHB1dHM7XG4gICAgdGhpcy5faW5wdXRzID0gaW5wdXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb21wbGV0ZSBleHBsYW5hdGlvbiBmb3IgYSB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ge1R4RGF0YX0ganNvbiBUaGUgdHJhbnNhY3Rpb24gZGF0YSBpbiBqc29uIGZvcm1hdFxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uRXhwbGFuYXRpb259IGV4cGxhbmF0aW9uUmVzdWx0IFRoZSB0cmFuc2FjdGlvbiBleHBsYW5hdGlvbiB0byBiZSBjb21wbGV0ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uRXhwbGFuYXRpb259XG4gICAqL1xuICBleHBsYWluVHJhbnNmZXJUcmFuc2FjdGlvbihqc29uOiBUeERhdGEsIGV4cGxhbmF0aW9uUmVzdWx0OiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmV4cGxhbmF0aW9uUmVzdWx0LFxuICAgICAgb3V0cHV0QW1vdW50OiBqc29uLmFjdGlvbnNbMF0udHJhbnNmZXI/LmRlcG9zaXQudG9TdHJpbmcoKSB8fCAnJyxcbiAgICAgIG91dHB1dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IGpzb24ucmVjZWl2ZXJJZCxcbiAgICAgICAgICBhbW91bnQ6IGpzb24uYWN0aW9uc1swXS50cmFuc2Zlcj8uZGVwb3NpdC50b1N0cmluZygpIHx8ICcnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb21wbGV0ZSBleHBsYW5hdGlvbiBmb3IgYSBzdGFraW5nIGFjdGl2YXRlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB7VHhEYXRhfSBqc29uIFRoZSB0cmFuc2FjdGlvbiBkYXRhIGluIGpzb24gZm9ybWF0XG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25FeHBsYW5hdGlvbn0gZXhwbGFuYXRpb25SZXN1bHQgVGhlIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uIHRvIGJlIGNvbXBsZXRlZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25FeHBsYW5hdGlvbn1cbiAgICovXG4gIGV4cGxhaW5TdGFraW5nQWN0aXZhdGVUcmFuc2FjdGlvbihqc29uOiBUeERhdGEsIGV4cGxhbmF0aW9uUmVzdWx0OiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmV4cGxhbmF0aW9uUmVzdWx0LFxuICAgICAgb3V0cHV0QW1vdW50OiBqc29uLmFjdGlvbnNbMF0uZnVuY3Rpb25DYWxsPy5kZXBvc2l0LnRvU3RyaW5nKCkgfHwgJycsXG4gICAgICBvdXRwdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiBqc29uLnJlY2VpdmVySWQsXG4gICAgICAgICAgYW1vdW50OiBqc29uLmFjdGlvbnNbMF0uZnVuY3Rpb25DYWxsPy5kZXBvc2l0LnRvU3RyaW5nKCkgfHwgJycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGNvbXBsZXRlIGV4cGxhbmF0aW9uIGZvciBhIHN0YWtpbmcgd2l0aGRyYXcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHtUeERhdGF9IGpzb24gVGhlIHRyYW5zYWN0aW9uIGRhdGEgaW4ganNvbiBmb3JtYXRcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkV4cGxhbmF0aW9ufSBleHBsYW5hdGlvblJlc3VsdCBUaGUgdHJhbnNhY3Rpb24gZXhwbGFuYXRpb24gdG8gYmUgY29tcGxldGVkXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkV4cGxhbmF0aW9ufVxuICAgKi9cbiAgZXhwbGFpblN0YWtpbmdXaXRoZHJhd1RyYW5zYWN0aW9uKGpzb246IFR4RGF0YSwgZXhwbGFuYXRpb25SZXN1bHQ6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24pOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCBhbW91bnQgPSBqc29uLmFjdGlvbnNbMF0uZnVuY3Rpb25DYWxsPy5hcmdzLmFtb3VudCBhcyBzdHJpbmc7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmV4cGxhbmF0aW9uUmVzdWx0LFxuICAgICAgb3V0cHV0QW1vdW50OiBhbW91bnQsXG4gICAgICBvdXRwdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiBqc29uLnNpZ25lcklkLFxuICAgICAgICAgIGFtb3VudDogYW1vdW50LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnb3V0cHV0QW1vdW50JywgJ2NoYW5nZUFtb3VudCcsICdvdXRwdXRzJywgJ2NoYW5nZU91dHB1dHMnLCAnZmVlJywgJ3R5cGUnXTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW107XG4gICAgY29uc3QgZXhwbGFuYXRpb25SZXN1bHQ6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gPSB7XG4gICAgICAvLyB0eGhhc2ggdXNlZCB0byBpZGVudGlmeSB0aGUgdHJhbnNhY3Rpb25zXG4gICAgICBpZDogcmVzdWx0LmlkIHx8ICcnLFxuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgb3V0cHV0QW1vdW50OiAnMCcsXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIGZlZTogeyBmZWU6ICcnIH0sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwbGFpblRyYW5zZmVyVHJhbnNhY3Rpb24ocmVzdWx0LCBleHBsYW5hdGlvblJlc3VsdCk7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU6XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGxhaW5TdGFraW5nQWN0aXZhdGVUcmFuc2FjdGlvbihyZXN1bHQsIGV4cGxhbmF0aW9uUmVzdWx0KTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlOlxuICAgICAgICByZXR1cm4gZXhwbGFuYXRpb25SZXN1bHQ7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc6XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGxhaW5TdGFraW5nV2l0aGRyYXdUcmFuc2FjdGlvbihyZXN1bHQsIGV4cGxhbmF0aW9uUmVzdWx0KTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gdHlwZSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc2FjdGlvbkhhc2goKTogVWludDhBcnJheSB7XG4gICAgY29uc3Qgc2VyaWFsaXplZFR4ID0gbmVhckFQSS51dGlscy5zZXJpYWxpemUuc2VyaWFsaXplKG5lYXJBUEkudHJhbnNhY3Rpb25zLlNDSEVNQSwgdGhpcy5fbmVhclRyYW5zYWN0aW9uKTtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoc2hhMjU2LnNoYTI1Ni5hcnJheShzZXJpYWxpemVkVHgpKTtcbiAgfVxuXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICBpZiAoIXRoaXMuX25lYXJUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdlbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5nZXRUcmFuc2FjdGlvbkhhc2goKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIHNpZ25lZCBwYXlsb2FkIHVzaW5nIGNvbnN0cnVjdC5zaWduVHhcbiAgICogVGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgZHVyaW5nIHRoZSBidWlsZCBzdGVwIGlmIGEgVFNTIHNpZ25hdHVyZVxuICAgKiBpcyBhZGRlZCBhbmQgd2lsbCBzZXQgdGhlIHNpZ25UcmFuc2FjdGlvbiB3aGljaCBpcyB0aGUgdHhIZXggdGhhdCB3aWxsIGJlIGJyb2FkY2FzdGVkXG4gICAqIEFzIHdlbGwgYXMgYWRkIHRoZSBzaWduYXR1cmUgdXNlZCB0byBzaWduIHRvIHRoZSBzaWduYXR1cmUgYXJyYXkgaW4gaGV4IGZvcm1hdFxuICAgKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gc2lnbmF0dXJlIFRoZSBzaWduYXR1cmUgdG8gYmUgYWRkZWQgdG8gYSBuZWFyIHRyYW5zYWN0aW9uXG4gICAqL1xuICBjb25zdHJ1Y3RTaWduZWRQYXlsb2FkKHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fbmVhclNpZ25lZFRyYW5zYWN0aW9uID0gbmV3IG5lYXJBUEkudHJhbnNhY3Rpb25zLlNpZ25lZFRyYW5zYWN0aW9uKHtcbiAgICAgIHRyYW5zYWN0aW9uOiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24sXG4gICAgICBzaWduYXR1cmU6IG5ldyBuZWFyQVBJLnRyYW5zYWN0aW9ucy5TaWduYXR1cmUoe1xuICAgICAgICBrZXlUeXBlOiB0aGlzLl9uZWFyVHJhbnNhY3Rpb24ucHVibGljS2V5LmtleVR5cGUsXG4gICAgICAgIGRhdGE6IHNpZ25hdHVyZSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIHRoaXMubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgfVxuICAvKiogQGluaGVyaXRkb2MgKiovXG4gIGdldCBzaWduYXR1cmUoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNpZ25hdHVyZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAodGhpcy5fbmVhclNpZ25lZFRyYW5zYWN0aW9uKSB7XG4gICAgICBzaWduYXR1cmVzLnB1c2goYmFzZTU4LmVuY29kZSh0aGlzLl9uZWFyU2lnbmVkVHJhbnNhY3Rpb24uc2lnbmF0dXJlLmRhdGEpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlcztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
4
|
+
import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey } from '@bitgo-beta/sdk-core';
|
|
5
|
+
import { Transaction } from './transaction';
|
|
6
|
+
import * as nearAPI from 'near-api-js';
|
|
7
|
+
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
8
|
+
private _transaction;
|
|
9
|
+
private _sender;
|
|
10
|
+
private _publicKey;
|
|
11
|
+
private _receiverId;
|
|
12
|
+
private _nonce;
|
|
13
|
+
private _recentBlockHash;
|
|
14
|
+
private _signer;
|
|
15
|
+
private _signatures;
|
|
16
|
+
protected _actions: nearAPI.transactions.Action[];
|
|
17
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
18
|
+
/**
|
|
19
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
20
|
+
*
|
|
21
|
+
* @param {Transaction} tx the transaction data
|
|
22
|
+
*/
|
|
23
|
+
initBuilder(tx: Transaction): void;
|
|
24
|
+
/** @inheritdoc */
|
|
25
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
28
|
+
/** @inheritdoc */
|
|
29
|
+
protected signImplementation(key: BaseKey): Transaction;
|
|
30
|
+
/** @inheritdoc */
|
|
31
|
+
protected get transaction(): Transaction;
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
protected set transaction(transaction: Transaction);
|
|
34
|
+
/** @inheritdoc */
|
|
35
|
+
validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
36
|
+
/** @inheritdoc */
|
|
37
|
+
validateKey(key: BaseKey): void;
|
|
38
|
+
/** @inheritdoc */
|
|
39
|
+
validateRawTransaction(rawTransaction: any): void;
|
|
40
|
+
/** @inheritdoc */
|
|
41
|
+
validateTransaction(transaction: Transaction): void;
|
|
42
|
+
/** @inheritdoc */
|
|
43
|
+
validateValue(value: BigNumber): void;
|
|
44
|
+
/**
|
|
45
|
+
* Sets the public key and the address of the sender of this transaction.
|
|
46
|
+
*
|
|
47
|
+
* @param {string} address the account that is sending this transaction
|
|
48
|
+
* @param {string} pubKey the public key that is sending this transaction
|
|
49
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
50
|
+
*/
|
|
51
|
+
sender(address: string, pubKey: string): this;
|
|
52
|
+
/**
|
|
53
|
+
* Sets the account Id of the receiver of this transaction.
|
|
54
|
+
*
|
|
55
|
+
* @param {string} accountId the account id of the account that is receiving this transaction
|
|
56
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
57
|
+
*/
|
|
58
|
+
receiverId(accountId: string): this;
|
|
59
|
+
/**
|
|
60
|
+
* Set the nonce
|
|
61
|
+
*
|
|
62
|
+
* @param {number} nonce - number that can be only used once
|
|
63
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
64
|
+
*/
|
|
65
|
+
nonce(nonce: number): this;
|
|
66
|
+
/**
|
|
67
|
+
* Sets the blockHash of this transaction.
|
|
68
|
+
*
|
|
69
|
+
* @param {string} blockHash the blockHash of this transaction
|
|
70
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
71
|
+
*/
|
|
72
|
+
recentBlockHash(blockHash: string): this;
|
|
73
|
+
/**
|
|
74
|
+
* Sets the list of actions of this transaction.
|
|
75
|
+
*
|
|
76
|
+
* @param {nearAPI.transactions.Action[]} value the the list of actions
|
|
77
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
78
|
+
*/
|
|
79
|
+
protected actions(value: nearAPI.transactions.Action[]): this;
|
|
80
|
+
/**
|
|
81
|
+
* Builds the NEAR transaction.
|
|
82
|
+
*
|
|
83
|
+
* @return {Transaction} near sdk transaction
|
|
84
|
+
*/
|
|
85
|
+
protected buildNearTransaction(): nearAPI.transactions.Transaction;
|
|
86
|
+
/** @inheritDoc */
|
|
87
|
+
addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,EAE3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAMvC,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAmB;IACtC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAEtC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAWlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAMjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAY3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAMvD,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAKD,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAQ/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAoBjD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAQnD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQrC;;;;;;OAMG;IACI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYpD;;;;;OAKG;IACI,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAM1C;;;;;OAKG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;OAKG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ/C;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,IAAI;IAI7D;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW;IAgBlE,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAGhE"}
|