Skip to content

Enforce a min destination gas limit - #3012

Merged
shahthepro merged 1 commit into
shah/ousd-v3from
shah/ousd-v3-min-destgaslimit
Sep 29, 2026
Merged

shahthepro merged 1 commit into
shah/ousd-v3from
shah/ousd-v3-min-destgaslimit

Conversation

@shahthepro

Copy link
Copy Markdown
Collaborator

Code Change

  • Enforce a min destination gas limit for all Adapters

@naddison36 naddison36 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@shahthepro
shahthepro merged commit 3505110 into shah/ousd-v3 Sep 29, 2026
11 of 12 checks passed
@shahthepro
shahthepro deleted the shah/ousd-v3-min-destgaslimit branch September 29, 2026 11:00
shahthepro added a commit that referenced this pull request Oct 8, 2026
* Add OUSD V3 contracts

* Fixes

* Simplify code

* Remove root pnpm files

* Refactor superbridge

* checkpoint

* Add testnet files and bug fixes

* Fix tests

* Add flows file

* Fix pnpm lock file

* Fix slither

* Fix Base fork test

* Commit readme files

* bug fixes

* Fix hh config

* Fix hh config

* Move testnet harness to shah/ousd-v3-testnet

* Fix unit test

* Fix AbstractAdapter

* Update comment

* Code simplification

* bug fixes

* Few more code cleanup

* Simplify code

* Update flows

* Bug fixes

* Clamp to zero instead of revert

* Fix comment

* Fix docs

* Fix comments

* Added OUSD v3 contract diagrams

* Updated flow diagrams

* More sequence diagram rendering fixes and improvements

* More Deposit sequence diagram changes

* More sequence diagram changes

* More deposit sequence diagram changes

* More sequence diagram changes

* More deposit sequence changes

* Added store prefix when writing to a storage variable
Moved the adapter participants close to the Bridge

* Clearer message structures

* More sequence changes

* More sequence diagram changes

* More flow changes

* More deposit flow changes

* Withdraw flow updates

* More withdraw flow sequence diagram changes

* Check balance diagram changes

* Bridge out and in sequence diagrams

* Settlement flow diagram changes

* Update check balance flow diagram

* Address CR comments

* Rename var

* Bug fixes

* Update docs and comments

* Add missing check

* Simplify CrossChainStrategyV3

* Fix linting issues

* Fix lint issues

* Fix docs and stuff

* Make balance check push-only

* std-001: merge CLAUDE.md into AGENTS.md, symlink CLAUDE.md

Both files existed as real files. CLAUDE.md held all 298 lines of real guidance;
AGENTS.md held 40 lines written on another machine.

Merge decisions:
- Workflow guidance (prettier, smallest-verification, do-not-reformat): present
  in both, word for word. Kept CLAUDE.md's copy.
- 'Run repo commands from /Users/nicholasaddison/.../contracts' loses to
  'Run repo commands from contracts/'. The absolute path is another engineer's
  home directory and is wrong everywhere but that machine.
- Dropped the hand-maintained 'Skills' registry. It listed four skills by
  absolute path under /Users/clement/.codex/skills and /Users/clement/Documents,
  none of which resolve here, plus 25 lines instructing the agent how to discover
  and load skills. Skill discovery is the harness's job and differs per harness;
  a checked-in registry of one engineer's local paths is exactly the rot-prone
  state STD-001 forbids. If those skills are worth sharing they belong in the
  repo under .agents/skills/ (STD-003), not as pointers into a home directory.

Verified with automation/scripts/check-agents-md.sh.

AGENTS.md is 298 lines, over the 200-line content rule. Not addressed here:
splitting it (storage-layout checks and the Foundry/Talos mandatory check are the
candidates for .claude/rules/) changes what every agent in this repo reads and
should be its own reviewed change.

* Fix gas bug

* Migrate deploy scripts to foundry

* Seed the storage baseline for the BridgedWOETHStrategy upgrade

The deploy-time gate keys on the contract name, so
BridgedWOETHMigrationStrategy had no descriptor on Base and passed as a
brand-new contract — the one upgrade in this stack that touches a live
proxy ran without a layout comparison. Seed
deployments/base/BridgedWOETHMigrationStrategy.json with the live
BridgedWOETHStrategy storage layout so check-storage-upgrade.js compares
the new implementation against what the proxy runs today. Verified both
ways: the gate passes on the real layout (totalBridged/maxPerBridge
appended after V1's slot-157 tail) and exits 1 with a layoutchange
finding if a V1 slot moves. The post-deploy descriptor refresh replaces
the seed wholesale.

* Renumber mainnet deploy scripts 005/006 to 006/007

Master gained 005_DeployOETHVaultLens.s.sol (#2953) after this branch
diverged, so the OETHb V3 mainnet scripts would collide with it on merge.
Bump file names, contract names and constructor deployment IDs, and update
the cross-references in base/002, base/003, the RemoteWOTokenStrategy fork
test comment, DESIGN.md and README.md. Neither script has been broadcast,
so no deployment state is affected.

* Fix smoke tests

* retryDeposit deposits only idle funds (#3010)

* Fix Interface usage (#3011)

* Enforce a min destination gas limit (#3012)

* Fix withdrawal tests

* Remove symlink

* Re-add skill files

---------

Co-authored-by: Nicholas Addison <nick@addisonbrown.com.au>
Co-authored-by: Domen Grabec <grabec@gmail.com>
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.

2 participants