walletconnect-client 0.2.0

WASM library for walletconnect dApp connections
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use ethers::{types::H256, utils::keccak256};

pub fn hash_message<T: AsRef<[u8]>>(message: T) -> H256 {
    const PREFIX: &str = "\x19Ethereum Signed Message:\n";

    let message = message.as_ref();
    let len = message.len();
    let len_string = len.to_string();

    let mut eth_message = Vec::with_capacity(PREFIX.len() + len_string.len() + len);
    eth_message.extend_from_slice(PREFIX.as_bytes());
    eth_message.extend_from_slice(len_string.as_bytes());
    eth_message.extend_from_slice(message);

    H256(keccak256(&eth_message))
}