Tier: Hard
Description: ShipmentStatus::PartiallyRefunded (types.rs:236-237) has valid-transition rules defined (types.rs:306-311), but resolve_dispute (lib.rs:4869-4970) only implements full release or full refund — never a partial split — so PartiallyRefunded is dead scaffolding for an incomplete feature. It's also missing from purge_status_hashes's cleanup list (storage.rs:1729-1745), a latent storage leak once the status becomes reachable.
Files: contracts/shipment/src/types.rs:236-237, 306-311, contracts/shipment/src/lib.rs:4869-4970, contracts/shipment/src/storage.rs:1729-1745
Tasks:
Tier: Hard
Description:
ShipmentStatus::PartiallyRefunded(types.rs:236-237) has valid-transition rules defined (types.rs:306-311), butresolve_dispute(lib.rs:4869-4970) only implements full release or full refund — never a partial split — soPartiallyRefundedis dead scaffolding for an incomplete feature. It's also missing frompurge_status_hashes's cleanup list (storage.rs:1729-1745), a latent storage leak once the status becomes reachable.Files:
contracts/shipment/src/types.rs:236-237, 306-311,contracts/shipment/src/lib.rs:4869-4970,contracts/shipment/src/storage.rs:1729-1745Tasks:
resolve_disputethat can producePartiallyRefundedPartiallyRefundedtopurge_status_hashes's cleanup listAcceptance Criteria:
PartiallyRefundedis reachable via a real dispute-resolution path and is correctly purged on archival