diff --git a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/accounts/AccountService.kt b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/accounts/AccountService.kt index 6b73c39..dd89010 100644 --- a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/accounts/AccountService.kt +++ b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/accounts/AccountService.kt @@ -365,7 +365,7 @@ class AccountService( } /** - * Polymarket 代币批准检查:USDC.e 需授权的 spender 合约地址(Polygon 主网) + * Polymarket 代币批准检查:pUSD 需授权的 spender 合约地址(Polygon 主网) * 来源:Polymarket/magic-safe-builder-example README §6 Token Approvals * 及 neg-risk-ctf-adapter 仓库 addresses.json (chainId 137) */ @@ -941,7 +941,7 @@ class AccountService( } /** - * 轮询用:遍历所有账户,对代理地址 WCOL 余额 > 0 的执行解包为 USDC.e。 + * 轮询用:遍历所有账户,对代理地址 WCOL 余额 > 0 的执行解包。 * 由 WcolUnwrapJobService 每 20 秒调用,赎回后无需在赎回流程内等待确认与解包。 */ suspend fun runWcolUnwrapForAllAccounts() { diff --git a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/accounts/WcolUnwrapJobService.kt b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/accounts/WcolUnwrapJobService.kt index 82e4f97..39fccf9 100644 --- a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/accounts/WcolUnwrapJobService.kt +++ b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/accounts/WcolUnwrapJobService.kt @@ -11,7 +11,7 @@ import org.springframework.stereotype.Service /** * WCOL 解包轮询任务 - * 每 20 秒轮询一次,遍历所有账户的代理地址:若 WCOL 余额 > 0 则解包为 USDC.e。 + * 每 20 秒轮询一次,遍历所有账户的代理地址:若 WCOL 余额 > 0 则执行解包。 * 同一时间仅允许单次执行;若上次执行未结束则本次忽略(与现有轮询逻辑一致)。 * 若未配置 Builder API Key,直接跳过本轮(解包依赖 Relayer Gasless,未配置则无法执行)。 */ diff --git a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/common/BlockchainService.kt b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/common/BlockchainService.kt index 2068f9d..4acf89b 100644 --- a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/common/BlockchainService.kt +++ b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/common/BlockchainService.kt @@ -56,7 +56,7 @@ class BlockchainService( // ConditionalTokens 合约地址(Polygon 主网) private val conditionalTokensAddress = "0x4D97DCd97eC945f40cF65F87097ACe5EA0476045" - // Neg Risk WrappedCollateral 合约地址(Polygon,解包后得 USDC.e) + // Neg Risk WrappedCollateral 合约地址(Polygon) private val wcolContractAddress = "0x3A3BD7bb9528E159577F7C2e685CC81A765002E2" // 空集合ID(用于计算collectionId) @@ -812,11 +812,11 @@ class BlockchainService( } /** - * 将代理钱包内的 WCOL 解包为 USDC.e(解包后转入代理地址) - * 赎回 Neg Risk 仓位后到账为 WCOL,调用此方法可转为 USDC.e 以便显示/使用。 + * 将代理钱包内的 WCOL 执行解包(解包后转入代理地址) + * 赎回 Neg Risk 仓位后到账为 WCOL,调用此方法可执行解包后续资产处理。 * * Safe 与 Magic 使用同一套逻辑:同一 [createUnwrapWcolTx] + [RelayClientService.execute]; - * Safe 走 execTransaction,Magic 走 PROXY 编码,最终均为代理合约调用 WCOL.unwrap(proxyAddress, amount),USDC.e 转入 proxyAddress。 + * Safe 走 execTransaction,Magic 走 PROXY 编码,最终均为代理合约调用 WCOL.unwrap(proxyAddress, amount)。 * * @param privateKey 主钱包私钥 * @param proxyAddress 代理地址(Safe 或 Magic 代理) diff --git a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/copytrading/monitor/OnChainWsUtils.kt b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/copytrading/monitor/OnChainWsUtils.kt index 8e83d5f..c8444c1 100644 --- a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/copytrading/monitor/OnChainWsUtils.kt +++ b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/copytrading/monitor/OnChainWsUtils.kt @@ -46,9 +46,8 @@ object OnChainWsUtils { // 合约地址 const val PUSD_CONTRACT = "0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB" // V2 pUSD - const val USDCE_CONTRACT = "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" // V1 USDC.e(迁移前仍需识别) const val USDC_CONTRACT = PUSD_CONTRACT // 默认使用 pUSD - private val COLLATERAL_CONTRACTS = setOf(PUSD_CONTRACT.lowercase(), USDCE_CONTRACT.lowercase()) + private val COLLATERAL_CONTRACTS = setOf(PUSD_CONTRACT.lowercase()) const val ERC1155_CONTRACT = "0x4d97dcd97ec945f40cf65f87097ace5ea0476045" const val ERC20_TRANSFER_TOPIC = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" const val ERC1155_TRANSFER_SINGLE_TOPIC = "0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62" @@ -99,7 +98,7 @@ object OnChainWsUtils { val t0 = topics[0].lowercase() val data = log.get("data")?.asString ?: "0x" - // USDC/pUSD ERC20 Transfer(同时匹配 USDC.e 和 pUSD,V2 迁移后可移除 USDCE) + // 抵押品 ERC20 Transfer(当前仅匹配 pUSD) if (address in COLLATERAL_CONTRACTS && t0 == ERC20_TRANSFER_TOPIC && topics.size >= 3) { val from = topicToAddress(topics[1]) val to = topicToAddress(topics[2]) diff --git a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/system/RelayClientService.kt b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/system/RelayClientService.kt index ca5f0e9..0e7d5b8 100644 --- a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/system/RelayClientService.kt +++ b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/system/RelayClientService.kt @@ -290,14 +290,14 @@ class RelayClientService( } /** - * 创建 WCOL 解包交易(将 Wrapped Collateral 解包为 USDC.e) + * 创建 WCOL 解包交易(将 Wrapped Collateral 执行解包) * 合约: Neg Risk WrappedCollateral 0x3A3BD7bb9528E159577F7C2e685CC81A765002E2 - * 方法: unwrap(address _to, uint256 _amount),解包后 USDC.e 转到 _to + * 方法: unwrap(address _to, uint256 _amount) * * Safe 与 Magic 共用此交易对象:Safe 走 [executeViaBuilderRelayer] / [executeManually](execTransaction), * Magic 走 [executeViaBuilderRelayerProxy](encodeProxyTransactionData),语义一致。 * - * @param toAddress 接收 USDC.e 的地址(通常为 proxy 自身,使余额留在代理钱包) + * @param toAddress 接收解包资产的地址(通常为 proxy 自身,使余额留在代理钱包) * @param amountWei WCOL 数量(6 位小数对应的 raw 值,与 balanceOf 返回一致) * @return Safe 交易对象 */