Skip to content

Commit cf9a938

Browse files
committed
chore: fix compile + tests
1 parent db4db08 commit cf9a938

22 files changed

+2205
-7283
lines changed

docs/core/AllocationManager.md

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ The `AllocationManager` manages AVS metadata registration, registration and dere
4040

4141
---
4242

43-
<<<<<<< HEAD
4443
## AVS Metadata
4544

4645
AVSs must register their metadata to declare themselves who they are as the first step, before they can create operator sets or register operators into operator sets. `AllocationManager` keeps track of AVSs that have registered metadata.
@@ -139,8 +138,6 @@ Later on, once AVSs have created operator sets, content in their metadata URI ca
139138
* Caller MUST be authorized, either as the AVS itself or an admin/appointee (see [`PermissionController.md`](../permissions/PermissionController.md))
140139

141140

142-
=======
143-
>>>>>>> dev
144141
## Operator Sets
145142

146143
Operator sets, as described in [ELIP-002](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md#operator-sets), are useful for AVSs to configure operator groupings which can be assigned different tasks, rewarded based on their strategy allocations, and slashed according to different rules. Operator sets are defined in [`libraries/OperatorSetLib.sol`](../../src/contracts/libraries/OperatorSetLib.sol):
@@ -248,10 +245,7 @@ Optionally, the `avs` can provide a list of `strategies`, specifying which strat
248245

249246
*Requirements*:
250247
* Caller MUST be authorized, either as the AVS itself or an admin/appointee (see [`PermissionController.md`](../permissions/PermissionController.md))
251-
<<<<<<< HEAD
252248
* AVS MUST have registered metadata
253-
=======
254-
>>>>>>> dev
255249
* For each `CreateSetParams` element:
256250
* Each `params.operatorSetId` MUST NOT already exist in `_operatorSets[avs]`
257251

@@ -570,11 +564,7 @@ _Note: this method can be called directly by an operator, or by a caller authori
570564

571565
This function is called by an operator to EITHER increase OR decrease the slashable magnitude allocated from a strategy to an operator set. As input, the operator provides an operator set as the target, and a list of strategies and corresponding `newMagnitudes` to allocate. The `newMagnitude` value is compared against the operator's current `Allocation` for that operator set/strategy:
572566
* If `newMagnitude` is _greater than_ `Allocation.currentMagnitude`, this is an allocation
573-
<<<<<<< HEAD
574-
* If `newMagnitude` is _less than_ `Allocation.currentMagnitude`, this is a dellocation
575-
=======
576567
* If `newMagnitude` is _less than_ `Allocation.currentMagnitude`, this is a deallocation
577-
>>>>>>> dev
578568
* If `newMagnitude` is _equal to_ `Allocation.currentMagnitude`, this is invalid (revert)
579569

580570
Allocation modifications play by different rules depending on a few factors. Recall that at all times, the `encumberedMagnitude` for a strategy may not exceed that strategy's `maxMagnitude`. Additionally, note that _before processing a modification for a strategy,_ the `deallocationQueue` for that strategy is first cleared. This ensures any completable deallocations are processed first, freeing up magnitude for allocation. This process is further explained in [`clearDeallocationQueue`](#cleardeallocationqueue).
@@ -661,11 +651,7 @@ This queue contains a per-strategy ordered list of operator sets that, due to pr
661651
This method stops iterating when: the queue is empty, a deallocation is reached that cannot be completed yet, or when it has cleared `numToClear` entries from the queue.
662652

663653
*Effects*:
664-
<<<<<<< HEAD
665-
* For each `strategy` and _completeable_ deallocation in `deallocationQueue[operator][strategy]`:
666-
=======
667654
* For each `strategy` and _completable_ deallocation in `deallocationQueue[operator][strategy]`:
668-
>>>>>>> dev
669655
* Pops the corresponding operator set from the `deallocationQueue`
670656
* Reduces `allocation.currentMagnitude` by the deallocated amount
671657
* Sets `allocation.pendingDiff` and `allocation.effectBlock` to 0
@@ -700,7 +686,6 @@ struct SlashingParams {
700686
}
701687
702688
/**
703-
<<<<<<< HEAD
704689
* @notice Called by an AVS to slash an operator in a given operator set. The operator must be registered
705690
* and have slashable stake allocated to the operator set.
706691
*
@@ -721,9 +706,6 @@ struct SlashingParams {
721706
* @dev Small slashing amounts may not result in actual token burns due to
722707
* rounding, which will result in small amounts of tokens locked in the contract
723708
* rather than fully burning through the burn mechanism.
724-
=======
725-
* @notice Called by an AVS to slash an operator in a given operator set
726-
>>>>>>> dev
727709
*/
728710
function slashOperator(
729711
address avs,
@@ -740,11 +722,7 @@ AVSs use slashing as a punitive disincentive for misbehavior. For details and ex
740722

741723
In order to slash an eligible operator, the AVS specifies which operator set the operator belongs to, the `strategies` the operator should be slashed for, and for each strategy, the _proportion of the operator's allocated magnitude_ that should be slashed (given by `wadsToSlash`). An optional `description` string allows the AVS to add context to the slash.
742724

743-
<<<<<<< HEAD
744725
Once triggered in the `AllocationManager`, slashing is instant and irreversable. For each slashed strategy, the operator's `maxMagnitude` and `encumberedMagnitude` are decreased, and the allocation made to the given operator set has its `currentMagnitude` reduced. See [TODO - Accounting Doc]() for details on how slashed amounts are calculated.
745-
=======
746-
Once triggered in the `AllocationManager`, slashing is instant and irreversible. For each slashed strategy, the operator's `maxMagnitude` and `encumberedMagnitude` are decreased, and the allocation made to the given operator set has its `currentMagnitude` reduced. See [TODO - Accounting Doc]() for details on how slashed amounts are calculated.
747-
>>>>>>> dev
748726

749727
There are two edge cases to note for this method:
750728
1. In the process of slashing an `operator` for a given `strategy`, if the `Allocation` being slashed has a `currentMagnitude` of 0, the call will NOT revert. Instead, the `strategy` is skipped and slashing continues with the next `strategy` listed. This is to prevent an edge case where slashing occurs on or around a deallocation's `effectBlock` -- if the call reverted, the entire slash would fail. Skipping allows any valid slashes to be processed without requiring resubmission.
@@ -788,10 +766,7 @@ Once slashing is processed for a strategy, [slashed stake is burned via the `Del
788766
**Methods:**
789767
* [`setAllocationDelay`](#setallocationdelay)
790768
* [`setAVSRegistrar`](#setavsregistrar)
791-
<<<<<<< HEAD
792-
=======
793769
* [`updateAVSMetadataURI`](#updateavsmetadatauri)
794-
>>>>>>> dev
795770

796771
#### `setAllocationDelay`
797772

@@ -882,8 +857,6 @@ Note that when an operator registers, registration will FAIL if the call to `IAV
882857

883858
*Requirements*:
884859
* Caller MUST be authorized, either as the AVS itself or an admin/appointee (see [`PermissionController.md`](../permissions/PermissionController.md))
885-
<<<<<<< HEAD
886-
=======
887860

888861
#### `updateAVSMetadataURI`
889862

@@ -960,4 +933,3 @@ Below is the format AVSs should use when updating their metadata URI. This is no
960933

961934
*Requirements*:
962935
* Caller MUST be authorized, either as the AVS itself or an admin/appointee (see [`PermissionController.md`](../permissions/PermissionController.md))
963-
>>>>>>> dev

foundry.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
# Specifies the exact version of Solidity to use, overriding auto-detection.
2525
solc_version = '0.8.27'
2626
# If enabled, treats Solidity compiler warnings as errors, preventing artifact generation if warnings are present.
27-
deny_warnings = true
27+
deny_warnings = false
2828
# If set to true, changes compilation pipeline to go through the new IR optimizer.
2929
via_ir = false
3030
# Whether or not to enable the Solidity optimizer.
Lines changed: 45 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,48 @@
11
{
2-
"addresses": {
3-
"avsDirectory": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707",
4-
"avsDirectoryImplementation": "0x9A676e781A523b5d0C0e43731313A708CB607508",
5-
"baseStrategyImplementation": "0x7a2088a1bFc9d81c55368AE168C2C02570cB814F",
6-
"delayedWithdrawalRouter": "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6",
7-
"delayedWithdrawalRouterImplementation": "0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE",
8-
"delegation": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",
9-
"delegationImplementation": "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0",
10-
"eigenLayerPauserReg": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
11-
"eigenLayerProxyAdmin": "0x5FbDB2315678afecb367f032d93F642f64180aa3",
12-
"eigenPodBeacon": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e",
13-
"eigenPodImplementation": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788",
14-
"eigenPodManager": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
15-
"eigenPodManagerImplementation": "0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1",
16-
"emptyContract": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0",
17-
"rewardsCoordinator": "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318",
18-
"rewardsCoordinatorImplementation": "0x68B1D87F95878fE05B998F19b66F4baba5De1aed",
19-
"slasher": "0x0165878A594ca255338adfa4d48449f69242Eb8F",
20-
"slasherImplementation": "0x0B306BF915C4d645ff596e518fAf3F9669b97016",
21-
"strategies": "",
22-
"strategyManager": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
23-
"strategyManagerImplementation": "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82"
2+
"addresses": {
3+
"allocationManager": "0xD718d5A27a29FF1cD22403426084bA0d479869a0",
4+
"allocationManagerImplementation": "0x20A42a5a785622c6Ba2576B2D6e924aA82BFA11D",
5+
"avsDirectory": "0x50EEf481cae4250d252Ae577A09bF514f224C6C4",
6+
"avsDirectoryImplementation": "0x8B71b41D4dBEb2b6821d44692d3fACAAf77480Bb",
7+
"baseStrategyImplementation": "0x29C66C9208f106f34754814f488FA80b6d566790",
8+
"delegationManager": "0xBb2180ebd78ce97360503434eD37fcf4a1Df61c3",
9+
"delegationManagerImplementation": "0x4C52a6277b1B84121b3072C0c92b6Be0b7CC10F1",
10+
"eigenLayerPauserReg": "0x90193C961A926261B756D1E5bb255e67ff9498A1",
11+
"eigenLayerProxyAdmin": "0x34A1D3fff3958843C43aD80F30b94c510645C316",
12+
"eigenPodBeacon": "0xd21060559c9beb54fC07aFd6151aDf6cFCDDCAeB",
13+
"eigenPodImplementation": "0x416C42991d05b31E9A6dC209e91AD22b79D87Ae6",
14+
"eigenPodManager": "0x62c20Aa1e0272312BC100b4e23B4DC1Ed96dD7D1",
15+
"eigenPodManagerImplementation": "0x1c23A6d89F95ef3148BCDA8E242cAb145bf9c0E4",
16+
"emptyContract": "0xA8452Ec99ce0C64f20701dB7dD3abDb607c00496",
17+
"numStrategiesDeployed": 0,
18+
"permissionController": "0x4f559F30f5eB88D635FDe1548C4267DB8FaB0351",
19+
"permissionControllerImplementation": "0xDeF3bca8c80064589E6787477FFa7Dd616B5574F",
20+
"rewardsCoordinator": "0xDEb1E9a6Be7Baf84208BB6E10aC9F9bbE1D70809",
21+
"rewardsCoordinatorImplementation": "0x0c8b5822b6e02CDa722174F19A1439A7495a3fA6",
22+
"strategies": {
23+
"WETH": "0xC92B57772d68b7445F19ef9f08226f4C8C74E499"
2424
},
25-
"chainInfo": {
26-
"chainId": 31337,
27-
"deploymentBlock": 0
28-
},
29-
"parameters": {
30-
"executorMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
31-
"operationsMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
25+
"strategyManager": "0xDB8cFf278adCCF9E9b5da745B44E754fC4EE3C76",
26+
"strategyManagerImplementation": "0x978e3286EB805934215a88694d80b09aDed68D90",
27+
"token": {
28+
"tokenProxyAdmin": "0x0000000000000000000000000000000000000000",
29+
"EIGEN": "0x0000000000000000000000000000000000000000",
30+
"bEIGEN": "0x0000000000000000000000000000000000000000",
31+
"EIGENImpl": "0x0000000000000000000000000000000000000000",
32+
"bEIGENImpl": "0x0000000000000000000000000000000000000000",
33+
"eigenStrategy": "0x0000000000000000000000000000000000000000",
34+
"eigenStrategyImpl": "0x0000000000000000000000000000000000000000"
3235
}
33-
}
36+
},
37+
"chainInfo": {
38+
"chainId": 31337,
39+
"deploymentBlock": 1
40+
},
41+
"parameters": {
42+
"communityMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
43+
"executorMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
44+
"operationsMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
45+
"pauserMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
46+
"timelock": "0x0000000000000000000000000000000000000000"
47+
}
48+
}

script/releases/v1.1.0-slashing/1-eoa.s.sol

Lines changed: 0 additions & 152 deletions
This file was deleted.

0 commit comments

Comments
 (0)