Skip to content

Commit

Permalink
Holesky deploy (#2026)
Browse files Browse the repository at this point in the history
* add basic steps to deploy OETH to holesky

* prettier

* minor change

* holesky deployment ifles
holesky deployment files

* add holesky deployment files

* minor fix

* minor fixes

* make the fork tests run on Holesky

* add some more tests

* testing SSV staking on Holesky

* refactor where deployment files are located

* more progress on deployment

* add deposit to validator deployment files

* remove log

* prettier

* lint

* move file

* SSV cluster info (#2036)

* add ability to fetch SSV cluster information

* prettier
  • Loading branch information
sparrowDom authored Apr 29, 2024
1 parent 00ec878 commit ec4933b
Show file tree
Hide file tree
Showing 138 changed files with 16,113 additions and 494 deletions.
30 changes: 30 additions & 0 deletions contracts/contracts/oracle/OETHFixedOracle.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import { OETHOracleRouter } from "./OETHOracleRouter.sol";

// @notice Oracle Router that returns 1e18 for all prices
// used solely for deployment to testnets
contract OETHFixedOracle is OETHOracleRouter {
constructor(address _auraPriceFeed) OETHOracleRouter(_auraPriceFeed) {}

/**
* @dev The price feed contract to use for a particular asset along with
* maximum data staleness
* @param asset address of the asset
* @return feedAddress address of the price feed for the asset
* @return maxStaleness maximum acceptable data staleness duration
*/
// solhint-disable-next-line no-unused-vars
function feedMetadata(address asset)
internal
view
virtual
override
returns (address feedAddress, uint256 maxStaleness)
{
// fixes price for all of the assets
feedAddress = FIXED_PRICE;
maxStaleness = 0;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ pragma solidity ^0.8.0;
import { Address } from "@openzeppelin/contracts/utils/Address.sol";

import { Governable } from "../../governance/Governable.sol";
import { IWETH9 } from "../../interfaces/IWETH9.sol";

/**
* @title Fee Accumulator for Native Staking SSV Strategy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,14 +251,15 @@ contract NativeStakingSSVStrategy is
}

/**
* @notice Only accept ETH from the FeeAccumulator and the WETH contract - required when
* @notice Only accept ETH from the FeeAccumulator and the WETH contract - required when
* unwrapping WETH just before staking it to the validator
* @dev don't want to receive donations from anyone else as this will
* mess with the accounting of the consensus rewards and validator full withdrawals
*/
receive() external payable {
require(
msg.sender == FEE_ACCUMULATOR_ADDRESS || msg.sender == WETH_TOKEN_ADDRESS,
msg.sender == FEE_ACCUMULATOR_ADDRESS ||
msg.sender == WETH_TOKEN_ADDRESS,
"eth not from allowed contracts"
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,9 @@ abstract contract ValidatorRegistrator is Governable, Pausable {
bytes11(0),
address(this)
);
IDepositContract(BEACON_CHAIN_DEPOSIT_CONTRACT).deposit{ value: 32 ether }(
IDepositContract(BEACON_CHAIN_DEPOSIT_CONTRACT).deposit{
value: 32 ether
}(
validators[i].pubkey,
withdrawal_credentials,
validators[i].signature,
Expand Down
Loading

0 comments on commit ec4933b

Please sign in to comment.