Files
proxmox/docs/archive/tests/CONTRACT_VALIDATION_CHECKLIST.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

7.6 KiB

Contract Validation Checklist

Date: $(date)
Purpose: Comprehensive checklist for validating all deployed smart contracts
Status: Pending Validation


📋 Contracts to Validate

1. Oracle Contracts

Oracle Proxy (0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6)

  • Verification Status

    • Verified on Blockscout: https://explorer.d-bis.org/address/0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
    • Source code visible and matches deployment
    • Compiler version matches deployment
  • Functional Validation

    • Contract has bytecode (not empty)
    • Contract responds to function calls
    • Can query latest price feed
    • Events emit correctly
  • Integration Validation

    • Oracle Publisher service can update prices
    • MetaMask can read price feed
    • Price updates reflect correctly

Oracle Aggregator (0x99b3511a2d315a497c8112c1fdd8d508d4b1e506)

  • Verification Status

    • Verified on Blockscout
    • Source code visible
    • Compiler version matches
  • Functional Validation

    • Contract has bytecode
    • Can aggregate price data
    • Deviation detection works
    • Heartbeat mechanism works
  • Integration Validation

    • Oracle Publisher can update aggregator
    • Proxy reads from aggregator correctly

2. CCIP Infrastructure

CCIP Router (0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e)

  • Verification Status

    • Verified on Blockscout (if custom contract)
    • Source code visible (if custom)
    • Note: May be Chainlink official contract
  • Functional Validation

    • Contract has bytecode
    • Can query router configuration
    • Can calculate fees
    • Events emit correctly (MessageSent, MessageExecuted)
  • Integration Validation

    • CCIP Monitor can read events
    • Bridge contracts can send messages
    • Fee calculation works correctly

CCIP Sender (0x105F8A15b819948a89153505762444Ee9f324684)

  • Verification Status

    • Verified on Blockscout
    • Source code visible
    • Constructor parameters documented
  • Functional Validation

    • Contract has bytecode
    • Can send CCIP messages
    • Router address configured correctly
    • Events emit correctly
  • Integration Validation

    • Can send messages through router
    • Message tracking works
    • Fee payment works

3. Bridge Contracts

CCIPWETH9Bridge (0x89dd12025bfCD38A168455A44B400e913ED33BE2)

  • Verification Status

    • Verified on Blockscout
    • Source code visible
    • Constructor arguments verified
  • Functional Validation

    • Contract has bytecode
    • WETH9 address configured correctly
    • Router address configured correctly
    • Can initiate cross-chain transfers
    • Fee calculation works
  • Integration Validation

    • Can wrap ETH to WETH9
    • Can approve bridge to spend WETH9
    • Can initiate transfer to destination chains
    • CCIP events trigger correctly
    • All 6 destination chains configured

CCIPWETH10Bridge (0xe0E93247376aa097dB308B92e6Ba36bA015535D0)

  • Verification Status

    • Verified on Blockscout
    • Source code visible
    • Constructor arguments verified
  • Functional Validation

    • Contract has bytecode
    • WETH10 address configured correctly
    • Router address configured correctly
    • Can initiate cross-chain transfers
    • Fee calculation works
  • Integration Validation

    • Can wrap ETH to WETH10
    • Can approve bridge to spend WETH10
    • Can initiate transfer to destination chains
    • CCIP events trigger correctly
    • All 6 destination chains configured

4. Keeper Contract

Price Feed Keeper (0xD3AD6831aacB5386B8A25BB8D8176a6C8a026f04)

  • Verification Status

    • Verified on Blockscout
    • Source code visible
    • Constructor arguments verified
  • Functional Validation

    • Contract has bytecode
    • Can check upkeep needed
    • Can perform upkeep
    • Oracle integration works
  • Integration Validation

    • Keeper service can execute upkeep
    • Triggers Oracle updates correctly
    • Automation works as expected

🔍 Validation Methods

1. On-chain Bytecode Check

# Check contract has bytecode
cast code <ADDRESS> --rpc-url https://rpc-core.d-bis.org

# Expected: Non-empty hex string (not "0x")

2. Function Call Validation

# Example: Check Oracle latest price
cast call 0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6 \
  "latestRoundData()(uint80,int256,uint256,uint256,uint80)" \
  --rpc-url https://rpc-core.d-bis.org

# Example: Check CCIP Router fee
cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \
  "getFee(uint64,bytes)" \
  <chain_selector> <data> \
  --rpc-url https://rpc-core.d-bis.org

3. Event Validation

# Check for recent events
cast logs --from-block latest --address <CONTRACT_ADDRESS> \
  --rpc-url https://rpc-core.d-bis.org

4. Blockscout Verification

# Check verification status via API
curl -s "https://explorer.d-bis.org/api/v2/smart-contracts/<ADDRESS>" | \
  jq '{address: .address, verified: .is_verified, name: .name}'

Validation Status Summary

Deployment Status

  • All contracts deployed
  • All addresses documented
  • Services configured with addresses

Verification Status

  • 0/7 contracts verified on Blockscout
  • Oracle Proxy: Pending
  • Oracle Aggregator: Pending
  • CCIP Router: Pending (may be Chainlink official)
  • CCIP Sender: Pending
  • CCIPWETH9Bridge: Pending
  • CCIPWETH10Bridge: Pending
  • Price Feed Keeper: Pending

Functional Validation Status

  • Pending validation
  • Oracle contracts tested
  • CCIP infrastructure tested
  • Bridge contracts tested
  • Keeper contract tested

Integration Validation Status

  • Pending validation
  • CCIP Monitor service: Running
  • Oracle Publisher service: Pending
  • Bridge integrations: Pending
  • Keeper service: Pending

🚀 Next Actions

Immediate (High Priority)

  1. Verify All Contracts on Blockscout

    ./scripts/verify-all-contracts.sh
    
  2. Check Contract Bytecode

    for addr in \
      0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6 \
      0x99b3511a2d315a497c8112c1fdd8d508d4b1e506 \
      0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \
      0x105F8A15b819948a89153505762444Ee9f324684 \
      0x89dd12025bfCD38A168455A44B400e913ED33BE2 \
      0xe0E93247376aa097dB308B92e6Ba36bA015535D0 \
      0xD3AD6831aacB5386B8A25BB8D8176a6C8a026f04; do
      echo "Checking $addr..."
      cast code $addr --rpc-url https://rpc-core.d-bis.org | head -c 20
      echo ""
    done
    

Short-term (Medium Priority)

  1. Functional Testing

    • Test each contract's core functionality
    • Verify constructor parameters
    • Test event emission
  2. Integration Testing

    • Test service-to-contract interactions
    • Verify event monitoring
    • Test cross-chain message flow

Documentation

  1. Update Documentation
    • Update verification status
    • Document any issues found
    • Create validation report

  • Verification Guide: docs/BLOCKSCOUT_VERIFICATION_GUIDE.md
  • Verification Status: docs/CONTRACT_VERIFICATION_STATUS.md
  • Remaining Steps: docs/REMAINING_STEPS_AND_VALIDATION.md
  • Contract Addresses: docs/FINAL_CONTRACT_ADDRESSES.md

Last Updated: $(date)
Next Review: After verification completion