solana_trader/message.rs
1use solana_sdk::{signature::Signature, signer::Signer};
2
3use crate::wallet::Wallet;
4
5pub struct Message;
6impl Message {
7 /// sign message
8 /// # params
9 /// * w wallet object
10 /// * message byte array of the message
11 /// ```rust
12 /// let w = Wallet::from_private_key_64("private key");
13 /// let s = Message::sign_message(w, "message".as_bytes());
14 /// ```
15 pub fn sign_message(w: Wallet, message: &[u8]) -> Signature {
16 w.keypair.unwrap().sign_message(message)
17 }
18 /// verify message
19 /// # params
20 /// * signature signature object
21 /// * w wallet object
22 /// * message byte array of the message
23 /// ```rust
24 /// let w = Wallet::from_private_key_64("private key");
25 /// let s = Message::sign_message(w, "message".as_bytes());
26 /// let bool = Message::verify_message(s, w, "message".as_bytes());
27 /// ```
28 pub fn verify_message(signature: Signature, w: Wallet, message: &[u8]) -> bool {
29 signature.verify(w.keypair.unwrap().pubkey().as_ref(), message)
30 }
31}