Errors
expired
The window has closed; restart the flow with fresh state
The call arrived after its window closed: a weights commit past its reveal period, an order past its expiry, or a contribution after the period ended.
The expired object cannot be revived. restart the flow with fresh state — make a new commit, place a new order, or move on.
Remediation
The window has closed; restart the flow with fresh state
Chain errors
The exact chain error names (from the extrinsic receipt) that classify to expired; the description says what triggered the failure and where to check. Each name has its own page:
| Chain error | Description |
|---|---|
ContributionPeriodEnded | A contribution was made at or after the crowdloan's end block. Compare the end field of the Crowdloans entry with the current block number; the creator can extend it with update_end while the crowdloan is not finalized. |
ExpiredWeightCommit | The hash supplied to reveal_weights matches a commit whose reveal window has already passed, so it can no longer be revealed. Check the commit_reveal_period hyperparameter and reveal within the allowed epochs after committing; re-commit and reveal on time. |
InvalidRevealRound | A timelocked weights commit specified a reveal_round older than the latest stored DRAND round, so it could be decrypted immediately. Query the drand pallet's LastStoredRound and commit with a future round number. |
OrderCancelled | The order was previously cancelled via cancel_order and can never be executed. Check the Orders storage entry for the order id; a Cancelled status is terminal, so the signer must sign and submit a fresh order. |
OrderExpired | The current chain time is past the order's expiry field, which is a unix timestamp in milliseconds, so the order can no longer execute. Compare the expiry in the signed order payload with the chain's current Timestamp value. |
The same explanation is available in the terminal: btcli explain expired (or btcli explain <ChainErrorName> for one exact chain error).