Description
contracts/src/{dispute,settlement,governance,oracle,fee,storage,types,events,errors}.rs is presented in the README's "Project Structure" section as the canonical contract source tree, but it was explicitly excluded from the Cargo workspace in commit 419c01d ("Fix workspace members to exclude contracts/src") and isn't compiled or deployed — contracts/src/lib.rs only declares mod dispute; mod errors; mod storage; mod types;, so settlement.rs, governance.rs, oracle.rs, fee.rs, and events.rs aren't even reachable from that.
Meanwhile the actually-deployed contract, contracts/trustflow/src/lib.rs, implements its own dispute/escrow logic that diverges from the orphaned tree — e.g. the orphaned settlement.rs deducts a FeeBps fee on release, while the live trustflow contract has no fee logic at all.
It's unclear whether contracts/src/ is dead code left over from a prior structure that should be deleted, or a rewrite-in-progress that was paused mid-migration and needs to be finished and swapped in. Either way, the diverging business rules (fees, governance, oracle pricing) need to be reconciled before anyone can trust either tree as the source of truth.
Component
Contract
Difficulty
🟣 Spike — investigation required, scope not yet defined
Tasks
Acceptance Criteria
Estimated Time
1-2 days (time-boxed spike)
Description
contracts/src/{dispute,settlement,governance,oracle,fee,storage,types,events,errors}.rsis presented in the README's "Project Structure" section as the canonical contract source tree, but it was explicitly excluded from the Cargo workspace in commit419c01d("Fix workspace members to exclude contracts/src") and isn't compiled or deployed —contracts/src/lib.rsonly declaresmod dispute; mod errors; mod storage; mod types;, sosettlement.rs,governance.rs,oracle.rs,fee.rs, andevents.rsaren't even reachable from that.Meanwhile the actually-deployed contract,
contracts/trustflow/src/lib.rs, implements its own dispute/escrow logic that diverges from the orphaned tree — e.g. the orphanedsettlement.rsdeducts aFeeBpsfee on release, while the livetrustflowcontract has no fee logic at all.It's unclear whether
contracts/src/is dead code left over from a prior structure that should be deleted, or a rewrite-in-progress that was paused mid-migration and needs to be finished and swapped in. Either way, the diverging business rules (fees, governance, oracle pricing) need to be reconciled before anyone can trust either tree as the source of truth.Component
Contract
Difficulty
🟣 Spike — investigation required, scope not yet defined
Tasks
contracts/src/— when it was last actively developed, and whether419c01dwas a deliberate pause or an oversightcontracts/src/settlement.rs/governance.rs/oracle.rs/fee.rsand the equivalent logic incontracts/trustflow/src/lib.rsAcceptance Criteria
contracts/src/, with rationaleEstimated Time
1-2 days (time-boxed spike)