Skip to content

Conversation

@jackchuma
Copy link
Contributor

@jackchuma jackchuma commented Aug 11, 2025

Adds the Multicall contract utilized by our eth recovery task. In the regular Multicall3 contract, the aggregate3Value function has the following line:

require(msg.value == valAccumulator, "Multicall3: value mismatch");

This did not allow us to delegatecall from a multisig because you cannot send a value with this call type. Since our multisig already holds ETH, removing the above require statement allows calling aggregate3Value via delegatecall.

@linear
Copy link

linear bot commented Aug 11, 2025

@cb-heimdall
Copy link
Collaborator

cb-heimdall commented Aug 11, 2025

✅ Heimdall Review Status

Requirement Status More Info
Reviews 1/1
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 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

Copy link
Contributor

@leopoldjoy leopoldjoy left a comment

Choose a reason for hiding this comment

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

Looks great!

@cb-heimdall
Copy link
Collaborator

Review Error for leopoldjoy @ 2025-08-11 19:19:18 UTC
User must have write permissions to review

@jackchuma jackchuma merged commit 49a06a8 into main Aug 12, 2025
4 checks passed
@jackchuma jackchuma deleted the jack/cb-multicall branch August 12, 2025 11:02
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.

5 participants