pub fn encoding_len(
    data_len: u64,
    signature_len: u64,
    factory_deps_len: u64,
    paymaster_input_len: u64,
    reserved_dynamic_len: u64,
) -> usize {
    // The length assuming that all the dynamic fields are empty, i.e. it includes
    // encoding of fixed-length fields and the lengths of the dynamic fields + 1 0x20 starting symbol
    const BASE_LEN: usize = 1 + 19 + 5;

    // All of the fields are encoded as `bytes`, so their encoding takes ceil(len, 32) slots.
    // For factory deps we only provide hashes, which are encoded as an array of bytes32.
    let dynamic_len = data_len.div_ceil(32)
        + signature_len.div_ceil(32)
        + paymaster_input_len.div_ceil(32)
        + reserved_dynamic_len.div_ceil(32)
        + factory_deps_len;

    BASE_LEN + dynamic_len as usize
}
Returns how many slots would ABI-encoding of the transaction with such parameters take
core/lib/types/src/fee.rs