/**
 * 预种计划算力常量
 *
 * [2026-02-17] 新增：预种 CDC 集成到 contribution-service 2.0
 */

/**
 * 预种订单 sourceAdoptionId 偏移量
 *
 * 用于在 contribution_records 中区分预种订单和正常认种订单。
 * 预种订单的 sourceAdoptionId = PRE_PLANTING_SOURCE_ID_OFFSET + prePlantingOrderId
 *
 * 选择 10,000,000,000 (100 亿) 作为偏移量，确保永远不会与正常认种订单 ID 冲突。
 */
export const PRE_PLANTING_SOURCE_ID_OFFSET = 10_000_000_000n;

/**
 * 预种每份的贡献值因子
 *
 * 每份预种 = 1棵树贡献值的 1/10（10份合1棵树）
 * 用法：contributionPerPortion = contributionPerTree / PRE_PLANTING_PORTION_DIVISOR
 *
 * [2026-03-04] 从 5 改为 10：预种方案从「5份合1树(3566USDT/份)」调整为「10份合1树(1887USDT/份)」
 * 注意：2026-03-01 前已创建的份额算力记录（3566USDT/份，按1/5计算）不追溯修正。
 */
export const PRE_PLANTING_PORTION_DIVISOR = 10;

/**
 * 预种冻结期限（从首次购买日起算，单位：年）
 *
 * 首次购买 + 1 年后仍未满 10 份 → 所有预种算力冻结
 */
export const PRE_PLANTING_FREEZE_PERIOD_YEARS = 1;

/**
 * 解冻后的算力有效期（从解冻日起算，单位：年）
 *
 * 冻结后满 10 份解冻 → 算力恢复，从解冻日起算 2 年后失效
 */
export const PRE_PLANTING_POST_UNFREEZE_VALIDITY_YEARS = 2;

/**
 * 预种 CDC topic 前缀
 *
 * Debezium connector: cdc.pre-planting
 * Topic 格式: cdc.pre-planting.public.<table_name>
 */
export const PRE_PLANTING_CDC_TOPIC_PREFIX = 'cdc.pre-planting';

/**
 * 预种 CDC Kafka consumer group ID
 *
 * 与现有 contribution-service-cdc-group 完全独立
 */
export const PRE_PLANTING_CDC_GROUP_ID = 'contribution-pre-planting-cdc';

/**
 * 合成树算力 sourceAdoptionId 偏移量
 *
 * 用于在 contribution_records 中区分合成树算力和份额算力（10B 偏移）。
 * 合成树的 sourceAdoptionId = PRE_PLANTING_MERGE_SOURCE_ID_OFFSET + mergeId
 *
 * 选择 20,000,000,000 (200 亿) 作为偏移量，确保永远不会与正常认种（无偏移）
 * 或预种份额（10B 偏移）冲突。
 */
export const PRE_PLANTING_MERGE_SOURCE_ID_OFFSET = 20_000_000_000n;
