@bitgo-beta/sdk-coin-trx 1.2.3-alpha.39 → 1.2.3-alpha.390
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/.mocharc.yml +1 -1
- package/CHANGELOG.md +978 -0
- package/dist/resources/protobuf/Contract.proto +32 -0
- package/dist/resources/protobuf/tron.d.ts +1478 -214
- package/dist/resources/protobuf/tron.js +6312 -2600
- package/dist/resources/protobuf/tron.proto +6 -0
- package/dist/src/index.js +6 -2
- package/dist/src/lib/constants.d.ts +3 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +6 -0
- package/dist/src/lib/contractCallBuilder.d.ts +1 -35
- package/dist/src/lib/contractCallBuilder.d.ts.map +1 -1
- package/dist/src/lib/contractCallBuilder.js +12 -75
- package/dist/src/lib/delegateResourceTxBuilder.d.ts +27 -0
- package/dist/src/lib/delegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/delegateResourceTxBuilder.js +98 -0
- package/dist/src/lib/enum.d.ts +36 -1
- package/dist/src/lib/enum.d.ts.map +1 -1
- package/dist/src/lib/enum.js +40 -4
- package/dist/src/lib/freezeBalanceTxBuilder.d.ts +71 -0
- package/dist/src/lib/freezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/freezeBalanceTxBuilder.js +211 -0
- package/dist/src/lib/iface.d.ts +220 -2
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.js +23 -9
- package/dist/src/lib/keyPair.d.ts +0 -1
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +31 -18
- package/dist/src/lib/resourceManagementTxBuilder.d.ts +72 -0
- package/dist/src/lib/resourceManagementTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/resourceManagementTxBuilder.js +150 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts +1 -1
- package/dist/src/lib/tokenTransferBuilder.js +3 -3
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +92 -6
- package/dist/src/lib/transactionBuilder.d.ts +50 -5
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +110 -21
- package/dist/src/lib/undelegateResourceTxBuilder.d.ts +27 -0
- package/dist/src/lib/undelegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/undelegateResourceTxBuilder.js +98 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts +65 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.js +204 -0
- package/dist/src/lib/utils.d.ts +57 -4
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +366 -47
- package/dist/src/lib/voteWitnessTxBuilder.d.ts +62 -0
- package/dist/src/lib/voteWitnessTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/voteWitnessTxBuilder.js +219 -0
- package/dist/src/lib/withdrawBuilder.d.ts +49 -0
- package/dist/src/lib/withdrawBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawBuilder.js +167 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts +49 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.js +167 -0
- package/dist/src/lib/wrappedBuilder.d.ts +56 -0
- package/dist/src/lib/wrappedBuilder.d.ts.map +1 -1
- package/dist/src/lib/wrappedBuilder.js +86 -2
- package/dist/src/trx.d.ts +58 -4
- package/dist/src/trx.d.ts.map +1 -1
- package/dist/src/trx.js +320 -146
- package/dist/src/trxToken.d.ts +2 -2
- package/dist/src/trxToken.d.ts.map +1 -1
- package/dist/src/trxToken.js +5 -5
- package/package.json +16 -14
- package/resources/protobuf/Contract.proto +32 -0
- package/resources/protobuf/tron.d.ts +1478 -214
- package/resources/protobuf/tron.js +6312 -2600
- package/resources/protobuf/tron.proto +6 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WithdrawExpireUnfreezeTxBuilder = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
7
|
+
const transaction_1 = require("./transaction");
|
|
8
|
+
const tron_1 = require("../../resources/protobuf/tron");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
var ContractType = tron_1.protocol.Transaction.Contract.ContractType;
|
|
11
|
+
class WithdrawExpireUnfreezeTxBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
12
|
+
constructor(_coinConfig) {
|
|
13
|
+
super(_coinConfig);
|
|
14
|
+
this._signingKeys = [];
|
|
15
|
+
this.transaction = new transaction_1.Transaction(_coinConfig);
|
|
16
|
+
}
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
get transactionType() {
|
|
19
|
+
return sdk_core_1.TransactionType.StakingWithdraw;
|
|
20
|
+
}
|
|
21
|
+
/** @inheritdoc */
|
|
22
|
+
extendValidTo(extensionMs) {
|
|
23
|
+
if (this.transaction.signature && this.transaction.signature.length > 0) {
|
|
24
|
+
throw new sdk_core_1.ExtendTransactionError('Cannot extend a signed transaction');
|
|
25
|
+
}
|
|
26
|
+
if (extensionMs <= 0) {
|
|
27
|
+
throw new Error('Value cannot be below zero');
|
|
28
|
+
}
|
|
29
|
+
if (extensionMs > utils_1.TRANSACTION_MAX_EXPIRATION) {
|
|
30
|
+
throw new sdk_core_1.ExtendTransactionError('The expiration cannot be extended more than one year');
|
|
31
|
+
}
|
|
32
|
+
if (this._expiration) {
|
|
33
|
+
this._expiration = this._expiration + extensionMs;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
throw new Error('There is not expiration to extend');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
initBuilder(rawTransaction) {
|
|
40
|
+
this.transaction = this.fromImplementation(rawTransaction);
|
|
41
|
+
this.transaction.setTransactionType(this.transactionType);
|
|
42
|
+
this.validateRawTransaction(rawTransaction);
|
|
43
|
+
const tx = this.fromImplementation(rawTransaction);
|
|
44
|
+
this.transaction = tx;
|
|
45
|
+
this._signingKeys = [];
|
|
46
|
+
const rawData = tx.toJson().raw_data;
|
|
47
|
+
this._refBlockBytes = rawData.ref_block_bytes;
|
|
48
|
+
this._refBlockHash = rawData.ref_block_hash;
|
|
49
|
+
this._expiration = rawData.expiration;
|
|
50
|
+
this._timestamp = rawData.timestamp;
|
|
51
|
+
const contractCall = rawData.contract[0];
|
|
52
|
+
this.initWithdrawExpireUnfreezeContractCall(contractCall);
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Initialize the withdraw expire unfreeze contract call specific data
|
|
57
|
+
*
|
|
58
|
+
* @param {WithdrawExpireUnfreezeContract} withdrawExpireUnfreezeContractCall object with freeze txn data
|
|
59
|
+
*/
|
|
60
|
+
initWithdrawExpireUnfreezeContractCall(withdrawExpireUnfreezeContractCall) {
|
|
61
|
+
const { owner_address } = withdrawExpireUnfreezeContractCall.parameter.value;
|
|
62
|
+
if (owner_address) {
|
|
63
|
+
this.source({ address: (0, utils_1.getBase58AddressFromHex)(owner_address) });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async buildImplementation() {
|
|
67
|
+
this.createWithdrawExpireUnfreezeTransaction();
|
|
68
|
+
/** @inheritdoccreateTransaction */
|
|
69
|
+
// This method must be extended on child classes
|
|
70
|
+
if (this._signingKeys.length > 0) {
|
|
71
|
+
this.applySignatures();
|
|
72
|
+
}
|
|
73
|
+
if (!this.transaction.id) {
|
|
74
|
+
throw new sdk_core_1.BuildTransactionError('A valid transaction must have an id');
|
|
75
|
+
}
|
|
76
|
+
return Promise.resolve(this.transaction);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Helper method to create the withdraw expire unfreeze transaction
|
|
80
|
+
*/
|
|
81
|
+
createWithdrawExpireUnfreezeTransaction() {
|
|
82
|
+
const rawDataHex = this.getWithdrawExpireUnfreezeRawDataHex();
|
|
83
|
+
const rawData = (0, utils_1.decodeTransaction)(rawDataHex);
|
|
84
|
+
const contract = rawData.contract[0];
|
|
85
|
+
const contractParameter = contract.parameter;
|
|
86
|
+
contractParameter.value.owner_address = this._ownerAddress.toLocaleLowerCase();
|
|
87
|
+
contractParameter.type_url = 'type.googleapis.com/protocol.WithdrawExpireUnfreezeContract';
|
|
88
|
+
contract.type = 'WithdrawExpireUnfreezeContract';
|
|
89
|
+
const hexBuffer = Buffer.from(rawDataHex, 'hex');
|
|
90
|
+
const id = (0, crypto_1.createHash)('sha256').update(hexBuffer).digest('hex');
|
|
91
|
+
const txRecip = {
|
|
92
|
+
raw_data: rawData,
|
|
93
|
+
raw_data_hex: rawDataHex,
|
|
94
|
+
txID: id,
|
|
95
|
+
signature: this.transaction.signature,
|
|
96
|
+
};
|
|
97
|
+
this.transaction = new transaction_1.Transaction(this._coinConfig, txRecip);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Helper method to get the withdraw expire unfreeze transaction raw data hex
|
|
101
|
+
*
|
|
102
|
+
* @returns {string} the freeze balance transaction raw data hex
|
|
103
|
+
*/
|
|
104
|
+
getWithdrawExpireUnfreezeRawDataHex() {
|
|
105
|
+
const rawContract = {
|
|
106
|
+
ownerAddress: (0, utils_1.getByteArrayFromHexAddress)(this._ownerAddress),
|
|
107
|
+
};
|
|
108
|
+
const withdrawExpireUnfreezeContract = tron_1.protocol.WithdrawExpireUnfreezeContract.fromObject(rawContract);
|
|
109
|
+
const withdrawExpireUnfreezeContractBytes = tron_1.protocol.WithdrawExpireUnfreezeContract.encode(withdrawExpireUnfreezeContract).finish();
|
|
110
|
+
const txContract = {
|
|
111
|
+
type: ContractType.WithdrawExpireUnfreezeContract,
|
|
112
|
+
parameter: {
|
|
113
|
+
value: withdrawExpireUnfreezeContractBytes,
|
|
114
|
+
type_url: 'type.googleapis.com/protocol.WithdrawExpireUnfreezeContract',
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
const raw = {
|
|
118
|
+
refBlockBytes: Buffer.from(this._refBlockBytes, 'hex'),
|
|
119
|
+
refBlockHash: Buffer.from(this._refBlockHash, 'hex'),
|
|
120
|
+
expiration: this._expiration || Date.now() + utils_1.TRANSACTION_DEFAULT_EXPIRATION,
|
|
121
|
+
timestamp: this._timestamp || Date.now(),
|
|
122
|
+
contract: [txContract],
|
|
123
|
+
};
|
|
124
|
+
const rawTx = tron_1.protocol.Transaction.raw.create(raw);
|
|
125
|
+
return Buffer.from(tron_1.protocol.Transaction.raw.encode(rawTx).finish()).toString('hex');
|
|
126
|
+
}
|
|
127
|
+
/** @inheritdoc */
|
|
128
|
+
signImplementation(key) {
|
|
129
|
+
if (this._signingKeys.some((signingKey) => signingKey.key === key.key)) {
|
|
130
|
+
throw new sdk_core_1.SigningError('Duplicated key');
|
|
131
|
+
}
|
|
132
|
+
this._signingKeys.push(key);
|
|
133
|
+
// We keep this return for compatibility but is not meant to be use
|
|
134
|
+
return this.transaction;
|
|
135
|
+
}
|
|
136
|
+
applySignatures() {
|
|
137
|
+
if (!this.transaction.inputs) {
|
|
138
|
+
throw new sdk_core_1.SigningError('Transaction has no inputs');
|
|
139
|
+
}
|
|
140
|
+
this._signingKeys.forEach((key) => this.applySignature(key));
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Validates the transaction
|
|
144
|
+
*
|
|
145
|
+
* @param {Transaction} transaction - The transaction to validate
|
|
146
|
+
* @throws {BuildTransactionError} when the transaction is invalid
|
|
147
|
+
*/
|
|
148
|
+
validateTransaction(transaction) {
|
|
149
|
+
this.validateWithdrawExpireUnfreezeTransactionFields();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Validates if the transaction is a valid withdraw expire unfreeze transaction
|
|
153
|
+
*
|
|
154
|
+
* @param {TransactionReceipt} transaction - The transaction to validate
|
|
155
|
+
* @throws {BuildTransactionError} when the transaction is invalid
|
|
156
|
+
*/
|
|
157
|
+
validateWithdrawExpireUnfreezeTransactionFields() {
|
|
158
|
+
if (!this._ownerAddress) {
|
|
159
|
+
throw new sdk_core_1.BuildTransactionError('Missing parameter: source');
|
|
160
|
+
}
|
|
161
|
+
if (!this._refBlockBytes || !this._refBlockHash) {
|
|
162
|
+
throw new sdk_core_1.BuildTransactionError('Missing block reference information');
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.WithdrawExpireUnfreezeTxBuilder = WithdrawExpireUnfreezeTxBuilder;
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvd2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBb0M7QUFDcEMsbURBQTZIO0FBRTdILDZEQUEwRDtBQUMxRCwrQ0FBNEM7QUFFNUMsd0RBQXlEO0FBQ3pELG1DQU1pQjtBQUVqQixJQUFPLFlBQVksR0FBRyxlQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7QUFFakUsTUFBYSwrQkFBZ0MsU0FBUSx1Q0FBa0I7SUFHckUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxXQUFtQjtRQUMvQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4RSxNQUFNLElBQUksaUNBQXNCLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBRUQsSUFBSSxXQUFXLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFJLFdBQVcsR0FBRyxrQ0FBMEIsRUFBRSxDQUFDO1lBQzdDLE1BQU0sSUFBSSxpQ0FBc0IsQ0FBQyxzREFB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UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFDLFdBQXdCO1FBQzFDLElBQUksQ0FBQywrQ0FBK0MsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLCtDQUErQztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNoRCxNQUFNLElBQUksZ0NBQXFCLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBaExELDBFQWdMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBCYXNlS2V5LCBFeHRlbmRUcmFuc2FjdGlvbkVycm9yLCBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFNpZ25pbmdFcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlY2VpcHQsIFdpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgcHJvdG9jb2wgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcHJvdG9idWYvdHJvbic7XG5pbXBvcnQge1xuICBkZWNvZGVUcmFuc2FjdGlvbixcbiAgZ2V0Qnl0ZUFycmF5RnJvbUhleEFkZHJlc3MsXG4gIGdldEJhc2U1OEFkZHJlc3NGcm9tSGV4LFxuICBUUkFOU0FDVElPTl9NQVhfRVhQSVJBVElPTixcbiAgVFJBTlNBQ1RJT05fREVGQVVMVF9FWFBJUkFUSU9OLFxufSBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IENvbnRyYWN0VHlwZSA9IHByb3RvY29sLlRyYW5zYWN0aW9uLkNvbnRyYWN0LkNvbnRyYWN0VHlwZTtcblxuZXhwb3J0IGNsYXNzIFdpdGhkcmF3RXhwaXJlVW5mcmVlemVUeEJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3NpZ25pbmdLZXlzOiBCYXNlS2V5W107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3NpZ25pbmdLZXlzID0gW107XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBleHRlbmRWYWxpZFRvKGV4dGVuc2lvbk1zOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5zaWduYXR1cmUgJiYgdGhpcy50cmFuc2FjdGlvbi5zaWduYXR1cmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEV4dGVuZFRyYW5zYWN0aW9uRXJyb3IoJ0Nhbm5vdCBleHRlbmQgYSBzaWduZWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBpZiAoZXh0ZW5zaW9uTXMgPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdWYWx1ZSBjYW5ub3QgYmUgYmVsb3cgemVybycpO1xuICAgIH1cblxuICAgIGlmIChleHRlbnNpb25NcyA+IFRSQU5TQUNUSU9OX01BWF9FWFBJUkFUSU9OKSB7XG4gICAgICB0aHJvdyBuZXcgRXh0ZW5kVHJhbnNhY3Rpb25FcnJvcignVGhlIGV4cGlyYXRpb24gY2Fubm90IGJlIGV4dGVuZGVkIG1vcmUgdGhhbiBvbmUgeWVhcicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9leHBpcmF0aW9uKSB7XG4gICAgICB0aGlzLl9leHBpcmF0aW9uID0gdGhpcy5fZXhwaXJhdGlvbiArIGV4dGVuc2lvbk1zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZXJlIGlzIG5vdCBleHBpcmF0aW9uIHRvIGV4dGVuZCcpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRCdWlsZGVyKHJhd1RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gdGhpcy5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKHRoaXMudHJhbnNhY3Rpb25UeXBlKTtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHR4ID0gdGhpcy5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24gPSB0eDtcbiAgICB0aGlzLl9zaWduaW5nS2V5cyA9IFtdO1xuICAgIGNvbnN0IHJhd0RhdGEgPSB0eC50b0pzb24oKS5yYXdfZGF0YTtcbiAgICB0aGlzLl9yZWZCbG9ja0J5dGVzID0gcmF3RGF0YS5yZWZfYmxvY2tfYnl0ZXM7XG4gICAgdGhpcy5fcmVmQmxvY2tIYXNoID0gcmF3RGF0YS5yZWZfYmxvY2tfaGFzaDtcbiAgICB0aGlzLl9leHBpcmF0aW9uID0gcmF3RGF0YS5leHBpcmF0aW9uO1xuICAgIHRoaXMuX3RpbWVzdGFtcCA9IHJhd0RhdGEudGltZXN0YW1wO1xuICAgIGNvbnN0IGNvbnRyYWN0Q2FsbCA9IHJhd0RhdGEuY29udHJhY3RbMF0gYXMgV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0O1xuICAgIHRoaXMuaW5pdFdpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdENhbGwoY29udHJhY3RDYWxsKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB3aXRoZHJhdyBleHBpcmUgdW5mcmVlemUgY29udHJhY3QgY2FsbCBzcGVjaWZpYyBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7V2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0fSB3aXRoZHJhd0V4cGlyZVVuZnJlZXplQ29udHJhY3RDYWxsIG9iamVjdCB3aXRoIGZyZWV6ZSB0eG4gZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGluaXRXaXRoZHJhd0V4cGlyZVVuZnJlZXplQ29udHJhY3RDYWxsKFxuICAgIHdpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdENhbGw6IFdpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB7IG93bmVyX2FkZHJlc3MgfSA9IHdpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdENhbGwucGFyYW1ldGVyLnZhbHVlO1xuICAgIGlmIChvd25lcl9hZGRyZXNzKSB7XG4gICAgICB0aGlzLnNvdXJjZSh7IGFkZHJlc3M6IGdldEJhc2U1OEFkZHJlc3NGcm9tSGV4KG93bmVyX2FkZHJlc3MpIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLmNyZWF0ZVdpdGhkcmF3RXhwaXJlVW5mcmVlemVUcmFuc2FjdGlvbigpO1xuICAgIC8qKiBAaW5oZXJpdGRvY2NyZWF0ZVRyYW5zYWN0aW9uICovXG4gICAgLy8gVGhpcyBtZXRob2QgbXVzdCBiZSBleHRlbmRlZCBvbiBjaGlsZCBjbGFzc2VzXG4gICAgaWYgKHRoaXMuX3NpZ25pbmdLZXlzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYXBwbHlTaWduYXR1cmVzKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uLmlkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdBIHZhbGlkIHRyYW5zYWN0aW9uIG11c3QgaGF2ZSBhbiBpZCcpO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMudHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gY3JlYXRlIHRoZSB3aXRoZHJhdyBleHBpcmUgdW5mcmVlemUgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVRyYW5zYWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IHJhd0RhdGFIZXggPSB0aGlzLmdldFdpdGhkcmF3RXhwaXJlVW5mcmVlemVSYXdEYXRhSGV4KCk7XG4gICAgY29uc3QgcmF3RGF0YSA9IGRlY29kZVRyYW5zYWN0aW9uKHJhd0RhdGFIZXgpO1xuICAgIGNvbnN0IGNvbnRyYWN0ID0gcmF3RGF0YS5jb250cmFjdFswXSBhcyBXaXRoZHJhd0V4cGlyZVVuZnJlZXplQ29udHJhY3Q7XG4gICAgY29uc3QgY29udHJhY3RQYXJhbWV0ZXIgPSBjb250cmFjdC5wYXJhbWV0ZXI7XG4gICAgY29udHJhY3RQYXJhbWV0ZXIudmFsdWUub3duZXJfYWRkcmVzcyA9IHRoaXMuX293bmVyQWRkcmVzcy50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnRyYWN0UGFyYW1ldGVyLnR5cGVfdXJsID0gJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0JztcbiAgICBjb250cmFjdC50eXBlID0gJ1dpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdCc7XG4gICAgY29uc3QgaGV4QnVmZmVyID0gQnVmZmVyLmZyb20ocmF3RGF0YUhleCwgJ2hleCcpO1xuICAgIGNvbnN0IGlkID0gY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKGhleEJ1ZmZlcikuZGlnZXN0KCdoZXgnKTtcbiAgICBjb25zdCB0eFJlY2lwOiBUcmFuc2FjdGlvblJlY2VpcHQgPSB7XG4gICAgICByYXdfZGF0YTogcmF3RGF0YSxcbiAgICAgIHJhd19kYXRhX2hleDogcmF3RGF0YUhleCxcbiAgICAgIHR4SUQ6IGlkLFxuICAgICAgc2lnbmF0dXJlOiB0aGlzLnRyYW5zYWN0aW9uLnNpZ25hdHVyZSxcbiAgICB9O1xuICAgIHRoaXMudHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZywgdHhSZWNpcCk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBnZXQgdGhlIHdpdGhkcmF3IGV4cGlyZSB1bmZyZWV6ZSB0cmFuc2FjdGlvbiByYXcgZGF0YSBoZXhcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIGZyZWV6ZSBiYWxhbmNlIHRyYW5zYWN0aW9uIHJhdyBkYXRhIGhleFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRXaXRoZHJhd0V4cGlyZVVuZnJlZXplUmF3RGF0YUhleCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJhd0NvbnRyYWN0ID0ge1xuICAgICAgb3duZXJBZGRyZXNzOiBnZXRCeXRlQXJyYXlGcm9tSGV4QWRkcmVzcyh0aGlzLl9vd25lckFkZHJlc3MpLFxuICAgIH07XG4gICAgY29uc3Qgd2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0ID0gcHJvdG9jb2wuV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0LmZyb21PYmplY3QocmF3Q29udHJhY3QpO1xuICAgIGNvbnN0IHdpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdEJ5dGVzID1cbiAgICAgIHByb3RvY29sLldpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdC5lbmNvZGUod2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0KS5maW5pc2goKTtcbiAgICBjb25zdCB0eENvbnRyYWN0ID0ge1xuICAgICAgdHlwZTogQ29udHJhY3RUeXBlLldpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdCxcbiAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICB2YWx1ZTogd2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0Qnl0ZXMsXG4gICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5XaXRoZHJhd0V4cGlyZVVuZnJlZXplQ29udHJhY3QnLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHJhdyA9IHtcbiAgICAgIHJlZkJsb2NrQnl0ZXM6IEJ1ZmZlci5mcm9tKHRoaXMuX3JlZkJsb2NrQnl0ZXMsICdoZXgnKSxcbiAgICAgIHJlZkJsb2NrSGFzaDogQnVmZmVyLmZyb20odGhpcy5fcmVmQmxvY2tIYXNoLCAnaGV4JyksXG4gICAgICBleHBpcmF0aW9uOiB0aGlzLl9leHBpcmF0aW9uIHx8IERhdGUubm93KCkgKyBUUkFOU0FDVElPTl9ERUZBVUxUX0VYUElSQVRJT04sXG4gICAgICB0aW1lc3RhbXA6IHRoaXMuX3RpbWVzdGFtcCB8fCBEYXRlLm5vdygpLFxuICAgICAgY29udHJhY3Q6IFt0eENvbnRyYWN0XSxcbiAgICB9O1xuICAgIGNvbnN0IHJhd1R4ID0gcHJvdG9jb2wuVHJhbnNhY3Rpb24ucmF3LmNyZWF0ZShyYXcpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShwcm90b2NvbC5UcmFuc2FjdGlvbi5yYXcuZW5jb2RlKHJhd1R4KS5maW5pc2goKSkudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIGlmICh0aGlzLl9zaWduaW5nS2V5cy5zb21lKChzaWduaW5nS2V5KSA9PiBzaWduaW5nS2V5LmtleSA9PT0ga2V5LmtleSkpIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ0R1cGxpY2F0ZWQga2V5Jyk7XG4gICAgfVxuICAgIHRoaXMuX3NpZ25pbmdLZXlzLnB1c2goa2V5KTtcblxuICAgIC8vIFdlIGtlZXAgdGhpcyByZXR1cm4gZm9yIGNvbXBhdGliaWxpdHkgYnV0IGlzIG5vdCBtZWFudCB0byBiZSB1c2VcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaWduYXR1cmVzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbi5pbnB1dHMpIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ1RyYW5zYWN0aW9uIGhhcyBubyBpbnB1dHMnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zaWduaW5nS2V5cy5mb3JFYWNoKChrZXkpID0+IHRoaXMuYXBwbHlTaWduYXR1cmUoa2V5KSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0cmFuc2FjdGlvbiAtIFRoZSB0cmFuc2FjdGlvbiB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIHtCdWlsZFRyYW5zYWN0aW9uRXJyb3J9IHdoZW4gdGhlIHRyYW5zYWN0aW9uIGlzIGludmFsaWRcbiAgICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZVdpdGhkcmF3RXhwaXJlVW5mcmVlemVUcmFuc2FjdGlvbkZpZWxkcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBpZiB0aGUgdHJhbnNhY3Rpb24gaXMgYSB2YWxpZCB3aXRoZHJhdyBleHBpcmUgdW5mcmVlemUgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblJlY2VpcHR9IHRyYW5zYWN0aW9uIC0gVGhlIHRyYW5zYWN0aW9uIHRvIHZhbGlkYXRlXG4gICAqIEB0aHJvd3Mge0J1aWxkVHJhbnNhY3Rpb25FcnJvcn0gd2hlbiB0aGUgdHJhbnNhY3Rpb24gaXMgaW52YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVdpdGhkcmF3RXhwaXJlVW5mcmVlemVUcmFuc2FjdGlvbkZpZWxkcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX293bmVyQWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBwYXJhbWV0ZXI6IHNvdXJjZScpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fcmVmQmxvY2tCeXRlcyB8fCAhdGhpcy5fcmVmQmxvY2tIYXNoKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGJsb2NrIHJlZmVyZW5jZSBpbmZvcm1hdGlvbicpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -7,6 +7,13 @@ import { TransactionBuilder } from './transactionBuilder';
|
|
|
7
7
|
import { ContractCallBuilder } from './contractCallBuilder';
|
|
8
8
|
import { TransactionReceipt } from './iface';
|
|
9
9
|
import { TokenTransferBuilder } from './tokenTransferBuilder';
|
|
10
|
+
import { FreezeBalanceTxBuilder } from './freezeBalanceTxBuilder';
|
|
11
|
+
import { VoteWitnessTxBuilder } from './voteWitnessTxBuilder';
|
|
12
|
+
import { UnfreezeBalanceTxBuilder } from './unfreezeBalanceTxBuilder';
|
|
13
|
+
import { WithdrawExpireUnfreezeTxBuilder } from './withdrawExpireUnfreezeTxBuilder';
|
|
14
|
+
import { WithdrawBalanceTxBuilder } from './withdrawBuilder';
|
|
15
|
+
import { DelegateResourceTxBuilder } from './delegateResourceTxBuilder';
|
|
16
|
+
import { UndelegateResourceTxBuilder } from './undelegateResourceTxBuilder';
|
|
10
17
|
/**
|
|
11
18
|
* Wrapped Builder class
|
|
12
19
|
* This builder is created to maintain compatibility with the current uses of account-lib
|
|
@@ -24,6 +31,55 @@ export declare class WrappedBuilder extends TransactionBuilder {
|
|
|
24
31
|
getContractCallBuilder(tx?: TransactionReceipt | string): ContractCallBuilder;
|
|
25
32
|
getTransactionBuilder(tx?: TransactionReceipt | string): TransactionBuilder;
|
|
26
33
|
getTokenTransferBuilder(tx?: TransactionReceipt | string): TokenTransferBuilder;
|
|
34
|
+
/**
|
|
35
|
+
* Returns a specific builder to create a freeze balance transaction
|
|
36
|
+
*
|
|
37
|
+
* @param {TransactionReceipt} transaction - The transaction to initialize builder
|
|
38
|
+
* @returns {FreezeBalanceTxBuilder} The specific freeze balance builder
|
|
39
|
+
*/
|
|
40
|
+
getFreezeBalanceV2TxBuilder(tx?: TransactionReceipt | string): FreezeBalanceTxBuilder;
|
|
41
|
+
/**
|
|
42
|
+
* Returns a specific builder to create a vote witness transaction
|
|
43
|
+
*
|
|
44
|
+
* @param {TransactionReceipt} transaction - The transaction to initialize builder
|
|
45
|
+
* @returns {VoteWitnessTxBuilder} The specific vote witness builder
|
|
46
|
+
*/
|
|
47
|
+
getVoteWitnessTxBuilder(tx?: TransactionReceipt | string): VoteWitnessTxBuilder;
|
|
48
|
+
/**
|
|
49
|
+
* Returns a specific builder to create an unfreeze balance transaction
|
|
50
|
+
*
|
|
51
|
+
* @param {Transaction} [tx] The transaction to initialize builder
|
|
52
|
+
* @returns {UnfreezeBalanceTxBuilder} The specific unfreeze builder
|
|
53
|
+
*/
|
|
54
|
+
getUnfreezeBalanceV2TxBuilder(tx?: TransactionReceipt | string): UnfreezeBalanceTxBuilder;
|
|
55
|
+
/**
|
|
56
|
+
* Returns a specific builder to create a withdraw expire unfreeze transaction
|
|
57
|
+
*
|
|
58
|
+
* @param {Transaction} [tx] The transaction to initialize builder
|
|
59
|
+
* @returns {WithdrawExpireUnfreezeTxBuilder} The specific withdraw builder
|
|
60
|
+
*/
|
|
61
|
+
getWithdrawExpireUnfreezeTxBuilder(tx?: TransactionReceipt | string): WithdrawExpireUnfreezeTxBuilder;
|
|
62
|
+
/**
|
|
63
|
+
* Returns a specific builder to create a withdraw balance transaction
|
|
64
|
+
*
|
|
65
|
+
* @param {Transaction} [tx] The transaction to initialize builder
|
|
66
|
+
* @returns {WithdrawBalanceTxBuilder} The specific withdraw balance builder
|
|
67
|
+
*/
|
|
68
|
+
getWithdrawBalanceTxBuilder(tx?: TransactionReceipt | string): WithdrawBalanceTxBuilder;
|
|
69
|
+
/**
|
|
70
|
+
* Returns a specific builder to create a delegate resource transaction
|
|
71
|
+
*
|
|
72
|
+
* @param {TransactionReceipt | string} [tx] The transaction to initialize builder
|
|
73
|
+
* @returns {DelegateResourceTxBuilder} The specific delegate resource builder
|
|
74
|
+
*/
|
|
75
|
+
getDelegateResourceTxBuilder(tx?: TransactionReceipt | string): DelegateResourceTxBuilder;
|
|
76
|
+
/**
|
|
77
|
+
* Returns a specific builder to create a undelegate resource transaction
|
|
78
|
+
*
|
|
79
|
+
* @param {TransactionReceipt | string} [tx] The transaction to initialize builder
|
|
80
|
+
* @returns {UndelegateResourceTxBuilder} The specific delegate resource builder
|
|
81
|
+
*/
|
|
82
|
+
getUnDelegateResourceTxBuilder(tx?: TransactionReceipt | string): UndelegateResourceTxBuilder;
|
|
27
83
|
private initializeBuilder;
|
|
28
84
|
/** @inheritdoc */
|
|
29
85
|
extendValidTo(extensionMs: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrappedBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/wrappedBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"wrappedBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/wrappedBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,13 @@ const utils_1 = require("./utils");
|
|
|
8
8
|
const enum_1 = require("./enum");
|
|
9
9
|
const contractCallBuilder_1 = require("./contractCallBuilder");
|
|
10
10
|
const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
|
|
11
|
+
const freezeBalanceTxBuilder_1 = require("./freezeBalanceTxBuilder");
|
|
12
|
+
const voteWitnessTxBuilder_1 = require("./voteWitnessTxBuilder");
|
|
13
|
+
const unfreezeBalanceTxBuilder_1 = require("./unfreezeBalanceTxBuilder");
|
|
14
|
+
const withdrawExpireUnfreezeTxBuilder_1 = require("./withdrawExpireUnfreezeTxBuilder");
|
|
15
|
+
const withdrawBuilder_1 = require("./withdrawBuilder");
|
|
16
|
+
const delegateResourceTxBuilder_1 = require("./delegateResourceTxBuilder");
|
|
17
|
+
const undelegateResourceTxBuilder_1 = require("./undelegateResourceTxBuilder");
|
|
11
18
|
/**
|
|
12
19
|
* Wrapped Builder class
|
|
13
20
|
* This builder is created to maintain compatibility with the current uses of account-lib
|
|
@@ -34,6 +41,69 @@ class WrappedBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
34
41
|
getTokenTransferBuilder(tx) {
|
|
35
42
|
return this.initializeBuilder(tx, new tokenTransferBuilder_1.TokenTransferBuilder(this._coinConfig));
|
|
36
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Returns a specific builder to create a freeze balance transaction
|
|
46
|
+
*
|
|
47
|
+
* @param {TransactionReceipt} transaction - The transaction to initialize builder
|
|
48
|
+
* @returns {FreezeBalanceTxBuilder} The specific freeze balance builder
|
|
49
|
+
*/
|
|
50
|
+
getFreezeBalanceV2TxBuilder(tx) {
|
|
51
|
+
return this.initializeBuilder(tx, new freezeBalanceTxBuilder_1.FreezeBalanceTxBuilder(this._coinConfig));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Returns a specific builder to create a vote witness transaction
|
|
55
|
+
*
|
|
56
|
+
* @param {TransactionReceipt} transaction - The transaction to initialize builder
|
|
57
|
+
* @returns {VoteWitnessTxBuilder} The specific vote witness builder
|
|
58
|
+
*/
|
|
59
|
+
getVoteWitnessTxBuilder(tx) {
|
|
60
|
+
return this.initializeBuilder(tx, new voteWitnessTxBuilder_1.VoteWitnessTxBuilder(this._coinConfig));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Returns a specific builder to create an unfreeze balance transaction
|
|
64
|
+
*
|
|
65
|
+
* @param {Transaction} [tx] The transaction to initialize builder
|
|
66
|
+
* @returns {UnfreezeBalanceTxBuilder} The specific unfreeze builder
|
|
67
|
+
*/
|
|
68
|
+
getUnfreezeBalanceV2TxBuilder(tx) {
|
|
69
|
+
return this.initializeBuilder(tx, new unfreezeBalanceTxBuilder_1.UnfreezeBalanceTxBuilder(this._coinConfig));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Returns a specific builder to create a withdraw expire unfreeze transaction
|
|
73
|
+
*
|
|
74
|
+
* @param {Transaction} [tx] The transaction to initialize builder
|
|
75
|
+
* @returns {WithdrawExpireUnfreezeTxBuilder} The specific withdraw builder
|
|
76
|
+
*/
|
|
77
|
+
getWithdrawExpireUnfreezeTxBuilder(tx) {
|
|
78
|
+
return this.initializeBuilder(tx, new withdrawExpireUnfreezeTxBuilder_1.WithdrawExpireUnfreezeTxBuilder(this._coinConfig));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Returns a specific builder to create a withdraw balance transaction
|
|
82
|
+
*
|
|
83
|
+
* @param {Transaction} [tx] The transaction to initialize builder
|
|
84
|
+
* @returns {WithdrawBalanceTxBuilder} The specific withdraw balance builder
|
|
85
|
+
*/
|
|
86
|
+
getWithdrawBalanceTxBuilder(tx) {
|
|
87
|
+
return this.initializeBuilder(tx, new withdrawBuilder_1.WithdrawBalanceTxBuilder(this._coinConfig));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Returns a specific builder to create a delegate resource transaction
|
|
91
|
+
*
|
|
92
|
+
* @param {TransactionReceipt | string} [tx] The transaction to initialize builder
|
|
93
|
+
* @returns {DelegateResourceTxBuilder} The specific delegate resource builder
|
|
94
|
+
*/
|
|
95
|
+
getDelegateResourceTxBuilder(tx) {
|
|
96
|
+
return this.initializeBuilder(tx, new delegateResourceTxBuilder_1.DelegateResourceTxBuilder(this._coinConfig));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Returns a specific builder to create a undelegate resource transaction
|
|
100
|
+
*
|
|
101
|
+
* @param {TransactionReceipt | string} [tx] The transaction to initialize builder
|
|
102
|
+
* @returns {UndelegateResourceTxBuilder} The specific delegate resource builder
|
|
103
|
+
*/
|
|
104
|
+
getUnDelegateResourceTxBuilder(tx) {
|
|
105
|
+
return this.initializeBuilder(tx, new undelegateResourceTxBuilder_1.UndelegateResourceTxBuilder(this._coinConfig));
|
|
106
|
+
}
|
|
37
107
|
initializeBuilder(tx, builder) {
|
|
38
108
|
if (tx) {
|
|
39
109
|
builder.initBuilder(tx);
|
|
@@ -56,7 +126,7 @@ class WrappedBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
56
126
|
from(raw) {
|
|
57
127
|
this.validateRawTransaction(raw);
|
|
58
128
|
const rawDataHex = this.getTxReceipt(raw);
|
|
59
|
-
const decodedTx = utils_1.decodeTransaction(rawDataHex);
|
|
129
|
+
const decodedTx = (0, utils_1.decodeTransaction)(rawDataHex);
|
|
60
130
|
const contractType = decodedTx.contractType;
|
|
61
131
|
switch (contractType) {
|
|
62
132
|
case enum_1.ContractType.Transfer:
|
|
@@ -65,6 +135,20 @@ class WrappedBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
65
135
|
return this._builder;
|
|
66
136
|
case enum_1.ContractType.TriggerSmartContract:
|
|
67
137
|
return this.getContractCallBuilder(raw);
|
|
138
|
+
case enum_1.ContractType.FreezeBalanceV2:
|
|
139
|
+
return this.getFreezeBalanceV2TxBuilder(raw);
|
|
140
|
+
case enum_1.ContractType.VoteWitness:
|
|
141
|
+
return this.getVoteWitnessTxBuilder(raw);
|
|
142
|
+
case enum_1.ContractType.UnfreezeBalanceV2:
|
|
143
|
+
return this.getUnfreezeBalanceV2TxBuilder(raw);
|
|
144
|
+
case enum_1.ContractType.WithdrawExpireUnfreeze:
|
|
145
|
+
return this.getWithdrawExpireUnfreezeTxBuilder(raw);
|
|
146
|
+
case enum_1.ContractType.WithdrawBalance:
|
|
147
|
+
return this.getWithdrawBalanceTxBuilder(raw);
|
|
148
|
+
case enum_1.ContractType.DelegateResourceContract:
|
|
149
|
+
return this.getDelegateResourceTxBuilder(raw);
|
|
150
|
+
case enum_1.ContractType.UnDelegateResourceContract:
|
|
151
|
+
return this.getUnDelegateResourceTxBuilder(raw);
|
|
68
152
|
default:
|
|
69
153
|
throw new sdk_core_1.InvalidTransactionError('Invalid transaction type: ' + contractType);
|
|
70
154
|
}
|
|
@@ -105,4 +189,4 @@ class WrappedBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
105
189
|
}
|
|
106
190
|
}
|
|
107
191
|
exports.WrappedBuilder = WrappedBuilder;
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dyYXBwZWRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1EQUF5RjtBQUd6Riw2REFBMEQ7QUFDMUQsdUNBQW9DO0FBQ3BDLG1DQUE0QztBQUM1QyxpQ0FBc0M7QUFDdEMsK0RBQTREO0FBRTVELGlFQUE4RDtBQUU5RDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsdUNBQWtCO0lBR3BELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksdUNBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQUMsRUFBZ0M7UUFDckQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseUNBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQWdDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHVDQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxFQUFnQztRQUN0RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU8saUJBQWlCLENBQStCLEVBQTJDLEVBQUUsT0FBVTtRQUM3RyxJQUFJLEVBQUUsRUFBRTtZQUNOLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxXQUFtQjtRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFZO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMsS0FBSztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFRO1FBQ1gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUcseUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUM1QyxRQUFRLFlBQVksRUFBRTtZQUNwQixLQUFLLG1CQUFZLENBQUMsUUFBUSxDQUFDO1lBQzNCLEtBQUssbUJBQVksQ0FBQyx1QkFBdUI7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkIsS0FBSyxtQkFBWSxDQUFDLG9CQUFvQjtnQkFDcEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUM7Z0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDRCQUE0QixHQUFHLFlBQVksQ0FBQyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssWUFBWSxDQUFDLEdBQW9DO1FBQ3ZELE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZUFBZSxDQUFDLE9BQWdCO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEdBQVk7UUFDdEIsSUFBSTtZQUNGLElBQUksaUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUMvQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUNELGtCQUFrQjtJQUNsQixzQkFBc0IsQ0FBQyxjQUFtQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsV0FBd0I7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUF4R0Qsd0NBd0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZUtleSwgQmFzZVRyYW5zYWN0aW9uLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi9hZGRyZXNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgZGVjb2RlVHJhbnNhY3Rpb24gfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENvbnRyYWN0VHlwZSB9IGZyb20gJy4vZW51bSc7XG5pbXBvcnQgeyBDb250cmFjdENhbGxCdWlsZGVyIH0gZnJvbSAnLi9jb250cmFjdENhbGxCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Rva2VuVHJhbnNmZXJCdWlsZGVyJztcblxuLyoqXG4gKiBXcmFwcGVkIEJ1aWxkZXIgY2xhc3NcbiAqIFRoaXMgYnVpbGRlciBpcyBjcmVhdGVkIHRvIG1haW50YWluIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgY3VycmVudCB1c2VzIG9mIGFjY291bnQtbGliXG4gKiBJdCBoYXMgYW4gaW5zdGFuY2Ugb2YgVHJhbnNhY3Rpb24gQnVpbGRlciBvciBDb250cmFjdCBDYWxsIEJ1aWxkZXIgYXMgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBXcmFwcGVkQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2J1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgLy8gZGVmYXVsdHMgdG8gb2xkIGJ1aWxkZXJcbiAgICB0aGlzLl9idWlsZGVyID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgY29udHJhY3QgY2FsbCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSBbdHhdIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGJ1aWxkZXJcbiAgICogQHJldHVybnMge0NvbnRyYWN0Q2FsbEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyBjb250cmFjdCBjYWxsIGJ1aWxkZXJcbiAgICovXG4gIGdldENvbnRyYWN0Q2FsbEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiBDb250cmFjdENhbGxCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENvbnRyYWN0Q2FsbEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zYWN0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRUb2tlblRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IFRva2VuVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRva2VuVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyB8IHVuZGVmaW5lZCwgYnVpbGRlcjogVCk6IFQge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGV4dGVuZFZhbGlkVG8oZXh0ZW5zaW9uTXM6IG51bWJlcikge1xuICAgIHRoaXMuX2J1aWxkZXIuZXh0ZW5kVmFsaWRUbyhleHRlbnNpb25Ncyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc2lnbihrZXk6IEJhc2VLZXkpIHtcbiAgICB0aGlzLl9idWlsZGVyLnNpZ24oa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPEJhc2VUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLl9idWlsZGVyLmJ1aWxkKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IGFueSkge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIGNvbnN0IHJhd0RhdGFIZXggPSB0aGlzLmdldFR4UmVjZWlwdChyYXcpO1xuICAgIGNvbnN0IGRlY29kZWRUeCA9IGRlY29kZVRyYW5zYWN0aW9uKHJhd0RhdGFIZXgpO1xuICAgIGNvbnN0IGNvbnRyYWN0VHlwZSA9IGRlY29kZWRUeC5jb250cmFjdFR5cGU7XG4gICAgc3dpdGNoIChjb250cmFjdFR5cGUpIHtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLlRyYW5zZmVyOlxuICAgICAgY2FzZSBDb250cmFjdFR5cGUuQWNjb3VudFBlcm1pc3Npb25VcGRhdGU6XG4gICAgICAgIHRoaXMuX2J1aWxkZXIgPSB0aGlzLmdldFRyYW5zYWN0aW9uQnVpbGRlcihyYXcpO1xuICAgICAgICByZXR1cm4gdGhpcy5fYnVpbGRlcjtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLlRyaWdnZXJTbWFydENvbnRyYWN0OlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb250cmFjdENhbGxCdWlsZGVyKHJhdyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gdHlwZTogJyArIGNvbnRyYWN0VHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcmF3IGRhdGEgaGV4IGZyb20gYSByYXcgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9fSByYXcgdGhlIHJhdyB0cmFuc2FjdGlvbiBhcyBhIHN0cmluZyBvciBhcyBhbiBvYmplY3RcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIHJhdyBkYXRhIGhleFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRUeFJlY2VpcHQocmF3OiBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmF3WydyYXdfZGF0YV9oZXgnXSB8fCB0aGlzLmdldFR4UmVjZWlwdChKU09OLnBhcnNlKHJhdyBhcyBzdHJpbmcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQWRkcmVzcyk6IHZvaWQge1xuICAgIHRoaXMuX2J1aWxkZXIudmFsaWRhdGVBZGRyZXNzKGFkZHJlc3MpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBub3QgdmFsaWQnKTtcbiAgICB9XG4gIH1cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX2J1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9idWlsZGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX2J1aWxkZXIudmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dyYXBwZWRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1EQUF5RjtBQUd6Riw2REFBMEQ7QUFDMUQsdUNBQW9DO0FBQ3BDLG1DQUE0QztBQUM1QyxpQ0FBc0M7QUFDdEMsK0RBQTREO0FBRTVELGlFQUE4RDtBQUM5RCxxRUFBa0U7QUFDbEUsaUVBQThEO0FBQzlELHlFQUFzRTtBQUN0RSx1RkFBb0Y7QUFDcEYsdURBQTZEO0FBQzdELDJFQUF3RTtBQUN4RSwrRUFBNEU7QUFFNUU7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLHVDQUFrQjtJQUdwRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQiwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHVDQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHNCQUFzQixDQUFDLEVBQWdDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxFQUFnQztRQUNwRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSx1Q0FBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsRUFBZ0M7UUFDdEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksMkNBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsMkJBQTJCLENBQUMsRUFBZ0M7UUFDMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksK0NBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUMsRUFBZ0M7UUFDdEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksMkNBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsNkJBQTZCLENBQUMsRUFBZ0M7UUFDNUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksbURBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0NBQWtDLENBQUMsRUFBZ0M7UUFDakUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUVBQStCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsMkJBQTJCLENBQUMsRUFBZ0M7UUFDMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksMENBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsNEJBQTRCLENBQUMsRUFBZ0M7UUFDM0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkscURBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsOEJBQThCLENBQUMsRUFBZ0M7UUFDN0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseURBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVPLGlCQUFpQixDQUErQixFQUEyQyxFQUFFLE9BQVU7UUFDN0csSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsYUFBYSxDQUFDLFdBQW1CO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLEdBQVk7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLEdBQVE7UUFDWCxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLFNBQVMsR0FBRyxJQUFBLHlCQUFpQixFQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDNUMsUUFBUSxZQUFZLEVBQUUsQ0FBQztZQUNyQixLQUFLLG1CQUFZLENBQUMsUUFBUSxDQUFDO1lBQzNCLEtBQUssbUJBQVksQ0FBQyx1QkFBdUI7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkIsS0FBSyxtQkFBWSxDQUFDLG9CQUFvQjtnQkFDcEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsS0FBSyxtQkFBWSxDQUFDLGVBQWU7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9DLEtBQUssbUJBQVksQ0FBQyxXQUFXO2dCQUMzQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQyxLQUFLLG1CQUFZLENBQUMsaUJBQWlCO2dCQUNqQyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRCxLQUFLLG1CQUFZLENBQUMsc0JBQXNCO2dCQUN0QyxPQUFPLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxLQUFLLG1CQUFZLENBQUMsZUFBZTtnQkFDL0IsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0MsS0FBSyxtQkFBWSxDQUFDLHdCQUF3QjtnQkFDeEMsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEQsS0FBSyxtQkFBWSxDQUFDLDBCQUEwQjtnQkFDMUMsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEQ7Z0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDRCQUE0QixHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQ25GLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxZQUFZLENBQUMsR0FBb0M7UUFDdkQsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQWEsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixlQUFlLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXLENBQUMsR0FBWTtRQUN0QixJQUFJLENBQUM7WUFDSCxJQUFJLGlCQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsc0JBQXNCLENBQUMsY0FBbUI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG1CQUFtQixDQUFDLFdBQXdCO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixhQUFhLENBQUMsS0FBZ0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBNUxELHdDQTRMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VLZXksIEJhc2VUcmFuc2FjdGlvbiwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQWRkcmVzcyB9IGZyb20gJy4vYWRkcmVzcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IGRlY29kZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBDb250cmFjdFR5cGUgfSBmcm9tICcuL2VudW0nO1xuaW1wb3J0IHsgQ29udHJhY3RDYWxsQnVpbGRlciB9IGZyb20gJy4vY29udHJhY3RDYWxsQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlY2VpcHQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBGcmVlemVCYWxhbmNlVHhCdWlsZGVyIH0gZnJvbSAnLi9mcmVlemVCYWxhbmNlVHhCdWlsZGVyJztcbmltcG9ydCB7IFZvdGVXaXRuZXNzVHhCdWlsZGVyIH0gZnJvbSAnLi92b3RlV2l0bmVzc1R4QnVpbGRlcic7XG5pbXBvcnQgeyBVbmZyZWV6ZUJhbGFuY2VUeEJ1aWxkZXIgfSBmcm9tICcuL3VuZnJlZXplQmFsYW5jZVR4QnVpbGRlcic7XG5pbXBvcnQgeyBXaXRoZHJhd0V4cGlyZVVuZnJlZXplVHhCdWlsZGVyIH0gZnJvbSAnLi93aXRoZHJhd0V4cGlyZVVuZnJlZXplVHhCdWlsZGVyJztcbmltcG9ydCB7IFdpdGhkcmF3QmFsYW5jZVR4QnVpbGRlciB9IGZyb20gJy4vd2l0aGRyYXdCdWlsZGVyJztcbmltcG9ydCB7IERlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXIgfSBmcm9tICcuL2RlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXInO1xuaW1wb3J0IHsgVW5kZWxlZ2F0ZVJlc291cmNlVHhCdWlsZGVyIH0gZnJvbSAnLi91bmRlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXInO1xuXG4vKipcbiAqIFdyYXBwZWQgQnVpbGRlciBjbGFzc1xuICogVGhpcyBidWlsZGVyIGlzIGNyZWF0ZWQgdG8gbWFpbnRhaW4gY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBjdXJyZW50IHVzZXMgb2YgYWNjb3VudC1saWJcbiAqIEl0IGhhcyBhbiBpbnN0YW5jZSBvZiBUcmFuc2FjdGlvbiBCdWlsZGVyIG9yIENvbnRyYWN0IENhbGwgQnVpbGRlciBhcyByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFdyYXBwZWRCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfYnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICAvLyBkZWZhdWx0cyB0byBvbGQgYnVpbGRlclxuICAgIHRoaXMuX2J1aWxkZXIgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgYnVpbGRlciB0byBjcmVhdGUgYSBjb250cmFjdCBjYWxsIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IFt0eF0gVGhlIHRyYW5zYWN0aW9uIHRvIGluaXRpYWxpemUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7Q29udHJhY3RDYWxsQnVpbGRlcn0gVGhlIHNwZWNpZmljIGNvbnRyYWN0IGNhbGwgYnVpbGRlclxuICAgKi9cbiAgZ2V0Q29udHJhY3RDYWxsQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IENvbnRyYWN0Q2FsbEJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ29udHJhY3RDYWxsQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRUcmFuc2FjdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldFRva2VuVHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVG9rZW5UcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIGZyZWV6ZSBiYWxhbmNlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25SZWNlaXB0fSB0cmFuc2FjdGlvbiAtIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGJ1aWxkZXJcbiAgICogQHJldHVybnMge0ZyZWV6ZUJhbGFuY2VUeEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyBmcmVlemUgYmFsYW5jZSBidWlsZGVyXG4gICAqL1xuICBnZXRGcmVlemVCYWxhbmNlVjJUeEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiBGcmVlemVCYWxhbmNlVHhCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEZyZWV6ZUJhbGFuY2VUeEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIHZvdGUgd2l0bmVzcyB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUmVjZWlwdH0gdHJhbnNhY3Rpb24gLSBUaGUgdHJhbnNhY3Rpb24gdG8gaW5pdGlhbGl6ZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtWb3RlV2l0bmVzc1R4QnVpbGRlcn0gVGhlIHNwZWNpZmljIHZvdGUgd2l0bmVzcyBidWlsZGVyXG4gICAqL1xuICBnZXRWb3RlV2l0bmVzc1R4QnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IFZvdGVXaXRuZXNzVHhCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFZvdGVXaXRuZXNzVHhCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgYnVpbGRlciB0byBjcmVhdGUgYW4gdW5mcmVlemUgYmFsYW5jZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSBbdHhdIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1VuZnJlZXplQmFsYW5jZVR4QnVpbGRlcn0gVGhlIHNwZWNpZmljIHVuZnJlZXplIGJ1aWxkZXJcbiAgICovXG4gIGdldFVuZnJlZXplQmFsYW5jZVYyVHhCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogVW5mcmVlemVCYWxhbmNlVHhCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFVuZnJlZXplQmFsYW5jZVR4QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgd2l0aGRyYXcgZXhwaXJlIHVuZnJlZXplIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IFt0eF0gVGhlIHRyYW5zYWN0aW9uIHRvIGluaXRpYWxpemUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7V2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlcn0gVGhlIHNwZWNpZmljIHdpdGhkcmF3IGJ1aWxkZXJcbiAgICovXG4gIGdldFdpdGhkcmF3RXhwaXJlVW5mcmVlemVUeEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvblJlY2VpcHQgfCBzdHJpbmcpOiBXaXRoZHJhd0V4cGlyZVVuZnJlZXplVHhCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdpdGhkcmF3RXhwaXJlVW5mcmVlemVUeEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIHdpdGhkcmF3IGJhbGFuY2UgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gW3R4XSBUaGUgdHJhbnNhY3Rpb24gdG8gaW5pdGlhbGl6ZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtXaXRoZHJhd0JhbGFuY2VUeEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyB3aXRoZHJhdyBiYWxhbmNlIGJ1aWxkZXJcbiAgICovXG4gIGdldFdpdGhkcmF3QmFsYW5jZVR4QnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IFdpdGhkcmF3QmFsYW5jZVR4QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBXaXRoZHJhd0JhbGFuY2VUeEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIGRlbGVnYXRlIHJlc291cmNlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nfSBbdHhdIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGJ1aWxkZXJcbiAgICogQHJldHVybnMge0RlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXJ9IFRoZSBzcGVjaWZpYyBkZWxlZ2F0ZSByZXNvdXJjZSBidWlsZGVyXG4gICAqL1xuICBnZXREZWxlZ2F0ZVJlc291cmNlVHhCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nKTogRGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBEZWxlZ2F0ZVJlc291cmNlVHhCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgYnVpbGRlciB0byBjcmVhdGUgYSB1bmRlbGVnYXRlIHJlc291cmNlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nfSBbdHhdIFRoZSB0cmFuc2FjdGlvbiB0byBpbml0aWFsaXplIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1VuZGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlcn0gVGhlIHNwZWNpZmljIGRlbGVnYXRlIHJlc291cmNlIGJ1aWxkZXJcbiAgICovXG4gIGdldFVuRGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlcih0eD86IFRyYW5zYWN0aW9uUmVjZWlwdCB8IHN0cmluZyk6IFVuZGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBVbmRlbGVnYXRlUmVzb3VyY2VUeEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogVHJhbnNhY3Rpb25SZWNlaXB0IHwgc3RyaW5nIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZXh0ZW5kVmFsaWRUbyhleHRlbnNpb25NczogbnVtYmVyKSB7XG4gICAgdGhpcy5fYnVpbGRlci5leHRlbmRWYWxpZFRvKGV4dGVuc2lvbk1zKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBzaWduKGtleTogQmFzZUtleSkge1xuICAgIHRoaXMuX2J1aWxkZXIuc2lnbihrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8QmFzZVRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX2J1aWxkZXIuYnVpbGQoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHJhdzogYW55KSB7XG4gICAgdGhpcy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgY29uc3QgcmF3RGF0YUhleCA9IHRoaXMuZ2V0VHhSZWNlaXB0KHJhdyk7XG4gICAgY29uc3QgZGVjb2RlZFR4ID0gZGVjb2RlVHJhbnNhY3Rpb24ocmF3RGF0YUhleCk7XG4gICAgY29uc3QgY29udHJhY3RUeXBlID0gZGVjb2RlZFR4LmNvbnRyYWN0VHlwZTtcbiAgICBzd2l0Y2ggKGNvbnRyYWN0VHlwZSkge1xuICAgICAgY2FzZSBDb250cmFjdFR5cGUuVHJhbnNmZXI6XG4gICAgICBjYXNlIENvbnRyYWN0VHlwZS5BY2NvdW50UGVybWlzc2lvblVwZGF0ZTpcbiAgICAgICAgdGhpcy5fYnVpbGRlciA9IHRoaXMuZ2V0VHJhbnNhY3Rpb25CdWlsZGVyKHJhdyk7XG4gICAgICAgIHJldHVybiB0aGlzLl9idWlsZGVyO1xuICAgICAgY2FzZSBDb250cmFjdFR5cGUuVHJpZ2dlclNtYXJ0Q29udHJhY3Q6XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbnRyYWN0Q2FsbEJ1aWxkZXIocmF3KTtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLkZyZWV6ZUJhbGFuY2VWMjpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RnJlZXplQmFsYW5jZVYyVHhCdWlsZGVyKHJhdyk7XG4gICAgICBjYXNlIENvbnRyYWN0VHlwZS5Wb3RlV2l0bmVzczpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Vm90ZVdpdG5lc3NUeEJ1aWxkZXIocmF3KTtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLlVuZnJlZXplQmFsYW5jZVYyOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRVbmZyZWV6ZUJhbGFuY2VWMlR4QnVpbGRlcihyYXcpO1xuICAgICAgY2FzZSBDb250cmFjdFR5cGUuV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZTpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlcihyYXcpO1xuICAgICAgY2FzZSBDb250cmFjdFR5cGUuV2l0aGRyYXdCYWxhbmNlOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRXaXRoZHJhd0JhbGFuY2VUeEJ1aWxkZXIocmF3KTtcbiAgICAgIGNhc2UgQ29udHJhY3RUeXBlLkRlbGVnYXRlUmVzb3VyY2VDb250cmFjdDpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlcihyYXcpO1xuICAgICAgY2FzZSBDb250cmFjdFR5cGUuVW5EZWxlZ2F0ZVJlc291cmNlQ29udHJhY3Q6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFVuRGVsZWdhdGVSZXNvdXJjZVR4QnVpbGRlcihyYXcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uIHR5cGU6ICcgKyBjb250cmFjdFR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJhdyBkYXRhIGhleCBmcm9tIGEgcmF3IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfX0gcmF3IHRoZSByYXcgdHJhbnNhY3Rpb24gYXMgYSBzdHJpbmcgb3IgYXMgYW4gb2JqZWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSByYXcgZGF0YSBoZXhcbiAgICovXG4gIHByaXZhdGUgZ2V0VHhSZWNlaXB0KHJhdzogc3RyaW5nIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJhd1sncmF3X2RhdGFfaGV4J10gfHwgdGhpcy5nZXRUeFJlY2VpcHQoSlNPTi5wYXJzZShyYXcgYXMgc3RyaW5nKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkIHtcbiAgICB0aGlzLl9idWlsZGVyLnZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBwcm92aWRlZCBrZXkgaXMgbm90IHZhbGlkJyk7XG4gICAgfVxuICB9XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9idWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fYnVpbGRlci52YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9idWlsZGVyLnZhbGlkYXRlVmFsdWUodmFsdWUpO1xuICB9XG59XG4iXX0=
|
package/dist/src/trx.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { CoinFamily, BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
|
|
3
|
-
import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, TransactionExplanation, TransactionFee, TransactionPrebuild as BaseTransactionPrebuild, TransactionRecipient as Recipient, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, TransactionExplanation, TransactionFee, TransactionPrebuild as BaseTransactionPrebuild, TransactionRecipient as Recipient, VerifyAddressOptions, VerifyTransactionOptions, BaseTransaction, MultisigType, AuditDecryptedKeyParams } from '@bitgo-beta/sdk-core';
|
|
4
3
|
import { Interface } from './lib';
|
|
5
4
|
import { TransactionReceipt } from './lib/iface';
|
|
6
5
|
export declare const MINIMUM_TRON_MSIG_TRANSACTION_FEE = 1000000;
|
|
6
|
+
export declare const SAFE_TRON_TRANSACTION_FEE: number;
|
|
7
|
+
export declare const SAFE_TRON_TOKEN_TRANSACTION_FEE: number;
|
|
8
|
+
export declare const RECOVER_TRANSACTION_EXPIRY = 86400000;
|
|
9
|
+
export declare const DEFAULT_SCAN_FACTOR = 20;
|
|
7
10
|
export interface TronSignTransactionOptions extends SignTransactionOptions {
|
|
8
11
|
txPrebuild: TransactionPrebuild;
|
|
9
12
|
prv: string;
|
|
@@ -41,12 +44,33 @@ export interface RecoveryOptions {
|
|
|
41
44
|
bitgoKey: string;
|
|
42
45
|
recoveryDestination: string;
|
|
43
46
|
krsProvider?: string;
|
|
47
|
+
tokenContractAddress?: string;
|
|
44
48
|
walletPassphrase?: string;
|
|
49
|
+
startingScanIndex?: number;
|
|
50
|
+
scan?: number;
|
|
51
|
+
}
|
|
52
|
+
export interface ConsolidationRecoveryOptions {
|
|
53
|
+
userKey: string;
|
|
54
|
+
backupKey: string;
|
|
55
|
+
bitgoKey: string;
|
|
56
|
+
tokenContractAddress?: string;
|
|
57
|
+
startingScanIndex?: number;
|
|
58
|
+
endingScanIndex?: number;
|
|
59
|
+
}
|
|
60
|
+
export interface ConsolidationRecoveryBatch {
|
|
61
|
+
transactions: RecoveryTransaction[];
|
|
62
|
+
}
|
|
63
|
+
export interface FeeInfo {
|
|
64
|
+
fee: string;
|
|
45
65
|
}
|
|
46
66
|
export interface RecoveryTransaction {
|
|
67
|
+
txHex?: string;
|
|
68
|
+
feeInfo?: FeeInfo;
|
|
69
|
+
coin?: string;
|
|
47
70
|
tx?: TransactionPrebuild;
|
|
48
71
|
recoveryAmount?: number;
|
|
49
72
|
tokenTxs?: TransactionReceipt[];
|
|
73
|
+
addressInfo?: AddressInfo;
|
|
50
74
|
}
|
|
51
75
|
export declare enum NodeTypes {
|
|
52
76
|
Full = 0,
|
|
@@ -67,6 +91,8 @@ export declare class Trx extends BaseCoin {
|
|
|
67
91
|
getBaseFactor(): number;
|
|
68
92
|
/** @inheritdoc */
|
|
69
93
|
transactionDataAllowed(): boolean;
|
|
94
|
+
/** inherited doc */
|
|
95
|
+
getDefaultMultisigType(): MultisigType;
|
|
70
96
|
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
71
97
|
/**
|
|
72
98
|
* Flag for sending value of 0
|
|
@@ -76,7 +102,7 @@ export declare class Trx extends BaseCoin {
|
|
|
76
102
|
/** @inheritDoc */
|
|
77
103
|
allowsAccountConsolidations(): boolean;
|
|
78
104
|
/**
|
|
79
|
-
* Checks if this is a valid base58
|
|
105
|
+
* Checks if this is a valid base58
|
|
80
106
|
* @param address
|
|
81
107
|
*/
|
|
82
108
|
isValidAddress(address: string): boolean;
|
|
@@ -113,7 +139,6 @@ export declare class Trx extends BaseCoin {
|
|
|
113
139
|
* @param params
|
|
114
140
|
* @param params.txPrebuild {Object} prebuild object returned by platform
|
|
115
141
|
* @param params.prv {String} user prv
|
|
116
|
-
* @param params.wallet.addressVersion {String} this is the version of the Algorand multisig address generation format
|
|
117
142
|
* @returns Bluebird<SignedTransaction>
|
|
118
143
|
*/
|
|
119
144
|
signTransaction(params: TronSignTransactionOptions): Promise<SignedTransaction>;
|
|
@@ -149,6 +174,7 @@ export declare class Trx extends BaseCoin {
|
|
|
149
174
|
getExtraPrebuildParams(buildParams: any): Promise<any>;
|
|
150
175
|
pubToHexAddress(pub: string): string;
|
|
151
176
|
xprvToCompressedPrv(xprv: string): string;
|
|
177
|
+
private getNodeUrl;
|
|
152
178
|
/**
|
|
153
179
|
* Make a query to Trongrid for information such as balance, token balance, solidity calls
|
|
154
180
|
* @param query {Object} key-value pairs of parameters to append after /api
|
|
@@ -190,19 +216,47 @@ export declare class Trx extends BaseCoin {
|
|
|
190
216
|
address: string;
|
|
191
217
|
weight: number;
|
|
192
218
|
}[], keys: string[]): void;
|
|
219
|
+
/**
|
|
220
|
+
* Format for offline vault signing
|
|
221
|
+
* @param {BaseTransaction} tx
|
|
222
|
+
* @param {number} fee
|
|
223
|
+
* @param {number} recoveryAmount
|
|
224
|
+
* @returns {RecoveryTransaction}
|
|
225
|
+
*/
|
|
226
|
+
formatForOfflineVault(tx: BaseTransaction, fee: number, recoveryAmount: number, addressInfo?: AddressInfo): RecoveryTransaction;
|
|
193
227
|
/**
|
|
194
228
|
* Builds a funds recovery transaction without BitGo.
|
|
195
229
|
* We need to do three queries during this:
|
|
196
230
|
* 1) Node query - how much money is in the account
|
|
197
231
|
* 2) Build transaction - build our transaction for the amount
|
|
198
232
|
* 3) Send signed build - send our signed build to a public node
|
|
233
|
+
*
|
|
234
|
+
* Note 1: for base address recoveries, fund will be recovered to recovery destination if base address balance is
|
|
235
|
+
* more than 2.1 TRX for native TRX recovery and 100 TRX for token recover. For receive addresses, fund will be
|
|
236
|
+
* recovered to base address first then swept to base address(decided as the universal pattern in team meeting).
|
|
237
|
+
*
|
|
238
|
+
* Note 2: the function supports token sweep from base address.
|
|
239
|
+
* TODO: support token sweep from receive address.
|
|
240
|
+
*
|
|
199
241
|
* @param params
|
|
200
242
|
*/
|
|
201
243
|
recover(params: RecoveryOptions): Promise<RecoveryTransaction>;
|
|
244
|
+
/**
|
|
245
|
+
* Builds native TRX recoveries of receive addresses in batch without BitGo.
|
|
246
|
+
* Funds will be recovered to base address first. You need to initiate another sweep txn after that.
|
|
247
|
+
* Note: there will be another recoverTokenConsolidations function to support token recover from receive addresses.
|
|
248
|
+
*
|
|
249
|
+
* @param {ConsolidationRecoveryOptions} params - options for consolidation recovery.
|
|
250
|
+
* @param {string} [params.startingScanIndex] - receive address index to start scanning from. default to 1 (inclusive).
|
|
251
|
+
* @param {string} [params.endingScanIndex] - receive address index to end scanning at. default to startingScanIndex + 20 (exclusive).
|
|
252
|
+
*/
|
|
253
|
+
recoverConsolidations(params: ConsolidationRecoveryOptions): Promise<ConsolidationRecoveryBatch>;
|
|
202
254
|
/**
|
|
203
255
|
* Explain a Tron transaction from txHex
|
|
204
256
|
* @param params
|
|
205
257
|
*/
|
|
206
258
|
explainTransaction(params: ExplainTransactionOptions): Promise<TronTransactionExplanation>;
|
|
259
|
+
/** @inheritDoc */
|
|
260
|
+
auditDecryptedKey(params: AuditDecryptedKeyParams): void;
|
|
207
261
|
}
|
|
208
262
|
//# sourceMappingURL=trx.d.ts.map
|
package/dist/src/trx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trx.d.ts","sourceRoot":"","sources":["../../src/trx.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trx.d.ts","sourceRoot":"","sources":["../../src/trx.ts"],"names":[],"mappings":"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"}
|