Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup #157

Merged
merged 2 commits into from
Aug 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 17 additions & 28 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,58 +6,58 @@ run-geth:
cd docker && DEV_PERIOD=1 docker compose up -d geth --wait

init-accounts:
node util/init-accounts.js
node script/hardhat/init-accounts.js

generate-accounts:
node util/generate-accounts.js
node script/hardhat/generate-accounts.js

.PHONY: run-geth init-accounts

# Deploy scripts

deploy-eigenlayer:
forge script script/localnet/M1_Deploy.s.sol:Deployer_M1 --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvv --slow
forge script script/foundry/localnet/M1_Deploy.s.sol:Deployer_M1 --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvv --slow

deploy-weth9:
forge script script/localnet/DeployWETH9.s.sol:DeployWETH9 --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvvv --slow
forge script script/foundry/localnet/DeployWETH9.s.sol:DeployWETH9 --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvv --slow

add-strategy:
forge script script/localnet/AddStrategy.s.sol:AddStrategy --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvvv --slow
forge script script/foundry/localnet/AddStrategy.s.sol:AddStrategy --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvv --slow

register-operator:
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && node util/register-operator.js
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && node script/hardhat/register-operator.js

deploy-lagrange:
forge script script/Deploy_LGR.s.sol:Deploy --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvvv --slow
forge script script/foundry/Deploy_LGR.s.sol:Deploy --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvv --slow

deploy-verifiers:
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && npx hardhat run util/deploy-verifiers.js

add-quorum:
forge script script/Add_Quorum.s.sol:AddQuorum --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvvv --slow
forge script script/foundry/Add_Quorum.s.sol:AddQuorum --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvv --slow

init-committee:
forge script script/Init_Committee.s.sol:InitCommittee --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvvv --slow
forge script script/foundry/Init_Committee.s.sol:InitCommittee --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvv --slow

deposit-stake:
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && node util/deposit-stake.js
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && node script/hardhat/deposit-stake.js

.PHONY: deploy-weth9 deploy-eigenlayer add-strategy register-operator deploy-lagrange add-quorum init-committee deposit-stake

deploy-register:
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && node util/deploy-register.js
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && node script/hardhat/deploy-register.js

deploy-mock:
forge script script/Deploy_Mock.s.sol:DeployMock --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvvv --slow
forge script script/foundry/Deploy_Mock.s.sol:DeployMock --rpc-url ${RPC_URL} --private-key ${PRIVATE_KEY} --broadcast -vvvv --slow

update-strategy-config:
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && node util/update-strategy-config.js
export PRIVATE_KEY=${PRIVATE_KEY} && export RPC_URL=${RPC_URL} && node script/hardhat/update-strategy-config.js

update-config:
node util/update-config.js
node script/hardhat/update-config.js

distribute:
node util/distributor.js
node script/hardhat/distributor.js

.PHONY: deploy-mock deploy-register update-config update-strategy-config distribute

Expand All @@ -73,10 +73,8 @@ docker-build: stop

# Test
test:
forge test -vvvvv
forge test -vvvv
npx hardhat test
test-gas:
forge script ./script/TestGas.s.sol:TestGas -vvvv --slow
.PHONY: test

clean: stop
Expand All @@ -86,7 +84,7 @@ give-permission:
sudo chmod -R go+rxw docker/geth_db

# Deploy
deploy-eigen-localnet: run-geth init-accounts generate-accounts deploy-weth9 update-strategy-config deploy-eigenlayer add-strategy register-operator deploy-lagrange update-config add-quorum init-committee deploy-register
deploy-eigen-localnet: run-geth init-accounts generate-accounts deploy-weth9 update-strategy-config deploy-eigenlayer add-strategy register-operator deploy-lagrange update-config add-quorum init-committee deploy-register

deploy-mock-localnet: run-geth init-accounts generate-accounts deploy-mock deploy-lagrange update-config add-quorum deploy-register init-committee

Expand All @@ -107,12 +105,3 @@ solhint:
npx solhint "contracts/protocol/*.sol"

.PHONY: format

# Register one random operator
generate-one-operator:
node util/generate-operator-config.js

register-one-operator: generate-one-operator
export RPC_URL=${RPC_URL} && node util/register-one-operator.js

.PHONY: generate-one-operator register-one-operator
10 changes: 0 additions & 10 deletions config/random_operator.json

This file was deleted.

7 changes: 3 additions & 4 deletions script/Add_Quorum.s.sol → script/foundry/Add_Quorum.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
pragma solidity ^0.8.20;

