@bitgo/sdk-coin-flrp 1.1.0
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/.eslintignore +5 -0
- package/.eslintrc.json +7 -0
- package/.mocharc.yml +8 -0
- package/CHANGELOG.md +23 -0
- package/LICENSE +191 -0
- package/dist/src/flrp.d.ts +91 -0
- package/dist/src/flrp.d.ts.map +1 -0
- package/dist/src/flrp.js +343 -0
- package/dist/src/iface.d.ts +25 -0
- package/dist/src/iface.d.ts.map +1 -0
- package/dist/src/iface.js +3 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +45 -0
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts +26 -0
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/atomicInCTransactionBuilder.js +64 -0
- package/dist/src/lib/atomicTransactionBuilder.d.ts +96 -0
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/atomicTransactionBuilder.js +318 -0
- package/dist/src/lib/constants.d.ts +170 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +227 -0
- package/dist/src/lib/delegatorTxBuilder.d.ts +58 -0
- package/dist/src/lib/delegatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/delegatorTxBuilder.js +224 -0
- package/dist/src/lib/errors.d.ts +8 -0
- package/dist/src/lib/errors.d.ts.map +1 -0
- package/dist/src/lib/errors.js +19 -0
- package/dist/src/lib/exportInCTxBuilder.d.ts +77 -0
- package/dist/src/lib/exportInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/exportInCTxBuilder.js +199 -0
- package/dist/src/lib/exportInPTxBuilder.d.ts +30 -0
- package/dist/src/lib/exportInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/exportInPTxBuilder.js +120 -0
- package/dist/src/lib/iface.d.ts +119 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +22 -0
- package/dist/src/lib/importInCTxBuilder.d.ts +67 -0
- package/dist/src/lib/importInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/importInCTxBuilder.js +403 -0
- package/dist/src/lib/importInPTxBuilder.d.ts +73 -0
- package/dist/src/lib/importInPTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/importInPTxBuilder.js +464 -0
- package/dist/src/lib/index.d.ts +12 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +39 -0
- package/dist/src/lib/keyPair.d.ts +58 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +142 -0
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +81 -0
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/permissionlessValidatorTxBuilder.js +248 -0
- package/dist/src/lib/transaction.d.ts +111 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +322 -0
- package/dist/src/lib/transactionBuilder.d.ts +85 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +167 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +37 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +91 -0
- package/dist/src/lib/types.d.ts +78 -0
- package/dist/src/lib/types.d.ts.map +1 -0
- package/dist/src/lib/types.js +5 -0
- package/dist/src/lib/utils.d.ts +217 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +498 -0
- package/dist/src/lib/validatorTxBuilder.d.ts +40 -0
- package/dist/src/lib/validatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/validatorTxBuilder.js +180 -0
- package/dist/src/register.d.ts +3 -0
- package/dist/src/register.d.ts.map +1 -0
- package/dist/src/register.js +11 -0
- package/dist/src/tflrp.d.ts +8 -0
- package/dist/src/tflrp.d.ts.map +1 -0
- package/dist/src/tflrp.js +14 -0
- package/dist/test/unit/delegatorTxBuilder.test.d.ts +2 -0
- package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +1 -0
- package/dist/test/unit/delegatorTxBuilder.test.js +233 -0
- package/dist/test/unit/flrp.d.ts +2 -0
- package/dist/test/unit/flrp.d.ts.map +1 -0
- package/dist/test/unit/flrp.js +118 -0
- package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +2 -0
- package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/atomicTransactionBuilder.js +222 -0
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/exportInCTxBuilder.js +584 -0
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/exportInPTxBuilder.js +377 -0
- package/dist/test/unit/lib/importInCTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/importInCTxBuilder.js +257 -0
- package/dist/test/unit/lib/importInPTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/importInPTxBuilder.js +500 -0
- package/dist/test/unit/lib/transaction.d.ts +2 -0
- package/dist/test/unit/lib/transaction.d.ts.map +1 -0
- package/dist/test/unit/lib/transaction.js +460 -0
- package/dist/test/unit/lib/utils.d.ts +2 -0
- package/dist/test/unit/lib/utils.d.ts.map +1 -0
- package/dist/test/unit/lib/utils.js +286 -0
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +2 -0
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +1 -0
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +271 -0
- package/dist/test/unit/smoke.d.ts +2 -0
- package/dist/test/unit/smoke.d.ts.map +1 -0
- package/dist/test/unit/smoke.js +23 -0
- package/dist/test/unit/transactionBuilder.test.d.ts +2 -0
- package/dist/test/unit/transactionBuilder.test.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder.test.js +114 -0
- package/dist/test/unit/validatorTxBuilder.test.d.ts +2 -0
- package/dist/test/unit/validatorTxBuilder.test.d.ts.map +1 -0
- package/dist/test/unit/validatorTxBuilder.test.js +293 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAClD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAGzC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,gCAAgC,KAAK,CAAC;AACnD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAGvC,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,WAAW,YAAY,CAAC;AAGrC,eAAO,MAAM,+BAA+B,QAAQ,CAAC;AACrD,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAGzC,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAGxD,eAAO,MAAM,0BAA0B,8BAA8B,CAAC;AAGtE,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAChD,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAG1C,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAGrC,eAAO,MAAM,aAAa,QAAgC,CAAC;AAC3D,eAAO,MAAM,SAAS,QAA4B,CAAC;AAGnD,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,qBAAqB,mBAA2B,CAAC;AAC9D,eAAO,MAAM,uBAAuB,mBAA2B,CAAC;AAGhE,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,UAAU,OAAO,CAAC;AAC/B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAG7D,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AACtE,eAAO,MAAM,oBAAoB,uDAAuD,CAAC;AACzF,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AACpE,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AACzE,eAAO,MAAM,yBAAyB,+BAA+B,CAAC;AACtE,eAAO,MAAM,0BAA0B,gDAAgD,CAAC;AACxF,eAAO,MAAM,2BAA2B,iDAAiD,CAAC;AAC1F,eAAO,MAAM,2BAA2B,gDAAgD,CAAC;AACzF,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AACrE,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,4BAA4B,2DAA2D,CAAC;AACrG,eAAO,MAAM,gCAAgC,wDAAwD,CAAC;AACtG,eAAO,MAAM,+BAA+B,oDAAoD,CAAC;AACjG,eAAO,MAAM,oCAAoC,yDAAyD,CAAC;AAC3G,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAC7E,eAAO,MAAM,0BAA0B,+CAA+C,CAAC;AACvF,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AACrE,eAAO,MAAM,8BAA8B,wEAAwE,CAAC;AACpH,eAAO,MAAM,+BAA+B,kDAAkD,CAAC;AAG/F,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,aAAa,SAAS,CAAC;AAGpC,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,YAAY,WAAW,CAAC;AAGrC,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAGjE,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,YAAY,+CAA+C,CAAC;AACzE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,aAAa,MAAM,CAAC;AAGjC,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAC3D,eAAO,MAAM,4BAA4B,8BAA8B,CAAC;AACxE,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAGpD,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAGtD,eAAO,MAAM,2BAA2B,UAKvC,CAAC;AAGF,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AACzE,eAAO,MAAM,8BAA8B,+BAA+B,CAAC;AAG3E,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAC9D,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAG7C,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAG5C,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AACpD,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,UAAU,SAAS,CAAC;AAGjC,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,UAAU,QAAQ,CAAC;AAChC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,aAAa,aAAa,CAAC;AAGxC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,iBAAiB,UAAU,CAAC;AAGzC,eAAO,MAAM,SAAS,KAAK,CAAC;AAG5B,eAAO,MAAM,iCAAiC,+BAA+B,CAAC;AAG9E,eAAO,MAAM,kBAAkB,UAS9B,CAAC;AACF,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AACxD,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAG1D,eAAO,MAAM,YAAY,QAAQ,CAAC;AAGlC,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,gCAAgC,qCAAqC,CAAC;AACnF,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAGzD,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAGjC,eAAO,MAAM,0BAA0B,UAA6D,CAAC;AAGrG,eAAO,MAAM,0BAA0B,UAA4E,CAAC;AAGpH,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,oCAAoC,2BAA2B,CAAC;AAC7E,eAAO,MAAM,uBAAuB,oDAAoD,CAAC;AACzF,eAAO,MAAM,sBAAsB,sDAAsD,CAAC;AAC1F,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,yBAAyB,mBAAmB,CAAC;AAC1D,eAAO,MAAM,6BAA6B,gCAAgC,CAAC;AAC3E,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,2BAA2B,oCAAoC,CAAC;AAC7E,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAGrD,eAAO,MAAM,oBAAoB,UAA8C,CAAC"}
|
|
@@ -0,0 +1,227 @@
|
|
|
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
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo/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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegatorTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/delegatorTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,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"}
|