use cpi context
This commit is contained in:
@@ -1,8 +1,9 @@
|
|||||||
use anchor_lang::prelude::*;
|
|
||||||
use anchor_lang::solana_program::{program::invoke_signed, system_instruction};
|
|
||||||
use descro_ext_resolvers::state::Ruling;
|
|
||||||
use crate::state::{EscrowAccount, EscrowState, Winner};
|
|
||||||
use crate::error::EscrowError;
|
use crate::error::EscrowError;
|
||||||
|
use crate::state::{EscrowAccount, EscrowState, Winner};
|
||||||
|
use anchor_lang::solana_program::{program::invoke_signed, system_instruction};
|
||||||
|
use anchor_lang::system_program::Transfer;
|
||||||
|
use anchor_lang::{prelude::*, system_program};
|
||||||
|
use descro_ext_resolvers::state::Ruling;
|
||||||
|
|
||||||
#[derive(Accounts)]
|
#[derive(Accounts)]
|
||||||
pub struct Resolve<'info> {
|
pub struct Resolve<'info> {
|
||||||
@@ -78,17 +79,16 @@ pub fn handler(ctx: Context<Resolve>, winner: Winner) -> Result<()> {
|
|||||||
let vault_bump = ctx.accounts.escrow_account.vault_bump;
|
let vault_bump = ctx.accounts.escrow_account.vault_bump;
|
||||||
let vault_balance = ctx.accounts.vault.to_account_info().lamports();
|
let vault_balance = ctx.accounts.vault.to_account_info().lamports();
|
||||||
|
|
||||||
invoke_signed(
|
system_program::transfer(
|
||||||
&system_instruction::transfer(
|
CpiContext::new_with_signer(
|
||||||
ctx.accounts.vault.to_account_info().key,
|
system_program::ID,
|
||||||
ctx.accounts.winner.to_account_info().key,
|
Transfer {
|
||||||
vault_balance,
|
from: ctx.accounts.vault.to_account_info(),
|
||||||
),
|
to: ctx.accounts.winner.to_account_info(),
|
||||||
&[
|
},
|
||||||
ctx.accounts.vault.to_account_info(),
|
|
||||||
ctx.accounts.winner.to_account_info(),
|
|
||||||
],
|
|
||||||
&[&[b"vault", escrow_key.as_ref(), &[vault_bump]]],
|
&[&[b"vault", escrow_key.as_ref(), &[vault_bump]]],
|
||||||
|
),
|
||||||
|
vault_balance,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
// Update resolver stats if the entry is registered in the registry
|
// Update resolver stats if the entry is registered in the registry
|
||||||
|
|||||||
Reference in New Issue
Block a user