spark_sdk/wallet/utils/proof_of_possession.rs
1pub(crate) fn proof_of_possession_message_hash_for_deposit_address(
2 user_pubkey: &[u8],
3 operator_pubkey: &[u8],
4 deposit_address: &[u8],
5) -> [u8; 32] {
6 let mut msg =
7 Vec::with_capacity(user_pubkey.len() + operator_pubkey.len() + deposit_address.len());
8 msg.extend_from_slice(user_pubkey);
9 msg.extend_from_slice(operator_pubkey);
10 msg.extend_from_slice(deposit_address);
11
12 let hash = sha256::digest(&msg);
13 let hash_slice = hex::decode(hash).unwrap();
14
15 hash_slice.try_into().unwrap()
16}