Skip to main content

contracts/abis/mainnet/PufferProtocol

Variables

PufferProtocol

const PufferProtocol: readonly [{ inputs: readonly [{ internalType: "contract PufferVaultV2"; name: "pufferVault"; type: "address"; }, { internalType: "contract IGuardianModule"; name: "guardianModule"; type: "address"; }, { internalType: "address"; name: "moduleManager"; type: "address"; }, { internalType: "contract ValidatorTicket"; name: "validatorTicket"; type: "address"; }, { internalType: "contract IPufferOracleV2"; name: "oracle"; type: "address"; }, { internalType: "address"; name: "beaconDepositContract"; type: "address"; }]; stateMutability: "nonpayable"; type: "constructor"; }, { inputs: readonly [{ components: readonly [{ internalType: "address"; name: "module"; type: "address"; }, { internalType: "uint256"; name: "startEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "endEpoch"; type: "uint256"; }, { internalType: "bool"; name: "wasSlashed"; type: "bool"; }, { internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }, { internalType: "uint256"; name: "pufferModuleIndex"; type: "uint256"; }, { internalType: "uint256"; name: "withdrawalAmount"; type: "uint256"; }]; internalType: "struct StoppedValidatorInfo[]"; name: "validatorInfos"; type: "tuple[]"; }, { internalType: "bytes[]"; name: "guardianEOASignatures"; type: "bytes[]"; }]; name: "batchHandleWithdrawals"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }]; name: "createPufferModule"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ components: readonly [{ internalType: "uint256"; name: "deadline"; type: "uint256"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }, { internalType: "uint8"; name: "v"; type: "uint8"; }, { internalType: "bytes32"; name: "r"; type: "bytes32"; }, { internalType: "bytes32"; name: "s"; type: "bytes32"; }]; internalType: "struct Permit"; name: "permit"; type: "tuple"; }, { internalType: "address"; name: "node"; type: "address"; }]; name: "depositValidatorTickets"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "bytes"; name: "pubKey"; type: "bytes"; }, { internalType: "bytes"; name: "signature"; type: "bytes"; }, { internalType: "bytes"; name: "withdrawalCredentials"; type: "bytes"; }]; name: "getDepositDataRoot"; outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32"; }]; stateMutability: "pure"; type: "function"; }, { inputs: readonly []; name: "getMinimumVtAmount"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }]; name: "getModuleAddress"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }]; name: "getModuleLimitInformation"; outputs: readonly [{ components: readonly [{ internalType: "uint128"; name: "allowedLimit"; type: "uint128"; }, { internalType: "uint128"; name: "numberOfRegisteredValidators"; type: "uint128"; }]; internalType: "struct ModuleLimit"; name: "info"; type: "tuple"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "getModuleWeights"; outputs: readonly [{ internalType: "bytes32[]"; name: ""; type: "bytes32[]"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "getNextValidatorToProvision"; outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32"; }, { internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "address"; name: "node"; type: "address"; }]; name: "getNodeInfo"; outputs: readonly [{ components: readonly [{ internalType: "uint64"; name: "activeValidatorCount"; type: "uint64"; }, { internalType: "uint64"; name: "pendingValidatorCount"; type: "uint64"; }, { internalType: "uint96"; name: "vtBalance"; type: "uint96"; }]; internalType: "struct NodeInfo"; name: ""; type: "tuple"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "getVTPenalty"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }, { internalType: "uint256"; name: "pufferModuleIndex"; type: "uint256"; }]; name: "getValidatorInfo"; outputs: readonly [{ components: readonly [{ internalType: "address"; name: "node"; type: "address"; }, { internalType: "uint96"; name: "bond"; type: "uint96"; }, { internalType: "address"; name: "module"; type: "address"; }, { internalType: "enum Status"; name: "status"; type: "uint8"; }, { internalType: "bytes"; name: "pubKey"; type: "bytes"; }]; internalType: "struct Validator"; name: ""; type: "tuple"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "address"; name: "owner"; type: "address"; }]; name: "getValidatorTicketsBalance"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }]; name: "getValidators"; outputs: readonly [{ components: readonly [{ internalType: "address"; name: "node"; type: "address"; }, { internalType: "uint96"; name: "bond"; type: "uint96"; }, { internalType: "address"; name: "module"; type: "address"; }, { internalType: "enum Status"; name: "status"; type: "uint8"; }, { internalType: "bytes"; name: "pubKey"; type: "bytes"; }]; internalType: "struct Validator[]"; name: ""; type: "tuple[]"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "address"; name: "module"; type: "address"; }]; name: "getWithdrawalCredentials"; outputs: readonly [{ internalType: "bytes"; name: ""; type: "bytes"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "bytes[]"; name: "guardianEnclaveSignatures"; type: "bytes[]"; }, { internalType: "bytes"; name: "validatorSignature"; type: "bytes"; }, { internalType: "bytes32"; name: "depositRootHash"; type: "bytes32"; }]; name: "provisionNode"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ components: readonly [{ internalType: "bytes"; name: "blsPubKey"; type: "bytes"; }, { internalType: "bytes"; name: "signature"; type: "bytes"; }, { internalType: "bytes32"; name: "depositDataRoot"; type: "bytes32"; }, { internalType: "bytes[]"; name: "blsEncryptedPrivKeyShares"; type: "bytes[]"; }, { internalType: "bytes"; name: "blsPubKeySet"; type: "bytes"; }, { internalType: "bytes"; name: "raveEvidence"; type: "bytes"; }]; internalType: "struct ValidatorKeyData"; name: "data"; type: "tuple"; }, { internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }, { components: readonly [{ internalType: "uint256"; name: "deadline"; type: "uint256"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }, { internalType: "uint8"; name: "v"; type: "uint8"; }, { internalType: "bytes32"; name: "r"; type: "bytes32"; }, { internalType: "bytes32"; name: "s"; type: "bytes32"; }]; internalType: "struct Permit"; name: "pufETHPermit"; type: "tuple"; }, { components: readonly [{ internalType: "uint256"; name: "deadline"; type: "uint256"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }, { internalType: "uint8"; name: "v"; type: "uint8"; }, { internalType: "bytes32"; name: "r"; type: "bytes32"; }, { internalType: "bytes32"; name: "s"; type: "bytes32"; }]; internalType: "struct Permit"; name: "vtPermit"; type: "tuple"; }]; name: "registerValidatorKey"; outputs: readonly []; stateMutability: "payable"; type: "function"; }, { inputs: readonly [{ internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }, { internalType: "bytes[]"; name: "guardianEOASignatures"; type: "bytes[]"; }]; name: "skipProvisioning"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "uint96"; name: "amount"; type: "uint96"; }, { internalType: "address"; name: "recipient"; type: "address"; }]; name: "withdrawValidatorTickets"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "address"; name: "module"; type: "address"; }, { indexed: true; internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }, { indexed: false; internalType: "bytes32"; name: "withdrawalCredentials"; type: "bytes32"; }]; name: "NewPufferModuleCreated"; type: "event"; }, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "bytes"; name: "pubKey"; type: "bytes"; }, { indexed: true; internalType: "uint256"; name: "pufferModuleIndex"; type: "uint256"; }, { indexed: true; internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }]; name: "SuccessfullyProvisioned"; type: "event"; }, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "bytes"; name: "pubKey"; type: "bytes"; }, { indexed: true; internalType: "uint256"; name: "pufferModuleIndex"; type: "uint256"; }, { indexed: true; internalType: "bytes32"; name: "moduleName"; type: "bytes32"; }, { indexed: false; internalType: "bool"; name: "usingEnclave"; type: "bool"; }]; name: "ValidatorKeyRegistered"; type: "event"; }, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "node"; type: "address"; }, { indexed: true; internalType: "address"; name: "depositor"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "amount"; type: "uint256"; }]; name: "ValidatorTicketsDeposited"; type: "event"; }, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "node"; type: "address"; }, { indexed: true; internalType: "address"; name: "recipient"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "amount"; type: "uint256"; }]; name: "ValidatorTicketsWithdrawn"; type: "event"; }, { inputs: readonly [{ internalType: "address"; name: "authority"; type: "address"; }]; name: "AccessManagedInvalidAuthority"; type: "error"; }, { inputs: readonly [{ internalType: "address"; name: "caller"; type: "address"; }, { internalType: "uint32"; name: "delay"; type: "uint32"; }]; name: "AccessManagedRequiredDelay"; type: "error"; }, { inputs: readonly [{ internalType: "address"; name: "caller"; type: "address"; }]; name: "AccessManagedUnauthorized"; type: "error"; }, { inputs: readonly []; name: "InvalidAddress"; type: "error"; }, { inputs: readonly []; name: "InvalidBLSPrivateKeyShares"; type: "error"; }, { inputs: readonly []; name: "InvalidBLSPubKey"; type: "error"; }, { inputs: readonly []; name: "InvalidBLSPublicKeySet"; type: "error"; }, { inputs: readonly []; name: "InvalidDepositRootHash"; type: "error"; }, { inputs: readonly []; name: "InvalidETHAmount"; type: "error"; }, { inputs: readonly []; name: "InvalidVTAmount"; type: "error"; }, { inputs: readonly [{ internalType: "enum Status"; name: "status"; type: "uint8"; }]; name: "InvalidValidatorState"; type: "error"; }, { inputs: readonly []; name: "ModuleAlreadyExists"; type: "error"; }, { inputs: readonly []; name: "ValidatorLimitForModuleReached"; type: "error"; }]

Defined in: lib/contracts/abis/mainnet/PufferProtocol.ts:1