Runbook

Operational recovery and revert decoding

Use this page when a write call fails and you need to decide whether the problem is contract state, wallet role, missing approval, expired deadline, or stale local deployment data.

Common failures and what they really mean

MessageMeaningRecovery action
Alliance: exceeds quotaParticipant tried to deposit above their fixed share.Use the remaining quota or `Fill Max` instead of guessing the amount.
Alliance: not enough fundsAcquisition vote or buy was attempted before the alliance reached target funding.Finish deposits first.
Alliance: seller not ownerThe seller address is wrong or NFT ownership changed after proposal.Refresh owner state, rebuild proposal if needed, and regenerate seller approval page.
Alliance: quorum not reachedNot enough weighted votes for acquisition, sale, or emergency action.Collect more participant votes or check quorum configuration.
Alliance: sale expired or Alliance: acquisition expiredProposal deadline passed.Reset the proposal and create a fresh one with a new deadline.
Faucet: cooldown activeThe same wallet claimed too recently.Wait for cooldown or use a different test wallet.
unsupported tokenThe ERC20 transfer delta did not match the requested amount.Use a standard ERC20 without fee-on-transfer or rebase behavior.

Fast operator checklist

  1. Confirm chain, token address, faucet address, and factory address are still correct after the latest node restart or redeploy.
  2. Check the alliance state before trying to interact. Funding, acquisition, and sale all happen in different states.
  3. Check the acting wallet role. Participant, seller, and buyer are not interchangeable.
  4. Check approvals: seller must approve NFT, buyer must approve FATK, participant must approve FATK deposits.
  5. Check deadlines: if the proposal expired, do not keep retrying execution.
  6. Check token units: if a broken alliance stores target price as raw integers, stop using it and deploy a new one.