1use steel::*;
2
3use crate::{
4 consts::{MINT_ADDRESS, TREASURY_ADDRESS},
5 instruction::*,
6 state::*,
7};
8
9pub fn mint_ore(amount: u64) -> Instruction {
10 let signer_address = TREASURY_ADDRESS;
11 let to_address =
12 spl_associated_token_account::get_associated_token_address(&signer_address, &MINT_ADDRESS);
13 let authority_address = authority_pda().0;
14 Instruction {
15 program_id: crate::ID,
16 accounts: vec![
17 AccountMeta::new(signer_address, true),
18 AccountMeta::new(authority_address, false),
19 AccountMeta::new(MINT_ADDRESS, false),
20 AccountMeta::new(to_address, false),
21 AccountMeta::new_readonly(spl_token::ID, false),
22 ],
23 data: MintORE {
24 amount: amount.to_le_bytes(),
25 }
26 .to_bytes(),
27 }
28}