Skip to content

Conversation

@MoonBoi9001
Copy link
Member

@MoonBoi9001 MoonBoi9001 commented Jan 9, 2026

Summary

Add a new action type that posts a POI on-chain to collect indexing rewards from Horizon allocations without closing them. This enables periodic reward collection while keeping allocations active.

The action is named PRESENT_POI (rather than COLLECT) to avoid confusion with TAP receipt collection, since the primary function is posting a proof of indexing on-chain.

Changes

  • ActionType.PRESENT_POI enum value - New action type in the actions system (present_poi)
  • GraphQL schema - presentPOI mutation and PresentPOIResult type
  • Database model validation - PRESENT_POI type support in Action model
  • AllocationManager methods - preparePresentPOI, populatePresentPOITransaction, confirmPresentPOI
  • presentPOI resolver - With shared helper functions for transaction execution
  • CLI support - graph indexer actions queue present_poi ...
  • Input validation - POI parameter normalization and block number validation

Usage

# Basic usage - POI is auto-resolved from indexer state
graph indexer actions queue present_poi <deploymentID> <allocationID> -n <network>

# With optional overrides
graph indexer actions queue present_poi <deploymentID> <allocationID> [poi] [force] [blockNumber] [publicPOI] -n <network>

The POI parameters are optional. The system automatically resolves the POI from the indexer's current state. Use force=true only if you need to submit with a zero POI when auto-resolution fails.

Test plan

  • CLI unit tests for action input building and validation
  • indexer-common unit tests for action querying and filtering
  • Manual testing with Horizon allocation on testnet

Generated with Claude Code

@github-project-automation github-project-automation bot moved this to 🗃️ Inbox in Indexer Jan 9, 2026
@MoonBoi9001 MoonBoi9001 marked this pull request as ready for review January 9, 2026 05:55
@tmigone
Copy link
Member

tmigone commented Jan 23, 2026

Have not reviewed in detail yet, but first comment is I think we should rename from COLLECT to something else. Collect refers generically to any payment type, could be indexing rewards, query fees or something else. Historically also "collect" has been associated with query fees, so this would be confusing I think.

What do you think about switching to something thats more related to what happens to the allocation (poi is posted on chain) and not the side effect (which is rewards are collected). So could be "present/post poi": graph indexer actions queue present-poi ... or something along that vein.

@MoonBoi9001
Copy link
Member Author

Sounds good, will update.

@MoonBoi9001 MoonBoi9001 force-pushed the feat/collect-action-type branch from 7bc46c1 to e3b4251 Compare January 23, 2026 18:31
@MoonBoi9001 MoonBoi9001 changed the title feat(actions): add COLLECT action type for Horizon allocations feat(actions): add PRESENT_POI action type for Horizon allocations Jan 23, 2026
@MoonBoi9001 MoonBoi9001 force-pushed the feat/collect-action-type branch from 5febb90 to 8fd9503 Compare January 23, 2026 18:39
MoonBoi9001 and others added 2 commits January 23, 2026 14:31
Add a new action type that posts a POI on-chain to collect indexing
rewards from Horizon allocations without closing them. This enables
periodic reward collection while keeping allocations active.

Changes:
- ActionType.PRESENT_POI enum value ('present_poi')
- GraphQL presentPOI mutation and PresentPOIResult type
- Database model validation for PRESENT_POI actions
- AllocationManager methods (preparePresentPOI, confirmPresentPOI, etc.)
- CLI support with present_poi command
- POI parameter normalization and block number validation
- Improved help text clarifying optional parameters

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add tests for the new PRESENT_POI action type covering:
- Building action input with correct structure
- POI parameter normalization (zero values)
- Block number validation
- Required field validation
- Database action insertion and querying
- Filter generation for action queries

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@MoonBoi9001 MoonBoi9001 force-pushed the feat/collect-action-type branch from 8fd9503 to 8d17c4c Compare January 23, 2026 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🗃️ Inbox

Development

Successfully merging this pull request may close these issues.

3 participants