Skip to main content

encode_multicall3_aggregate3_value

Function encode_multicall3_aggregate3_value 

Source
pub fn encode_multicall3_aggregate3_value(calls: &[Call]) -> Bytes
Expand description

Encode a Vec<Call> as a multicall3 aggregate3Value call (calldata only; caller sets to = MULTICALL3_ADDRESS and the top-level tx value).

Unlike encode_multicall3_aggregate3, this FORWARDS each Call::value as the per-call value. Multicall3 requires the transaction’s msg.value to equal the sum of per-call values; callers should use wp_evm_compose::wrap_multicall3_value, which sets that sum.

allowFailure is false for every call: any sub-call revert reverts the whole transaction (atomic execution).

Note: inside Multicall3 each sub-call’s msg.sender is the Multicall3 contract, not the original EOA. Do not encode approve() or other msg.sender-dependent calls here.

Pure. No I/O.