Skip to content

Commit

Permalink
Merge pull request #31 from symbioticfi/relative-paths
Browse files Browse the repository at this point in the history
Use relative paths
  • Loading branch information
1kresh authored Aug 30, 2024
2 parents 7003c8f + 7491cb1 commit 76bf709
Show file tree
Hide file tree
Showing 89 changed files with 901 additions and 557 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@symbioticfi/core",
"version": "1.0.0-devnet.2",
"version": "1.0.0-devnet.3",
"description": "Symbiotic is a shared security protocol enabling decentralized networks to control and customize their own multi-asset restaking implementation.",
"homepage": "https://symbiotic.fi/",
"bugs": "https://github.com/symbioticfi/core/issues",
Expand Down
32 changes: 17 additions & 15 deletions script/deploy/Core.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,27 @@ pragma solidity 0.8.25;

import {Script, console2} from "forge-std/Script.sol";

import {VaultFactory} from "src/contracts/VaultFactory.sol";
import {DelegatorFactory} from "src/contracts/DelegatorFactory.sol";
import {SlasherFactory} from "src/contracts/SlasherFactory.sol";
import {NetworkRegistry} from "src/contracts/NetworkRegistry.sol";
import {OperatorRegistry} from "src/contracts/OperatorRegistry.sol";
import {MetadataService} from "src/contracts/service/MetadataService.sol";
import {NetworkMiddlewareService} from "src/contracts/service/NetworkMiddlewareService.sol";
import {OptInService} from "src/contracts/service/OptInService.sol";
import {VaultFactory} from "../../src/contracts/VaultFactory.sol";
import {DelegatorFactory} from "../../src/contracts/DelegatorFactory.sol";
import {SlasherFactory} from "../../src/contracts/SlasherFactory.sol";
import {NetworkRegistry} from "../../src/contracts/NetworkRegistry.sol";
import {OperatorRegistry} from "../../src/contracts/OperatorRegistry.sol";
import {MetadataService} from "../../src/contracts/service/MetadataService.sol";
import {NetworkMiddlewareService} from "../../src/contracts/service/NetworkMiddlewareService.sol";
import {OptInService} from "../../src/contracts/service/OptInService.sol";

import {Vault} from "src/contracts/vault/Vault.sol";
import {NetworkRestakeDelegator} from "src/contracts/delegator/NetworkRestakeDelegator.sol";
import {FullRestakeDelegator} from "src/contracts/delegator/FullRestakeDelegator.sol";
import {Slasher} from "src/contracts/slasher/Slasher.sol";
import {VetoSlasher} from "src/contracts/slasher/VetoSlasher.sol";
import {Vault} from "../../src/contracts/vault/Vault.sol";
import {NetworkRestakeDelegator} from "../../src/contracts/delegator/NetworkRestakeDelegator.sol";
import {FullRestakeDelegator} from "../../src/contracts/delegator/FullRestakeDelegator.sol";
import {Slasher} from "../../src/contracts/slasher/Slasher.sol";
import {VetoSlasher} from "../../src/contracts/slasher/VetoSlasher.sol";

import {VaultConfigurator} from "src/contracts/VaultConfigurator.sol";
import {VaultConfigurator} from "../../src/contracts/VaultConfigurator.sol";

