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>
This commit is contained in:
hailin 2026-02-01 08:40:45 -08:00
parent be52ac979b
commit f39fd52001
5 changed files with 19 additions and 19 deletions

View File

@ -298,8 +298,8 @@ services:
BSC_CHAIN_ID: ${BSC_CHAIN_ID:-56} BSC_CHAIN_ID: ${BSC_CHAIN_ID:-56}
BSC_USDT_CONTRACT: ${BSC_USDT_CONTRACT:-0x55d398326f99059fF775485246999027B3197955} BSC_USDT_CONTRACT: ${BSC_USDT_CONTRACT:-0x55d398326f99059fF775485246999027B3197955}
# C2C Bot 热钱包 (MPC) # C2C Bot 热钱包 (MPC)
HOT_WALLET_USERNAME: ${HOT_WALLET_USERNAME:-wallet-29b09647} C2C_BOT_WALLET_USERNAME: ${C2C_BOT_WALLET_USERNAME:-wallet-29b09647}
HOT_WALLET_ADDRESS: ${HOT_WALLET_ADDRESS:-0x30da9Eb4C49914fDb9d711cE26AB446d68fE4Bc4} C2C_BOT_WALLET_ADDRESS: ${C2C_BOT_WALLET_ADDRESS:-0x30da9Eb4C49914fDb9d711cE26AB446d68fE4Bc4}
# eUSDT (积分股) 做市商钱包 (MPC) # eUSDT (积分股) 做市商钱包 (MPC)
EUSDT_MARKET_MAKER_USERNAME: ${EUSDT_MARKET_MAKER_USERNAME:-} EUSDT_MARKET_MAKER_USERNAME: ${EUSDT_MARKET_MAKER_USERNAME:-}
EUSDT_MARKET_MAKER_ADDRESS: ${EUSDT_MARKET_MAKER_ADDRESS:-} EUSDT_MARKET_MAKER_ADDRESS: ${EUSDT_MARKET_MAKER_ADDRESS:-}

View File

