Ver código fonte

Revert "fix: closePosition 改用 nftMintAddress 参数并清理调试日志"

This reverts commit b3bb8cd5526ae7a4bbf93a1f37d48daf6617d479.
zhangchunrui 1 mês atrás
pai
commit
a3a091d353
2 arquivos alterados com 26 adições e 14 exclusões
  1. 2 9
      src/core/sniper.js
  2. 24 5
      src/services/byreal.js

+ 2 - 9
src/core/sniper.js

@@ -445,16 +445,9 @@ export class SniperEngine {
           continue;
           continue;
         }
         }
         logger.info(`Closing our position: ${myPositionAddress} (parent was ${parentPositionAddress})`);
         logger.info(`Closing our position: ${myPositionAddress} (parent was ${parentPositionAddress})`);
-
-        // 获取我的仓位详情,拿到 nftMintAddress(关仓接口需要)
-        const myPositionDetail = await ByrealAPI.getPositionDetail(myPositionAddress);
-        const nftMintAddress = myPositionDetail?.nftMintAddress || myPositionDetail?.nftMint;
-        if (!nftMintAddress) {
-          logger.error(`Could not get nftMintAddress for position ${myPositionAddress}, skip close`);
-          continue;
-        }
+        logger.info(`Close context: targetPosition=${targetPositionAddress}, copiedData=${JSON.stringify(copiedData)}`);
         
         
-        const success = await ByrealAPI.closePosition(nftMintAddress);
+        const success = await ByrealAPI.closePosition(myPositionAddress);
         
         
         if (success) {
         if (success) {
           this.closedCache.add(parentPositionAddress, {
           this.closedCache.add(parentPositionAddress, {

+ 24 - 5
src/services/byreal.js

@@ -220,20 +220,27 @@ export class ByrealAPI {
     }
     }
   }
   }
 
 
-  static async closePosition(nftMintAddress) {
+  static async closePosition(positionAddress) {
     try {
     try {
-      logger.info(`Closing position with nftMintAddress: ${nftMintAddress}`);
+      logger.info(`Closing position: ${positionAddress}`);
+      logger.info(`Close URL: ${CONFIG.CLOSE_ACTION_URL}`);
 
 
-      const body = { nftMintAddress };
+      const body = { positionAddress };
       const headers = {
       const headers = {
         Authorization: CONFIG.AUTH_HEADER,
         Authorization: CONFIG.AUTH_HEADER,
         'Content-Type': 'application/json',
         'Content-Type': 'application/json',
       };
       };
 
 
+      logger.info(`Close request body: ${JSON.stringify(body)}`);
+      logger.info(`Close request headers: ${JSON.stringify({ ...headers, Authorization: headers.Authorization ? '[REDACTED]' : 'MISSING' })}`);
+
       const response = await axios.post(CONFIG.CLOSE_ACTION_URL, body, { headers });
       const response = await axios.post(CONFIG.CLOSE_ACTION_URL, body, { headers });
 
 
+      logger.info(`Close response status: ${response.status}`);
+      logger.info(`Close response data: ${JSON.stringify(response.data)}`);
+
       if (response.data?.success) {
       if (response.data?.success) {
-        logger.success(`Position closed successfully: ${nftMintAddress}`);
+        logger.success(`Position closed successfully: ${positionAddress}`);
         return true;
         return true;
       } else {
       } else {
         logger.error('Close request failed:', JSON.stringify(response.data));
         logger.error('Close request failed:', JSON.stringify(response.data));
@@ -242,7 +249,19 @@ export class ByrealAPI {
     } catch (error) {
     } catch (error) {
       logger.error('Error closing position:', error.message);
       logger.error('Error closing position:', error.message);
       if (error.response) {
       if (error.response) {
-        logger.error(`Close response status: ${error.response.status}, data: ${JSON.stringify(error.response.data)}`);
+        logger.error(`Close response status: ${error.response.status}`);
+        logger.error(`Close response statusText: ${error.response.statusText}`);
+        logger.error(`Close response data: ${JSON.stringify(error.response.data)}`);
+        logger.error(`Close response headers: ${JSON.stringify(error.response.headers)}`);
+      } else if (error.request) {
+        logger.error('No response received from server (request was sent but no response)');
+        logger.error(`Request URL: ${error.config?.url}`);
+        logger.error(`Request method: ${error.config?.method}`);
+      } else {
+        logger.error('Error setting up request:', error.message);
+      }
+      if (error.config) {
+        logger.error(`Full request config: URL=${error.config.url}, method=${error.config.method}, data=${JSON.stringify(error.config.data)}`);
       }
       }
       return false;
       return false;
     }
     }