pub struct VersionedTransactionResolved {
pub transaction: VersionedTransaction,
pub all_account_keys: Vec<Pubkey>,
pub all_instructions: Vec<Instruction>,
/* private fields */
}Expand description
A fully resolved transaction with lookup tables and inner instructions resolved
Fields§
§transaction: VersionedTransaction§all_account_keys: Vec<Pubkey>§all_instructions: Vec<Instruction>Implementations§
Source§impl VersionedTransactionResolved
impl VersionedTransactionResolved
pub async fn from_transaction( transaction: &VersionedTransaction, rpc_client: &RpcClient, sig_verify: bool, ) -> Result<Self, KoraError>
Sourcepub fn from_kora_built_transaction(
transaction: &VersionedTransaction,
) -> Result<Self, KoraError>
pub fn from_kora_built_transaction( transaction: &VersionedTransaction, ) -> Result<Self, KoraError>
Only use this is we built the transaction ourselves, because it won’t do any checks for resolving LUT, etc.
pub fn get_or_parse_system_instructions( &mut self, ) -> Result<&HashMap<ParsedSystemInstructionType, Vec<ParsedSystemInstructionData>>, KoraError>
pub fn get_or_parse_spl_instructions( &mut self, ) -> Result<&HashMap<ParsedSPLInstructionType, Vec<ParsedSPLInstructionData>>, KoraError>
Methods from Deref<Target = VersionedTransaction>§
pub fn sanitize(&self) -> Result<(), SanitizeError>
Sourcepub fn version(&self) -> TransactionVersion
pub fn version(&self) -> TransactionVersion
Returns the version of the transaction
Sourcepub fn verify_and_hash_message(&self) -> Result<Hash, TransactionError>
pub fn verify_and_hash_message(&self) -> Result<Hash, TransactionError>
Verify the transaction and hash its message
Sourcepub fn verify_with_results(&self) -> Vec<bool>
pub fn verify_with_results(&self) -> Vec<bool>
Verify the transaction and return a list of verification results
Sourcepub fn uses_durable_nonce(&self) -> bool
pub fn uses_durable_nonce(&self) -> bool
Returns true if transaction begins with an advance nonce instruction.
Trait Implementations§
Source§impl Deref for VersionedTransactionResolved
impl Deref for VersionedTransactionResolved
Source§impl VersionedTransactionOps for VersionedTransactionResolved
impl VersionedTransactionOps for VersionedTransactionResolved
fn encode_b64_transaction(&self) -> Result<String, KoraError>
fn find_signer_position( &self, signer_pubkey: &Pubkey, ) -> Result<usize, KoraError>
fn sign_transaction<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
signer: &'life1 Arc<Signer>,
rpc_client: &'life2 RpcClient,
) -> Pin<Box<dyn Future<Output = Result<(VersionedTransaction, String), KoraError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn sign_and_send_transaction<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
signer: &'life1 Arc<Signer>,
rpc_client: &'life2 RpcClient,
) -> Pin<Box<dyn Future<Output = Result<(String, String), KoraError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto Trait Implementations§
impl Freeze for VersionedTransactionResolved
impl RefUnwindSafe for VersionedTransactionResolved
impl Send for VersionedTransactionResolved
impl Sync for VersionedTransactionResolved
impl Unpin for VersionedTransactionResolved
impl UnsafeUnpin for VersionedTransactionResolved
impl UnwindSafe for VersionedTransactionResolved
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more