Home

Awesome

IBC Escrow Audit Tool

This tool performs an IBC escrow audit between two Cosmos chains, verifying the balances of IBC tokens in escrow accounts.

Features

Prerequisites

Setup

  1. Clone this repository:

    git clone https://github.com/cordtus/ibc-escrow-audit.git
    cd ibc-escrow-audit
    
  2. Install dependencies:

    yarn install
    
  3. (Optional) Create a .env file in the root directory and add your GitHub PAT to increase API rate limits:

    GITHUB_PAT=your_github_personal_access_token_here
    

Usage

Run the audit tool:

yarn start

This will start the interactive CLI, guiding you through the following steps:

  1. Select the primary chain
  2. Select the secondary chain
  3. Choose the audit type (Quick, Comprehensive, or Manual Channel ID)
  4. View the audit results
  5. Option to run a reverse audit

Audit Types

Other Commands

Configuration

Adjust settings in config.json to customize the tool's behavior:

{
  "github": {
    "owner": "cosmos",
    "repo": "chain-registry"
  },
  "api": {
    "retries": 3,
    "delay": 250
  },
  "paths": {
    "dataDir": "data",
    "logsDir": "logs"
  },
  "logging": {
    "level": "info",
    "fileLogLevel": "error"
  },
  "audit": {
    "defaultType": "quick",
    "escrowPort": "transfer"
  }
}

Logging

Logs are written to the console and to log files in the logs directory:

You can adjust the logging levels in the config.json file.

Troubleshooting

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgements