UNPKG

@dashevo/dashcore-lib

Version:

A pure and powerful JavaScript Dash library.

184 lines (164 loc) 5.22 kB
const constants = { // Public key id size in bytes PUBKEY_ID_SIZE: 20, // Standard compact size variable, size in bytes COMPACT_SIGNATURE_SIZE: 65, // SHA256 hash size in bytes SHA256_HASH_SIZE: 32, // Quorum BLS Public Key size in bytes BLS_PUBLIC_KEY_SIZE: 48, // BLS Signature size in bytes BLS_SIGNATURE_SIZE: 96, // Platform Node ID size PLATFORM_NODE_ID_SIZE: 20, MASTERNODE_TYPE_BASIC: 0, MASTERNODE_TYPE_HP: 1, registeredTransactionTypes: { TRANSACTION_NORMAL: 0, TRANSACTION_PROVIDER_REGISTER: 1, TRANSACTION_PROVIDER_UPDATE_SERVICE: 2, TRANSACTION_PROVIDER_UPDATE_REGISTRAR: 3, TRANSACTION_PROVIDER_UPDATE_REVOKE: 4, TRANSACTION_COINBASE: 5, TRANSACTION_QUORUM_COMMITMENT: 6, TRANSACTION_MASTERNODE_HARD_FORK_SIGNAL: 7, TRANSACTION_ASSET_LOCK: 8, TRANSACTION_ASSET_UNLOCK: 9, }, EMPTY_SIGNATURE_SIZE: 0, primitives: { BOOLEAN: 1, }, ipAddresses: { IPV4MAPPEDHOST: 16, PORT: 2, }, IP_ADDRESS_SIZE: 16, CURRENT_PROTOCOL_VERSION: 70211, SML_ENTRY_VERSION_1_SIZE: 151, SML_ENTRY_TYPE_2_ADDITION_SIZE: 22, NULL_HASH: '0000000000000000000000000000000000000000000000000000000000000000', // In duffs INSTANTSEND_FEE_PER_INPUT: 10000, LLMQ_TYPES: { // 50 members, 30 (60%) threshold, one per hour (24 blocks) LLMQ_TYPE_50_60: 1, // 400 members, 240 (60%) threshold, one every 12 hours (288 blocks) LLMQ_TYPE_400_60: 2, // 400 members, 340 (85%) threshold, one every 24 hours (576 blocks) LLMQ_TYPE_400_85: 3, // 100 members, 67 (67%) threshold, one every 24 hours (576 blocks) LLMQ_TYPE_100_67: 4, // 60 members, 45 (75%) threshold, one every 12 hours LLMQ_TYPE_60_75: 5, // 25 members, 67 (67%) threshold, one per hour LLMQ_TYPE_25_67: 6, // 3 members, 2 (66%) threshold, one per hour (24 blocks) // Params might differ when -llmqtestparams is used LLMQ_TYPE_LLMQ_TEST: 100, // 12 members, 6 (60%) threshold, one per hour (24 blocks) // Params might differ when -llmqdevnetparams is used LLMQ_TYPE_LLMQ_DEVNET: 101, // 3 members, 2 (66%) threshold, one per hour. // Params might differ when -llmqtestparams is used LLMQ_TYPE_TEST_V17: 102, // 4 members, 2 (66%) threshold, one per hour. // Params might differ when -llmqtestparams is used LLMQ_TYPE_TEST_DIP0024: 103, // 3 members, 2 (66%) threshold, one per hour. // Params might differ when -llmqtestinstantsendparams is used LLMQ_TYPE_TEST_INSTANTSEND: 104, // 8 members, 4 (50%) threshold, one per hour. // Params might differ when -llmqdevnetparams is used // for devnets only. rotated version (v2) for devnets LLMQ_DEVNET_DIP0024: 105, // for testing only // 3 members, 2 (67%) threshold, one per hour. LLMQ_TEST_PLATFORM: 106, // for devnet testing only // 12 members, 8 (67%) threshold, one per hour LLMQ_DEVNET_PLATFORM: 107, }, // when selecting a quorum for signing and verification, we use this offset as // starting height for scanning. This is because otherwise the resulting signatures // would not be verifiable by nodes which are not 100% at the chain tip. LLMQ_SIGN_HEIGHT_OFFSET: 8, // keep diffs for 30 hours (720 blocks) SMLSTORE_MAX_DIFFS: 720, HASH_QUORUM_INDEX_REQUIRED_VERSION: 2, BASIC_BLS_SCHEME_VERSION: 3, BASIC_BLS_SCHEME_HASH_QUORUM_INDEX_REQUIRED_VERSION: 4, }; constants.LLMQ_TYPE_PARAMS= { [constants.LLMQ_TYPES.LLMQ_TYPE_50_60]: { size: 50, threshold: 30, maximumActiveQuorumsCount: 24, }, [constants.LLMQ_TYPES.LLMQ_TYPE_60_75]: { size: 60, threshold: 45, maximumActiveQuorumsCount: 24, }, [constants.LLMQ_TYPES.LLMQ_TYPE_400_60]: { size: 400, threshold: 240, maximumActiveQuorumsCount: 4, }, [constants.LLMQ_TYPES.LLMQ_TYPE_400_85]: { size: 400, threshold: 340, maximumActiveQuorumsCount: 4, }, [constants.LLMQ_TYPES.LLMQ_TYPE_100_67]: { size: 100, threshold: 67, maximumActiveQuorumsCount: 24, }, [constants.LLMQ_TYPES.LLMQ_TYPE_25_67]: { size: 25, threshold: 67, maximumActiveQuorumsCount: 24, }, [constants.LLMQ_TYPES.LLMQ_TYPE_LLMQ_TEST]: { size: 3, threshold: 2, maximumActiveQuorumsCount: 2, }, [constants.LLMQ_TYPES.LLMQ_TYPE_LLMQ_DEVNET]: { size: 12, threshold: 6, maximumActiveQuorumsCount: 4, }, [constants.LLMQ_TYPES.LLMQ_TYPE_TEST_V17]: { size: 3, threshold: 2, maximumActiveQuorumsCount: 2, }, [constants.LLMQ_TYPES.LLMQ_TYPE_TEST_DIP0024]: { size: 4, threshold: 2, maximumActiveQuorumsCount: 2, }, [constants.LLMQ_TYPES.LLMQ_TYPE_TEST_INSTANTSEND]: { size: 3, threshold: 2, maximumActiveQuorumsCount: 2, }, [constants.LLMQ_TYPES.LLMQ_DEVNET_DIP0024]: { size: 8, threshold: 4, maximumActiveQuorumsCount: 2, }, [constants.LLMQ_TYPES.LLMQ_TEST_PLATFORM]: { size: 3, threshold: 2, maximumActiveQuorumsCount: 2, }, [constants.LLMQ_TYPES.LLMQ_DEVNET_PLATFORM]: { size: 12, threshold: 8, maximumActiveQuorumsCount: 4, }, }; module.exports = constants;