Skip to content

feat(rescue): enforce stored per-token rescue cap in rescue and emit rescue_cap_set (#1214) - #1380

Closed
lienhoatienphung-svg wants to merge 1 commit into
CalloraOrg:mainfrom
lienhoatienphung-svg:feature/1214-stored-rescue-cap
Closed

lienhoatienphung-svg wants to merge 1 commit into
CalloraOrg:mainfrom
lienhoatienphung-svg:feature/1214-stored-rescue-cap

Conversation

@lienhoatienphung-svg

Copy link
Copy Markdown

Summary

Stores a per-token rescue cap on-chain (DataKey::RescueCap(Address)) configured via set_rescue_cap, enforces it directly inside rescue (and rescue_capped), emits "rescue_cap_set" on updates, and deprecates the argument-only cap pattern.

Key Changes

  • contracts/rescue/src/events.rs:
    • Adds event_rescue_cap_set and emit_rescue_cap_set.
  • contracts/rescue/src/lib.rs:
    • Adds DataKey::RescueCap(Address), set_rescue_cap(admin, token, cap), and get_rescue_cap(token).
    • Enforces the stored per-token cap in rescue (returning RescueError::ExceedsCap when amount > cap) and marks rescue_capped as #[deprecated].
  • contracts/rescue/tests/proptest.rs:
    • Adds rescue_enforces_stored_per_token_cap_and_emits_cap_event verifying stored cap enforcement and state preservation on rejection.

Closes #1214


Payout Wallet (Base USDC / EVM): 0x3806cd592a508d1992Ed007C2F53de251C2E7452

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.

Enforce admin-configured rescue cap from storage

2 participants