Overview
An intent progresses through several states from creation to completion. Understanding this lifecycle is crucial for all participants in the protocol.Intent Status
The protocol tracks intent rewards through the following states:Complete Lifecycle
Alternative Path: Refund
If an intent expires without fulfillment, the creator can recover their rewards.Refund Conditions
contracts/IntentSource.sol
- Checks deadline has passed:
block.timestamp >= reward.deadline - Verifies intent was not proven as fulfilled
- Updates status to
Refunded - Transfers all tokens from vault back to creator
- Emits
IntentRefundedevent
State Transitions
Timeline Constraints
- Route deadline: Intent must be fulfilled before
route.deadline - Reward deadline: Intent must be fulfilled before
reward.deadline - Refund eligibility: Can only refund after
reward.deadlinehas passed - Proof validity: Proof must match the destination chain ID
Best practice: Set
route.deadline slightly before reward.deadline to give solvers time to prove fulfillment before the intent becomes refundable.