Skip to content

Commit 51b73f2

Browse files
wadealexcseanmcgarygpsanant8sunyuan
authored
chore: merge dev into mainnet (#539)
* chore: add cantina report and rename files for clarity (#526) * chore: cleanup script for generating bindings (#532) * update readme * add setup step to readme * chore: add token contracts (#535) * add token contracts * write eigen strategy script * deploy on holesky and update mainnet config * chore: add token deploy script (#536) * write eigen strategy script * deploy on holesky and update mainnet config * fix pragmas * add to readme * fix nit * label strategy * add header * add eigen/beigen to readme * docs: fix typo in README and gen bindings for token contracts * chore: gen bindings Co-authored-by: wadealexc <[email protected]> Co-authored-by: Sean McGary <[email protected]> Co-authored-by: Gautham Anant <[email protected]> Co-authored-by: 8sunyuan <[email protected]>
1 parent 7229f2b commit 51b73f2

File tree

165 files changed

+74196
-11
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+74196
-11
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: CI
2+
3+
on: [push]
4+
5+
jobs:
6+
check-compilation:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v3
10+
with:
11+
fetch-depth: 0
12+
- name: Build and validate
13+
if: github.event_name == 'push'
14+
run: |
15+
sudo apt-get update
16+
sudo apt-get install -y make curl git software-properties-common jq
17+
sudo add-apt-repository -y ppa:longsleep/golang-backports
18+
sudo apt-get update
19+
sudo apt-get install -y golang-1.22
20+
sudo update-alternatives --install /usr/local/bin/go go /usr/lib/go-1.22/bin/go 1
21+
mkdir ~/.go
22+
export GOPATH=~/.go
23+
export PATH=$PATH:~/.go/bin
24+
go install github.com/ethereum/go-ethereum/cmd/[email protected]
25+
curl -L https://foundry.paradigm.xyz | bash
26+
export PATH=$PATH:/home/runner/.config/.foundry/bin
27+
source ~/.bashrc
28+
foundryup
29+
make bindings
30+
if [ ! -z "$(git status --porcelain)" ]; then git diff; git status; exit 1; fi

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,6 @@ test.sh
4242

4343
# Surya outputs
4444
InheritanceGraph.png
45-
surya_report.md
45+
surya_report.md
46+
47+
.idea

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,9 @@
1010
[submodule "lib/openzeppelin-contracts"]
1111
path = lib/openzeppelin-contracts
1212
url = https://github.com/OpenZeppelin/openzeppelin-contracts
13+
[submodule "lib/openzeppelin-contracts-v4.9.0"]
14+
path = lib/openzeppelin-contracts-v4.9.0
15+
url = https://github.com/OpenZeppelin/openzeppelin-contracts
16+
[submodule "lib/openzeppelin-contracts-upgradeable-v4.9.0"]
17+
path = lib/openzeppelin-contracts-upgradeable-v4.9.0
18+
url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable

Makefile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
2+
.PHONY: install-hooks
3+
install-hooks:
4+
cp scripts/pre-commit.sh .git/hooks/pre-commit
5+
6+
.PHONY: deps
7+
deps: install-hooks
8+
brew install libusb
9+
go install github.com/ethereum/go-ethereum/cmd/abigen@latest
10+
curl -L https://foundry.paradigm.xyz | bash
11+
foundryup
12+
13+
.PHONY: compile
14+
compile:
15+
forge b
16+
17+
.PHONY: bindings
18+
bindings: compile
19+
./scripts/compile-bindings.sh

README.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ The main branches we use are:
2020

2121
## Documentation
2222

23+
### Setup
24+
25+
To set up this repo for the first time, run:
26+
27+
```bash
28+
make deps
29+
```
30+
31+
This will:
32+
* Install the pre-commit hook
33+
* Install foundry and its tools
34+
* Install abigen
35+
2336
### Basics
2437

2538
To get a basic understanding of EigenLayer, check out [You Could've Invented EigenLayer](https://www.blog.eigenlayer.xyz/ycie/). Note that some of the document's content describes features that do not exist yet (like the Slasher). To understand more about how restakers and operators interact with EigenLayer, check out these guides:
@@ -41,6 +54,8 @@ foundryup
4154
4255
forge build
4356
forge test
57+
58+
make bindings
4459
```
4560

4661
### Running Fork Tests
@@ -83,6 +98,12 @@ surya inheritance ./src/contracts/**/*.sol | dot -Tpng > InheritanceGraph.png
8398
surya mdreport surya_report.md ./src/contracts/**/*.sol
8499
```
85100

101+
### Generate Go bindings
102+
103+
```bash
104+
make bindings
105+
```
106+
86107
## Deployments
87108

88109
### Current Mainnet Deployment
@@ -99,7 +120,7 @@ The current mainnet deployment is our M2 release. You can view the deployed cont
99120
| [`AVSDirectory`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/4b15d68b7e16b5965bad398496bfce57f5a47e1b/src/contracts/core/AVSDirectory.sol) | [`0x135dda560e946695d6f155dacafc6f1f25c1f5af`](https://etherscan.io/address/0x135dda560e946695d6f155dacafc6f1f25c1f5af) | [`0xdabd...a5b7`](https://etherscan.io/address/0xdabdb3cd346b7d5f5779b0b614ede1cc9dcba5b7) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
100121
| [`Slasher`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/4b15d68b7e16b5965bad398496bfce57f5a47e1b/src/contracts/core/Slasher.sol) | [`0xD92145c07f8Ed1D392c1B88017934E301CC1c3Cd`](https://etherscan.io/address/0xD92145c07f8Ed1D392c1B88017934E301CC1c3Cd) | [`0xf323...6614`](https://etherscan.io/address/0xf3234220163a757edf1e11a8a085638d9b236614) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
101122

102-
###### Strategies
123+
###### Strategies - ETH
103124

104125
| Name | Proxy | Implementation | Notes |
105126
| -------- | -------- | -------- | -------- |
@@ -117,6 +138,12 @@ The current mainnet deployment is our M2 release. You can view the deployed cont
117138
| [`StrategyBase (mETH)`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/mainnet/src/contracts/strategies/StrategyBaseTVLLimits.sol) | [`0x298aFB19A105D59E74658C4C334Ff360BadE6dd2`](https://etherscan.io/address/0x298aFB19A105D59E74658C4C334Ff360BadE6dd2) | [`0xdfdA...46d3`](https://etherscan.io/address/0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
118139
| `Beacon Chain ETH` | `0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0` | - | - Used for Beacon Chain ETH shares <br />- Not a real contract! |
119140

141+
###### Strategies - EIGEN
142+
143+
| Name | Proxy | Implementation | Notes |
144+
| -------- | -------- | -------- | -------- |
145+
| [`EigenStrategy (EIGEN)`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/mainnet/src/contracts/strategies/EigenStrategy.sol) | [`0xaCB55C530Acdb2849e6d4f36992Cd8c9D50ED8F7`](https://etherscan.io/address/0xaCB55C530Acdb2849e6d4f36992Cd8c9D50ED8F7) | [`0x27e7...0428`](https://etherscan.io/address/0x27e7a3a81741b9fcc5ad7edcbf9f8a72a5c00428) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.0/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
146+
120147
###### EigenPods
121148

122149
| Name | Proxy | Implementation | Notes |
@@ -125,6 +152,13 @@ The current mainnet deployment is our M2 release. You can view the deployed cont
125152
| [`DelayedWithdrawalRouter`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/4b15d68b7e16b5965bad398496bfce57f5a47e1b/src/contracts/pods/DelayedWithdrawalRouter.sol) | [`0x7Fe7E9CC0F274d2435AD5d56D5fa73E47F6A23D8`](https://etherscan.io/address/0x7Fe7E9CC0F274d2435AD5d56D5fa73E47F6A23D8) | [`0x4bb6...4226`](https://etherscan.io/address/0x4bb6731b02314d40abbffbc4540f508874014226) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
126153
| [`EigenLayerBeaconOracle`](https://github.com/succinctlabs/eigenlayer-beacon-oracle/blob/main/contracts/src/EigenLayerBeaconOracle.sol) | - | [`0x3439...5442`](https://etherscan.io/address/0x343907185b71adf0eba9567538314396aa985442) | Provided by [Succinct](https://succinct.xyz/) |
127154

155+
###### EIGEN/bEIGEN
156+
157+
| Name | Proxy | Implementation | Notes |
158+
| -------- | -------- | -------- | -------- |
159+
| [`Eigen`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/mainnet/src/contracts/token/Eigen.sol) | [`0xec53bf9167f50cdeb3ae105f56099aaab9061f83`](https://etherscan.io/address/0xec53bf9167f50cdeb3ae105f56099aaab9061f83) | [`0x7ec3...700b`](https://etherscan.io/address/0x7ec354c84680112d3cff1544ec1eb19ca583700b) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.0/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
160+
| [`Backing Eigen`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/mainnet/src/contracts/token/BackingEigen.sol) | [`0x83E9115d334D248Ce39a6f36144aEaB5b3456e75`](https://etherscan.io/address/0x83E9115d334D248Ce39a6f36144aEaB5b3456e75) | [`0xB91c...FFE3`](https://etherscan.io/address/0xB91c69Af3eE022bd0a59Da082945914BFDcEFFE3) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.0/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
161+
128162
###### Multisigs
129163

130164
| Name | Proxy | Implementation | Notes |
@@ -153,7 +187,7 @@ The current testnet deployment is on holesky, and is from our M2 beta release. Y
153187
| [`AVSDirectory`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/core/AVSDirectory.sol) | [`0x055733000064333CaDDbC92763c58BF0192fFeBf`](https://holesky.etherscan.io/address/0x055733000064333CaDDbC92763c58BF0192fFeBf) | [`0xEF5B...3e3a`](https://holesky.etherscan.io/address/0xEF5BA995Bc7722fd1e163edF8Dc09375de3d3e3a) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
154188
| [`Slasher`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/core/Slasher.sol) | [`0xcAe751b75833ef09627549868A04E32679386e7C`](https://holesky.etherscan.io/address/0xcAe751b75833ef09627549868A04E32679386e7C) | [`0x9971...345A`](https://holesky.etherscan.io/address/0x99715D255E34a39bE9943b82F281CA734bcF345A) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
155189

156-
###### Strategies
190+
###### Strategies - ETH
157191

158192
| Name | Proxy | Implementation | Notes |
159193
| -------- | -------- | -------- | -------- |
@@ -169,6 +203,12 @@ The current testnet deployment is on holesky, and is from our M2 beta release. Y
169203
| [`StrategyBase (ankrETH)`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/strategies/StrategyBaseTVLLimits.sol) | [`0x7673a47463F80c6a3553Db9E54c8cDcd5313d0ac`](https://holesky.etherscan.io/address/0x7673a47463F80c6a3553Db9E54c8cDcd5313d0ac) | [`0xFb83...3305`](https://holesky.etherscan.io/address/0xFb83e1D133D0157775eC4F19Ff81478Df1103305) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
170204
| `Beacon Chain ETH` | `0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0` | - | - Used for Beacon Chain ETH shares <br />- Not a real contract! |
171205

206+
###### Strategies - EIGEN
207+
208+
| Name | Proxy | Implementation | Notes |
209+
| -------- | -------- | -------- | -------- |
210+
| [`EigenStrategy (EIGEN)`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/strategies/EigenStrategy.sol) | [`0x43252609bff8a13dFe5e057097f2f45A24387a84`](https://holesky.etherscan.io/address/0x43252609bff8a13dFe5e057097f2f45A24387a84) | [`0x9465...2697`](https://holesky.etherscan.io/address/0x94650e09a471CEF96e7966cabf26718FBf352697) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
211+
172212
###### EigenPods
173213

174214
| Name | Proxy | Implementation | Notes |
@@ -177,6 +217,13 @@ The current testnet deployment is on holesky, and is from our M2 beta release. Y
177217
| [`DelayedWithdrawalRouter`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/pods/DelayedWithdrawalRouter.sol) | [`0x642c646053eaf2254f088e9019ACD73d9AE0FA32`](https://holesky.etherscan.io/address/0x642c646053eaf2254f088e9019ACD73d9AE0FA32) | [`0xcE8b...3407`](https://holesky.etherscan.io/address/0xcE8b8D99773a718423F8040a6e52c06a4ce63407) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
178218
| [`EigenLayerBeaconOracle`](https://github.com/succinctlabs/eigenlayer-beacon-oracle/blob/main/contracts/src/EigenLayerBeaconOracle.sol) | - | [`0x4C11...8f25`](https://holesky.etherscan.io/address/0x4C116BB629bff7A8373c2378bBd919f8349B8f25) | Provided by [Succinct](https://succinct.xyz/) |
179219

220+
###### EIGEN/bEIGEN
221+
222+
| Name | Proxy | Implementation | Notes |
223+
| -------- | -------- | -------- | -------- |
224+
| [`Eigen`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/token/Eigen.sol) | [`0x3B78576F7D6837500bA3De27A60c7f594934027E`](https://holesky.etherscan.io/address/0x3B78576F7D6837500bA3De27A60c7f594934027E) | [`0x083b...8c5a`](https://holesky.etherscan.io/address/0x083bC9e0DCF2C3e13E24686e5202232995578c5a) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
225+
| [`Backing Eigen`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/token/BackingEigen.sol) | [`0x275cCf9Be51f4a6C94aBa6114cdf2a4c45B9cb27`](https://holesky.etherscan.io/address/0x275cCf9Be51f4a6C94aBa6114cdf2a4c45B9cb27) | [`0x4500...bce8`](https://holesky.etherscan.io/address/0x4500927874Ad41538c1bEF2F5278E7a86DF6bce8) | Proxy: [`[email protected]`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) |
226+
180227
###### Multisigs
181228

182229
| Name | Proxy | Implementation | Notes |
722 KB
Binary file not shown.

go.mod

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module github.com/Layr-Labs/eigenlayer-contracts
2+
3+
go 1.22.2
4+
5+
require github.com/ethereum/go-ethereum v1.14.0
6+
7+
require (
8+
github.com/Microsoft/go-winio v0.6.1 // indirect
9+
github.com/StackExchange/wmi v1.2.1 // indirect
10+
github.com/bits-and-blooms/bitset v1.10.0 // indirect
11+
github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect
12+
github.com/consensys/bavard v0.1.13 // indirect
13+
github.com/consensys/gnark-crypto v0.12.1 // indirect
14+
github.com/crate-crypto/go-kzg-4844 v1.0.0 // indirect
15+
github.com/deckarep/golang-set/v2 v2.1.0 // indirect
16+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
17+
github.com/ethereum/c-kzg-4844 v1.0.0 // indirect
18+
github.com/fsnotify/fsnotify v1.6.0 // indirect
19+
github.com/go-ole/go-ole v1.3.0 // indirect
20+
github.com/google/uuid v1.3.0 // indirect
21+
github.com/gorilla/websocket v1.4.2 // indirect
22+
github.com/holiman/uint256 v1.2.4 // indirect
23+
github.com/mmcloughlin/addchain v0.4.0 // indirect
24+
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
25+
github.com/supranational/blst v0.3.11 // indirect
26+
github.com/tklauser/go-sysconf v0.3.12 // indirect
27+
github.com/tklauser/numcpus v0.6.1 // indirect
28+
golang.org/x/crypto v0.22.0 // indirect
29+
golang.org/x/mod v0.17.0 // indirect
30+
golang.org/x/sync v0.7.0 // indirect
31+
golang.org/x/sys v0.19.0 // indirect
32+
golang.org/x/tools v0.20.0 // indirect
33+
rsc.io/tmplfunc v0.0.3 // indirect
34+
)

0 commit comments

Comments
 (0)