gmsol-sdk 0.9.0

GMX-Solana is an extension of GMX on the Solana blockchain.
Documentation
pub mod deposit;
pub mod glv_deposit;
pub mod glv_withdrawal;
pub mod order;
pub mod shift;
pub mod simulator;
pub mod withdrawal;

pub use order::{JsOrderSimulationOutput, SimulateOrderArgs};
pub use simulator::JsSimulator;

use borsh::BorshSerialize;
use gmsol_programs::bytemuck;

use crate::utils::base64::encode_base64;

fn encode_borsh_base64<T: BorshSerialize>(data: &T) -> crate::Result<String> {
    data.try_to_vec()
        .map(|data| encode_base64(&data))
        .map_err(crate::Error::custom)
}

fn encode_bytemuck_base64<T: bytemuck::NoUninit>(data: &T) -> String {
    encode_base64(bytemuck::bytes_of(data))
}