mirror of
https://github.com/lens-protocol/core.git
synced 2026-01-09 14:18:04 -05:00
misc: local fork upgrade script improved
This commit is contained in:
@@ -13,15 +13,67 @@ echo "Using target: $TARGET"
|
||||
|
||||
|
||||
IMPLEMENTATION_SLOT="0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"
|
||||
|
||||
LENSHUB=$(node script/helpers/readAddress.js $TARGET LensHubProxy)
|
||||
echo "LensHub Proxy: $LENSHUB"
|
||||
|
||||
LENSHUB_NEW_IMPL=$(node script/helpers/readAddress.js $TARGET LensHubV2Impl)
|
||||
echo "LensHub New Impl: $LENSHUB_NEW_IMPL"
|
||||
|
||||
EXISTING_IMPLEMENTATION=$(cast parse-bytes32-address $(cast storage $LENSHUB $IMPLEMENTATION_SLOT))
|
||||
|
||||
if [[ "$EXISTING_IMPLEMENTATION" == "$LENSHUB_NEW_IMPL" ]]
|
||||
then
|
||||
echo "LensHub already upgraded to $LENSHUB_NEW_IMPL"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PROXY_CONTRACT=$(node script/helpers/readAddress.js $TARGET ProxyAdminContract)
|
||||
echo "ProxyAdminContract: $PROXY_CONTRACT"
|
||||
|
||||
PROXY_CONTRACT_OWNER=$(cast call $PROXY_CONTRACT "owner()(address)")
|
||||
echo "ProxyAdminContract owner: $PROXY_CONTRACT_OWNER"
|
||||
|
||||
echo "ProxyAdminContract Owner balance: $(cast balance $PROXY_CONTRACT_OWNER)"
|
||||
|
||||
cast rpc anvil_setBalance "[\"$PROXY_CONTRACT_OWNER\", \"0x8AC7230489E800000000\"]" --raw
|
||||
|
||||
echo "ProxyAdminContract Owner balance: $(cast balance $PROXY_CONTRACT_OWNER)"
|
||||
|
||||
GOVERNANCE_CONTRACT=$(node script/helpers/readAddress.js $TARGET GovernanceContract)
|
||||
echo "GovernanceContract: $GOVERNANCE_CONTRACT"
|
||||
|
||||
GOVERNANCE_CONTRACT_OWNER=$(cast call $GOVERNANCE_CONTRACT "owner()(address)")
|
||||
echo "GovernanceContract owner: $GOVERNANCE_CONTRACT_OWNER"
|
||||
|
||||
echo "GovernanceContract Owner balance: $(cast balance $GOVERNANCE_CONTRACT_OWNER)"
|
||||
|
||||
cast rpc anvil_setBalance "[\"$GOVERNANCE_CONTRACT_OWNER\", \"0x8AC7230489E800000000\"]" --raw
|
||||
|
||||
echo "GovernanceContract Owner balance: $(cast balance $GOVERNANCE_CONTRACT_OWNER)"
|
||||
|
||||
PERMISSIONLESS_CREATOR=$(node script/helpers/readAddress.js $TARGET PermissionlessCreator)
|
||||
echo "PermissionlessCreator: $PERMISSIONLESS_CREATOR"
|
||||
|
||||
cast rpc anvil_impersonateAccount $PROXY_CONTRACT_OWNER
|
||||
cast send $PROXY_CONTRACT "proxy_upgrade(address)" "0xb4A26f55Cc2d1473b8A7649d90d34ba52A480391" --unlocked --from $PROXY_CONTRACT_OWNER
|
||||
cast send $PROXY_CONTRACT "proxy_upgrade(address)" "$LENSHUB_NEW_IMPL" --unlocked --from $PROXY_CONTRACT_OWNER --legacy
|
||||
|
||||
NEW_IMPLEMENTATION=$(cast parse-bytes32-address $(cast storage $LENSHUB $IMPLEMENTATION_SLOT))
|
||||
|
||||
echo "Successfully upgraded LensHub to $NEW_IMPLEMENTATION"
|
||||
if [[ "$NEW_IMPLEMENTATION" == "$LENSHUB_NEW_IMPL" ]]
|
||||
then
|
||||
echo "LensHub successfully upgraded to $NEW_IMPLEMENTATION"
|
||||
else
|
||||
echo "LensHub upgrade failed. Expected $LENSHUB_NEW_IMPL, got $NEW_IMPLEMENTATION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cast rpc anvil_stopImpersonatingAccount $PROXY_CONTRACT_OWNER
|
||||
|
||||
cast rpc anvil_impersonateAccount $GOVERNANCE_CONTRACT_OWNER
|
||||
cast send $GOVERNANCE_CONTRACT "lensHub_whitelistProfileCreator(address,bool)" $PERMISSIONLESS_CREATOR true --unlocked --from $GOVERNANCE_CONTRACT_OWNER --legacy
|
||||
cast rpc anvil_stopImpersonatingAccount $GOVERNANCE_CONTRACT_OWNER
|
||||
|
||||
cast rpc anvil_mine
|
||||
|
||||
cast rpc anvil_mine
|
||||
|
||||
Reference in New Issue
Block a user