Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2436 deployment scripts for lightclientarbitrum upgrade scripts lightclient #2449

Conversation

alysiahuggins
Copy link
Contributor

Closes #2436

This PR:

  • creates foundry forge scripts for deploying the LightClientArbitrum contract
  • makes changes to the initialize() method on LightClient.sol, it no longer updates the state history upon initialization as precompiles can't be called when deploying to networks

This PR does not:

  • update the rust scripts for deployment

Key places to review:

  • README.md
  • change to LightClient.sol

Sneh1999 and others added 5 commits December 22, 2024 10:07
… the updateStateHistory from Lightclient during the initialization step as precompiles cannot be called during a forge script deployment
(LC.LightClientState memory state, LC.StakeTableState memory stakeState) =
abi.decode(result, (LC.LightClientState, LC.StakeTableState));

proxyAddress = Upgrades.deployUUPSProxy(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this a proxy address? why cant we just deploy an implementation contract and then upgrade our existing proxy?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opted for a deploy instead of an upgrade whilst dealing with the precompile issue. once this quick review is fine, i can continue with the upgrade steps

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

created a ticket for the upgrade script as the safe transaction service is not supported in arbitrum sepolia. this service is needed for proposing transactions to the safe multisig wallet, created another ticket #2457

@@ -9,6 +9,11 @@ interface ArbSys {
}

contract LightClientArbitrum is LightClient {
/// @custom:oz-upgrades-unsafe-allow constructor
constructor() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need to do this? it should inherit the constructor from LightClient

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's right, this code lingered here because i originally planned to override the initialize function and wanted to be explicit. will remove

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@Sneh1999 Sneh1999 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@alysiahuggins alysiahuggins marked this pull request as ready for review January 15, 2025 04:10
@alysiahuggins alysiahuggins merged commit 6e1dc58 into main Jan 15, 2025
22 checks passed
@alysiahuggins alysiahuggins deleted the 2436-deployment-scripts-for-lightclientarbitrum-upgrade-scripts-lightclient branch January 15, 2025 04:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deployment scripts for LightClientArbitrum & Upgrade scripts LightClient
2 participants