Skip to content

[DO NOT MERGE] OUSD V3 Testnet #2923

Draft
shahthepro wants to merge 9 commits into
shah/ousd-v3from
shah/ousd-v3-testnet
Draft

[DO NOT MERGE] OUSD V3 Testnet #2923
shahthepro wants to merge 9 commits into
shah/ousd-v3from
shah/ousd-v3-testnet

Conversation

@shahthepro

@shahthepro shahthepro commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

V3 Testnet - Deployed Contracts + Smoke Test Reference

OUSD V3 (USDC + CCTP V2)

Base Sepolia (Master side)

Contract Address
Master proxy 0x271F…BbA2
Master impl 0x9544…9CBe
MockOUSDbVault 0x0C65…777c
MockOUSDb 0x4A75…AAAb
CCTPAdapter proxy 0xf230…b587
CCTPAdapter impl 0x5844…3b93

Sepolia (Remote side)

Contract Address
Remote proxy 0x271F…BbA2
Remote impl 0x8aF4…123b
MockOUSDVault 0xCaED…0a64
MockOUSD 0xbc80…C75b
MockWOUSD 0x2788…C499
CCTPAdapter proxy 0xf230…b587
CCTPAdapter impl 0xf2d0…3104

OETHb V3 (CCIP-BnM + Superbridge)

Base Sepolia (Master side)

Contract Address
Master proxy 0xB963…EA74
Master impl (V4) 0x4ABA…0E06
MockOETHbVault (V4) 0x80c8…f835
MockOETHb (V4) 0x8aF4…123b
CCIPAdapter 0x73B3…5704
SuperbridgeAdapter 0xfEDE…2A8F

Sepolia (Remote side)

Contract Address
Remote proxy 0xB963…EA74
Remote impl (V2) 0x0030…b16a
MockOETHVault (V2) 0x1C62…2be9
MockOETH (V2) 0x6D96…E3f3
MockWOETH (V2) 0x02f2…f8d6
CCIPAdapter 0x73B3…5704
SuperbridgeAdapter 0xfEDE…2A8F

Strategy proxies + adapter proxies are at identical addresses on both chains (CREATE3 peer parity).


OUSD V3 Smoke Test — Tx Hashes (7 cases)

Format: source-side tx → relay tx on destination → return-leg relay (where applicable).

# Case Source Relay (dest) Return relay
1 Deposit 0xa7f6…1e1d (Base) 0x339f…0ba85 (Sep) 0x46e4…07d5f (Base)
2 Balance check 0xb0d4…a4eef (Base) 0x73f1…43d98 (Sep) 0xa0a1…02aaf (Base)
3 Withdraw (leg 1) 0xffd9…9b1d5 (Base) 0xcdef…17be5 (Sep) 0x9f1f…d2443 (Base)
4 Claim (leg 2 + USDC) 0xb326…6f419 (Base) 0x89a5…cd9e7 (Sep) 0x9d08…bd12f (Base)
5 Bridge out 0x49ff…fa6d4 (Base) 0xc0e8…81843 (Sep)
6 Bridge in 0xf754…0044 (Sep) 0xe76b…9c10 (Base)
7 Settlement 0xf9a3…e9868 (Base) 0xeb4b…b843c (Sep) 0x6940…cde7 (Base)

Setup for Case 5 (re-deposit to back the bridge-out):
0xb00b…4bc90 (deposit, Base) →
0x8dbc…a0847 (relay, Sep) →
0x480f…87c5 (ack, Base)


Scripts — how to run

All operator commands are Hardhat tasks namespaced tn:* (OETHb) and tn:ousd:* (OUSD). Pass --network sepolia or --network baseSepolia. Tasks live in contracts/tasks/testnet-v3.js and contracts/tasks/testnet-v3-ousd.js.

Task What it does
tn[:ousd]:status Print full strategy + adapter state on the current network
tn:get-bnm --amount N Drip CCIP-BnM (OETHb only — testnet faucet)
tn[:ousd]:fund-master --amount N Transfer bridgeAsset to Master proxy (OUSD = USDC, OETHb = BnM)
tn[:ousd]:fund-pool --amount N Top up strategy ETH op-pool (CCIP fees on OETHb side)
tn[:ousd]:deposit --amount N Vault → Master DEPOSIT (Master → Remote yield-channel send)
tn[:ousd]:withdraw --amount N Vault → Master WITHDRAW_REQUEST (leg 1)
tn[:ousd]:trigger-claim Master → Remote WITHDRAW_CLAIM (leg 2; bridges bridgeAsset back)
tn[:ousd]:claim-withdraw Permissionless Remote-side vault claim (idempotent)
tn[:ousd]:balance-check Non-blocking yield-channel ping; updates remoteStrategyBalance
tn[:ousd]:settle Folds bridgeAdjustment into remoteStrategyBalance
tn[:ousd]:mint-ousdb / tn:mint-oethb Mint OUSDb / OETHb from mock vault (consumes USDC / BnM)
tn[:ousd]:bridge-out --amount N Burn local OToken, mint matching OToken on the peer chain
tn:ousd:cctp-relay --tx <hash> OUSD only — fetches Iris-sandbox attestation, calls CCTPAdapter.relay(msg, att) on the destination chain. Required on every cross-chain hop.

OETHb flow — fire-and-wait (CCIP auto-delivers): tn:deposit --network baseSepolia then tn:status --network sepolia after ~25-45 min.

OUSD flow — every cross-chain hop is manual: fire the source task, grab its tx hash, run tn:ousd:cctp-relay --tx <hash> --network <dest>, grab the destination tx, repeat for the return leg.

Re-deploy scripts under contracts/deploy/baseSepolia/ and contracts/deploy/sepolia/ (001006 for OETHb, 010013 for OUSD). Run with pnpm deploy:base-sepolia / pnpm deploy:sepolia.

@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 50.30%. Comparing base (0cb3982) to head (fad3949).

Additional details and impacted files
@@              Coverage Diff              @@
##           shah/ousd-v3    #2923   +/-   ##
=============================================
  Coverage         50.30%   50.30%           
=============================================
  Files               124      124           
  Lines              5769     5769           
  Branches           1623     1623           
=============================================
  Hits               2902     2902           
  Misses             2863     2863           
  Partials              4        4           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant