Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions scripts/codehash-matcher/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# TON Contract Version Debugging Tool

Connects to TON testnet, queries a contract's code hash, and finds which GitHub release contains the matching contract code.

## Usage

```bash
go run main.go -address <CONTRACT_ADDRESS>
```

**Options:**
- `-address`: Contract address (required)
- `-liteserver`: Custom liteserver URL (optional)

**Example:**
```bash
go run main.go -address EQAfVSwJWVo9tbyCSd8XyXcVF83dg6dd-lY8RwyJs08T5Z2N
```

## Example Output

```
Contract: EQAfVSwJWVo9tbyCSd8XyXcVF83dg6dd-lY8RwyJs08T5Z2N
Code Hash: 0x91cef02e2c20304881087c58faddd93f08f516dc26b5c12e63cdf55f0fef4d47

Searching for matching release...

✅ Match found!
Contract: OnRamp
Release: TON Contracts Build (baef5397fb0d)
Published: 2025-09-26 14:30:25 UTC
Code Hash: 0x91cef02e2c20304881087c58faddd93f08f516dc26b5c12e63cdf55f0fef4d47
- See release at: https://github.com/smartcontractkit/chainlink-ton/releases/tag/ton-contracts-build-baef5397fb0d
- See commit: https://github.com/smartcontractkit/chainlink-ton/commit/baef5397fb0d
- Commit message: Add OnRamp contract with improved gas optimization
```

## How It Works

1. Queries contract's `codeHash` from TON testnet
2. Downloads GitHub releases from [smartcontractkit/chainlink-ton](https://github.com/smartcontractkit/chainlink-ton/releases)
3. Compares contract hashes from compiled JSON files
4. Returns matching release with links and commit details

## Common Issues

- **Connection errors**: Check internet connection or try custom liteserver
- **GitHub rate limits**: Wait a few minutes and retry
- **No match found**: Contract may be from unreleased build or different repo
14 changes: 14 additions & 0 deletions scripts/codehash-matcher/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module ton-getter

go 1.24.5

toolchain go1.24.7

replace github.com/smartcontractkit/chainlink-ton => ../..

require (
github.com/smartcontractkit/chainlink-ton v0.0.0-00010101000000-000000000000
github.com/xssnick/tonutils-go v1.15.0
)

require filippo.io/edwards25519 v1.1.0 // indirect
4 changes: 4 additions & 0 deletions scripts/codehash-matcher/go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
github.com/xssnick/tonutils-go v1.15.0 h1:jTkrJSgukJjHboWiCTMwXJu3k0h3ZNDjeNuwr1FLLsc=
github.com/xssnick/tonutils-go v1.15.0/go.mod h1:rpahE9aWb+Jsj1CZezPpJH0Bu5d8vRPYvYKT7Z67MSA=
Loading
Loading