Context: Currently, contracts return generic panics or inconsistent custom error types, making frontend debugging and error handling difficult.
Location: contracts/game_contract/src/error.rs
Acceptance Criteria:
- Define a centralized
#[contracterror] enum with distinct u32 values for Unauthorized, InvalidAmount, BadState, etc.
- Replace all
panic! calls with proper error returns.
Context: Currently, contracts return generic panics or inconsistent custom error types, making frontend debugging and error handling difficult.
Location:
contracts/game_contract/src/error.rsAcceptance Criteria:
#[contracterror]enum with distinct u32 values for Unauthorized, InvalidAmount, BadState, etc.panic!calls with proper error returns.