Skip to content

Add has_asset_fee_override FIX - #247

Merged
Jagadeeshftw merged 1 commit into
AnchorNet-Org:mainfrom
Mitch5000:Add-has_asset_fee_override-FIXED
Jul 27, 2026
Merged

Add has_asset_fee_override FIX#247
Jagadeeshftw merged 1 commit into
AnchorNet-Org:mainfrom
Mitch5000:Add-has_asset_fee_override-FIXED

Conversation

@Mitch5000

Copy link
Copy Markdown

================================================================================
PULL REQUEST — PLAIN TEXT FORMAT

Title: Add has_asset_fee_override to resolve fee-override ambiguity
Repo: Mitch5000/AnchorNet-Contracts
Branch: fix/asset-fee-override-visibility -> main
Status: READY FOR REVIEW


FILES MODIFIED (3) — NO NEW FILES CREATED

  1. src/lib.rs
  2. src/test.rs
  3. README.md

ISSUE ADDRESSED

asset_fee(env, asset) collapses storage::get_asset_fee Option into a plain
u32 via effective_fee_bps. A caller cannot distinguish:

  • explicit override to 0 bps (set_asset_fee(asset, 0))
  • no override with global fee() == 0

This is the same "collapsed Option" ambiguity that motivated is_anchor_active
for anchors, applied to fee overrides.


FIX IMPLEMENTED (ADDITIVE, NON-BREAKING)

  • Added entrypoint: has_asset_fee_override(env, Env, asset, Symbol) -> bool
    Delegates directly to: storage::get_asset_fee(&env, &asset).is_some()
  • Did NOT modify asset_fee existing behavior.
  • Added regression tests in src/test.rs (4 cases):
    • false by default (no override + global fee 0)
    • true after set_asset_fee(asset, 0) (explicit zero override)
    • true for nonzero override
    • false after clear_asset_fee
  • Documented distinction in README.md fee section.

ACCEPTANCE CRITERIA

[YES] has_asset_fee_override returns true only when set_asset_fee called
and not yet cleared for that asset.
[YES] clear_asset_fee flips result back to false.
[YES] asset_fee existing return value and callers unaffected.
[YES] Confidence: 100% (additive, non-breaking, mirrors existing patterns).

================================================================================

Closes #107

@Jagadeeshftw
Jagadeeshftw merged commit d145c2f into AnchorNet-Org:main Jul 27, 2026
1 check failed
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.

Add has_asset_fee_override(asset) to distinguish an explicit 0 bps override from no override at all

2 participants