Skip to content
This repository has been archived by the owner on Oct 31, 2024. It is now read-only.

feat: update hardhat toolbox for ethers v6 #119

Merged
merged 17 commits into from
Jan 8, 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
2 changes: 1 addition & 1 deletion contracts/topos-core/AdminMultisigBase.sol
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ contract AdminMultisigBase is EternalStorage {
}

function _getAdmin(uint256 adminEpoch, uint256 index) internal view returns (address) {
return getAddress(_getAdminKey(adminEpoch, index));
return getAddressStorage(_getAdminKey(adminEpoch, index));
}

function _getAdminCount(uint256 adminEpoch) internal view returns (uint256) {
Expand Down
4 changes: 3 additions & 1 deletion contracts/topos-core/EternalStorage.sol
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ contract EternalStorage {
return _stringStorage[key];
}

function getAddress(bytes32 key) public view returns (address) {
// Renamed getAddress to getAddressStorage to prevent overriding ethers v6
// getAddress BaseContract method
function getAddressStorage(bytes32 key) public view returns (address) {
return _addressStorage[key];
}

Expand Down
14 changes: 7 additions & 7 deletions contracts/topos-core/SubnetRegistrator.sol
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ contract SubnetRegistrator is Initializable, Ownable {
/// @notice Subnet removal event
event SubnetRemoved(SubnetId subnetId);

/// @notice Contract initializer
/// @dev Can only be called once
/// @param admin address of the admin
function initialize(address admin) public initializer {
_transferOwnership(admin);
}

/// @notice Check if the subnet is already registered
/// @param subnetId FROST public key of a subnet
function subnetExists(SubnetId subnetId) external view returns (bool) {
Expand All @@ -49,13 +56,6 @@ contract SubnetRegistrator is Initializable, Ownable {
return SubnetId.wrap(subnetSet.keyAtIndex(index));
}

/// @notice Contract initializer
/// @dev Can only be called once
/// @param admin address of the admin
function initialize(address admin) public initializer {
_transferOwnership(admin);
}

/// @notice Register a new subnet
/// @param chainId subnet network ID
/// @param currencySymbol currencySymbol for a subnet currency
Expand Down
24 changes: 12 additions & 12 deletions contracts/topos-core/ToposCore.sol
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,17 @@ contract ToposCore is IToposCore, AdminMultisigBase, Initializable {
_disableInitializers();
}

/// @notice Contract initializer
/// @dev Can only be called once
/// @param adminAddresses list of admins
/// @param newAdminThreshold number of admins required to approve a call
function initialize(address[] memory adminAddresses, uint256 newAdminThreshold) public initializer {
// NOTE: Admin epoch is incremented to easily invalidate current admin-related state.
uint256 newAdminEpoch = _adminEpoch() + uint256(1);
_setAdminEpoch(newAdminEpoch);
_setAdmins(newAdminEpoch, adminAddresses, newAdminThreshold);
}

/// @notice Sets the subnet ID
/// @param _networkSubnetId The subnet ID of the subnet this contract is to be deployed on
function setNetworkSubnetId(SubnetId _networkSubnetId) external onlyAdmin {
Expand Down Expand Up @@ -125,17 +136,6 @@ contract ToposCore is IToposCore, AdminMultisigBase, Initializable {
}
}

/// @notice Contract initializer
/// @dev Can only be called once
/// @param adminAddresses list of admins
/// @param newAdminThreshold number of admins required to approve a call
function initialize(address[] memory adminAddresses, uint256 newAdminThreshold) public initializer {
// NOTE: Admin epoch is incremented to easily invalidate current admin-related state.
uint256 newAdminEpoch = _adminEpoch() + uint256(1);
_setAdminEpoch(newAdminEpoch);
_setAdmins(newAdminEpoch, adminAddresses, newAdminThreshold);
}

/// @notice Checks if a certificate exists on the ToposCore contract
/// @param certId The Certificate ID
function certificateExists(CertificateId certId) public view returns (bool) {
Expand Down Expand Up @@ -172,7 +172,7 @@ contract ToposCore is IToposCore, AdminMultisigBase, Initializable {

/// @notice Get the ToposCore implmentation address
function implementation() public view override returns (address) {
return getAddress(KEY_IMPLEMENTATION);
return getAddressStorage(KEY_IMPLEMENTATION);
}

/// @notice Get the certificate for the provided certificate ID
Expand Down
2 changes: 1 addition & 1 deletion contracts/topos-core/ToposCoreProxy.sol
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ contract ToposCoreProxy is EternalStorage {

// solhint-disable-next-line no-complex-fallback
fallback() external payable {
address implementation = getAddress(KEY_IMPLEMENTATION);
address implementation = getAddressStorage(KEY_IMPLEMENTATION);

// solhint-disable-next-line no-inline-assembly
assembly {
Expand Down
Loading
Loading