<aside> 💡
This document outlines the changes introduced by Graph Horizon in how various participants interact with the protocol. It is intended for maintainers of off-chain components to help them understand the breaking changes and identify the necessary updates for each component.
</aside>
Graph Horizon is an upgrade to the existing protocol that:
<aside> 🚨
Function calls in this document where contract name is not specified are assumed to be made on the Staking contract. Worth clarifying as well that Staking = HorizonStaking
, for more clarity we use HorizonStaking
to refer to the staking contract after the upgrade
</aside>
Mechanism | Stage 0: current protocol | Stage 1: transition period | Stage 2: Graph Horizon | |
---|---|---|---|---|
Service provider | Stake management | stake() |
||
stakeTo() |
||||
unstake() / withdraw() |
stake() |
|||
stakeTo() |
||||
unstake() / withdraw() |
stake() |
|||
stakeTo() |
||||
unstake() |
||||
Provision management | - |
provision()
addToProvision()
stakeToProvision()
thaw()
/ deprovision()
thaw()
/ reprovision()
| provision()
addToProvision()
stakeToProvision()
thaw()
/ deprovision()
thaw()
/ reprovision()
|
| | Provision configuration | setOperator()
setDelegationParameters()
setOperator()
setDelegationFeeCut()
setProvisionParameters()
/ acceptProvisionParameters()
| setOperator()
setDelegationFeeCut()
setProvisionParameters()
/ acceptProvisionParameters()
|
| | Subgraph indexing registration and configuration | ServiceRegistry.register()
setRewardsDestination()
| SubgraphService.register()
SubgraphService.setPaymentsDestination()
| SubgraphService.register()
SubgraphService.setPaymentsDestination()
|
| | Allocation management | allocate()
closeAllocation()
| - SubgraphService.startService()
closeAllocation()
or SubgraphService.stopService()
SubgraphService.closeStaleAllocation()
SubgraphService.resizeAllocation()
| - SubgraphService.startService()
SubgraphService.stopService()
SubgraphService.closeStaleAllocation()
SubgraphService.resizeAllocation()
|
| | Payment collection | closeAllocation()
collect()
| - SubgraphService.collect()
SubgraphService.collect()
| - SubgraphService.collect()
SubgraphService.collect()
|
| | Delegation pool management | - | addToDelegationPool()
| addToDelegationPool()
|
| Delegators | Delegation management | delegate()
undelegate()
/ withdrawDelegated()
| - delegate()
undelegate()
/ withdrawDelegated()
or redelegate()
| - delegate()
undelegate()
/ withdrawDelegated()
or - redelegate()
|