Skip to content

fix(maintenance-pool): return NotInitialized instead of panicking on missing treasury in withdraw (#488) - #628

Open
urielit1313-creator wants to merge 1 commit into
MergeFi:mainfrom
urielit1313-creator:fix/maintenance-pool-require-treasury-uninit-488
Open

urielit1313-creator wants to merge 1 commit into
MergeFi:mainfrom
urielit1313-creator:fix/maintenance-pool-require-treasury-uninit-488

Conversation

@urielit1313-creator

Copy link
Copy Markdown

Summary of Changes

Closes #488

  1. Avoid Panic on Missing Treasury:
    • Replaced .unwrap() on mergefi_common::require_treasury::<DataKey>(&env) in contracts/maintenance-pool/src/lib.rs (withdraw) with .ok_or(Error::NotInitialized)?, matching get_treasury and standard contract initialization guards.
  2. Unit Test Coverage:
    • Added test_withdraw_returns_not_initialized_if_treasury_missing to contracts/maintenance-pool/src/test.rs, verifying that if Treasury is missing from storage, client.try_withdraw cleanly returns Err(Ok(Error::NotInitialized)) instead of aborting the transaction.

Testing & Verification

  • cargo test -p mergefi-maintenance-pool --lib: 43 passed; 0 failed
  • cargo clippy -p mergefi-maintenance-pool --lib -- -D warnings: 0 warnings

Bounty Payout Address (Base USDC): 0xfE777c43e4B0A24fFA1527eD520d1E7f9ECED483

@vercel

vercel Bot commented Oct 14, 2026

Copy link
Copy Markdown

@urielit1313-creator is attempting to deploy a commit to the chonilius' projects Team on Vercel.

A member of the Team first needs to authorize it.

This branch has not been deployed

No deployments
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.

maintenance-pool::withdraw panics (not a typed error) if Treasury is missing — require_treasury().unwrap()

1 participant