Complexity: Low
Problem: Type definitions and error codes are duplicated across contracts.
Scope: Build a shared crate with common types (AssetStatus, EscrowStatus, RiskGrade) and error enums used across all contracts.
Acceptance criteria: All contracts import from shared. No duplicate type definitions exist.
Files to create:
contracts/shared/src/types.rs
contracts/shared/src/errors.rs
contracts/shared/src/constants.rs
Complexity: Low
Problem: Type definitions and error codes are duplicated across contracts.
Scope: Build a shared crate with common types (AssetStatus, EscrowStatus, RiskGrade) and error enums used across all contracts.
Acceptance criteria: All contracts import from shared. No duplicate type definitions exist.
Files to create:
contracts/shared/src/types.rs
contracts/shared/src/errors.rs
contracts/shared/src/constants.rs