Files
solana/tokens/src/args.rs
Tyera Eulberg 5e2d38227f Use u64 behind the scenes for solana-tokens (#13815)
* Use u64 behind the scenes for Allocations

* Fixup readme

* Clippy and remove errant comments
2020-11-26 00:00:49 +00:00

51 lines
1.2 KiB
Rust

use solana_sdk::{pubkey::Pubkey, signature::Signer};
pub struct DistributeTokensArgs {
pub input_csv: String,
pub transaction_db: String,
pub output_path: Option<String>,
pub dry_run: bool,
pub sender_keypair: Box<dyn Signer>,
pub fee_payer: Box<dyn Signer>,
pub stake_args: Option<StakeArgs>,
pub spl_token_args: Option<SplTokenArgs>,
pub transfer_amount: Option<u64>,
}
pub struct StakeArgs {
pub unlocked_sol: u64,
pub stake_account_address: Pubkey,
pub stake_authority: Box<dyn Signer>,
pub withdraw_authority: Box<dyn Signer>,
pub lockup_authority: Option<Box<dyn Signer>>,
}
#[derive(Default)]
pub struct SplTokenArgs {
pub token_account_address: Pubkey,
pub mint: Pubkey,
pub decimals: u8,
}
pub struct BalancesArgs {
pub input_csv: String,
pub spl_token_args: Option<SplTokenArgs>,
}
pub struct TransactionLogArgs {
pub transaction_db: String,
pub output_path: String,
}
pub enum Command {
DistributeTokens(DistributeTokensArgs),
Balances(BalancesArgs),
TransactionLog(TransactionLogArgs),
}
pub struct Args {
pub config_file: String,
pub url: Option<String>,
pub command: Command,
}