Skip to content

Helpful Core Contracts' Endpoints

This page provides a list of useful in practice functions for a Network across Symbiotic Core contracts.

FunctionUse-case
NetworkRegistry.registerNetwork()Register network
Vault.isInitialized() → boolCheck if the vault has set delegator and slasher before on-boarding as a valid Vault
Vault.delegator() → addressGet the Vault's delegator
Vault.slasher() → addressGet the Vault's slasher
BaseDelegator.TYPE() → uint64Get the delegator's type (0 - NetworkRestake, 1 - FullRestake, etc.)
BaseDelegator.setMaxNetworkLimit(uint96 identifier, uint256 amount)Set an amount of collateral you are ready to accept from the Vault (maximum network limit)
BaseDelegator.maxNetworkLimit(bytes32 subnetwork) → uint256Check the maximum network limit
BaseDelegator.stakeAt(bytes32 subnetwork, address operator, uint48 timestamp, bytes hints) → uint256Get the operator's stake at the given timestamp
BaseSlasher.TYPE() → uint64Get the slasher's type (0 - Slasher, 1 - VetoSlasher)
BaseSlasher.slashableStake() → uint256Get the operator's still slashable stake captured at the given timestamp
Slasher.slash() → uint256Slash the operator
VetoSlasher.requestSlash(bytes32 subnetwork, address operator, uint256 amount, uint48 captureTimestamp, bytes hints) -> uint256Request slashing of the operator
VetoSlasher.executeSlash(uint256 slashIndex, bytes hints) -> uint256Execute slashing of the operator
VetoSlasher.setResolver(uint96 identifier, address resolver, bytes hints)Set a resolver
VetoSlasher.resolver(bytes32 subnetwork, bytes hint)Check the resolver