@bitgo/sdk-coin-avaxp 0.1.0-rc.7 → 0.2.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/delegatorTxBuilder.d.ts +89 -0
- package/dist/src/delegatorTxBuilder.d.ts.map +1 -0
- package/dist/src/delegatorTxBuilder.js +183 -0
- package/dist/src/iface.d.ts +15 -12
- package/dist/src/iface.d.ts.map +1 -1
- package/dist/src/iface.js +1 -1
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +18 -2
- package/dist/src/keyPair.d.ts +3 -1
- package/dist/src/keyPair.d.ts.map +1 -1
- package/dist/src/keyPair.js +6 -5
- package/dist/src/transaction.d.ts +12 -3
- package/dist/src/transaction.d.ts.map +1 -1
- package/dist/src/transaction.js +54 -6
- package/dist/src/transactionBuilder.d.ts +47 -10
- package/dist/src/transactionBuilder.d.ts.map +1 -1
- package/dist/src/transactionBuilder.js +118 -17
- package/dist/src/transactionBuilderFactory.d.ts +8 -10
- package/dist/src/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/transactionBuilderFactory.js +30 -15
- package/dist/src/transferBuilder.d.ts +2 -1
- package/dist/src/transferBuilder.d.ts.map +1 -1
- package/dist/src/transferBuilder.js +1 -1
- package/dist/src/utils.d.ts +18 -5
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +27 -13
- package/dist/src/validatorTxBuilder.d.ts +32 -0
- package/dist/src/validatorTxBuilder.d.ts.map +1 -0
- package/dist/src/validatorTxBuilder.js +58 -0
- package/dist/tsconfig.tsbuildinfo +4075 -1820
- package/package.json +4 -4
- package/CHANGELOG.md +0 -70
- package/dist/src/constants.d.ts +0 -10
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/constants.js +0 -12
- package/dist/src/walletInitializationBuilder.d.ts +0 -17
- package/dist/src/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/walletInitializationBuilder.js +0 -31
package/dist/src/transaction.js
CHANGED
|
@@ -1,17 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Transaction = void 0;
|
|
4
7
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
8
|
+
const keyPair_1 = require("./keyPair");
|
|
9
|
+
const platformvm_1 = require("avalanche/dist/apis/platformvm");
|
|
10
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
5
11
|
class Transaction extends sdk_core_1.BaseTransaction {
|
|
6
12
|
constructor(coinConfig) {
|
|
7
13
|
super(coinConfig);
|
|
14
|
+
const network = coinConfig.network;
|
|
15
|
+
this._chainID = network.alias;
|
|
16
|
+
this._hrp = network.hrp;
|
|
17
|
+
}
|
|
18
|
+
get avaxPTransaction() {
|
|
19
|
+
return this._avaxpBaseTransaction;
|
|
20
|
+
}
|
|
21
|
+
set avaxPTransaction(tx) {
|
|
22
|
+
this._avaxpBaseTransaction = tx;
|
|
8
23
|
}
|
|
9
24
|
/** @inheritdoc */
|
|
10
25
|
canSign({ key }) {
|
|
11
|
-
|
|
26
|
+
try {
|
|
27
|
+
new keyPair_1.KeyPair({ prv: key.key });
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
12
33
|
}
|
|
13
34
|
/**
|
|
14
35
|
* Sign a avaxp transaction and update the transaction hex
|
|
36
|
+
* validator, delegator, import, exports extend baseTx
|
|
37
|
+
* unsignedTx: UnsignedTx = new UnsignedTx(baseTx) (baseTx = addValidatorTx)
|
|
38
|
+
* const tx: Tx = unsignedTx.sign(keychain) (tx is type standard signed tx)
|
|
39
|
+
* get baseTx then create new unsignedTx then sign
|
|
15
40
|
*
|
|
16
41
|
* @param {KeyPair} keyPair
|
|
17
42
|
*/
|
|
@@ -20,19 +45,42 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
20
45
|
if (!keys.prv) {
|
|
21
46
|
throw new sdk_core_1.SigningError('Missing private key');
|
|
22
47
|
}
|
|
23
|
-
|
|
48
|
+
if (!this.avaxPTransaction) {
|
|
49
|
+
throw new sdk_core_1.InvalidTransactionError('empty transaction to sign');
|
|
50
|
+
}
|
|
51
|
+
const pKeychain = new platformvm_1.KeyChain(this._hrp, this._chainID);
|
|
52
|
+
this._avaxpTransaction = new platformvm_1.UnsignedTx(this._avaxpBaseTransaction);
|
|
53
|
+
this._avaxpTransaction.sign(pKeychain);
|
|
24
54
|
}
|
|
25
55
|
sender(sender) {
|
|
26
56
|
this._sender = sender;
|
|
27
57
|
}
|
|
28
58
|
/** @inheritdoc */
|
|
59
|
+
/**
|
|
60
|
+
* should be of signedTx doing this with baseTx
|
|
61
|
+
*/
|
|
29
62
|
toBroadcastFormat() {
|
|
30
|
-
|
|
63
|
+
if (!this.avaxPTransaction) {
|
|
64
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
65
|
+
}
|
|
66
|
+
const un = new platformvm_1.UnsignedTx(this._avaxpBaseTransaction);
|
|
67
|
+
const buffer = un.toBuffer(); // this._avaxpBaseTransaction.toBuffer();
|
|
68
|
+
const txSerialized = utils_1.default.cb58Encode(buffer).toString();
|
|
69
|
+
return txSerialized;
|
|
31
70
|
}
|
|
32
71
|
// types - stakingTransaction, import, export
|
|
33
|
-
/** @inheritdoc */
|
|
34
72
|
toJson() {
|
|
35
|
-
|
|
73
|
+
if (!this.avaxPTransaction) {
|
|
74
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
blockchain_id: utils_1.default.cb58Encode(this._avaxpBaseTransaction.getBlockchainID()),
|
|
78
|
+
network_id: this._avaxpBaseTransaction.getNetworkID(),
|
|
79
|
+
inputs: this._avaxpBaseTransaction.getIns(),
|
|
80
|
+
outputs: this._avaxpBaseTransaction.getOuts(),
|
|
81
|
+
memo: utils_1.default.bufferToString(this._avaxpBaseTransaction.getMemo()),
|
|
82
|
+
typeID: this._avaxpBaseTransaction.getTxType(),
|
|
83
|
+
};
|
|
36
84
|
}
|
|
37
85
|
setTransaction(tx) {
|
|
38
86
|
this._avaxpTransaction = tx;
|
|
@@ -47,4 +95,4 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
47
95
|
}
|
|
48
96
|
}
|
|
49
97
|
exports.Transaction = Transaction;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsOENBQW1IO0FBQ25ILHVDQUFvQztBQUVwQywrREFBOEU7QUFDOUUsb0RBQTRCO0FBRTVCLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBUTlDLFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUEyQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLEVBQVU7UUFDN0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBVztRQUN0QixJQUFJO1lBQ0YsSUFBSSxpQkFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFBQyxNQUFNO1lBQ04sT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQUksQ0FBQyxPQUFnQjtRQUNuQixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLElBQUksdUJBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixNQUFNLElBQUksa0NBQXVCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUNoRTtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUkscUJBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSx1QkFBVSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEI7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSx1QkFBVSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQUN2RSxNQUFNLFlBQVksR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFDRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLGVBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdFLFVBQVUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFO1lBQ3JELE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFO1lBQzNDLE9BQU8sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFO1lBQzdDLElBQUksRUFBRSxlQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsRUFBRTtTQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFjO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrQkFBa0IsQ0FBQyxlQUFnQztRQUNqRCxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFwR0Qsa0NBb0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgQXZhbGFuY2hlTmV0d29yayB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VLZXksIFNpZ25pbmdFcnJvciwgQmFzZVRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgVHhEYXRhIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBVbnNpZ25lZFR4LCBCYXNlVHgsIEtleUNoYWluIH0gZnJvbSAnYXZhbGFuY2hlL2Rpc3QvYXBpcy9wbGF0Zm9ybXZtJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9hdmF4cFRyYW5zYWN0aW9uITogVW5zaWduZWRUeDtcbiAgcHJvdGVjdGVkIF9hdmF4cEJhc2VUcmFuc2FjdGlvbiE6IEJhc2VUeDtcbiAgcHJpdmF0ZSBfc2VuZGVyITogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3R5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcHJvdGVjdGVkIF9jaGFpbklEOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfaHJwOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgICBjb25zdCBuZXR3b3JrID0gY29pbkNvbmZpZy5uZXR3b3JrIGFzIEF2YWxhbmNoZU5ldHdvcms7XG4gICAgdGhpcy5fY2hhaW5JRCA9IG5ldHdvcmsuYWxpYXM7XG4gICAgdGhpcy5faHJwID0gbmV0d29yay5ocnA7XG4gIH1cblxuICBnZXQgYXZheFBUcmFuc2FjdGlvbigpOiBCYXNlVHgge1xuICAgIHJldHVybiB0aGlzLl9hdmF4cEJhc2VUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCBhdmF4UFRyYW5zYWN0aW9uKHR4OiBCYXNlVHgpIHtcbiAgICB0aGlzLl9hdmF4cEJhc2VUcmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oeyBrZXkgfTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIGEgYXZheHAgdHJhbnNhY3Rpb24gYW5kIHVwZGF0ZSB0aGUgdHJhbnNhY3Rpb24gaGV4XG4gICAqIHZhbGlkYXRvciwgZGVsZWdhdG9yLCBpbXBvcnQsIGV4cG9ydHMgZXh0ZW5kIGJhc2VUeFxuICAgKiB1bnNpZ25lZFR4OiBVbnNpZ25lZFR4ID0gbmV3IFVuc2lnbmVkVHgoYmFzZVR4KSAgKGJhc2VUeCA9IGFkZFZhbGlkYXRvclR4KVxuICAgKiBjb25zdCB0eDogVHggPSB1bnNpZ25lZFR4LnNpZ24oa2V5Y2hhaW4pICh0eCBpcyB0eXBlIHN0YW5kYXJkIHNpZ25lZCB0eClcbiAgICogZ2V0IGJhc2VUeCB0aGVuIGNyZWF0ZSBuZXcgdW5zaWduZWRUeCB0aGVuIHNpZ25cbiAgICpcbiAgICogQHBhcmFtIHtLZXlQYWlyfSBrZXlQYWlyXG4gICAqL1xuICBzaWduKGtleVBhaXI6IEtleVBhaXIpOiB2b2lkIHtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgaWYgKCFrZXlzLnBydikge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYXZheFBUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdlbXB0eSB0cmFuc2FjdGlvbiB0byBzaWduJyk7XG4gICAgfVxuICAgIGNvbnN0IHBLZXljaGFpbiA9IG5ldyBLZXlDaGFpbih0aGlzLl9ocnAsIHRoaXMuX2NoYWluSUQpO1xuICAgIHRoaXMuX2F2YXhwVHJhbnNhY3Rpb24gPSBuZXcgVW5zaWduZWRUeCh0aGlzLl9hdmF4cEJhc2VUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5fYXZheHBUcmFuc2FjdGlvbi5zaWduKHBLZXljaGFpbik7XG4gIH1cblxuICBzZW5kZXIoc2VuZGVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9zZW5kZXIgPSBzZW5kZXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgLyoqXG4gICAqIHNob3VsZCBiZSBvZiBzaWduZWRUeCBkb2luZyB0aGlzIHdpdGggYmFzZVR4XG4gICAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5hdmF4UFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgdW4gPSBuZXcgVW5zaWduZWRUeCh0aGlzLl9hdmF4cEJhc2VUcmFuc2FjdGlvbik7XG4gICAgY29uc3QgYnVmZmVyID0gdW4udG9CdWZmZXIoKTsgLy8gdGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24udG9CdWZmZXIoKTtcbiAgICBjb25zdCB0eFNlcmlhbGl6ZWQgPSB1dGlscy5jYjU4RW5jb2RlKGJ1ZmZlcikudG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdHhTZXJpYWxpemVkO1xuICB9XG5cbiAgLy8gdHlwZXMgLSBzdGFraW5nVHJhbnNhY3Rpb24sIGltcG9ydCwgZXhwb3J0XG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5hdmF4UFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGJsb2NrY2hhaW5faWQ6IHV0aWxzLmNiNThFbmNvZGUodGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0QmxvY2tjaGFpbklEKCkpLFxuICAgICAgbmV0d29ya19pZDogdGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0TmV0d29ya0lEKCksXG4gICAgICBpbnB1dHM6IHRoaXMuX2F2YXhwQmFzZVRyYW5zYWN0aW9uLmdldElucygpLFxuICAgICAgb3V0cHV0czogdGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0T3V0cygpLFxuICAgICAgbWVtbzogdXRpbHMuYnVmZmVyVG9TdHJpbmcodGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0TWVtbygpKSxcbiAgICAgIHR5cGVJRDogdGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0VHhUeXBlKCksXG4gICAgfTtcbiAgfVxuXG4gIHNldFRyYW5zYWN0aW9uKHR4OiBVbnNpZ25lZFR4KTogdm9pZCB7XG4gICAgdGhpcy5fYXZheHBUcmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdHlwZVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uVHlwZX0gdHJhbnNhY3Rpb25UeXBlIFRoZSB0cmFuc2FjdGlvbiB0eXBlIHRvIGJlIHNldFxuICAgKi9cbiAgc2V0VHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKTogdm9pZCB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxufVxuIl19
|
|
@@ -1,36 +1,71 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="bn.js" />
|
|
2
|
+
import { AvalancheNetwork, BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
3
|
import BigNumber from 'bignumber.js';
|
|
3
4
|
import { BaseAddress, BaseKey, BaseTransactionBuilder, TransactionType } from '@bitgo/sdk-core';
|
|
4
5
|
import { Transaction } from './transaction';
|
|
6
|
+
import { KeyPair } from './keyPair';
|
|
7
|
+
import { BN, Buffer } from 'avalanche';
|
|
8
|
+
import { BaseTx } from 'avalanche/dist/apis/platformvm/basetx';
|
|
9
|
+
import { DecodedUtxoObj } from './iface';
|
|
5
10
|
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
6
11
|
private _transaction;
|
|
7
|
-
protected
|
|
8
|
-
protected
|
|
12
|
+
protected _network: AvalancheNetwork;
|
|
13
|
+
protected _networkID: number;
|
|
14
|
+
protected _assetId: Buffer;
|
|
15
|
+
protected _blockchainID: Buffer;
|
|
16
|
+
protected _memo?: Buffer;
|
|
17
|
+
protected _signer: KeyPair;
|
|
18
|
+
protected _threshold: number;
|
|
19
|
+
protected _locktime: BN;
|
|
20
|
+
protected _fromPubKeys: Buffer[];
|
|
21
|
+
protected _utxos: DecodedUtxoObj[];
|
|
22
|
+
protected _txFee: BN;
|
|
23
|
+
private _credentials;
|
|
9
24
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
25
|
+
/**
|
|
26
|
+
* commented out check until multisig signing is in effect
|
|
27
|
+
* TODO: STLX-17077
|
|
28
|
+
* @param value
|
|
29
|
+
*/
|
|
30
|
+
threshold(value: number): this;
|
|
31
|
+
locktime(value: string | number): this;
|
|
32
|
+
fromPubKey(senderPubKey: string | string[]): this;
|
|
33
|
+
utxos(value: DecodedUtxoObj[]): this;
|
|
10
34
|
/**
|
|
11
35
|
*
|
|
12
|
-
* @param
|
|
13
|
-
* @returns
|
|
14
|
-
*
|
|
36
|
+
* @param value Optional Buffer for the memo
|
|
37
|
+
* @returns value Buffer for the memo
|
|
38
|
+
* set using Buffer.from("message")
|
|
15
39
|
*/
|
|
16
|
-
|
|
40
|
+
memo(value: string): this;
|
|
17
41
|
/**
|
|
18
42
|
* Initialize the transaction builder fields using the decoded transaction data
|
|
19
43
|
*
|
|
20
44
|
* @param {Transaction} tx the transaction data
|
|
21
45
|
*/
|
|
22
|
-
initBuilder(tx
|
|
46
|
+
initBuilder(tx?: BaseTx): this;
|
|
23
47
|
/** @inheritdoc */
|
|
24
48
|
protected fromImplementation(rawTransaction: string): Transaction;
|
|
25
49
|
/** @inheritdoc */
|
|
26
50
|
protected buildImplementation(): Promise<Transaction>;
|
|
27
51
|
/**
|
|
28
|
-
* Builds the avaxp transaction
|
|
52
|
+
* Builds the avaxp transaction
|
|
53
|
+
* @return {Transaction} avaxp sdk transaction
|
|
29
54
|
*/
|
|
30
|
-
protected abstract buildAvaxpTransaction():
|
|
55
|
+
protected abstract buildAvaxpTransaction(): BaseTx;
|
|
31
56
|
/** @inheritdoc */
|
|
32
57
|
protected get transaction(): Transaction;
|
|
33
58
|
protected abstract get transactionType(): TransactionType;
|
|
59
|
+
/**
|
|
60
|
+
* Validates the threshold
|
|
61
|
+
* @param threshold
|
|
62
|
+
*/
|
|
63
|
+
validateThreshold(threshold: number): void;
|
|
64
|
+
/**
|
|
65
|
+
* Validates locktime
|
|
66
|
+
* @param locktime
|
|
67
|
+
*/
|
|
68
|
+
validateLocktime(locktime: BN): void;
|
|
34
69
|
/** @inheritdoc */
|
|
35
70
|
validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
36
71
|
/** @inheritdoc */
|
|
@@ -41,5 +76,7 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
|
|
|
41
76
|
validateTransaction(transaction?: Transaction): void;
|
|
42
77
|
/** @inheritdoc */
|
|
43
78
|
validateValue(value: BigNumber): void;
|
|
79
|
+
validateUtxos(values: DecodedUtxoObj[]): void;
|
|
80
|
+
validateUtxo(value: DecodedUtxoObj): void;
|
|
44
81
|
}
|
|
45
82
|
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../src/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../src/transactionBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TransactionBuilder = void 0;
|
|
4
7
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
8
|
const transaction_1 = require("./transaction");
|
|
6
|
-
const
|
|
9
|
+
const keyPair_1 = require("./keyPair");
|
|
10
|
+
const avalanche_1 = require("avalanche");
|
|
11
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
7
12
|
class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
8
13
|
constructor(_coinConfig) {
|
|
9
14
|
super(_coinConfig);
|
|
15
|
+
this._threshold = 2;
|
|
16
|
+
this._locktime = new avalanche_1.BN(0);
|
|
17
|
+
this._fromPubKeys = [];
|
|
18
|
+
this._utxos = [];
|
|
10
19
|
this._transaction = new transaction_1.Transaction(_coinConfig);
|
|
11
|
-
this._network =
|
|
20
|
+
this._network = _coinConfig.network;
|
|
21
|
+
this._assetId = utils_1.default.cb58Decode(this._network.avaxAssetID);
|
|
22
|
+
this._blockchainID = utils_1.default.cb58Decode(this._network.blockchainID);
|
|
23
|
+
this._networkID = this._network.networkID;
|
|
24
|
+
this._txFee = new avalanche_1.BN(this._network.txFee.toString());
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* commented out check until multisig signing is in effect
|
|
28
|
+
* TODO: STLX-17077
|
|
29
|
+
* @param value
|
|
30
|
+
*/
|
|
31
|
+
threshold(value) {
|
|
32
|
+
// this.validateThreshold(value);
|
|
33
|
+
this._threshold = value;
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
locktime(value) {
|
|
37
|
+
this.validateLocktime(new avalanche_1.BN(value));
|
|
38
|
+
this._locktime = new avalanche_1.BN(value);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
fromPubKey(senderPubKey) {
|
|
42
|
+
const pubKeys = senderPubKey instanceof Array ? senderPubKey : [senderPubKey];
|
|
43
|
+
this._fromPubKeys = pubKeys.map(utils_1.default.parseAddress);
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
utxos(value) {
|
|
47
|
+
this.validateUtxos(value);
|
|
48
|
+
this._utxos = value;
|
|
49
|
+
return this;
|
|
12
50
|
}
|
|
13
51
|
/**
|
|
14
52
|
*
|
|
15
|
-
* @param
|
|
16
|
-
* @returns
|
|
17
|
-
*
|
|
53
|
+
* @param value Optional Buffer for the memo
|
|
54
|
+
* @returns value Buffer for the memo
|
|
55
|
+
* set using Buffer.from("message")
|
|
18
56
|
*/
|
|
19
|
-
|
|
20
|
-
this.
|
|
21
|
-
this._sender = address;
|
|
22
|
-
this._transaction.sender(address);
|
|
57
|
+
memo(value) {
|
|
58
|
+
this._memo = utils_1.default.stringToBuffer(value);
|
|
23
59
|
return this;
|
|
24
60
|
}
|
|
25
61
|
/**
|
|
@@ -28,15 +64,41 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
28
64
|
* @param {Transaction} tx the transaction data
|
|
29
65
|
*/
|
|
30
66
|
initBuilder(tx) {
|
|
31
|
-
|
|
67
|
+
if (!tx)
|
|
68
|
+
return this;
|
|
69
|
+
if (tx.getNetworkID() !== this._networkID || !tx.getBlockchainID().equals(this._blockchainID)) {
|
|
70
|
+
throw new Error('Network or blockchain is not equals');
|
|
71
|
+
}
|
|
72
|
+
this._memo = tx.getMemo();
|
|
73
|
+
const out = tx.getOuts()[0];
|
|
74
|
+
if (!out.getAssetID().equals(this._assetId)) {
|
|
75
|
+
throw new Error('AssetID are not equals');
|
|
76
|
+
}
|
|
77
|
+
const secpOut = out.getOutput();
|
|
78
|
+
this._locktime = secpOut.getLocktime();
|
|
79
|
+
this._threshold = secpOut.getThreshold();
|
|
80
|
+
this._fromPubKeys = secpOut.getAddresses();
|
|
81
|
+
this._transaction.avaxPTransaction = tx;
|
|
82
|
+
return this;
|
|
32
83
|
}
|
|
33
84
|
/** @inheritdoc */
|
|
34
85
|
fromImplementation(rawTransaction) {
|
|
35
|
-
|
|
86
|
+
this.validateRawTransaction(rawTransaction);
|
|
87
|
+
this.buildImplementation();
|
|
88
|
+
return this.transaction;
|
|
36
89
|
}
|
|
37
90
|
/** @inheritdoc */
|
|
38
91
|
async buildImplementation() {
|
|
39
|
-
|
|
92
|
+
this.transaction.avaxPTransaction = this.buildAvaxpTransaction();
|
|
93
|
+
if (this._signer) {
|
|
94
|
+
// TODO: sign method in transaction.ts
|
|
95
|
+
this.transaction.sign(this._signer);
|
|
96
|
+
}
|
|
97
|
+
// TODO: multisig support addition STLX-17077
|
|
98
|
+
// if (this._credentials.length > 0) {
|
|
99
|
+
// this.transaction.constructSignedPayload(this._credentials[0]);
|
|
100
|
+
// }
|
|
101
|
+
return this.transaction;
|
|
40
102
|
}
|
|
41
103
|
// region Getters and Setters
|
|
42
104
|
/** @inheritdoc */
|
|
@@ -45,26 +107,65 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
45
107
|
}
|
|
46
108
|
// endregion
|
|
47
109
|
// region Validators
|
|
110
|
+
/**
|
|
111
|
+
* Validates the threshold
|
|
112
|
+
* @param threshold
|
|
113
|
+
*/
|
|
114
|
+
validateThreshold(threshold) {
|
|
115
|
+
if (!threshold || threshold !== 2) {
|
|
116
|
+
throw new sdk_core_1.BuildTransactionError('Invalid transaction: threshold must be set to 2');
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Validates locktime
|
|
121
|
+
* @param locktime
|
|
122
|
+
*/
|
|
123
|
+
validateLocktime(locktime) {
|
|
124
|
+
if (!locktime || locktime.lt(new avalanche_1.BN(0))) {
|
|
125
|
+
throw new sdk_core_1.BuildTransactionError('Invalid transaction: locktime must be 0 or higher');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
48
128
|
/** @inheritdoc */
|
|
49
129
|
validateAddress(address, addressFormat) {
|
|
50
130
|
throw new sdk_core_1.NotImplementedError('validateAddress not implemented');
|
|
51
131
|
}
|
|
52
132
|
/** @inheritdoc */
|
|
53
133
|
validateKey(key) {
|
|
54
|
-
|
|
134
|
+
if (!new keyPair_1.KeyPair({ prv: key.key })) {
|
|
135
|
+
throw new sdk_core_1.BuildTransactionError('Invalid key');
|
|
136
|
+
}
|
|
55
137
|
}
|
|
56
138
|
/** @inheritdoc */
|
|
57
139
|
validateRawTransaction(rawTransaction) {
|
|
58
|
-
|
|
140
|
+
if (!rawTransaction) {
|
|
141
|
+
throw new sdk_core_1.InvalidTransactionError('Raw transaction is empty');
|
|
142
|
+
}
|
|
143
|
+
if (utils_1.default.allHexChars(rawTransaction)) {
|
|
144
|
+
throw new sdk_core_1.ParseTransactionError('Raw transaction is not hex string');
|
|
145
|
+
}
|
|
59
146
|
}
|
|
60
147
|
/** @inheritdoc */
|
|
61
148
|
validateTransaction(transaction) {
|
|
62
|
-
throw new
|
|
149
|
+
// throw new NotImplementedError('validateTransaction not implemented');
|
|
63
150
|
}
|
|
64
151
|
/** @inheritdoc */
|
|
65
152
|
validateValue(value) {
|
|
66
|
-
|
|
153
|
+
if (value.isLessThan(0)) {
|
|
154
|
+
throw new sdk_core_1.BuildTransactionError('Value cannot be less than zero');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
validateUtxos(values) {
|
|
158
|
+
if (values.length === 0) {
|
|
159
|
+
throw new sdk_core_1.BuildTransactionError("Utxos can't be empty array");
|
|
160
|
+
}
|
|
161
|
+
values.forEach(this.validateUtxo);
|
|
162
|
+
}
|
|
163
|
+
validateUtxo(value) {
|
|
164
|
+
['outputID', 'amount', 'txid', 'outputidx'].forEach((field) => {
|
|
165
|
+
if (!value.hasOwnProperty(field))
|
|
166
|
+
throw new sdk_core_1.BuildTransactionError(`Utxos required ${field}`);
|
|
167
|
+
});
|
|
67
168
|
}
|
|
68
169
|
}
|
|
69
170
|
exports.TransactionBuilder = TransactionBuilder;
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw4Q0FBcUg7QUFDckgsK0NBQTRDO0FBQzVDLDJDQUFrRDtBQUVsRCxNQUFzQixrQkFBbUIsU0FBUSxpQ0FBc0I7SUFJckUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQywrQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLCtCQUFtQixDQUFDLE9BQU8sQ0FBQztJQUMxRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQWU7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLElBQUksOEJBQW1CLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLElBQUksOEJBQW1CLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBT0QsNkJBQTZCO0lBQzdCLGtCQUFrQjtJQUNsQixJQUFjLFdBQVc7UUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFJRCxZQUFZO0lBRVosb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixlQUFlLENBQUMsT0FBb0IsRUFBRSxhQUFzQjtRQUMxRCxNQUFNLElBQUksOEJBQW1CLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxHQUFZO1FBQ3RCLE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsc0JBQXNCLENBQUMsY0FBc0I7UUFDM0MsTUFBTSxJQUFJLDhCQUFtQixDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixtQkFBbUIsQ0FBQyxXQUF5QjtRQUMzQyxNQUFNLElBQUksOEJBQW1CLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixNQUFNLElBQUksOEJBQW1CLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBRUY7QUFuRkQsZ0RBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IE5vdEltcGxlbWVudGVkRXJyb3IsIEJhc2VBZGRyZXNzLCBCYXNlS2V5LCBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IERFRkFVTFRfQ0hBSU5fTkFNRVMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX3NlbmRlciE6IHN0cmluZzsgLy8gdGhpcyBpcyBub3QgcmVxdWlyZWQgZm9yIGJhc2VUeCB0aGF0IGV4dGVuZHMgYWxsIHRoZSBvdGhlciB0eCBtYXliZSBzd2l0Y2ggaW50byBhZGREZWxlZ2F0b3IgLyBhZGRWYWxpZGF0b3JcbiAgcHJvdGVjdGVkIF9uZXR3b3JrOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fbmV0d29yayA9IHRoaXMuY29pbk5hbWUoKSA9PT0gJ2F2YXhwJyA/IERFRkFVTFRfQ0hBSU5fTkFNRVMubWFpbm5ldCA6IERFRkFVTFRfQ0hBSU5fTkFNRVMudGVzdG5ldDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VBZGRyZXNzfSBhZGRyZXNzIFRoZSBwLWNoYWluIGFkZHJlc3MuXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlci5cbiAgICpcbiAgICovXG4gIHNlbmRlcih7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfSk7XG4gICAgdGhpcy5fc2VuZGVyID0gYWRkcmVzcztcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5zZW5kZXIoYWRkcmVzcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2luaXRCdWlsZGVyIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignZnJvbUltcGxlbWVudGF0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignYnVpbGRJbXBsZW1lbnRhdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgdGhlIGF2YXhwIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkQXZheHBUcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbjtcblxuICAvLyByZWdpb24gR2V0dGVycyBhbmQgU2V0dGVyc1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlO1xuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVBZGRyZXNzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCd2YWxpZGF0ZUtleSBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVSYXdUcmFuc2FjdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVUcmFuc2FjdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVWYWx1ZSBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSw4Q0FTeUI7QUFDekIsK0NBQTRDO0FBQzVDLHVDQUFvQztBQUNwQyx5Q0FBdUM7QUFHdkMsb0RBQTRCO0FBRzVCLE1BQXNCLGtCQUFtQixTQUFRLGlDQUFzQjtJQWdCckUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFUWCxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsY0FBUyxHQUFPLElBQUksY0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLFdBQU0sR0FBcUIsRUFBRSxDQUFDO1FBT3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLE9BQTJCLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksY0FBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFFSCxTQUFTLENBQUMsS0FBYTtRQUNyQixpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxL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RCxJQUFJLGVBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLG1DQUFtQyxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG1CQUFtQixDQUFDLFdBQXlCO1FBQzNDLHdFQUF3RTtJQUMxRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQXdCO1FBQ3BDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDRCQUE0QixDQUFDLENBQUM7U0FDL0Q7UUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXFCO1FBQ2hDLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO2dCQUFFLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxrQkFBa0IsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FHRjtBQXBNRCxnREFvTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdmFsYW5jaGVOZXR3b3JrLCBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHtcbiAgTm90SW1wbGVtZW50ZWRFcnJvcixcbiAgQmFzZUFkZHJlc3MsXG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgQk4sIEJ1ZmZlciB9IGZyb20gJ2F2YWxhbmNoZSc7XG5pbXBvcnQgeyBCYXNlVHggfSBmcm9tICdhdmFsYW5jaGUvZGlzdC9hcGlzL3BsYXRmb3Jtdm0vYmFzZXR4JztcbmltcG9ydCB7IENyZWRlbnRpYWwgfSBmcm9tICdhdmFsYW5jaGUvZGlzdC9jb21tb24nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgRGVjb2RlZFV0eG9PYmogfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb247XG4gIHByb3RlY3RlZCBfbmV0d29yazogQXZhbGFuY2hlTmV0d29yaztcbiAgcHJvdGVjdGVkIF9uZXR3b3JrSUQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9hc3NldElkOiBCdWZmZXI7XG4gIHByb3RlY3RlZCBfYmxvY2tjaGFpbklEOiBCdWZmZXI7XG4gIHByb3RlY3RlZCBfbWVtbz86IEJ1ZmZlcjtcbiAgcHJvdGVjdGVkIF9zaWduZXI6IEtleVBhaXI7XG4gIHByb3RlY3RlZCBfdGhyZXNob2xkID0gMjtcbiAgcHJvdGVjdGVkIF9sb2NrdGltZTogQk4gPSBuZXcgQk4oMCk7XG4gIHByb3RlY3RlZCBfZnJvbVB1YktleXM6IEJ1ZmZlcltdID0gW107XG4gIHByb3RlY3RlZCBfdXR4b3M6IERlY29kZWRVdHhvT2JqW10gPSBbXTtcbiAgcHJvdGVjdGVkIF90eEZlZTogQk47XG5cbiAgcHJpdmF0ZSBfY3JlZGVudGlhbHM6IENyZWRlbnRpYWxbXTsgLy8gaG93IGFyZSB3ZSBwYXNzaW5nIGluIG11bHRpc2lnP1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fbmV0d29yayA9IF9jb2luQ29uZmlnLm5ldHdvcmsgYXMgQXZhbGFuY2hlTmV0d29yaztcbiAgICB0aGlzLl9hc3NldElkID0gdXRpbHMuY2I1OERlY29kZSh0aGlzLl9uZXR3b3JrLmF2YXhBc3NldElEKTtcbiAgICB0aGlzLl9ibG9ja2NoYWluSUQgPSB1dGlscy5jYjU4RGVjb2RlKHRoaXMuX25ldHdvcmsuYmxvY2tjaGFpbklEKTtcbiAgICB0aGlzLl9uZXR3b3JrSUQgPSB0aGlzLl9uZXR3b3JrLm5ldHdvcmtJRDtcbiAgICB0aGlzLl90eEZlZSA9IG5ldyBCTih0aGlzLl9uZXR3b3JrLnR4RmVlLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNvbW1lbnRlZCBvdXQgY2hlY2sgdW50aWwgbXVsdGlzaWcgc2lnbmluZyBpcyBpbiBlZmZlY3RcbiAgICogVE9ETzogU1RMWC0xNzA3N1xuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG5cbiAgdGhyZXNob2xkKHZhbHVlOiBudW1iZXIpOiB0aGlzIHtcbiAgICAvLyB0aGlzLnZhbGlkYXRlVGhyZXNob2xkKHZhbHVlKTtcbiAgICB0aGlzLl90aHJlc2hvbGQgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGxvY2t0aW1lKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlTG9ja3RpbWUobmV3IEJOKHZhbHVlKSk7XG4gICAgdGhpcy5fbG9ja3RpbWUgPSBuZXcgQk4odmFsdWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZnJvbVB1YktleShzZW5kZXJQdWJLZXk6IHN0cmluZyB8IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgY29uc3QgcHViS2V5cyA9IHNlbmRlclB1YktleSBpbnN0YW5jZW9mIEFycmF5ID8gc2VuZGVyUHViS2V5IDogW3NlbmRlclB1YktleV07XG4gICAgdGhpcy5fZnJvbVB1YktleXMgPSBwdWJLZXlzLm1hcCh1dGlscy5wYXJzZUFkZHJlc3MpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgdXR4b3ModmFsdWU6IERlY29kZWRVdHhvT2JqW10pOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVXR4b3ModmFsdWUpO1xuICAgIHRoaXMuX3V0eG9zID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBPcHRpb25hbCBCdWZmZXIgZm9yIHRoZSBtZW1vXG4gICAqIEByZXR1cm5zIHZhbHVlIEJ1ZmZlciBmb3IgdGhlIG1lbW9cbiAgICogc2V0IHVzaW5nIEJ1ZmZlci5mcm9tKFwibWVzc2FnZVwiKVxuICAgKi9cbiAgbWVtbyh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fbWVtbyA9IHV0aWxzLnN0cmluZ1RvQnVmZmVyKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBpbml0QnVpbGRlcih0eD86IEJhc2VUeCk6IHRoaXMge1xuICAgIGlmICghdHgpIHJldHVybiB0aGlzO1xuICAgIGlmICh0eC5nZXROZXR3b3JrSUQoKSAhPT0gdGhpcy5fbmV0d29ya0lEIHx8ICF0eC5nZXRCbG9ja2NoYWluSUQoKS5lcXVhbHModGhpcy5fYmxvY2tjaGFpbklEKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIG9yIGJsb2NrY2hhaW4gaXMgbm90IGVxdWFscycpO1xuICAgIH1cbiAgICB0aGlzLl9tZW1vID0gdHguZ2V0TWVtbygpO1xuICAgIGNvbnN0IG91dCA9IHR4LmdldE91dHMoKVswXTtcbiAgICBpZiAoIW91dC5nZXRBc3NldElEKCkuZXF1YWxzKHRoaXMuX2Fzc2V0SWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fzc2V0SUQgYXJlIG5vdCBlcXVhbHMnKTtcbiAgICB9XG4gICAgY29uc3Qgc2VjcE91dCA9IG91dC5nZXRPdXRwdXQoKTtcbiAgICB0aGlzLl9sb2NrdGltZSA9IHNlY3BPdXQuZ2V0TG9ja3RpbWUoKTtcbiAgICB0aGlzLl90aHJlc2hvbGQgPSBzZWNwT3V0LmdldFRocmVzaG9sZCgpO1xuICAgIHRoaXMuX2Zyb21QdWJLZXlzID0gc2VjcE91dC5nZXRBZGRyZXNzZXMoKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5hdmF4UFRyYW5zYWN0aW9uID0gdHg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uYXZheFBUcmFuc2FjdGlvbiA9IHRoaXMuYnVpbGRBdmF4cFRyYW5zYWN0aW9uKCk7XG4gICAgaWYgKHRoaXMuX3NpZ25lcikge1xuICAgICAgLy8gVE9ETzogc2lnbiBtZXRob2QgaW4gdHJhbnNhY3Rpb24udHNcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbih0aGlzLl9zaWduZXIpO1xuICAgIH1cbiAgICAvLyBUT0RPOiBtdWx0aXNpZyBzdXBwb3J0IGFkZGl0aW9uIFNUTFgtMTcwNzdcbiAgICAvLyBpZiAodGhpcy5fY3JlZGVudGlhbHMubGVuZ3RoID4gMCkge1xuICAgIC8vICAgdGhpcy50cmFuc2FjdGlvbi5jb25zdHJ1Y3RTaWduZWRQYXlsb2FkKHRoaXMuX2NyZWRlbnRpYWxzWzBdKTtcbiAgICAvLyB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBhdmF4cCB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJuIHtUcmFuc2FjdGlvbn0gYXZheHAgc2RrIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRBdmF4cFRyYW5zYWN0aW9uKCk6IEJhc2VUeDtcblxuICAvLyByZWdpb24gR2V0dGVycyBhbmQgU2V0dGVyc1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlO1xuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgdGhyZXNob2xkXG4gICAqIEBwYXJhbSB0aHJlc2hvbGRcbiAgICovXG4gIHZhbGlkYXRlVGhyZXNob2xkKHRocmVzaG9sZDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aHJlc2hvbGQgfHwgdGhyZXNob2xkICE9PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiB0aHJlc2hvbGQgbXVzdCBiZSBzZXQgdG8gMicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgbG9ja3RpbWVcbiAgICogQHBhcmFtIGxvY2t0aW1lXG4gICAqL1xuICB2YWxpZGF0ZUxvY2t0aW1lKGxvY2t0aW1lOiBCTik6IHZvaWQge1xuICAgIGlmICghbG9ja3RpbWUgfHwgbG9ja3RpbWUubHQobmV3IEJOKDApKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbG9ja3RpbWUgbXVzdCBiZSAwIG9yIGhpZ2hlcicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVBZGRyZXNzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIGlmICghbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignUmF3IHRyYW5zYWN0aW9uIGlzIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICh1dGlscy5hbGxIZXhDaGFycyhyYXdUcmFuc2FjdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ1JhdyB0cmFuc2FjdGlvbiBpcyBub3QgaGV4IHN0cmluZycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICAvLyB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcigndmFsaWRhdGVUcmFuc2FjdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVVdHhvcyh2YWx1ZXM6IERlY29kZWRVdHhvT2JqW10pOiB2b2lkIHtcbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihcIlV0eG9zIGNhbid0IGJlIGVtcHR5IGFycmF5XCIpO1xuICAgIH1cbiAgICB2YWx1ZXMuZm9yRWFjaCh0aGlzLnZhbGlkYXRlVXR4byk7XG4gIH1cblxuICB2YWxpZGF0ZVV0eG8odmFsdWU6IERlY29kZWRVdHhvT2JqKTogdm9pZCB7XG4gICAgWydvdXRwdXRJRCcsICdhbW91bnQnLCAndHhpZCcsICdvdXRwdXRpZHgnXS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKCF2YWx1ZS5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYFV0eG9zIHJlcXVpcmVkICR7ZmllbGR9YCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
2
|
import { BaseTransactionBuilderFactory } from '@bitgo/sdk-core';
|
|
3
3
|
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
-
import { WalletInitializationBuilder } from './walletInitializationBuilder';
|
|
5
|
-
import { Transaction } from './transaction';
|
|
6
4
|
import { TransferBuilder } from './transferBuilder';
|
|
5
|
+
import { ValidatorTxBuilder } from './validatorTxBuilder';
|
|
6
|
+
import { BaseTx } from 'avalanche/dist/apis/platformvm';
|
|
7
7
|
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
8
8
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
9
|
/** @inheritdoc */
|
|
10
|
-
from(raw:
|
|
10
|
+
from(raw: string): TransactionBuilder;
|
|
11
11
|
/** @inheritdoc */
|
|
12
|
-
|
|
13
|
-
/** @inheritdoc */
|
|
14
|
-
getTransferBuilder(tx?: Transaction): TransferBuilder;
|
|
12
|
+
getTransferBuilder(tx?: BaseTx): TransferBuilder;
|
|
15
13
|
/**
|
|
16
|
-
* Initialize
|
|
14
|
+
* Initialize Validator builder
|
|
17
15
|
*
|
|
18
16
|
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
19
|
-
* @
|
|
20
|
-
* @returns {TransactionBuilder} the builder initialized
|
|
17
|
+
* @returns {StakingTxBuilder} the builder initialized
|
|
21
18
|
*/
|
|
22
|
-
|
|
19
|
+
getValidatorBuilder(tx?: BaseTx): ValidatorTxBuilder;
|
|
20
|
+
getWalletInitializationBuilder(): TransactionBuilder;
|
|
23
21
|
}
|
|
24
22
|
//# sourceMappingURL=transactionBuilderFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../src/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAuB,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../src/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAuB,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAkB,MAAM,gCAAgC,CAAC;AAIxE,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAiBrC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe;IAIhD;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAIpD,8BAA8B,IAAI,kBAAkB;CAGrD"}
|
|
@@ -1,38 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TransactionBuilderFactory = void 0;
|
|
4
7
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
|
-
const walletInitializationBuilder_1 = require("./walletInitializationBuilder");
|
|
6
8
|
const transferBuilder_1 = require("./transferBuilder");
|
|
9
|
+
const validatorTxBuilder_1 = require("./validatorTxBuilder");
|
|
10
|
+
const platformvm_1 = require("avalanche/dist/apis/platformvm");
|
|
11
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
+
const constants_1 = require("avalanche/dist/apis/platformvm/constants");
|
|
7
13
|
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
8
14
|
constructor(_coinConfig) {
|
|
9
15
|
super(_coinConfig);
|
|
10
16
|
}
|
|
11
17
|
/** @inheritdoc */
|
|
12
18
|
from(raw) {
|
|
19
|
+
const tx = new platformvm_1.Tx();
|
|
20
|
+
let utx;
|
|
21
|
+
try {
|
|
22
|
+
tx.fromString(raw);
|
|
23
|
+
utx = tx.getUnsignedTx();
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
utx = new platformvm_1.UnsignedTx();
|
|
27
|
+
utx.fromBuffer(utils_1.default.cb58Decode(raw));
|
|
28
|
+
}
|
|
29
|
+
const baseTx = utx.getTransaction();
|
|
30
|
+
if (baseTx.getTypeID() === constants_1.PlatformVMConstants.ADDVALIDATORTX) {
|
|
31
|
+
return this.getValidatorBuilder(baseTx);
|
|
32
|
+
}
|
|
13
33
|
throw new sdk_core_1.NotImplementedError('from not implemented');
|
|
14
34
|
}
|
|
15
35
|
/** @inheritdoc */
|
|
16
|
-
getWalletInitializationBuilder(tx) {
|
|
17
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new walletInitializationBuilder_1.WalletInitializationBuilder(this._coinConfig));
|
|
18
|
-
}
|
|
19
|
-
/** @inheritdoc */
|
|
20
36
|
getTransferBuilder(tx) {
|
|
21
|
-
return
|
|
37
|
+
return new transferBuilder_1.TransferBuilder(this._coinConfig).initBuilder(tx);
|
|
22
38
|
}
|
|
23
39
|
/**
|
|
24
|
-
* Initialize
|
|
40
|
+
* Initialize Validator builder
|
|
25
41
|
*
|
|
26
42
|
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
27
|
-
* @
|
|
28
|
-
* @returns {TransactionBuilder} the builder initialized
|
|
43
|
+
* @returns {StakingTxBuilder} the builder initialized
|
|
29
44
|
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
45
|
+
getValidatorBuilder(tx) {
|
|
46
|
+
return new validatorTxBuilder_1.ValidatorTxBuilder(this._coinConfig).initBuilder(tx);
|
|
47
|
+
}
|
|
48
|
+
getWalletInitializationBuilder() {
|
|
49
|
+
throw new sdk_core_1.NotImplementedError('Wallet initialization is not needed');
|
|
35
50
|
}
|
|
36
51
|
}
|
|
37
52
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDhDQUFxRjtBQUVyRix1REFBb0Q7QUFDcEQsNkRBQTBEO0FBQzFELCtEQUF3RTtBQUN4RSxvREFBNEI7QUFDNUIsd0VBQStFO0FBRS9FLE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLEdBQVc7UUFDZCxNQUFNLEVBQUUsR0FBRyxJQUFJLGVBQUUsRUFBRSxDQUFDO1FBQ3BCLElBQUksR0FBRyxDQUFDO1FBQ1IsSUFBSTtZQUNGLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osR0FBRyxHQUFHLElBQUksdUJBQVUsRUFBRSxDQUFDO1lBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsZUFBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BDLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLCtCQUFtQixDQUFDLGNBQWMsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6QztRQUNELE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsRUFBVztRQUM1QixPQUFPLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFDLEVBQVc7UUFDN0IsT0FBTyxJQUFJLHVDQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELDhCQUE4QjtRQUM1QixNQUFNLElBQUksOEJBQW1CLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0Y7QUF6Q0QsOERBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IE5vdEltcGxlbWVudGVkRXJyb3IsIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFZhbGlkYXRvclR4QnVpbGRlciB9IGZyb20gJy4vdmFsaWRhdG9yVHhCdWlsZGVyJztcbmltcG9ydCB7IEJhc2VUeCwgVHgsIFVuc2lnbmVkVHggfSBmcm9tICdhdmFsYW5jaGUvZGlzdC9hcGlzL3BsYXRmb3Jtdm0nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgUGxhdGZvcm1WTUNvbnN0YW50cyB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvcGxhdGZvcm12bS9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb20ocmF3OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IHR4ID0gbmV3IFR4KCk7XG4gICAgbGV0IHV0eDtcbiAgICB0cnkge1xuICAgICAgdHguZnJvbVN0cmluZyhyYXcpO1xuICAgICAgdXR4ID0gdHguZ2V0VW5zaWduZWRUeCgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdXR4ID0gbmV3IFVuc2lnbmVkVHgoKTtcbiAgICAgIHV0eC5mcm9tQnVmZmVyKHV0aWxzLmNiNThEZWNvZGUocmF3KSk7XG4gICAgfVxuICAgIGNvbnN0IGJhc2VUeCA9IHV0eC5nZXRUcmFuc2FjdGlvbigpO1xuICAgIGlmIChiYXNlVHguZ2V0VHlwZUlEKCkgPT09IFBsYXRmb3JtVk1Db25zdGFudHMuQUREVkFMSURBVE9SVFgpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFZhbGlkYXRvckJ1aWxkZXIoYmFzZVR4KTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2Zyb20gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogQmFzZVR4KTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5pbml0QnVpbGRlcih0eCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBWYWxpZGF0b3IgYnVpbGRlclxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1N0YWtpbmdUeEJ1aWxkZXJ9IHRoZSBidWlsZGVyIGluaXRpYWxpemVkXG4gICAqL1xuICBnZXRWYWxpZGF0b3JCdWlsZGVyKHR4PzogQmFzZVR4KTogVmFsaWRhdG9yVHhCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFZhbGlkYXRvclR4QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5pbml0QnVpbGRlcih0eCk7XG4gIH1cblxuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignV2FsbGV0IGluaXRpYWxpemF0aW9uIGlzIG5vdCBuZWVkZWQnKTtcbiAgfVxufVxuIl19
|
|
@@ -2,11 +2,12 @@ import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
|
2
2
|
import { BaseKey, TransactionType } from '@bitgo/sdk-core';
|
|
3
3
|
import { TransactionBuilder } from './transactionBuilder';
|
|
4
4
|
import { Transaction } from './transaction';
|
|
5
|
+
import { BaseTx } from 'avalanche/dist/apis/platformvm';
|
|
5
6
|
export declare class TransferBuilder extends TransactionBuilder {
|
|
6
7
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
8
|
protected get transactionType(): TransactionType;
|
|
8
9
|
/** @inheritdoc */
|
|
9
|
-
protected buildAvaxpTransaction():
|
|
10
|
+
protected buildAvaxpTransaction(): BaseTx;
|
|
10
11
|
/** @inheritdoc */
|
|
11
12
|
protected buildImplementation(): Promise<Transaction>;
|
|
12
13
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../src/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAuB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../src/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAuB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,SAAS,CAAC,qBAAqB,IAAI,MAAM;IAIzC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAI3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAIjE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;CAGxD"}
|
|
@@ -28,4 +28,4 @@ class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.TransferBuilder = TransferBuilder;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4Q0FBZ0Y7QUFDaEYsNkRBQTBEO0FBSTFELE1BQWEsZUFBZ0IsU0FBUSx1Q0FBa0I7SUFDckQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtJQUNSLHFCQUFxQjtRQUM3QixNQUFNLElBQUksOEJBQW1CLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLElBQUksOEJBQW1CLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxJQUFJLDhCQUFtQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLEdBQVk7UUFDdkMsTUFBTSxJQUFJLDhCQUFtQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBNUJELDBDQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBOb3RJbXBsZW1lbnRlZEVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhc2VUeCB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvcGxhdGZvcm12bSc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQXZheHBUcmFuc2FjdGlvbigpOiBCYXNlVHgge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdidWlsZEltcGxlbWVudGF0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignYnVpbGRJbXBsZW1lbnRhdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2Zyb21JbXBsZW1lbnRhdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignc2lnbkltcGxlbWVudGF0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59XG4iXX0=
|