pub fn deployed_address_create(sender: Address, deploy_nonce: U256) -> Address {
    let prefix_bytes = keccak256("zksyncCreate".as_bytes());
    let address_bytes = address_to_h256(&sender);
    let nonce_bytes = u256_to_h256(deploy_nonce);

    let mut bytes = [0u8; 96];
    bytes[..32].copy_from_slice(&prefix_bytes);
    bytes[32..64].copy_from_slice(address_bytes.as_bytes());
    bytes[64..].copy_from_slice(nonce_bytes.as_bytes());

    Address::from_slice(&keccak256(&bytes)[12..])
}
Pre-calculates the address of the to-be-deployed EraVM contract (via CREATE, not CREATE2).
core/lib/types/src/utils.rs