misc: Fixed FreshLens Deployment script and run bash script, bump solidity version to 0.8.24

This commit is contained in:
vicnaum
2024-04-09 20:48:39 +02:00
parent 86f98408aa
commit ba5342dcaf
3 changed files with 73 additions and 20 deletions

View File

@@ -6,7 +6,7 @@ test = 'test'
cache_path = 'forge-cache'
fs_permissions = [{ access = "read-write", path = "./"},{ access = "write", path = "./svgs"}]
solc_version = '0.8.21'
solc_version = '0.8.24'
evm_version = 'paris'
optimizer = true
optimizer_runs = 10

View File

@@ -122,6 +122,54 @@ contract DeployFreshLensV2 is Script, ForkManagement, ArrayHelpers {
console.log('\n- - - PROFILE CREATOR: %s', profileCreator.owner);
}
function saveContractAddress(string memory contractName, address deployedAddress) internal {
// console.log('Saving %s (%s) into addresses under %s environment', contractName, deployedAddress, targetEnv);
string[] memory inputs = new string[](5);
inputs[0] = 'node';
inputs[1] = 'script/helpers/saveAddress.js';
inputs[2] = targetEnv;
inputs[3] = contractName;
inputs[4] = vm.toString(deployedAddress);
// bytes memory res =
vm.ffi(inputs);
// string memory output = abi.decode(res, (string));
// console.log(output);
}
function saveModule(
string memory moduleName,
address moduleAddress,
string memory lensVersion,
string memory moduleType
) internal {
// console.log('Saving %s (%s) into addresses under %s environment', moduleName, moduleAddress, targetEnv);
string[] memory inputs = new string[](7);
inputs[0] = 'node';
inputs[1] = 'script/helpers/saveAddress.js';
inputs[2] = targetEnv;
inputs[3] = moduleName;
inputs[4] = vm.toString(moduleAddress);
inputs[5] = lensVersion;
inputs[6] = moduleType;
// bytes memory res =
vm.ffi(inputs);
// string memory output = abi.decode(res, (string));
// console.log(output);
}
function _logDeployedAddress(address deployedAddress, string memory addressLabel) internal {
console.log('\n+ + + ', addressLabel, ': ', deployedAddress);
vm.writeLine(addressesFile, string.concat(addressLabel, string.concat(': ', vm.toString(deployedAddress))));
saveContractAddress(addressLabel, deployedAddress);
}
function _logDeployedModule(address deployedAddress, string memory moduleName, string memory moduleType) internal {
string memory lensVersion = 'v2';
console.log('\n+ + + ', moduleName, ': ', deployedAddress);
vm.writeLine(addressesFile, string.concat(moduleName, string.concat(': ', vm.toString(deployedAddress))));
saveModule(moduleName, deployedAddress, lensVersion, moduleType);
}
function loadDeployParams() internal {
HANDLE_GUARDIAN_COOLDOWN = json.readUint(
string(abi.encodePacked('.', targetEnv, '.LensHandlesGuardianTimelock'))
@@ -150,8 +198,8 @@ contract DeployFreshLensV2 is Script, ForkManagement, ArrayHelpers {
admin_: proxyAdmin.owner,
_data: ''
});
_logDeployedAddress(address(moduleRegistryProxy), 'ModuleRegistryProxy');
moduleRegistry = ModuleRegistry(address(moduleRegistryProxy));
_logDeployedAddress(address(moduleRegistry), 'ModuleRegistry');
uint256 currentDeployerNonce = vm.getNonce(deployer.owner);
/**
@@ -259,15 +307,14 @@ contract DeployFreshLensV2 is Script, ForkManagement, ArrayHelpers {
collectNFTImpl: address(collectNFT),
moduleOwner: governance.owner
});
_logDeployedAddress(address(collectPublicationActionImpl), 'CollectPublicationActionImpl');
collectPublicationActionProxy = new TransparentUpgradeableProxy({
_logic: address(collectPublicationActionImpl),
admin_: proxyAdmin.owner,
_data: ''
});
_logDeployedAddress(address(collectPublicationActionProxy), 'CollectPublicationActionProxy');
collectPublicationAction = CollectPublicationAction(address(collectPublicationActionProxy));
_logDeployedModule(address(collectPublicationAction), 'CollectPublicationAction', 'act');
}
function _deployFollowModules() internal {
@@ -276,28 +323,28 @@ contract DeployFreshLensV2 is Script, ForkManagement, ArrayHelpers {
moduleRegistry: address(moduleRegistry),
moduleOwner: governance.owner
});
_logDeployedAddress(address(feeFollowModule), 'FeeFollowModule');
_logDeployedModule(address(feeFollowModule), 'FeeFollowModule', 'follow');
revertFollowModule = new RevertFollowModule({moduleOwner: governance.owner});
_logDeployedAddress(address(revertFollowModule), 'RevertFollowModule');
_logDeployedModule(address(revertFollowModule), 'RevertFollowModule', 'follow');
}
function _deployCollectModules() internal {
simpleFeeCollectModule = new SimpleFeeCollectModule({
hub: address(hub),
actionModule: address(collectPublicationActionProxy),
actionModule: address(collectPublicationAction),
moduleRegistry: address(moduleRegistry),
moduleOwner: governance.owner
});
_logDeployedAddress(address(simpleFeeCollectModule), 'SimpleFeeCollectModule');
_logDeployedModule(address(simpleFeeCollectModule), 'SimpleFeeCollectModule', 'collect');
multirecipientFeeCollectModule = new MultirecipientFeeCollectModule({
hub: address(hub),
actionModule: address(collectPublicationActionProxy),
actionModule: address(collectPublicationAction),
moduleRegistry: address(moduleRegistry),
moduleOwner: governance.owner
});
_logDeployedAddress(address(multirecipientFeeCollectModule), 'MultirecipientFeeCollectModule');
_logDeployedModule(address(multirecipientFeeCollectModule), 'MultirecipientFeeCollectModule', 'collect');
}
function _deployReferenceModules() internal {
@@ -305,17 +352,23 @@ contract DeployFreshLensV2 is Script, ForkManagement, ArrayHelpers {
hub: address(hub),
moduleOwner: governance.owner
});
_logDeployedAddress(address(degreesOfSeparationReferenceModule), 'DegreesOfSeparationReferenceModule');
_logDeployedModule(
address(degreesOfSeparationReferenceModule),
'DegreesOfSeparationReferenceModule',
'reference'
);
followerOnlyReferenceModule = new FollowerOnlyReferenceModule({
hub: address(hub),
moduleOwner: governance.owner
});
_logDeployedAddress(address(followerOnlyReferenceModule), 'FollowerOnlyReferenceModule');
_logDeployedModule(address(followerOnlyReferenceModule), 'FollowerOnlyReferenceModule', 'reference');
}
function _deployPeripherialContracts() internal {
litAccessControlImpl = new LitAccessControl(address(hub), address(collectPublicationAction));
_logDeployedAddress(address(litAccessControlImpl), 'LitAccessControlImpl');
litAccessControlProxy = new TransparentUpgradeableProxy({
_logic: address(litAccessControlImpl),
admin_: proxyAdmin.owner,
@@ -390,11 +443,6 @@ contract DeployFreshLensV2 is Script, ForkManagement, ArrayHelpers {
console.log('\n* * * MultirecipientFeeCollectModule registered as collect module');
}
function _logDeployedAddress(address deployedAddress, string memory addressLabel) internal {
console.log('\n+ + + ', addressLabel, ': ', deployedAddress);
vm.writeLine(addressesFile, string.concat(addressLabel, string.concat(': ', vm.toString(deployedAddress))));
}
function deploy() internal {
loadDeployParams();
@@ -429,13 +477,16 @@ contract DeployFreshLensV2 is Script, ForkManagement, ArrayHelpers {
hub.setState(Types.ProtocolState.Unpaused);
console.log('\n* * * Protocol unpaused');
hub.setTreasury(address(treasury.owner));
hub.setTreasury(treasury.owner);
console.log('\n* * * Treasury set to: ', treasury.owner);
saveContractAddress('Treasury', treasury.owner);
uint256 treasuryFee = json.readUint(string(abi.encodePacked('.', targetEnv, '.TreasuryFee')));
if (treasuryFee > 10_000) {
revert('Treasury fee exceeding max BPS');
}
hub.setTreasuryFee(uint16(treasuryFee));
console.log('\n* * * Treasury fee set to: ', treasuryFee);
uint256 profileRoyaltyFee = json.readUint(string(abi.encodePacked('.', targetEnv, '.ProfileRoyaltyFee')));
ERC2981CollectionRoyalties(address(hub)).setRoyalty(profileRoyaltyFee);
@@ -461,9 +512,11 @@ contract DeployFreshLensV2 is Script, ForkManagement, ArrayHelpers {
// Deploy governance and proxy-admin controllable-by-contract contracts, and transfer ownership.
governanceContract = new Governance(address(hub), governance.owner);
_logDeployedAddress(address(governanceContract), 'GovernanceContract');
_logDeployedAddress(governance.owner, 'GovernanceContractAdmin');
proxyAdminContract = new ProxyAdmin(address(hub), address(0), proxyAdmin.owner);
_logDeployedAddress(address(proxyAdminContract), 'ProxyAdminContract');
_logDeployedAddress(proxyAdmin.owner, 'ProxyAdminContractAdmin');
}
vm.stopBroadcast();

View File

@@ -39,7 +39,7 @@ CALLDATA=$(cast calldata "run(string)" $TARGET)
echo "Interactions calldata:"
echo "$CALLDATA"
forge script script/$SCRIPT_NAME.s.sol:$SCRIPT_NAME --sig $CALLDATA --rpc-url $NETWORK -vv --legacy --skip test --ffi
forge script script/$SCRIPT_NAME.s.sol:$SCRIPT_NAME --sig $CALLDATA --rpc-url $NETWORK -vv --skip test --ffi
# If the confirmation override is set to s or S - then we skip the rest of the script and exit with success
if [[ "$CONFIRMATION_OVERRIDE" == "s" || "$CONFIRMATION_OVERRIDE" == "S" ]]
@@ -86,7 +86,7 @@ if [[ "$CONFIRMATION" == "y" || "$CONFIRMATION" == "Y" ]]
catapulta script script/$SCRIPT_NAME.s.sol --chain $NETWORK --sig $CALLDATA --legacy --skip test --ffi --slow --skip-git
exit 0
else
forge script script/$SCRIPT_NAME.s.sol:$SCRIPT_NAME --sig $CALLDATA --rpc-url $NETWORK -vv --legacy --skip test --ffi --slow --broadcast
forge script script/$SCRIPT_NAME.s.sol:$SCRIPT_NAME --sig $CALLDATA --rpc-url $NETWORK -vv --skip test --ffi --slow --broadcast
fi
else