contract CoreScript is Script {
function run(address owner) public {
function run(
address owner
) public {
vm.startBroadcast();
(,, address deployer) = vm.readCallers();

Expand Down
6 changes: 4 additions & 2 deletions script/deploy/MetadataService.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ pragma solidity 0.8.25;

import "forge-std/Script.sol";

import {MetadataService} from "src/contracts/service/MetadataService.sol";
import {MetadataService} from "../../src/contracts/service/MetadataService.sol";

contract MetadataServiceScript is Script {
function run(address registry) public {
function run(
address registry
) public {
vm.startBroadcast();

new MetadataService(registry);
Expand Down
6 changes: 4 additions & 2 deletions script/deploy/NetworkMiddlewareService.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ pragma solidity 0.8.25;

import "forge-std/Script.sol";

import {NetworkMiddlewareService} from "src/contracts/service/NetworkMiddlewareService.sol";
import {NetworkMiddlewareService} from "../../src/contracts/service/NetworkMiddlewareService.sol";

contract NetworkMiddlewareServiceScript is Script {
function run(address networkRegistry) public {
function run(
address networkRegistry
) public {
vm.startBroadcast();

new NetworkMiddlewareService(networkRegistry);
Expand Down
2 changes: 1 addition & 1 deletion script/deploy/NetworkRegistry.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pragma solidity 0.8.25;

import "forge-std/Script.sol";

import {NetworkRegistry} from "src/contracts/NetworkRegistry.sol";
import {NetworkRegistry} from "../../src/contracts/NetworkRegistry.sol";

contract NetworkRegistryScript is Script {
function run() public {
Expand Down
2 changes: 1 addition & 1 deletion script/deploy/OperatorRegistry.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pragma solidity 0.8.25;

import "forge-std/Script.sol";

import {OperatorRegistry} from "src/contracts/OperatorRegistry.sol";
import {OperatorRegistry} from "../../src/contracts/OperatorRegistry.sol";

contract OperatorRegistryScript is Script {
function run() public {
Expand Down
2 changes: 1 addition & 1 deletion script/deploy/OptInService.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pragma solidity 0.8.25;

import "forge-std/Script.sol";

import {OptInService} from "src/contracts/service/OptInService.sol";
import {OptInService} from "../../src/contracts/service/OptInService.sol";

contract OptInServiceScript is Script {
function run(address whoRegistry, address whereRegistry) public {
Expand Down
14 changes: 7 additions & 7 deletions script/deploy/Vault.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ pragma solidity 0.8.25;

import {Script, console2} from "forge-std/Script.sol";

import {IMigratablesFactory} from "src/interfaces/common/IMigratablesFactory.sol";
import {IVault} from "src/interfaces/vault/IVault.sol";
import {IVaultConfigurator} from "src/interfaces/IVaultConfigurator.sol";
import {IBaseDelegator} from "src/interfaces/delegator/IBaseDelegator.sol";
import {INetworkRestakeDelegator} from "src/interfaces/delegator/INetworkRestakeDelegator.sol";
import {IFullRestakeDelegator} from "src/interfaces/delegator/IFullRestakeDelegator.sol";
import {IVetoSlasher} from "src/interfaces/slasher/IVetoSlasher.sol";
import {IMigratablesFactory} from "../../src/interfaces/common/IMigratablesFactory.sol";
import {IVault} from "../../src/interfaces/vault/IVault.sol";
import {IVaultConfigurator} from "../../src/interfaces/IVaultConfigurator.sol";
import {IBaseDelegator} from "../../src/interfaces/delegator/IBaseDelegator.sol";
import {INetworkRestakeDelegator} from "../../src/interfaces/delegator/INetworkRestakeDelegator.sol";
import {IFullRestakeDelegator} from "../../src/interfaces/delegator/IFullRestakeDelegator.sol";
import {IVetoSlasher} from "../../src/interfaces/slasher/IVetoSlasher.sol";

contract VaultScript is Script {
function run(
Expand Down
6 changes: 4 additions & 2 deletions script/deploy/VaultFactory.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ pragma solidity 0.8.25;

import "forge-std/Script.sol";

import {VaultFactory} from "src/contracts/VaultFactory.sol";
import {VaultFactory} from "../../src/contracts/VaultFactory.sol";

contract VaultFactoryScript is Script {
function run(address owner) public {
function run(
address owner
) public {
vm.startBroadcast();

new VaultFactory(owner);
Expand Down
8 changes: 5 additions & 3 deletions src/contracts/DelegatorFactory.sol
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.25;

import {Factory} from "src/contracts/common/Factory.sol";
import {Factory} from "./common/Factory.sol";

import {IDelegatorFactory} from "src/interfaces/IDelegatorFactory.sol";
import {IDelegatorFactory} from "../interfaces/IDelegatorFactory.sol";

contract DelegatorFactory is Factory, IDelegatorFactory {
constructor(address owner_) Factory(owner_) {}
constructor(
address owner_
) Factory(owner_) {}
}
2 changes: 1 addition & 1 deletion src/contracts/NetworkRegistry.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pragma solidity 0.8.25;

import {Registry} from "./common/Registry.sol";

import {INetworkRegistry} from "src/interfaces/INetworkRegistry.sol";
import {INetworkRegistry} from "../interfaces/INetworkRegistry.sol";

contract NetworkRegistry is Registry, INetworkRegistry {
/**
Expand Down
2 changes: 1 addition & 1 deletion src/contracts/OperatorRegistry.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pragma solidity 0.8.25;

import {Registry} from "./common/Registry.sol";

import {IOperatorRegistry} from "src/interfaces/IOperatorRegistry.sol";
import {IOperatorRegistry} from "../interfaces/IOperatorRegistry.sol";

contract OperatorRegistry is Registry, IOperatorRegistry {
/**
Expand Down
8 changes: 5 additions & 3 deletions src/contracts/SlasherFactory.sol
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.25;

import {Factory} from "src/contracts/common/Factory.sol";
import {Factory} from "./common/Factory.sol";

import {ISlasherFactory} from "src/interfaces/ISlasherFactory.sol";
import {ISlasherFactory} from "../interfaces/ISlasherFactory.sol";

contract SlasherFactory is Factory, ISlasherFactory {
constructor(address owner_) Factory(owner_) {}
constructor(
address owner_
) Factory(owner_) {}
}
16 changes: 9 additions & 7 deletions src/contracts/VaultConfigurator.sol
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.25;

import {BaseSlasher} from "src/contracts/slasher/BaseSlasher.sol";
import {DelegatorFactory} from "src/contracts/DelegatorFactory.sol";
import {SlasherFactory} from "src/contracts/SlasherFactory.sol";
import {VaultFactory} from "src/contracts/VaultFactory.sol";
import {Vault} from "src/contracts/vault/Vault.sol";
import {BaseSlasher} from "./slasher/BaseSlasher.sol";
import {DelegatorFactory} from "./DelegatorFactory.sol";
import {SlasherFactory} from "./SlasherFactory.sol";
import {VaultFactory} from "./VaultFactory.sol";
import {Vault} from "./vault/Vault.sol";

import {IVaultConfigurator} from "src/interfaces/IVaultConfigurator.sol";
import {IVaultConfigurator} from "../interfaces/IVaultConfigurator.sol";

contract VaultConfigurator is IVaultConfigurator {
/**
Expand All @@ -34,7 +34,9 @@ contract VaultConfigurator is IVaultConfigurator {
/**
* @inheritdoc IVaultConfigurator
*/
function create(InitParams memory params) public returns (address, address, address) {
function create(
InitParams memory params
) public returns (address, address, address) {
if (params.vaultParams.delegator != address(0) || params.vaultParams.slasher != address(0)) {
revert DirtyInitParams();
}
Expand Down
8 changes: 5 additions & 3 deletions src/contracts/VaultFactory.sol
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.25;

import {MigratablesFactory} from "src/contracts/common/MigratablesFactory.sol";
import {MigratablesFactory} from "./common/MigratablesFactory.sol";

import {IVaultFactory} from "src/interfaces/IVaultFactory.sol";
import {IVaultFactory} from "../interfaces/IVaultFactory.sol";

contract VaultFactory is MigratablesFactory, IVaultFactory {
constructor(address owner_) MigratablesFactory(owner_) {}
constructor(
address owner_
) MigratablesFactory(owner_) {}
}
10 changes: 7 additions & 3 deletions src/contracts/common/Entity.sol
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.25;

import {IEntity} from "src/interfaces/common/IEntity.sol";
import {IEntity} from "../../interfaces/common/IEntity.sol";

import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";

Expand All @@ -26,9 +26,13 @@ abstract contract Entity is Initializable, IEntity {
/**
* @inheritdoc IEntity
*/
function initialize(bytes calldata data) external initializer {
function initialize(
bytes calldata data
) external initializer {
_initialize(data);
}

function _initialize(bytes calldata) internal virtual {}
function _initialize(
bytes calldata
) internal virtual {}
}
16 changes: 11 additions & 5 deletions src/contracts/common/Factory.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ pragma solidity 0.8.25;

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

import {IEntity} from "src/interfaces/common/IEntity.sol";
import {IFactory} from "src/interfaces/common/IFactory.sol";
import {IEntity} from "../../interfaces/common/IEntity.sol";
import {IFactory} from "../../interfaces/common/IFactory.sol";

import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
Expand All @@ -16,7 +16,9 @@ contract Factory is Registry, Ownable, IFactory {

EnumerableSet.AddressSet private _whitelistedImplementations;

constructor(address owner_) Ownable(owner_) {}
constructor(
address owner_
) Ownable(owner_) {}

/**
* @inheritdoc IFactory
Expand All @@ -28,14 +30,18 @@ contract Factory is Registry, Ownable, IFactory {
/**
* @inheritdoc IFactory
*/
function implementation(uint64 type_) public view returns (address) {
function implementation(
uint64 type_
) public view returns (address) {
return _whitelistedImplementations.at(type_);
}

/**
* @inheritdoc IFactory
*/
function whitelist(address implementation_) external onlyOwner {
function whitelist(
address implementation_
) external onlyOwner {
if (IEntity(implementation_).FACTORY() != address(this) || IEntity(implementation_).TYPE() != totalTypes()) {
revert InvalidImplementation();
}
Expand Down
8 changes: 5 additions & 3 deletions src/contracts/common/MigratableEntity.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.25;

import {IMigratableEntity} from "src/interfaces/common/IMigratableEntity.sol";
import {IMigratablesFactory} from "src/interfaces/common/IMigratablesFactory.sol";
import {IMigratableEntity} from "../../interfaces/common/IMigratableEntity.sol";
import {IMigratablesFactory} from "../../interfaces/common/IMigratablesFactory.sol";

import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
Expand All @@ -23,7 +23,9 @@ abstract contract MigratableEntity is Initializable, OwnableUpgradeable, IMigrat
_;
}

constructor(address factory) {
constructor(
address factory
) {
_disableInitializers();

FACTORY = factory;
Expand Down
2 changes: 1 addition & 1 deletion src/contracts/common/MigratableEntityProxy.sol
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.25;

import {IMigratableEntityProxy} from "src/interfaces/common/IMigratableEntityProxy.sol";
import {IMigratableEntityProxy} from "../../interfaces/common/IMigratableEntityProxy.sol";

import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
import {ERC1967Utils} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol";
Expand Down
18 changes: 12 additions & 6 deletions src/contracts/common/MigratablesFactory.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ pragma solidity 0.8.25;
import {MigratableEntityProxy} from "./MigratableEntityProxy.sol";
import {Registry} from "./Registry.sol";

import {IMigratableEntityProxy} from "src/interfaces/common/IMigratableEntityProxy.sol";
import {IMigratableEntity} from "src/interfaces/common/IMigratableEntity.sol";
import {IMigratablesFactory} from "src/interfaces/common/IMigratablesFactory.sol";
import {IMigratableEntityProxy} from "../../interfaces/common/IMigratableEntityProxy.sol";
import {IMigratableEntity} from "../../interfaces/common/IMigratableEntity.sol";
import {IMigratablesFactory} from "../../interfaces/common/IMigratablesFactory.sol";

import {Address} from "@openzeppelin/contracts/utils/Address.sol";
import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
Expand All @@ -18,7 +18,9 @@ contract MigratablesFactory is Registry, Ownable, IMigratablesFactory {

EnumerableSet.AddressSet private _whitelistedImplementations;

constructor(address owner_) Ownable(owner_) {}
constructor(
address owner_
) Ownable(owner_) {}

/**
* @inheritdoc IMigratablesFactory
Expand All @@ -30,7 +32,9 @@ contract MigratablesFactory is Registry, Ownable, IMigratablesFactory {
/**
* @inheritdoc IMigratablesFactory
*/
function implementation(uint64 version) public view returns (address) {
function implementation(
uint64 version
) public view returns (address) {
if (version == 0 || version > lastVersion()) {
revert InvalidVersion();
}
Expand All @@ -40,7 +44,9 @@ contract MigratablesFactory is Registry, Ownable, IMigratablesFactory {
/**
* @inheritdoc IMigratablesFactory
*/
function whitelist(address implementation_) external onlyOwner {
function whitelist(
address implementation_
) external onlyOwner {
if (IMigratableEntity(implementation_).FACTORY() != address(this)) {
revert InvalidImplementation();
}
Expand Down
Loading

0 comments on commit 76bf709

Please sign in to comment.