Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
c49ebe8
feat: upgrade to ethers v6, bump common-ts and use toolshed for contr…
tmigone May 16, 2025
db6b450
chore: add is horizon ready flag to network monitor (#1118)
Maikol May 21, 2025
9fbfacc
feat: support split address books (#1119)
tmigone May 22, 2025
70490e0
feat: update registration to support horizon flow, add provisioning f…
tmigone May 22, 2025
da8f53d
Horizon fixes (#1121)
tmigone May 23, 2025
0e6c962
Horizon: allocation management (#1123)
tmigone Jun 2, 2025
f508a92
Merge remote-tracking branch 'origin/main' into horizon
tmigone Jun 2, 2025
f9cc1ff
chore: add isLegacy column to actions table
tmigone Jun 2, 2025
d2bfd5b
chore: cli support isLegacy for actions
tmigone Jun 3, 2025
2b44aaa
wip: full allocation management
tmigone Jun 6, 2025
606a8e7
fix: allocation cli bugs
tmigone Jun 9, 2025
325d6fa
feat: add column wrapping to table format in cli
tmigone Jun 9, 2025
3d4562b
feat: add wrap to allocation commands
tmigone Jun 9, 2025
09898ce
feat: allocate and unallocate in action queue
tmigone Jun 9, 2025
65f6fd2
fix: action update serialization bug for bigints
tmigone Jun 10, 2025
dc590ce
feat: unallocate action queue management
tmigone Jun 10, 2025
557f002
chore: clean up todos
tmigone Jun 10, 2025
0e448be
wip: graph tally support
tmigone Jun 10, 2025
bff35ba
chore: update toolshed to 0.6.4
tmigone Jun 18, 2025
7697a93
fix: rewardsmanager events
tmigone Jun 18, 2025
112e1e8
fix: wip refactor of batch execution to account for non atomic batches
tmigone Jun 18, 2025
3579e8e
chore: better tx filtering on executeTransaction
tmigone Jun 19, 2025
660ce64
feat: fix graphtally database model and add migrations
tmigone Jun 19, 2025
55d2284
fix: database migrations for horizon
tmigone Jun 20, 2025
19a4df1
feat: add graph-tally collector
tmigone Jun 24, 2025
30e3682
fix: tests in the horizon branch (#1135)
pcarranzav Jul 28, 2025
63204cb
feat: add DIPs (Distributed Indexing Payments) support
pcarranzav Jul 24, 2025
b60f396
feat: complete DIPs integration with ethers v6 migration
pcarranzav Jul 25, 2025
a83e0b9
feat: implement receipt-based payment system for DIPs
pcarranzav Aug 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -120,3 +120,7 @@ yalc.lock
.idea/
.envrc
.vscode

# local-network override mode files
tap-contracts.json
config/config.yaml
239 changes: 136 additions & 103 deletions README.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/action-queue.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ The action execution worker will only grab items from the action queue to execut

## Allocation management modes:
- `auto`: The indexer-agent will act similarly to the legacy paradigm. When it identifies allocation actions it will add them to the queue with ActionStatus = `approved`; the execution worker process will pick up the approved actions within 30 seconds and execute them.
- `manual`: The indexer-agent will not add any items to the action queue in this mode. It will spin up an indexer-management server which can be interacted with manually or integrated with 3rd party tools to add actions to the action queue and execute them.
- `oversight`: The indexer-agent will add run its reconciliation loop to make allocation decisions and when actions are identified it will queue them. These actions will then require approval before they can be executed.
- `manual`: The indexer-agent will not add any items to the action queue in this mode. It will spin up an indexer-management server which can be interacted with manually or integrated with 3rd party tools to add actions to the action queue and execute them. An exception to this is indexing agreements (DIPs), for which actions will be queued and executed even in this mode.
- `oversight`: The indexer-agent will add run its reconciliation loop to make allocation decisions and when actions are identified it will queue them. These actions will then require approval before they can be executed. An exception to this is indexing agreements (DIPs), for which actions will be queued as approved and executed even in this mode.

## Actions CLI
The indexer-cli provides an `actions` module for manually working with the action queue. It uses the #Graphql API hosted by the indexer management server to interact with the actions queue.
Expand Down
8 changes: 2 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,16 @@
"lerna": "6.1.0"
},
"resolutions": {
"ethers": "5.7.0",
"ethers": "6.13.7",
"sequelize": "6.33.0",
"@ethersproject/bignumber": "5.7.0",
"@ethersproject/providers": "5.7.0",
"@urql/core": "3.1.0",
"@urql/exchange-execute": "2.1.0",
"punycode": "2.3.1",
"uri-js": "4.2.2"
},
"overrides": {
"ethers": "5.7.0",
"ethers": "6.13.7",
"sequelize": "6.33.0",
"@ethersproject/bignumber": "5.7.0",
"@ethersproject/providers": "5.7.0",
"@urql/core": "3.1.0",
"@urql/exchange-execute": "2.1.0",
"graphql": "16.8.0"
Expand Down
1 change: 1 addition & 0 deletions packages/indexer-agent/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
testPathIgnorePatterns: ['/node_modules/', '/dist/', '.yalc'],
transformIgnorePatterns: ['!node_modules/'],
globals: {
__DATABASE__: {
host:
Expand Down
10 changes: 4 additions & 6 deletions packages/indexer-agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@
"graph-indexer-agent": "bin/graph-indexer-agent"
},
"dependencies": {
"@graphprotocol/common-ts": "2.0.11",
"@graphprotocol/common-ts": "3.0.1",
"@graphprotocol/indexer-common": "^0.23.8",
"@thi.ng/heaps": "^1.3.1",
"axios": "0.26.1",
"bs58": "5.0.0",
"delay": "^5.0.0",
"ethers": "5.7.0",
"ethers": "6.13.7",
"evt": "1.9.12",
"global": "4.4.0",
"graphql": "16.8.0",
Expand Down Expand Up @@ -80,10 +80,8 @@
"typescript": "5.2.2"
},
"resolutions": {
"ethers": "5.7.0",
"sequelize": "6.33.0",
"@ethersproject/bignumber": "5.7.0",
"@ethersproject/providers": "5.7.0"
"ethers": "6.13.7",
"sequelize": "6.33.0"
},
"gitHead": "972ab96774007b2aee15b1da169d2ff4be9f9d27"
}
4 changes: 2 additions & 2 deletions packages/indexer-agent/src/__tests__/indexer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import {
MultiNetworks,
loadTestYamlConfig,
} from '@graphprotocol/indexer-common'
import { BigNumber } from 'ethers'
import { Sequelize } from 'sequelize'

const TEST_DISPUTE_1: POIDisputeAttributes = {
Expand Down Expand Up @@ -69,7 +68,7 @@ const TEST_DISPUTE_2: POIDisputeAttributes = {

const POI_DISPUTES_CONVERTERS_FROM_GRAPHQL: Record<
keyof POIDisputeAttributes,
(x: never) => string | BigNumber | number | undefined
(x: never) => string | bigint | number | undefined
> = {
allocationID: x => x,
subgraphDeploymentID: x => x,
Expand Down Expand Up @@ -148,6 +147,7 @@ const setup = async () => {
const network = await Network.create(
logger,
networkSpecification,
models,
queryFeeModels,
graphNode,
metrics,
Expand Down
Loading
Loading