UNPKG

@zkp2p/reclaim-witness-sdk

Version:

<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>

729 lines 34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registryABI = void 0; exports.registryABI = [ { "type": "constructor", "inputs": [ { "name": "_delegationManager", "type": "address", "internalType": "contract IDelegationManager" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deregisterOperator", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getLastCheckpointOperatorWeight", "inputs": [ { "name": "_operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getLastCheckpointThresholdWeight", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getLastCheckpointThresholdWeightAtBlock", "inputs": [ { "name": "_blockNumber", "type": "uint32", "internalType": "uint32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getLastCheckpointTotalWeight", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getLastCheckpointTotalWeightAtBlock", "inputs": [ { "name": "_blockNumber", "type": "uint32", "internalType": "uint32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getOperatorWeight", "inputs": [ { "name": "_operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getOperatorWeightAtBlock", "inputs": [ { "name": "_operator", "type": "address", "internalType": "address" }, { "name": "_blockNumber", "type": "uint32", "internalType": "uint32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [ { "name": "_serviceManager", "type": "address", "internalType": "address" }, { "name": "_thresholdWeight", "type": "uint256", "internalType": "uint256" }, { "name": "_quorum", "type": "tuple", "internalType": "struct Quorum", "components": [ { "name": "strategies", "type": "tuple[]", "internalType": "struct StrategyParams[]", "components": [ { "name": "strategy", "type": "address", "internalType": "contract IStrategy" }, { "name": "multiplier", "type": "uint96", "internalType": "uint96" } ] } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isValidSignature", "inputs": [ { "name": "_dataHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "_signatureData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "minimumWeight", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "operatorRegistered", "inputs": [ { "name": "_operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "quorum", "inputs": [], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct Quorum", "components": [ { "name": "strategies", "type": "tuple[]", "internalType": "struct StrategyParams[]", "components": [ { "name": "strategy", "type": "address", "internalType": "contract IStrategy" }, { "name": "multiplier", "type": "uint96", "internalType": "uint96" } ] } ] } ], "stateMutability": "view" }, { "type": "function", "name": "registerOperatorWithSignature", "inputs": [ { "name": "_operator", "type": "address", "internalType": "address" }, { "name": "_operatorSignature", "type": "tuple", "internalType": "struct ISignatureUtils.SignatureWithSaltAndExpiry", "components": [ { "name": "signature", "type": "bytes", "internalType": "bytes" }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }, { "name": "expiry", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferOwnership", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateMinimumWeight", "inputs": [ { "name": "_newMinimumWeight", "type": "uint256", "internalType": "uint256" }, { "name": "_operators", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateOperators", "inputs": [ { "name": "_operators", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateOperatorsForQuorum", "inputs": [ { "name": "operatorsPerQuorum", "type": "address[][]", "internalType": "address[][]" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateQuorumConfig", "inputs": [ { "name": "_quorum", "type": "tuple", "internalType": "struct Quorum", "components": [ { "name": "strategies", "type": "tuple[]", "internalType": "struct StrategyParams[]", "components": [ { "name": "strategy", "type": "address", "internalType": "contract IStrategy" }, { "name": "multiplier", "type": "uint96", "internalType": "uint96" } ] } ] }, { "name": "_operators", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateStakeThreshold", "inputs": [ { "name": "_thresholdWeight", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Initialized", "inputs": [ { "name": "version", "type": "uint8", "indexed": false, "internalType": "uint8" } ], "anonymous": false }, { "type": "event", "name": "MinimumWeightUpdated", "inputs": [ { "name": "_old", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_new", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "OperatorDeregistered", "inputs": [ { "name": "_operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "_avs", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OperatorRegistered", "inputs": [ { "name": "_operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "_avs", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OperatorWeightUpdated", "inputs": [ { "name": "_operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "oldWeight", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "newWeight", "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": "QuorumUpdated", "inputs": [ { "name": "_old", "type": "tuple", "indexed": false, "internalType": "struct Quorum", "components": [ { "name": "strategies", "type": "tuple[]", "internalType": "struct StrategyParams[]", "components": [ { "name": "strategy", "type": "address", "internalType": "contract IStrategy" }, { "name": "multiplier", "type": "uint96", "internalType": "uint96" } ] } ] }, { "name": "_new", "type": "tuple", "indexed": false, "internalType": "struct Quorum", "components": [ { "name": "strategies", "type": "tuple[]", "internalType": "struct StrategyParams[]", "components": [ { "name": "strategy", "type": "address", "internalType": "contract IStrategy" }, { "name": "multiplier", "type": "uint96", "internalType": "uint96" } ] } ] } ], "anonymous": false }, { "type": "event", "name": "ThresholdWeightUpdated", "inputs": [ { "name": "_thresholdWeight", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TotalWeightUpdated", "inputs": [ { "name": "oldTotalWeight", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "newTotalWeight", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UpdateMinimumWeight", "inputs": [ { "name": "oldMinimumWeight", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "newMinimumWeight", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "error", "name": "InsufficientSignedStake", "inputs": [] }, { "type": "error", "name": "InsufficientWeight", "inputs": [] }, { "type": "error", "name": "InvalidLength", "inputs": [] }, { "type": "error", "name": "InvalidQuorum", "inputs": [] }, { "type": "error", "name": "InvalidSignature", "inputs": [] }, { "type": "error", "name": "InvalidSignedWeight", "inputs": [] }, { "type": "error", "name": "InvalidThreshold", "inputs": [] }, { "type": "error", "name": "LengthMismatch", "inputs": [] }, { "type": "error", "name": "MustUpdateAllOperators", "inputs": [] }, { "type": "error", "name": "NotSorted", "inputs": [] }, { "type": "error", "name": "OperatorAlreadyRegistered", "inputs": [] }, { "type": "error", "name": "OperatorNotRegistered", "inputs": [] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnlBQkkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZzL2FiaXMvcmVnaXN0cnlBQkkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxXQUFXLEdBQUc7SUFDMUI7UUFDQyxNQUFNLEVBQUUsYUFBYTtRQUNyQixRQUFRLEVBQUU7WUFDVDtnQkFDQyxNQUFNLEVBQUUsb0JBQW9CO2dCQUM1QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLDZCQUE2QjthQUM3QztTQUNEO1FBQ0QsaUJBQWlCLEVBQUUsWUFBWTtLQUMvQjtJQUNEO1FBQ0MsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRSxFQUFFO1FBQ2IsaUJBQWlCLEVBQUUsWUFBWTtLQUMvQjtJQUNEO1FBQ0MsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGlDQUFpQztRQUN6QyxRQUFRLEVBQUU7WUFDVDtnQkFDQyxNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQ3pCO1NBQ0Q7UUFDRCxTQUFTLEVBQUU7WUFDVjtnQkFDQyxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDekI7U0FDRDtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDekI7SUFDRDtRQUNDLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxrQ0FBa0M7UUFDMUMsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVjtnQkFDQyxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDekI7U0FDRDtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDekI7SUFDRDtRQUNDLE1BQU0sRUFB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