Commit Graph

5 Commits

Author SHA1 Message Date
hailin f39fd52001 feat(c2c-bot): rename HOT_WALLET to C2C_BOT_WALLET and change dUSDT to 绿积分
- Rename env vars HOT_WALLET_ADDRESS/USERNAME to C2C_BOT_WALLET_ADDRESS/USERNAME
  in mining-blockchain-service to avoid conflict with existing hot wallet
- Update docker-compose.2.0.yml with new env var names
- Change all "dUSDT" labels to "绿积分" on C2C Bot admin page

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 08:40:45 -08:00
hailin 454b379f6c feat(mining-blockchain-service): mining_ 前缀隔离,与 blockchain-service 100% 资源分离
mining-blockchain-service 的所有共享资源全部加上 mining_ 前缀,
确保与 1.0 blockchain-service 完全隔离,互不干扰。

## Kafka Topic 隔离 — 生产者 (event-publisher.service.ts)

- source header: 'blockchain-service' → 'mining-blockchain-service'
- topic 映射全部加 mining_ 前缀:
  - blockchain.deposits → mining_blockchain.deposits
  - blockchain.wallets → mining_blockchain.wallets
  - blockchain.transactions → mining_blockchain.transactions
  - mpc.SigningRequested → mining_mpc.SigningRequested
  - blockchain.market_maker.deposits → mining_blockchain.market_maker.deposits
  - 默认 fallback: blockchain.events → mining_blockchain.events

## Domain Event eventType 隔离 (5 个事件类)

- deposit-detected.event.ts: mining_blockchain.deposit.detected
- deposit-confirmed.event.ts: mining_blockchain.deposit.confirmed
- wallet-address-created.event.ts: mining_blockchain.wallet.address.created
- transaction-broadcasted.event.ts: mining_blockchain.transaction.broadcasted
- market-maker-deposit-confirmed.event.ts: mining_blockchain.market_maker.deposit.confirmed

## Kafka Topic 隔离 — 消费者 (3 个 consumer)

- mpc-event-consumer: mining_mpc.KeygenCompleted / SigningCompleted / SessionFailed
- withdrawal-event-consumer: mining_wallet.withdrawals / mining_wallet.system-withdrawals
  - 事件类型检查: mining_wallet.withdrawal.requested / mining_wallet.system-withdrawal.requested
- deposit-ack-consumer: mining_wallet.acks
  - 事件类型检查: mining_wallet.deposit.credited
  - outbox ACK 匹配: mining_blockchain.deposit.confirmed

## Kafka 事件类型 — Event Handlers

- mpc-signing.client.ts:
  - MPC_SIGNING_TOPIC → mining_mpc.SigningRequested
  - eventType → mining_blockchain.mpc.signing.requested
- withdrawal-requested.handler.ts:
  - mining_blockchain.withdrawal.confirmed / failed / status
- system-withdrawal-requested.handler.ts:
  - mining_blockchain.system-withdrawal.confirmed / failed

## Redis Key 前缀隔离

- address-cache: blockchain:monitored_addresses: → mining_blockchain:monitored_addresses:
- hot-wallet-balance: hot_wallet:dusdt_balance: → mining_hot_wallet:dusdt_balance:
- hot-wallet-balance: hot_wallet:native_balance: → mining_hot_wallet:native_balance:

## 数据库名称隔离

- docker-compose.yml: rwa_blockchain → rwa_mining_blockchain
- docker-compose.2.0.yml: rwa_blockchain → rwa_mining_blockchain
- deploy-mining.sh: MINING_DATABASES + SERVICE_DB 映射 → rwa_mining_blockchain

## 下游服务需配套更新 (不在本次修改范围)

- mpc-service: 消费 mining_mpc.SigningRequested, 发布 mining_mpc.* 结果
- mining-wallet-service: 发布 mining_wallet.*, 消费 mining_blockchain.*
- trading-service: 消费 mining_blockchain.market_maker.deposits

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 01:58:45 -08:00
hailin 3b95a8a332 feat(mining-blockchain): 支持 eUSDT 和 fUSDT 独立做市商钱包
- 新增 EUSDT_MARKET_MAKER_USERNAME/ADDRESS 配置
- 新增 FUSDT_MARKET_MAKER_USERNAME/ADDRESS 配置
- mpc-signing.client.ts: 分离 eUSDT 和 fUSDT 做市商签名方法
- erc20-transfer.service.ts: 根据代币类型选择对应钱包转账
- transfer.controller.ts: 更新余额查询和状态接口

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 19:05:15 -08:00
hailin cfdcd9352a feat(mining-blockchain-service): 支持做市商独立MPC钱包签名
- MpcSigningClient 支持两个钱包: C2C Bot 和做市商
  - HOT_WALLET_USERNAME/ADDRESS: C2C Bot 热钱包
  - MARKET_MAKER_MPC_USERNAME/WALLET_ADDRESS: 做市商钱包
- Erc20TransferService 新增 transferTokenAsMarketMaker() 方法
- eUSDT/fUSDT 转账使用做市商钱包签名和转账
- 新增 /transfer/market-maker/status 状态检查接口

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 18:27:09 -08:00
hailin 042a52550b feat(c2c): 实现C2C Bot自动交易系统
- 创建独立的 mining-blockchain-service 服务 (基于 blockchain-service)
- 添加 dUSDT 转账接口供 C2C Bot 调用
- 实现 C2cBotService 自动购买卖单
- 实现 C2cBotScheduler 每10秒扫描待处理卖单
- 添加 BlockchainClient 和 IdentityClient 客户端
- 更新 C2cOrder 模型添加 Bot 购买相关字段
- 使用 MPC 热钱包签名交易

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 07:10:25 -08:00