Skip to content

Support force: true in queued actions (batch close for no-reward networks) #1179

@madumas

Description

@madumas

Problem

When networks have no indexing rewards (e.g., fuse, xlayer-mainnet, xdai, blast-mainnet, monad, boba, mode), unallocate and reallocate actions queued via queueActions get stuck because the agent cannot generate a valid POI for these networks (see #1088).

The force: true flag works correctly on the direct closeAllocation mutation (with zero POI fallback from PR #949), but it is ignored when set on queued actions. This means the only way to close allocations on no-reward networks is through individual closeAllocation calls — there's no way to batch these via multicall.

Impact

  • No batch/multicall for no-reward network closures — each must be an individual direct mutation call, one transaction per allocation
  • Indexers managing allocations across many no-reward networks must work around the queue entirely, losing the benefits of batched execution
  • The ActionInput type already accepts a force field, but the execution path doesn't honor it for queued actions

Proposed fix

When executing a queued unallocate or reallocate action that has force: true, the agent should use the zero-POI fallback path (same as the direct closeAllocation(force: true) mutation) instead of trying to query the EBO for a valid POI.

This would allow batching force-close actions alongside normal actions in a single multicall transaction.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    🗃️ Inbox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions