eigenlayer_contract_deployer/bindings/core/
socketregistry.rs

1#![allow(clippy::all, clippy::pedantic, clippy::nursery, warnings, unknown_lints, rustdoc::all, elided_lifetimes_in_paths)]
2use SocketRegistry::*;
3
4/**
5
6Generated by the following Solidity interface...
7```solidity
8interface SocketRegistry {
9    error OnlySlashingRegistryCoordinator();
10
11    constructor(address _slashingRegistryCoordinator);
12
13    function getOperatorSocket(bytes32 _operatorId) external view returns (string memory);
14    function operatorIdToSocket(bytes32) external view returns (string memory);
15    function setOperatorSocket(bytes32 _operatorId, string memory _socket) external;
16    function slashingRegistryCoordinator() external view returns (address);
17}
18```
19
20...which was generated by the following JSON ABI:
21```json
22[
23  {
24    "type": "constructor",
25    "inputs": [
26      {
27        "name": "_slashingRegistryCoordinator",
28        "type": "address",
29        "internalType": "contract ISlashingRegistryCoordinator"
30      }
31    ],
32    "stateMutability": "nonpayable"
33  },
34  {
35    "type": "function",
36    "name": "getOperatorSocket",
37    "inputs": [
38      {
39        "name": "_operatorId",
40        "type": "bytes32",
41        "internalType": "bytes32"
42      }
43    ],
44    "outputs": [
45      {
46        "name": "",
47        "type": "string",
48        "internalType": "string"
49      }
50    ],
51    "stateMutability": "view"
52  },
53  {
54    "type": "function",
55    "name": "operatorIdToSocket",
56    "inputs": [
57      {
58        "name": "",
59        "type": "bytes32",
60        "internalType": "bytes32"
61      }
62    ],
63    "outputs": [
64      {
65        "name": "",
66        "type": "string",
67        "internalType": "string"
68      }
69    ],
70    "stateMutability": "view"
71  },
72  {
73    "type": "function",
74    "name": "setOperatorSocket",
75    "inputs": [
76      {
77        "name": "_operatorId",
78        "type": "bytes32",
79        "internalType": "bytes32"
80      },
81      {
82        "name": "_socket",
83        "type": "string",
84        "internalType": "string"
85      }
86    ],
87    "outputs": [],
88    "stateMutability": "nonpayable"
89  },
90  {
91    "type": "function",
92    "name": "slashingRegistryCoordinator",
93    "inputs": [],
94    "outputs": [
95      {
96        "name": "",
97        "type": "address",
98        "internalType": "address"
99      }
100    ],
101    "stateMutability": "view"
102  },
103  {
104    "type": "error",
105    "name": "OnlySlashingRegistryCoordinator",
106    "inputs": []
107  }
108]
109```*/
110#[allow(
111    non_camel_case_types,
112    non_snake_case,
113    clippy::pub_underscore_fields,
114    clippy::style,
115    clippy::empty_structs_with_brackets
116)]
117pub mod SocketRegistry {
118    use super::*;
119    use alloy::sol_types as alloy_sol_types;
120    /// The creation / init bytecode of the contract.
121    ///
122    /// ```text
123    ///0x60a0604052348015600e575f5ffd5b506040516105a43803806105a4833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b6080516105206100845f395f8181608f015261021f01526105205ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806310bea0d71461004e578063af65fdfc14610077578063cf1d6b421461008a578063f043367e146100c9575b5f5ffd5b61006161005c366004610279565b6100de565b60405161006e9190610290565b60405180910390f35b610061610085366004610279565b61017d565b6100b17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161006e565b6100dc6100d73660046102ef565b610214565b005b5f8181526020819052604090208054606091906100fa906103ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610126906103ac565b80156101715780601f1061014857610100808354040283529160200191610171565b820191905f5260205f20905b81548152906001019060200180831161015457829003601f168201915b50505050509050919050565b5f6020819052908152604090208054610195906103ac565b80601f01602080910402602001604051908101604052809291908181526020018280546101c1906103ac565b801561020c5780601f106101e35761010080835404028352916020019161020c565b820191905f5260205f20905b8154815290600101906020018083116101ef57829003601f168201915b505050505081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461025d57604051632c01b20560e21b815260040160405180910390fd5b5f828152602081905260409020610274828261042f565b505050565b5f60208284031215610289575f5ffd5b5035919050565b602081525f82518060208401525f5b818110156102bc576020818601810151604086840101520161029f565b505f604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215610300575f5ffd5b82359150602083013567ffffffffffffffff81111561031d575f5ffd5b8301601f8101851361032d575f5ffd5b803567ffffffffffffffff811115610347576103476102db565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610376576103766102db565b60405281815282820160200187101561038d575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b600181811c908216806103c057607f821691505b6020821081036103de57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027457805f5260205f20601f840160051c810160208510156104095750805b601f840160051c820191505b81811015610428575f8155600101610415565b5050505050565b815167ffffffffffffffff811115610449576104496102db565b61045d8161045784546103ac565b846103e4565b6020601f82116001811461048f575f83156104785750848201515b5f19600385901b1c1916600184901b178455610428565b5f84815260208120601f198516915b828110156104be578785015182556020948501946001909201910161049e565b50848210156104db57868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220052509ec1648dc0e948d32f861f58b54bd4096a65a2d6a1898de2354e50b89ff64736f6c634300081b0033
124    /// ```
125    #[rustfmt::skip]
126    #[allow(clippy::all)]
127    pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
128        b"`\xA0`@R4\x80\x15`\x0EW__\xFD[P`@Qa\x05\xA48\x03\x80a\x05\xA4\x839\x81\x01`@\x81\x90R`+\x91`;V[`\x01`\x01`\xA0\x1B\x03\x16`\x80R`fV[_` \x82\x84\x03\x12\x15`JW__\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14`_W__\xFD[\x93\x92PPPV[`\x80Qa\x05 a\0\x84_9_\x81\x81`\x8F\x01Ra\x02\x1F\x01Ra\x05 _\xF3\xFE`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\0JW_5`\xE0\x1C\x80c\x10\xBE\xA0\xD7\x14a\0NW\x80c\xAFe\xFD\xFC\x14a\0wW\x80c\xCF\x1DkB\x14a\0\x8AW\x80c\xF0C6~\x14a\0\xC9W[__\xFD[a\0aa\0\\6`\x04a\x02yV[a\0\xDEV[`@Qa\0n\x91\x90a\x02\x90V[`@Q\x80\x91\x03\x90\xF3[a\0aa\0\x856`\x04a\x02yV[a\x01}V[a\0\xB1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0nV[a\0\xDCa\0\xD76`\x04a\x02\xEFV[a\x02\x14V[\0[_\x81\x81R` \x81\x90R`@\x90 \x80T``\x91\x90a\0\xFA\x90a\x03\xACV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01&\x90a\x03\xACV[\x80\x15a\x01qW\x80`\x1F\x10a\x01HWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x01qV[\x82\x01\x91\x90_R` _ \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01TW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x91\x90PV[_` \x81\x90R\x90\x81R`@\x90 \x80Ta\x01\x95\x90a\x03\xACV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xC1\x90a\x03\xACV[\x80\x15a\x02\x0CW\x80`\x1F\x10a\x01\xE3Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x0CV[\x82\x01\x91\x90_R` _ \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xEFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x02]W`@Qc,\x01\xB2\x05`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_\x82\x81R` \x81\x90R`@\x90 a\x02t\x82\x82a\x04/V[PPPV[_` \x82\x84\x03\x12\x15a\x02\x89W__\xFD[P5\x91\x90PV[` \x81R_\x82Q\x80` \x84\x01R_[\x81\x81\x10\x15a\x02\xBCW` \x81\x86\x01\x81\x01Q`@\x86\x84\x01\x01R\x01a\x02\x9FV[P_`@\x82\x85\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x84\x01\x01\x91PP\x92\x91PPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[__`@\x83\x85\x03\x12\x15a\x03\0W__\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x1DW__\xFD[\x83\x01`\x1F\x81\x01\x85\x13a\x03-W__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03GWa\x03Ga\x02\xDBV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03vWa\x03va\x02\xDBV[`@R\x81\x81R\x82\x82\x01` \x01\x87\x10\x15a\x03\x8DW__\xFD[\x81` \x84\x01` \x83\x017_` \x83\x83\x01\x01R\x80\x93PPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x03\xC0W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x03\xDEWcNH{q`\xE0\x1B_R`\"`\x04R`$_\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x02tW\x80_R` _ `\x1F\x84\x01`\x05\x1C\x81\x01` \x85\x10\x15a\x04\tWP\x80[`\x1F\x84\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x04(W_\x81U`\x01\x01a\x04\x15V[PPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04IWa\x04Ia\x02\xDBV[a\x04]\x81a\x04W\x84Ta\x03\xACV[\x84a\x03\xE4V[` `\x1F\x82\x11`\x01\x81\x14a\x04\x8FW_\x83\x15a\x04xWP\x84\x82\x01Q[_\x19`\x03\x85\x90\x1B\x1C\x19\x16`\x01\x84\x90\x1B\x17\x84Ua\x04(V[_\x84\x81R` \x81 `\x1F\x19\x85\x16\x91[\x82\x81\x10\x15a\x04\xBEW\x87\x85\x01Q\x82U` \x94\x85\x01\x94`\x01\x90\x92\x01\x91\x01a\x04\x9EV[P\x84\x82\x10\x15a\x04\xDBW\x86\x84\x01Q_\x19`\x03\x87\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPP`\x01\x90\x81\x1B\x01\x90UPV\xFE\xA2dipfsX\"\x12 \x05%\t\xEC\x16H\xDC\x0E\x94\x8D2\xF8a\xF5\x8BT\xBD@\x96\xA6Z-j\x18\x98\xDE#T\xE5\x0B\x89\xFFdsolcC\0\x08\x1B\x003",
129    );
130    /// The runtime bytecode of the contract, as deployed on the network.
131    ///
132    /// ```text
133    ///0x608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806310bea0d71461004e578063af65fdfc14610077578063cf1d6b421461008a578063f043367e146100c9575b5f5ffd5b61006161005c366004610279565b6100de565b60405161006e9190610290565b60405180910390f35b610061610085366004610279565b61017d565b6100b17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161006e565b6100dc6100d73660046102ef565b610214565b005b5f8181526020819052604090208054606091906100fa906103ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610126906103ac565b80156101715780601f1061014857610100808354040283529160200191610171565b820191905f5260205f20905b81548152906001019060200180831161015457829003601f168201915b50505050509050919050565b5f6020819052908152604090208054610195906103ac565b80601f01602080910402602001604051908101604052809291908181526020018280546101c1906103ac565b801561020c5780601f106101e35761010080835404028352916020019161020c565b820191905f5260205f20905b8154815290600101906020018083116101ef57829003601f168201915b505050505081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461025d57604051632c01b20560e21b815260040160405180910390fd5b5f828152602081905260409020610274828261042f565b505050565b5f60208284031215610289575f5ffd5b5035919050565b602081525f82518060208401525f5b818110156102bc576020818601810151604086840101520161029f565b505f604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215610300575f5ffd5b82359150602083013567ffffffffffffffff81111561031d575f5ffd5b8301601f8101851361032d575f5ffd5b803567ffffffffffffffff811115610347576103476102db565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610376576103766102db565b60405281815282820160200187101561038d575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b600181811c908216806103c057607f821691505b6020821081036103de57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027457805f5260205f20601f840160051c810160208510156104095750805b601f840160051c820191505b81811015610428575f8155600101610415565b5050505050565b815167ffffffffffffffff811115610449576104496102db565b61045d8161045784546103ac565b846103e4565b6020601f82116001811461048f575f83156104785750848201515b5f19600385901b1c1916600184901b178455610428565b5f84815260208120601f198516915b828110156104be578785015182556020948501946001909201910161049e565b50848210156104db57868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220052509ec1648dc0e948d32f861f58b54bd4096a65a2d6a1898de2354e50b89ff64736f6c634300081b0033
134    /// ```
135    #[rustfmt::skip]
136    #[allow(clippy::all)]
137    pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
138        b"`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\0JW_5`\xE0\x1C\x80c\x10\xBE\xA0\xD7\x14a\0NW\x80c\xAFe\xFD\xFC\x14a\0wW\x80c\xCF\x1DkB\x14a\0\x8AW\x80c\xF0C6~\x14a\0\xC9W[__\xFD[a\0aa\0\\6`\x04a\x02yV[a\0\xDEV[`@Qa\0n\x91\x90a\x02\x90V[`@Q\x80\x91\x03\x90\xF3[a\0aa\0\x856`\x04a\x02yV[a\x01}V[a\0\xB1\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\0nV[a\0\xDCa\0\xD76`\x04a\x02\xEFV[a\x02\x14V[\0[_\x81\x81R` \x81\x90R`@\x90 \x80T``\x91\x90a\0\xFA\x90a\x03\xACV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01&\x90a\x03\xACV[\x80\x15a\x01qW\x80`\x1F\x10a\x01HWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x01qV[\x82\x01\x91\x90_R` _ \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01TW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x91\x90PV[_` \x81\x90R\x90\x81R`@\x90 \x80Ta\x01\x95\x90a\x03\xACV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xC1\x90a\x03\xACV[\x80\x15a\x02\x0CW\x80`\x1F\x10a\x01\xE3Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x0CV[\x82\x01\x91\x90_R` _ \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xEFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x02]W`@Qc,\x01\xB2\x05`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_\x82\x81R` \x81\x90R`@\x90 a\x02t\x82\x82a\x04/V[PPPV[_` \x82\x84\x03\x12\x15a\x02\x89W__\xFD[P5\x91\x90PV[` \x81R_\x82Q\x80` \x84\x01R_[\x81\x81\x10\x15a\x02\xBCW` \x81\x86\x01\x81\x01Q`@\x86\x84\x01\x01R\x01a\x02\x9FV[P_`@\x82\x85\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x84\x01\x01\x91PP\x92\x91PPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[__`@\x83\x85\x03\x12\x15a\x03\0W__\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x1DW__\xFD[\x83\x01`\x1F\x81\x01\x85\x13a\x03-W__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03GWa\x03Ga\x02\xDBV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03vWa\x03va\x02\xDBV[`@R\x81\x81R\x82\x82\x01` \x01\x87\x10\x15a\x03\x8DW__\xFD[\x81` \x84\x01` \x83\x017_` \x83\x83\x01\x01R\x80\x93PPPP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x03\xC0W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x03\xDEWcNH{q`\xE0\x1B_R`\"`\x04R`$_\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x02tW\x80_R` _ `\x1F\x84\x01`\x05\x1C\x81\x01` \x85\x10\x15a\x04\tWP\x80[`\x1F\x84\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x04(W_\x81U`\x01\x01a\x04\x15V[PPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04IWa\x04Ia\x02\xDBV[a\x04]\x81a\x04W\x84Ta\x03\xACV[\x84a\x03\xE4V[` `\x1F\x82\x11`\x01\x81\x14a\x04\x8FW_\x83\x15a\x04xWP\x84\x82\x01Q[_\x19`\x03\x85\x90\x1B\x1C\x19\x16`\x01\x84\x90\x1B\x17\x84Ua\x04(V[_\x84\x81R` \x81 `\x1F\x19\x85\x16\x91[\x82\x81\x10\x15a\x04\xBEW\x87\x85\x01Q\x82U` \x94\x85\x01\x94`\x01\x90\x92\x01\x91\x01a\x04\x9EV[P\x84\x82\x10\x15a\x04\xDBW\x86\x84\x01Q_\x19`\x03\x87\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPP`\x01\x90\x81\x1B\x01\x90UPV\xFE\xA2dipfsX\"\x12 \x05%\t\xEC\x16H\xDC\x0E\x94\x8D2\xF8a\xF5\x8BT\xBD@\x96\xA6Z-j\x18\x98\xDE#T\xE5\x0B\x89\xFFdsolcC\0\x08\x1B\x003",
139    );
140    #[derive(Default, Debug, PartialEq, Eq, Hash)]
141    /**Custom error with signature `OnlySlashingRegistryCoordinator()` and selector `0xb006c814`.
142```solidity
143error OnlySlashingRegistryCoordinator();
144```*/
145    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
146    #[derive(Clone)]
147    pub struct OnlySlashingRegistryCoordinator {}
148    #[allow(
149        non_camel_case_types,
150        non_snake_case,
151        clippy::pub_underscore_fields,
152        clippy::style
153    )]
154    const _: () = {
155        use alloy::sol_types as alloy_sol_types;
156        #[doc(hidden)]
157        type UnderlyingSolTuple<'a> = ();
158        #[doc(hidden)]
159        type UnderlyingRustTuple<'a> = ();
160        #[cfg(test)]
161        #[allow(dead_code, unreachable_patterns)]
162        fn _type_assertion(
163            _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
164        ) {
165            match _t {
166                alloy_sol_types::private::AssertTypeEq::<
167                    <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
168                >(_) => {}
169            }
170        }
171        #[automatically_derived]
172        #[doc(hidden)]
173        impl ::core::convert::From<OnlySlashingRegistryCoordinator>
174        for UnderlyingRustTuple<'_> {
175            fn from(value: OnlySlashingRegistryCoordinator) -> Self {
176                ()
177            }
178        }
179        #[automatically_derived]
180        #[doc(hidden)]
181        impl ::core::convert::From<UnderlyingRustTuple<'_>>
182        for OnlySlashingRegistryCoordinator {
183            fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
184                Self {}
185            }
186        }
187        #[automatically_derived]
188        impl alloy_sol_types::SolError for OnlySlashingRegistryCoordinator {
189            type Parameters<'a> = UnderlyingSolTuple<'a>;
190            type Token<'a> = <Self::Parameters<
191                'a,
192            > as alloy_sol_types::SolType>::Token<'a>;
193            const SIGNATURE: &'static str = "OnlySlashingRegistryCoordinator()";
194            const SELECTOR: [u8; 4] = [176u8, 6u8, 200u8, 20u8];
195            #[inline]
196            fn new<'a>(
197                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
198            ) -> Self {
199                tuple.into()
200            }
201            #[inline]
202            fn tokenize(&self) -> Self::Token<'_> {
203                ()
204            }
205        }
206    };
207    /**Constructor`.
208```solidity
209constructor(address _slashingRegistryCoordinator);
210```*/
211    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
212    #[derive(Clone)]
213    pub struct constructorCall {
214        #[allow(missing_docs)]
215        pub _slashingRegistryCoordinator: alloy::sol_types::private::Address,
216    }
217    const _: () = {
218        use alloy::sol_types as alloy_sol_types;
219        {
220            #[doc(hidden)]
221            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
222            #[doc(hidden)]
223            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
224            #[cfg(test)]
225            #[allow(dead_code, unreachable_patterns)]
226            fn _type_assertion(
227                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
228            ) {
229                match _t {
230                    alloy_sol_types::private::AssertTypeEq::<
231                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
232                    >(_) => {}
233                }
234            }
235            #[automatically_derived]
236            #[doc(hidden)]
237            impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
238                fn from(value: constructorCall) -> Self {
239                    (value._slashingRegistryCoordinator,)
240                }
241            }
242            #[automatically_derived]
243            #[doc(hidden)]
244            impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
245                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
246                    Self {
247                        _slashingRegistryCoordinator: tuple.0,
248                    }
249                }
250            }
251        }
252        #[automatically_derived]
253        impl alloy_sol_types::SolConstructor for constructorCall {
254            type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
255            type Token<'a> = <Self::Parameters<
256                'a,
257            > as alloy_sol_types::SolType>::Token<'a>;
258            #[inline]
259            fn new<'a>(
260                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
261            ) -> Self {
262                tuple.into()
263            }
264            #[inline]
265            fn tokenize(&self) -> Self::Token<'_> {
266                (
267                    <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
268                        &self._slashingRegistryCoordinator,
269                    ),
270                )
271            }
272        }
273    };
274    #[derive(Default, Debug, PartialEq, Eq, Hash)]
275    /**Function with signature `getOperatorSocket(bytes32)` and selector `0x10bea0d7`.
276```solidity
277function getOperatorSocket(bytes32 _operatorId) external view returns (string memory);
278```*/
279    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
280    #[derive(Clone)]
281    pub struct getOperatorSocketCall {
282        #[allow(missing_docs)]
283        pub _operatorId: alloy::sol_types::private::FixedBytes<32>,
284    }
285    #[derive(Default, Debug, PartialEq, Eq, Hash)]
286    ///Container type for the return parameters of the [`getOperatorSocket(bytes32)`](getOperatorSocketCall) function.
287    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
288    #[derive(Clone)]
289    pub struct getOperatorSocketReturn {
290        #[allow(missing_docs)]
291        pub _0: alloy::sol_types::private::String,
292    }
293    #[allow(
294        non_camel_case_types,
295        non_snake_case,
296        clippy::pub_underscore_fields,
297        clippy::style
298    )]
299    const _: () = {
300        use alloy::sol_types as alloy_sol_types;
301        {
302            #[doc(hidden)]
303            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
304            #[doc(hidden)]
305            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
306            #[cfg(test)]
307            #[allow(dead_code, unreachable_patterns)]
308            fn _type_assertion(
309                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
310            ) {
311                match _t {
312                    alloy_sol_types::private::AssertTypeEq::<
313                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
314                    >(_) => {}
315                }
316            }
317            #[automatically_derived]
318            #[doc(hidden)]
319            impl ::core::convert::From<getOperatorSocketCall>
320            for UnderlyingRustTuple<'_> {
321                fn from(value: getOperatorSocketCall) -> Self {
322                    (value._operatorId,)
323                }
324            }
325            #[automatically_derived]
326            #[doc(hidden)]
327            impl ::core::convert::From<UnderlyingRustTuple<'_>>
328            for getOperatorSocketCall {
329                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
330                    Self { _operatorId: tuple.0 }
331                }
332            }
333        }
334        {
335            #[doc(hidden)]
336            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
337            #[doc(hidden)]
338            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
339            #[cfg(test)]
340            #[allow(dead_code, unreachable_patterns)]
341            fn _type_assertion(
342                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
343            ) {
344                match _t {
345                    alloy_sol_types::private::AssertTypeEq::<
346                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
347                    >(_) => {}
348                }
349            }
350            #[automatically_derived]
351            #[doc(hidden)]
352            impl ::core::convert::From<getOperatorSocketReturn>
353            for UnderlyingRustTuple<'_> {
354                fn from(value: getOperatorSocketReturn) -> Self {
355                    (value._0,)
356                }
357            }
358            #[automatically_derived]
359            #[doc(hidden)]
360            impl ::core::convert::From<UnderlyingRustTuple<'_>>
361            for getOperatorSocketReturn {
362                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
363                    Self { _0: tuple.0 }
364                }
365            }
366        }
367        #[automatically_derived]
368        impl alloy_sol_types::SolCall for getOperatorSocketCall {
369            type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
370            type Token<'a> = <Self::Parameters<
371                'a,
372            > as alloy_sol_types::SolType>::Token<'a>;
373            type Return = getOperatorSocketReturn;
374            type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
375            type ReturnToken<'a> = <Self::ReturnTuple<
376                'a,
377            > as alloy_sol_types::SolType>::Token<'a>;
378            const SIGNATURE: &'static str = "getOperatorSocket(bytes32)";
379            const SELECTOR: [u8; 4] = [16u8, 190u8, 160u8, 215u8];
380            #[inline]
381            fn new<'a>(
382                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
383            ) -> Self {
384                tuple.into()
385            }
386            #[inline]
387            fn tokenize(&self) -> Self::Token<'_> {
388                (
389                    <alloy::sol_types::sol_data::FixedBytes<
390                        32,
391                    > as alloy_sol_types::SolType>::tokenize(&self._operatorId),
392                )
393            }
394            #[inline]
395            fn abi_decode_returns(
396                data: &[u8],
397                validate: bool,
398            ) -> alloy_sol_types::Result<Self::Return> {
399                <Self::ReturnTuple<
400                    '_,
401                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
402                    .map(Into::into)
403            }
404        }
405    };
406    #[derive(Default, Debug, PartialEq, Eq, Hash)]
407    /**Function with signature `operatorIdToSocket(bytes32)` and selector `0xaf65fdfc`.
408```solidity
409function operatorIdToSocket(bytes32) external view returns (string memory);
410```*/
411    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
412    #[derive(Clone)]
413    pub struct operatorIdToSocketCall {
414        #[allow(missing_docs)]
415        pub _0: alloy::sol_types::private::FixedBytes<32>,
416    }
417    #[derive(Default, Debug, PartialEq, Eq, Hash)]
418    ///Container type for the return parameters of the [`operatorIdToSocket(bytes32)`](operatorIdToSocketCall) function.
419    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
420    #[derive(Clone)]
421    pub struct operatorIdToSocketReturn {
422        #[allow(missing_docs)]
423        pub _0: alloy::sol_types::private::String,
424    }
425    #[allow(
426        non_camel_case_types,
427        non_snake_case,
428        clippy::pub_underscore_fields,
429        clippy::style
430    )]
431    const _: () = {
432        use alloy::sol_types as alloy_sol_types;
433        {
434            #[doc(hidden)]
435            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
436            #[doc(hidden)]
437            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
438            #[cfg(test)]
439            #[allow(dead_code, unreachable_patterns)]
440            fn _type_assertion(
441                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
442            ) {
443                match _t {
444                    alloy_sol_types::private::AssertTypeEq::<
445                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
446                    >(_) => {}
447                }
448            }
449            #[automatically_derived]
450            #[doc(hidden)]
451            impl ::core::convert::From<operatorIdToSocketCall>
452            for UnderlyingRustTuple<'_> {
453                fn from(value: operatorIdToSocketCall) -> Self {
454                    (value._0,)
455                }
456            }
457            #[automatically_derived]
458            #[doc(hidden)]
459            impl ::core::convert::From<UnderlyingRustTuple<'_>>
460            for operatorIdToSocketCall {
461                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
462                    Self { _0: tuple.0 }
463                }
464            }
465        }
466        {
467            #[doc(hidden)]
468            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
469            #[doc(hidden)]
470            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
471            #[cfg(test)]
472            #[allow(dead_code, unreachable_patterns)]
473            fn _type_assertion(
474                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
475            ) {
476                match _t {
477                    alloy_sol_types::private::AssertTypeEq::<
478                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
479                    >(_) => {}
480                }
481            }
482            #[automatically_derived]
483            #[doc(hidden)]
484            impl ::core::convert::From<operatorIdToSocketReturn>
485            for UnderlyingRustTuple<'_> {
486                fn from(value: operatorIdToSocketReturn) -> Self {
487                    (value._0,)
488                }
489            }
490            #[automatically_derived]
491            #[doc(hidden)]
492            impl ::core::convert::From<UnderlyingRustTuple<'_>>
493            for operatorIdToSocketReturn {
494                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
495                    Self { _0: tuple.0 }
496                }
497            }
498        }
499        #[automatically_derived]
500        impl alloy_sol_types::SolCall for operatorIdToSocketCall {
501            type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
502            type Token<'a> = <Self::Parameters<
503                'a,
504            > as alloy_sol_types::SolType>::Token<'a>;
505            type Return = operatorIdToSocketReturn;
506            type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
507            type ReturnToken<'a> = <Self::ReturnTuple<
508                'a,
509            > as alloy_sol_types::SolType>::Token<'a>;
510            const SIGNATURE: &'static str = "operatorIdToSocket(bytes32)";
511            const SELECTOR: [u8; 4] = [175u8, 101u8, 253u8, 252u8];
512            #[inline]
513            fn new<'a>(
514                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
515            ) -> Self {
516                tuple.into()
517            }
518            #[inline]
519            fn tokenize(&self) -> Self::Token<'_> {
520                (
521                    <alloy::sol_types::sol_data::FixedBytes<
522                        32,
523                    > as alloy_sol_types::SolType>::tokenize(&self._0),
524                )
525            }
526            #[inline]
527            fn abi_decode_returns(
528                data: &[u8],
529                validate: bool,
530            ) -> alloy_sol_types::Result<Self::Return> {
531                <Self::ReturnTuple<
532                    '_,
533                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
534                    .map(Into::into)
535            }
536        }
537    };
538    #[derive(Default, Debug, PartialEq, Eq, Hash)]
539    /**Function with signature `setOperatorSocket(bytes32,string)` and selector `0xf043367e`.
540```solidity
541function setOperatorSocket(bytes32 _operatorId, string memory _socket) external;
542```*/
543    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
544    #[derive(Clone)]
545    pub struct setOperatorSocketCall {
546        #[allow(missing_docs)]
547        pub _operatorId: alloy::sol_types::private::FixedBytes<32>,
548        #[allow(missing_docs)]
549        pub _socket: alloy::sol_types::private::String,
550    }
551    ///Container type for the return parameters of the [`setOperatorSocket(bytes32,string)`](setOperatorSocketCall) function.
552    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
553    #[derive(Clone)]
554    pub struct setOperatorSocketReturn {}
555    #[allow(
556        non_camel_case_types,
557        non_snake_case,
558        clippy::pub_underscore_fields,
559        clippy::style
560    )]
561    const _: () = {
562        use alloy::sol_types as alloy_sol_types;
563        {
564            #[doc(hidden)]
565            type UnderlyingSolTuple<'a> = (
566                alloy::sol_types::sol_data::FixedBytes<32>,
567                alloy::sol_types::sol_data::String,
568            );
569            #[doc(hidden)]
570            type UnderlyingRustTuple<'a> = (
571                alloy::sol_types::private::FixedBytes<32>,
572                alloy::sol_types::private::String,
573            );
574            #[cfg(test)]
575            #[allow(dead_code, unreachable_patterns)]
576            fn _type_assertion(
577                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
578            ) {
579                match _t {
580                    alloy_sol_types::private::AssertTypeEq::<
581                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
582                    >(_) => {}
583                }
584            }
585            #[automatically_derived]
586            #[doc(hidden)]
587            impl ::core::convert::From<setOperatorSocketCall>
588            for UnderlyingRustTuple<'_> {
589                fn from(value: setOperatorSocketCall) -> Self {
590                    (value._operatorId, value._socket)
591                }
592            }
593            #[automatically_derived]
594            #[doc(hidden)]
595            impl ::core::convert::From<UnderlyingRustTuple<'_>>
596            for setOperatorSocketCall {
597                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
598                    Self {
599                        _operatorId: tuple.0,
600                        _socket: tuple.1,
601                    }
602                }
603            }
604        }
605        {
606            #[doc(hidden)]
607            type UnderlyingSolTuple<'a> = ();
608            #[doc(hidden)]
609            type UnderlyingRustTuple<'a> = ();
610            #[cfg(test)]
611            #[allow(dead_code, unreachable_patterns)]
612            fn _type_assertion(
613                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
614            ) {
615                match _t {
616                    alloy_sol_types::private::AssertTypeEq::<
617                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
618                    >(_) => {}
619                }
620            }
621            #[automatically_derived]
622            #[doc(hidden)]
623            impl ::core::convert::From<setOperatorSocketReturn>
624            for UnderlyingRustTuple<'_> {
625                fn from(value: setOperatorSocketReturn) -> Self {
626                    ()
627                }
628            }
629            #[automatically_derived]
630            #[doc(hidden)]
631            impl ::core::convert::From<UnderlyingRustTuple<'_>>
632            for setOperatorSocketReturn {
633                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
634                    Self {}
635                }
636            }
637        }
638        #[automatically_derived]
639        impl alloy_sol_types::SolCall for setOperatorSocketCall {
640            type Parameters<'a> = (
641                alloy::sol_types::sol_data::FixedBytes<32>,
642                alloy::sol_types::sol_data::String,
643            );
644            type Token<'a> = <Self::Parameters<
645                'a,
646            > as alloy_sol_types::SolType>::Token<'a>;
647            type Return = setOperatorSocketReturn;
648            type ReturnTuple<'a> = ();
649            type ReturnToken<'a> = <Self::ReturnTuple<
650                'a,
651            > as alloy_sol_types::SolType>::Token<'a>;
652            const SIGNATURE: &'static str = "setOperatorSocket(bytes32,string)";
653            const SELECTOR: [u8; 4] = [240u8, 67u8, 54u8, 126u8];
654            #[inline]
655            fn new<'a>(
656                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
657            ) -> Self {
658                tuple.into()
659            }
660            #[inline]
661            fn tokenize(&self) -> Self::Token<'_> {
662                (
663                    <alloy::sol_types::sol_data::FixedBytes<
664                        32,
665                    > as alloy_sol_types::SolType>::tokenize(&self._operatorId),
666                    <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
667                        &self._socket,
668                    ),
669                )
670            }
671            #[inline]
672            fn abi_decode_returns(
673                data: &[u8],
674                validate: bool,
675            ) -> alloy_sol_types::Result<Self::Return> {
676                <Self::ReturnTuple<
677                    '_,
678                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
679                    .map(Into::into)
680            }
681        }
682    };
683    #[derive(Default, Debug, PartialEq, Eq, Hash)]
684    /**Function with signature `slashingRegistryCoordinator()` and selector `0xcf1d6b42`.
685```solidity
686function slashingRegistryCoordinator() external view returns (address);
687```*/
688    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
689    #[derive(Clone)]
690    pub struct slashingRegistryCoordinatorCall {}
691    #[derive(Default, Debug, PartialEq, Eq, Hash)]
692    ///Container type for the return parameters of the [`slashingRegistryCoordinator()`](slashingRegistryCoordinatorCall) function.
693    #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
694    #[derive(Clone)]
695    pub struct slashingRegistryCoordinatorReturn {
696        #[allow(missing_docs)]
697        pub _0: alloy::sol_types::private::Address,
698    }
699    #[allow(
700        non_camel_case_types,
701        non_snake_case,
702        clippy::pub_underscore_fields,
703        clippy::style
704    )]
705    const _: () = {
706        use alloy::sol_types as alloy_sol_types;
707        {
708            #[doc(hidden)]
709            type UnderlyingSolTuple<'a> = ();
710            #[doc(hidden)]
711            type UnderlyingRustTuple<'a> = ();
712            #[cfg(test)]
713            #[allow(dead_code, unreachable_patterns)]
714            fn _type_assertion(
715                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
716            ) {
717                match _t {
718                    alloy_sol_types::private::AssertTypeEq::<
719                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
720                    >(_) => {}
721                }
722            }
723            #[automatically_derived]
724            #[doc(hidden)]
725            impl ::core::convert::From<slashingRegistryCoordinatorCall>
726            for UnderlyingRustTuple<'_> {
727                fn from(value: slashingRegistryCoordinatorCall) -> Self {
728                    ()
729                }
730            }
731            #[automatically_derived]
732            #[doc(hidden)]
733            impl ::core::convert::From<UnderlyingRustTuple<'_>>
734            for slashingRegistryCoordinatorCall {
735                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
736                    Self {}
737                }
738            }
739        }
740        {
741            #[doc(hidden)]
742            type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
743            #[doc(hidden)]
744            type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
745            #[cfg(test)]
746            #[allow(dead_code, unreachable_patterns)]
747            fn _type_assertion(
748                _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
749            ) {
750                match _t {
751                    alloy_sol_types::private::AssertTypeEq::<
752                        <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
753                    >(_) => {}
754                }
755            }
756            #[automatically_derived]
757            #[doc(hidden)]
758            impl ::core::convert::From<slashingRegistryCoordinatorReturn>
759            for UnderlyingRustTuple<'_> {
760                fn from(value: slashingRegistryCoordinatorReturn) -> Self {
761                    (value._0,)
762                }
763            }
764            #[automatically_derived]
765            #[doc(hidden)]
766            impl ::core::convert::From<UnderlyingRustTuple<'_>>
767            for slashingRegistryCoordinatorReturn {
768                fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
769                    Self { _0: tuple.0 }
770                }
771            }
772        }
773        #[automatically_derived]
774        impl alloy_sol_types::SolCall for slashingRegistryCoordinatorCall {
775            type Parameters<'a> = ();
776            type Token<'a> = <Self::Parameters<
777                'a,
778            > as alloy_sol_types::SolType>::Token<'a>;
779            type Return = slashingRegistryCoordinatorReturn;
780            type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
781            type ReturnToken<'a> = <Self::ReturnTuple<
782                'a,
783            > as alloy_sol_types::SolType>::Token<'a>;
784            const SIGNATURE: &'static str = "slashingRegistryCoordinator()";
785            const SELECTOR: [u8; 4] = [207u8, 29u8, 107u8, 66u8];
786            #[inline]
787            fn new<'a>(
788                tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
789            ) -> Self {
790                tuple.into()
791            }
792            #[inline]
793            fn tokenize(&self) -> Self::Token<'_> {
794                ()
795            }
796            #[inline]
797            fn abi_decode_returns(
798                data: &[u8],
799                validate: bool,
800            ) -> alloy_sol_types::Result<Self::Return> {
801                <Self::ReturnTuple<
802                    '_,
803                > as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
804                    .map(Into::into)
805            }
806        }
807    };
808    ///Container for all the [`SocketRegistry`](self) function calls.
809    #[derive()]
810    pub enum SocketRegistryCalls {
811        #[allow(missing_docs)]
812        getOperatorSocket(getOperatorSocketCall),
813        #[allow(missing_docs)]
814        operatorIdToSocket(operatorIdToSocketCall),
815        #[allow(missing_docs)]
816        setOperatorSocket(setOperatorSocketCall),
817        #[allow(missing_docs)]
818        slashingRegistryCoordinator(slashingRegistryCoordinatorCall),
819    }
820    #[automatically_derived]
821    impl SocketRegistryCalls {
822        /// All the selectors of this enum.
823        ///
824        /// Note that the selectors might not be in the same order as the variants.
825        /// No guarantees are made about the order of the selectors.
826        ///
827        /// Prefer using `SolInterface` methods instead.
828        pub const SELECTORS: &'static [[u8; 4usize]] = &[
829            [16u8, 190u8, 160u8, 215u8],
830            [175u8, 101u8, 253u8, 252u8],
831            [207u8, 29u8, 107u8, 66u8],
832            [240u8, 67u8, 54u8, 126u8],
833        ];
834    }
835    #[automatically_derived]
836    impl alloy_sol_types::SolInterface for SocketRegistryCalls {
837        const NAME: &'static str = "SocketRegistryCalls";
838        const MIN_DATA_LENGTH: usize = 0usize;
839        const COUNT: usize = 4usize;
840        #[inline]
841        fn selector(&self) -> [u8; 4] {
842            match self {
843                Self::getOperatorSocket(_) => {
844                    <getOperatorSocketCall as alloy_sol_types::SolCall>::SELECTOR
845                }
846                Self::operatorIdToSocket(_) => {
847                    <operatorIdToSocketCall as alloy_sol_types::SolCall>::SELECTOR
848                }
849                Self::setOperatorSocket(_) => {
850                    <setOperatorSocketCall as alloy_sol_types::SolCall>::SELECTOR
851                }
852                Self::slashingRegistryCoordinator(_) => {
853                    <slashingRegistryCoordinatorCall as alloy_sol_types::SolCall>::SELECTOR
854                }
855            }
856        }
857        #[inline]
858        fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
859            Self::SELECTORS.get(i).copied()
860        }
861        #[inline]
862        fn valid_selector(selector: [u8; 4]) -> bool {
863            Self::SELECTORS.binary_search(&selector).is_ok()
864        }
865        #[inline]
866        #[allow(non_snake_case)]
867        fn abi_decode_raw(
868            selector: [u8; 4],
869            data: &[u8],
870            validate: bool,
871        ) -> alloy_sol_types::Result<Self> {
872            static DECODE_SHIMS: &[fn(
873                &[u8],
874                bool,
875            ) -> alloy_sol_types::Result<SocketRegistryCalls>] = &[
876                {
877                    fn getOperatorSocket(
878                        data: &[u8],
879                        validate: bool,
880                    ) -> alloy_sol_types::Result<SocketRegistryCalls> {
881                        <getOperatorSocketCall as alloy_sol_types::SolCall>::abi_decode_raw(
882                                data,
883                                validate,
884                            )
885                            .map(SocketRegistryCalls::getOperatorSocket)
886                    }
887                    getOperatorSocket
888                },
889                {
890                    fn operatorIdToSocket(
891                        data: &[u8],
892                        validate: bool,
893                    ) -> alloy_sol_types::Result<SocketRegistryCalls> {
894                        <operatorIdToSocketCall as alloy_sol_types::SolCall>::abi_decode_raw(
895                                data,
896                                validate,
897                            )
898                            .map(SocketRegistryCalls::operatorIdToSocket)
899                    }
900                    operatorIdToSocket
901                },
902                {
903                    fn slashingRegistryCoordinator(
904                        data: &[u8],
905                        validate: bool,
906                    ) -> alloy_sol_types::Result<SocketRegistryCalls> {
907                        <slashingRegistryCoordinatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
908                                data,
909                                validate,
910                            )
911                            .map(SocketRegistryCalls::slashingRegistryCoordinator)
912                    }
913                    slashingRegistryCoordinator
914                },
915                {
916                    fn setOperatorSocket(
917                        data: &[u8],
918                        validate: bool,
919                    ) -> alloy_sol_types::Result<SocketRegistryCalls> {
920                        <setOperatorSocketCall as alloy_sol_types::SolCall>::abi_decode_raw(
921                                data,
922                                validate,
923                            )
924                            .map(SocketRegistryCalls::setOperatorSocket)
925                    }
926                    setOperatorSocket
927                },
928            ];
929            let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
930                return Err(
931                    alloy_sol_types::Error::unknown_selector(
932                        <Self as alloy_sol_types::SolInterface>::NAME,
933                        selector,
934                    ),
935                );
936            };
937            DECODE_SHIMS[idx](data, validate)
938        }
939        #[inline]
940        fn abi_encoded_size(&self) -> usize {
941            match self {
942                Self::getOperatorSocket(inner) => {
943                    <getOperatorSocketCall as alloy_sol_types::SolCall>::abi_encoded_size(
944                        inner,
945                    )
946                }
947                Self::operatorIdToSocket(inner) => {
948                    <operatorIdToSocketCall as alloy_sol_types::SolCall>::abi_encoded_size(
949                        inner,
950                    )
951                }
952                Self::setOperatorSocket(inner) => {
953                    <setOperatorSocketCall as alloy_sol_types::SolCall>::abi_encoded_size(
954                        inner,
955                    )
956                }
957                Self::slashingRegistryCoordinator(inner) => {
958                    <slashingRegistryCoordinatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
959                        inner,
960                    )
961                }
962            }
963        }
964        #[inline]
965        fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
966            match self {
967                Self::getOperatorSocket(inner) => {
968                    <getOperatorSocketCall as alloy_sol_types::SolCall>::abi_encode_raw(
969                        inner,
970                        out,
971                    )
972                }
973                Self::operatorIdToSocket(inner) => {
974                    <operatorIdToSocketCall as alloy_sol_types::SolCall>::abi_encode_raw(
975                        inner,
976                        out,
977                    )
978                }
979                Self::setOperatorSocket(inner) => {
980                    <setOperatorSocketCall as alloy_sol_types::SolCall>::abi_encode_raw(
981                        inner,
982                        out,
983                    )
984                }
985                Self::slashingRegistryCoordinator(inner) => {
986                    <slashingRegistryCoordinatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
987                        inner,
988                        out,
989                    )
990                }
991            }
992        }
993    }
994    ///Container for all the [`SocketRegistry`](self) custom errors.
995    #[derive(Debug, PartialEq, Eq, Hash)]
996    pub enum SocketRegistryErrors {
997        #[allow(missing_docs)]
998        OnlySlashingRegistryCoordinator(OnlySlashingRegistryCoordinator),
999    }
1000    #[automatically_derived]
1001    impl SocketRegistryErrors {
1002        /// All the selectors of this enum.
1003        ///
1004        /// Note that the selectors might not be in the same order as the variants.
1005        /// No guarantees are made about the order of the selectors.
1006        ///
1007        /// Prefer using `SolInterface` methods instead.
1008        pub const SELECTORS: &'static [[u8; 4usize]] = &[[176u8, 6u8, 200u8, 20u8]];
1009    }
1010    #[automatically_derived]
1011    impl alloy_sol_types::SolInterface for SocketRegistryErrors {
1012        const NAME: &'static str = "SocketRegistryErrors";
1013        const MIN_DATA_LENGTH: usize = 0usize;
1014        const COUNT: usize = 1usize;
1015        #[inline]
1016        fn selector(&self) -> [u8; 4] {
1017            match self {
1018                Self::OnlySlashingRegistryCoordinator(_) => {
1019                    <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::SELECTOR
1020                }
1021            }
1022        }
1023        #[inline]
1024        fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
1025            Self::SELECTORS.get(i).copied()
1026        }
1027        #[inline]
1028        fn valid_selector(selector: [u8; 4]) -> bool {
1029            Self::SELECTORS.binary_search(&selector).is_ok()
1030        }
1031        #[inline]
1032        #[allow(non_snake_case)]
1033        fn abi_decode_raw(
1034            selector: [u8; 4],
1035            data: &[u8],
1036            validate: bool,
1037        ) -> alloy_sol_types::Result<Self> {
1038            static DECODE_SHIMS: &[fn(
1039                &[u8],
1040                bool,
1041            ) -> alloy_sol_types::Result<SocketRegistryErrors>] = &[
1042                {
1043                    fn OnlySlashingRegistryCoordinator(
1044                        data: &[u8],
1045                        validate: bool,
1046                    ) -> alloy_sol_types::Result<SocketRegistryErrors> {
1047                        <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_decode_raw(
1048                                data,
1049                                validate,
1050                            )
1051                            .map(SocketRegistryErrors::OnlySlashingRegistryCoordinator)
1052                    }
1053                    OnlySlashingRegistryCoordinator
1054                },
1055            ];
1056            let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
1057                return Err(
1058                    alloy_sol_types::Error::unknown_selector(
1059                        <Self as alloy_sol_types::SolInterface>::NAME,
1060                        selector,
1061                    ),
1062                );
1063            };
1064            DECODE_SHIMS[idx](data, validate)
1065        }
1066        #[inline]
1067        fn abi_encoded_size(&self) -> usize {
1068            match self {
1069                Self::OnlySlashingRegistryCoordinator(inner) => {
1070                    <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_encoded_size(
1071                        inner,
1072                    )
1073                }
1074            }
1075        }
1076        #[inline]
1077        fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
1078            match self {
1079                Self::OnlySlashingRegistryCoordinator(inner) => {
1080                    <OnlySlashingRegistryCoordinator as alloy_sol_types::SolError>::abi_encode_raw(
1081                        inner,
1082                        out,
1083                    )
1084                }
1085            }
1086        }
1087    }
1088    use alloy::contract as alloy_contract;
1089    /**Creates a new wrapper around an on-chain [`SocketRegistry`](self) contract instance.
1090
1091See the [wrapper's documentation](`SocketRegistryInstance`) for more details.*/
1092    #[inline]
1093    pub const fn new<
1094        T: alloy_contract::private::Transport + ::core::clone::Clone,
1095        P: alloy_contract::private::Provider<T, N>,
1096        N: alloy_contract::private::Network,
1097    >(
1098        address: alloy_sol_types::private::Address,
1099        provider: P,
1100    ) -> SocketRegistryInstance<T, P, N> {
1101        SocketRegistryInstance::<T, P, N>::new(address, provider)
1102    }
1103    /**Deploys this contract using the given `provider` and constructor arguments, if any.
1104
1105Returns a new instance of the contract, if the deployment was successful.
1106
1107For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
1108    #[inline]
1109    pub fn deploy<
1110        T: alloy_contract::private::Transport + ::core::clone::Clone,
1111        P: alloy_contract::private::Provider<T, N>,
1112        N: alloy_contract::private::Network,
1113    >(
1114        provider: P,
1115        _slashingRegistryCoordinator: alloy::sol_types::private::Address,
1116    ) -> impl ::core::future::Future<
1117        Output = alloy_contract::Result<SocketRegistryInstance<T, P, N>>,
1118    > {
1119        SocketRegistryInstance::<T, P, N>::deploy(provider, _slashingRegistryCoordinator)
1120    }
1121    /**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
1122and constructor arguments, if any.
1123
1124This is a simple wrapper around creating a `RawCallBuilder` with the data set to
1125the bytecode concatenated with the constructor's ABI-encoded arguments.*/
1126    #[inline]
1127    pub fn deploy_builder<
1128        T: alloy_contract::private::Transport + ::core::clone::Clone,
1129        P: alloy_contract::private::Provider<T, N>,
1130        N: alloy_contract::private::Network,
1131    >(
1132        provider: P,
1133        _slashingRegistryCoordinator: alloy::sol_types::private::Address,
1134    ) -> alloy_contract::RawCallBuilder<T, P, N> {
1135        SocketRegistryInstance::<
1136            T,
1137            P,
1138            N,
1139        >::deploy_builder(provider, _slashingRegistryCoordinator)
1140    }
1141    /**A [`SocketRegistry`](self) instance.
1142
1143Contains type-safe methods for interacting with an on-chain instance of the
1144[`SocketRegistry`](self) contract located at a given `address`, using a given
1145provider `P`.
1146
1147If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
1148documentation on how to provide it), the `deploy` and `deploy_builder` methods can
1149be used to deploy a new instance of the contract.
1150
1151See the [module-level documentation](self) for all the available methods.*/
1152    #[derive(Clone)]
1153    pub struct SocketRegistryInstance<T, P, N = alloy_contract::private::Ethereum> {
1154        address: alloy_sol_types::private::Address,
1155        provider: P,
1156        _network_transport: ::core::marker::PhantomData<(N, T)>,
1157    }
1158    #[automatically_derived]
1159    impl<T, P, N> ::core::fmt::Debug for SocketRegistryInstance<T, P, N> {
1160        #[inline]
1161        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1162            f.debug_tuple("SocketRegistryInstance").field(&self.address).finish()
1163        }
1164    }
1165    /// Instantiation and getters/setters.
1166    #[automatically_derived]
1167    impl<
1168        T: alloy_contract::private::Transport + ::core::clone::Clone,
1169        P: alloy_contract::private::Provider<T, N>,
1170        N: alloy_contract::private::Network,
1171    > SocketRegistryInstance<T, P, N> {
1172        /**Creates a new wrapper around an on-chain [`SocketRegistry`](self) contract instance.
1173
1174See the [wrapper's documentation](`SocketRegistryInstance`) for more details.*/
1175        #[inline]
1176        pub const fn new(
1177            address: alloy_sol_types::private::Address,
1178            provider: P,
1179        ) -> Self {
1180            Self {
1181                address,
1182                provider,
1183                _network_transport: ::core::marker::PhantomData,
1184            }
1185        }
1186        /**Deploys this contract using the given `provider` and constructor arguments, if any.
1187
1188Returns a new instance of the contract, if the deployment was successful.
1189
1190For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
1191        #[inline]
1192        pub async fn deploy(
1193            provider: P,
1194            _slashingRegistryCoordinator: alloy::sol_types::private::Address,
1195        ) -> alloy_contract::Result<SocketRegistryInstance<T, P, N>> {
1196            let call_builder = Self::deploy_builder(
1197                provider,
1198                _slashingRegistryCoordinator,
1199            );
1200            let contract_address = call_builder.deploy().await?;
1201            Ok(Self::new(contract_address, call_builder.provider))
1202        }
1203        /**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
1204and constructor arguments, if any.
1205
1206This is a simple wrapper around creating a `RawCallBuilder` with the data set to
1207the bytecode concatenated with the constructor's ABI-encoded arguments.*/
1208        #[inline]
1209        pub fn deploy_builder(
1210            provider: P,
1211            _slashingRegistryCoordinator: alloy::sol_types::private::Address,
1212        ) -> alloy_contract::RawCallBuilder<T, P, N> {
1213            alloy_contract::RawCallBuilder::new_raw_deploy(
1214                provider,
1215                [
1216                    &BYTECODE[..],
1217                    &alloy_sol_types::SolConstructor::abi_encode(
1218                        &constructorCall {
1219                            _slashingRegistryCoordinator,
1220                        },
1221                    )[..],
1222                ]
1223                    .concat()
1224                    .into(),
1225            )
1226        }
1227        /// Returns a reference to the address.
1228        #[inline]
1229        pub const fn address(&self) -> &alloy_sol_types::private::Address {
1230            &self.address
1231        }
1232        /// Sets the address.
1233        #[inline]
1234        pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1235            self.address = address;
1236        }
1237        /// Sets the address and returns `self`.
1238        pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1239            self.set_address(address);
1240            self
1241        }
1242        /// Returns a reference to the provider.
1243        #[inline]
1244        pub const fn provider(&self) -> &P {
1245            &self.provider
1246        }
1247    }
1248    impl<T, P: ::core::clone::Clone, N> SocketRegistryInstance<T, &P, N> {
1249        /// Clones the provider and returns a new instance with the cloned provider.
1250        #[inline]
1251        pub fn with_cloned_provider(self) -> SocketRegistryInstance<T, P, N> {
1252            SocketRegistryInstance {
1253                address: self.address,
1254                provider: ::core::clone::Clone::clone(&self.provider),
1255                _network_transport: ::core::marker::PhantomData,
1256            }
1257        }
1258    }
1259    /// Function calls.
1260    #[automatically_derived]
1261    impl<
1262        T: alloy_contract::private::Transport + ::core::clone::Clone,
1263        P: alloy_contract::private::Provider<T, N>,
1264        N: alloy_contract::private::Network,
1265    > SocketRegistryInstance<T, P, N> {
1266        /// Creates a new call builder using this contract instance's provider and address.
1267        ///
1268        /// Note that the call can be any function call, not just those defined in this
1269        /// contract. Prefer using the other methods for building type-safe contract calls.
1270        pub fn call_builder<C: alloy_sol_types::SolCall>(
1271            &self,
1272            call: &C,
1273        ) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
1274            alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1275        }
1276        ///Creates a new call builder for the [`getOperatorSocket`] function.
1277        pub fn getOperatorSocket(
1278            &self,
1279            _operatorId: alloy::sol_types::private::FixedBytes<32>,
1280        ) -> alloy_contract::SolCallBuilder<T, &P, getOperatorSocketCall, N> {
1281            self.call_builder(
1282                &getOperatorSocketCall {
1283                    _operatorId,
1284                },
1285            )
1286        }
1287        ///Creates a new call builder for the [`operatorIdToSocket`] function.
1288        pub fn operatorIdToSocket(
1289            &self,
1290            _0: alloy::sol_types::private::FixedBytes<32>,
1291        ) -> alloy_contract::SolCallBuilder<T, &P, operatorIdToSocketCall, N> {
1292            self.call_builder(&operatorIdToSocketCall { _0 })
1293        }
1294        ///Creates a new call builder for the [`setOperatorSocket`] function.
1295        pub fn setOperatorSocket(
1296            &self,
1297            _operatorId: alloy::sol_types::private::FixedBytes<32>,
1298            _socket: alloy::sol_types::private::String,
1299        ) -> alloy_contract::SolCallBuilder<T, &P, setOperatorSocketCall, N> {
1300            self.call_builder(
1301                &setOperatorSocketCall {
1302                    _operatorId,
1303                    _socket,
1304                },
1305            )
1306        }
1307        ///Creates a new call builder for the [`slashingRegistryCoordinator`] function.
1308        pub fn slashingRegistryCoordinator(
1309            &self,
1310        ) -> alloy_contract::SolCallBuilder<T, &P, slashingRegistryCoordinatorCall, N> {
1311            self.call_builder(&slashingRegistryCoordinatorCall {})
1312        }
1313    }
1314    /// Event filters.
1315    #[automatically_derived]
1316    impl<
1317        T: alloy_contract::private::Transport + ::core::clone::Clone,
1318        P: alloy_contract::private::Provider<T, N>,
1319        N: alloy_contract::private::Network,
1320    > SocketRegistryInstance<T, P, N> {
1321        /// Creates a new event filter using this contract instance's provider and address.
1322        ///
1323        /// Note that the type can be any event, not just those defined in this contract.
1324        /// Prefer using the other methods for building type-safe event filters.
1325        pub fn event_filter<E: alloy_sol_types::SolEvent>(
1326            &self,
1327        ) -> alloy_contract::Event<T, &P, E, N> {
1328            alloy_contract::Event::new_sol(&self.provider, &self.address)
1329        }
1330    }
1331}