Class: Solace::ZarTrustlessEscrow::EscrowDeposit
- Inherits:
-
Data
- Object
- Data
- Solace::ZarTrustlessEscrow::EscrowDeposit
- Defined in:
- lib/solace/zar_trustless_escrow/types/escrow_deposit.rb
Overview
Immutable value object representing the deserialized EscrowDeposit account —the two-party escrow created by the ‘deposit` instruction and consumed by `claim` / `re_claim`. Fetching from the chain is the Program layer’s responsibility — see Solace::Programs::ZarTrustlessEscrow#get_escrow_deposit.
On-chain layout (state/escrow_deposit.rs, matches the IDL):
discriminator(8), version(u8), mint(32), depositor(32), claim_pubkey(32),
amount(u64), sponsor(Option<Pubkey>).
Instance Attribute Summary collapse
-
#amount ⇒ Object
readonly
Returns the value of attribute amount.
-
#claim_pubkey ⇒ Object
readonly
Returns the value of attribute claim_pubkey.
-
#depositor ⇒ Object
readonly
Returns the value of attribute depositor.
-
#mint ⇒ Object
readonly
Returns the value of attribute mint.
-
#sponsor ⇒ Object
readonly
Returns the value of attribute sponsor.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Class Method Summary collapse
-
.deserialize(io) ⇒ EscrowDeposit
Deserializes an EscrowDeposit from a stream of Borsh-encoded account data.
Instance Attribute Details
#amount ⇒ Object (readonly)
Returns the value of attribute amount
18 19 20 |
# File 'lib/solace/zar_trustless_escrow/types/escrow_deposit.rb', line 18 def amount @amount end |
#claim_pubkey ⇒ Object (readonly)
Returns the value of attribute claim_pubkey
18 19 20 |
# File 'lib/solace/zar_trustless_escrow/types/escrow_deposit.rb', line 18 def claim_pubkey @claim_pubkey end |
#depositor ⇒ Object (readonly)
Returns the value of attribute depositor
18 19 20 |
# File 'lib/solace/zar_trustless_escrow/types/escrow_deposit.rb', line 18 def depositor @depositor end |
#mint ⇒ Object (readonly)
Returns the value of attribute mint
18 19 20 |
# File 'lib/solace/zar_trustless_escrow/types/escrow_deposit.rb', line 18 def mint @mint end |
#sponsor ⇒ Object (readonly)
Returns the value of attribute sponsor
18 19 20 |
# File 'lib/solace/zar_trustless_escrow/types/escrow_deposit.rb', line 18 def sponsor @sponsor end |
#version ⇒ Object (readonly)
Returns the value of attribute version
18 19 20 |
# File 'lib/solace/zar_trustless_escrow/types/escrow_deposit.rb', line 18 def version @version end |
Class Method Details
.deserialize(io) ⇒ EscrowDeposit
Deserializes an EscrowDeposit from a stream of Borsh-encoded account data.
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/solace/zar_trustless_escrow/types/escrow_deposit.rb', line 30 def self.deserialize(io) io.read(8) # skip the 8-byte Anchor discriminator new( version: Solace::Utils::Codecs.decode_u8(io), mint: Solace::Utils::Codecs.decode_pubkey(io), depositor: Solace::Utils::Codecs.decode_pubkey(io), claim_pubkey: Solace::Utils::Codecs.decode_pubkey(io), amount: Solace::Utils::Codecs.decode_le_u64(io), sponsor: Solace::Utils::Codecs.decode_option_pubkey(io) ) end |