Expand description
§What to re-export, what to hide?
- export contract struct itself, but try to avoid export instance type (instead, use ::new() to get a handle)
- avoid exporting
xxCallandxxReturntypes, they usually can be converted/transmuted from existing struct - Event types should be exported
- structs should be exported and renamed with
xxSolsuffix to avoid confusion with other rust types- see module doc for more explanation on types duplication issue in alloy
Generated by the following Solidity interface…
library BN254 {
type BaseField is uint256;
struct G1Point {
BaseField x;
BaseField y;
}
struct G2Point {
BaseField x0;
BaseField x1;
BaseField y0;
BaseField y1;
}
}
library EdOnBN254 {
struct EdOnBN254Point {
uint256 x;
uint256 y;
}
}
library StakeTable {
type ValidatorStatus is uint8;
}
interface StakeTableV2 {
struct InitialCommission {
address validator;
uint16 commission;
}
error AccessControlBadConfirmation();
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
error AddressEmptyCode(address target);
error BLSSigVerificationFailed();
error BN254PairingProdFailed();
error BlsKeyAlreadyUsed();
error CommissionAlreadyInitialized(address validator);
error CommissionIncreaseExceedsMax();
error CommissionUnchanged();
error CommissionUpdateTooSoon();
error DefaultAdminCannotBeRenounced();
error DefaultAdminCannotBeRevoked();
error DelegateAmountTooSmall();
error DeprecatedFunction();
error ERC1967InvalidImplementation(address implementation);
error ERC1967NonPayable();
error EnforcedPause();
error ExitEscrowPeriodInvalid();
error ExpectedPause();
error FailedInnerCall();
error InitialActiveStakeExceedsBalance();
error InsufficientAllowance(uint256, uint256);
error InsufficientBalance(uint256);
error InvalidCommission();
error InvalidG1();
error InvalidInitialization();
error InvalidMetadataUriLength();
error InvalidRateLimitParameters();
error InvalidSchnorrSig();
error InvalidSchnorrVK();
error MinDelegateAmountTooSmall();
error NoUndelegationFound();
error NotInitializing();
error NothingToWithdraw();
error OwnableInvalidOwner(address owner);
error OwnableUnauthorizedAccount(address account);
error OwnershipCannotBeRenounced();
error PowPrecompileFailed();
error PrematureWithdrawal();
error SchnorrKeyAlreadyUsed();
error UUPSUnauthorizedCallContext();
error UUPSUnsupportedProxiableUUID(bytes32 slot);
error UndelegationAlreadyExists();
error ValidatorAlreadyExited();
error ValidatorAlreadyRegistered();
error ValidatorInactive();
error ValidatorNotExited();
error ZeroAddress();
error ZeroAmount();
event CommissionUpdated(address indexed validator, uint256 timestamp, uint16 oldCommission, uint16 newCommission);
event ConsensusKeysUpdated(address indexed account, BN254.G2Point blsVK, EdOnBN254.EdOnBN254Point schnorrVK);
event ConsensusKeysUpdatedV2(address indexed account, BN254.G2Point blsVK, EdOnBN254.EdOnBN254Point schnorrVK, BN254.G1Point blsSig, bytes schnorrSig);
event Delegated(address indexed delegator, address indexed validator, uint256 amount);
event ExitEscrowPeriodUpdated(uint64 newExitEscrowPeriod);
event Initialized(uint64 version);
event MaxCommissionIncreaseUpdated(uint16 newMaxIncrease);
event MetadataUriUpdated(address indexed validator, string metadataUri);
event MinCommissionUpdateIntervalUpdated(uint256 newInterval);
event MinDelegateAmountUpdated(uint256 newMinDelegateAmount);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event Paused(address account);
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);
event Undelegated(address indexed delegator, address indexed validator, uint256 amount);
event UndelegatedV2(address indexed delegator, address indexed validator, uint64 indexed undelegationId, uint256 amount, uint256 unlocksAt);
event Unpaused(address account);
event Upgraded(address indexed implementation);
event ValidatorExit(address indexed validator);
event ValidatorExitClaimed(address indexed delegator, address indexed validator, uint256 amount);
event ValidatorExitV2(address indexed validator, uint256 unlocksAt);
event ValidatorRegistered(address indexed account, BN254.G2Point blsVk, EdOnBN254.EdOnBN254Point schnorrVk, uint16 commission);
event ValidatorRegisteredV2(address indexed account, BN254.G2Point blsVK, EdOnBN254.EdOnBN254Point schnorrVK, uint16 commission, BN254.G1Point blsSig, bytes schnorrSig, string metadataUri);
event Withdrawal(address indexed account, uint256 amount);
event WithdrawalClaimed(address indexed delegator, address indexed validator, uint64 indexed undelegationId, uint256 amount);
constructor();
function DEFAULT_ADMIN_ROLE() external view returns (bytes32);
function MAX_COMMISSION_BPS() external view returns (uint16);
function MAX_EXIT_ESCROW_PERIOD() external view returns (uint64);
function MAX_METADATA_URI_LENGTH() external view returns (uint256);
function MIN_EXIT_ESCROW_PERIOD() external view returns (uint64);
function PAUSER_ROLE() external view returns (bytes32);
function UPGRADE_INTERFACE_VERSION() external view returns (string memory);
function _hashBlsKey(BN254.G2Point memory blsVK) external pure returns (bytes32);
function activeStake() external view returns (uint256);
function blsKeys(bytes32 blsKeyHash) external view returns (bool used);
function claimValidatorExit(address validator) external;
function claimWithdrawal(address validator) external;
function commissionTracking(address validator) external view returns (uint16 commission, uint256 lastIncreaseTime);
function delegate(address validator, uint256 amount) external;
function delegations(address validator, address delegator) external view returns (uint256 amount);
function deregisterValidator() external;
function exitEscrowPeriod() external view returns (uint256);
function getRoleAdmin(bytes32 role) external view returns (bytes32);
function getUndelegation(address validator, address delegator) external view returns (uint64 id, uint256 amount, uint256 unlocksAt);
function getVersion() external pure returns (uint8 majorVersion, uint8 minorVersion, uint8 patchVersion);
function grantRole(bytes32 role, address account) external;
function hasRole(bytes32 role, address account) external view returns (bool);
function initialize(address _tokenAddress, address _lightClientAddress, uint256 _exitEscrowPeriod, address _timelock) external;
function initializeV2(address pauser, address admin, uint256 initialActiveStake, InitialCommission[] memory initialCommissions) external;
function initializedAtBlock() external view returns (uint256);
function lightClient() external view returns (address);
function maxCommissionIncrease() external view returns (uint16);
function minCommissionIncreaseInterval() external view returns (uint256);
function minDelegateAmount() external view returns (uint256);
function owner() external view returns (address);
function pause() external;
function paused() external view returns (bool);
function proxiableUUID() external view returns (bytes32);
function registerValidator(BN254.G2Point memory, EdOnBN254.EdOnBN254Point memory, BN254.G1Point memory, uint16) external pure;
function registerValidatorV2(BN254.G2Point memory blsVK, EdOnBN254.EdOnBN254Point memory schnorrVK, BN254.G1Point memory blsSig, bytes memory schnorrSig, uint16 commission, string memory metadataUri) external;
function renounceOwnership() external;
function renounceRole(bytes32 role, address callerConfirmation) external;
function revokeRole(bytes32 role, address account) external;
function schnorrKeys(bytes32 schnorrKey) external view returns (bool used);
function setMaxCommissionIncrease(uint16 newMaxIncrease) external;
function setMinCommissionUpdateInterval(uint256 newInterval) external;
function setMinDelegateAmount(uint256 newMinDelegateAmount) external;
function supportsInterface(bytes4 interfaceId) external view returns (bool);
function token() external view returns (address);
function transferOwnership(address newOwner) external;
function undelegate(address validator, uint256 amount) external;
function undelegations(address validator, address delegator) external view returns (uint256 amount, uint256 unlocksAt);
function unpause() external;
function updateCommission(uint16 newCommission) external;
function updateConsensusKeys(BN254.G2Point memory, EdOnBN254.EdOnBN254Point memory, BN254.G1Point memory) external pure;
function updateConsensusKeysV2(BN254.G2Point memory blsVK, EdOnBN254.EdOnBN254Point memory schnorrVK, BN254.G1Point memory blsSig, bytes memory schnorrSig) external;
function updateExitEscrowPeriod(uint64 newExitEscrowPeriod) external;
function updateMetadataUri(string memory metadataUri) external;
function upgradeToAndCall(address newImplementation, bytes memory data) external payable;
function validateMetadataUri(string memory metadataUri) external pure;
function validatorExits(address validator) external view returns (uint256 unlocksAt);
function validators(address account) external view returns (uint256 delegatedAmount, StakeTable.ValidatorStatus status);
}…which was generated by the following JSON ABI:
[
{
"type": "constructor",
"inputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "DEFAULT_ADMIN_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_COMMISSION_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_EXIT_ESCROW_PERIOD",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_METADATA_URI_LENGTH",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MIN_EXIT_ESCROW_PERIOD",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "PAUSER_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "UPGRADE_INTERFACE_VERSION",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "_hashBlsKey",
"inputs": [
{
"name": "blsVK",
"type": "tuple",
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "activeStake",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "blsKeys",
"inputs": [
{
"name": "blsKeyHash",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "used",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "claimValidatorExit",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "claimWithdrawal",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "commissionTracking",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "commission",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "lastIncreaseTime",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "delegate",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "delegations",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
},
{
"name": "delegator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "deregisterValidator",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "exitEscrowPeriod",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getRoleAdmin",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getUndelegation",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
},
{
"name": "delegator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "id",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "unlocksAt",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getVersion",
"inputs": [],
"outputs": [
{
"name": "majorVersion",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "minorVersion",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "patchVersion",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "grantRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "hasRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "initialize",
"inputs": [
{
"name": "_tokenAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_lightClientAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_exitEscrowPeriod",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_timelock",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "initializeV2",
"inputs": [
{
"name": "pauser",
"type": "address",
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"internalType": "address"
},
{
"name": "initialActiveStake",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialCommissions",
"type": "tuple[]",
"internalType": "struct StakeTableV2.InitialCommission[]",
"components": [
{
"name": "validator",
"type": "address",
"internalType": "address"
},
{
"name": "commission",
"type": "uint16",
"internalType": "uint16"
}
]
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "initializedAtBlock",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "lightClient",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ILightClient"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "maxCommissionIncrease",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "minCommissionIncreaseInterval",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "minDelegateAmount",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "owner",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "pause",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "paused",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "proxiableUUID",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "registerValidator",
"inputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct EdOnBN254.EdOnBN254Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "y",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct BN254.G1Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "registerValidatorV2",
"inputs": [
{
"name": "blsVK",
"type": "tuple",
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrVK",
"type": "tuple",
"internalType": "struct EdOnBN254.EdOnBN254Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "y",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "blsSig",
"type": "tuple",
"internalType": "struct BN254.G1Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrSig",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "commission",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "metadataUri",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "renounceOwnership",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "renounceRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "callerConfirmation",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "revokeRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "schnorrKeys",
"inputs": [
{
"name": "schnorrKey",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "used",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "setMaxCommissionIncrease",
"inputs": [
{
"name": "newMaxIncrease",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setMinCommissionUpdateInterval",
"inputs": [
{
"name": "newInterval",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setMinDelegateAmount",
"inputs": [
{
"name": "newMinDelegateAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "supportsInterface",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "token",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ERC20"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "transferOwnership",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "undelegate",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "undelegations",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
},
{
"name": "delegator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "unlocksAt",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "unpause",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateCommission",
"inputs": [
{
"name": "newCommission",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateConsensusKeys",
"inputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct EdOnBN254.EdOnBN254Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "y",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "",
"type": "tuple",
"internalType": "struct BN254.G1Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "updateConsensusKeysV2",
"inputs": [
{
"name": "blsVK",
"type": "tuple",
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrVK",
"type": "tuple",
"internalType": "struct EdOnBN254.EdOnBN254Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "y",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "blsSig",
"type": "tuple",
"internalType": "struct BN254.G1Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrSig",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateExitEscrowPeriod",
"inputs": [
{
"name": "newExitEscrowPeriod",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "updateMetadataUri",
"inputs": [
{
"name": "metadataUri",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "upgradeToAndCall",
"inputs": [
{
"name": "newImplementation",
"type": "address",
"internalType": "address"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "validateMetadataUri",
"inputs": [
{
"name": "metadataUri",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "validatorExits",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "unlocksAt",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "validators",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "delegatedAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "status",
"type": "uint8",
"internalType": "enum StakeTable.ValidatorStatus"
}
],
"stateMutability": "view"
},
{
"type": "event",
"name": "CommissionUpdated",
"inputs": [
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "timestamp",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "oldCommission",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "newCommission",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ConsensusKeysUpdated",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "blsVK",
"type": "tuple",
"indexed": false,
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrVK",
"type": "tuple",
"indexed": false,
"internalType": "struct EdOnBN254.EdOnBN254Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "y",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"anonymous": false
},
{
"type": "event",
"name": "ConsensusKeysUpdatedV2",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "blsVK",
"type": "tuple",
"indexed": false,
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrVK",
"type": "tuple",
"indexed": false,
"internalType": "struct EdOnBN254.EdOnBN254Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "y",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "blsSig",
"type": "tuple",
"indexed": false,
"internalType": "struct BN254.G1Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrSig",
"type": "bytes",
"indexed": false,
"internalType": "bytes"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Delegated",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ExitEscrowPeriodUpdated",
"inputs": [
{
"name": "newExitEscrowPeriod",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Initialized",
"inputs": [
{
"name": "version",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MaxCommissionIncreaseUpdated",
"inputs": [
{
"name": "newMaxIncrease",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MetadataUriUpdated",
"inputs": [
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "metadataUri",
"type": "string",
"indexed": false,
"internalType": "string"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MinCommissionUpdateIntervalUpdated",
"inputs": [
{
"name": "newInterval",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MinDelegateAmountUpdated",
"inputs": [
{
"name": "newMinDelegateAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipTransferred",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Paused",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleAdminChanged",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "previousAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "newAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleGranted",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleRevoked",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Undelegated",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "UndelegatedV2",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "undelegationId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "unlocksAt",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Unpaused",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Upgraded",
"inputs": [
{
"name": "implementation",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ValidatorExit",
"inputs": [
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ValidatorExitClaimed",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ValidatorExitV2",
"inputs": [
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "unlocksAt",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ValidatorRegistered",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "blsVk",
"type": "tuple",
"indexed": false,
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrVk",
"type": "tuple",
"indexed": false,
"internalType": "struct EdOnBN254.EdOnBN254Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "y",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "commission",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ValidatorRegisteredV2",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "blsVK",
"type": "tuple",
"indexed": false,
"internalType": "struct BN254.G2Point",
"components": [
{
"name": "x0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "x1",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y0",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y1",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrVK",
"type": "tuple",
"indexed": false,
"internalType": "struct EdOnBN254.EdOnBN254Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "y",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "commission",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "blsSig",
"type": "tuple",
"indexed": false,
"internalType": "struct BN254.G1Point",
"components": [
{
"name": "x",
"type": "uint256",
"internalType": "BN254.BaseField"
},
{
"name": "y",
"type": "uint256",
"internalType": "BN254.BaseField"
}
]
},
{
"name": "schnorrSig",
"type": "bytes",
"indexed": false,
"internalType": "bytes"
},
{
"name": "metadataUri",
"type": "string",
"indexed": false,
"internalType": "string"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Withdrawal",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "WithdrawalClaimed",
"inputs": [
{
"name": "delegator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "validator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "undelegationId",
"type": "uint64",
"indexed": true,
"internalType": "uint64"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AccessControlBadConfirmation",
"inputs": []
},
{
"type": "error",
"name": "AccessControlUnauthorizedAccount",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "neededRole",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"type": "error",
"name": "AddressEmptyCode",
"inputs": [
{
"name": "target",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "BLSSigVerificationFailed",
"inputs": []
},
{
"type": "error",
"name": "BN254PairingProdFailed",
"inputs": []
},
{
"type": "error",
"name": "BlsKeyAlreadyUsed",
"inputs": []
},
{
"type": "error",
"name": "CommissionAlreadyInitialized",
"inputs": [
{
"name": "validator",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "CommissionIncreaseExceedsMax",
"inputs": []
},
{
"type": "error",
"name": "CommissionUnchanged",
"inputs": []
},
{
"type": "error",
"name": "CommissionUpdateTooSoon",
"inputs": []
},
{
"type": "error",
"name": "DefaultAdminCannotBeRenounced",
"inputs": []
},
{
"type": "error",
"name": "DefaultAdminCannotBeRevoked",
"inputs": []
},
{
"type": "error",
"name": "DelegateAmountTooSmall",
"inputs": []
},
{
"type": "error",
"name": "DeprecatedFunction",
"inputs": []
},
{
"type": "error",
"name": "ERC1967InvalidImplementation",
"inputs": [
{
"name": "implementation",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "ERC1967NonPayable",
"inputs": []
},
{
"type": "error",
"name": "EnforcedPause",
"inputs": []
},
{
"type": "error",
"name": "ExitEscrowPeriodInvalid",
"inputs": []
},
{
"type": "error",
"name": "ExpectedPause",
"inputs": []
},
{
"type": "error",
"name": "FailedInnerCall",
"inputs": []
},
{
"type": "error",
"name": "InitialActiveStakeExceedsBalance",
"inputs": []
},
{
"type": "error",
"name": "InsufficientAllowance",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "InsufficientBalance",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "InvalidCommission",
"inputs": []
},
{
"type": "error",
"name": "InvalidG1",
"inputs": []
},
{
"type": "error",
"name": "InvalidInitialization",
"inputs": []
},
{
"type": "error",
"name": "InvalidMetadataUriLength",
"inputs": []
},
{
"type": "error",
"name": "InvalidRateLimitParameters",
"inputs": []
},
{
"type": "error",
"name": "InvalidSchnorrSig",
"inputs": []
},
{
"type": "error",
"name": "InvalidSchnorrVK",
"inputs": []
},
{
"type": "error",
"name": "MinDelegateAmountTooSmall",
"inputs": []
},
{
"type": "error",
"name": "NoUndelegationFound",
"inputs": []
},
{
"type": "error",
"name": "NotInitializing",
"inputs": []
},
{
"type": "error",
"name": "NothingToWithdraw",
"inputs": []
},
{
"type": "error",
"name": "OwnableInvalidOwner",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "OwnableUnauthorizedAccount",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "OwnershipCannotBeRenounced",
"inputs": []
},
{
"type": "error",
"name": "PowPrecompileFailed",
"inputs": []
},
{
"type": "error",
"name": "PrematureWithdrawal",
"inputs": []
},
{
"type": "error",
"name": "SchnorrKeyAlreadyUsed",
"inputs": []
},
{
"type": "error",
"name": "UUPSUnauthorizedCallContext",
"inputs": []
},
{
"type": "error",
"name": "UUPSUnsupportedProxiableUUID",
"inputs": [
{
"name": "slot",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"type": "error",
"name": "UndelegationAlreadyExists",
"inputs": []
},
{
"type": "error",
"name": "ValidatorAlreadyExited",
"inputs": []
},
{
"type": "error",
"name": "ValidatorAlreadyRegistered",
"inputs": []
},
{
"type": "error",
"name": "ValidatorInactive",
"inputs": []
},
{
"type": "error",
"name": "ValidatorNotExited",
"inputs": []
},
{
"type": "error",
"name": "ZeroAddress",
"inputs": []
},
{
"type": "error",
"name": "ZeroAmount",
"inputs": []
}
]Structs§
- Access
Control BadConfirmation - Custom error with signature
AccessControlBadConfirmation()and selector0x6697b232. - Access
Control Unauthorized Account - Custom error with signature
AccessControlUnauthorizedAccount(address,bytes32)and selector0xe2517d3f. - Address
Empty Code - Custom error with signature
AddressEmptyCode(address)and selector0x9996b315. - BLSSig
Verification Failed - Custom error with signature
BLSSigVerificationFailed()and selector0x0ced3e50. - BN254
Pairing Prod Failed - Custom error with signature
BN254PairingProdFailed()and selector0xc206334f. - BlsKey
Already Used - Custom error with signature
BlsKeyAlreadyUsed()and selector0x01b514ae. - Commission
Already Initialized - Custom error with signature
CommissionAlreadyInitialized(address)and selector0x50814e10. - Commission
Increase Exceeds Max - Custom error with signature
CommissionIncreaseExceedsMax()and selector0x25ad48ca. - Commission
Unchanged - Custom error with signature
CommissionUnchanged()and selector0xc20bac94. - Commission
Update TooSoon - Custom error with signature
CommissionUpdateTooSoon()and selector0x16eb94cb. - Commission
Updated - Event with signature
CommissionUpdated(address,uint256,uint16,uint16)and selector0xbd8d76fccab39db7064bc007d9a2c83a98247dcb1087cc12f343b8be90aefd64. - Consensus
Keys Updated - Event with signature
ConsensusKeysUpdated(address,(uint256,uint256,uint256,uint256),(uint256,uint256))and selector0x80d8a4a1663328a998d4555ba21d8bba6ef1576a8c5e9d27f9c545f1a3d52b1d. - Consensus
Keys Updated V2 - Event with signature
ConsensusKeysUpdatedV2(address,(uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),bytes)and selector0xc8c5b37aec7f2ddbd3a13c51361e54a0a8df3bca256ab758a77f5ad741d281e5. - DEFAULT_
ADMIN_ ROLE Call - Function with signature
DEFAULT_ADMIN_ROLE()and selector0xa217fddf. - DEFAULT_
ADMIN_ ROLE Return - Container type for the return parameters of the
DEFAULT_ADMIN_ROLE()function. - Default
Admin Cannot BeRenounced - Custom error with signature
DefaultAdminCannotBeRenounced()and selector0x8b78631d. - Default
Admin Cannot BeRevoked - Custom error with signature
DefaultAdminCannotBeRevoked()and selector0xb0b5fb99. - Delegate
Amount TooSmall - Custom error with signature
DelegateAmountTooSmall()and selector0x7d298731. - Delegated
- Event with signature
Delegated(address,address,uint256)and selector0xe5541a6b6103d4fa7e021ed54fad39c66f27a76bd13d374cf6240ae6bd0bb72b. - Deprecated
Function - Custom error with signature
DeprecatedFunction()and selector0xc2d7f813. - ERC1967
Invalid Implementation - Custom error with signature
ERC1967InvalidImplementation(address)and selector0x4c9c8ce3. - ERC1967
NonPayable - Custom error with signature
ERC1967NonPayable()and selector0xb398979f. - Enforced
Pause - Custom error with signature
EnforcedPause()and selector0xd93c0665. - Exit
Escrow Period Invalid - Custom error with signature
ExitEscrowPeriodInvalid()and selector0xb57e21df. - Exit
Escrow Period Updated - Event with signature
ExitEscrowPeriodUpdated(uint64)and selector0x793e3b1e1bcd677bb11900c83124d3c44c9946ea8ddf978a0ca250b034ec9dde. - Expected
Pause - Custom error with signature
ExpectedPause()and selector0x8dfc202b. - Failed
Inner Call - Custom error with signature
FailedInnerCall()and selector0x1425ea42. - Initial
Active Stake Exceeds Balance - Custom error with signature
InitialActiveStakeExceedsBalance()and selector0x7b269e92. - Initial
Commission - Initialized
- Event with signature
Initialized(uint64)and selector0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2. - Insufficient
Allowance - Custom error with signature
InsufficientAllowance(uint256,uint256)and selector0x2a1b2dd8. - Insufficient
Balance - Custom error with signature
InsufficientBalance(uint256)and selector0x92665351. - Invalid
Commission - Custom error with signature
InvalidCommission()and selector0xdc81db85. - Invalid
G1 - Custom error with signature
InvalidG1()and selector0x9e78d14c. - Invalid
Initialization - Custom error with signature
InvalidInitialization()and selector0xf92ee8a9. - Invalid
Metadata UriLength - Custom error with signature
InvalidMetadataUriLength()and selector0x239ff57f. - Invalid
Rate Limit Parameters - Custom error with signature
InvalidRateLimitParameters()and selector0x674e8ef3. - Invalid
Schnorr Sig - Custom error with signature
InvalidSchnorrSig()and selector0x42470687. - Invalid
SchnorrVK - Custom error with signature
InvalidSchnorrVK()and selector0x06cf438f. - MAX_
COMMISSION_ BPSCall - Function with signature
MAX_COMMISSION_BPS()and selector0xe62977f8. - MAX_
COMMISSION_ BPSReturn - Container type for the return parameters of the
MAX_COMMISSION_BPS()function. - MAX_
EXIT_ ESCROW_ PERIOD Call - Function with signature
MAX_EXIT_ESCROW_PERIOD()and selector0xe4d1fb94. - MAX_
EXIT_ ESCROW_ PERIOD Return - Container type for the return parameters of the
MAX_EXIT_ESCROW_PERIOD()function. - MAX_
METADATA_ URI_ LENGTH Call - Function with signature
MAX_METADATA_URI_LENGTH()and selector0x2fe28759. - MAX_
METADATA_ URI_ LENGTH Return - Container type for the return parameters of the
MAX_METADATA_URI_LENGTH()function. - MIN_
EXIT_ ESCROW_ PERIOD Call - Function with signature
MIN_EXIT_ESCROW_PERIOD()and selector0x6ad28e9f. - MIN_
EXIT_ ESCROW_ PERIOD Return - Container type for the return parameters of the
MIN_EXIT_ESCROW_PERIOD()function. - MaxCommission
Increase Updated - Event with signature
MaxCommissionIncreaseUpdated(uint16)and selector0xbe5b47be76500fea510ce219178b6e63695b6641dad0d3a0486455cea10aedfd. - Metadata
UriUpdated - Event with signature
MetadataUriUpdated(address,string)and selector0x20cc45d5c7c8916ce9fd33f096614497e0b2897d9ab503926afa411527c96c34. - MinCommission
Update Interval Updated - Event with signature
MinCommissionUpdateIntervalUpdated(uint256)and selector0x51d9fefdd48191bc75ab12116d5e5181964799a639e1ee31b0998ffaaf9ef259. - MinDelegate
Amount TooSmall - Custom error with signature
MinDelegateAmountTooSmall()and selector0x90b8678a. - MinDelegate
Amount Updated - Event with signature
MinDelegateAmountUpdated(uint256)and selector0x02cd8ef316564ca78b75bf239c0a630008374c1fb1d26d941a6e9b19e42b2aa5. - NoUndelegation
Found - Custom error with signature
NoUndelegationFound()and selector0xb524fd6a. - NotInitializing
- Custom error with signature
NotInitializing()and selector0xd7e6bcf8. - Nothing
ToWithdraw - Custom error with signature
NothingToWithdraw()and selector0xd0d04f60. - Ownable
Invalid Owner - Custom error with signature
OwnableInvalidOwner(address)and selector0x1e4fbdf7. - Ownable
Unauthorized Account - Custom error with signature
OwnableUnauthorizedAccount(address)and selector0x118cdaa7. - Ownership
Cannot BeRenounced - Custom error with signature
OwnershipCannotBeRenounced()and selector0x2fab92ca. - Ownership
Transferred - Event with signature
OwnershipTransferred(address,address)and selector0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. - PAUSER_
ROLE Call - Function with signature
PAUSER_ROLE()and selector0xe63ab1e9. - PAUSER_
ROLE Return - Container type for the return parameters of the
PAUSER_ROLE()function. - Paused
- Event with signature
Paused(address)and selector0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258. - PowPrecompile
Failed - Custom error with signature
PowPrecompileFailed()and selector0x3274fa64. - Premature
Withdrawal - Custom error with signature
PrematureWithdrawal()and selector0x5a774357. - Role
Admin Changed - Event with signature
RoleAdminChanged(bytes32,bytes32,bytes32)and selector0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. - Role
Granted - Event with signature
RoleGranted(bytes32,address,address)and selector0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. - Role
Revoked - Event with signature
RoleRevoked(bytes32,address,address)and selector0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. - Schnorr
KeyAlready Used - Custom error with signature
SchnorrKeyAlreadyUsed()and selector0xae493b03. - Stake
Table V2Instance - A
StakeTableV2instance. - UPGRADE_
INTERFACE_ VERSION Call - Function with signature
UPGRADE_INTERFACE_VERSION()and selector0xad3cb1cc. - UPGRADE_
INTERFACE_ VERSION Return - Container type for the return parameters of the
UPGRADE_INTERFACE_VERSION()function. - UUPS
Unauthorized Call Context - Custom error with signature
UUPSUnauthorizedCallContext()and selector0xe07c8dba. - UUPS
Unsupported ProxiableUUID - Custom error with signature
UUPSUnsupportedProxiableUUID(bytes32)and selector0xaa1d49a4. - Undelegated
- Event with signature
Undelegated(address,address,uint256)and selector0x4d10bd049775c77bd7f255195afba5088028ecb3c7c277d393ccff7934f2f92c. - Undelegated
V2 - Event with signature
UndelegatedV2(address,address,uint64,uint256,uint256)and selector0x708346d7524330f8414e201104921a4ab333304dbe56330ac22dd37af81431da. - Undelegation
Already Exists - Custom error with signature
UndelegationAlreadyExists()and selector0xd423a4f1. - Unpaused
- Event with signature
Unpaused(address)and selector0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa. - Upgraded
- Event with signature
Upgraded(address)and selector0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b. - Validator
Already Exited - Custom error with signature
ValidatorAlreadyExited()and selector0xeab4a963. - Validator
Already Registered - Custom error with signature
ValidatorAlreadyRegistered()and selector0x9973f7d8. - Validator
Exit - Event with signature
ValidatorExit(address)and selector0xfb24305354c87762d557487ae4a564e8d03ecbb9a97dd8afff8e1f6fcaf0dd16. - Validator
Exit Claimed - Event with signature
ValidatorExitClaimed(address,address,uint256)and selector0x8ada120f8224db804365adf64eb2ec67fd4c74b1e70b2e4132f633004adad844. - Validator
Exit V2 - Event with signature
ValidatorExitV2(address,uint256)and selector0x4e61e872ca9f0a4313eb81c3e8aed2370c89d643593911afdd330e71f0c47eab. - Validator
Inactive - Custom error with signature
ValidatorInactive()and selector0x508a793f. - Validator
NotExited - Custom error with signature
ValidatorNotExited()and selector0xf25314a6. - Validator
Registered - Event with signature
ValidatorRegistered(address,(uint256,uint256,uint256,uint256),(uint256,uint256),uint16)and selector0xf6e8359c57520b469634736bfc3bb7ec5cbd1a0bd28b10a8275793bb730b797f. - Validator
Registered V2 - Event with signature
ValidatorRegisteredV2(address,(uint256,uint256,uint256,uint256),(uint256,uint256),uint16,(uint256,uint256),bytes,string)and selector0x26def174fce8147f56017d095bf39cdf2b9728f91ab2f274974a2fd97b268489. - Withdrawal
- Event with signature
Withdrawal(address,uint256)and selector0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65. - Withdrawal
Claimed - Event with signature
WithdrawalClaimed(address,address,uint64,uint256)and selector0xb79df40ab5a542878bca407295042dd18296fcc115d5ca8d9db29acbf74a8522. - Zero
Address - Custom error with signature
ZeroAddress()and selector0xd92e233d. - Zero
Amount - Custom error with signature
ZeroAmount()and selector0x1f2a2005. - _hash
BlsKey Call - Function with signature
_hashBlsKey((uint256,uint256,uint256,uint256))and selector0x9b30a5e6. - _hash
BlsKey Return - Container type for the return parameters of the
_hashBlsKey((uint256,uint256,uint256,uint256))function. - active
Stake Call - Function with signature
activeStake()and selector0xbd49c35f. - active
Stake Return - Container type for the return parameters of the
activeStake()function. - blsKeys
Call - Function with signature
blsKeys(bytes32)and selector0xb3e6ebd5. - blsKeys
Return - Container type for the return parameters of the
blsKeys(bytes32)function. - claim
Validator Exit Call - Function with signature
claimValidatorExit(address)and selector0x2140fecd. - claim
Validator Exit Return - Container type for the return parameters of the
claimValidatorExit(address)function. - claim
Withdrawal Call - Function with signature
claimWithdrawal(address)and selector0xa3066aab. - claim
Withdrawal Return - Container type for the return parameters of the
claimWithdrawal(address)function. - commission
Tracking Call - Function with signature
commissionTracking(address)and selector0x9ffb6b43. - commission
Tracking Return - Container type for the return parameters of the
commissionTracking(address)function. - constructor
Call - Constructor`.
- delegate
Call - Function with signature
delegate(address,uint256)and selector0x026e402b. - delegate
Return - Container type for the return parameters of the
delegate(address,uint256)function. - delegations
Call - Function with signature
delegations(address,address)and selector0xc64814dd. - delegations
Return - Container type for the return parameters of the
delegations(address,address)function. - deregister
Validator Call - Function with signature
deregisterValidator()and selector0x6a911ccf. - deregister
Validator Return - Container type for the return parameters of the
deregisterValidator()function. - exit
Escrow Period Call - Function with signature
exitEscrowPeriod()and selector0x9e9a8f31. - exit
Escrow Period Return - Container type for the return parameters of the
exitEscrowPeriod()function. - getRole
Admin Call - Function with signature
getRoleAdmin(bytes32)and selector0x248a9ca3. - getRole
Admin Return - Container type for the return parameters of the
getRoleAdmin(bytes32)function. - getUndelegation
Call - Function with signature
getUndelegation(address,address)and selector0xbb60bfb0. - getUndelegation
Return - Container type for the return parameters of the
getUndelegation(address,address)function. - getVersion
Call - Function with signature
getVersion()and selector0x0d8e6e2c. - getVersion
Return - Container type for the return parameters of the
getVersion()function. - grant
Role Call - Function with signature
grantRole(bytes32,address)and selector0x2f2ff15d. - grant
Role Return - Container type for the return parameters of the
grantRole(bytes32,address)function. - hasRole
Call - Function with signature
hasRole(bytes32,address)and selector0x91d14854. - hasRole
Return - Container type for the return parameters of the
hasRole(bytes32,address)function. - initialize
Call - Function with signature
initialize(address,address,uint256,address)and selector0xbe203094. - initialize
Return - Container type for the return parameters of the
initialize(address,address,uint256,address)function. - initialize
V2Call - Function with signature
initializeV2(address,address,uint256,(address,uint16)[])and selector0x52780b6e. - initialize
V2Return - Container type for the return parameters of the
initializeV2(address,address,uint256,(address,uint16)[])function. - initialized
AtBlock Call - Function with signature
initializedAtBlock()and selector0x3e9df9b5. - initialized
AtBlock Return - Container type for the return parameters of the
initializedAtBlock()function. - light
Client Call - Function with signature
lightClient()and selector0xb5700e68. - light
Client Return - Container type for the return parameters of the
lightClient()function. - maxCommission
Increase Call - Function with signature
maxCommissionIncrease()and selector0x3f3bb366. - maxCommission
Increase Return - Container type for the return parameters of the
maxCommissionIncrease()function. - minCommission
Increase Interval Call - Function with signature
minCommissionIncreaseInterval()and selector0xd9cc7d26. - minCommission
Increase Interval Return - Container type for the return parameters of the
minCommissionIncreaseInterval()function. - minDelegate
Amount Call - Function with signature
minDelegateAmount()and selector0x72e9c934. - minDelegate
Amount Return - Container type for the return parameters of the
minDelegateAmount()function. - owner
Call - Function with signature
owner()and selector0x8da5cb5b. - owner
Return - Container type for the return parameters of the
owner()function. - pause
Call - Function with signature
pause()and selector0x8456cb59. - pause
Return - Container type for the return parameters of the
pause()function. - paused
Call - Function with signature
paused()and selector0x5c975abb. - paused
Return - Container type for the return parameters of the
paused()function. - proxiableUUID
Call - Function with signature
proxiableUUID()and selector0x52d1902d. - proxiableUUID
Return - Container type for the return parameters of the
proxiableUUID()function. - register
Validator Call - Function with signature
registerValidator((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),uint16)and selector0x13b9057a. - register
Validator Return - Container type for the return parameters of the
registerValidator((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),uint16)function. - register
Validator V2Call - Function with signature
registerValidatorV2((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),bytes,uint16,string)and selector0x2b9e5c8a. - register
Validator V2Return - Container type for the return parameters of the
registerValidatorV2((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),bytes,uint16,string)function. - renounce
Ownership Call - Function with signature
renounceOwnership()and selector0x715018a6. - renounce
Ownership Return - Container type for the return parameters of the
renounceOwnership()function. - renounce
Role Call - Function with signature
renounceRole(bytes32,address)and selector0x36568abe. - renounce
Role Return - Container type for the return parameters of the
renounceRole(bytes32,address)function. - revoke
Role Call - Function with signature
revokeRole(bytes32,address)and selector0xd547741f. - revoke
Role Return - Container type for the return parameters of the
revokeRole(bytes32,address)function. - schnorr
Keys Call - Function with signature
schnorrKeys(bytes32)and selector0x5f8754a6. - schnorr
Keys Return - Container type for the return parameters of the
schnorrKeys(bytes32)function. - setMax
Commission Increase Call - Function with signature
setMaxCommissionIncrease(uint16)and selector0x2dc9bac6. - setMax
Commission Increase Return - Container type for the return parameters of the
setMaxCommissionIncrease(uint16)function. - setMin
Commission Update Interval Call - Function with signature
setMinCommissionUpdateInterval(uint256)and selector0x394b348f. - setMin
Commission Update Interval Return - Container type for the return parameters of the
setMinCommissionUpdateInterval(uint256)function. - setMin
Delegate Amount Call - Function with signature
setMinDelegateAmount(uint256)and selector0x3e732eba. - setMin
Delegate Amount Return - Container type for the return parameters of the
setMinDelegateAmount(uint256)function. - supports
Interface Call - Function with signature
supportsInterface(bytes4)and selector0x01ffc9a7. - supports
Interface Return - Container type for the return parameters of the
supportsInterface(bytes4)function. - token
Call - Function with signature
token()and selector0xfc0c546a. - token
Return - Container type for the return parameters of the
token()function. - transfer
Ownership Call - Function with signature
transferOwnership(address)and selector0xf2fde38b. - transfer
Ownership Return - Container type for the return parameters of the
transferOwnership(address)function. - undelegate
Call - Function with signature
undelegate(address,uint256)and selector0x4d99dd16. - undelegate
Return - Container type for the return parameters of the
undelegate(address,uint256)function. - undelegations
Call - Function with signature
undelegations(address,address)and selector0xa2d78dd5. - undelegations
Return - Container type for the return parameters of the
undelegations(address,address)function. - unpause
Call - Function with signature
unpause()and selector0x3f4ba83a. - unpause
Return - Container type for the return parameters of the
unpause()function. - update
Commission Call - Function with signature
updateCommission(uint16)and selector0x3b2b7ffa. - update
Commission Return - Container type for the return parameters of the
updateCommission(uint16)function. - update
Consensus Keys Call - Function with signature
updateConsensusKeys((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256))and selector0x5544c2f1. - update
Consensus Keys Return - Container type for the return parameters of the
updateConsensusKeys((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256))function. - update
Consensus Keys V2Call - Function with signature
updateConsensusKeysV2((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),bytes)and selector0xac5c2ad0. - update
Consensus Keys V2Return - Container type for the return parameters of the
updateConsensusKeysV2((uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256),bytes)function. - update
Exit Escrow Period Call - Function with signature
updateExitEscrowPeriod(uint64)and selector0x1a20cd63. - update
Exit Escrow Period Return - Container type for the return parameters of the
updateExitEscrowPeriod(uint64)function. - update
Metadata UriCall - Function with signature
updateMetadataUri(string)and selector0x870c8f26. - update
Metadata UriReturn - Container type for the return parameters of the
updateMetadataUri(string)function. - upgrade
ToAnd Call Call - Function with signature
upgradeToAndCall(address,bytes)and selector0x4f1ef286. - upgrade
ToAnd Call Return - Container type for the return parameters of the
upgradeToAndCall(address,bytes)function. - validate
Metadata UriCall - Function with signature
validateMetadataUri(string)and selector0xe3f237e6. - validate
Metadata UriReturn - Container type for the return parameters of the
validateMetadataUri(string)function. - validator
Exits Call - Function with signature
validatorExits(address)and selector0xb5ecb344. - validator
Exits Return - Container type for the return parameters of the
validatorExits(address)function. - validators
Call - Function with signature
validators(address)and selector0xfa52c7d8. - validators
Return - Container type for the return parameters of the
validators(address)function.
Enums§
- Stake
Table V2Calls - Container for all the
StakeTableV2function calls. - Stake
Table V2Errors - Container for all the
StakeTableV2custom errors. - Stake
Table V2Events - Container for all the
StakeTableV2events.
Statics§
- BYTECODE
- The creation / init bytecode of the contract.
- DEPLOYED_
BYTECODE - The runtime bytecode of the contract, as deployed on the network.
Functions§
- deploy
- Deploys this contract using the given
providerand constructor arguments, if any. - deploy_
builder - Creates a
RawCallBuilderfor deploying this contract using the givenproviderand constructor arguments, if any. - new
- Creates a new wrapper around an on-chain
StakeTableV2contract instance.