Skip to content

Conversation

@bh2smith
Copy link
Owner

@bh2smith bh2smith commented May 10, 2025

For gas savings we encode the bytes of the call array in the original batcher off chain and fallback on the existing MutlsendCallOnly contract from safe-global.

Note that this contract inherits multisend rather than calling out to it.

Vague Gas Improvements shown here (looks like about 20%)

We also removed the events (should we consider adding one?)

Ran 4 tests for test/EOAMultisend.t.sol:EOAMultisendTest
[PASS] testDirectExecution() (gas: 94564)
[PASS] testReplayAttack() (gas: 96829)
[PASS] testSponsoredExecution() (gas: 89368)
[PASS] testWrongSignature() (gas: 54673)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.51ms (3.07ms CPU time)

Ran 4 tests for test/BatchCallAndSponsor.t.sol:BatchCallAndSponsorTest
[PASS] testDirectExecution() (gas: 133489)
[PASS] testReplayAttack() (gas: 112419)
[PASS] testSponsoredExecution() (gas: 105515)
[PASS] testWrongSignature() (gas: 37856)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.53ms (3.24ms CPU time)

@bh2smith bh2smith force-pushed the crosschain-replay branch from e01b4ca to 0fdea5d Compare May 10, 2025 08:55
@bh2smith bh2smith force-pushed the crosschain-replay branch from 0fdea5d to 8359e98 Compare May 10, 2025 09:06
@bh2smith bh2smith merged commit cce2192 into main May 10, 2025
1 check passed
@bh2smith bh2smith deleted the crosschain-replay branch May 10, 2025 09:17
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.

2 participants