move spl cpis to utils

This commit is contained in:
Hardhat Chad
2024-07-08 20:49:27 +00:00
parent ce9a7012a2
commit e10b8eedd1
9 changed files with 180 additions and 62 deletions

View File

@@ -1,4 +1,5 @@
use ore_api::{consts::*, error::OreError, instruction::ClaimArgs, loaders::*, state::Proof};
use ore_utils::spl::transfer_signed;
use solana_program::{
account_info::AccountInfo, entrypoint::ProgramResult, program_error::ProgramError,
pubkey::Pubkey,
@@ -45,21 +46,12 @@ pub fn process_claim<'a, 'info>(
.ok_or(OreError::ClaimTooLarge)?;
// Distribute tokens from treasury to beneficiary
solana_program::program::invoke_signed(
&spl_token::instruction::transfer(
&spl_token::id(),
treasury_tokens_info.key,
beneficiary_info.key,
treasury_info.key,
&[treasury_info.key],
amount,
)?,
&[
token_program.clone(),
treasury_tokens_info.clone(),
beneficiary_info.clone(),
treasury_info.clone(),
],
transfer_signed(
treasury_info,
treasury_tokens_info,
beneficiary_info,
token_program,
amount,
&[&[TREASURY, &[TREASURY_BUMP]]],
)?;

View File

@@ -6,6 +6,7 @@ use ore_api::{
loaders::*,
state::{Bus, Config, Treasury},
};
use ore_utils::spl::create_ata;
use solana_program::{
account_info::AccountInfo,
entrypoint::ProgramResult,
@@ -209,22 +210,14 @@ pub fn process_initialize<'a, 'info>(
.invoke_signed(&[&[TREASURY, &[args.treasury_bump]]])?;
// Initialize treasury token account
solana_program::program::invoke(
&spl_associated_token_account::instruction::create_associated_token_account(
signer.key,
treasury_info.key,
mint_info.key,
&spl_token::id(),
),
&[
associated_token_program.clone(),
signer.clone(),
treasury_tokens_info.clone(),
treasury_info.clone(),
mint_info.clone(),
system_program.clone(),
token_program.clone(),
],
create_ata(
signer,
treasury_info,
treasury_tokens_info,
mint_info,
system_program,
token_program,
associated_token_program,
)?;
Ok(())

View File

@@ -1,4 +1,5 @@
use ore_api::{consts::*, instruction::StakeArgs, loaders::*, state::Proof};
use ore_utils::spl::transfer;
use solana_program::{
account_info::AccountInfo, clock::Clock, entrypoint::ProgramResult,
program_error::ProgramError, pubkey::Pubkey, sysvar::Sysvar,
@@ -43,21 +44,12 @@ pub fn process_stake<'a, 'info>(
proof.last_stake_at = clock.unix_timestamp;
// Distribute tokens from signer to treasury
solana_program::program::invoke(
&spl_token::instruction::transfer(
&spl_token::id(),
sender_info.key,
treasury_tokens_info.key,
signer.key,
&[signer.key],
amount,
)?,
&[
token_program.clone(),
sender_info.clone(),
treasury_tokens_info.clone(),
signer.clone(),
],
transfer(
signer,
sender_info,
treasury_tokens_info,
token_program,
amount,
)?;
Ok(())

View File

@@ -1,4 +1,5 @@
use ore_api::{consts::*, error::OreError, instruction::StakeArgs, loaders::*};
use ore_utils::spl::mint_to_signed;
use solana_program::{
account_info::AccountInfo, entrypoint::ProgramResult, program_error::ProgramError,
program_pack::Pack, pubkey::Pubkey,
@@ -65,21 +66,12 @@ pub fn process_upgrade<'a, 'info>(
drop(mint_data);
// Mint to the beneficiary account
solana_program::program::invoke_signed(
&spl_token::instruction::mint_to(
&spl_token::id(),
mint_info.key,
beneficiary_info.key,
treasury_info.key,
&[treasury_info.key],
amount_to_mint,
)?,
&[
token_program.clone(),
mint_info.clone(),
beneficiary_info.clone(),
treasury_info.clone(),
],
mint_to_signed(
mint_info,
beneficiary_info,
treasury_info,
token_program,
amount_to_mint,
&[&[TREASURY, &[TREASURY_BUMP]]],
)?;