Skip to content

Commit

Permalink
Integrate Ejection Manager into eigenda-operator-state subgraphs
Browse files Browse the repository at this point in the history
Abstract networks to handle lack of preprod-holesky support on graph cli
  • Loading branch information
pschork committed Oct 11, 2024
1 parent 9910b72 commit f16fef7
Show file tree
Hide file tree
Showing 10 changed files with 603 additions and 175 deletions.
4 changes: 3 additions & 1 deletion subgraphs/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

eigenda-operator-state/networks.json
eigenda-operator-state/subgraph.yaml
eigenda-operator-state/Makefile

eigenda-batch-metadata/networks.json
eigenda-batch-metadata/subgraph.yaml
eigenda-batch-metadata/subgraph.yaml
eigenda-batch-metadata/Makefile
1 change: 1 addition & 0 deletions subgraphs/eigenda-operator-state/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v0.7.0
300 changes: 300 additions & 0 deletions subgraphs/eigenda-operator-state/abis/EjectionManager.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,300 @@
[
{
"inputs": [
{
"internalType": "contract IRegistryCoordinator",
"name": "_registryCoordinator",
"type": "address"
},
{
"internalType": "contract IStakeRegistry",
"name": "_stakeRegistry",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "ejector",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "status",
"type": "bool"
}
],
"name": "EjectorUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "operatorId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint8",
"name": "quorumNumber",
"type": "uint8"
}
],
"name": "OperatorEjected",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint32",
"name": "ejectedOperators",
"type": "uint32"
},
{
"indexed": false,
"internalType": "bool",
"name": "ratelimitHit",
"type": "bool"
}
],
"name": "QuorumEjection",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "quorumNumber",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint32",
"name": "rateLimitWindow",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint16",
"name": "ejectableStakePercent",
"type": "uint16"
}
],
"name": "QuorumEjectionParamsSet",
"type": "event"
},
{
"inputs": [
{ "internalType": "uint8", "name": "_quorumNumber", "type": "uint8" }
],
"name": "amountEjectableForQuorum",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32[][]",
"name": "_operatorIds",
"type": "bytes32[][]"
}
],
"name": "ejectOperators",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "_owner", "type": "address" },
{ "internalType": "address[]", "name": "_ejectors", "type": "address[]" },
{
"components": [
{
"internalType": "uint32",
"name": "rateLimitWindow",
"type": "uint32"
},
{
"internalType": "uint16",
"name": "ejectableStakePercent",
"type": "uint16"
}
],
"internalType": "struct IEjectionManager.QuorumEjectionParams[]",
"name": "_quorumEjectionParams",
"type": "tuple[]"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
"name": "isEjector",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],
"name": "quorumEjectionParams",
"outputs": [
{ "internalType": "uint32", "name": "rateLimitWindow", "type": "uint32" },
{
"internalType": "uint16",
"name": "ejectableStakePercent",
"type": "uint16"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "registryCoordinator",
"outputs": [
{
"internalType": "contract IRegistryCoordinator",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "_ejector", "type": "address" },
{ "internalType": "bool", "name": "_status", "type": "bool" }
],
"name": "setEjector",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint8", "name": "_quorumNumber", "type": "uint8" },
{
"components": [
{
"internalType": "uint32",
"name": "rateLimitWindow",
"type": "uint32"
},
{
"internalType": "uint16",
"name": "ejectableStakePercent",
"type": "uint16"
}
],
"internalType": "struct IEjectionManager.QuorumEjectionParams",
"name": "_quorumEjectionParams",
"type": "tuple"
}
],
"name": "setQuorumEjectionParams",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint8", "name": "", "type": "uint8" },
{ "internalType": "uint256", "name": "", "type": "uint256" }
],
"name": "stakeEjectedForQuorum",
"outputs": [
{ "internalType": "uint256", "name": "timestamp", "type": "uint256" },
{ "internalType": "uint256", "name": "stakeEjected", "type": "uint256" }
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "stakeRegistry",
"outputs": [
{
"internalType": "contract IStakeRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "newOwner", "type": "address" }
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
28 changes: 28 additions & 0 deletions subgraphs/eigenda-operator-state/networks/mainnet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"mainnet": {
"RegistryCoordinator": {
"address": "0x0BAAc79acD45A023E19345c352d8a7a83C4e5656",
"startBlock": 19592322
},
"BLSApkRegistry": {
"address": "0x00A5Fd09F6CeE6AE9C8b0E5e33287F7c82880505",
"startBlock": 19592322
},
"BLSApkRegistry_Operator": {
"address": "0x00A5Fd09F6CeE6AE9C8b0E5e33287F7c82880505",
"startBlock": 19592322
},
"RegistryCoordinator_Operator": {
"address": "0x0BAAc79acD45A023E19345c352d8a7a83C4e5656",
"startBlock": 19592322
},
"BLSApkRegistry_QuorumApkUpdates": {
"address": "0x00A5Fd09F6CeE6AE9C8b0E5e33287F7c82880505",
"startBlock": 19592322
},
"EjectionManager": {
"address": "0x130d8EA0052B45554e4C99079B84df292149Bd5E",
"startBlock": 19839949
}
}
}
28 changes: 28 additions & 0 deletions subgraphs/eigenda-operator-state/networks/preprod.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"holesky": {
"RegistryCoordinator": {
"address": "0x2c61EA360D6500b58E7f481541A36B443Bc858c6",
"startBlock": 1161126
},
"BLSApkRegistry": {
"address": "0xAd7f9e558170a149Ca8E90f41Ab2444A5d3bd6aD",
"startBlock": 1161126
},
"BLSApkRegistry_Operator": {
"address": "0xAd7f9e558170a149Ca8E90f41Ab2444A5d3bd6aD",
"startBlock": 1161126
},
"RegistryCoordinator_Operator": {
"address": "0x2c61EA360D6500b58E7f481541A36B443Bc858c6",
"startBlock": 1161126
},
"BLSApkRegistry_QuorumApkUpdates": {
"address": "0xAd7f9e558170a149Ca8E90f41Ab2444A5d3bd6aD",
"startBlock": 1161126
},
"EjectionManager": {
"address": "0xEEed164605833263B7690bB521983b777D128698",
"startBlock": 1367682
}
}
}
Loading

0 comments on commit f16fef7

Please sign in to comment.