Skip to content

test: add adversarial cancel_issuer_transfer coverage (#1060) - #1279

Closed
ASIDISG wants to merge 2 commits into
RevoraOrg:masterfrom
ASIDISG:test/1060-cancel-issuer-transfer-coverage
Closed

ASIDISG wants to merge 2 commits into
RevoraOrg:masterfrom
ASIDISG:test/1060-cancel-issuer-transfer-coverage

Conversation

@ASIDISG

@ASIDISG ASIDISG commented Sep 28, 2026 •

Copy link
Copy Markdown

Summary

Adds src/test_issuer_transfer_cancel.rs, an adversarial suite for the issuer-side cancel of a pending issuer transfer.

Axis Cases
Success pending proposal removed; one iss_canc event with (cancelling_issuer, cancelled_target); entry consumed (second cancel is NoTransferPending); offering stays fully operational under the original issuer
Typed rejections unknown offering OfferingNotFound; no pending proposal NoTransferPending (also wrong namespace, and cancel after accept); ContractFrozen; ContractPaused
Unauthorized callers an outsider is rejected with OfferingNotFound; the new issuer after accept is NotAuthorized (cancel identifies the primary issuer by identity before require_auth, which is the observable layer through try_*)
State unchanged after reject every failed cancel leaves the pending proposal intact (the new issuer can still accept, and the issuer can still cancel once authorized, unpaused and unfrozen)
Boundary cancel works long after the 7-day accept window closed (only accept enforces expiry)
Isolation cancelling one offering's proposal leaves a sibling offering's proposal untouched

Closes #1060

Independence and verification

cargo test --lib test_issuer_transfer_cancel::
test result: ok. 12 passed; 0 failed

and with all four test branches merged together: 53 passed, 0 failed.

Not claimed

The earlier version of this PR stacked on the other three and quoted "307 passed" from a different base. Those numbers are gone; the figures above are what this branch produces.

@drips-wave

drips-wave Bot commented Sep 28, 2026

Copy link
Copy Markdown

@ASIDISG 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

ASIDISG added a commit to ASIDISG/Revora-Contracts that referenced this pull request Sep 28, 2026
Fixes the CI / Format check (cargo fmt) gate on PR RevoraOrg#1279.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
@ASIDISG
ASIDISG force-pushed the test/1060-cancel-issuer-transfer-coverage branch 3 times, most recently from dc9b385 to 5551487 Compare September 29, 2026 16:52
Brings master in line with the repository's own Format check (cargo fmt --all -- --check), which fails on master today (40 hunks). Formatting only; no code or test changes.
New module src/test_issuer_transfer_cancel.rs and its mod declaration. Closes RevoraOrg#1060.
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 adversarial coverage for cancel_issuer_transfer in lib

2 participants