@bitgo-beta/sdk-coin-flrp 1.0.1-beta.66 → 1.0.1-beta.68
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/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/dist/src/flrp.d.ts +0 -91
- package/dist/src/flrp.d.ts.map +0 -1
- package/dist/src/flrp.js +0 -343
- 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/index.d.ts +0 -6
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -45
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts +0 -26
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/atomicInCTransactionBuilder.js +0 -64
- package/dist/src/lib/atomicTransactionBuilder.d.ts +0 -96
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/atomicTransactionBuilder.js +0 -318
- 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/iface.d.ts +0 -119
- package/dist/src/lib/iface.d.ts.map +0 -1
- package/dist/src/lib/iface.js +0 -22
- 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/index.d.ts +0 -12
- package/dist/src/lib/index.d.ts.map +0 -1
- package/dist/src/lib/index.js +0 -39
- package/dist/src/lib/keyPair.d.ts +0 -58
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -142
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +0 -81
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/permissionlessValidatorTxBuilder.js +0 -248
- package/dist/src/lib/transaction.d.ts +0 -111
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -322
- package/dist/src/lib/transactionBuilder.d.ts +0 -85
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -167
- package/dist/src/lib/transactionBuilderFactory.d.ts +0 -37
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilderFactory.js +0 -91
- 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/utils.d.ts +0 -217
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -498
- 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/src/register.d.ts +0 -3
- package/dist/src/register.d.ts.map +0 -1
- package/dist/src/register.js +0 -11
- package/dist/src/tflrp.d.ts +0 -8
- package/dist/src/tflrp.d.ts.map +0 -1
- package/dist/src/tflrp.js +0 -14
- 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/exportInCTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/exportInCTxBuilder.js +0 -584
- 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 -257
- 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 -500
- 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 -286
- 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
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
export declare const DECODED_BLOCK_ID_LENGTH = 32;
|
|
2
|
-
export declare const SHORT_PUB_KEY_LENGTH = 50;
|
|
3
|
-
export declare const COMPRESSED_PUBLIC_KEY_LENGTH = 66;
|
|
4
|
-
export declare const UNCOMPRESSED_PUBLIC_KEY_LENGTH = 130;
|
|
5
|
-
export declare const RAW_PRIVATE_KEY_LENGTH = 64;
|
|
6
|
-
export declare const SUFFIXED_PRIVATE_KEY_LENGTH = 66;
|
|
7
|
-
export declare const PRIVATE_KEY_COMPRESSED_SUFFIX = "01";
|
|
8
|
-
export declare const OUTPUT_INDEX_HEX_LENGTH = 8;
|
|
9
|
-
export declare const ASSET_ID_LENGTH = 32;
|
|
10
|
-
export declare const TRANSACTION_ID_HEX_LENGTH = 64;
|
|
11
|
-
export declare const PRIVATE_KEY_HEX_LENGTH = 64;
|
|
12
|
-
export declare const SECP256K1_SIGNATURE_LENGTH = 65;
|
|
13
|
-
export declare const BLS_PUBLIC_KEY_COMPRESSED_LENGTH = 96;
|
|
14
|
-
export declare const BLS_PUBLIC_KEY_UNCOMPRESSED_LENGTH = 192;
|
|
15
|
-
export declare const BLS_SIGNATURE_LENGTH = 192;
|
|
16
|
-
export declare const CHAIN_ID_HEX_LENGTH = 64;
|
|
17
|
-
export declare const MAX_CHAIN_ID_LENGTH = 128;
|
|
18
|
-
export declare const DEFAULT_BASE_FEE = "1000000";
|
|
19
|
-
export declare const DEFAULT_EVM_GAS_FEE = "21000";
|
|
20
|
-
export declare const INPUT_FEE = "100000";
|
|
21
|
-
export declare const OUTPUT_FEE = "50000";
|
|
22
|
-
export declare const MINIMUM_FEE = "1000000";
|
|
23
|
-
export declare const MIN_DELEGATION_FEE_BASIS_POINTS = 20000;
|
|
24
|
-
export declare const BASIS_POINTS_DIVISOR = 10000;
|
|
25
|
-
export declare const PERCENTAGE_MULTIPLIER = 100;
|
|
26
|
-
export declare const TRANSACTION_ID_PREFIX = "flare-atomic-tx-";
|
|
27
|
-
export declare const DELEGATOR_TRANSACTION_TYPE = "PlatformVM.AddDelegatorTx";
|
|
28
|
-
export declare const PRIMARY_DELEGATOR_TYPE = "primary";
|
|
29
|
-
export declare const DELEGATOR_STAKE_TYPE = "delegator";
|
|
30
|
-
export declare const SECP256K1_CREDENTIAL_TYPE = "secp256k1fx.Credential";
|
|
31
|
-
export declare const STAKE_OUTPUT_TYPE = "stake";
|
|
32
|
-
export declare const CREDENTIAL_VERSION = "1.0.0";
|
|
33
|
-
export declare const EMPTY_STRING = "";
|
|
34
|
-
export declare const ZERO_BIGINT = 0n;
|
|
35
|
-
export declare const ZERO_NUMBER = 0;
|
|
36
|
-
export declare const DEFAULT_THRESHOLD = 1;
|
|
37
|
-
export declare const DEFAULT_LOCKTIME = 0n;
|
|
38
|
-
export declare const MEMO_BUFFER_SIZE = 0;
|
|
39
|
-
export declare const FIRST_ADDRESS_INDEX = 0;
|
|
40
|
-
export declare const ADDRESS_REGEX: RegExp;
|
|
41
|
-
export declare const HEX_REGEX: RegExp;
|
|
42
|
-
export declare const HEX_CHAR_PATTERN = "[0-9a-fA-F]";
|
|
43
|
-
export declare const HEX_PATTERN_NO_PREFIX = "^[0-9a-fA-F]*$";
|
|
44
|
-
export declare const HEX_PATTERN_WITH_PREFIX = "^0x[0-9a-fA-F]";
|
|
45
|
-
export declare const DEFAULT_NETWORK_ID = 0;
|
|
46
|
-
export declare const FLARE_MAINNET_NETWORK_ID = 1;
|
|
47
|
-
export declare const FLARE_TESTNET_NETWORK_ID = 5;
|
|
48
|
-
export declare const EMPTY_BUFFER_SIZE = 0;
|
|
49
|
-
export declare const HEX_PREFIX = "0x";
|
|
50
|
-
export declare const HEX_PREFIX_LENGTH = 2;
|
|
51
|
-
export declare const DECIMAL_RADIX = 10;
|
|
52
|
-
export declare const SIGNING_METHOD = "secp256k1";
|
|
53
|
-
export declare const AMOUNT_STRING_ZERO = "0";
|
|
54
|
-
export declare const FIRST_ARRAY_INDEX = 0;
|
|
55
|
-
export declare const MAINNET_TYPE = "mainnet";
|
|
56
|
-
export declare const EXPORT_TRANSACTION_TYPE = "PlatformVM.ExportTx";
|
|
57
|
-
export declare const ERROR_AMOUNT_POSITIVE = "Amount must be positive";
|
|
58
|
-
export declare const ERROR_CREDENTIALS_ARRAY = "Credentials must be an array";
|
|
59
|
-
export declare const ERROR_UTXOS_REQUIRED = "UTXOs are required for creating inputs and outputs";
|
|
60
|
-
export declare const ERROR_SIGNATURES_ARRAY = "Signatures must be an array";
|
|
61
|
-
export declare const ERROR_SIGNATURES_EMPTY = "Signatures array cannot be empty";
|
|
62
|
-
export declare const ERROR_INVALID_PRIVATE_KEY = "Invalid private key format";
|
|
63
|
-
export declare const ERROR_UTXOS_REQUIRED_BUILD = "UTXOs are required for transaction building";
|
|
64
|
-
export declare const ERROR_ENHANCED_BUILD_FAILED = "Enhanced FlareJS transaction building failed";
|
|
65
|
-
export declare const ERROR_ENHANCED_PARSE_FAILED = "Enhanced FlareJS transaction parsing failed";
|
|
66
|
-
export declare const ERROR_FLAREJS_SIGNING_FAILED = "FlareJS signing failed";
|
|
67
|
-
export declare const ERROR_CREATE_CREDENTIAL_FAILED = "Failed to create credential";
|
|
68
|
-
export declare const ERROR_UNKNOWN = "unknown error";
|
|
69
|
-
export declare const ERROR_EXPORT_NOT_IMPLEMENTED = "Flare P-chain export transaction build not implemented";
|
|
70
|
-
export declare const ERROR_DESTINATION_CHAIN_REQUIRED = "Destination chain ID must be set for P-chain export";
|
|
71
|
-
export declare const ERROR_SOURCE_ADDRESSES_REQUIRED = "Source addresses must be set for P-chain export";
|
|
72
|
-
export declare const ERROR_DESTINATION_ADDRESSES_REQUIRED = "Destination addresses must be set for P-chain export";
|
|
73
|
-
export declare const ERROR_EXPORT_AMOUNT_POSITIVE = "Export amount must be positive";
|
|
74
|
-
export declare const ERROR_TRANSACTION_REQUIRED = "Transaction is required for initialization";
|
|
75
|
-
export declare const ERROR_BLOCKCHAIN_ID_MISMATCH = "Blockchain ID mismatch";
|
|
76
|
-
export declare const ERROR_TRANSACTION_PARSE_FAILED = "Transaction cannot be parsed or has an unsupported transaction type";
|
|
77
|
-
export declare const ERROR_FAILED_INITIALIZE_BUILDER = "Failed to initialize builder from transaction";
|
|
78
|
-
export declare const OBJECT_TYPE_STRING = "object";
|
|
79
|
-
export declare const STRING_TYPE = "string";
|
|
80
|
-
export declare const NUMBER_TYPE = "number";
|
|
81
|
-
export declare const FUNCTION_TYPE = "function";
|
|
82
|
-
export declare const BIGINT_TYPE = "bigint";
|
|
83
|
-
export declare const HEX_ENCODING = "hex";
|
|
84
|
-
export declare const UTF8_ENCODING = "utf8";
|
|
85
|
-
export declare const P_CHAIN = "P";
|
|
86
|
-
export declare const C_CHAIN = "C";
|
|
87
|
-
export declare const X_CHAIN = "X";
|
|
88
|
-
export declare const P_CHAIN_FULL = "P-chain";
|
|
89
|
-
export declare const C_CHAIN_FULL = "C-chain";
|
|
90
|
-
export declare const X_CHAIN_FULL = "X-chain";
|
|
91
|
-
export declare const CHAIN_SUFFIX = "-chain";
|
|
92
|
-
export declare const FLARE_ATOMIC_PREFIX = "flare-atomic-";
|
|
93
|
-
export declare const FLARE_ATOMIC_PARSED_PREFIX = "flare-atomic-parsed-";
|
|
94
|
-
export declare const FLARE_ADDRESS_PLACEHOLDER = "flare-address-placeholder";
|
|
95
|
-
export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
96
|
-
export declare const HEX_PREFIX_REMOVE = "0x";
|
|
97
|
-
export declare const PADSTART_CHAR = "0";
|
|
98
|
-
export declare const PLATFORM_VM_IMPORT_TX = "PlatformVM.ImportTx";
|
|
99
|
-
export declare const PLATFORM_VM_ADD_VALIDATOR_TX = "PlatformVM.AddValidatorTx";
|
|
100
|
-
export declare const IMPORT_TX_TYPE = "ImportTx";
|
|
101
|
-
export declare const P_CHAIN_IMPORT_TYPE = "P-chain-import";
|
|
102
|
-
export declare const IMPORT_TYPE = "import";
|
|
103
|
-
export declare const EXPORT_TYPE = "export";
|
|
104
|
-
export declare const SEND_TYPE = "send";
|
|
105
|
-
export declare const IMPORT_C_TYPE = "import-c";
|
|
106
|
-
export declare const VALIDATOR_TYPE = "validator";
|
|
107
|
-
export declare const ADDVALIDATOR_TYPE = "addValidator";
|
|
108
|
-
export declare const ADD_VALIDATOR_TX_TYPE = "AddValidatorTx";
|
|
109
|
-
export declare const VALIDATOR_TRANSACTION_TYPES: string[];
|
|
110
|
-
export declare const TRANSFERABLE_INPUT_TYPE = "TransferableInput";
|
|
111
|
-
export declare const CREDENTIAL_TYPE = "Credential";
|
|
112
|
-
export declare const SECP256K1_TRANSFER_INPUT_TYPE = "secp256k1fx.TransferInput";
|
|
113
|
-
export declare const SECP256K1_TRANSFER_OUTPUT_TYPE = "secp256k1fx.TransferOutput";
|
|
114
|
-
export declare const DESTINATION_CHAIN_PROP = "destinationChain";
|
|
115
|
-
export declare const DESTINATION_CHAIN_ID_PROP = "destinationChainID";
|
|
116
|
-
export declare const EXPORTED_OUTPUTS_PROP = "exportedOutputs";
|
|
117
|
-
export declare const OUTS_PROP = "outs";
|
|
118
|
-
export declare const INPUTS_PROP = "inputs";
|
|
119
|
-
export declare const INS_PROP = "ins";
|
|
120
|
-
export declare const NETWORK_ID_PROP = "networkID";
|
|
121
|
-
export declare const NETWORK_ID_PROP_ALT = "networkId";
|
|
122
|
-
export declare const BLOCKCHAIN_ID_PROP = "blockchainID";
|
|
123
|
-
export declare const GET_OUTPUT_METHOD = "getOutput";
|
|
124
|
-
export declare const OUTPUT_ID_FIELD = "outputID";
|
|
125
|
-
export declare const AMOUNT_FIELD = "amount";
|
|
126
|
-
export declare const TXID_FIELD = "txid";
|
|
127
|
-
export declare const OUTPUT_IDX_FIELD = "outputidx";
|
|
128
|
-
export declare const ID_FIELD = "id";
|
|
129
|
-
export declare const OUTPUT_AMOUNT_FIELD = "outputAmount";
|
|
130
|
-
export declare const CHANGE_AMOUNT_FIELD = "changeAmount";
|
|
131
|
-
export declare const OUTPUTS_FIELD = "outputs";
|
|
132
|
-
export declare const CHANGE_OUTPUTS_FIELD = "changeOutputs";
|
|
133
|
-
export declare const FEE_FIELD = "fee";
|
|
134
|
-
export declare const TYPE_FIELD = "type";
|
|
135
|
-
export declare const SECP256K1_SIG_TYPE = "secp256k1";
|
|
136
|
-
export declare const DER_FORMAT = "der";
|
|
137
|
-
export declare const SHA256_HASH = "sha256";
|
|
138
|
-
export declare const RECOVERY_KEY_METHOD = "recovery-key";
|
|
139
|
-
export declare const NORMAL_MODE = "normal";
|
|
140
|
-
export declare const RECOVERY_MODE = "recovery";
|
|
141
|
-
export declare const RECOVERY_VERSION = "1.0.0";
|
|
142
|
-
export declare const SIGNATURE_VERSION = "1.0.0";
|
|
143
|
-
export declare const HEX_RADIX = 16;
|
|
144
|
-
export declare const ADD_PERMISSIONLESS_VALIDATOR_TYPE = "addPermissionlessValidator";
|
|
145
|
-
export declare const DISPLAY_ORDER_BASE: string[];
|
|
146
|
-
export declare const MEMO_FIELD = "memo";
|
|
147
|
-
export declare const REWARD_ADDRESSES_FIELD = "rewardAddresses";
|
|
148
|
-
export declare const SOURCE_CHAIN_FIELD = "sourceChain";
|
|
149
|
-
export declare const DESTINATION_CHAIN_FIELD = "destinationChain";
|
|
150
|
-
export declare const FLR_ASSET_ID = "FLR";
|
|
151
|
-
export declare const FLARE_TX_HEX_PLACEHOLDER = "flare-tx-hex-placeholder";
|
|
152
|
-
export declare const FLARE_SIGNABLE_PAYLOAD = "flare-signable-payload";
|
|
153
|
-
export declare const FLARE_TRANSACTION_ID_PLACEHOLDER = "flare-transaction-id-placeholder";
|
|
154
|
-
export declare const PLACEHOLDER_NODE_ID = "placeholder-node-id";
|
|
155
|
-
export declare const P_CHAIN_SHORT = "P";
|
|
156
|
-
export declare const X_CHAIN_SHORT = "X";
|
|
157
|
-
export declare const VALID_IMPORT_SOURCE_CHAINS: string[];
|
|
158
|
-
export declare const VALID_P_CHAIN_IMPORT_TYPES: string[];
|
|
159
|
-
export declare const ERROR_NETWORK_ID_MISMATCH = "Network ID mismatch";
|
|
160
|
-
export declare const ERROR_BLOCKCHAIN_ID_MISMATCH_BUILDER = "Blockchain ID mismatch";
|
|
161
|
-
export declare const ERROR_INVALID_THRESHOLD = "Invalid transaction: threshold must be set to 2";
|
|
162
|
-
export declare const ERROR_INVALID_LOCKTIME = "Invalid transaction: locktime must be 0 or higher";
|
|
163
|
-
export declare const ERROR_UTXOS_EMPTY_ARRAY = "Utxos can't be empty array";
|
|
164
|
-
export declare const ERROR_UTXOS_MISSING_FIELD = "Utxos required";
|
|
165
|
-
export declare const ERROR_FROM_ADDRESSES_REQUIRED = "from addresses are required";
|
|
166
|
-
export declare const ERROR_UTXOS_REQUIRED_BUILDER = "utxos are required";
|
|
167
|
-
export declare const ERROR_PARSE_RAW_TRANSACTION = "Failed to parse raw transaction";
|
|
168
|
-
export declare const ERROR_UNKNOWN_PARSING = "Unknown error";
|
|
169
|
-
export declare const UTXO_REQUIRED_FIELDS: string[];
|
|
170
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Shared constants for Flare P-Chain (flrp) utilities and key handling.
|
|
3
|
-
// Centralizing avoids magic numbers scattered across utils and keyPair implementations.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.HEX_PREFIX_LENGTH = exports.HEX_PREFIX = exports.EMPTY_BUFFER_SIZE = exports.FLARE_TESTNET_NETWORK_ID = exports.FLARE_MAINNET_NETWORK_ID = exports.DEFAULT_NETWORK_ID = exports.HEX_PATTERN_WITH_PREFIX = exports.HEX_PATTERN_NO_PREFIX = exports.HEX_CHAR_PATTERN = exports.HEX_REGEX = exports.ADDRESS_REGEX = exports.FIRST_ADDRESS_INDEX = exports.MEMO_BUFFER_SIZE = exports.DEFAULT_LOCKTIME = exports.DEFAULT_THRESHOLD = exports.ZERO_NUMBER = exports.ZERO_BIGINT = exports.EMPTY_STRING = exports.CREDENTIAL_VERSION = exports.STAKE_OUTPUT_TYPE = exports.SECP256K1_CREDENTIAL_TYPE = exports.DELEGATOR_STAKE_TYPE = exports.PRIMARY_DELEGATOR_TYPE = exports.DELEGATOR_TRANSACTION_TYPE = exports.TRANSACTION_ID_PREFIX = exports.PERCENTAGE_MULTIPLIER = exports.BASIS_POINTS_DIVISOR = exports.MIN_DELEGATION_FEE_BASIS_POINTS = exports.MINIMUM_FEE = exports.OUTPUT_FEE = exports.INPUT_FEE = exports.DEFAULT_EVM_GAS_FEE = exports.DEFAULT_BASE_FEE = exports.MAX_CHAIN_ID_LENGTH = exports.CHAIN_ID_HEX_LENGTH = exports.BLS_SIGNATURE_LENGTH = exports.BLS_PUBLIC_KEY_UNCOMPRESSED_LENGTH = exports.BLS_PUBLIC_KEY_COMPRESSED_LENGTH = exports.SECP256K1_SIGNATURE_LENGTH = exports.PRIVATE_KEY_HEX_LENGTH = exports.TRANSACTION_ID_HEX_LENGTH = exports.ASSET_ID_LENGTH = exports.OUTPUT_INDEX_HEX_LENGTH = exports.PRIVATE_KEY_COMPRESSED_SUFFIX = exports.SUFFIXED_PRIVATE_KEY_LENGTH = exports.RAW_PRIVATE_KEY_LENGTH = exports.UNCOMPRESSED_PUBLIC_KEY_LENGTH = exports.COMPRESSED_PUBLIC_KEY_LENGTH = exports.SHORT_PUB_KEY_LENGTH = exports.DECODED_BLOCK_ID_LENGTH = void 0;
|
|
6
|
-
exports.IMPORT_TX_TYPE = exports.PLATFORM_VM_ADD_VALIDATOR_TX = exports.PLATFORM_VM_IMPORT_TX = exports.PADSTART_CHAR = exports.HEX_PREFIX_REMOVE = exports.ZERO_ADDRESS = exports.FLARE_ADDRESS_PLACEHOLDER = exports.FLARE_ATOMIC_PARSED_PREFIX = exports.FLARE_ATOMIC_PREFIX = exports.CHAIN_SUFFIX = exports.X_CHAIN_FULL = exports.C_CHAIN_FULL = exports.P_CHAIN_FULL = exports.X_CHAIN = exports.C_CHAIN = exports.P_CHAIN = exports.UTF8_ENCODING = exports.HEX_ENCODING = exports.BIGINT_TYPE = exports.FUNCTION_TYPE = exports.NUMBER_TYPE = exports.STRING_TYPE = exports.OBJECT_TYPE_STRING = exports.ERROR_FAILED_INITIALIZE_BUILDER = exports.ERROR_TRANSACTION_PARSE_FAILED = exports.ERROR_BLOCKCHAIN_ID_MISMATCH = exports.ERROR_TRANSACTION_REQUIRED = exports.ERROR_EXPORT_AMOUNT_POSITIVE = exports.ERROR_DESTINATION_ADDRESSES_REQUIRED = exports.ERROR_SOURCE_ADDRESSES_REQUIRED = exports.ERROR_DESTINATION_CHAIN_REQUIRED = exports.ERROR_EXPORT_NOT_IMPLEMENTED = exports.ERROR_UNKNOWN = exports.ERROR_CREATE_CREDENTIAL_FAILED = exports.ERROR_FLAREJS_SIGNING_FAILED = exports.ERROR_ENHANCED_PARSE_FAILED = exports.ERROR_ENHANCED_BUILD_FAILED = exports.ERROR_UTXOS_REQUIRED_BUILD = exports.ERROR_INVALID_PRIVATE_KEY = exports.ERROR_SIGNATURES_EMPTY = exports.ERROR_SIGNATURES_ARRAY = exports.ERROR_UTXOS_REQUIRED = exports.ERROR_CREDENTIALS_ARRAY = exports.ERROR_AMOUNT_POSITIVE = exports.EXPORT_TRANSACTION_TYPE = exports.MAINNET_TYPE = exports.FIRST_ARRAY_INDEX = exports.AMOUNT_STRING_ZERO = exports.SIGNING_METHOD = exports.DECIMAL_RADIX = void 0;
|
|
7
|
-
exports.FLR_ASSET_ID = exports.DESTINATION_CHAIN_FIELD = exports.SOURCE_CHAIN_FIELD = exports.REWARD_ADDRESSES_FIELD = exports.MEMO_FIELD = exports.DISPLAY_ORDER_BASE = exports.ADD_PERMISSIONLESS_VALIDATOR_TYPE = exports.HEX_RADIX = exports.SIGNATURE_VERSION = exports.RECOVERY_VERSION = exports.RECOVERY_MODE = exports.NORMAL_MODE = exports.RECOVERY_KEY_METHOD = exports.SHA256_HASH = exports.DER_FORMAT = exports.SECP256K1_SIG_TYPE = exports.TYPE_FIELD = exports.FEE_FIELD = exports.CHANGE_OUTPUTS_FIELD = exports.OUTPUTS_FIELD = exports.CHANGE_AMOUNT_FIELD = exports.OUTPUT_AMOUNT_FIELD = exports.ID_FIELD = exports.OUTPUT_IDX_FIELD = exports.TXID_FIELD = exports.AMOUNT_FIELD = exports.OUTPUT_ID_FIELD = exports.GET_OUTPUT_METHOD = exports.BLOCKCHAIN_ID_PROP = exports.NETWORK_ID_PROP_ALT = exports.NETWORK_ID_PROP = exports.INS_PROP = exports.INPUTS_PROP = exports.OUTS_PROP = exports.EXPORTED_OUTPUTS_PROP = exports.DESTINATION_CHAIN_ID_PROP = exports.DESTINATION_CHAIN_PROP = exports.SECP256K1_TRANSFER_OUTPUT_TYPE = exports.SECP256K1_TRANSFER_INPUT_TYPE = exports.CREDENTIAL_TYPE = exports.TRANSFERABLE_INPUT_TYPE = exports.VALIDATOR_TRANSACTION_TYPES = exports.ADD_VALIDATOR_TX_TYPE = exports.ADDVALIDATOR_TYPE = exports.VALIDATOR_TYPE = exports.IMPORT_C_TYPE = exports.SEND_TYPE = exports.EXPORT_TYPE = exports.IMPORT_TYPE = exports.P_CHAIN_IMPORT_TYPE = void 0;
|
|
8
|
-
exports.UTXO_REQUIRED_FIELDS = exports.ERROR_UNKNOWN_PARSING = exports.ERROR_PARSE_RAW_TRANSACTION = exports.ERROR_UTXOS_REQUIRED_BUILDER = exports.ERROR_FROM_ADDRESSES_REQUIRED = exports.ERROR_UTXOS_MISSING_FIELD = exports.ERROR_UTXOS_EMPTY_ARRAY = exports.ERROR_INVALID_LOCKTIME = exports.ERROR_INVALID_THRESHOLD = exports.ERROR_BLOCKCHAIN_ID_MISMATCH_BUILDER = exports.ERROR_NETWORK_ID_MISMATCH = exports.VALID_P_CHAIN_IMPORT_TYPES = exports.VALID_IMPORT_SOURCE_CHAINS = exports.X_CHAIN_SHORT = exports.P_CHAIN_SHORT = exports.PLACEHOLDER_NODE_ID = exports.FLARE_TRANSACTION_ID_PLACEHOLDER = exports.FLARE_SIGNABLE_PAYLOAD = exports.FLARE_TX_HEX_PLACEHOLDER = void 0;
|
|
9
|
-
exports.DECODED_BLOCK_ID_LENGTH = 32; // Expected decoded block identifier length
|
|
10
|
-
exports.SHORT_PUB_KEY_LENGTH = 50; // Placeholder (potential CB58 encoded form length)
|
|
11
|
-
exports.COMPRESSED_PUBLIC_KEY_LENGTH = 66; // 33 bytes (compressed) hex encoded
|
|
12
|
-
exports.UNCOMPRESSED_PUBLIC_KEY_LENGTH = 130; // 65 bytes (uncompressed) hex encoded
|
|
13
|
-
exports.RAW_PRIVATE_KEY_LENGTH = 64; // 32 bytes hex encoded
|
|
14
|
-
exports.SUFFIXED_PRIVATE_KEY_LENGTH = 66; // 32 bytes + compression flag suffix
|
|
15
|
-
exports.PRIVATE_KEY_COMPRESSED_SUFFIX = '01';
|
|
16
|
-
exports.OUTPUT_INDEX_HEX_LENGTH = 8; // 4 bytes serialized to hex length
|
|
17
|
-
// Asset and transaction constants
|
|
18
|
-
exports.ASSET_ID_LENGTH = 32; // Asset ID length in bytes (standard for AVAX/Flare networks)
|
|
19
|
-
exports.TRANSACTION_ID_HEX_LENGTH = 64; // Transaction ID length in hex characters (32 bytes)
|
|
20
|
-
exports.PRIVATE_KEY_HEX_LENGTH = 64; // Private key length in hex characters (32 bytes)
|
|
21
|
-
exports.SECP256K1_SIGNATURE_LENGTH = 65; // SECP256K1 signature length in bytes
|
|
22
|
-
exports.BLS_PUBLIC_KEY_COMPRESSED_LENGTH = 96; // BLS public key compressed length in hex chars (48 bytes)
|
|
23
|
-
exports.BLS_PUBLIC_KEY_UNCOMPRESSED_LENGTH = 192; // BLS public key uncompressed length in hex chars (96 bytes)
|
|
24
|
-
exports.BLS_SIGNATURE_LENGTH = 192; // BLS signature length in hex characters (96 bytes)
|
|
25
|
-
exports.CHAIN_ID_HEX_LENGTH = 64; // Chain ID length in hex characters (32 bytes)
|
|
26
|
-
exports.MAX_CHAIN_ID_LENGTH = 128; // Maximum chain ID string length
|
|
27
|
-
// Fee constants (in nanoFLR)
|
|
28
|
-
exports.DEFAULT_BASE_FEE = '1000000'; // 1M nanoFLR default base fee
|
|
29
|
-
exports.DEFAULT_EVM_GAS_FEE = '21000'; // Standard EVM transfer gas fee
|
|
30
|
-
exports.INPUT_FEE = '100000'; // 100K nanoFLR per input (FlareJS standard)
|
|
31
|
-
exports.OUTPUT_FEE = '50000'; // 50K nanoFLR per output (FlareJS standard)
|
|
32
|
-
exports.MINIMUM_FEE = '1000000'; // 1M nanoFLR minimum fee
|
|
33
|
-
// Validator constants
|
|
34
|
-
exports.MIN_DELEGATION_FEE_BASIS_POINTS = 20000; // 2% minimum delegation fee
|
|
35
|
-
exports.BASIS_POINTS_DIVISOR = 10000; // Divisor to convert basis points to decimal
|
|
36
|
-
exports.PERCENTAGE_MULTIPLIER = 100; // Multiplier to convert decimal to percentage
|
|
37
|
-
// Transaction ID prefix
|
|
38
|
-
exports.TRANSACTION_ID_PREFIX = 'flare-atomic-tx-'; // Prefix for transaction IDs
|
|
39
|
-
// Transaction type constants
|
|
40
|
-
exports.DELEGATOR_TRANSACTION_TYPE = 'PlatformVM.AddDelegatorTx'; // Delegator transaction type
|
|
41
|
-
// Delegator type constants
|
|
42
|
-
exports.PRIMARY_DELEGATOR_TYPE = 'primary'; // Primary delegator type
|
|
43
|
-
exports.DELEGATOR_STAKE_TYPE = 'delegator'; // Delegator stake type
|
|
44
|
-
exports.SECP256K1_CREDENTIAL_TYPE = 'secp256k1fx.Credential'; // SECP256K1 credential type
|
|
45
|
-
exports.STAKE_OUTPUT_TYPE = 'stake'; // Stake output type
|
|
46
|
-
exports.CREDENTIAL_VERSION = '1.0.0'; // Credential version
|
|
47
|
-
// Default values and thresholds
|
|
48
|
-
exports.EMPTY_STRING = ''; // Empty string default
|
|
49
|
-
exports.ZERO_BIGINT = 0n; // Zero BigInt default
|
|
50
|
-
exports.ZERO_NUMBER = 0; // Zero number default
|
|
51
|
-
exports.DEFAULT_THRESHOLD = 1; // Default signature threshold
|
|
52
|
-
exports.DEFAULT_LOCKTIME = 0n; // Default locktime
|
|
53
|
-
exports.MEMO_BUFFER_SIZE = 0; // Empty memo buffer size
|
|
54
|
-
exports.FIRST_ADDRESS_INDEX = 0; // First address index
|
|
55
|
-
// Regex patterns
|
|
56
|
-
exports.ADDRESS_REGEX = /^(^P||NodeID)-[a-zA-Z0-9]+$/;
|
|
57
|
-
exports.HEX_REGEX = /^(0x){0,1}([0-9a-f])+$/i;
|
|
58
|
-
// Hex pattern components for building dynamic regexes
|
|
59
|
-
exports.HEX_CHAR_PATTERN = '[0-9a-fA-F]';
|
|
60
|
-
exports.HEX_PATTERN_NO_PREFIX = `^${exports.HEX_CHAR_PATTERN}*$`;
|
|
61
|
-
exports.HEX_PATTERN_WITH_PREFIX = `^0x${exports.HEX_CHAR_PATTERN}`;
|
|
62
|
-
// Network and buffer constants
|
|
63
|
-
exports.DEFAULT_NETWORK_ID = 0; // Default network ID
|
|
64
|
-
exports.FLARE_MAINNET_NETWORK_ID = 1; // Flare mainnet network ID
|
|
65
|
-
exports.FLARE_TESTNET_NETWORK_ID = 5; // Flare testnet network ID
|
|
66
|
-
exports.EMPTY_BUFFER_SIZE = 0; // Empty buffer allocation size
|
|
67
|
-
exports.HEX_PREFIX = '0x'; // Hex prefix
|
|
68
|
-
exports.HEX_PREFIX_LENGTH = 2; // Length of hex prefix
|
|
69
|
-
exports.DECIMAL_RADIX = 10; // Decimal radix for parseInt
|
|
70
|
-
exports.SIGNING_METHOD = 'secp256k1'; // Default signing method
|
|
71
|
-
exports.AMOUNT_STRING_ZERO = '0'; // Zero amount as string
|
|
72
|
-
exports.FIRST_ARRAY_INDEX = 0; // First array index
|
|
73
|
-
exports.MAINNET_TYPE = 'mainnet'; // Mainnet type string
|
|
74
|
-
// Transaction type constants for export
|
|
75
|
-
exports.EXPORT_TRANSACTION_TYPE = 'PlatformVM.ExportTx'; // Export transaction type
|
|
76
|
-
// Error messages
|
|
77
|
-
exports.ERROR_AMOUNT_POSITIVE = 'Amount must be positive';
|
|
78
|
-
exports.ERROR_CREDENTIALS_ARRAY = 'Credentials must be an array';
|
|
79
|
-
exports.ERROR_UTXOS_REQUIRED = 'UTXOs are required for creating inputs and outputs';
|
|
80
|
-
exports.ERROR_SIGNATURES_ARRAY = 'Signatures must be an array';
|
|
81
|
-
exports.ERROR_SIGNATURES_EMPTY = 'Signatures array cannot be empty';
|
|
82
|
-
exports.ERROR_INVALID_PRIVATE_KEY = 'Invalid private key format';
|
|
83
|
-
exports.ERROR_UTXOS_REQUIRED_BUILD = 'UTXOs are required for transaction building';
|
|
84
|
-
exports.ERROR_ENHANCED_BUILD_FAILED = 'Enhanced FlareJS transaction building failed';
|
|
85
|
-
exports.ERROR_ENHANCED_PARSE_FAILED = 'Enhanced FlareJS transaction parsing failed';
|
|
86
|
-
exports.ERROR_FLAREJS_SIGNING_FAILED = 'FlareJS signing failed';
|
|
87
|
-
exports.ERROR_CREATE_CREDENTIAL_FAILED = 'Failed to create credential';
|
|
88
|
-
exports.ERROR_UNKNOWN = 'unknown error';
|
|
89
|
-
exports.ERROR_EXPORT_NOT_IMPLEMENTED = 'Flare P-chain export transaction build not implemented';
|
|
90
|
-
exports.ERROR_DESTINATION_CHAIN_REQUIRED = 'Destination chain ID must be set for P-chain export';
|
|
91
|
-
exports.ERROR_SOURCE_ADDRESSES_REQUIRED = 'Source addresses must be set for P-chain export';
|
|
92
|
-
exports.ERROR_DESTINATION_ADDRESSES_REQUIRED = 'Destination addresses must be set for P-chain export';
|
|
93
|
-
exports.ERROR_EXPORT_AMOUNT_POSITIVE = 'Export amount must be positive';
|
|
94
|
-
exports.ERROR_TRANSACTION_REQUIRED = 'Transaction is required for initialization';
|
|
95
|
-
exports.ERROR_BLOCKCHAIN_ID_MISMATCH = 'Blockchain ID mismatch';
|
|
96
|
-
exports.ERROR_TRANSACTION_PARSE_FAILED = 'Transaction cannot be parsed or has an unsupported transaction type';
|
|
97
|
-
exports.ERROR_FAILED_INITIALIZE_BUILDER = 'Failed to initialize builder from transaction';
|
|
98
|
-
// Type checking constants
|
|
99
|
-
exports.OBJECT_TYPE_STRING = 'object'; // Object type string for typeof checks
|
|
100
|
-
exports.STRING_TYPE = 'string'; // String type for typeof checks
|
|
101
|
-
exports.NUMBER_TYPE = 'number'; // Number type for typeof checks
|
|
102
|
-
exports.FUNCTION_TYPE = 'function'; // Function type for typeof checks
|
|
103
|
-
exports.BIGINT_TYPE = 'bigint'; // BigInt type for typeof checks
|
|
104
|
-
exports.HEX_ENCODING = 'hex'; // Hex encoding string
|
|
105
|
-
exports.UTF8_ENCODING = 'utf8'; // UTF8 encoding string
|
|
106
|
-
// Chain identifiers
|
|
107
|
-
exports.P_CHAIN = 'P'; // P-chain identifier
|
|
108
|
-
exports.C_CHAIN = 'C'; // C-chain identifier
|
|
109
|
-
exports.X_CHAIN = 'X'; // X-chain identifier
|
|
110
|
-
exports.P_CHAIN_FULL = 'P-chain'; // P-chain full name
|
|
111
|
-
exports.C_CHAIN_FULL = 'C-chain'; // C-chain full name
|
|
112
|
-
exports.X_CHAIN_FULL = 'X-chain'; // X-chain full name
|
|
113
|
-
exports.CHAIN_SUFFIX = '-chain'; // Chain name suffix
|
|
114
|
-
// Atomic transaction prefixes
|
|
115
|
-
exports.FLARE_ATOMIC_PREFIX = 'flare-atomic-'; // Prefix for atomic transaction IDs
|
|
116
|
-
exports.FLARE_ATOMIC_PARSED_PREFIX = 'flare-atomic-parsed-'; // Prefix for parsed transaction IDs
|
|
117
|
-
// Placeholder values
|
|
118
|
-
exports.FLARE_ADDRESS_PLACEHOLDER = 'flare-address-placeholder'; // Placeholder for address conversion
|
|
119
|
-
exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; // Zero address
|
|
120
|
-
exports.HEX_PREFIX_REMOVE = '0x'; // Hex prefix to remove
|
|
121
|
-
exports.PADSTART_CHAR = '0'; // Character used for padding
|
|
122
|
-
// FlareJS transaction types
|
|
123
|
-
exports.PLATFORM_VM_IMPORT_TX = 'PlatformVM.ImportTx'; // Platform VM import transaction
|
|
124
|
-
exports.PLATFORM_VM_ADD_VALIDATOR_TX = 'PlatformVM.AddValidatorTx'; // Platform VM add validator transaction
|
|
125
|
-
exports.IMPORT_TX_TYPE = 'ImportTx'; // Import transaction type
|
|
126
|
-
exports.P_CHAIN_IMPORT_TYPE = 'P-chain-import'; // P-chain import type
|
|
127
|
-
// Transaction types and values
|
|
128
|
-
exports.IMPORT_TYPE = 'import'; // Import transaction type
|
|
129
|
-
exports.EXPORT_TYPE = 'export'; // Export transaction type
|
|
130
|
-
exports.SEND_TYPE = 'send'; // Send transaction type
|
|
131
|
-
exports.IMPORT_C_TYPE = 'import-c'; // Import C-chain transaction type
|
|
132
|
-
exports.VALIDATOR_TYPE = 'validator'; // Validator type
|
|
133
|
-
exports.ADDVALIDATOR_TYPE = 'addValidator'; // Add validator type
|
|
134
|
-
exports.ADD_VALIDATOR_TX_TYPE = 'AddValidatorTx'; // Add validator transaction type
|
|
135
|
-
// Validator transaction type arrays
|
|
136
|
-
exports.VALIDATOR_TRANSACTION_TYPES = [
|
|
137
|
-
exports.PLATFORM_VM_ADD_VALIDATOR_TX,
|
|
138
|
-
exports.ADD_VALIDATOR_TX_TYPE,
|
|
139
|
-
exports.ADDVALIDATOR_TYPE,
|
|
140
|
-
exports.VALIDATOR_TYPE,
|
|
141
|
-
]; // Valid validator transaction types
|
|
142
|
-
// Transfer types
|
|
143
|
-
exports.TRANSFERABLE_INPUT_TYPE = 'TransferableInput'; // Transferable input type
|
|
144
|
-
exports.CREDENTIAL_TYPE = 'Credential'; // Credential type
|
|
145
|
-
exports.SECP256K1_TRANSFER_INPUT_TYPE = 'secp256k1fx.TransferInput'; // SECP256K1 transfer input type
|
|
146
|
-
exports.SECP256K1_TRANSFER_OUTPUT_TYPE = 'secp256k1fx.TransferOutput'; // SECP256K1 transfer output type
|
|
147
|
-
// Property names for object checks
|
|
148
|
-
exports.DESTINATION_CHAIN_PROP = 'destinationChain'; // Destination chain property
|
|
149
|
-
exports.DESTINATION_CHAIN_ID_PROP = 'destinationChainID'; // Destination chain ID property
|
|
150
|
-
exports.EXPORTED_OUTPUTS_PROP = 'exportedOutputs'; // Exported outputs property
|
|
151
|
-
exports.OUTS_PROP = 'outs'; // Outputs property short name
|
|
152
|
-
exports.INPUTS_PROP = 'inputs'; // Inputs property
|
|
153
|
-
exports.INS_PROP = 'ins'; // Inputs property short name
|
|
154
|
-
exports.NETWORK_ID_PROP = 'networkID'; // Network ID property
|
|
155
|
-
exports.NETWORK_ID_PROP_ALT = 'networkId'; // Alternative network ID property
|
|
156
|
-
exports.BLOCKCHAIN_ID_PROP = 'blockchainID'; // Blockchain ID property
|
|
157
|
-
exports.GET_OUTPUT_METHOD = 'getOutput'; // Get output method name
|
|
158
|
-
// UTXO field names
|
|
159
|
-
exports.OUTPUT_ID_FIELD = 'outputID'; // Output ID field
|
|
160
|
-
exports.AMOUNT_FIELD = 'amount'; // Amount field
|
|
161
|
-
exports.TXID_FIELD = 'txid'; // Transaction ID field
|
|
162
|
-
exports.OUTPUT_IDX_FIELD = 'outputidx'; // Output index field
|
|
163
|
-
// Transaction explanation field names
|
|
164
|
-
exports.ID_FIELD = 'id'; // ID field name
|
|
165
|
-
exports.OUTPUT_AMOUNT_FIELD = 'outputAmount'; // Output amount field
|
|
166
|
-
exports.CHANGE_AMOUNT_FIELD = 'changeAmount'; // Change amount field
|
|
167
|
-
exports.OUTPUTS_FIELD = 'outputs'; // Outputs field
|
|
168
|
-
exports.CHANGE_OUTPUTS_FIELD = 'changeOutputs'; // Change outputs field
|
|
169
|
-
exports.FEE_FIELD = 'fee'; // Fee field
|
|
170
|
-
exports.TYPE_FIELD = 'type'; // Type field
|
|
171
|
-
// Signature and hash methods
|
|
172
|
-
exports.SECP256K1_SIG_TYPE = 'secp256k1'; // SECP256K1 signature type
|
|
173
|
-
exports.DER_FORMAT = 'der'; // DER format
|
|
174
|
-
exports.SHA256_HASH = 'sha256'; // SHA256 hash function
|
|
175
|
-
exports.RECOVERY_KEY_METHOD = 'recovery-key'; // Recovery key signing method
|
|
176
|
-
exports.NORMAL_MODE = 'normal'; // Normal mode
|
|
177
|
-
exports.RECOVERY_MODE = 'recovery'; // Recovery mode
|
|
178
|
-
// Version strings
|
|
179
|
-
exports.RECOVERY_VERSION = '1.0.0'; // Recovery version
|
|
180
|
-
exports.SIGNATURE_VERSION = '1.0.0'; // Signature version
|
|
181
|
-
// Numeric radix
|
|
182
|
-
exports.HEX_RADIX = 16; // Hexadecimal radix
|
|
183
|
-
// Transaction type identifiers (additional)
|
|
184
|
-
exports.ADD_PERMISSIONLESS_VALIDATOR_TYPE = 'addPermissionlessValidator'; // Add permissionless validator type
|
|
185
|
-
// Display order for transaction explanations
|
|
186
|
-
exports.DISPLAY_ORDER_BASE = [
|
|
187
|
-
'id',
|
|
188
|
-
'inputs',
|
|
189
|
-
'outputAmount',
|
|
190
|
-
'changeAmount',
|
|
191
|
-
'outputs',
|
|
192
|
-
'changeOutputs',
|
|
193
|
-
'fee',
|
|
194
|
-
'type',
|
|
195
|
-
]; // Base display order
|
|
196
|
-
exports.MEMO_FIELD = 'memo'; // Memo field name
|
|
197
|
-
exports.REWARD_ADDRESSES_FIELD = 'rewardAddresses'; // Reward addresses field
|
|
198
|
-
exports.SOURCE_CHAIN_FIELD = 'sourceChain'; // Source chain field
|
|
199
|
-
exports.DESTINATION_CHAIN_FIELD = 'destinationChain'; // Destination chain field
|
|
200
|
-
// Asset and network constants
|
|
201
|
-
exports.FLR_ASSET_ID = 'FLR'; // Default FLR asset ID
|
|
202
|
-
// Placeholder constants for development
|
|
203
|
-
exports.FLARE_TX_HEX_PLACEHOLDER = 'flare-tx-hex-placeholder'; // Transaction hex placeholder
|
|
204
|
-
exports.FLARE_SIGNABLE_PAYLOAD = 'flare-signable-payload'; // Signable payload placeholder
|
|
205
|
-
exports.FLARE_TRANSACTION_ID_PLACEHOLDER = 'flare-transaction-id-placeholder'; // Transaction ID placeholder
|
|
206
|
-
exports.PLACEHOLDER_NODE_ID = 'placeholder-node-id'; // Node ID placeholder
|
|
207
|
-
// Chain identifiers (short forms)
|
|
208
|
-
exports.P_CHAIN_SHORT = 'P'; // P-chain short name
|
|
209
|
-
exports.X_CHAIN_SHORT = 'X'; // X-chain short name
|
|
210
|
-
// Valid source chains for imports
|
|
211
|
-
exports.VALID_IMPORT_SOURCE_CHAINS = [exports.P_CHAIN_SHORT, exports.P_CHAIN_FULL, exports.X_CHAIN_SHORT, exports.X_CHAIN_FULL]; // Valid source chains for C-chain imports
|
|
212
|
-
// Valid P-chain import types
|
|
213
|
-
exports.VALID_P_CHAIN_IMPORT_TYPES = [exports.PLATFORM_VM_IMPORT_TX, exports.IMPORT_TX_TYPE, exports.IMPORT_TYPE, exports.P_CHAIN_IMPORT_TYPE]; // Valid P-chain import types
|
|
214
|
-
// Error messages for transactionBuilder
|
|
215
|
-
exports.ERROR_NETWORK_ID_MISMATCH = 'Network ID mismatch'; // Network ID validation error
|
|
216
|
-
exports.ERROR_BLOCKCHAIN_ID_MISMATCH_BUILDER = 'Blockchain ID mismatch'; // Blockchain ID validation error
|
|
217
|
-
exports.ERROR_INVALID_THRESHOLD = 'Invalid transaction: threshold must be set to 2'; // Threshold validation error
|
|
218
|
-
exports.ERROR_INVALID_LOCKTIME = 'Invalid transaction: locktime must be 0 or higher'; // Locktime validation error
|
|
219
|
-
exports.ERROR_UTXOS_EMPTY_ARRAY = "Utxos can't be empty array"; // Empty UTXOS array error
|
|
220
|
-
exports.ERROR_UTXOS_MISSING_FIELD = 'Utxos required'; // Missing UTXO field error
|
|
221
|
-
exports.ERROR_FROM_ADDRESSES_REQUIRED = 'from addresses are required'; // Missing from addresses error
|
|
222
|
-
exports.ERROR_UTXOS_REQUIRED_BUILDER = 'utxos are required'; // Missing UTXOs error
|
|
223
|
-
exports.ERROR_PARSE_RAW_TRANSACTION = 'Failed to parse raw transaction'; // Raw transaction parsing error
|
|
224
|
-
exports.ERROR_UNKNOWN_PARSING = 'Unknown error'; // Unknown parsing error
|
|
225
|
-
// UTXO field validation
|
|
226
|
-
exports.UTXO_REQUIRED_FIELDS = ['outputID', 'amount', 'txid', 'outputidx']; // Required UTXO fields
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdFQUF3RTtBQUN4RSx3RkFBd0Y7Ozs7OztBQUUzRSxRQUFBLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLDJDQUEyQztBQUN6RSxRQUFBLG9CQUFvQixHQUFHLEVBQUUsQ0FBQyxDQUFDLG1EQUFtRDtBQUM5RSxRQUFBLDRCQUE0QixHQUFHLEVBQUUsQ0FBQyxDQUFDLG9DQUFvQztBQUN2RSxRQUFBLDhCQUE4QixHQUFHLEdBQUcsQ0FBQyxDQUFDLHNDQUFzQztBQUM1RSxRQUFBLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QjtBQUNwRCxRQUFBLDJCQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFDLHFDQUFxQztBQUN2RSxRQUFBLDZCQUE2QixHQUFHLElBQUksQ0FBQztBQUNyQyxRQUFBLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztBQUU3RSxrQ0FBa0M7QUFDckIsUUFBQSxlQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsOERBQThEO0FBQ3BGLFFBQUEseUJBQXlCLEdBQUcsRUFBRSxDQUFDLENBQUMscURBQXFEO0FBQ3JGLFFBQUEsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUMsa0RBQWtEO0FBQy9FLFFBQUEsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUMsc0NBQXNDO0FBQ3ZFLFFBQUEsZ0NBQWdDLEdBQUcsRUFBRSxDQUFDLENBQUMsMkRBQTJEO0FBQ2xHLFFBQUEsa0NBQWtDLEdBQUcsR0FBRyxDQUFDLENBQUMsNkRBQTZEO0FBQ3ZHLFFBQUEsb0JBQW9CLEdBQUcsR0FBRyxDQUFDLENBQUMsb0RBQW9EO0FBQ2hGLFFBQUEsbUJBQW1CLEdBQUcsRUFBRSxDQUFDLENBQUMsK0NBQStDO0FBQ3pFLFFBQUEsbUJBQW1CLEdBQUcsR0FBRyxDQUFD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QUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU2hhcmVkIGNvbnN0YW50cyBmb3IgRmxhcmUgUC1DaGFpbiAoZmxycCkgdXRpbGl0aWVzIGFuZCBrZXkgaGFuZGxpbmcuXG4vLyBDZW50cmFsaXppbmcgYXZvaWRzIG1hZ2ljIG51bWJlcnMgc2NhdHRlcmVkIGFjcm9zcyB1dGlscyBhbmQga2V5UGFpciBpbXBsZW1lbnRhdGlvbnMuXG5cbmV4cG9ydCBjb25zdCBERUNPREVEX0JMT0NLX0lEX0xFTkdUSCA9IDMyOyAvLyBFeHBlY3RlZCBkZWNvZGVkIGJsb2NrIGlkZW50aWZpZXIgbGVuZ3RoXG5leHBvcnQgY29uc3QgU0hPUlRfUFVCX0tFWV9MRU5HVEggPSA1MDsgLy8gUGxhY2Vob2xkZXIgKHBvdGVudGlhbCBDQjU4IGVuY29kZWQgZm9ybSBsZW5ndGgpXG5leHBvcnQgY29uc3QgQ09NUFJFU1NFRF9QVUJMSUNfS0VZX0xFTkdUSCA9IDY2OyAvLyAzMyBieXRlcyAoY29tcHJlc3NlZCkgaGV4IGVuY29kZWRcbmV4cG9ydCBjb25zdCBVTkNPTVBSRVNTRURfUFVCTElDX0tFWV9MRU5HVEggPSAxMzA7IC8vIDY1IGJ5dGVzICh1bmNvbXByZXNzZWQpIGhleCBlbmNvZGVkXG5leHBvcnQgY29uc3QgUkFXX1BSSVZBVEVfS0VZX0xFTkdUSCA9IDY0OyAvLyAzMiBieXRlcyBoZXggZW5jb2RlZFxuZXhwb3J0IGNvbnN0IFNVRkZJWEVEX1BSSVZBVEVfS0VZX0xFTkdUSCA9IDY2OyAvLyAzMiBieXRlcyArIGNvbXByZXNzaW9uIGZsYWcgc3VmZml4XG5leHBvcnQgY29uc3QgUFJJVkFURV9LRVlfQ09NUFJFU1NFRF9TVUZGSVggPSAnMDEnO1xuZXhwb3J0IGNvbnN0IE9VVFBVVF9JTkRFWF9IRVhfTEVOR1RIID0gODsgLy8gNCBieXRlcyBzZXJpYWxpemVkIHRvIGhleCBsZW5ndGhcblxuLy8gQXNzZXQgYW5kIHRyYW5zYWN0aW9uIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEFTU0VUX0lEX0xFTkdUSCA9IDMyOyAvLyBBc3NldCBJRCBsZW5ndGggaW4gYnl0ZXMgKHN0YW5kYXJkIGZvciBBVkFYL0ZsYXJlIG5ldHdvcmtzKVxuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX0lEX0hFWF9MRU5HVEggPSA2NDsgLy8gVHJhbnNhY3Rpb24gSUQgbGVuZ3RoIGluIGhleCBjaGFyYWN0ZXJzICgzMiBieXRlcylcbmV4cG9ydCBjb25zdCBQUklWQVRFX0tFWV9IRVhfTEVOR1RIID0gNjQ7IC8vIFByaXZhdGUga2V5IGxlbmd0aCBpbiBoZXggY2hhcmFjdGVycyAoMzIgYnl0ZXMpXG5leHBvcnQgY29uc3QgU0VDUDI1NksxX1NJR05BVFVSRV9MRU5HVEggPSA2NTsgLy8gU0VDUDI1NksxIHNpZ25hdHVyZSBsZW5ndGggaW4gYnl0ZXNcbmV4cG9ydCBjb25zdCBCTFNfUFVCTElDX0tFWV9DT01QUkVTU0VEX0xFTkdUSCA9IDk2OyAvLyBCTFMgcHVibGljIGtleSBjb21wcmVzc2VkIGxlbmd0aCBpbiBoZXggY2hhcnMgKDQ4IGJ5dGVzKVxuZXhwb3J0IGNvbnN0IEJMU19QVUJMSUNfS0VZX1VOQ09NUFJFU1NFRF9MRU5HVEggPSAxOTI7IC8vIEJMUyBwdWJsaWMga2V5IHVuY29tcHJlc3NlZCBsZW5ndGggaW4gaGV4IGNoYXJzICg5NiBieXRlcylcbmV4cG9ydCBjb25zdCBCTFNfU0lHTkFUVVJFX0xFTkdUSCA9IDE5MjsgLy8gQkxTIHNpZ25hdHVyZSBsZW5ndGggaW4gaGV4IGNoYXJhY3RlcnMgKDk2IGJ5dGVzKVxuZXhwb3J0IGNvbnN0IENIQUlOX0lEX0hFWF9MRU5HVEggPSA2NDsgLy8gQ2hhaW4gSUQgbGVuZ3RoIGluIGhleCBjaGFyYWN0ZXJzICgzMiBieXRlcylcbmV4cG9ydCBjb25zdCBNQVhfQ0hBSU5fSURfTEVOR1RIID0gMTI4OyAvLyBNYXhpbXVtIGNoYWluIElEIHN0cmluZyBsZW5ndGhcblxuLy8gRmVlIGNvbnN0YW50cyAoaW4gbmFub0ZMUilcbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBU0VfRkVFID0gJzEwMDAwMDAnOyAvLyAxTSBuYW5vRkxSIGRlZmF1bHQgYmFzZSBmZWVcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VWTV9HQVNfRkVFID0gJzIxMDAwJzsgLy8gU3RhbmRhcmQgRVZNIHRyYW5zZmVyIGdhcyBmZWVcbmV4cG9ydCBjb25zdCBJTlBVVF9GRUUgPSAnMTAwMDAwJzsgLy8gMTAwSyBuYW5vRkxSIHBlciBpbnB1dCAoRmxhcmVKUyBzdGFuZGFyZClcbmV4cG9ydCBjb25zdCBPVVRQVVRfRkVFID0gJzUwMDAwJzsgLy8gNTBLIG5hbm9GTFIgcGVyIG91dHB1dCAoRmxhcmVKUyBzdGFuZGFyZClcbmV4cG9ydCBjb25zdCBNSU5JTVVNX0ZFRSA9ICcxMDAwMDAwJzsgLy8gMU0gbmFub0ZMUiBtaW5pbXVtIGZlZVxuXG4vLyBWYWxpZGF0b3IgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgTUlOX0RFTEVHQVRJT05fRkVFX0JBU0lTX1BPSU5UUyA9IDIwMDAwOyAvLyAyJSBtaW5pbXVtIGRlbGVnYXRpb24gZmVlXG5leHBvcnQgY29uc3QgQkFTSVNfUE9JTlRTX0RJVklTT1IgPSAxMDAwMDsgLy8gRGl2aXNvciB0byBjb252ZXJ0IGJhc2lzIHBvaW50cyB0byBkZWNpbWFsXG5leHBvcnQgY29uc3QgUEVSQ0VOVEFHRV9NVUxUSVBMSUVSID0gMTAwOyAvLyBNdWx0aXBsaWVyIHRvIGNvbnZlcnQgZGVjaW1hbCB0byBwZXJjZW50YWdlXG5cbi8vIFRyYW5zYWN0aW9uIElEIHByZWZpeFxuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX0lEX1BSRUZJWCA9ICdmbGFyZS1hdG9taWMtdHgtJzsgLy8gUHJlZml4IGZvciB0cmFuc2FjdGlvbiBJRHNcblxuLy8gVHJhbnNhY3Rpb24gdHlwZSBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBERUxFR0FUT1JfVFJBTlNBQ1RJT05fVFlQRSA9ICdQbGF0Zm9ybVZNLkFkZERlbGVnYXRvclR4JzsgLy8gRGVsZWdhdG9yIHRyYW5zYWN0aW9uIHR5cGVcblxuLy8gRGVsZWdhdG9yIHR5cGUgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgUFJJTUFSWV9ERUxFR0FUT1JfVFlQRSA9ICdwcmltYXJ5JzsgLy8gUHJpbWFyeSBkZWxlZ2F0b3IgdHlwZVxuZXhwb3J0IGNvbnN0IERFTEVHQVRPUl9TVEFLRV9UWVBFID0gJ2RlbGVnYXRvcic7IC8vIERlbGVnYXRvciBzdGFrZSB0eXBlXG5leHBvcnQgY29uc3QgU0VDUDI1NksxX0NSRURFTlRJQUxfVFlQRSA9ICdzZWNwMjU2azFmeC5DcmVkZW50aWFsJzsgLy8gU0VDUDI1NksxIGNyZWRlbnRpYWwgdHlwZVxuZXhwb3J0IGNvbnN0IFNUQUtFX09VVFBVVF9UWVBFID0gJ3N0YWtlJzsgLy8gU3Rha2Ugb3V0cHV0IHR5cGVcbmV4cG9ydCBjb25zdCBDUkVERU5USUFMX1ZFUlNJT04gPSAnMS4wLjAnOyAvLyBDcmVkZW50aWFsIHZlcnNpb25cblxuLy8gRGVmYXVsdCB2YWx1ZXMgYW5kIHRocmVzaG9sZHNcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSAnJzsgLy8gRW1wdHkgc3RyaW5nIGRlZmF1bHRcbmV4cG9ydCBjb25zdCBaRVJPX0JJR0lOVCA9IDBuOyAvLyBaZXJvIEJpZ0ludCBkZWZhdWx0XG5leHBvcnQgY29uc3QgWkVST19OVU1CRVIgPSAwOyAvLyBaZXJvIG51bWJlciBkZWZhdWx0XG5leHBvcnQgY29uc3QgREVGQVVMVF9USFJFU0hPTEQgPSAxOyAvLyBEZWZhdWx0IHNpZ25hdHVyZSB0aHJlc2hvbGRcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPQ0tUSU1FID0gMG47IC8vIERlZmF1bHQgbG9ja3RpbWVcbmV4cG9ydCBjb25zdCBNRU1PX0JVRkZFUl9TSVpFID0gMDsgLy8gRW1wdHkgbWVtbyBidWZmZXIgc2l6ZVxuZXhwb3J0IGNvbnN0IEZJUlNUX0FERFJFU1NfSU5ERVggPSAwOyAvLyBGaXJzdCBhZGRyZXNzIGluZGV4XG5cbi8vIFJlZ2V4IHBhdHRlcm5zXG5leHBvcnQgY29uc3QgQUREUkVTU19SRUdFWCA9IC9eKF5QfHxOb2RlSUQpLVthLXpBLVowLTldKyQvO1xuZXhwb3J0IGNvbnN0IEhFWF9SRUdFWCA9IC9eKDB4KXswLDF9KFswLTlhLWZdKSskL2k7XG5cbi8vIEhleCBwYXR0ZXJuIGNvbXBvbmVudHMgZm9yIGJ1aWxkaW5nIGR5bmFtaWMgcmVnZXhlc1xuZXhwb3J0IGNvbnN0IEhFWF9DSEFSX1BBVFRFUk4gPSAnWzAtOWEtZkEtRl0nO1xuZXhwb3J0IGNvbnN0IEhFWF9QQVRURVJOX05PX1BSRUZJWCA9IGBeJHtIRVhfQ0hBUl9QQVRURVJOfSokYDtcbmV4cG9ydCBjb25zdCBIRVhfUEFUVEVSTl9XSVRIX1BSRUZJWCA9IGBeMHgke0hFWF9DSEFSX1BBVFRFUk59YDtcblxuLy8gTmV0d29yayBhbmQgYnVmZmVyIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTkVUV09SS19JRCA9IDA7IC8vIERlZmF1bHQgbmV0d29yayBJRFxuZXhwb3J0IGNvbnN0IEZMQVJFX01BSU5ORVRfTkVUV09SS19JRCA9IDE7IC8vIEZsYXJlIG1haW5uZXQgbmV0d29yayBJRFxuZXhwb3J0IGNvbnN0IEZMQVJFX1RFU1RORVRfTkVUV09SS19JRCA9IDU7IC8vIEZsYXJlIHRlc3RuZXQgbmV0d29yayBJRFxuZXhwb3J0IGNvbnN0IEVNUFRZX0JVRkZFUl9TSVpFID0gMDsgLy8gRW1wdHkgYnVmZmVyIGFsbG9jYXRpb24gc2l6ZVxuZXhwb3J0IGNvbnN0IEhFWF9QUkVGSVggPSAnMHgnOyAvLyBIZXggcHJlZml4XG5leHBvcnQgY29uc3QgSEVYX1BSRUZJWF9MRU5HVEggPSAyOyAvLyBMZW5ndGggb2YgaGV4IHByZWZpeFxuZXhwb3J0IGNvbnN0IERFQ0lNQUxfUkFESVggPSAxMDsgLy8gRGVjaW1hbCByYWRpeCBmb3IgcGFyc2VJbnRcbmV4cG9ydCBjb25zdCBTSUdOSU5HX01FVEhPRCA9ICdzZWNwMjU2azEnOyAvLyBEZWZhdWx0IHNpZ25pbmcgbWV0aG9kXG5leHBvcnQgY29uc3QgQU1PVU5UX1NUUklOR19aRVJPID0gJzAnOyAvLyBaZXJvIGFtb3VudCBhcyBzdHJpbmdcbmV4cG9ydCBjb25zdCBGSVJTVF9BUlJBWV9JTkRFWCA9IDA7IC8vIEZpcnN0IGFycmF5IGluZGV4XG5leHBvcnQgY29uc3QgTUFJTk5FVF9UWVBFID0gJ21haW5uZXQnOyAvLyBNYWlubmV0IHR5cGUgc3RyaW5nXG5cbi8vIFRyYW5zYWN0aW9uIHR5cGUgY29uc3RhbnRzIGZvciBleHBvcnRcbmV4cG9ydCBjb25zdCBFWFBPUlRfVFJBTlNBQ1RJT05fVFlQRSA9ICdQbGF0Zm9ybVZNLkV4cG9ydFR4JzsgLy8gRXhwb3J0IHRyYW5zYWN0aW9uIHR5cGVcblxuLy8gRXJyb3IgbWVzc2FnZXNcbmV4cG9ydCBjb25zdCBFUlJPUl9BTU9VTlRfUE9TSVRJVkUgPSAnQW1vdW50IG11c3QgYmUgcG9zaXRpdmUnO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0NSRURFTlRJQUxTX0FSUkFZID0gJ0NyZWRlbnRpYWxzIG11c3QgYmUgYW4gYXJyYXknO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1VUWE9TX1JFUVVJUkVEID0gJ1VUWE9zIGFyZSByZXF1aXJlZCBmb3IgY3JlYXRpbmcgaW5wdXRzIGFuZCBvdXRwdXRzJztcbmV4cG9ydCBjb25zdCBFUlJPUl9TSUdOQVRVUkVTX0FSUkFZID0gJ1NpZ25hdHVyZXMgbXVzdCBiZSBhbiBhcnJheSc7XG5leHBvcnQgY29uc3QgRVJST1JfU0lHTkFUVVJFU19FTVBUWSA9ICdTaWduYXR1cmVzIGFycmF5IGNhbm5vdCBiZSBlbXB0eSc7XG5leHBvcnQgY29uc3QgRVJST1JfSU5WQUxJRF9QUklWQVRFX0tFWSA9ICdJbnZhbGlkIHByaXZhdGUga2V5IGZvcm1hdCc7XG5leHBvcnQgY29uc3QgRVJST1JfVVRYT1NfUkVRVUlSRURfQlVJTEQgPSAnVVRYT3MgYXJlIHJlcXVpcmVkIGZvciB0cmFuc2FjdGlvbiBidWlsZGluZyc7XG5leHBvcnQgY29uc3QgRVJST1JfRU5IQU5DRURfQlVJTERfRkFJTEVEID0gJ0VuaGFuY2VkIEZsYXJlSlMgdHJhbnNhY3Rpb24gYnVpbGRpbmcgZmFpbGVkJztcbmV4cG9ydCBjb25zdCBFUlJPUl9FTkhBTkNFRF9QQVJTRV9GQUlMRUQgPSAnRW5oYW5jZWQgRmxhcmVKUyB0cmFuc2FjdGlvbiBwYXJzaW5nIGZhaWxlZCc7XG5leHBvcnQgY29uc3QgRVJST1JfRkxBUkVKU19TSUdOSU5HX0ZBSUxFRCA9ICdGbGFyZUpTIHNpZ25pbmcgZmFpbGVkJztcbmV4cG9ydCBjb25zdCBFUlJPUl9DUkVBVEVfQ1JFREVOVElBTF9GQUlMRUQgPSAnRmFpbGVkIHRvIGNyZWF0ZSBjcmVkZW50aWFsJztcbmV4cG9ydCBjb25zdCBFUlJPUl9VTktOT1dOID0gJ3Vua25vd24gZXJyb3InO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0VYUE9SVF9OT1RfSU1QTEVNRU5URUQgPSAnRmxhcmUgUC1jaGFpbiBleHBvcnQgdHJhbnNhY3Rpb24gYnVpbGQgbm90IGltcGxlbWVudGVkJztcbmV4cG9ydCBjb25zdCBFUlJPUl9ERVNUSU5BVElPTl9DSEFJTl9SRVFVSVJFRCA9ICdEZXN0aW5hdGlvbiBjaGFpbiBJRCBtdXN0IGJlIHNldCBmb3IgUC1jaGFpbiBleHBvcnQnO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1NPVVJDRV9BRERSRVNTRVNfUkVRVUlSRUQgPSAnU291cmNlIGFkZHJlc3NlcyBtdXN0IGJlIHNldCBmb3IgUC1jaGFpbiBleHBvcnQnO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0RFU1RJTkFUSU9OX0FERFJFU1NFU19SRVFVSVJFRCA9ICdEZXN0aW5hdGlvbiBhZGRyZXNzZXMgbXVzdCBiZSBzZXQgZm9yIFAtY2hhaW4gZXhwb3J0JztcbmV4cG9ydCBjb25zdCBFUlJPUl9FWFBPUlRfQU1PVU5UX1BPU0lUSVZFID0gJ0V4cG9ydCBhbW91bnQgbXVzdCBiZSBwb3NpdGl2ZSc7XG5leHBvcnQgY29uc3QgRVJST1JfVFJBTlNBQ1RJT05fUkVRVUlSRUQgPSAnVHJhbnNhY3Rpb24gaXMgcmVxdWlyZWQgZm9yIGluaXRpYWxpemF0aW9uJztcbmV4cG9ydCBjb25zdCBFUlJPUl9CTE9DS0NIQUlOX0lEX01JU01BVENIID0gJ0Jsb2NrY2hhaW4gSUQgbWlzbWF0Y2gnO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1RSQU5TQUNUSU9OX1BBUlNFX0ZBSUxFRCA9ICdUcmFuc2FjdGlvbiBjYW5ub3QgYmUgcGFyc2VkIG9yIGhhcyBhbiB1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJztcbmV4cG9ydCBjb25zdCBFUlJPUl9GQUlMRURfSU5JVElBTElaRV9CVUlMREVSID0gJ0ZhaWxlZCB0byBpbml0aWFsaXplIGJ1aWxkZXIgZnJvbSB0cmFuc2FjdGlvbic7XG5cbi8vIFR5cGUgY2hlY2tpbmcgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgT0JKRUNUX1RZUEVfU1RSSU5HID0gJ29iamVjdCc7IC8vIE9iamVjdCB0eXBlIHN0cmluZyBmb3IgdHlwZW9mIGNoZWNrc1xuZXhwb3J0IGNvbnN0IFNUUklOR19UWVBFID0gJ3N0cmluZyc7IC8vIFN0cmluZyB0eXBlIGZvciB0eXBlb2YgY2hlY2tzXG5leHBvcnQgY29uc3QgTlVNQkVSX1RZUEUgPSAnbnVtYmVyJzsgLy8gTnVtYmVyIHR5cGUgZm9yIHR5cGVvZiBjaGVja3NcbmV4cG9ydCBjb25zdCBGVU5DVElPTl9UWVBFID0gJ2Z1bmN0aW9uJzsgLy8gRnVuY3Rpb24gdHlwZSBmb3IgdHlwZW9mIGNoZWNrc1xuZXhwb3J0IGNvbnN0IEJJR0lOVF9UWVBFID0gJ2JpZ2ludCc7IC8vIEJpZ0ludCB0eXBlIGZvciB0eXBlb2YgY2hlY2tzXG5leHBvcnQgY29uc3QgSEVYX0VOQ09ESU5HID0gJ2hleCc7IC8vIEhleCBlbmNvZGluZyBzdHJpbmdcbmV4cG9ydCBjb25zdCBVVEY4X0VOQ09ESU5HID0gJ3V0ZjgnOyAvLyBVVEY4IGVuY29kaW5nIHN0cmluZ1xuXG4vLyBDaGFpbiBpZGVudGlmaWVyc1xuZXhwb3J0IGNvbnN0IFBfQ0hBSU4gPSAnUCc7IC8vIFAtY2hhaW4gaWRlbnRpZmllclxuZXhwb3J0IGNvbnN0IENfQ0hBSU4gPSAnQyc7IC8vIEMtY2hhaW4gaWRlbnRpZmllclxuZXhwb3J0IGNvbnN0IFhfQ0hBSU4gPSAnWCc7IC8vIFgtY2hhaW4gaWRlbnRpZmllclxuZXhwb3J0IGNvbnN0IFBfQ0hBSU5fRlVMTCA9ICdQLWNoYWluJzsgLy8gUC1jaGFpbiBmdWxsIG5hbWVcbmV4cG9ydCBjb25zdCBDX0NIQUlOX0ZVTEwgPSAnQy1jaGFpbic7IC8vIEMtY2hhaW4gZnVsbCBuYW1lXG5leHBvcnQgY29uc3QgWF9DSEFJTl9GVUxMID0gJ1gtY2hhaW4nOyAvLyBYLWNoYWluIGZ1bGwgbmFtZVxuZXhwb3J0IGNvbnN0IENIQUlOX1NVRkZJWCA9ICctY2hhaW4nOyAvLyBDaGFpbiBuYW1lIHN1ZmZpeFxuXG4vLyBBdG9taWMgdHJhbnNhY3Rpb24gcHJlZml4ZXNcbmV4cG9ydCBjb25zdCBGTEFSRV9BVE9NSUNfUFJFRklYID0gJ2ZsYXJlLWF0b21pYy0nOyAvLyBQcmVmaXggZm9yIGF0b21pYyB0cmFuc2FjdGlvbiBJRHNcbmV4cG9ydCBjb25zdCBGTEFSRV9BVE9NSUNfUEFSU0VEX1BSRUZJWCA9ICdmbGFyZS1hdG9taWMtcGFyc2VkLSc7IC8vIFByZWZpeCBmb3IgcGFyc2VkIHRyYW5zYWN0aW9uIElEc1xuXG4vLyBQbGFjZWhvbGRlciB2YWx1ZXNcbmV4cG9ydCBjb25zdCBGTEFSRV9BRERSRVNTX1BMQUNFSE9MREVSID0gJ2ZsYXJlLWFkZHJlc3MtcGxhY2Vob2xkZXInOyAvLyBQbGFjZWhvbGRlciBmb3IgYWRkcmVzcyBjb252ZXJzaW9uXG5leHBvcnQgY29uc3QgWkVST19BRERSRVNTID0gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIFplcm8gYWRkcmVzc1xuZXhwb3J0IGNvbnN0IEhFWF9QUkVGSVhfUkVNT1ZFID0gJzB4JzsgLy8gSGV4IHByZWZpeCB0byByZW1vdmVcbmV4cG9ydCBjb25zdCBQQURTVEFSVF9DSEFSID0gJzAnOyAvLyBDaGFyYWN0ZXIgdXNlZCBmb3IgcGFkZGluZ1xuXG4vLyBGbGFyZUpTIHRyYW5zYWN0aW9uIHR5cGVzXG5leHBvcnQgY29uc3QgUExBVEZPUk1fVk1fSU1QT1JUX1RYID0gJ1BsYXRmb3JtVk0uSW1wb3J0VHgnOyAvLyBQbGF0Zm9ybSBWTSBpbXBvcnQgdHJhbnNhY3Rpb25cbmV4cG9ydCBjb25zdCBQTEFURk9STV9WTV9BRERfVkFMSURBVE9SX1RYID0gJ1BsYXRmb3JtVk0uQWRkVmFsaWRhdG9yVHgnOyAvLyBQbGF0Zm9ybSBWTSBhZGQgdmFsaWRhdG9yIHRyYW5zYWN0aW9uXG5leHBvcnQgY29uc3QgSU1QT1JUX1RYX1RZUEUgPSAnSW1wb3J0VHgnOyAvLyBJbXBvcnQgdHJhbnNhY3Rpb24gdHlwZVxuZXhwb3J0IGNvbnN0IFBfQ0hBSU5fSU1QT1JUX1RZUEUgPSAnUC1jaGFpbi1pbXBvcnQnOyAvLyBQLWNoYWluIGltcG9ydCB0eXBlXG5cbi8vIFRyYW5zYWN0aW9uIHR5cGVzIGFuZCB2YWx1ZXNcbmV4cG9ydCBjb25zdCBJTVBPUlRfVFlQRSA9ICdpbXBvcnQnOyAvLyBJbXBvcnQgdHJhbnNhY3Rpb24gdHlwZVxuZXhwb3J0IGNvbnN0IEVYUE9SVF9UWVBFID0gJ2V4cG9ydCc7IC8vIEV4cG9ydCB0cmFuc2FjdGlvbiB0eXBlXG5leHBvcnQgY29uc3QgU0VORF9UWVBFID0gJ3NlbmQnOyAvLyBTZW5kIHRyYW5zYWN0aW9uIHR5cGVcbmV4cG9ydCBjb25zdCBJTVBPUlRfQ19UWVBFID0gJ2ltcG9ydC1jJzsgLy8gSW1wb3J0IEMtY2hhaW4gdHJhbnNhY3Rpb24gdHlwZVxuZXhwb3J0IGNvbnN0IFZBTElEQVRPUl9UWVBFID0gJ3ZhbGlkYXRvcic7IC8vIFZhbGlkYXRvciB0eXBlXG5leHBvcnQgY29uc3QgQUREVkFMSURBVE9SX1RZUEUgPSAnYWRkVmFsaWRhdG9yJzsgLy8gQWRkIHZhbGlkYXRvciB0eXBlXG5leHBvcnQgY29uc3QgQUREX1ZBTElEQVRPUl9UWF9UWVBFID0gJ0FkZFZhbGlkYXRvclR4JzsgLy8gQWRkIHZhbGlkYXRvciB0cmFuc2FjdGlvbiB0eXBlXG5cbi8vIFZhbGlkYXRvciB0cmFuc2FjdGlvbiB0eXBlIGFycmF5c1xuZXhwb3J0IGNvbnN0IFZBTElEQVRPUl9UUkFOU0FDVElPTl9UWVBFUyA9IFtcbiAgUExBVEZPUk1fVk1fQUREX1ZBTElEQVRPUl9UWCxcbiAgQUREX1ZBTElEQVRPUl9UWF9UWVBFLFxuICBBRERWQUxJREFUT1JfVFlQRSxcbiAgVkFMSURBVE9SX1RZUEUsXG5dOyAvLyBWYWxpZCB2YWxpZGF0b3IgdHJhbnNhY3Rpb24gdHlwZXNcblxuLy8gVHJhbnNmZXIgdHlwZXNcbmV4cG9ydCBjb25zdCBUUkFOU0ZFUkFCTEVfSU5QVVRfVFlQRSA9ICdUcmFuc2ZlcmFibGVJbnB1dCc7IC8vIFRyYW5zZmVyYWJsZSBpbnB1dCB0eXBlXG5leHBvcnQgY29uc3QgQ1JFREVOVElBTF9UWVBFID0gJ0NyZWRlbnRpYWwnOyAvLyBDcmVkZW50aWFsIHR5cGVcbmV4cG9ydCBjb25zdCBTRUNQMjU2SzFfVFJBTlNGRVJfSU5QVVRfVFlQRSA9ICdzZWNwMjU2azFmeC5UcmFuc2ZlcklucHV0JzsgLy8gU0VDUDI1NksxIHRyYW5zZmVyIGlucHV0IHR5cGVcbmV4cG9ydCBjb25zdCBTRUNQMjU2SzFfVFJBTlNGRVJfT1VUUFVUX1RZUEUgPSAnc2VjcDI1NmsxZnguVHJhbnNmZXJPdXRwdXQnOyAvLyBTRUNQMjU2SzEgdHJhbnNmZXIgb3V0cHV0IHR5cGVcblxuLy8gUHJvcGVydHkgbmFtZXMgZm9yIG9iamVjdCBjaGVja3NcbmV4cG9ydCBjb25zdCBERVNUSU5BVElPTl9DSEFJTl9QUk9QID0gJ2Rlc3RpbmF0aW9uQ2hhaW4nOyAvLyBEZXN0aW5hdGlvbiBjaGFpbiBwcm9wZXJ0eVxuZXhwb3J0IGNvbnN0IERFU1RJTkFUSU9OX0NIQUlOX0lEX1BST1AgPSAnZGVzdGluYXRpb25DaGFpbklEJzsgLy8gRGVzdGluYXRpb24gY2hhaW4gSUQgcHJvcGVydHlcbmV4cG9ydCBjb25zdCBFWFBPUlRFRF9PVVRQVVRTX1BST1AgPSAnZXhwb3J0ZWRPdXRwdXRzJzsgLy8gRXhwb3J0ZWQgb3V0cHV0cyBwcm9wZXJ0eVxuZXhwb3J0IGNvbnN0IE9VVFNfUFJPUCA9ICdvdXRzJzsgLy8gT3V0cHV0cyBwcm9wZXJ0eSBzaG9ydCBuYW1lXG5leHBvcnQgY29uc3QgSU5QVVRTX1BST1AgPSAnaW5wdXRzJzsgLy8gSW5wdXRzIHByb3BlcnR5XG5leHBvcnQgY29uc3QgSU5TX1BST1AgPSAnaW5zJzsgLy8gSW5wdXRzIHByb3BlcnR5IHNob3J0IG5hbWVcbmV4cG9ydCBjb25zdCBORVRXT1JLX0lEX1BST1AgPSAnbmV0d29ya0lEJzsgLy8gTmV0d29yayBJRCBwcm9wZXJ0eVxuZXhwb3J0IGNvbnN0IE5FVFdPUktfSURfUFJPUF9BTFQgPSAnbmV0d29ya0lkJzsgLy8gQWx0ZXJuYXRpdmUgbmV0d29yayBJRCBwcm9wZXJ0eVxuZXhwb3J0IGNvbnN0IEJMT0NLQ0hBSU5fSURfUFJPUCA9ICdibG9ja2NoYWluSUQnOyAvLyBCbG9ja2NoYWluIElEIHByb3BlcnR5XG5leHBvcnQgY29uc3QgR0VUX09VVFBVVF9NRVRIT0QgPSAnZ2V0T3V0cHV0JzsgLy8gR2V0IG91dHB1dCBtZXRob2QgbmFtZVxuXG4vLyBVVFhPIGZpZWxkIG5hbWVzXG5leHBvcnQgY29uc3QgT1VUUFVUX0lEX0ZJRUxEID0gJ291dHB1dElEJzsgLy8gT3V0cHV0IElEIGZpZWxkXG5leHBvcnQgY29uc3QgQU1PVU5UX0ZJRUxEID0gJ2Ftb3VudCc7IC8vIEFtb3VudCBmaWVsZFxuZXhwb3J0IGNvbnN0IFRYSURfRklFTEQgPSAndHhpZCc7IC8vIFRyYW5zYWN0aW9uIElEIGZpZWxkXG5leHBvcnQgY29uc3QgT1VUUFVUX0lEWF9GSUVMRCA9ICdvdXRwdXRpZHgnOyAvLyBPdXRwdXQgaW5kZXggZmllbGRcblxuLy8gVHJhbnNhY3Rpb24gZXhwbGFuYXRpb24gZmllbGQgbmFtZXNcbmV4cG9ydCBjb25zdCBJRF9GSUVMRCA9ICdpZCc7IC8vIElEIGZpZWxkIG5hbWVcbmV4cG9ydCBjb25zdCBPVVRQVVRfQU1PVU5UX0ZJRUxEID0gJ291dHB1dEFtb3VudCc7IC8vIE91dHB1dCBhbW91bnQgZmllbGRcbmV4cG9ydCBjb25zdCBDSEFOR0VfQU1PVU5UX0ZJRUxEID0gJ2NoYW5nZUFtb3VudCc7IC8vIENoYW5nZSBhbW91bnQgZmllbGRcbmV4cG9ydCBjb25zdCBPVVRQVVRTX0ZJRUxEID0gJ291dHB1dHMnOyAvLyBPdXRwdXRzIGZpZWxkXG5leHBvcnQgY29uc3QgQ0hBTkdFX09VVFBVVFNfRklFTEQgPSAnY2hhbmdlT3V0cHV0cyc7IC8vIENoYW5nZSBvdXRwdXRzIGZpZWxkXG5leHBvcnQgY29uc3QgRkVFX0ZJRUxEID0gJ2ZlZSc7IC8vIEZlZSBmaWVsZFxuZXhwb3J0IGNvbnN0IFRZUEVfRklFTEQgPSAndHlwZSc7IC8vIFR5cGUgZmllbGRcblxuLy8gU2lnbmF0dXJlIGFuZCBoYXNoIG1ldGhvZHNcbmV4cG9ydCBjb25zdCBTRUNQMjU2SzFfU0lHX1RZUEUgPSAnc2VjcDI1NmsxJzsgLy8gU0VDUDI1NksxIHNpZ25hdHVyZSB0eXBlXG5leHBvcnQgY29uc3QgREVSX0ZPUk1BVCA9ICdkZXInOyAvLyBERVIgZm9ybWF0XG5leHBvcnQgY29uc3QgU0hBMjU2X0hBU0ggPSAnc2hhMjU2JzsgLy8gU0hBMjU2IGhhc2ggZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBSRUNPVkVSWV9LRVlfTUVUSE9EID0gJ3JlY292ZXJ5LWtleSc7IC8vIFJlY292ZXJ5IGtleSBzaWduaW5nIG1ldGhvZFxuZXhwb3J0IGNvbnN0IE5PUk1BTF9NT0RFID0gJ25vcm1hbCc7IC8vIE5vcm1hbCBtb2RlXG5leHBvcnQgY29uc3QgUkVDT1ZFUllfTU9ERSA9ICdyZWNvdmVyeSc7IC8vIFJlY292ZXJ5IG1vZGVcblxuLy8gVmVyc2lvbiBzdHJpbmdzXG5leHBvcnQgY29uc3QgUkVDT1ZFUllfVkVSU0lPTiA9ICcxLjAuMCc7IC8vIFJlY292ZXJ5IHZlcnNpb25cbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfVkVSU0lPTiA9ICcxLjAuMCc7IC8vIFNpZ25hdHVyZSB2ZXJzaW9uXG5cbi8vIE51bWVyaWMgcmFkaXhcbmV4cG9ydCBjb25zdCBIRVhfUkFESVggPSAxNjsgLy8gSGV4YWRlY2ltYWwgcmFkaXhcblxuLy8gVHJhbnNhY3Rpb24gdHlwZSBpZGVudGlmaWVycyAoYWRkaXRpb25hbClcbmV4cG9ydCBjb25zdCBBRERfUEVSTUlTU0lPTkxFU1NfVkFMSURBVE9SX1RZUEUgPSAnYWRkUGVybWlzc2lvbmxlc3NWYWxpZGF0b3InOyAvLyBBZGQgcGVybWlzc2lvbmxlc3MgdmFsaWRhdG9yIHR5cGVcblxuLy8gRGlzcGxheSBvcmRlciBmb3IgdHJhbnNhY3Rpb24gZXhwbGFuYXRpb25zXG5leHBvcnQgY29uc3QgRElTUExBWV9PUkRFUl9CQVNFID0gW1xuICAnaWQnLFxuICAnaW5wdXRzJyxcbiAgJ291dHB1dEFtb3VudCcsXG4gICdjaGFuZ2VBbW91bnQnLFxuICAnb3V0cHV0cycsXG4gICdjaGFuZ2VPdXRwdXRzJyxcbiAgJ2ZlZScsXG4gICd0eXBlJyxcbl07IC8vIEJhc2UgZGlzcGxheSBvcmRlclxuZXhwb3J0IGNvbnN0IE1FTU9fRklFTEQgPSAnbWVtbyc7IC8vIE1lbW8gZmllbGQgbmFtZVxuZXhwb3J0IGNvbnN0IFJFV0FSRF9BRERSRVNTRVNfRklFTEQgPSAncmV3YXJkQWRkcmVzc2VzJzsgLy8gUmV3YXJkIGFkZHJlc3NlcyBmaWVsZFxuZXhwb3J0IGNvbnN0IFNPVVJDRV9DSEFJTl9GSUVMRCA9ICdzb3VyY2VDaGFpbic7IC8vIFNvdXJjZSBjaGFpbiBmaWVsZFxuZXhwb3J0IGNvbnN0IERFU1RJTkFUSU9OX0NIQUlOX0ZJRUxEID0gJ2Rlc3RpbmF0aW9uQ2hhaW4nOyAvLyBEZXN0aW5hdGlvbiBjaGFpbiBmaWVsZFxuXG4vLyBBc3NldCBhbmQgbmV0d29yayBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBGTFJfQVNTRVRfSUQgPSAnRkxSJzsgLy8gRGVmYXVsdCBGTFIgYXNzZXQgSURcblxuLy8gUGxhY2Vob2xkZXIgY29uc3RhbnRzIGZvciBkZXZlbG9wbWVudFxuZXhwb3J0IGNvbnN0IEZMQVJFX1RYX0hFWF9QTEFDRUhPTERFUiA9ICdmbGFyZS10eC1oZXgtcGxhY2Vob2xkZXInOyAvLyBUcmFuc2FjdGlvbiBoZXggcGxhY2Vob2xkZXJcbmV4cG9ydCBjb25zdCBGTEFSRV9TSUdOQUJMRV9QQVlMT0FEID0gJ2ZsYXJlLXNpZ25hYmxlLXBheWxvYWQnOyAvLyBTaWduYWJsZSBwYXlsb2FkIHBsYWNlaG9sZGVyXG5leHBvcnQgY29uc3QgRkxBUkVfVFJBTlNBQ1RJT05fSURfUExBQ0VIT0xERVIgPSAnZmxhcmUtdHJhbnNhY3Rpb24taWQtcGxhY2Vob2xkZXInOyAvLyBUcmFuc2FjdGlvbiBJRCBwbGFjZWhvbGRlclxuZXhwb3J0IGNvbnN0IFBMQUNFSE9MREVSX05PREVfSUQgPSAncGxhY2Vob2xkZXItbm9kZS1pZCc7IC8vIE5vZGUgSUQgcGxhY2Vob2xkZXJcblxuLy8gQ2hhaW4gaWRlbnRpZmllcnMgKHNob3J0IGZvcm1zKVxuZXhwb3J0IGNvbnN0IFBfQ0hBSU5fU0hPUlQgPSAnUCc7IC8vIFAtY2hhaW4gc2hvcnQgbmFtZVxuZXhwb3J0IGNvbnN0IFhfQ0hBSU5fU0hPUlQgPSAnWCc7IC8vIFgtY2hhaW4gc2hvcnQgbmFtZVxuXG4vLyBWYWxpZCBzb3VyY2UgY2hhaW5zIGZvciBpbXBvcnRzXG5leHBvcnQgY29uc3QgVkFMSURfSU1QT1JUX1NPVVJDRV9DSEFJTlMgPSBbUF9DSEFJTl9TSE9SVCwgUF9DSEFJTl9GVUxMLCBYX0NIQUlOX1NIT1JULCBYX0NIQUlOX0ZVTExdOyAvLyBWYWxpZCBzb3VyY2UgY2hhaW5zIGZvciBDLWNoYWluIGltcG9ydHNcblxuLy8gVmFsaWQgUC1jaGFpbiBpbXBvcnQgdHlwZXNcbmV4cG9ydCBjb25zdCBWQUxJRF9QX0NIQUlOX0lNUE9SVF9UWVBFUyA9IFtQTEFURk9STV9WTV9JTVBPUlRfVFgsIElNUE9SVF9UWF9UWVBFLCBJTVBPUlRfVFlQRSwgUF9DSEFJTl9JTVBPUlRfVFlQRV07IC8vIFZhbGlkIFAtY2hhaW4gaW1wb3J0IHR5cGVzXG5cbi8vIEVycm9yIG1lc3NhZ2VzIGZvciB0cmFuc2FjdGlvbkJ1aWxkZXJcbmV4cG9ydCBjb25zdCBFUlJPUl9ORVRXT1JLX0lEX01JU01BVENIID0gJ05ldHdvcmsgSUQgbWlzbWF0Y2gnOyAvLyBOZXR3b3JrIElEIHZhbGlkYXRpb24gZXJyb3JcbmV4cG9ydCBjb25zdCBFUlJPUl9CTE9DS0NIQUlOX0lEX01JU01BVENIX0JVSUxERVIgPSAnQmxvY2tjaGFpbiBJRCBtaXNtYXRjaCc7IC8vIEJsb2NrY2hhaW4gSUQgdmFsaWRhdGlvbiBlcnJvclxuZXhwb3J0IGNvbnN0IEVSUk9SX0lOVkFMSURfVEhSRVNIT0xEID0gJ0ludmFsaWQgdHJhbnNhY3Rpb246IHRocmVzaG9sZCBtdXN0IGJlIHNldCB0byAyJzsgLy8gVGhyZXNob2xkIHZhbGlkYXRpb24gZXJyb3JcbmV4cG9ydCBjb25zdCBFUlJPUl9JTlZBTElEX0xPQ0tUSU1FID0gJ0ludmFsaWQgdHJhbnNhY3Rpb246IGxvY2t0aW1lIG11c3QgYmUgMCBvciBoaWdoZXInOyAvLyBMb2NrdGltZSB2YWxpZGF0aW9uIGVycm9yXG5leHBvcnQgY29uc3QgRVJST1JfVVRYT1NfRU1QVFlfQVJSQVkgPSBcIlV0eG9zIGNhbid0IGJlIGVtcHR5IGFycmF5XCI7IC8vIEVtcHR5IFVUWE9TIGFycmF5IGVycm9yXG5leHBvcnQgY29uc3QgRVJST1JfVVRYT1NfTUlTU0lOR19GSUVMRCA9ICdVdHhvcyByZXF1aXJlZCc7IC8vIE1pc3NpbmcgVVRYTyBmaWVsZCBlcnJvclxuZXhwb3J0IGNvbnN0IEVSUk9SX0ZST01fQUREUkVTU0VTX1JFUVVJUkVEID0gJ2Zyb20gYWRkcmVzc2VzIGFyZSByZXF1aXJlZCc7IC8vIE1pc3NpbmcgZnJvbSBhZGRyZXNzZXMgZXJyb3JcbmV4cG9ydCBjb25zdCBFUlJPUl9VVFhPU19SRVFVSVJFRF9CVUlMREVSID0gJ3V0eG9zIGFyZSByZXF1aXJlZCc7IC8vIE1pc3NpbmcgVVRYT3MgZXJyb3JcbmV4cG9ydCBjb25zdCBFUlJPUl9QQVJTRV9SQVdfVFJBTlNBQ1RJT04gPSAnRmFpbGVkIHRvIHBhcnNlIHJhdyB0cmFuc2FjdGlvbic7IC8vIFJhdyB0cmFuc2FjdGlvbiBwYXJzaW5nIGVycm9yXG5leHBvcnQgY29uc3QgRVJST1JfVU5LTk9XTl9QQVJTSU5HID0gJ1Vua25vd24gZXJyb3InOyAvLyBVbmtub3duIHBhcnNpbmcgZXJyb3JcblxuLy8gVVRYTyBmaWVsZCB2YWxpZGF0aW9uXG5leHBvcnQgY29uc3QgVVRYT19SRVFVSVJFRF9GSUVMRFMgPSBbJ291dHB1dElEJywgJ2Ftb3VudCcsICd0eGlkJywgJ291dHB1dGlkeCddOyAvLyBSZXF1aXJlZCBVVFhPIGZpZWxkc1xuIl19
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
-
import { AtomicTransactionBuilder } from './atomicTransactionBuilder';
|
|
4
|
-
import { Tx } from './iface';
|
|
5
|
-
export declare class DelegatorTxBuilder extends AtomicTransactionBuilder {
|
|
6
|
-
protected _nodeID: string;
|
|
7
|
-
protected _startTime: bigint;
|
|
8
|
-
protected _endTime: bigint;
|
|
9
|
-
protected _stakeAmount: bigint;
|
|
10
|
-
/**
|
|
11
|
-
* @param coinConfig
|
|
12
|
-
*/
|
|
13
|
-
constructor(coinConfig: Readonly<CoinConfig>);
|
|
14
|
-
/**
|
|
15
|
-
* get transaction type
|
|
16
|
-
* @protected
|
|
17
|
-
*/
|
|
18
|
-
protected get transactionType(): TransactionType;
|
|
19
|
-
/**
|
|
20
|
-
* Set the node ID for delegation
|
|
21
|
-
* @param nodeID - The node ID to delegate to
|
|
22
|
-
*/
|
|
23
|
-
nodeID(nodeID: string): this;
|
|
24
|
-
/**
|
|
25
|
-
* Set the start time for delegation
|
|
26
|
-
* @param startTime - Unix timestamp for when delegation starts
|
|
27
|
-
*/
|
|
28
|
-
startTime(startTime: string | number | bigint): this;
|
|
29
|
-
/**
|
|
30
|
-
* Set the end time for delegation
|
|
31
|
-
* @param endTime - Unix timestamp for when delegation ends
|
|
32
|
-
*/
|
|
33
|
-
endTime(endTime: string | number | bigint): this;
|
|
34
|
-
/**
|
|
35
|
-
* Set the stake amount for delegation
|
|
36
|
-
* @param amount - Amount to stake (in nFLR)
|
|
37
|
-
*/
|
|
38
|
-
stakeAmount(amount: string | number | bigint): this;
|
|
39
|
-
/**
|
|
40
|
-
* Set reward addresses where delegation rewards should be sent
|
|
41
|
-
* @param addresses - Array of reward addresses
|
|
42
|
-
*/
|
|
43
|
-
rewardAddresses(addresses: string[]): this;
|
|
44
|
-
/** @inheritdoc */
|
|
45
|
-
initBuilder(tx: Tx): this;
|
|
46
|
-
/**
|
|
47
|
-
* Verify if the transaction is a delegator transaction
|
|
48
|
-
* @param tx
|
|
49
|
-
*/
|
|
50
|
-
static verifyTxType(tx: unknown): boolean;
|
|
51
|
-
verifyTxType(tx: unknown): boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Build the delegator transaction using FlareJS PVM API
|
|
54
|
-
* @protected
|
|
55
|
-
*/
|
|
56
|
-
protected buildFlareTransaction(): Promise<void>;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=delegatorTxBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delegatorTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/delegatorTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAkB7B,qBAAa,kBAAmB,SAAQ,wBAAwB;IAC9D,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B;;OAEG;gBACS,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAQ5C;;;OAGG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBpD;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBhD;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IASnD;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAS1C,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;IA0BzB;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAMzC,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAIlC;;;OAGG;cACa,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoGvD"}
|