import "forge-std/Script.sol";
import "forge-std/Test.sol";

import {IVoteWeigher} from "../contracts/interfaces/IVoteWeigher.sol";
import {StakeManager} from "../contracts/library/StakeManager.sol";
import {IVoteWeigher} from "../../contracts/interfaces/IVoteWeigher.sol";
import {StakeManager} from "../../contracts/library/StakeManager.sol";

contract AddQuorum is Script, Test {
contract AddQuorum is Script {
string public deployedLGRPath = string(bytes("script/output/deployed_lgr.json"));
string public configPath = string(bytes("config/LagrangeService.json"));

Expand Down
31 changes: 15 additions & 16 deletions script/Deploy_LGR.s.sol → script/foundry/Deploy_LGR.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,27 @@ import {IDelegationManager} from "eigenlayer-contracts/src/contracts/interfaces/
import {EmptyContract} from "eigenlayer-contracts/src/test/mocks/EmptyContract.sol";
import {IAVSDirectory} from "eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol";

import {LagrangeService} from "../contracts/protocol/LagrangeService.sol";
import {LagrangeServiceTestnet} from "../contracts/protocol/testnet/LagrangeServiceTestnet.sol"; // for sepolia
import {VoteWeigher} from "../contracts/protocol/VoteWeigher.sol";
import {LagrangeCommittee} from "../contracts/protocol/LagrangeCommittee.sol";
import {LagrangeCommitteeTestnet} from "../contracts/protocol/testnet/LagrangeCommitteeTestnet.sol"; // for holesky
import {EvidenceVerifier} from "../contracts/protocol/EvidenceVerifier.sol";
import {LagrangeService} from "../../contracts/protocol/LagrangeService.sol";
import {LagrangeServiceTestnet} from "../../contracts/protocol/testnet/LagrangeServiceTestnet.sol"; // for sepolia
import {VoteWeigher} from "../../contracts/protocol/VoteWeigher.sol";
import {LagrangeCommittee} from "../../contracts/protocol/LagrangeCommittee.sol";
import {LagrangeCommitteeTestnet} from "../../contracts/protocol/testnet/LagrangeCommitteeTestnet.sol"; // for holesky
import {EvidenceVerifier} from "../../contracts/protocol/EvidenceVerifier.sol";

import {IStakeManager} from "../contracts/interfaces/IStakeManager.sol";
import {IVoteWeigher} from "../contracts/interfaces/IVoteWeigher.sol";
import {IStakeManager} from "../../contracts/interfaces/IStakeManager.sol";
import {IVoteWeigher} from "../../contracts/interfaces/IVoteWeigher.sol";

import {EigenAdapter} from "../contracts/library/EigenAdapter.sol";
import {StakeManager} from "../contracts/library/StakeManager.sol";
import {EigenAdapter} from "../../contracts/library/EigenAdapter.sol";
import {StakeManager} from "../../contracts/library/StakeManager.sol";

import "forge-std/Script.sol";
import "forge-std/Test.sol";

import {IOutbox} from "../contracts/mock/arbitrum/IOutbox.sol";
import {Outbox} from "../contracts/mock/arbitrum/Outbox.sol";
import {L2OutputOracle} from "../contracts/mock/optimism/L2OutputOracle.sol";
import {IL2OutputOracle} from "../contracts/mock/optimism/IL2OutputOracle.sol";
import {IOutbox} from "../../contracts/mock/arbitrum/IOutbox.sol";
import {Outbox} from "../../contracts/mock/arbitrum/Outbox.sol";
import {L2OutputOracle} from "../../contracts/mock/optimism/L2OutputOracle.sol";
import {IL2OutputOracle} from "../../contracts/mock/optimism/IL2OutputOracle.sol";

contract Deploy is Script, Test {
contract Deploy is Script {
string public deployMockDataPath = string(bytes("script/output/deployed_mock.json"));
string public deployDataPath = string(bytes("script/output/M1_deployment_data.json"));
string public serviceDataPath = string(bytes("config/LagrangeService.json"));
Expand Down
8 changes: 4 additions & 4 deletions script/Deploy_Mock.s.sol → script/foundry/Deploy_Mock.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import "forge-std/Test.sol";

import {IDelegationManager} from "eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol";

import {DelegationManager} from "../contracts/mock/DMMock.sol";
import {StrategyManager} from "../contracts/mock/SMMock.sol";
import {Strategy} from "../contracts/mock/STMock.sol";
import {BatchStorageMock} from "../contracts/mock/mantle/BatchStorageMock.sol";
import {DelegationManager} from "../../contracts/mock/DMMock.sol";
import {StrategyManager} from "../../contracts/mock/SMMock.sol";
import {Strategy} from "../../contracts/mock/STMock.sol";
import {BatchStorageMock} from "../../contracts/mock/mantle/BatchStorageMock.sol";

contract DeployMock is Script {
string public operatorsPath = string(bytes("config/operators.json"));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
pragma solidity ^0.8.20;

import "forge-std/Script.sol";
import "forge-std/Test.sol";

import {ISlasher} from "eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol";
import {IStrategy} from "eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol";

import {LagrangeService} from "../contracts/protocol/LagrangeService.sol";
import {LagrangeCommittee} from "../contracts/protocol/LagrangeCommittee.sol";
import {LagrangeService} from "../../contracts/protocol/LagrangeService.sol";
import {LagrangeCommittee} from "../../contracts/protocol/LagrangeCommittee.sol";

contract InitCommittee is Script, Test {
contract InitCommittee is Script {
string public deployedLGRPath = string(bytes("script/output/deployed_lgr.json"));
string public configPath = string(bytes("config/LagrangeService.json"));

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
pragma solidity ^0.8.20;

import "forge-std/Script.sol";
import "forge-std/Test.sol";

import {IStrategy} from "eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol";
import {StrategyManager} from "eigenlayer-contracts/src/contracts/core/StrategyManager.sol";
import {DelegationManager} from "eigenlayer-contracts/src/contracts/core/DelegationManager.sol";

contract AddStrategy is Script, Test {
contract AddStrategy is Script {
string public deployDataPath = string(bytes("script/output/M1_deployment_data.json"));

address WETHStractegyAddress;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
pragma solidity ^0.8.20;

import "forge-std/Script.sol";
import "forge-std/Test.sol";

import {WETH9} from "../../contracts/mock/WETH9.sol";
import {WETH9} from "../../../contracts/mock/WETH9.sol";

contract DeployWETH9 is Script, Test {
contract DeployWETH9 is Script {
function run() public {
// deploy WETH9
vm.broadcast(msg.sender);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
pragma solidity ^0.8.20;

import "forge-std/Script.sol";
import "forge-std/Test.sol";

import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";

import {WETH9} from "../../contracts/mock/WETH9.sol";
import {LagrangeService} from "../../contracts/protocol/LagrangeService.sol";
import {LagrangeCommittee} from "../../contracts/protocol/LagrangeCommittee.sol";
import {VoteWeigher} from "../../contracts/protocol/VoteWeigher.sol";
import {StakeManager} from "../../contracts/library/StakeManager.sol";
import {WETH9} from "../../../contracts/mock/WETH9.sol";
import {LagrangeService} from "../../../contracts/protocol/LagrangeService.sol";
import {LagrangeCommittee} from "../../../contracts/protocol/LagrangeCommittee.sol";
import {VoteWeigher} from "../../../contracts/protocol/VoteWeigher.sol";
import {StakeManager} from "../../../contracts/library/StakeManager.sol";

contract DepositStake is Script, Test {
contract DepositStake is Script {
string public deployedLGRPath = string(bytes("script/output/deployed_lgr.json"));
string public configPath = string(bytes("config/LagrangeService.json"));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import "forge-std/Test.sol";
// source .env

// # To deploy and verify our contract
// forge script script/M1_Deploy.s.sol:Deployer_M1 --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast -vvvv
// forge script script/foundry/M1_Deploy.s.sol:Deployer_M1 --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast -vvvv
contract Deployer_M1 is Script, Test {
Vm cheats = Vm(HEVM_ADDRESS);

Expand All @@ -40,7 +40,7 @@ contract Deployer_M1 is Script, Test {
string tokenSymbol;
}

string public deployConfigPath = string(bytes("script/localnet/M1_deploy.config.json"));
string public deployConfigPath = string(bytes("script/foundry/localnet/M1_deploy.config.json"));

// EigenLayer Contracts
ProxyAdmin public eigenLayerProxyAdmin;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
pragma solidity ^0.8.20;

import "forge-std/Script.sol";
import "forge-std/Test.sol";

import {IStrategy} from "eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol";
import {ISlasher} from "eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol";
Expand All @@ -11,9 +10,8 @@ import {StrategyManager} from "eigenlayer-contracts/src/contracts/core/StrategyM

import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";

// TODO: referecen the deploy script

contract RegisterOperator is Script, Test {
// TODO: reference the deploy script
contract RegisterOperator is Script {
string public deployDataPath = string(bytes("script/output/M1_deployment_data.json"));
string public deployLGRPath = string(bytes("script/output/deployed_lgr.json"));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ pragma solidity ^0.8.20;

import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";

import {LagrangeCommittee} from "../../contracts/protocol/LagrangeCommittee.sol";
import {LagrangeService} from "../../contracts/protocol/LagrangeService.sol";
import {LagrangeCommitteeTestnet} from "../../contracts/protocol/testnet/LagrangeCommitteeTestnet.sol";
import {LagrangeServiceTestnet} from "../../contracts/protocol/testnet/LagrangeServiceTestnet.sol";
import {VoteWeigher} from "../../contracts/protocol/VoteWeigher.sol";
import {LagrangeCommittee} from "../../../contracts/protocol/LagrangeCommittee.sol";
import {LagrangeService} from "../../../contracts/protocol/LagrangeService.sol";
import {LagrangeCommitteeTestnet} from "../../../contracts/protocol/testnet/LagrangeCommitteeTestnet.sol";
import {LagrangeServiceTestnet} from "../../../contracts/protocol/testnet/LagrangeServiceTestnet.sol";
import {VoteWeigher} from "../../../contracts/protocol/VoteWeigher.sol";

import "forge-std/Script.sol";
import "forge-std/Test.sol";
Expand Down
12 changes: 6 additions & 6 deletions util/deploy-register.js → script/hardhat/deploy-register.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ const ethers = require('ethers');
require('dotenv').config();

const serviceABI =
require('../out/LagrangeService.sol/LagrangeService.json').abi;
require('../../out/LagrangeService.sol/LagrangeService.json').abi;
const committeeABI =
require('../out/LagrangeCommittee.sol/LagrangeCommittee.json').abi;
require('../../out/LagrangeCommittee.sol/LagrangeCommittee.json').abi;
const avsDirectoryABI =
require('../out/IAVSDirectory.sol/IAVSDirectory.json').abi;
const deployedAddresses = require('../script/output/deployed_lgr.json');
const m1DeployedAddresses = require('../script/output/M1_deployment_data.json');
require('../../out/IAVSDirectory.sol/IAVSDirectory.json').abi;
const deployedAddresses = require('../output/deployed_lgr.json');
const m1DeployedAddresses = require('../output/M1_deployment_data.json');

const operators = require('../config/operators.json');
const operators = require('../../config/operators.json');

const provider = new ethers.providers.JsonRpcProvider(process.env.RPC_URL);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const fs = require('fs');
const { ethers } = require('hardhat');
const deployed_verifiers = require('../script/output/deployed_verifiers.json');
const deployed_verifiers = require('../output/deployed_verifiers.json');

async function main() {
const raw = fs.readFileSync('script/output/deployed_lgr.json');
Expand Down
4 changes: 2 additions & 2 deletions util/deposit-stake.js → script/hardhat/deposit-stake.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const { exec } = require('child_process');
const fs = require('fs');
require('dotenv').config();

const operators = require('../config/operators.json');
const operators = require('../../config/operators.json');

const rpcURL = process.env.RPC_URL;

Expand All @@ -27,7 +27,7 @@ const batch_size = 10;
for (let i = 0; i < addresses.length; i += batch_size) {
const batch = addresses.slice(i, i + batch_size);
const exec_batch = batch.map((address, index) => {
const command = `forge script script/localnet/Deposit_Stake.s.sol:DepositStake --rpc-url ${rpcURL} --private-key ${
const command = `forge script script/foundry/localnet/Deposit_Stake.s.sol:DepositStake --rpc-url ${rpcURL} --private-key ${
privateKeys[i + index]
} --broadcast -vvvvv --slow`;
console.log(`Starting to deposit stake for address: ${address}`);
Expand Down
2 changes: 1 addition & 1 deletion util/distributor.js → script/hardhat/distributor.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const ethers = require('ethers');
const fs = require('fs');
require('dotenv').config();
const operators = require('../config/operators.json');
const operators = require('../../config/operators.json');

const PRIVATE_KEY = process.env.PRIVATE_KEY;
const RPC_URL = process.env.RPC_URL;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ async function main() {
}

try {
const config = require('../config/LagrangeService.json');
const config = require('../../config/LagrangeService.json');
operators = [];

op = [];
Expand Down
File renamed without changes.
Loading
Loading