TaiyiRestakingManager.sol

Manages validator registration and coordinates with EigenLayer Core for both Validator Service and Preconfirmation Service AVSs.

Key Responsibilities

  • Manages integration with restaking protocols (currently EigenLayer)
  • Entrypoint for validator registration and opt-in/out processes
  • Manages both PreconfirmerServiceManager and ValidatorServiceManager

Functions

registerValidator

function registerValidator(
    address operator,
    ISignatureUtils.SignatureWithSaltAndExpiry memory operatorSignature
) external

Registers a validator in the Taiyi protocol and calls the ValidatorServiceManager.registerOperatorToAVS function. Parameters:

NameTypeDescription
pubkeyBLS12381.G1PointThe BLS public key of the validator
signatureExpiryuint256Expiry timestamp for the signature
signatureBLS12381.G2PointBLS signature proving control of pubkey
delegateeaddressAddress of the delegatee for preconfirmations

deregisterValidator

function deregisterValidator(address operator) external

Deregisters a validator from the Taiyi protocol and calls the ValidatorServiceManager.deregisterOperatorToAVS function. Parameters:

NameTypeDescription
pubKeyHashbytes32Hash of validator’s BLS public key
signatureExpiryuint256Expiry timestamp for the signature
signatureBLS12381.G2PointBLS signature proving control of pubkey

registerDelegatee

function registerDelegatee(address delegatee) external

Registers an operator in the Taiyi protocol and calls the PreconfirmationServiceManager.registerOperatorToAVS function. Parameters:

NameTypeDescription
delegateeaddressThe address of the delegatee to register
delegateeSignatureISignatureUtils.SignatureWithSaltAndExpiryThe delegatee’s signed registration data

deregisterDelegatee

function deregisterDelegatee(address delegatee) external

Deregisters a delegatee from the Taiyi protocol and calls the PreconfirmationServiceManager.deregisterOperatorToAVS function. Parameters:

NameTypeDescription
delegateeaddressThe address of the delegatee to deregister

addRestakingProtocol

function addRestakingProtocol(address protocol) external

Adds a new restaking protocol integration. Parameters:

NameTypeDescription
protocoladdressThe address of the restaking protocol to add

removeRestakingProtocol

function removeRestakingProtocol(address protocol) external

Removes a restaking protocol integration. Parameters:

NameTypeDescription
protocoladdressThe address of the restaking protocol to remove

getSupportedRestakingProtocols

function getSupportedRestakingProtocols() external view returns (address[] memory)

Returns an array of supported restaking protocol addresses. Returns:

TypeDescription
address[]Array of supported restaking protocol addresses