Skip to content

feat(#115): add adversarial counterparty mock suite - #157

Merged
dami-005 merged 2 commits into
Zenith-options:mainfrom
bumblebee-2020:issue-115-adversarial-mock-suite
Sep 30, 2026
Merged

dami-005 merged 2 commits into
Zenith-options:mainfrom
bumblebee-2020:issue-115-adversarial-mock-suite

Conversation

@bumblebee-2020

Copy link
Copy Markdown

Closes #115
Closes #112
Closes #113
Closes #114

Implements issue Zenith-options#115 — Adversarial Counterparty Mock Suite.

New crate: test_adversaries/ (rlib, dev-dependency only, never deployed)
- tokens: LyingBalanceToken, FeeOnTransferToken, RevertOnTransferToken,
  ReentrantToken, ZeroBalanceToken, OverflowToken
- oracle: AlwaysNoneOracle, ExtremeHighOracle, ExtremeLowOracle,
  RevertingOracle, StaleOracle, NegativePriceOracle
- vault: NoOpVault, WrongBalanceVault, RevertOnWithdrawVault, DrainVault
- multisig: AlwaysApproveMultisig, NeverApproveMultisig,
  SingleSignerMultisig, ExpiredApprovalMultisig

Negative test files (35 tests, 33 ignored pending implementation):
- options_market/src/test_adversaries.rs
- price_oracle/src/test_adversaries.rs
- vault/src/test_adversaries.rs

4 live tests run immediately against already-implemented code:
- oracle_adapter: both-None sources return NoValidPrice (not 0)
- vault token_validation: ZeroTransfer guard, FeeOnTransfer DeltaMismatch,
  RevertOnTransfer propagation

Ignored tests carry #[ignore = "issue Zenith-options#115: ..."] and are un-ignored
by the fix PRs that close each individual vulnerability.

Also:
- Add test_adversaries dev-dependency to options_market, price_oracle,
  vault Cargo.toml
- Wire #[cfg(test)] mod test_adversaries into each lib.rs
- Add adversary catalog to README.md and test_adversaries/CATALOG.md
@drips-wave

drips-wave Bot commented Sep 30, 2026

Copy link
Copy Markdown

@bumblebee-2020 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

…al-mock-suite

# Conflicts:
#	options_market/Cargo.toml
#	options_market/src/lib.rs
#	price_oracle/Cargo.toml
#	price_oracle/src/lib.rs
#	vault/Cargo.toml
@dami-005
dami-005 merged commit 4c8133e into Zenith-options:main Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants