pub struct VtxoInfo {
pub id: VtxoId,
pub amount: Amount,
pub policy_type: VtxoPolicyKind,
pub user_pubkey: PublicKey,
pub server_pubkey: PublicKey,
pub expiry_height: BlockHeight,
pub exit_delta: BlockDelta,
pub chain_anchor: OutPoint,
pub exit_depth: Option<u16>,
}Expand description
Information about a single VTXO (Virtual Transaction Output).
A VTXO is a chain of off-chain, pre-signed transactions rooted in an on-chain output. It represents spendable bitcoin on Ark.
Fields§
§id: VtxoIdUnique identifier for this VTXO, formatted as txid:vout.
amount: AmountThe value of this VTXO in sats.
policy_type: VtxoPolicyKindThe spending policy that governs this VTXO.
user_pubkey: PublicKeyThe owner’s public key. Only the holder of the corresponding private key can spend this VTXO.
server_pubkey: PublicKeyThe Ark server’s public key used to co-sign transactions involving this VTXO.
expiry_height: BlockHeightThe block height at which this VTXO expires. After expiry, the server can reclaim the sats. Refresh before expiry to receive new VTXOs, or exit to move them on-chain.
exit_delta: BlockDeltaThe relative timelock, in blocks, that must elapse before the final on-chain claim in an emergency exit.
chain_anchor: OutPointThe on-chain outpoint that roots this VTXO, formatted as
txid:vout. Typically an output of a round transaction or a
board transaction.
exit_depth: Option<u16>The number of off-chain transactions in this VTXO. Each must be broadcast and confirmed on-chain in sequence during an emergency exit.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for VtxoInfo
impl<'de> Deserialize<'de> for VtxoInfo
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for VtxoInfo
impl StructuralPartialEq for VtxoInfo
Auto Trait Implementations§
impl Freeze for VtxoInfo
impl RefUnwindSafe for VtxoInfo
impl Send for VtxoInfo
impl Sync for VtxoInfo
impl Unpin for VtxoInfo
impl UnsafeUnpin for VtxoInfo
impl UnwindSafe for VtxoInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request