@bitgo/account-lib 2.17.2-2.17.2-rc.0.0 → 2.17.2-rc.2
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/dist/browser/bitgo-account-lib.min.js +1 -1
- package/dist/browser/bitgo-account-lib.min.js.LICENSE.txt +132 -0
- package/dist/package.json +10 -3
- package/dist/resources/dot/index.ts +2 -0
- package/dist/resources/dot/mainnet.ts +2 -0
- package/dist/resources/dot/westend.ts +2 -0
- package/dist/resources/trx/protobuf/tron.js~account-lib_master +31380 -0
- package/dist/src/coin/algo/keyExclusionBuilder.d.ts +9 -0
- package/dist/src/coin/algo/keyExclusionBuilder.d.ts.map +1 -0
- package/dist/src/coin/algo/keyExclusionBuilder.js +83 -0
- package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/baseCoin/baseTransactionBuilder.js +1 -1
- package/dist/src/coin/cspr/utils.js +2 -2
- package/dist/src/coin/dot/errors.d.ts +8 -0
- package/dist/src/coin/dot/errors.d.ts.map +1 -0
- package/dist/src/coin/dot/errors.js +40 -0
- package/dist/src/coin/dot/iface.d.ts +154 -0
- package/dist/src/coin/dot/iface.d.ts.map +1 -0
- package/dist/src/coin/dot/iface.js +15 -0
- package/dist/src/coin/dot/index.d.ts +5 -0
- package/dist/src/coin/dot/index.d.ts.map +1 -1
- package/dist/src/coin/dot/index.js +12 -2
- package/dist/src/coin/dot/keyPair.d.ts +15 -2
- package/dist/src/coin/dot/keyPair.d.ts.map +1 -1
- package/dist/src/coin/dot/keyPair.js +41 -6
- package/dist/src/coin/dot/stakingBuilder.d.ts +59 -0
- package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/stakingBuilder.js +162 -0
- package/dist/src/coin/dot/transaction.d.ts +31 -3
- package/dist/src/coin/dot/transaction.d.ts.map +1 -1
- package/dist/src/coin/dot/transaction.js +269 -7
- package/dist/src/coin/dot/transactionBuilder.d.ts +102 -9
- package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/transactionBuilder.js +309 -15
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts +13 -16
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/dot/transactionBuilderFactory.js +60 -25
- package/dist/src/coin/dot/transferBuilder.d.ts +62 -4
- package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/transferBuilder.js +161 -44
- package/dist/src/coin/dot/txnSchema.d.ts +10 -0
- package/dist/src/coin/dot/txnSchema.d.ts.map +1 -0
- package/dist/src/coin/dot/txnSchema.js +84 -0
- package/dist/src/coin/dot/unstakeBuilder.d.ts +38 -0
- package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/unstakeBuilder.js +116 -0
- package/dist/src/coin/dot/utils.d.ts +69 -0
- package/dist/src/coin/dot/utils.d.ts.map +1 -1
- package/dist/src/coin/dot/utils.js +144 -4
- package/dist/src/coin/dot/walletInitializationBuilder.d.ts +51 -5
- package/dist/src/coin/dot/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/walletInitializationBuilder.js +112 -44
- package/dist/src/coin/sol/constants.d.ts +24 -0
- package/dist/src/coin/sol/constants.d.ts.map +1 -0
- package/dist/src/coin/sol/constants.js +35 -0
- package/dist/src/coin/sol/iface.d.ts +47 -0
- package/dist/src/coin/sol/iface.d.ts.map +1 -0
- package/dist/src/coin/sol/iface.js +3 -0
- package/dist/src/coin/sol/index.d.ts +5 -0
- package/dist/src/coin/sol/index.d.ts.map +1 -0
- package/dist/src/coin/sol/index.js +29 -0
- package/dist/src/coin/sol/instructionParamsFactory.d.ts +12 -0
- package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/instructionParamsFactory.js +99 -0
- package/dist/src/coin/sol/keyPair.d.ts +45 -0
- package/dist/src/coin/sol/keyPair.d.ts.map +1 -0
- package/dist/src/coin/sol/keyPair.js +128 -0
- package/dist/src/coin/sol/solInstructionFactory.d.ts +10 -0
- package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/solInstructionFactory.js +102 -0
- package/dist/src/coin/sol/transaction.d.ts +48 -0
- package/dist/src/coin/sol/transaction.d.ts.map +1 -0
- package/dist/src/coin/sol/transaction.js +254 -0
- package/dist/src/coin/sol/transactionBuilder.d.ts +96 -0
- package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/transactionBuilder.js +316 -0
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts +34 -0
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/transactionBuilderFactory.js +86 -0
- package/dist/src/coin/sol/transferBuilder.d.ts +26 -0
- package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/transferBuilder.js +140 -0
- package/dist/src/coin/sol/utils.d.ts +104 -0
- package/dist/src/coin/sol/utils.d.ts.map +1 -0
- package/dist/src/coin/sol/utils.js +244 -0
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts +26 -0
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/walletInitializationBuilder.js +141 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -2
- package/dist/src/utils/crypto.d.ts +8 -0
- package/dist/src/utils/crypto.d.ts.map +1 -1
- package/dist/src/utils/crypto.js +13 -2
- package/package.json +10 -3
- package/resources/dot/index.ts +2 -0
- package/resources/dot/mainnet.ts +2 -0
- package/resources/dot/westend.ts +2 -0
|
@@ -1,28 +1,121 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig, PolkadotSpecNameType } from '@bitgo/statics';
|
|
2
|
+
import { UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
3
|
+
import { DecodedSignedTx, DecodedSigningPayload, TypeRegistry } from '@substrate/txwrapper-core/lib/types';
|
|
1
4
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import {
|
|
3
|
-
import { BaseTransactionBuilder } from '../baseCoin';
|
|
5
|
+
import { BaseTransactionBuilder, TransactionType } from '../baseCoin';
|
|
4
6
|
import { BaseAddress, BaseKey } from '../baseCoin/iface';
|
|
7
|
+
import { CreateBaseTxInfo, FeeOptions, sequenceId, TxMethod, validityWindow } from './iface';
|
|
8
|
+
import { KeyPair } from './keyPair';
|
|
5
9
|
import { Transaction } from './transaction';
|
|
6
10
|
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
7
|
-
|
|
11
|
+
protected _transaction: Transaction;
|
|
12
|
+
protected _keyPair: KeyPair;
|
|
13
|
+
protected _sender: string;
|
|
14
|
+
protected _blockNumber: number;
|
|
15
|
+
protected _referenceBlock: string;
|
|
16
|
+
protected _genesisHash: string;
|
|
17
|
+
protected _metadataRpc: string;
|
|
18
|
+
protected _specVersion: number;
|
|
19
|
+
protected _transactionVersion: number;
|
|
20
|
+
protected _specName: PolkadotSpecNameType;
|
|
21
|
+
protected _chainName: string;
|
|
22
|
+
protected _nonce: number;
|
|
23
|
+
protected _tip?: number;
|
|
24
|
+
protected _eraPeriod?: number;
|
|
25
|
+
protected _registry: TypeRegistry;
|
|
26
|
+
protected _method?: TxMethod;
|
|
8
27
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
28
|
/**
|
|
10
|
-
*
|
|
29
|
+
* Sets the address of sending account.
|
|
11
30
|
*
|
|
12
|
-
* @param {
|
|
31
|
+
* @param {BaseAddress} address The SS58-encoded address.
|
|
32
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
33
|
+
*
|
|
34
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
35
|
+
*/
|
|
36
|
+
sender({ address }: BaseAddress): this;
|
|
37
|
+
/**
|
|
38
|
+
* The nonce for this transaction.
|
|
39
|
+
*
|
|
40
|
+
* @param {number} nonce
|
|
41
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
42
|
+
*
|
|
43
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
44
|
+
*/
|
|
45
|
+
sequenceId(nonce: sequenceId): this;
|
|
46
|
+
/**
|
|
47
|
+
* The tip to increase transaction priority.
|
|
48
|
+
*
|
|
49
|
+
* @param {number | undefined} tip optional
|
|
50
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
51
|
+
*
|
|
52
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
53
|
+
*/
|
|
54
|
+
fee(fee: FeeOptions): this;
|
|
55
|
+
/**
|
|
56
|
+
* The number of the checkpoint block after which the transaction is valid
|
|
57
|
+
*
|
|
58
|
+
* @param {number} blockNumber
|
|
59
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
60
|
+
*
|
|
61
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
13
62
|
*/
|
|
14
|
-
|
|
63
|
+
validity({ firstValid, maxDuration }: validityWindow): this;
|
|
64
|
+
/**
|
|
65
|
+
* The hash of the checkpoint block.
|
|
66
|
+
*
|
|
67
|
+
* @param {number} blockHash
|
|
68
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
69
|
+
*
|
|
70
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
71
|
+
* @see https://wiki.polkadot.network/docs/build-protocol-info#transaction-mortality
|
|
72
|
+
*/
|
|
73
|
+
referenceBlock(referenceBlock: string): this;
|
|
74
|
+
/**
|
|
75
|
+
* The current version for transaction format.
|
|
76
|
+
*
|
|
77
|
+
* @param {number} transactionVersion
|
|
78
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
79
|
+
*
|
|
80
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
81
|
+
*/
|
|
82
|
+
version(transactionVersion: number): this;
|
|
83
|
+
private method;
|
|
84
|
+
/**
|
|
85
|
+
* Set the network based on the configuration in the statics module
|
|
86
|
+
*/
|
|
87
|
+
protected staticsConfig(): void;
|
|
15
88
|
/** @inheritdoc */
|
|
16
89
|
protected get transaction(): Transaction;
|
|
17
90
|
/** @inheritdoc */
|
|
91
|
+
protected set transaction(transaction: Transaction);
|
|
92
|
+
protected isSigningPayload(payload: DecodedSigningPayload | DecodedSignedTx): payload is DecodedSigningPayload;
|
|
93
|
+
/** @inheritdoc */
|
|
94
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
95
|
+
/** @inheritdoc */
|
|
96
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
97
|
+
protected createBaseTxInfo(): CreateBaseTxInfo;
|
|
98
|
+
/**
|
|
99
|
+
* Builds the specific transaction builder internally
|
|
100
|
+
* using the @substrate/txwrapper builder.
|
|
101
|
+
*/
|
|
102
|
+
protected abstract buildTransaction(): UnsignedTransaction;
|
|
103
|
+
/**
|
|
104
|
+
* The transaction type.
|
|
105
|
+
*/
|
|
106
|
+
protected abstract get transactionType(): TransactionType;
|
|
107
|
+
/** @inheritdoc */
|
|
18
108
|
validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
19
109
|
/** @inheritdoc */
|
|
20
|
-
validateKey(key: BaseKey): void;
|
|
110
|
+
validateKey({ key }: BaseKey): void;
|
|
21
111
|
/** @inheritdoc */
|
|
22
|
-
validateRawTransaction(rawTransaction:
|
|
112
|
+
validateRawTransaction(rawTransaction: string): void;
|
|
23
113
|
/** @inheritdoc */
|
|
24
|
-
validateTransaction(
|
|
114
|
+
validateTransaction(_: Transaction): void;
|
|
115
|
+
private validateBaseFields;
|
|
25
116
|
/** @inheritdoc */
|
|
26
117
|
validateValue(value: BigNumber): void;
|
|
118
|
+
/** @inheritdoc */
|
|
119
|
+
protected signImplementation({ key }: BaseKey): Transaction;
|
|
27
120
|
}
|
|
28
121
|
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/transactionBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,55 +14,349 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (_) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
+
};
|
|
17
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
57
|
exports.TransactionBuilder = void 0;
|
|
58
|
+
var txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
|
|
59
|
+
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
60
|
+
var crypto_1 = require("../../utils/crypto");
|
|
19
61
|
var baseCoin_1 = require("../baseCoin");
|
|
20
62
|
var errors_1 = require("../baseCoin/errors");
|
|
63
|
+
var errors_2 = require("./errors");
|
|
64
|
+
var keyPair_1 = require("./keyPair");
|
|
65
|
+
var transaction_1 = require("./transaction");
|
|
66
|
+
var txnSchema_1 = require("./txnSchema");
|
|
67
|
+
var utils_1 = __importDefault(require("./utils"));
|
|
21
68
|
var TransactionBuilder = /** @class */ (function (_super) {
|
|
22
69
|
__extends(TransactionBuilder, _super);
|
|
23
70
|
function TransactionBuilder(_coinConfig) {
|
|
24
|
-
|
|
71
|
+
var _this = _super.call(this, _coinConfig) || this;
|
|
72
|
+
_this._transaction = new transaction_1.Transaction(_coinConfig);
|
|
73
|
+
_this.staticsConfig();
|
|
74
|
+
return _this;
|
|
25
75
|
}
|
|
26
76
|
/**
|
|
27
|
-
*
|
|
77
|
+
* Sets the address of sending account.
|
|
78
|
+
*
|
|
79
|
+
* @param {BaseAddress} address The SS58-encoded address.
|
|
80
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
81
|
+
*
|
|
82
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
83
|
+
*/
|
|
84
|
+
TransactionBuilder.prototype.sender = function (_a) {
|
|
85
|
+
var address = _a.address;
|
|
86
|
+
this.validateAddress({ address: address });
|
|
87
|
+
this._sender = address;
|
|
88
|
+
this._transaction.sender(address);
|
|
89
|
+
return this;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* The nonce for this transaction.
|
|
93
|
+
*
|
|
94
|
+
* @param {number} nonce
|
|
95
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
96
|
+
*
|
|
97
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
98
|
+
*/
|
|
99
|
+
TransactionBuilder.prototype.sequenceId = function (nonce) {
|
|
100
|
+
var value = new bignumber_js_1.default(nonce.value);
|
|
101
|
+
this.validateValue(value);
|
|
102
|
+
this._nonce = value.toNumber();
|
|
103
|
+
return this;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* The tip to increase transaction priority.
|
|
107
|
+
*
|
|
108
|
+
* @param {number | undefined} tip optional
|
|
109
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
110
|
+
*
|
|
111
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
112
|
+
*/
|
|
113
|
+
TransactionBuilder.prototype.fee = function (fee) {
|
|
114
|
+
if (fee.type !== 'tip') {
|
|
115
|
+
throw new errors_2.InvalidFeeError(fee.type, 'tip');
|
|
116
|
+
}
|
|
117
|
+
var tipBN = new bignumber_js_1.default(fee.amount);
|
|
118
|
+
this.validateValue(tipBN);
|
|
119
|
+
this._tip = tipBN.toNumber();
|
|
120
|
+
return this;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* The number of the checkpoint block after which the transaction is valid
|
|
124
|
+
*
|
|
125
|
+
* @param {number} blockNumber
|
|
126
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
127
|
+
*
|
|
128
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
129
|
+
*/
|
|
130
|
+
TransactionBuilder.prototype.validity = function (_a) {
|
|
131
|
+
var firstValid = _a.firstValid, maxDuration = _a.maxDuration;
|
|
132
|
+
if (firstValid) {
|
|
133
|
+
this.validateValue(new bignumber_js_1.default(firstValid));
|
|
134
|
+
this._blockNumber = firstValid;
|
|
135
|
+
}
|
|
136
|
+
if (maxDuration) {
|
|
137
|
+
this.validateValue(new bignumber_js_1.default(maxDuration));
|
|
138
|
+
this._eraPeriod = maxDuration;
|
|
139
|
+
}
|
|
140
|
+
return this;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* The hash of the checkpoint block.
|
|
144
|
+
*
|
|
145
|
+
* @param {number} blockHash
|
|
146
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
28
147
|
*
|
|
29
|
-
* @
|
|
148
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
149
|
+
* @see https://wiki.polkadot.network/docs/build-protocol-info#transaction-mortality
|
|
30
150
|
*/
|
|
31
|
-
TransactionBuilder.prototype.
|
|
32
|
-
|
|
151
|
+
TransactionBuilder.prototype.referenceBlock = function (referenceBlock) {
|
|
152
|
+
this._referenceBlock = referenceBlock;
|
|
153
|
+
return this;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* The current version for transaction format.
|
|
157
|
+
*
|
|
158
|
+
* @param {number} transactionVersion
|
|
159
|
+
* @returns {TransactionBuilder} This transaction builder.
|
|
160
|
+
*
|
|
161
|
+
* @see https://wiki.polkadot.network/docs/build-transaction-construction
|
|
162
|
+
*/
|
|
163
|
+
TransactionBuilder.prototype.version = function (transactionVersion) {
|
|
164
|
+
this._transactionVersion = transactionVersion;
|
|
165
|
+
return this;
|
|
166
|
+
};
|
|
167
|
+
TransactionBuilder.prototype.method = function (method) {
|
|
168
|
+
this._method = method;
|
|
169
|
+
return this;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Set the network based on the configuration in the statics module
|
|
173
|
+
*/
|
|
174
|
+
TransactionBuilder.prototype.staticsConfig = function () {
|
|
175
|
+
var networkConfig = this._coinConfig.network;
|
|
176
|
+
var specName = networkConfig.specName, genesisHash = networkConfig.genesisHash, specVersion = networkConfig.specVersion, chainName = networkConfig.chainName, metadataRpc = networkConfig.metadataRpc;
|
|
177
|
+
this._genesisHash = genesisHash;
|
|
178
|
+
this._specVersion = specVersion;
|
|
179
|
+
this._chainName = chainName;
|
|
180
|
+
this._specName = specName;
|
|
181
|
+
this._metadataRpc = metadataRpc;
|
|
182
|
+
this._registry = txwrapper_polkadot_1.getRegistry({
|
|
183
|
+
chainName: chainName,
|
|
184
|
+
specName: specName,
|
|
185
|
+
specVersion: specVersion,
|
|
186
|
+
metadataRpc: metadataRpc,
|
|
187
|
+
});
|
|
33
188
|
};
|
|
34
189
|
Object.defineProperty(TransactionBuilder.prototype, "transaction", {
|
|
35
|
-
// region Getters and Setters
|
|
36
190
|
/** @inheritdoc */
|
|
37
191
|
get: function () {
|
|
38
192
|
return this._transaction;
|
|
39
193
|
},
|
|
194
|
+
/** @inheritdoc */
|
|
195
|
+
set: function (transaction) {
|
|
196
|
+
this._transaction = transaction;
|
|
197
|
+
},
|
|
40
198
|
enumerable: false,
|
|
41
199
|
configurable: true
|
|
42
200
|
});
|
|
43
|
-
|
|
201
|
+
TransactionBuilder.prototype.isSigningPayload = function (payload) {
|
|
202
|
+
return payload.blockHash !== undefined;
|
|
203
|
+
};
|
|
204
|
+
/** @inheritdoc */
|
|
205
|
+
TransactionBuilder.prototype.fromImplementation = function (rawTransaction) {
|
|
206
|
+
var decodedTxn = txwrapper_polkadot_1.decode(rawTransaction, {
|
|
207
|
+
metadataRpc: this._metadataRpc,
|
|
208
|
+
registry: this._registry,
|
|
209
|
+
});
|
|
210
|
+
if (this.isSigningPayload(decodedTxn)) {
|
|
211
|
+
this.referenceBlock(decodedTxn.blockHash);
|
|
212
|
+
this.version(decodedTxn.transactionVersion);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
this.sender({ address: utils_1.default.decodeDotAddress(decodedTxn.address) });
|
|
216
|
+
}
|
|
217
|
+
this.validity({ maxDuration: decodedTxn.eraPeriod });
|
|
218
|
+
this.sequenceId({
|
|
219
|
+
name: 'Nonce',
|
|
220
|
+
keyword: 'nonce',
|
|
221
|
+
value: decodedTxn.nonce,
|
|
222
|
+
});
|
|
223
|
+
if (decodedTxn.tip) {
|
|
224
|
+
this.fee({ amount: "" + decodedTxn.tip, type: 'tip' });
|
|
225
|
+
}
|
|
226
|
+
this.method(decodedTxn.method);
|
|
227
|
+
return this._transaction;
|
|
228
|
+
};
|
|
229
|
+
/** @inheritdoc */
|
|
230
|
+
TransactionBuilder.prototype.buildImplementation = function () {
|
|
231
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
232
|
+
return __generator(this, function (_a) {
|
|
233
|
+
this.transaction.setTransaction(this.buildTransaction());
|
|
234
|
+
this.transaction.transactionType(this.transactionType);
|
|
235
|
+
this.transaction.registry(this._registry);
|
|
236
|
+
this.transaction.chainName(this._chainName);
|
|
237
|
+
if (this._keyPair) {
|
|
238
|
+
this.transaction.sign(this._keyPair);
|
|
239
|
+
}
|
|
240
|
+
this._transaction.loadInputsAndOutputs();
|
|
241
|
+
return [2 /*return*/, this._transaction];
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
};
|
|
245
|
+
TransactionBuilder.prototype.createBaseTxInfo = function () {
|
|
246
|
+
return {
|
|
247
|
+
baseTxInfo: {
|
|
248
|
+
address: this._sender,
|
|
249
|
+
blockHash: this._referenceBlock,
|
|
250
|
+
blockNumber: this._registry.createType('BlockNumber', this._blockNumber).toNumber(),
|
|
251
|
+
eraPeriod: this._eraPeriod,
|
|
252
|
+
genesisHash: this._genesisHash,
|
|
253
|
+
metadataRpc: this._metadataRpc,
|
|
254
|
+
nonce: this._nonce,
|
|
255
|
+
specVersion: this._specVersion,
|
|
256
|
+
tip: this._tip,
|
|
257
|
+
transactionVersion: this._transactionVersion,
|
|
258
|
+
},
|
|
259
|
+
options: {
|
|
260
|
+
metadataRpc: this._metadataRpc,
|
|
261
|
+
registry: this._registry,
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
};
|
|
44
265
|
// region Validators
|
|
45
266
|
/** @inheritdoc */
|
|
46
267
|
TransactionBuilder.prototype.validateAddress = function (address, addressFormat) {
|
|
47
|
-
|
|
268
|
+
if (!utils_1.default.isValidAddress(address.address)) {
|
|
269
|
+
throw new errors_2.AddressValidationError(address.address);
|
|
270
|
+
}
|
|
48
271
|
};
|
|
49
272
|
/** @inheritdoc */
|
|
50
|
-
TransactionBuilder.prototype.validateKey = function (
|
|
51
|
-
|
|
273
|
+
TransactionBuilder.prototype.validateKey = function (_a) {
|
|
274
|
+
var key = _a.key;
|
|
275
|
+
var isValidPrivateKeyFromBytes;
|
|
276
|
+
var isValidPrivateKeyFromHex = crypto_1.isValidEd25519Seed(key);
|
|
277
|
+
var isValidPrivateKeyFromBase64 = crypto_1.isValidEd25519Seed(Buffer.from(key, 'base64').toString('hex'));
|
|
278
|
+
try {
|
|
279
|
+
var decodedSeed = utils_1.default.decodeSeed(key);
|
|
280
|
+
isValidPrivateKeyFromBytes = crypto_1.isValidEd25519Seed(Buffer.from(decodedSeed.seed).toString('hex'));
|
|
281
|
+
}
|
|
282
|
+
catch (err) {
|
|
283
|
+
isValidPrivateKeyFromBytes = false;
|
|
284
|
+
}
|
|
285
|
+
if (!isValidPrivateKeyFromBytes && !isValidPrivateKeyFromHex && !isValidPrivateKeyFromBase64) {
|
|
286
|
+
throw new errors_1.BuildTransactionError("Key validation failed");
|
|
287
|
+
}
|
|
52
288
|
};
|
|
53
289
|
/** @inheritdoc */
|
|
54
290
|
TransactionBuilder.prototype.validateRawTransaction = function (rawTransaction) {
|
|
55
|
-
|
|
291
|
+
var decodedTxn = txwrapper_polkadot_1.decode(rawTransaction, {
|
|
292
|
+
metadataRpc: this._metadataRpc,
|
|
293
|
+
registry: this._registry,
|
|
294
|
+
});
|
|
295
|
+
var eraPeriod = decodedTxn.eraPeriod;
|
|
296
|
+
var nonce = decodedTxn.nonce;
|
|
297
|
+
var tip = decodedTxn.tip;
|
|
298
|
+
if (this.isSigningPayload(decodedTxn)) {
|
|
299
|
+
var blockHash = decodedTxn.blockHash;
|
|
300
|
+
var validationResult = txnSchema_1.SigningPayloadTransactionSchema.validate({
|
|
301
|
+
eraPeriod: eraPeriod,
|
|
302
|
+
blockHash: blockHash,
|
|
303
|
+
nonce: nonce,
|
|
304
|
+
tip: tip,
|
|
305
|
+
});
|
|
306
|
+
if (validationResult.error) {
|
|
307
|
+
throw new errors_1.InvalidTransactionError("Transaction validation failed: " + validationResult.error.message);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
var sender = decodedTxn.address;
|
|
312
|
+
var validationResult = txnSchema_1.SignedTransactionSchema.validate({
|
|
313
|
+
sender: sender,
|
|
314
|
+
nonce: nonce,
|
|
315
|
+
eraPeriod: eraPeriod,
|
|
316
|
+
tip: tip,
|
|
317
|
+
});
|
|
318
|
+
if (validationResult.error) {
|
|
319
|
+
throw new errors_1.InvalidTransactionError("Transaction validation failed: " + validationResult.error.message);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
56
322
|
};
|
|
57
323
|
/** @inheritdoc */
|
|
58
|
-
TransactionBuilder.prototype.validateTransaction = function (
|
|
59
|
-
|
|
324
|
+
TransactionBuilder.prototype.validateTransaction = function (_) {
|
|
325
|
+
this.validateBaseFields(this._sender, this._blockNumber, this._referenceBlock, this._genesisHash, this._metadataRpc, this._chainName, this._nonce, this._specVersion, this._specName, this._transactionVersion, this._eraPeriod, this._tip);
|
|
326
|
+
};
|
|
327
|
+
TransactionBuilder.prototype.validateBaseFields = function (sender, blockNumber, blockHash, genesisHash, metadataRpc, chainName, nonce, specVersion, specName, transactionVersion, eraPeriod, tip) {
|
|
328
|
+
var validationResult = txnSchema_1.BaseTransactionSchema.validate({
|
|
329
|
+
sender: sender,
|
|
330
|
+
blockNumber: blockNumber,
|
|
331
|
+
blockHash: blockHash,
|
|
332
|
+
genesisHash: genesisHash,
|
|
333
|
+
metadataRpc: metadataRpc,
|
|
334
|
+
chainName: chainName,
|
|
335
|
+
nonce: nonce,
|
|
336
|
+
specVersion: specVersion,
|
|
337
|
+
specName: specName,
|
|
338
|
+
transactionVersion: transactionVersion,
|
|
339
|
+
eraPeriod: eraPeriod,
|
|
340
|
+
tip: tip,
|
|
341
|
+
});
|
|
342
|
+
if (validationResult.error) {
|
|
343
|
+
throw new errors_1.InvalidTransactionError("Transaction validation failed: " + validationResult.error.message);
|
|
344
|
+
}
|
|
60
345
|
};
|
|
61
346
|
/** @inheritdoc */
|
|
62
347
|
TransactionBuilder.prototype.validateValue = function (value) {
|
|
63
|
-
|
|
348
|
+
if (value.isLessThan(0)) {
|
|
349
|
+
throw new errors_1.BuildTransactionError('Value cannot be less than zero');
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
// endregion
|
|
353
|
+
/** @inheritdoc */
|
|
354
|
+
TransactionBuilder.prototype.signImplementation = function (_a) {
|
|
355
|
+
var key = _a.key;
|
|
356
|
+
this._keyPair = new keyPair_1.KeyPair({ prv: key });
|
|
357
|
+
return this._transaction;
|
|
64
358
|
};
|
|
65
359
|
return TransactionBuilder;
|
|
66
360
|
}(baseCoin_1.BaseTransactionBuilder));
|
|
67
361
|
exports.TransactionBuilder = TransactionBuilder;
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vZG90L3RyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSx3Q0FBcUQ7QUFDckQsNkNBQXlEO0FBSXpEO0lBQWlELHNDQUFzQjtJQUdyRSw0QkFBWSxXQUFpQztlQUMzQyxrQkFBTSxXQUFXLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx3Q0FBVyxHQUFYLFVBQVksRUFBZTtRQUN6QixNQUFNLElBQUksNEJBQW1CLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBSUQsc0JBQWMsMkNBQVc7UUFGekIsNkJBQTZCO1FBQzdCLGtCQUFrQjthQUNsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzQixDQUFDOzs7T0FBQTtJQUNELFlBQVk7SUFFWixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLDRDQUFlLEdBQWYsVUFBZ0IsT0FBb0IsRUFBRSxhQUFzQjtRQUMxRCxNQUFNLElBQUksNEJBQW1CLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHdDQUFXLEdBQVgsVUFBWSxHQUFZO1FBQ3RCLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbURBQXNCLEdBQXRCLFVBQXVCLGNBQW1CO1FBQ3hDLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0RBQW1CLEdBQW5CLFVBQW9CLFdBQXlCO1FBQzNDLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMENBQWEsR0FBYixVQUFjLEtBQWdCO1FBQzVCLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFSCx5QkFBQztBQUFELENBQUMsQUFqREQsQ0FBaUQsaUNBQXNCLEdBaUR0RTtBQWpEcUIsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCB7IEJhc2VBZGRyZXNzLCBCYXNlS2V5IH0gZnJvbSAnLi4vYmFzZUNvaW4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb247XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmllbGRzIHVzaW5nIHRoZSBkZWNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHggdGhlIHRyYW5zYWN0aW9uIGRhdGFcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdpbml0QnVpbGRlciBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBHZXR0ZXJzIGFuZCBTZXR0ZXJzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCd2YWxpZGF0ZUFkZHJlc3Mgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ3ZhbGlkYXRlS2V5IG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IGFueSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCd2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCd2YWxpZGF0ZVRyYW5zYWN0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCd2YWxpZGF0ZVZhbHVlIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vZG90L3RyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxvRUFBb0U7QUFDcEUsOERBQXFDO0FBQ3JDLDZDQUF3RDtBQUN4RCx3Q0FBc0U7QUFDdEUsNkNBQW9GO0FBRXBGLG1DQUFtRTtBQUVuRSxxQ0FBb0M7QUFDcEMsNkNBQTRDO0FBQzVDLHlDQUE4RztBQUM5RyxrREFBNkQ7QUFFN0Q7SUFBaUQsc0NBQXNCO0lBbUJyRSw0QkFBWSxXQUFpQztRQUE3QyxZQUNFLGtCQUFNLFdBQVcsQ0FBQyxTQUduQjtRQUZDLEtBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7SUFDdkIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxtQ0FBTSxHQUFOLFVBQU8sRUFBd0I7WUFBdEIsT0FBTyxhQUFBO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sU0FBQSxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsdUNBQVUsR0FBVixVQUFXLEtBQWlCO1FBQzFCLElBQU0sS0FBSyxHQUFHLElBQUksc0JBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxH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O1FBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixNQUFNLElBQUksOEJBQXFCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxZQUFZO0lBRVosa0JBQWtCO0lBQ1IsK0NBQWtCLEdBQTVCLFVBQTZCLEVBQWdCO1lBQWQsR0FBRyxTQUFBO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxpQkFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDSCx5QkFBQztBQUFELENBQUMsQUFsV0QsQ0FBaUQsaUNBQXNCLEdBa1d0RTtBQWxXcUIsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgRG90TmV0d29yaywgUG9sa2Fkb3RTcGVjTmFtZVR5cGUgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgVHlwZVJlZ2lzdHJ5IH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZS9saWIvdHlwZXMnO1xuaW1wb3J0IHsgZGVjb2RlLCBnZXRSZWdpc3RyeSB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IGlzVmFsaWRFZDI1NTE5U2VlZCB9IGZyb20gJy4uLy4uL3V0aWxzL2NyeXB0byc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCB7IEJhc2VBZGRyZXNzLCBCYXNlS2V5IH0gZnJvbSAnLi4vYmFzZUNvaW4vaWZhY2UnO1xuaW1wb3J0IHsgQWRkcmVzc1ZhbGlkYXRpb25FcnJvciwgSW52YWxpZEZlZUVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgQ3JlYXRlQmFzZVR4SW5mbywgRmVlT3B0aW9ucywgc2VxdWVuY2VJZCwgVHhNZXRob2QsIHZhbGlkaXR5V2luZG93IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25TY2hlbWEsIFNpZ25lZFRyYW5zYWN0aW9uU2NoZW1hLCBTaWduaW5nUGF5bG9hZFRyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBVdGlscywgZGVmYXVsdCBhcyB1dGlscyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX2tleVBhaXI6IEtleVBhaXI7XG4gIHByb3RlY3RlZCBfc2VuZGVyOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIF9ibG9ja051bWJlcjogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX3JlZmVyZW5jZUJsb2NrOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZ2VuZXNpc0hhc2g6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZXRhZGF0YVJwYzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NwZWNWZXJzaW9uOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfdHJhbnNhY3Rpb25WZXJzaW9uOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfc3BlY05hbWU6IFBvbGthZG90U3BlY05hbWVUeXBlO1xuICBwcm90ZWN0ZWQgX2NoYWluTmFtZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX25vbmNlOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfdGlwPzogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2VyYVBlcmlvZD86IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9yZWdpc3RyeTogVHlwZVJlZ2lzdHJ5O1xuICBwcm90ZWN0ZWQgX21ldGhvZD86IFR4TWV0aG9kO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5zdGF0aWNzQ29uZmlnKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYWRkcmVzcyBvZiBzZW5kaW5nIGFjY291bnQuXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUFkZHJlc3N9IGFkZHJlc3MgVGhlIFNTNTgtZW5jb2RlZCBhZGRyZXNzLlxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC10cmFuc2FjdGlvbi1jb25zdHJ1Y3Rpb25cbiAgICovXG4gIHNlbmRlcih7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfSk7XG4gICAgdGhpcy5fc2VuZGVyID0gYWRkcmVzcztcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5zZW5kZXIoYWRkcmVzcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5vbmNlIGZvciB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbm9uY2VcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtdHJhbnNhY3Rpb24tY29uc3RydWN0aW9uXG4gICAqL1xuICBzZXF1ZW5jZUlkKG5vbmNlOiBzZXF1ZW5jZUlkKTogdGhpcyB7XG4gICAgY29uc3QgdmFsdWUgPSBuZXcgQmlnTnVtYmVyKG5vbmNlLnZhbHVlKTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMuX25vbmNlID0gdmFsdWUudG9OdW1iZXIoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGlwIHRvIGluY3JlYXNlIHRyYW5zYWN0aW9uIHByaW9yaXR5LlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlciB8IHVuZGVmaW5lZH0gdGlwIG9wdGlvbmFsXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2J1aWxkLXRyYW5zYWN0aW9uLWNvbnN0cnVjdGlvblxuICAgKi9cbiAgZmVlKGZlZTogRmVlT3B0aW9ucyk6IHRoaXMge1xuICAgIGlmIChmZWUudHlwZSAhPT0gJ3RpcCcpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRmVlRXJyb3IoZmVlLnR5cGUsICd0aXAnKTtcbiAgICB9XG4gICAgY29uc3QgdGlwQk4gPSBuZXcgQmlnTnVtYmVyKGZlZS5hbW91bnQpO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSh0aXBCTik7XG4gICAgdGhpcy5fdGlwID0gdGlwQk4udG9OdW1iZXIoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRoZSBjaGVja3BvaW50IGJsb2NrIGFmdGVyIHdoaWNoIHRoZSB0cmFuc2FjdGlvbiBpcyB2YWxpZFxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gYmxvY2tOdW1iZXJcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtdHJhbnNhY3Rpb24tY29uc3RydWN0aW9uXG4gICAqL1xuICB2YWxpZGl0eSh7IGZpcnN0VmFsaWQsIG1heER1cmF0aW9uIH06IHZhbGlkaXR5V2luZG93KTogdGhpcyB7XG4gICAgaWYgKGZpcnN0VmFsaWQpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGZpcnN0VmFsaWQpKTtcbiAgICAgIHRoaXMuX2Jsb2NrTnVtYmVyID0gZmlyc3RWYWxpZDtcbiAgICB9XG4gICAgaWYgKG1heER1cmF0aW9uKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihtYXhEdXJhdGlvbikpO1xuICAgICAgdGhpcy5fZXJhUGVyaW9kID0gbWF4RHVyYXRpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoYXNoIG9mIHRoZSBjaGVja3BvaW50IGJsb2NrLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gYmxvY2tIYXNoXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2J1aWxkLXRyYW5zYWN0aW9uLWNvbnN0cnVjdGlvblxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvYnVpbGQtcHJvdG9jb2wtaW5mbyN0cmFuc2FjdGlvbi1tb3J0YWxpdHlcbiAgICovXG4gIHJlZmVyZW5jZUJsb2NrKHJlZmVyZW5jZUJsb2NrOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9yZWZlcmVuY2VCbG9jayA9IHJlZmVyZW5jZUJsb2NrO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHZlcnNpb24gZm9yIHRyYW5zYWN0aW9uIGZvcm1hdC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHRyYW5zYWN0aW9uVmVyc2lvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC10cmFuc2FjdGlvbi1jb25zdHJ1Y3Rpb25cbiAgICovXG4gIHZlcnNpb24odHJhbnNhY3Rpb25WZXJzaW9uOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvblZlcnNpb24gPSB0cmFuc2FjdGlvblZlcnNpb247XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIG1ldGhvZChtZXRob2Q6IFR4TWV0aG9kKTogdGhpcyB7XG4gICAgdGhpcy5fbWV0aG9kID0gbWV0aG9kO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbmV0d29yayBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvbiBpbiB0aGUgc3RhdGljcyBtb2R1bGVcbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWNzQ29uZmlnKCk6IHZvaWQge1xuICAgIGNvbnN0IG5ldHdvcmtDb25maWcgPSB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsgYXMgRG90TmV0d29yaztcbiAgICBjb25zdCB7IHNwZWNOYW1lLCBnZW5lc2lzSGFzaCwgc3BlY1ZlcnNpb24sIGNoYWluTmFtZSwgbWV0YWRhdGFScGMgfSA9IG5ldHdvcmtDb25maWc7XG4gICAgdGhpcy5fZ2VuZXNpc0hhc2ggPSBnZW5lc2lzSGFzaDtcbiAgICB0aGlzLl9zcGVjVmVyc2lvbiA9IHNwZWNWZXJzaW9uO1xuICAgIHRoaXMuX2NoYWluTmFtZSA9IGNoYWluTmFtZTtcbiAgICB0aGlzLl9zcGVjTmFtZSA9IHNwZWNOYW1lO1xuICAgIHRoaXMuX21ldGFkYXRhUnBjID0gbWV0YWRhdGFScGM7XG4gICAgdGhpcy5fcmVnaXN0cnkgPSBnZXRSZWdpc3RyeSh7XG4gICAgICBjaGFpbk5hbWU6IGNoYWluTmFtZSxcbiAgICAgIHNwZWNOYW1lOiBzcGVjTmFtZSxcbiAgICAgIHNwZWNWZXJzaW9uOiBzcGVjVmVyc2lvbixcbiAgICAgIG1ldGFkYXRhUnBjOiBtZXRhZGF0YVJwYyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzU2lnbmluZ1BheWxvYWQocGF5bG9hZDogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4KTogcGF5bG9hZCBpcyBEZWNvZGVkU2lnbmluZ1BheWxvYWQge1xuICAgIHJldHVybiAocGF5bG9hZCBhcyBEZWNvZGVkU2lnbmluZ1BheWxvYWQpLmJsb2NrSGFzaCAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBkZWNvZGVkVHhuID0gZGVjb2RlKHJhd1RyYW5zYWN0aW9uLCB7XG4gICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWV0YWRhdGFScGMsXG4gICAgICByZWdpc3RyeTogdGhpcy5fcmVnaXN0cnksXG4gICAgfSkgYXMgRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4O1xuICAgIGlmICh0aGlzLmlzU2lnbmluZ1BheWxvYWQoZGVjb2RlZFR4bikpIHtcbiAgICAgIHRoaXMucmVmZXJlbmNlQmxvY2soZGVjb2RlZFR4bi5ibG9ja0hhc2gpO1xuICAgICAgdGhpcy52ZXJzaW9uKGRlY29kZWRUeG4udHJhbnNhY3Rpb25WZXJzaW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZW5kZXIoeyBhZGRyZXNzOiB1dGlscy5kZWNvZGVEb3RBZGRyZXNzKGRlY29kZWRUeG4uYWRkcmVzcykgfSk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRpdHkoeyBtYXhEdXJhdGlvbjogZGVjb2RlZFR4bi5lcmFQZXJpb2QgfSk7XG4gICAgdGhpcy5zZXF1ZW5jZUlkKHtcbiAgICAgIG5hbWU6ICdOb25jZScsXG4gICAgICBrZXl3b3JkOiAnbm9uY2UnLFxuICAgICAgdmFsdWU6IGRlY29kZWRUeG4ubm9uY2UsXG4gICAgfSk7XG4gICAgaWYgKGRlY29kZWRUeG4udGlwKSB7XG4gICAgICB0aGlzLmZlZSh7IGFtb3VudDogYCR7ZGVjb2RlZFR4bi50aXB9YCwgdHlwZTogJ3RpcCcgfSk7XG4gICAgfVxuICAgIHRoaXMubWV0aG9kKGRlY29kZWRUeG4ubWV0aG9kIGFzIHVua25vd24gYXMgVHhNZXRob2QpO1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvbih0aGlzLmJ1aWxkVHJhbnNhY3Rpb24oKSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUodGhpcy50cmFuc2FjdGlvblR5cGUpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucmVnaXN0cnkodGhpcy5fcmVnaXN0cnkpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uY2hhaW5OYW1lKHRoaXMuX2NoYWluTmFtZSk7XG4gICAgaWYgKHRoaXMuX2tleVBhaXIpIHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbih0aGlzLl9rZXlQYWlyKTtcbiAgICB9XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24ubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQmFzZVR4SW5mbygpOiBDcmVhdGVCYXNlVHhJbmZvIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFzZVR4SW5mbzoge1xuICAgICAgICBhZGRyZXNzOiB0aGlzLl9zZW5kZXIsXG4gICAgICAgIGJsb2NrSGFzaDogdGhpcy5fcmVmZXJlbmNlQmxvY2ssXG4gICAgICAgIGJsb2NrTnVtYmVyOiB0aGlzLl9yZWdpc3RyeS5jcmVhdGVUeXBlKCdCbG9ja051bWJlcicsIHRoaXMuX2Jsb2NrTnVtYmVyKS50b051bWJlcigpLFxuICAgICAgICBlcmFQZXJpb2Q6IHRoaXMuX2VyYVBlcmlvZCxcbiAgICAgICAgZ2VuZXNpc0hhc2g6IHRoaXMuX2dlbmVzaXNIYXNoLFxuICAgICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWV0YWRhdGFScGMsXG4gICAgICAgIG5vbmNlOiB0aGlzLl9ub25jZSxcbiAgICAgICAgc3BlY1ZlcnNpb246IHRoaXMuX3NwZWNWZXJzaW9uLFxuICAgICAgICB0aXA6IHRoaXMuX3RpcCxcbiAgICAgICAgdHJhbnNhY3Rpb25WZXJzaW9uOiB0aGlzLl90cmFuc2FjdGlvblZlcnNpb24sXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWV0YWRhdGFScGMsXG4gICAgICAgIHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgdGhlIHNwZWNpZmljIHRyYW5zYWN0aW9uIGJ1aWxkZXIgaW50ZXJuYWxseVxuICAgKiB1c2luZyB0aGUgQHN1YnN0cmF0ZS90eHdyYXBwZXIgYnVpbGRlci5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBidWlsZFRyYW5zYWN0aW9uKCk6IFVuc2lnbmVkVHJhbnNhY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0cmFuc2FjdGlvbiB0eXBlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlO1xuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIVV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBBZGRyZXNzVmFsaWRhdGlvbkVycm9yKGFkZHJlc3MuYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KHsga2V5IH06IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBsZXQgaXNWYWxpZFByaXZhdGVLZXlGcm9tQnl0ZXM7XG4gICAgY29uc3QgaXNWYWxpZFByaXZhdGVLZXlGcm9tSGV4ID0gaXNWYWxpZEVkMjU1MTlTZWVkKGtleSk7XG4gICAgY29uc3QgaXNWYWxpZFByaXZhdGVLZXlGcm9tQmFzZTY0ID0gaXNWYWxpZEVkMjU1MTlTZWVkKEJ1ZmZlci5mcm9tKGtleSwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCdoZXgnKSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWRTZWVkID0gVXRpbHMuZGVjb2RlU2VlZChrZXkpO1xuICAgICAgaXNWYWxpZFByaXZhdGVLZXlGcm9tQnl0ZXMgPSBpc1ZhbGlkRWQyNTUxOVNlZWQoQnVmZmVyLmZyb20oZGVjb2RlZFNlZWQuc2VlZCkudG9TdHJpbmcoJ2hleCcpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlzVmFsaWRQcml2YXRlS2V5RnJvbUJ5dGVzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKCFpc1ZhbGlkUHJpdmF0ZUtleUZyb21CeXRlcyAmJiAhaXNWYWxpZFByaXZhdGVLZXlGcm9tSGV4ICYmICFpc1ZhbGlkUHJpdmF0ZUtleUZyb21CYXNlNjQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEtleSB2YWxpZGF0aW9uIGZhaWxlZGApO1xuICAgIH1cbiAgfVxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZGVjb2RlZFR4biA9IGRlY29kZShyYXdUcmFuc2FjdGlvbiwge1xuICAgICAgbWV0YWRhdGFScGM6IHRoaXMuX21ldGFkYXRhUnBjLFxuICAgICAgcmVnaXN0cnk6IHRoaXMuX3JlZ2lzdHJ5LFxuICAgIH0pIGFzIERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeDtcblxuICAgIGNvbnN0IGVyYVBlcmlvZCA9IGRlY29kZWRUeG4uZXJhUGVyaW9kO1xuICAgIGNvbnN0IG5vbmNlID0gZGVjb2RlZFR4bi5ub25jZTtcbiAgICBjb25zdCB0aXAgPSBkZWNvZGVkVHhuLnRpcDtcblxuICAgIGlmICh0aGlzLmlzU2lnbmluZ1BheWxvYWQoZGVjb2RlZFR4bikpIHtcbiAgICAgIGNvbnN0IGJsb2NrSGFzaCA9IGRlY29kZWRUeG4uYmxvY2tIYXNoO1xuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFNpZ25pbmdQYXlsb2FkVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICBlcmFQZXJpb2QsXG4gICAgICAgIGJsb2NrSGFzaCxcbiAgICAgICAgbm9uY2UsXG4gICAgICAgIHRpcCxcbiAgICAgIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNlbmRlciA9IGRlY29kZWRUeG4uYWRkcmVzcztcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBTaWduZWRUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICAgIHNlbmRlcixcbiAgICAgICAgbm9uY2UsXG4gICAgICAgIGVyYVBlcmlvZCxcbiAgICAgICAgdGlwLFxuICAgICAgfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbihfOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVCYXNlRmllbGRzKFxuICAgICAgdGhpcy5fc2VuZGVyLFxuICAgICAgdGhpcy5fYmxvY2tOdW1iZXIsXG4gICAgICB0aGlzLl9yZWZlcmVuY2VCbG9jayxcbiAgICAgIHRoaXMuX2dlbmVzaXNIYXNoLFxuICAgICAgdGhpcy5fbWV0YWRhdGFScGMsXG4gICAgICB0aGlzLl9jaGFpbk5hbWUsXG4gICAgICB0aGlzLl9ub25jZSxcbiAgICAgIHRoaXMuX3NwZWNWZXJzaW9uLFxuICAgICAgdGhpcy5fc3BlY05hbWUsXG4gICAgICB0aGlzLl90cmFuc2FjdGlvblZlcnNpb24sXG4gICAgICB0aGlzLl9lcmFQZXJpb2QsXG4gICAgICB0aGlzLl90aXAsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVCYXNlRmllbGRzKFxuICAgIHNlbmRlcjogc3RyaW5nLFxuICAgIGJsb2NrTnVtYmVyOiBudW1iZXIsXG4gICAgYmxvY2tIYXNoOiBzdHJpbmcsXG4gICAgZ2VuZXNpc0hhc2g6IHN0cmluZyxcbiAgICBtZXRhZGF0YVJwYzogc3RyaW5nLFxuICAgIGNoYWluTmFtZTogc3RyaW5nLFxuICAgIG5vbmNlOiBudW1iZXIsXG4gICAgc3BlY1ZlcnNpb246IG51bWJlcixcbiAgICBzcGVjTmFtZTogUG9sa2Fkb3RTcGVjTmFtZVR5cGUsXG4gICAgdHJhbnNhY3Rpb25WZXJzaW9uOiBudW1iZXIsXG4gICAgZXJhUGVyaW9kOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgdGlwOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBCYXNlVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgc2VuZGVyLFxuICAgICAgYmxvY2tOdW1iZXIsXG4gICAgICBibG9ja0hhc2gsXG4gICAgICBnZW5lc2lzSGFzaCxcbiAgICAgIG1ldGFkYXRhUnBjLFxuICAgICAgY2hhaW5OYW1lLFxuICAgICAgbm9uY2UsXG4gICAgICBzcGVjVmVyc2lvbixcbiAgICAgIHNwZWNOYW1lLFxuICAgICAgdHJhbnNhY3Rpb25WZXJzaW9uLFxuICAgICAgZXJhUGVyaW9kLFxuICAgICAgdGlwLFxuICAgIH0pO1xuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oeyBrZXkgfTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aGlzLl9rZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleSB9KTtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
2
|
import { BaseTransactionBuilderFactory } from '../baseCoin';
|
|
3
|
+
import { TypeRegistry } from '@substrate/txwrapper-core/lib/types';
|
|
4
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
3
5
|
import { TransferBuilder } from './transferBuilder';
|
|
4
6
|
import { WalletInitializationBuilder } from './walletInitializationBuilder';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
+
import { StakingBuilder } from './stakingBuilder';
|
|
8
|
+
import { UnstakeBuilder } from '.';
|
|
7
9
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
10
|
+
protected _metadataRpc: string;
|
|
11
|
+
protected _registry: TypeRegistry;
|
|
8
12
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* Initialize the builder with the given transaction
|
|
17
|
-
*
|
|
18
|
-
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
19
|
-
* @param {TransactionBuilder} builder - the builder to be initialized
|
|
20
|
-
* @returns {TransactionBuilder} the builder initialized
|
|
21
|
-
*/
|
|
22
|
-
private static initializeBuilder;
|
|
13
|
+
getTransferBuilder(): TransferBuilder;
|
|
14
|
+
getStakingBuilder(): StakingBuilder;
|
|
15
|
+
getWalletInitializationBuilder(): WalletInitializationBuilder;
|
|
16
|
+
getUnstakeBuilder(): UnstakeBuilder;
|
|
17
|
+
from(rawTxn: string): TransactionBuilder;
|
|
18
|
+
protected staticsConfig(): void;
|
|
19
|
+
private getBuilder;
|
|
23
20
|
}
|
|
24
21
|
//# sourceMappingURL=transactionBuilderFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAc,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;AAEnC,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC;gBAEtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,IAAI,cAAc;IAInC,8BAA8B,IAAI,2BAA2B;IAI7D,iBAAiB,IAAI,cAAc;IAInC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAMxC,SAAS,CAAC,aAAa,IAAI,IAAI;IAY/B,OAAO,CAAC,UAAU;CAqBnB"}
|