@bitgo-beta/sdk-coin-flrp 1.0.1-beta.266 → 1.0.1-beta.268
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/flrp.d.ts +6 -75
- package/dist/src/flrp.d.ts.map +1 -1
- package/dist/src/flrp.js +13 -298
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -2
- package/dist/src/lib/ExportInCTxBuilder.d.ts +50 -0
- package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ExportInCTxBuilder.js +163 -0
- package/dist/src/lib/ExportInPTxBuilder.d.ts +36 -0
- package/dist/src/lib/ExportInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ExportInPTxBuilder.js +128 -0
- package/dist/src/lib/ImportInCTxBuilder.d.ts +47 -0
- package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ImportInCTxBuilder.js +213 -0
- package/dist/src/lib/ImportInPTxBuilder.d.ts +23 -0
- package/dist/src/lib/ImportInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/ImportInPTxBuilder.js +101 -0
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts +18 -16
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicInCTransactionBuilder.js +38 -36
- package/dist/src/lib/atomicTransactionBuilder.d.ts +34 -84
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicTransactionBuilder.js +119 -288
- package/dist/src/lib/iface.d.ts +50 -51
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +22 -10
- package/dist/src/lib/index.d.ts +2 -3
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +5 -6
- package/dist/src/lib/keyPair.d.ts +1 -1
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +9 -5
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +32 -67
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/permissionlessValidatorTxBuilder.js +91 -205
- package/dist/src/lib/transaction.d.ts +8 -74
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +61 -210
- package/dist/src/lib/transactionBuilder.d.ts +56 -34
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +112 -69
- package/dist/src/lib/transactionBuilderFactory.d.ts +27 -30
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +69 -75
- package/dist/src/lib/utils.d.ts +58 -157
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +134 -399
- package/dist/test/resources/transactionData/exportInC.d.ts +20 -0
- package/dist/test/resources/transactionData/exportInC.d.ts.map +1 -0
- package/dist/test/resources/transactionData/exportInC.js +30 -0
- package/dist/test/unit/lib/exportInCTxBuilder.js +92 -513
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -11
- package/dist/src/iface.d.ts +0 -25
- package/dist/src/iface.d.ts.map +0 -1
- package/dist/src/iface.js +0 -3
- package/dist/src/lib/constants.d.ts +0 -170
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -227
- package/dist/src/lib/delegatorTxBuilder.d.ts +0 -58
- package/dist/src/lib/delegatorTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/delegatorTxBuilder.js +0 -224
- package/dist/src/lib/errors.d.ts +0 -8
- package/dist/src/lib/errors.d.ts.map +0 -1
- package/dist/src/lib/errors.js +0 -19
- package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
- package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/exportInCTxBuilder.js +0 -199
- package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
- package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/exportInPTxBuilder.js +0 -120
- package/dist/src/lib/importInCTxBuilder.d.ts +0 -67
- package/dist/src/lib/importInCTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/importInCTxBuilder.js +0 -403
- package/dist/src/lib/importInPTxBuilder.d.ts +0 -73
- package/dist/src/lib/importInPTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/importInPTxBuilder.js +0 -464
- package/dist/src/lib/types.d.ts +0 -78
- package/dist/src/lib/types.d.ts.map +0 -1
- package/dist/src/lib/types.js +0 -5
- package/dist/src/lib/validatorTxBuilder.d.ts +0 -40
- package/dist/src/lib/validatorTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/validatorTxBuilder.js +0 -180
- package/dist/test/unit/delegatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/delegatorTxBuilder.test.js +0 -233
- package/dist/test/unit/flrp.d.ts +0 -2
- package/dist/test/unit/flrp.d.ts.map +0 -1
- package/dist/test/unit/flrp.js +0 -118
- package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +0 -2
- package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/atomicTransactionBuilder.js +0 -222
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/exportInPTxBuilder.js +0 -377
- package/dist/test/unit/lib/importInCTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/importInCTxBuilder.js +0 -258
- package/dist/test/unit/lib/importInPTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/importInPTxBuilder.js +0 -501
- package/dist/test/unit/lib/transaction.d.ts +0 -2
- package/dist/test/unit/lib/transaction.d.ts.map +0 -1
- package/dist/test/unit/lib/transaction.js +0 -460
- package/dist/test/unit/lib/utils.d.ts +0 -2
- package/dist/test/unit/lib/utils.d.ts.map +0 -1
- package/dist/test/unit/lib/utils.js +0 -365
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +0 -271
- package/dist/test/unit/smoke.d.ts +0 -2
- package/dist/test/unit/smoke.d.ts.map +0 -1
- package/dist/test/unit/smoke.js +0 -23
- package/dist/test/unit/transactionBuilder.test.d.ts +0 -2
- package/dist/test/unit/transactionBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/transactionBuilder.test.js +0 -114
- package/dist/test/unit/validatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/validatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/validatorTxBuilder.test.js +0 -293
package/dist/src/lib/iface.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
import { TransactionExplanation as BaseTransactionExplanation, Entry, TransactionType
|
|
2
|
-
import { UnsignedTx, TransferableOutput,
|
|
1
|
+
import { TransactionExplanation as BaseTransactionExplanation, Entry, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { pvmSerial, UnsignedTx, TransferableOutput, evmSerial } from '@flarenetwork/flarejs';
|
|
3
|
+
/**
|
|
4
|
+
* Enum for Flare transaction types
|
|
5
|
+
*/
|
|
6
|
+
export declare enum FlareTransactionType {
|
|
7
|
+
EvmExportTx = "evm.ExportTx",
|
|
8
|
+
EvmImportTx = "evm.ImportTx",
|
|
9
|
+
PvmExportTx = "pvm.ExportTx",
|
|
10
|
+
PvmImportTx = "pvm.ImportTx"
|
|
11
|
+
}
|
|
3
12
|
export interface FlrpEntry extends Entry {
|
|
4
13
|
id: string;
|
|
5
14
|
}
|
|
@@ -9,11 +18,11 @@ export interface TransactionExplanation extends BaseTransactionExplanation {
|
|
|
9
18
|
inputs: Entry[];
|
|
10
19
|
}
|
|
11
20
|
/**
|
|
12
|
-
* Method names for the transaction method. Names change based on the type of transaction
|
|
21
|
+
* Method names for the transaction method. Names change based on the type of transaction
|
|
13
22
|
*/
|
|
14
23
|
export declare enum MethodNames {
|
|
15
|
-
|
|
16
|
-
|
|
24
|
+
addPermissionlessValidator = 0,
|
|
25
|
+
addPermissionlessDelegator = 1
|
|
17
26
|
}
|
|
18
27
|
/**
|
|
19
28
|
* The transaction data returned from the toJson() function of a transaction
|
|
@@ -30,7 +39,6 @@ export interface TxData {
|
|
|
30
39
|
changeOutputs: Entry[];
|
|
31
40
|
sourceChain?: string;
|
|
32
41
|
destinationChain?: string;
|
|
33
|
-
memo?: string;
|
|
34
42
|
}
|
|
35
43
|
/**
|
|
36
44
|
* Decoded UTXO object. This is for a single utxo
|
|
@@ -42,6 +50,7 @@ export interface TxData {
|
|
|
42
50
|
*/
|
|
43
51
|
export type DecodedUtxoObj = {
|
|
44
52
|
outputID: number;
|
|
53
|
+
locktime?: string;
|
|
45
54
|
amount: string;
|
|
46
55
|
txid: string;
|
|
47
56
|
outputidx: string;
|
|
@@ -50,70 +59,60 @@ export type DecodedUtxoObj = {
|
|
|
50
59
|
addressesIndex?: number[];
|
|
51
60
|
};
|
|
52
61
|
/**
|
|
53
|
-
*
|
|
54
|
-
* For SECP256K1 Transfer Output, use TypeSymbols.TransferOutput from @flarenetwork/flarejs
|
|
62
|
+
* TypeId value for SECP256K1 Transfer Output
|
|
55
63
|
*
|
|
56
|
-
*
|
|
57
|
-
* @deprecated Use TypeSymbols.TransferOutput from @flarenetwork/flarejs instead
|
|
64
|
+
* Similar to Avalanche P-Chain's SECP256K1 Transfer Output
|
|
58
65
|
*/
|
|
59
66
|
export declare const SECP256K1_Transfer_Output = 7;
|
|
67
|
+
/**
|
|
68
|
+
* TypeId value for Stakeable Lock Output
|
|
69
|
+
*/
|
|
70
|
+
export declare const SECP256K1_STAKEABLE_LOCK_OUT = 22;
|
|
60
71
|
export declare const ADDRESS_SEPARATOR = "~";
|
|
61
72
|
export declare const INPUT_SEPARATOR = ":";
|
|
62
|
-
export type
|
|
63
|
-
export type
|
|
64
|
-
export type Tx = UnsignedTx;
|
|
65
|
-
export type BaseTx = avaxSerial.BaseTx;
|
|
66
|
-
export type AvaxTx = avaxSerial.AvaxTx;
|
|
67
|
-
export type DeprecatedOutput = unknown;
|
|
73
|
+
export type Tx = pvmSerial.BaseTx | UnsignedTx | evmSerial.ExportTx | evmSerial.ImportTx | pvmSerial.ExportTx | pvmSerial.ImportTx;
|
|
74
|
+
export type BaseTx = pvmSerial.BaseTx;
|
|
68
75
|
export type Output = TransferableOutput;
|
|
69
|
-
export
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
prv: string;
|
|
74
|
-
}
|
|
75
|
-
export interface FlrpVerifyTransactionOptions extends VerifyTransactionOptions {
|
|
76
|
-
txParams: FlrpTransactionParams;
|
|
77
|
-
}
|
|
76
|
+
export type DeprecatedTx = unknown;
|
|
77
|
+
/**
|
|
78
|
+
* Interface for staking options
|
|
79
|
+
*/
|
|
78
80
|
export interface FlrpTransactionStakingOptions {
|
|
79
81
|
nodeID: string;
|
|
82
|
+
startTime: string;
|
|
83
|
+
endTime: string;
|
|
80
84
|
amount: string;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
delegationFeeRate?: number;
|
|
85
|
+
rewardAddress?: string;
|
|
86
|
+
delegationFee?: number;
|
|
84
87
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
/**
|
|
89
|
+
* Interface for transaction parameters
|
|
90
|
+
*/
|
|
91
|
+
export interface FlrpTransactionParams {
|
|
92
|
+
recipients?: {
|
|
88
93
|
address: string;
|
|
89
94
|
amount: string;
|
|
90
|
-
}
|
|
95
|
+
}[];
|
|
91
96
|
stakingOptions?: FlrpTransactionStakingOptions;
|
|
92
97
|
unspents?: string[];
|
|
93
|
-
|
|
94
|
-
export interface ExplainTransactionOptions {
|
|
95
|
-
txHex?: string;
|
|
96
|
-
halfSigned?: {
|
|
97
|
-
txHex: string;
|
|
98
|
-
};
|
|
98
|
+
type?: string;
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
|
-
*
|
|
101
|
+
* Interface for transaction verification options
|
|
102
102
|
*/
|
|
103
|
-
export interface
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
export interface FlrpVerifyTransactionOptions {
|
|
104
|
+
txPrebuild: {
|
|
105
|
+
txHex: string;
|
|
106
|
+
};
|
|
107
|
+
txParams: FlrpTransactionParams;
|
|
107
108
|
}
|
|
108
109
|
/**
|
|
109
|
-
*
|
|
110
|
-
* Based on FlareJS SpendOptions with memo support
|
|
110
|
+
* Interface for explaining transaction options
|
|
111
111
|
*/
|
|
112
|
-
export interface
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
locktime?: bigint;
|
|
112
|
+
export interface ExplainTransactionOptions {
|
|
113
|
+
txHex?: string;
|
|
114
|
+
halfSigned?: {
|
|
115
|
+
txHex: string;
|
|
116
|
+
};
|
|
118
117
|
}
|
|
119
118
|
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/iface.js
CHANGED
|
@@ -1,22 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.INPUT_SEPARATOR = exports.ADDRESS_SEPARATOR = exports.SECP256K1_Transfer_Output = exports.MethodNames = void 0;
|
|
3
|
+
exports.INPUT_SEPARATOR = exports.ADDRESS_SEPARATOR = exports.SECP256K1_STAKEABLE_LOCK_OUT = exports.SECP256K1_Transfer_Output = exports.MethodNames = exports.FlareTransactionType = void 0;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Enum for Flare transaction types
|
|
6
|
+
*/
|
|
7
|
+
var FlareTransactionType;
|
|
8
|
+
(function (FlareTransactionType) {
|
|
9
|
+
FlareTransactionType["EvmExportTx"] = "evm.ExportTx";
|
|
10
|
+
FlareTransactionType["EvmImportTx"] = "evm.ImportTx";
|
|
11
|
+
FlareTransactionType["PvmExportTx"] = "pvm.ExportTx";
|
|
12
|
+
FlareTransactionType["PvmImportTx"] = "pvm.ImportTx";
|
|
13
|
+
})(FlareTransactionType || (exports.FlareTransactionType = FlareTransactionType = {}));
|
|
14
|
+
/**
|
|
15
|
+
* Method names for the transaction method. Names change based on the type of transaction
|
|
6
16
|
*/
|
|
7
17
|
var MethodNames;
|
|
8
18
|
(function (MethodNames) {
|
|
9
|
-
MethodNames[MethodNames["
|
|
10
|
-
MethodNames[MethodNames["
|
|
19
|
+
MethodNames[MethodNames["addPermissionlessValidator"] = 0] = "addPermissionlessValidator";
|
|
20
|
+
MethodNames[MethodNames["addPermissionlessDelegator"] = 1] = "addPermissionlessDelegator";
|
|
11
21
|
})(MethodNames || (exports.MethodNames = MethodNames = {}));
|
|
12
22
|
/**
|
|
13
|
-
*
|
|
14
|
-
* For SECP256K1 Transfer Output, use TypeSymbols.TransferOutput from @flarenetwork/flarejs
|
|
23
|
+
* TypeId value for SECP256K1 Transfer Output
|
|
15
24
|
*
|
|
16
|
-
*
|
|
17
|
-
|
|
25
|
+
* Similar to Avalanche P-Chain's SECP256K1 Transfer Output
|
|
26
|
+
*/
|
|
27
|
+
exports.SECP256K1_Transfer_Output = 7;
|
|
28
|
+
/**
|
|
29
|
+
* TypeId value for Stakeable Lock Output
|
|
18
30
|
*/
|
|
19
|
-
exports.
|
|
31
|
+
exports.SECP256K1_STAKEABLE_LOCK_OUT = 22;
|
|
20
32
|
exports.ADDRESS_SEPARATOR = '~';
|
|
21
33
|
exports.INPUT_SEPARATOR = ':';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBOztHQUVHO0FBQ0gsSUFBWSxvQkFLWDtBQUxELFdBQVksb0JBQW9CO0lBQzlCLG9EQUE0QixDQUFBO0lBQzVCLG9EQUE0QixDQUFBO0lBQzVCLG9EQUE0QixDQUFBO0lBQzVCLG9EQUE0QixDQUFBO0FBQzlCLENBQUMsRUFMVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQUsvQjtBQVlEOztHQUVHO0FBQ0gsSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHlGQUEwQixDQUFBO0lBQzFCLHlGQUEwQixDQUFBO0FBQzVCLENBQUMsRUFIVyxXQUFXLDJCQUFYLFdBQVcsUUFHdEI7QUFzQ0Q7Ozs7R0FJRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBRTNDOztHQUVHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBRyxFQUFFLENBQUM7QUFFbEMsUUFBQSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDeEIsUUFBQSxlQUFlLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBhcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiwgRW50cnksIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IHB2bVNlcmlhbCwgVW5zaWduZWRUeCwgVHJhbnNmZXJhYmxlT3V0cHV0LCBldm1TZXJpYWwgfSBmcm9tICdAZmxhcmVuZXR3b3JrL2ZsYXJlanMnO1xuXG4vKipcbiAqIEVudW0gZm9yIEZsYXJlIHRyYW5zYWN0aW9uIHR5cGVzXG4gKi9cbmV4cG9ydCBlbnVtIEZsYXJlVHJhbnNhY3Rpb25UeXBlIHtcbiAgRXZtRXhwb3J0VHggPSAnZXZtLkV4cG9ydFR4JyxcbiAgRXZtSW1wb3J0VHggPSAnZXZtLkltcG9ydFR4JyxcbiAgUHZtRXhwb3J0VHggPSAncHZtLkV4cG9ydFR4JyxcbiAgUHZtSW1wb3J0VHggPSAncHZtLkltcG9ydFR4Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbHJwRW50cnkgZXh0ZW5kcyBFbnRyeSB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICByZXdhcmRBZGRyZXNzZXM6IHN0cmluZ1tdO1xuICBpbnB1dHM6IEVudHJ5W107XG59XG5cbi8qKlxuICogTWV0aG9kIG5hbWVzIGZvciB0aGUgdHJhbnNhY3Rpb24gbWV0aG9kLiBOYW1lcyBjaGFuZ2UgYmFzZWQgb24gdGhlIHR5cGUgb2YgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGVudW0gTWV0aG9kTmFtZXMge1xuICBhZGRQZXJtaXNzaW9ubGVzc1ZhbGlkYXRvcixcbiAgYWRkUGVybWlzc2lvbmxlc3NEZWxlZ2F0b3IsXG59XG5cbi8qKlxuICogVGhlIHRyYW5zYWN0aW9uIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgdG9Kc29uKCkgZnVuY3Rpb24gb2YgYSB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlucHV0czogRW50cnlbXTtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBmcm9tQWRkcmVzc2VzOiBzdHJpbmdbXTtcbiAgdGhyZXNob2xkOiBudW1iZXI7XG4gIGxvY2t0aW1lOiBzdHJpbmc7XG4gIHNpZ25hdHVyZXM6IHN0cmluZ1tdO1xuICBvdXRwdXRzOiBFbnRyeVtdO1xuICBjaGFuZ2VPdXRwdXRzOiBFbnRyeVtdO1xuICBzb3VyY2VDaGFpbj86IHN0cmluZztcbiAgZGVzdGluYXRpb25DaGFpbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWNvZGVkIFVUWE8gb2JqZWN0LiBUaGlzIGlzIGZvciBhIHNpbmdsZSB1dHhvXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IG91dHB1dElEXG4gKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IEFtb3VudCBhcyBhIEJpZyBOdW1iZXIgc3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gdHhpZCBUcmFuc2FjdGlvbiBJRCBlbmNvZGVkIGFzIGNiNThcbiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRpZHggT3V0cHV0IGluZGV4IGFzIGEgc3RyaW5nXG4gKi9cbmV4cG9ydCB0eXBlIERlY29kZWRVdHhvT2JqID0ge1xuICBvdXRwdXRJRDogbnVtYmVyO1xuICBsb2NrdGltZT86IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHR4aWQ6IHN0cmluZztcbiAgb3V0cHV0aWR4OiBzdHJpbmc7XG4gIHRocmVzaG9sZDogbnVtYmVyO1xuICBhZGRyZXNzZXM6IHN0cmluZ1tdO1xuICBhZGRyZXNzZXNJbmRleD86IG51bWJlcltdO1xufTtcblxuLyoqXG4gKiBUeXBlSWQgdmFsdWUgZm9yIFNFQ1AyNTZLMSBUcmFuc2ZlciBPdXRwdXRcbiAqXG4gKiBTaW1pbGFyIHRvIEF2YWxhbmNoZSBQLUNoYWluJ3MgU0VDUDI1NksxIFRyYW5zZmVyIE91dHB1dFxuICovXG5leHBvcnQgY29uc3QgU0VDUDI1NksxX1RyYW5zZmVyX091dHB1dCA9IDc7XG5cbi8qKlxuICogVHlwZUlkIHZhbHVlIGZvciBTdGFrZWFibGUgTG9jayBPdXRwdXRcbiAqL1xuZXhwb3J0IGNvbnN0IFNFQ1AyNTZLMV9TVEFLRUFCTEVfTE9DS19PVVQgPSAyMjtcblxuZXhwb3J0IGNvbnN0IEFERFJFU1NfU0VQQVJBVE9SID0gJ34nO1xuZXhwb3J0IGNvbnN0IElOUFVUX1NFUEFSQVRPUiA9ICc6JztcblxuLy8gU2ltcGxpZmllZCB0eXBlIGRlZmluaXRpb25zIGZvciBGbGFyZVxuZXhwb3J0IHR5cGUgVHggPVxuICB8IHB2bVNlcmlhbC5CYXNlVHhcbiAgfCBVbnNpZ25lZFR4XG4gIHwgZXZtU2VyaWFsLkV4cG9ydFR4XG4gIHwgZXZtU2VyaWFsLkltcG9ydFR4XG4gIHwgcHZtU2VyaWFsLkV4cG9ydFR4XG4gIHwgcHZtU2VyaWFsLkltcG9ydFR4O1xuZXhwb3J0IHR5cGUgQmFzZVR4ID0gcHZtU2VyaWFsLkJhc2VUeDtcbmV4cG9ydCB0eXBlIE91dHB1dCA9IFRyYW5zZmVyYWJsZU91dHB1dDtcbmV4cG9ydCB0eXBlIERlcHJlY2F0ZWRUeCA9IHVua25vd247XG4vKipcbiAqIEludGVyZmFjZSBmb3Igc3Rha2luZyBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxycFRyYW5zYWN0aW9uU3Rha2luZ09wdGlvbnMge1xuICBub2RlSUQ6IHN0cmluZztcbiAgc3RhcnRUaW1lOiBzdHJpbmc7XG4gIGVuZFRpbWU6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHJld2FyZEFkZHJlc3M/OiBzdHJpbmc7XG4gIGRlbGVnYXRpb25GZWU/OiBudW1iZXI7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxycFRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgcmVjaXBpZW50cz86IHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgYW1vdW50OiBzdHJpbmc7XG4gIH1bXTtcbiAgc3Rha2luZ09wdGlvbnM/OiBGbHJwVHJhbnNhY3Rpb25TdGFraW5nT3B0aW9ucztcbiAgdW5zcGVudHM/OiBzdHJpbmdbXTtcbiAgdHlwZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxycFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ6IHtcbiAgICB0eEhleDogc3RyaW5nO1xuICB9O1xuICB0eFBhcmFtczogRmxycFRyYW5zYWN0aW9uUGFyYW1zO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgZXhwbGFpbmluZyB0cmFuc2FjdGlvbiBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4SGV4Pzogc3RyaW5nO1xuICBoYWxmU2lnbmVkPzoge1xuICAgIHR4SGV4OiBzdHJpbmc7XG4gIH07XG59XG4iXX0=
|
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import Utils from './utils';
|
|
2
2
|
export * from './iface';
|
|
3
|
-
export * from './types';
|
|
4
3
|
export { KeyPair } from './keyPair';
|
|
5
4
|
export { Utils };
|
|
6
5
|
export { TransactionBuilderFactory } from './transactionBuilderFactory';
|
|
7
6
|
export { Transaction } from './transaction';
|
|
8
7
|
export { AtomicTransactionBuilder } from './atomicTransactionBuilder';
|
|
9
8
|
export { AtomicInCTransactionBuilder } from './atomicInCTransactionBuilder';
|
|
10
|
-
export { ImportInCTxBuilder } from './
|
|
11
|
-
export { ImportInPTxBuilder } from './
|
|
9
|
+
export { ImportInCTxBuilder } from './ImportInCTxBuilder';
|
|
10
|
+
export { ImportInPTxBuilder } from './ImportInPTxBuilder';
|
|
12
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -21,7 +21,6 @@ exports.ImportInPTxBuilder = exports.ImportInCTxBuilder = exports.AtomicInCTrans
|
|
|
21
21
|
const utils_1 = __importDefault(require("./utils"));
|
|
22
22
|
exports.Utils = utils_1.default;
|
|
23
23
|
__exportStar(require("./iface"), exports);
|
|
24
|
-
__exportStar(require("./types"), exports);
|
|
25
24
|
var keyPair_1 = require("./keyPair");
|
|
26
25
|
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
27
26
|
var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
|
|
@@ -32,8 +31,8 @@ var atomicTransactionBuilder_1 = require("./atomicTransactionBuilder");
|
|
|
32
31
|
Object.defineProperty(exports, "AtomicTransactionBuilder", { enumerable: true, get: function () { return atomicTransactionBuilder_1.AtomicTransactionBuilder; } });
|
|
33
32
|
var atomicInCTransactionBuilder_1 = require("./atomicInCTransactionBuilder");
|
|
34
33
|
Object.defineProperty(exports, "AtomicInCTransactionBuilder", { enumerable: true, get: function () { return atomicInCTransactionBuilder_1.AtomicInCTransactionBuilder; } });
|
|
35
|
-
var
|
|
36
|
-
Object.defineProperty(exports, "ImportInCTxBuilder", { enumerable: true, get: function () { return
|
|
37
|
-
var
|
|
38
|
-
Object.defineProperty(exports, "ImportInPTxBuilder", { enumerable: true, get: function () { return
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
var ImportInCTxBuilder_1 = require("./ImportInCTxBuilder");
|
|
35
|
+
Object.defineProperty(exports, "ImportInCTxBuilder", { enumerable: true, get: function () { return ImportInCTxBuilder_1.ImportInCTxBuilder; } });
|
|
36
|
+
var ImportInPTxBuilder_1 = require("./ImportInPTxBuilder");
|
|
37
|
+
Object.defineProperty(exports, "ImportInPTxBuilder", { enumerable: true, get: function () { return ImportInPTxBuilder_1.ImportInPTxBuilder; } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBR25CLGdCQUhGLGVBQUssQ0FHRTtBQUZkLDBDQUF3QjtBQUN4QixxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBRWhCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQyw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLHVFQUFzRTtBQUE3RCxvSUFBQSx3QkFBd0IsT0FBQTtBQUNqQyw2RUFBNEU7QUFBbkUsMElBQUEsMkJBQTJCLE9BQUE7QUFDcEMsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vaWZhY2UnO1xuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBVdGlscyB9O1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgQXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNJbkNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgSW1wb3J0SW5DVHhCdWlsZGVyIH0gZnJvbSAnLi9JbXBvcnRJbkNUeEJ1aWxkZXInO1xuZXhwb3J0IHsgSW1wb3J0SW5QVHhCdWlsZGVyIH0gZnJvbSAnLi9JbXBvcnRJblBUeEJ1aWxkZXInO1xuIl19
|
|
@@ -47,7 +47,7 @@ export declare class KeyPair extends Secp256k1ExtendedKeyPair {
|
|
|
47
47
|
*
|
|
48
48
|
* @returns {Buffer} The address buffer derived from the public key
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
getAddressBuffer(): Buffer;
|
|
51
51
|
/**
|
|
52
52
|
* Use the safe Buffer instead of the regular buffer to derive the address buffer. Used in the OVC.
|
|
53
53
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAMX,cAAc,EACd,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAMX,cAAc,EACd,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAQ9B,oBAAY,aAAa;IACvB,OAAO,WAAW;IAClB,OAAO,UAAU;CAClB;AAED,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAe3C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkB1C;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAOtB;;;;;OAKG;IACH,UAAU,CAAC,MAAM,SAAY,GAAG,MAAM;IAGtC;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKnC;;;;OAIG;IACH,gBAAgB,IAAI,MAAM;IAW1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAK7B"}
|
package/dist/src/lib/keyPair.js
CHANGED
|
@@ -8,6 +8,8 @@ const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
|
8
8
|
const secp256k1_1 = require("@bitgo-beta/secp256k1");
|
|
9
9
|
const crypto_1 = require("crypto");
|
|
10
10
|
const utils_1 = __importDefault(require("./utils"));
|
|
11
|
+
const safe_buffer_1 = require("safe-buffer");
|
|
12
|
+
const create_hash_1 = __importDefault(require("create-hash"));
|
|
11
13
|
const DEFAULT_SEED_SIZE_BYTES = 16;
|
|
12
14
|
var addressFormat;
|
|
13
15
|
(function (addressFormat) {
|
|
@@ -125,7 +127,9 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
|
125
127
|
getAddressBuffer() {
|
|
126
128
|
try {
|
|
127
129
|
// Use the safe buffer method for address derivation
|
|
128
|
-
|
|
130
|
+
const publicKey = Buffer.from(this.keyPair.publicKey);
|
|
131
|
+
const sha256 = (0, create_hash_1.default)('sha256').update(publicKey).digest();
|
|
132
|
+
return Buffer.from((0, create_hash_1.default)('ripemd160').update(sha256).digest());
|
|
129
133
|
}
|
|
130
134
|
catch (error) {
|
|
131
135
|
return this.getAddressSafeBuffer();
|
|
@@ -137,10 +141,10 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
|
137
141
|
* @returns {Buffer}
|
|
138
142
|
*/
|
|
139
143
|
getAddressSafeBuffer() {
|
|
140
|
-
const
|
|
141
|
-
const sha256 = (0,
|
|
142
|
-
return (0,
|
|
144
|
+
const publicKeySafe = safe_buffer_1.Buffer.from(this.keyPair.publicKey);
|
|
145
|
+
const sha256 = safe_buffer_1.Buffer.from((0, create_hash_1.default)('sha256').update(publicKeySafe).digest());
|
|
146
|
+
return Buffer.from((0, create_hash_1.default)('ripemd160').update(sha256).digest());
|
|
143
147
|
}
|
|
144
148
|
}
|
|
145
149
|
exports.KeyPair = KeyPair;
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFTOEI7QUFDOUIscURBQXNEO0FBQ3RELG1DQUFpRDtBQUNqRCxvREFBNEI7QUFFNUIsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFDbkMsSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLG1DQUFrQixDQUFBO0lBQ2xCLGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxhQUFhLDZCQUFiLGFBQWEsUUFHeEI7QUFFRCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7T0FJRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEdBQUcsSUFBQSxvQkFBVyxFQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxJQUFBLGlCQUFNLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHVCQUFZLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLElBQUEsc0JBQVcsRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FB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QUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNuRSxPQUFPLGVBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQjtRQUN0QixJQUFJLENBQUM7WUFDSCxvREFBb0Q7WUFDcEQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssb0JBQW9CO1FBQzFCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFBLG1CQUFVLEVBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6RSxPQUFPLElBQUEsbUJBQVUsRUFBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBN0hELDBCQTZIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlZmF1bHRLZXlzLFxuICBpc1ByaXZhdGVLZXksXG4gIGlzUHVibGljS2V5LFxuICBpc1NlZWQsXG4gIGlzVmFsaWRYcHJ2LFxuICBpc1ZhbGlkWHB1YixcbiAgS2V5UGFpck9wdGlvbnMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgYmlwMzIsIEVDUGFpciB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyByYW5kb21CeXRlcywgY3JlYXRlSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gMTY7XG5leHBvcnQgZW51bSBhZGRyZXNzRm9ybWF0IHtcbiAgdGVzdG5ldCA9ICdjb3N0d28nLFxuICBtYWlubmV0ID0gJ2ZsYXJlJyxcbn1cblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICBjb25zdCBzZWVkID0gcmFuZG9tQnl0ZXMoREVGQVVMVF9TRUVEX1NJWkVfQllURVMpO1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VlZChzb3VyY2UpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNvdXJjZS5zZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzUHJpdmF0ZUtleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShzb3VyY2UucHJ2KTtcbiAgICB9IGVsc2UgaWYgKGlzUHVibGljS2V5KHNvdXJjZSkpIHtcbiAgICAgIHRoaXMucmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkoc291cmNlLnB1Yik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGROb2RlKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIudG9LZXlQYWlyKHRoaXMuaGROb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBrZXlwYWlyIGZyb20gYSBwcm90b2NvbCBwcml2YXRlIGtleSBvciBleHRlbmRlZCBwcml2YXRlIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBydiBBIHJhdyBwcml2YXRlIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHBydjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBydi5zdGFydHNXaXRoKCdQcml2YXRlS2V5LScpKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBFQ1BhaXIuZnJvbVByaXZhdGVLZXkoQnVmZmVyLmZyb20odXRpbHMuY2I1OERlY29kZShwcnYuc3BsaXQoJy0nKVsxXSkpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHJpdmF0ZUtleShwcnYpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICAgIGlmIChpc1ZhbGlkWHBydihwcnYpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocHJ2KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21Qcml2YXRlS2V5KEJ1ZmZlci5mcm9tKHBydi5zbGljZSgwLCA2NCksICdoZXgnKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuIEVDUGFpciBmcm9tIGEgcHJvdG9jb2wgcHVibGljIGtleSBvciBleHRlbmRlZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIEEgcmF3IHB1YmxpYyBrZXlcbiAgICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5KHB1Yjogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChpc1ZhbGlkWHB1YihwdWIpKSB7XG4gICAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbUJhc2U1OChwdWIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21QdWJsaWNLZXkoQnVmZmVyLmZyb20ocHViLCAnaGV4JykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMua2V5UGFpciA9IEVDUGFpci5mcm9tUHVibGljS2V5KEJ1ZmZlci5mcm9tKHV0aWxzLmNiNThEZWNvZGUocHViKSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgcHVibGljIGtleScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGtleXMgZm9ybWF0IGlzIGEgcGFpciBvZiBVaW50OEFycmF5IGtleXNcbiAgICpcbiAgICogQHJldHVybnMgeyBEZWZhdWx0S2V5cyB9IFRoZSBrZXlzIGluIHRoZSBkZWZpbmVkIGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogdGhpcy5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIEZsYXJlIFAtQ2hhaW4gcHVibGljIG1haW5uZXQgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gZmxhcmUgaHJwIHNlbGVjdG9yOiBNYWlubmV0KGZsYXJlKSBvciBUZXN0bmV0KGNvc3R3bylcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIG1haW5uZXQgYWRkcmVzcyBkZXJpdmVkIGZyb20gdGhlIHB1YmxpYyBrZXlcbiAgICovXG4gIGdldEFkZHJlc3MoZm9ybWF0ID0gJ21haW5uZXQnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGbHJQQWRkcmVzcyhhZGRyZXNzRm9ybWF0W2Zvcm1hdF0pO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgYSBwdWJsaWMgYWRkcmVzcyBvZiBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaHJwIC0gc2VsZWN0IE1haW5uZXQoZmxhcmUpIG9yIFRlc3RuZXQoY29zdHdvKSBmb3IgdGhlIGFkZHJlc3NcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGFkZHJlc3MgZGVyaXZlZCBmcm9tIHRoZSBwdWJsaWMga2V5IGFuZCBocnBcbiAgICovXG4gIGdldEZsclBBZGRyZXNzKGhycDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhZGRyZXNzQnVmZmVyOiBCdWZmZXIgPSBCdWZmZXIuZnJvbSh0aGlzLmdldEFkZHJlc3NCdWZmZXIoKSk7XG4gICAgcmV0dXJuIHV0aWxzLmFkZHJlc3NUb1N0cmluZyhocnAsICdQJywgYWRkcmVzc0J1ZmZlcik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgRmxhcmUgUC1DaGFpbiBwdWJsaWMgbWFpbm5ldCBhZGRyZXNzIGJ1ZmZlclxuICAgKlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSBUaGUgYWRkcmVzcyBidWZmZXIgZGVyaXZlZCBmcm9tIHRoZSBwdWJsaWMga2V5XG4gICAqL1xuICBwcml2YXRlIGdldEFkZHJlc3NCdWZmZXIoKTogQnVmZmVyIHtcbiAgICB0cnkge1xuICAgICAgLy8gVXNlIHRoZSBzYWZlIGJ1ZmZlciBtZXRob2QgZm9yIGFkZHJlc3MgZGVyaXZhdGlvblxuICAgICAgcmV0dXJuIHRoaXMuZ2V0QWRkcmVzc1NhZmVCdWZmZXIoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QWRkcmVzc1NhZmVCdWZmZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlIHRoZSBzYWZlIEJ1ZmZlciBpbnN0ZWFkIG9mIHRoZSByZWd1bGFyIGJ1ZmZlciB0byBkZXJpdmUgdGhlIGFkZHJlc3MgYnVmZmVyLiBVc2VkIGluIHRoZSBPVkMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9XG4gICAqL1xuICBwcml2YXRlIGdldEFkZHJlc3NTYWZlQnVmZmVyKCk6IEJ1ZmZlciB7XG4gICAgY29uc3QgcHVibGljS2V5SGV4ID0gdGhpcy5rZXlQYWlyLnB1YmxpY0tleS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3Qgc2hhMjU2ID0gY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHB1YmxpY0tleUhleCwgJ2hleCcpLmRpZ2VzdCgpO1xuICAgIHJldHVybiBjcmVhdGVIYXNoKCdyaXBlbWQxNjAnKS51cGRhdGUoc2hhMjU2KS5kaWdlc3QoKTtcbiAgfVxufVxuIl19
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFTOEI7QUFDOUIscURBQXNEO0FBQ3RELG1DQUFxQztBQUNyQyxvREFBNEI7QUFDNUIsNkNBQW1EO0FBQ25ELDhEQUFxQztBQUVyQyxNQUFNLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztBQUNuQyxJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsbUNBQWtCLENBQUE7SUFDbEIsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUhXLGFBQWEsNkJBQWIsYUFBYSxRQUd4QjtBQUVELE1BQWEsT0FBUSxTQUFRLG1DQUF3QjtJQUNuRDs7OztPQUlHO0lBQ0gsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksR0FBRyxJQUFBLG9CQUFXLEVBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxJQUFJLElBQUEsaUJBQU0sRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLElBQUEsdUJBQVksRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSxzQkFBVyxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FB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QyxDQUFDO0lBQ3RFLENBQUM7Q0FDRjtBQS9IRCwwQkErSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWZhdWx0S2V5cyxcbiAgaXNQcml2YXRlS2V5LFxuICBpc1B1YmxpY0tleSxcbiAgaXNTZWVkLFxuICBpc1ZhbGlkWHBydixcbiAgaXNWYWxpZFhwdWIsXG4gIEtleVBhaXJPcHRpb25zLFxuICBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGJpcDMyLCBFQ1BhaXIgfSBmcm9tICdAYml0Z28tYmV0YS9zZWNwMjU2azEnO1xuaW1wb3J0IHsgcmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQnVmZmVyIGFzIFNhZmVCdWZmZXIgfSBmcm9tICdzYWZlLWJ1ZmZlcic7XG5pbXBvcnQgY3JlYXRlSGFzaCBmcm9tICdjcmVhdGUtaGFzaCc7XG5cbmNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gMTY7XG5leHBvcnQgZW51bSBhZGRyZXNzRm9ybWF0IHtcbiAgdGVzdG5ldCA9ICdjb3N0d28nLFxuICBtYWlubmV0ID0gJ2ZsYXJlJyxcbn1cblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICBjb25zdCBzZWVkID0gcmFuZG9tQnl0ZXMoREVGQVVMVF9TRUVEX1NJWkVfQllURVMpO1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VlZChzb3VyY2UpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNvdXJjZS5zZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzUHJpdmF0ZUtleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShzb3VyY2UucHJ2KTtcbiAgICB9IGVsc2UgaWYgKGlzUHVibGljS2V5KHNvdXJjZSkpIHtcbiAgICAgIHRoaXMucmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkoc291cmNlLnB1Yik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGROb2RlKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIudG9LZXlQYWlyKHRoaXMuaGROb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBrZXlwYWlyIGZyb20gYSBwcm90b2NvbCBwcml2YXRlIGtleSBvciBleHRlbmRlZCBwcml2YXRlIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBydiBBIHJhdyBwcml2YXRlIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHBydjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBydi5zdGFydHNXaXRoKCdQcml2YXRlS2V5LScpKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBFQ1BhaXIuZnJvbVByaXZhdGVLZXkoQnVmZmVyLmZyb20odXRpbHMuY2I1OERlY29kZShwcnYuc3BsaXQoJy0nKVsxXSkpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHJpdmF0ZUtleShwcnYpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICAgIGlmIChpc1ZhbGlkWHBydihwcnYpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocHJ2KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21Qcml2YXRlS2V5KEJ1ZmZlci5mcm9tKHBydi5zbGljZSgwLCA2NCksICdoZXgnKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuIEVDUGFpciBmcm9tIGEgcHJvdG9jb2wgcHVibGljIGtleSBvciBleHRlbmRlZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIEEgcmF3IHB1YmxpYyBrZXlcbiAgICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5KHB1Yjogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChpc1ZhbGlkWHB1YihwdWIpKSB7XG4gICAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbUJhc2U1OChwdWIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21QdWJsaWNLZXkoQnVmZmVyLmZyb20ocHViLCAnaGV4JykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMua2V5UGFpciA9IEVDUGFpci5mcm9tUHVibGljS2V5KEJ1ZmZlci5mcm9tKHV0aWxzLmNiNThEZWNvZGUocHViKSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgcHVibGljIGtleScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGtleXMgZm9ybWF0IGlzIGEgcGFpciBvZiBVaW50OEFycmF5IGtleXNcbiAgICpcbiAgICogQHJldHVybnMgeyBEZWZhdWx0S2V5cyB9IFRoZSBrZXlzIGluIHRoZSBkZWZpbmVkIGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogdGhpcy5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIEZsYXJlIFAtQ2hhaW4gcHVibGljIG1haW5uZXQgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gZmxhcmUgaHJwIHNlbGVjdG9yOiBNYWlubmV0KGZsYXJlKSBvciBUZXN0bmV0KGNvc3R3bylcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIG1haW5uZXQgYWRkcmVzcyBkZXJpdmVkIGZyb20gdGhlIHB1YmxpYyBrZXlcbiAgICovXG4gIGdldEFkZHJlc3MoZm9ybWF0ID0gJ21haW5uZXQnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGbHJQQWRkcmVzcyhhZGRyZXNzRm9ybWF0W2Zvcm1hdF0pO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgYSBwdWJsaWMgYWRkcmVzcyBvZiBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaHJwIC0gc2VsZWN0IE1haW5uZXQoZmxhcmUpIG9yIFRlc3RuZXQoY29zdHdvKSBmb3IgdGhlIGFkZHJlc3NcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGFkZHJlc3MgZGVyaXZlZCBmcm9tIHRoZSBwdWJsaWMga2V5IGFuZCBocnBcbiAgICovXG4gIGdldEZsclBBZGRyZXNzKGhycDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhZGRyZXNzQnVmZmVyOiBCdWZmZXIgPSBCdWZmZXIuZnJvbSh0aGlzLmdldEFkZHJlc3NCdWZmZXIoKSk7XG4gICAgcmV0dXJuIHV0aWxzLmFkZHJlc3NUb1N0cmluZyhocnAsICdQJywgYWRkcmVzc0J1ZmZlcik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgRmxhcmUgUC1DaGFpbiBwdWJsaWMgbWFpbm5ldCBhZGRyZXNzIGJ1ZmZlclxuICAgKlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSBUaGUgYWRkcmVzcyBidWZmZXIgZGVyaXZlZCBmcm9tIHRoZSBwdWJsaWMga2V5XG4gICAqL1xuICBnZXRBZGRyZXNzQnVmZmVyKCk6IEJ1ZmZlciB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFVzZSB0aGUgc2FmZSBidWZmZXIgbWV0aG9kIGZvciBhZGRyZXNzIGRlcml2YXRpb25cbiAgICAgIGNvbnN0IHB1YmxpY0tleSA9IEJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wdWJsaWNLZXkpO1xuICAgICAgY29uc3Qgc2hhMjU2ID0gY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHB1YmxpY0tleSkuZGlnZXN0KCk7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oY3JlYXRlSGFzaCgncmlwZW1kMTYwJykudXBkYXRlKHNoYTI1NikuZGlnZXN0KCkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRBZGRyZXNzU2FmZUJ1ZmZlcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgdGhlIHNhZmUgQnVmZmVyIGluc3RlYWQgb2YgdGhlIHJlZ3VsYXIgYnVmZmVyIHRvIGRlcml2ZSB0aGUgYWRkcmVzcyBidWZmZXIuIFVzZWQgaW4gdGhlIE9WQy5cbiAgICpcbiAgICogQHJldHVybnMge0J1ZmZlcn1cbiAgICovXG4gIHByaXZhdGUgZ2V0QWRkcmVzc1NhZmVCdWZmZXIoKTogQnVmZmVyIHtcbiAgICBjb25zdCBwdWJsaWNLZXlTYWZlID0gU2FmZUJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wdWJsaWNLZXkpO1xuICAgIGNvbnN0IHNoYTI1NiA9IFNhZmVCdWZmZXIuZnJvbShjcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUocHVibGljS2V5U2FmZSkuZGlnZXN0KCkpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShjcmVhdGVIYXNoKCdyaXBlbWQxNjAnKS51cGRhdGUoc2hhMjU2KS5kaWdlc3QoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,81 +1,46 @@
|
|
|
1
|
+
import { TypeSymbols } from '@flarenetwork/flarejs';
|
|
1
2
|
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
3
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
protected
|
|
10
|
-
protected
|
|
11
|
-
protected
|
|
12
|
-
protected
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
import { DecodedUtxoObj } from './iface';
|
|
5
|
+
import { KeyPair } from './keyPair';
|
|
6
|
+
import { Transaction } from './transaction';
|
|
7
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
8
|
+
export declare class PermissionlessValidatorTxBuilder extends TransactionBuilder {
|
|
9
|
+
_signer: KeyPair[];
|
|
10
|
+
protected _nodeID: string;
|
|
11
|
+
protected _blsPublicKey: string;
|
|
12
|
+
protected _blsSignature: string;
|
|
13
|
+
protected _startTime: bigint;
|
|
14
|
+
protected _endTime: bigint;
|
|
15
|
+
protected _stakeAmount: bigint;
|
|
16
|
+
protected recoverSigner: boolean;
|
|
17
|
+
protected _delegationFeeRate: number;
|
|
16
18
|
constructor(coinConfig: Readonly<CoinConfig>);
|
|
17
|
-
/**
|
|
18
|
-
* get transaction type
|
|
19
|
-
* @protected
|
|
20
|
-
*/
|
|
21
19
|
protected get transactionType(): TransactionType;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
validateLocktime(locktime: bigint): void;
|
|
21
|
+
validateDelegationFeeRate(delegationFeeRate: number): void;
|
|
22
|
+
validateUtxo(value: DecodedUtxoObj): void;
|
|
23
|
+
validateNodeID(nodeID: string): void;
|
|
24
|
+
validateStakeDuration(startTime: bigint, endTime: bigint): void;
|
|
25
|
+
validateStakeAmount(amount: bigint): void;
|
|
26
|
+
rewardAddresses(address: string | string[]): this;
|
|
26
27
|
nodeID(nodeID: string): this;
|
|
27
|
-
/**
|
|
28
|
-
* Set the BLS public key for permissionless validation
|
|
29
|
-
* @param blsPublicKey - The BLS public key
|
|
30
|
-
*/
|
|
31
28
|
blsPublicKey(blsPublicKey: string): this;
|
|
32
|
-
/**
|
|
33
|
-
* Set the BLS signature for permissionless validation
|
|
34
|
-
* @param blsSignature - The BLS signature
|
|
35
|
-
*/
|
|
36
29
|
blsSignature(blsSignature: string): this;
|
|
37
|
-
|
|
38
|
-
* Set the start time for validation
|
|
39
|
-
* @param startTime - Unix timestamp for when validation starts
|
|
40
|
-
*/
|
|
41
|
-
startTime(startTime: string | number | bigint): this;
|
|
42
|
-
/**
|
|
43
|
-
* Set the end time for validation
|
|
44
|
-
* @param endTime - Unix timestamp for when validation ends
|
|
45
|
-
*/
|
|
46
|
-
endTime(endTime: string | number | bigint): this;
|
|
47
|
-
/**
|
|
48
|
-
* Set the stake amount for validation
|
|
49
|
-
* @param amount - Amount to stake (in nFLR)
|
|
50
|
-
*/
|
|
51
|
-
stakeAmount(amount: string | number | bigint): this;
|
|
52
|
-
/**
|
|
53
|
-
* Set the delegation fee rate
|
|
54
|
-
* @param value - Delegation fee rate in basis points
|
|
55
|
-
*/
|
|
30
|
+
locktime(value: string | number): this;
|
|
56
31
|
delegationFeeRate(value: number): this;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
rewardAddresses(addresses: string[]): this;
|
|
62
|
-
/**
|
|
63
|
-
* Validate that the delegation fee is at least the minDelegationFee
|
|
64
|
-
* @param delegationFeeRate number
|
|
65
|
-
*/
|
|
66
|
-
validateDelegationFeeRate(delegationFeeRate: number): void;
|
|
67
|
-
/** @inheritdoc */
|
|
68
|
-
initBuilder(tx: Tx): this;
|
|
69
|
-
/**
|
|
70
|
-
* Verify if the transaction is a permissionless validator transaction
|
|
71
|
-
* @param tx
|
|
72
|
-
*/
|
|
73
|
-
static verifyTxType(tx: unknown): boolean;
|
|
74
|
-
verifyTxType(tx: unknown): boolean;
|
|
32
|
+
startTime(value: string | number): this;
|
|
33
|
+
endTime(value: string | number): this;
|
|
34
|
+
stakeAmount(value: bigint | string): this;
|
|
35
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
75
36
|
/**
|
|
76
37
|
* Build the permissionless validator transaction
|
|
77
38
|
* @protected
|
|
78
39
|
*/
|
|
79
|
-
protected buildFlareTransaction():
|
|
40
|
+
protected buildFlareTransaction(): void;
|
|
41
|
+
static verifyTxType(type: TypeSymbols): boolean;
|
|
42
|
+
/** @inheritdoc */
|
|
43
|
+
protected get transaction(): Transaction;
|
|
44
|
+
protected set transaction(transaction: Transaction);
|
|
80
45
|
}
|
|
81
46
|
//# sourceMappingURL=permissionlessValidatorTxBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissionlessValidatorTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/permissionlessValidatorTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"permissionlessValidatorTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/permissionlessValidatorTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAmE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,gCAAiC,SAAQ,kBAAkB;IAC/D,OAAO,EAAE,OAAO,EAAE,CAAM;IAC/B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,aAAa,UAAS;IAChC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;gBAEzB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAGD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMxC,yBAAyB,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAQ1D,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAMzC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAYpC,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAM/D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQzC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAMjD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMxC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMxC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMtC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMtC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKvC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;cAOzB,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAW3D;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAIvC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAI/C,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;CACF"}
|