Skip to content

Commit

Permalink
still stuck on testSlashOperator
Browse files Browse the repository at this point in the history
  • Loading branch information
Rayerleier committed Dec 3, 2024
1 parent 6686a05 commit 87ed448
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 20 deletions.
14 changes: 4 additions & 10 deletions script/Deploy_All.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ import {IOperatorSpecificDelegator} from "@symbiotic/interfaces/delegator/IOpera
import {IBaseSlasher} from "@symbiotic/interfaces/slasher/IBaseSlasher.sol";
import {ISlasher} from "@symbiotic/interfaces/slasher/ISlasher.sol";
import {IVetoSlasher} from "@symbiotic/interfaces/slasher/IVetoSlasher.sol";
import {BurnerRouter} from "burners/src/contracts/router/BurnerRouter.sol";

import {iBTC_Treasury} from "../src/iBTC_Treasury.sol";
import {iBTC_Burner} from "../src/iBTC_Burner.sol";
import {VaultConfigurator} from "../src/iBTC_VaultConfigurator.sol";
import {iBTC_Vault} from "../src/iBTC_Vault.sol";

Expand All @@ -25,7 +24,7 @@ contract DeployAll is Script {
address constant COLLATERAL_ADDRESS = 0xeb762Ed11a09E4A394C9c8101f8aeeaf5382ED74; // eth sepolia
uint256 constant MAX_WITHDRAW_AMOUNT = 1e9; // 10 iBTC
uint256 constant MIN_WITHDRAW_AMOUNT = 1e4;
uint256 deployerPrivateKey = uint256(0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80); //NOTE
uint256 deployerPrivateKey = uint256(0xd59e636974028faa532e0ce5f1b85a30bf4e1820d11b647937d1a662b281e48d); //NOTE replace deploy Key

// Replace with the correct checksummed addresses
address constant VAULT_FACTORY = 0x407A039D94948484D356eFB765b3c74382A050B4; // Replace with deployed VaultFactory address
Expand All @@ -41,16 +40,11 @@ contract DeployAll is Script {
uint64 delegatorIndex = 0; // NetworkRestakeDelegator
address hook = 0x0000000000000000000000000000000000000000;
bool withSlasher = true;
uint64 slasherIndex = 1; // vetoSlasher
uint64 slasherIndex = 1; // vetoSlasher = 1, Basic Slasher = 0
uint48 vetoDuration = 86_400; // 1 day
vm.startBroadcast(deployerPrivateKey);

// Deploy the iBTC_Treasury contract
iBTC_Treasury treasury = new iBTC_Treasury(COLLATERAL_ADDRESS, MAX_WITHDRAW_AMOUNT, MIN_WITHDRAW_AMOUNT);

// Deploy the iBTC_Burner contract
iBTC_Burner burner = new iBTC_Burner(COLLATERAL_ADDRESS, address(treasury));

BurnerRouter burner = new BurnerRouter();
VaultConfigurator vaultConfigurator = new VaultConfigurator(VAULT_FACTORY, DELEGATOR_FACTORY, SLASHER_FACTORY);

// Log the deployed address
Expand Down
25 changes: 15 additions & 10 deletions test/iBTC_NetworkMiddleware.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {NetworkMiddlewareService} from "core/src/contracts/service/NetworkMiddle
import {NetworkRegistry} from "core/src/contracts/NetworkRegistry.sol";
import {OperatorRegistry} from "core/src/contracts/OperatorRegistry.sol";
import {NetworkMiddleware} from "src/iBTC_NetworkMiddleware.sol";
import {NetworkRestakeDelegator} from "core/src/contracts/delegator/NetworkRestakeDelegator.sol";
import {OptInService} from "core/src/contracts/service/OptInService.sol";
import {iBTC_Vault} from "src/iBTC_Vault.sol";
import {VaultConfigurator} from "src/iBTC_VaultConfigurator.sol";
Expand Down Expand Up @@ -53,6 +54,7 @@ contract iBTC_NetworkMiddlewareTest is Test {
BurnerRouter public burner;
VaultConfigurator public vaultConfigurator;
iBTC_Vault public iBTC_vault;
NetworkRestakeDelegator public network_restake_delegator;

function setUp() public {
sepoliaFork = vm.createSelectFork(SEPOLIA_RPC_URL);
Expand Down Expand Up @@ -134,6 +136,8 @@ contract iBTC_NetworkMiddlewareTest is Test {
iBTC_Vault(vault_).renounceRole(iBTC_Vault(vault_).DEFAULT_ADMIN_ROLE(), deployer);
}
vm.stopPrank();
network_restake_delegator = NetworkRestakeDelegator(delegator_);
iBTC_vault = iBTC_Vault(vault_);
network_optIn_service = OptInService(NEWTORK_OPTIN_SERVICE);
vault_optIn_service = OptInService(VAULT_OPTIN_SERVICE);
//NOTICE
Expand Down Expand Up @@ -211,24 +215,23 @@ contract iBTC_NetworkMiddlewareTest is Test {

bool isVaultRegistered = iBTC_middleware.isVaultRegistered(vaults[0]);
assertTrue(isVaultRegistered, "Vault should be registered");

vm.stopPrank();
}

function testPauseAndUnpauseVault() public {
testRegisterVault();
vm.startPrank(OWNER);

iBTC_middleware.pauseVault(vaults[0]);
iBTC_middleware.pauseVault(address(iBTC_vault));

(uint48 enabledTime, uint48 disabledTime) = iBTC_middleware.getVaultInfo(vaults[0]);
(uint48 enabledTime, uint48 disabledTime) = iBTC_middleware.getVaultInfo(address(iBTC_vault));
bool isVaultPaused = enabledTime == 0 || (disabledTime > 0 && disabledTime <= block.timestamp);

assertTrue(isVaultPaused, "Vault should be paused");

iBTC_middleware.unpauseVault(vaults[0]);
iBTC_middleware.unpauseVault(address(iBTC_vault));

(enabledTime, disabledTime) = iBTC_middleware.getVaultInfo(vaults[0]);
(enabledTime, disabledTime) = iBTC_middleware.getVaultInfo(address(iBTC_vault));
isVaultPaused = enabledTime == 0 || (disabledTime > 0 && disabledTime <= block.timestamp);
assertFalse(isVaultPaused, "Vault should be active");

Expand All @@ -242,18 +245,17 @@ contract iBTC_NetworkMiddlewareTest is Test {

vm.prank(IBTC(COLLATTERAL).owner());
IBTC(COLLATTERAL).setMinter(address(this));

IBTC(COLLATTERAL).mint(operator, initialStaking);

uint256 operatorBalance = IBTC(COLLATTERAL).balanceOf(operator);
assertEq(operatorBalance, initialStaking, "Operator should have minted tokens");

vm.prank(operator);
IBTC(COLLATTERAL).approve(vaults[0], initialStaking);
IBTC(COLLATTERAL).approve(address(iBTC_vault), initialStaking);

vm.startPrank(OWNER);
iBTC_middleware.registerVault(vaults[0]);
// iBTC_Vault(vaults[0]).setDelegator(); //
iBTC_middleware.registerVault(address(iBTC_vault));

vm.stopPrank();

uint48 epoch = iBTC_middleware.getCurrentEpoch();
Expand All @@ -266,6 +268,9 @@ contract iBTC_NetworkMiddlewareTest is Test {
iBTC_Vault(vaults[0]).activeBalanceOfAt(operator, uint48(block.timestamp), ""),
"Initial staking should be done"
);
// OptIn vault, Network is already optIn
vm.prank(operator);
vault_optIn_service.optIn(address(iBTC_vault));

vm.prank(address(iBTC_middleware));
iBTC_middleware.calcAndCacheStakes(epoch);
Expand All @@ -288,6 +293,6 @@ contract iBTC_NetworkMiddlewareTest is Test {
testRegisterOperator();
address operator = address(0x1234);
vm.prank(operator);
vault_optIn_service.optIn(vaults[0]);
vault_optIn_service.optIn(address(iBTC_vault));
}
}

0 comments on commit 87ed448

Please sign in to comment.