Add native_token module to sdk (#6192)

This commit is contained in:
Justin Starry 2019-10-01 13:53:28 -04:00 committed by GitHub
parent 214c041bf7
commit a6363e56b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 10 deletions

View File

@ -1,6 +1,6 @@
use crate::sol_to_lamports;
use clap::ArgMatches;
use solana_sdk::{
native_token::sol_to_lamports,
pubkey::Pubkey,
signature::{read_keypair, Keypair, KeypairUtil},
};

View File

@ -9,11 +9,3 @@ pub mod stake;
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,5 +1,5 @@
use crate::{
display::println_name_value, input_parsers::*, input_validators::*, lamports_to_sol, stake::*,
display::println_name_value, input_parsers::*, input_validators::*, stake::*,
validator_info::*, vote::*,
};
use chrono::prelude::*;
@ -23,6 +23,7 @@ use solana_sdk::{
instruction_processor_utils::DecodeError,
loader_instruction,
message::Message,
native_token::lamports_to_sol,
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
}