Skip to content

Conversation

@leopoldjoy
Copy link
Contributor

This PR adds a template for a combined gas & elasticity increase and is also compatible with the new Signer Tool.

NOTE: This PR remains WIP until the Signer Tool can support directly adding a config parameter that contains the full command to be run. This is because simulating rollbacks requires reversal of the environment variables which currently isn't possible (e.g. via the Makefile).

@cb-heimdall
Copy link
Collaborator

cb-heimdall commented Nov 1, 2025

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/2
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 2
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 2
2
1 if commit is unverified 0
Sum 2

@leopoldjoy leopoldjoy marked this pull request as ready for review November 11, 2025 13:49
@leopoldjoy leopoldjoy changed the title WIP: add template for gas & elasticity increase template for gas & elasticity increase Nov 11, 2025
BASE_CONTRACTS_COMMIT=TODO # Recommend using the latest version of https://github.com/base-org/contracts

# TODO: ensure `SYSTEM_CONFIG` is correct on the given network
SYSTEM_CONFIG=0x73a79Fab69143498Ed3712e519A88a918e1f4072
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it should be fine to have both the mainnet and sepolia values in here so the task creator can just delete the other network that is not needed


### 3. (**ONLY** if needed) Execute upgrade rollback

> [!IMPORTANT] THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: this doesn't display properly. "THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK" should be moved to a new line below the important tag. So

> [!IMPORTANT]
>
> THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK

TO_GAS_LIMIT=$(TO_GAS_LIMIT) \
FROM_ELASTICITY=$(FROM_ELASTICITY) \
TO_ELASTICITY=$(TO_ELASTICITY) \
$(call MULTISIG_EXECUTE,$(SIGNATURES))
Copy link
Contributor

Choose a reason for hiding this comment

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

The env var setting here is unnecessary, no?

cd $(SIGNER_TOOL_PATH); \
npm ci; \
bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \
--workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \
Copy link
Contributor

Choose a reason for hiding this comment

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

Use RPC_URL in this command since it's assigned above

TO_ELASTICITY=$(TO_ELASTICITY) \
$(call MULTISIG_EXECUTE,$(SIGNATURES))

# Manually swap the old and new values for the gas limit and elasticity when passing them in for the rollback
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this comment old?

npm ci; \
bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \
--workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \
$(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer-upgrade.json;
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd prefer to just name the file base-signer.json

DENOMINATOR = ISystemConfig(SYSTEM_CONFIG).eip1559Denominator();
}

function setUp() external view {
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this works as expected when simulating the rollback transaction. I'd remove the setUp function


You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`.

## Approving the Rollback transaction
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the rollback transaction approval should just be an extension of the previous section. No need to tell the signer to Ctrl + C the app after signing the upgrade. Instead just click the button to 'run another validation'

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.

3 participants