solana-trader 0.1.2

Implemented most of the commonly used practical transaction-related functions on the Solana network.
Documentation
use solana_sdk::{signature::Signature, signer::Signer};

use crate::wallet::Wallet;

pub struct Message;
impl Message {
    /// sign message
    /// # params
    /// * w wallet object
    /// * message byte array of the message
    /// ```rust
    /// let w = Wallet::from_private_key_64("private key");
    /// let s = Message::sign_message(w, "message".as_bytes());
    /// ```
    pub fn sign_message(w: Wallet, message: &[u8]) -> Signature {
        w.keypair.unwrap().sign_message(message)
    }
    /// verify message
    /// # params
    /// * signature signature object
    /// * w wallet object
    /// * message byte array of the message
    /// ```rust
    /// let w = Wallet::from_private_key_64("private key");
    /// let s = Message::sign_message(w, "message".as_bytes());
    /// let bool = Message::verify_message(s, w, "message".as_bytes());
    /// ```
    pub fn verify_message(signature: Signature, w: Wallet, message: &[u8]) -> bool {
        signature.verify(w.keypair.unwrap().pubkey().as_ref(), message)
    }
}