Discovery
IntentSettlerV3 exposes an optional log feed through announce(order, auth).
The function builds no index. An owner may publish an order directly, or another
broadcaster may publish the authorization envelope.
Read IntentAnnounced
Section titled “Read IntentAnnounced”Filter logs to the deployed IntentSettlerV3 address and the
IntentAnnounced topic0:
0x6b7c7ccca26b7cb9642ad63c79054835d7bbfb9801b6c6c642a3ba88ece2350fThe event is:
IntentAnnounced( bytes32 indexed id, address indexed owner, bytes32 indexed appData, bytes order, bytes auth)The three indexed topics are id, owner, and appData. The data fields are
order and auth. order is abi.encode(IntentOrder), so it contains
the complete 12-field order. Individual order fields are not emitted beside
it.
An illustrative decoder can use the same boundary as the client:
// Illustrative decoder call. Validate the returned value before using it.const event = decodeIntentAnnounced({ topics: log.topics, data: log.data, transactionHash: log.transactionHash,});
if (event) { const { id, owner, recipient, tokenIn, tokenOut, nonce } = event;}The feed is not a fillability index. announce asks the owner’s proxy to verify
the authorization, but a valid authorization can still become unusable because
of nonce state, allowance, wallet configuration, or route conditions. Use the
event as a discovery input, then call IntentLensV3.preview and dry-run fill
before submission. See fill an order.
Discovery boundary
Section titled “Discovery boundary”The event uses plain IntentAnnounced fields. It contains the complete encoded
order and authorization envelope needed to inspect an intent before calling
IntentLensV3.preview and dry-running fill.