Add native_token module to sdk (bp #6192) (#6196)

automerge
This commit is contained in:
mergify[bot]
2019-10-01 13:02:43 -07:00
committed by Grimes
parent fcae91d7fa
commit 517cebf7f0
4 changed files with 15 additions and 10 deletions

View File

@ -8,11 +8,3 @@ pub mod input_validators;
pub mod validator_info;
pub mod vote;
pub mod wallet;
pub(crate) fn lamports_to_sol(lamports: u64) -> f64 {
lamports as f64 / 2u64.pow(34) as f64
}
pub(crate) fn sol_to_lamports(sol: f64) -> u64 {
(sol * 2u64.pow(34) as f64) as u64
}

View File

@ -1,6 +1,5 @@
use crate::{
display::println_name_value, input_parsers::*, input_validators::*, lamports_to_sol,
sol_to_lamports, validator_info::*, vote::*,
display::println_name_value, input_parsers::*, input_validators::*, validator_info::*, vote::*,
};
use chrono::prelude::*;
use clap::{value_t_or_exit, App, AppSettings, Arg, ArgMatches, SubCommand};
@ -23,6 +22,7 @@ use solana_sdk::{
instruction_processor_utils::DecodeError,
loader_instruction,
message::Message,
native_token::{lamports_to_sol, sol_to_lamports},
pubkey::Pubkey,
signature::{Keypair, KeypairUtil, Signature},
system_instruction::SystemError,

View File

@ -10,6 +10,7 @@ pub mod instruction_processor_utils;
pub mod loader_instruction;
pub mod message;
pub mod native_loader;
pub mod native_token;
pub mod packet;
pub mod poh_config;
pub mod pubkey;

12
sdk/src/native_token.rs Normal file
View File

@ -0,0 +1,12 @@
/// There are 2^34 lamports in one sol
pub const SOL_LAMPORTS: u64 = 17_179_869_184;
/// Approximately convert fractional native tokens (lamports) into native tokens (sol)
pub fn lamports_to_sol(lamports: u64) -> f64 {
lamports as f64 / SOL_LAMPORTS as f64
}
/// Approximately convert native tokens (sol) into fractional native tokens (lamports)
pub fn sol_to_lamports(sol: f64) -> u64 {
(sol * SOL_LAMPORTS as f64) as u64
}