pub fn encode_stake_table_v3_timelock_proposal(
proxy_addr: Address,
v3_impl_addr: Address,
timelock_addr: Address,
init_data: Bytes,
params: &StakeTableV3TimelockProposalParams,
) -> Result<StakeTableV3TimelockProposal>Expand description
Encode timelock schedule + execute calldata wrapping a StakeTable V3 upgrade.
The inner payload is proxy.upgradeToAndCall(v3_impl, init_data) where
init_data is initializeV3() calldata (or empty if the proxy is already at V3).
This is a pure encoding helper: it does not deploy contracts or make RPC calls, which keeps it unit-testable without an Anvil instance.