@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
JavaScript
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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
;