Class: Solace::ZarTrustlessEscrow::Instructions::ClaimInstruction

Inherits:
Object
  • Object
show all
Defined in:
lib/solace/zar_trustless_escrow/instructions/claim_instruction.rb

Overview

Encoder for the ‘claim` instruction: the claim authority releases an EscrowDeposit to the claimant and closes the deposit account.

Constant Summary collapse

DISCRIMINATOR =

8-byte Anchor discriminator: SHA256(“global:claim”).

[62, 198, 214, 193, 213, 159, 108, 210].freeze

Class Method Summary collapse

Class Method Details

.build(mint_index:, claim_authority_index:, claimant_index:, claimant_token_account_index:, escrow_deposit_index:, program_token_account_index:, fee_payer_index:, system_program_index:, token_program_index:, associated_token_program_index:, program_index:) ⇒ Solace::Instruction

Builds a Solace::Instruction for ‘claim`.

Account indices are in the on-chain order:

mint, claim_authority, claimant, claimant_token_account,
escrow_deposit, program_token_account, fee_payer, system_program,
token_program, associated_token_program.

Returns:

  • (Solace::Instruction)


20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/solace/zar_trustless_escrow/instructions/claim_instruction.rb', line 20

def self.build(
  mint_index:,
  claim_authority_index:,
  claimant_index:,
  claimant_token_account_index:,
  escrow_deposit_index:,
  program_token_account_index:,
  fee_payer_index:,
  system_program_index:,
  token_program_index:,
  associated_token_program_index:,
  program_index:
)
  Solace::Instruction.new.tap do |ix|
    ix.program_index = program_index
    ix.accounts      = [
      mint_index,
      claim_authority_index,
      claimant_index,
      ,
      escrow_deposit_index,
      ,
      fee_payer_index,
      system_program_index,
      token_program_index,
      associated_token_program_index
    ]
    ix.data = data
  end
end

.dataArray<Integer>

Encodes the ‘claim` instruction data (discriminator only — no args).

Returns:

  • (Array<Integer>)


54
55
56
# File 'lib/solace/zar_trustless_escrow/instructions/claim_instruction.rb', line 54

def self.data
  DISCRIMINATOR.dup
end