# Contract Verification Status - ChainID 138

**Date**: $(date)  
**Block Explorer**: Blockscout (`https://explorer.d-bis.org`)  
**Verification Guide**: See `docs/BLOCKSCOUT_VERIFICATION_GUIDE.md`

---

## 📊 Verification Status Summary

### ✅ Verified Contracts

| Contract | Address | Status | Verified Date |
|----------|---------|--------|---------------|
| | | ⏳ Pending | |

### ⏳ Pending Verification

| Contract | Address | Priority | Notes |
|----------|---------|----------|-------|
| Oracle Proxy | `0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6` | High | MetaMask integration |
| Oracle Aggregator | `0x99b3511a2d315a497c8112c1fdd8d508d4b1e506` | High | Oracle system |
| CCIP Router | `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` | High | CCIP infrastructure |
| CCIP Sender | `0x105F8A15b819948a89153505762444Ee9f324684` | High | CCIP infrastructure |
| CCIPWETH9Bridge | `0x89dd12025bfCD38A168455A44B400e913ED33BE2` | High | Cross-chain bridge |
| CCIPWETH10Bridge | `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` | High | Cross-chain bridge |
| Price Feed Keeper | `0xD3AD6831aacB5386B8A25BB8D8176a6C8a026f04` | Medium | Automation |

### ✅ Pre-deployed Contracts (No Verification Needed)

These contracts were pre-deployed in genesis and don't require verification:

| Contract | Address | Notes |
|----------|---------|-------|
| WETH9 | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | Genesis allocation |
| WETH10 | `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f` | Genesis allocation |
| Multicall | `0x99b3511a2d315a497c8112c1fdd8d508d4b1e506` | Genesis allocation |

---

## 🔧 Verification Commands

### Automated Verification

Use the verification script to verify all contracts:

```bash
cd /home/intlc/projects/proxmox
./scripts/verify-all-contracts.sh [compiler-version]
```

Example:
```bash
./scripts/verify-all-contracts.sh 0.8.20
```

### Manual Verification

#### 1. Oracle Proxy

```bash
forge verify-contract \
  0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6 \
  Proxy \
  --chain-id 138 \
  --rpc-url https://rpc-core.d-bis.org \
  --verifier blockscout \
  --verifier-url https://explorer.d-bis.org/api \
  --compiler-version 0.8.20
```

#### 2. Oracle Aggregator

```bash
forge verify-contract \
  0x99b3511a2d315a497c8112c1fdd8d508d4b1e506 \
  Aggregator \
  --chain-id 138 \
  --rpc-url https://rpc-core.d-bis.org \
  --verifier blockscout \
  --verifier-url https://explorer.d-bis.org/api \
  --compiler-version 0.8.20
```

#### 3. CCIP Router

**Note**: CCIP Router may be a Chainlink official contract and may require special verification process.

```bash
# Check if this is a Chainlink official contract first
# If custom contract:
forge verify-contract \
  0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \
  Router \
  --chain-id 138 \
  --rpc-url https://rpc-core.d-bis.org \
  --verifier blockscout \
  --verifier-url https://explorer.d-bis.org/api \
  --compiler-version <version>
```

#### 4. CCIP Sender

```bash
forge verify-contract \
  0x105F8A15b819948a89153505762444Ee9f324684 \
  CCIPSender \
  --chain-id 138 \
  --rpc-url https://rpc-core.d-bis.org \
  --verifier blockscout \
  --verifier-url https://explorer.d-bis.org/api \
  --compiler-version 0.8.20
```

#### 5. CCIPWETH9Bridge

```bash
forge verify-contract \
  0x89dd12025bfCD38A168455A44B400e913ED33BE2 \
  CCIPWETH9Bridge \
  --chain-id 138 \
  --rpc-url https://rpc-core.d-bis.org \
  --verifier blockscout \
  --verifier-url https://explorer.d-bis.org/api \
  --compiler-version 0.8.20 \
  --constructor-args $(cast abi-encode "constructor(address,address)" \
    0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \
    0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
```

#### 6. CCIPWETH10Bridge

```bash
forge verify-contract \
  0xe0E93247376aa097dB308B92e6Ba36bA015535D0 \
  CCIPWETH10Bridge \
  --chain-id 138 \
  --rpc-url https://rpc-core.d-bis.org \
  --verifier blockscout \
  --verifier-url https://explorer.d-bis.org/api \
  --compiler-version 0.8.20 \
  --constructor-args $(cast abi-encode "constructor(address,address)" \
    0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \
    0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f)
```

#### 7. Price Feed Keeper

```bash
forge verify-contract \
  0xD3AD6831aacB5386B8A25BB8D8176a6C8a026f04 \
  PriceFeedKeeper \
  --chain-id 138 \
  --rpc-url https://rpc-core.d-bis.org \
  --verifier blockscout \
  --verifier-url https://explorer.d-bis.org/api \
  --compiler-version 0.8.20
```

---

## 🔍 Checking Verification Status

### Via Blockscout Web UI

1. Navigate to contract address: `https://explorer.d-bis.org/address/<ADDRESS>`
2. Look for "Contract" tab
3. Check if "Contract Source Code" is visible (indicates verification)

### Via API

```bash
curl -s "https://explorer.d-bis.org/api/v2/smart-contracts/<ADDRESS>" | jq '.is_verified'
```

### Via Script

```bash
./scripts/verify-all-contracts.sh --check-only
```

---

## 📋 Verification Checklist

- [ ] Oracle Proxy verified
- [ ] Oracle Aggregator verified
- [ ] CCIP Router verified (if custom contract)
- [ ] CCIP Sender verified
- [ ] CCIPWETH9Bridge verified
- [ ] CCIPWETH10Bridge verified
- [ ] Price Feed Keeper verified

---

## 🚀 Next Steps

1. **Run Verification Script**:
   ```bash
   cd /home/intlc/projects/proxmox
   ./scripts/verify-all-contracts.sh
   ```

2. **Verify Each Contract Manually** (if automated fails)

3. **Update This Document** with verification status

4. **Document Constructor Arguments** for contracts that require them

---

## 📚 Related Documentation

- **Blockscout Verification Guide**: `docs/BLOCKSCOUT_VERIFICATION_GUIDE.md`
- **Contract Addresses**: `docs/FINAL_CONTRACT_ADDRESSES.md`
- **Deployment Guide**: `docs/CONTRACT_DEPLOYMENT_GUIDE.md`

---

**Last Updated**: $(date)  
**Status**: ⏳ **Pending Verification**

