Private QuickScan WS

The documentation details is about the SolidityScan QuickScan WebSocket events

The flow for quickscan ws is as follows:

  1. Register the token using auth_token_register event

  2. Using the token, send an event to perform a quickscan

1. WebSocket API Documentation

Overview

  • URL: api-ws.solidityscan.com

  • Protocol: wss

  • Description: This request requires authorization. The bearer token is sent in the auth_tokenrequest parameter.

Step 1. Auth Token Registration Description: The first step is to register with your auth token to generate an UUID.

{
    "action": "message",
    "payload": {
        "type": "auth_token_register",
        "body": {
            "auth_token": "{Your_Auth_Token}"
        }
    }
}

Response

{
    "type": "auth_token_register",
    "request_uuid": "Your_UUID",
    "payload": {
        "message": "Auth token registered."
    },
    "event_timestamp": "2024-04-19 11:37:17.854547"
}

QuickScan

Sample Message Request:

{
    "action": "message",
    "payload": {
        "type": "private_quick_scan_initiate",
        "body": {
            "contract_address": "0xc2498D4fB17A956A847091D088f1D7f6fE745f5B",
            "contract_platform": "etherscan",
            "contract_chain": "mainnet"
        }
    }
}

  1. contract_address: The address of the contract to be scanned.

  2. contract_platform: The platform which the contract belongs to.

  3. contract_chain: The chain which the contract belongs to.

Sample Response:

{
  "type": "quick_scan_status",
  "request_uuid": "87accd51793efb5dfd6452497ab3e360",
  "payload": {
    "scan_id": "86f4db9567e8ebe5",
    "scan_status": "scan_done",
    "project_id": "ec8ce914842b91d1d0f59f289bbf0222",
    "scan_details": {
      "client_credit_system": "loc",
      "compilerversion": "v0.8.23+commit.f704f362",
      "connection_id": "",
      "contract_address": "0xc2498D4fB17A956A847091D088f1D7f6fE745f5B",
      "contract_chain": "mainnet",
      "contract_platform": "etherscan",
      "contract_url": "https://etherscan.io/address/0xc2498D4fB17A956A847091D088f1D7f6fE745f5B",
      "contractname": "TRIUMPH",
      "currency": "ETH",
      "evmversion": "Default",
      "is_quick_scan": false,
      "licensetype": "MIT",
      "multi_file_scan_status": "scan_done",
      "multi_file_scan_summary": {
        "issue_severity_distribution": {
          "critical": 7,
          "gas": 88,
          "high": 2,
          "informational": 46,
          "low": 6,
          "medium": 7
        },
        "lines_analyzed_count": 358,
        "scan_time_taken": 3,
        "score_v2": "41.34",
        "threat_score": "84.21",
        "score_rating": "Average"
      },
      "node_reference_id": null,
      "quick_file_scan_details": [
        {
          "issue_code_findings_enabled": true,
          "issue_description": "<p>The contract cannot mint new tokens. The <code>_mint</code> functions was not detected in the contracts.</br>Mint functions are used to create new tokens and transfer them to the user’s/owner’s wallet to whom the tokens are minted. This increases the overall circulation of the tokens.</p>",
          "issue_dynamic_desc": "The contract cannot mint new tokens.",
          "issue_id": "QUICK_SCAN_PRESENCE_OF_MINTING_FUNCTION",
          "issue_name": "PRESENCE OF MINTING FUNCTION",
          "issue_status": "pass"
        },
        {
          "bug_hash": "QTOaj1uRCHtkWLX6pRv9HZY4HKA=",
          "findings": [
            {
              "file_path": "contract.sol",
              "line_nos_end": [
                98
              ],
              "line_nos_start": [
                95
              ]
            },
            {
              "file_path": "contract.sol",
              "line_nos_end": [
                299
              ],
              "line_nos_start": [
                295
              ]
            }
          ],
          "issue_code_findings_enabled": true,
          "issue_description": "<p>The contracts are using 6 functions that can only be called by the owners.</br>Giving too many privileges to the owners via critical functions might put the user's funds at risk if the owners are compromised or if a rug-pulling attack happens.</p>",
          "issue_dynamic_desc": "The contracts are using functions that can only be called by the owners.",
          "issue_id": "QUICK_SCAN_OVERPOWERED_OWNERS",
          "issue_name": "OVERPOWERED OWNERS",
          "issue_status": "fail"
        },
        ...
      ],
      "request_type": "block_scan",
      "is_approved": false
    }
  },
  "event_timestamp": "2024-07-15 12:50:47.819430"
}

Note: refer WS references for contract_platform and contract_chain values

Last updated