@ -73,7 +73,7 @@ export class Erc20TransferService {
private readonly chainConfig: ChainConfigService, private readonly chainConfig: ChainConfigService,
private readonly rpcProviderManager: RpcProviderManager, private readonly rpcProviderManager: RpcProviderManager,
) { ) {
this.hotWalletAddress = this.configService.get<string>('HOT_WALLET_ADDRESS', ''); this.hotWalletAddress = this.configService.get<string>('C2C_BOT_WALLET_ADDRESS', '');
this.eusdtMarketMakerAddress = this.configService.get<string>('EUSDT_MARKET_MAKER_ADDRESS', ''); this.eusdtMarketMakerAddress = this.configService.get<string>('EUSDT_MARKET_MAKER_ADDRESS', '');
this.fusdtMarketMakerAddress = this.configService.get<string>('FUSDT_MARKET_MAKER_ADDRESS', ''); this.fusdtMarketMakerAddress = this.configService.get<string>('FUSDT_MARKET_MAKER_ADDRESS', '');
this.initializeWalletConfig(); this.initializeWalletConfig();
@ -125,7 +125,7 @@ export class Erc20TransferService {
if (this.hotWalletAddress) { if (this.hotWalletAddress) {
this.logger.log(`[INIT] C2C Bot wallet address configured: ${this.hotWalletAddress}`); this.logger.log(`[INIT] C2C Bot wallet address configured: ${this.hotWalletAddress}`);
} else { } else {
this.logger.warn('[INIT] HOT_WALLET_ADDRESS not configured, C2C transfers will fail'); this.logger.warn('[INIT] C2C_BOT_WALLET_ADDRESS not configured, C2C transfers will fail');
} }
// 检查 eUSDT 做市商钱包地址配置 // 检查 eUSDT 做市商钱包地址配置

View File

@ -63,8 +63,8 @@ export class MpcSigningClient implements OnModuleInit {
private readonly mpcEventConsumer: MpcEventConsumerService, private readonly mpcEventConsumer: MpcEventConsumerService,
) { ) {
// C2C Bot 热钱包配置 // C2C Bot 热钱包配置
this.hotWalletUsername = this.configService.get<string>('HOT_WALLET_USERNAME', ''); this.hotWalletUsername = this.configService.get<string>('C2C_BOT_WALLET_USERNAME', '');
this.hotWalletAddress = this.configService.get<string>('HOT_WALLET_ADDRESS', ''); this.hotWalletAddress = this.configService.get<string>('C2C_BOT_WALLET_ADDRESS', '');
// eUSDT (积分股) 做市商钱包配置 // eUSDT (积分股) 做市商钱包配置
this.eusdtMarketMakerUsername = this.configService.get<string>('EUSDT_MARKET_MAKER_USERNAME', ''); this.eusdtMarketMakerUsername = this.configService.get<string>('EUSDT_MARKET_MAKER_USERNAME', '');
this.eusdtMarketMakerAddress = this.configService.get<string>('EUSDT_MARKET_MAKER_ADDRESS', ''); this.eusdtMarketMakerAddress = this.configService.get<string>('EUSDT_MARKET_MAKER_ADDRESS', '');
@ -73,10 +73,10 @@ export class MpcSigningClient implements OnModuleInit {
this.fusdtMarketMakerAddress = this.configService.get<string>('FUSDT_MARKET_MAKER_ADDRESS', ''); this.fusdtMarketMakerAddress = this.configService.get<string>('FUSDT_MARKET_MAKER_ADDRESS', '');
if (!this.hotWalletUsername) { if (!this.hotWalletUsername) {
this.logger.warn('[INIT] HOT_WALLET_USERNAME not configured (C2C Bot disabled)'); this.logger.warn('[INIT] C2C_BOT_WALLET_USERNAME not configured (C2C Bot disabled)');
} }
if (!this.hotWalletAddress) { if (!this.hotWalletAddress) {
this.logger.warn('[INIT] HOT_WALLET_ADDRESS not configured (C2C Bot disabled)'); this.logger.warn('[INIT] C2C_BOT_WALLET_ADDRESS not configured (C2C Bot disabled)');
} }
if (!this.eusdtMarketMakerUsername || !this.eusdtMarketMakerAddress) { if (!this.eusdtMarketMakerUsername || !this.eusdtMarketMakerAddress) {
this.logger.warn('[INIT] eUSDT Market Maker not configured'); this.logger.warn('[INIT] eUSDT Market Maker not configured');

View File

@ -108,17 +108,17 @@ function validateBlockchainConfig(configService: ConfigService, logger: Logger)
} }
// C2C Bot 热钱包配置验证 // C2C Bot 热钱包配置验证
const hotWalletAddress = configService.get<string>('HOT_WALLET_ADDRESS'); const c2cBotWalletAddress = configService.get<string>('C2C_BOT_WALLET_ADDRESS');
const hotWalletUsername = configService.get<string>('HOT_WALLET_USERNAME'); const c2cBotWalletUsername = configService.get<string>('C2C_BOT_WALLET_USERNAME');
logger.log(`[CONFIG] C2C Bot 热钱包配置:`); logger.log(`[CONFIG] C2C Bot 热钱包配置:`);
if (hotWalletAddress) { if (c2cBotWalletAddress) {
logger.log(` - 地址: ${hotWalletAddress}`); logger.log(` - 地址: ${c2cBotWalletAddress}`);
} else { } else {
warnings.push('[CONFIG WARNING] HOT_WALLET_ADDRESS 未配置C2C Bot 转账功能将不可用。'); warnings.push('[CONFIG WARNING] C2C_BOT_WALLET_ADDRESS 未配置C2C Bot 转账功能将不可用。');
} }
if (!hotWalletUsername) { if (!c2cBotWalletUsername) {
warnings.push('[CONFIG WARNING] HOT_WALLET_USERNAME 未配置C2C Bot MPC 签名功能将不可用。'); warnings.push('[CONFIG WARNING] C2C_BOT_WALLET_USERNAME 未配置C2C Bot MPC 签名功能将不可用。');
} }
// KAVA 代币合约配置日志 // KAVA 代币合约配置日志

View File

@ -152,7 +152,7 @@ export default function C2cBotPage() {
)} )}
</div> </div>
<div className="text-xs text-muted-foreground bg-muted p-2 rounded"> <div className="text-xs text-muted-foreground bg-muted p-2 rounded">
Bot 10 dUSDT Bot 10 绿
</div> </div>
</CardContent> </CardContent>
</Card> </Card>
@ -164,11 +164,11 @@ export default function C2cBotPage() {
<Wallet className="h-5 w-5" /> <Wallet className="h-5 w-5" />
</CardTitle> </CardTitle>
<CardDescription>Bot 使 dUSDT </CardDescription> <CardDescription>Bot 使绿</CardDescription>
</CardHeader> </CardHeader>
<CardContent className="space-y-4"> <CardContent className="space-y-4">
<div> <div>
<p className="text-sm text-muted-foreground">dUSDT </p> <p className="text-sm text-muted-foreground">绿</p>
<p className="text-2xl font-bold"> <p className="text-2xl font-bold">
{formatNumber(status?.hotWallet?.balance, 4)} {formatNumber(status?.hotWallet?.balance, 4)}
</p> </p>
@ -193,7 +193,7 @@ export default function C2cBotPage() {
</div> </div>
<div className="text-xs text-yellow-600 bg-yellow-50 p-2 rounded"> <div className="text-xs text-yellow-600 bg-yellow-50 p-2 rounded">
<AlertCircle className="h-3 w-3 inline mr-1" /> <AlertCircle className="h-3 w-3 inline mr-1" />
dUSDT (Kava链) Bot 绿 (Kava链) Bot
</div> </div>
</> </>
) : ( ) : (