Module InstantSlasher

Module InstantSlasher 

Source
Expand description

Generated by the following Solidity interface…

library IAllocationManagerTypes {
    struct SlashingParams {
        address operator;
        uint32 operatorSetId;
        address[] strategies;
        uint256[] wadsToSlash;
        string description;
    }
}

interface InstantSlasher {
    error OnlySlasher();

    event OperatorSlashed(uint256 indexed slashingRequestId, address indexed operator, uint32 indexed operatorSetId, uint256[] wadsToSlash, string description);

    constructor(address _allocationManager, address _slashingRegistryCoordinator, address _slasher);

    function allocationManager() external view returns (address);
    function fulfillSlashingRequest(IAllocationManagerTypes.SlashingParams memory _slashingParams) external;
    function nextRequestId() external view returns (uint256);
    function slasher() external view returns (address);
    function slashingRegistryCoordinator() external view returns (address);
}

…which was generated by the following JSON ABI:

[
  {
    "type": "constructor",
    "inputs": [
      {
        "name": "_allocationManager",
        "type": "address",
        "internalType": "contract IAllocationManager"
      },
      {
        "name": "_slashingRegistryCoordinator",
        "type": "address",
        "internalType": "contract ISlashingRegistryCoordinator"
      },
      {
        "name": "_slasher",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "allocationManager",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract IAllocationManager"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "fulfillSlashingRequest",
    "inputs": [
      {
        "name": "_slashingParams",
        "type": "tuple",
        "internalType": "struct IAllocationManagerTypes.SlashingParams",
        "components": [
          {
            "name": "operator",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "operatorSetId",
            "type": "uint32",
            "internalType": "uint32"
          },
          {
            "name": "strategies",
            "type": "address[]",
            "internalType": "contract IStrategy[]"
          },
          {
            "name": "wadsToSlash",
            "type": "uint256[]",
            "internalType": "uint256[]"
          },
          {
            "name": "description",
            "type": "string",
            "internalType": "string"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "nextRequestId",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "slasher",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "slashingRegistryCoordinator",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract ISlashingRegistryCoordinator"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "event",
    "name": "OperatorSlashed",
    "inputs": [
      {
        "name": "slashingRequestId",
        "type": "uint256",
        "indexed": true,
        "internalType": "uint256"
      },
      {
        "name": "operator",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "operatorSetId",
        "type": "uint32",
        "indexed": true,
        "internalType": "uint32"
      },
      {
        "name": "wadsToSlash",
        "type": "uint256[]",
        "indexed": false,
        "internalType": "uint256[]"
      },
      {
        "name": "description",
        "type": "string",
        "indexed": false,
        "internalType": "string"
      }
    ],
    "anonymous": false
  },
  {
    "type": "error",
    "name": "OnlySlasher",
    "inputs": []
  }
]

Structs§

InstantSlasherInstance
A InstantSlasher instance.
OnlySlasher
Custom error with signature OnlySlasher() and selector 0x7e57b1e1.
OperatorSlashed
Event with signature OperatorSlashed(uint256,address,uint32,uint256[],string) and selector 0x8a83cf9afb09a981314f4fb353b95b003451da170a99f48d8db6474b06d79f3b.
allocationManagerCall
Function with signature allocationManager() and selector 0xca8aa7c7.
allocationManagerReturn
Container type for the return parameters of the allocationManager() function.
constructorCall
Constructor`.
fulfillSlashingRequestCall
Function with signature fulfillSlashingRequest((address,uint32,address[],uint256[],string)) and selector 0x6a669b41.
fulfillSlashingRequestReturn
Container type for the return parameters of the fulfillSlashingRequest((address,uint32,address[],uint256[],string)) function.
nextRequestIdCall
Function with signature nextRequestId() and selector 0x6a84a985.
nextRequestIdReturn
Container type for the return parameters of the nextRequestId() function.
slasherCall
Function with signature slasher() and selector 0xb1344271.
slasherReturn
Container type for the return parameters of the slasher() function.
slashingRegistryCoordinatorCall
Function with signature slashingRegistryCoordinator() and selector 0xcf1d6b42.
slashingRegistryCoordinatorReturn
Container type for the return parameters of the slashingRegistryCoordinator() function.

Enums§

InstantSlasherCalls
Container for all the InstantSlasher function calls.
InstantSlasherErrors
Container for all the InstantSlasher custom errors.
InstantSlasherEvents
Container for all the InstantSlasher events.

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 provider and constructor arguments, if any.
deploy_builder
Creates a RawCallBuilder for deploying this contract using the given provider and constructor arguments, if any.
new
Creates a new wrapper around an on-chain InstantSlasher contract instance.