Skip to content

Commit c546350

Browse files
authored
Merge pull request #2332 from ArseniiPetrovich/patch-2
Add information about batch requests into the most relevant part of t…
2 parents a1aa74e + 9928bef commit c546350

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

smart-contracts/advanced/multicall.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,8 @@ In FVM, there are two types of accounts: Externally Owned Accounts (EOAs) contro
123123
For EOAs, which can only use CALL, Multicall3's address becomes the `msg.sender` for subsequent calls. This limits its usefulness from EOAs to scenarios where **`msg.sender` is irrelevant**. However, contract wallets or other contracts can use either CALL or DELEGATECALL, with the latter preserving the original `msg.sender`.
124124

125125
The handling of `msg.value` in multicalls requires caution. Since `msg.value` doesn't change with delegatecalls, relying on it within a multicall can lead to security vulnerabilities. To learn more about this, see [here](https://github.com/runtimeverification/verified-smart-contracts/wiki/List-of-Security-Vulnerabilities#payable-multicall) and [here](https://samczsun.com/two-rights-might-make-a-wrong/).
126+
127+
# Hints
128+
129+
Lotus FEVM RPC supports Ethereum batch transactions. The key difference between `multicall` and batch transactions is that `multicall` aggregates multiple RPC requests into a single call, while batch transactions are simply an array of transactions executed sequentially but sent in one request. For more details, please refer to the [Ethereum documentation](https://geth.ethereum.org/docs/interacting-with-geth/rpc/batch).
130+

0 commit comments

Comments
 (0)