Class: Solace::ZarTrustlessEscrow::Instructions::ReclaimInstruction
- Inherits:
-
Object
- Object
- Solace::ZarTrustlessEscrow::Instructions::ReclaimInstruction
- Defined in:
- lib/solace/zar_trustless_escrow/instructions/reclaim_instruction.rb
Overview
Encoder for the ‘re_claim` instruction: the original depositor (or sponsor) reclaims an unclaimed EscrowDeposit and closes the deposit account.
Constant Summary collapse
- DISCRIMINATOR =
8-byte Anchor discriminator: SHA256(“global:re_claim”).
[105, 179, 220, 94, 121, 140, 144, 24].freeze
Class Method Summary collapse
-
.build(claim_authority:, mint_index:, depositor_index:, depositor_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 ‘re_claim`.
-
.data(claim_authority:) ⇒ Array<Integer>
Encodes the ReclaimCreateArgs struct in Borsh format.
Class Method Details
.build(claim_authority:, mint_index:, depositor_index:, depositor_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 ‘re_claim`.
Account indices are in the on-chain order:
mint, depositor, depositor_token_account, escrow_deposit,
program_token_account, fee_payer, system_program, token_program,
associated_token_program.
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 |
# File 'lib/solace/zar_trustless_escrow/instructions/reclaim_instruction.rb', line 20 def self.build( claim_authority:, mint_index:, depositor_index:, depositor_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, depositor_index, depositor_token_account_index, escrow_deposit_index, program_token_account_index, fee_payer_index, system_program_index, token_program_index, associated_token_program_index ] ix.data = data(claim_authority:) end end |
.data(claim_authority:) ⇒ Array<Integer>
Encodes the ReclaimCreateArgs struct in Borsh format.
54 55 56 |
# File 'lib/solace/zar_trustless_escrow/instructions/reclaim_instruction.rb', line 54 def self.data(claim_authority:) DISCRIMINATOR + Solace::Utils::Codecs.encode_pubkey() end |