For judges
Every refusal, on chain.
Each row is a real testnet transaction that tried to break a rule and was refused, with the decoded error and the test that pins the rule. To try them yourself, start the judge run and use its failure buttons.
The owner withdraws the reserve
E_RESERVE_LOCKED
Refused: that money is a crew reserve or earned wages. The owner can only take back true surplus.
test: the_owner_cannot_withdraw_the_reserve
Refused transactionSign-on at a lower wage than the contract
E_WAGE_DIFFERS_FROM_YOUR_CONTRACT
Refused: the wage you confirmed is not the wage on this berth. Check your contract before signing on.
test: sign_on_is_refused_when_the_wage_differs_from_the_crew_members_contract
Refused transactionAbandonment declared early
E_NOT_YET_ABANDONED
Refused: the grace period has not ended yet.
test: abandonment_cannot_be_declared_before_the_grace_ends
Refused transactionA stranger signs on
E_NOT_BERTH_HOLDER
Refused: you do not hold this berth.
test: a_non_holder_cannot_sign_on
Refused transactionThe old holder's allotment after hand-over
E_BERTH_CHANGED_HANDS
Stopped: the berth changed hands, so the old holder's allotment ended.
test: allotment_stops_after_hand_over
Refused transactionAllotment to a receiver nobody granted
RECEIVER_NOT_GRANTED
Refused by the berth wallet: that receiver was never granted.
test: allotment_pays_only_the_granted_receiver_up_to_the_budget
Refused transactionAllotment over the budget
TOKEN_CAP_EXCEEDED
Refused by the berth wallet: this would pass the budget the crew member set.
test: allotment_pays_only_the_granted_receiver_up_to_the_budget
Refused transactionAddKey on a berth
no key path exists
The berth wallet has no method that adds a key; a request shaped like one is refused.
test: add_key_on_a_berth_is_impossible_and_house_of_stake_cannot_move_it_alone
Refused transactionHouse of Stake moves a live berth without the holder
TRANSFER_NOT_REQUESTED
Refused: a live berth cannot move unless its holder asks.
test: add_key_on_a_berth_is_impossible_and_house_of_stake_cannot_move_it_alone
Refused transactionSign-on before four months are on board
E_RESERVE_NOT_ON_BOARD
Refused: four months of this berth's wages and the fare home are not on board yet. The shipowner must lock them before anyone signs on.
test: sign_on_is_refused_until_four_months_are_on_board
Refused transaction