pub struct PreviewTransactionV2 {
pub transaction_intent: TransactionIntentV2,
pub root_signer_public_keys: IndexSet<PublicKey>,
pub non_root_subintent_signer_public_keys: Vec<Vec<PublicKey>>,
}
Expand description
A PreviewTransactionV2
is the payload for V2 preview requests.
This model is similar to SignedTransactionIntentV2
, except it doesn’t
require signatures, and instead allows just using public keys.
It can be currently constructed from a TransactionV2Builder
.
In future we may also support a PreviewSubintentV2Builder
and
PreviewTransactionV2Builder
which don’t require the subintents
to be signed properly, and instead just allow the public keys to
be specified. For now, if you wish to support that paradigm, just
add the public keys manually.
Unlike with V1 preview, the V2 preview API (at least at launch) will take
a raw payload of this type, rather than a JSON model. This will be more
consistent with the transaction submit API, and avoid UX issues with
ensuring the subintent hashes in the USE_CHILD
manifest instructions
survive encoding to JSON.
Fields§
§transaction_intent: TransactionIntentV2
§root_signer_public_keys: IndexSet<PublicKey>
§non_root_subintent_signer_public_keys: Vec<Vec<PublicKey>>
Implementations§
Source§impl PreviewTransactionV2
impl PreviewTransactionV2
pub fn prepare_and_validate( &self, validator: &TransactionValidator, ) -> Result<ValidatedPreviewTransactionV2, TransactionValidationError>
Trait Implementations§
Source§impl Clone for PreviewTransactionV2
impl Clone for PreviewTransactionV2
Source§fn clone(&self) -> PreviewTransactionV2
fn clone(&self) -> PreviewTransactionV2
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PreviewTransactionV2
impl Debug for PreviewTransactionV2
Source§impl<D> Decode<ManifestCustomValueKind, D> for PreviewTransactionV2where
D: Decoder<ManifestCustomValueKind>,
impl<D> Decode<ManifestCustomValueKind, D> for PreviewTransactionV2where
D: Decoder<ManifestCustomValueKind>,
Source§fn decode_body_with_value_kind(
decoder: &mut D,
value_kind: ValueKind<ManifestCustomValueKind>,
) -> Result<PreviewTransactionV2, DecodeError>
fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<ManifestCustomValueKind>, ) -> Result<PreviewTransactionV2, DecodeError>
Source§impl Describe<ScryptoCustomTypeKind> for PreviewTransactionV2
impl Describe<ScryptoCustomTypeKind> for PreviewTransactionV2
Source§const TYPE_ID: RustTypeId
const TYPE_ID: RustTypeId
TYPE_ID
should give a unique identifier for its SBOR schema type.
An SBOR schema type capture details about the SBOR payload, how it should be interpreted, validated and displayed. Read moreSource§fn type_data() -> TypeData<ScryptoCustomTypeKind, RustTypeId>
fn type_data() -> TypeData<ScryptoCustomTypeKind, RustTypeId>
Source§fn add_all_dependencies(aggregator: &mut TypeAggregator<ScryptoCustomTypeKind>)
fn add_all_dependencies(aggregator: &mut TypeAggregator<ScryptoCustomTypeKind>)
get_local_type_data
, we need to ensure that the type and all of its own references
get added to the aggregator. Read moreSource§impl<E> Encode<ManifestCustomValueKind, E> for PreviewTransactionV2where
E: Encoder<ManifestCustomValueKind>,
impl<E> Encode<ManifestCustomValueKind, E> for PreviewTransactionV2where
E: Encoder<ManifestCustomValueKind>,
Source§fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>
fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>
Source§fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>
fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>
Source§impl PartialEq for PreviewTransactionV2
impl PartialEq for PreviewTransactionV2
Source§impl SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind> for PreviewTransactionV2
impl SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind> for PreviewTransactionV2
const DISCRIMINATOR: u8 = 15u8
const IS_FLATTENED: bool = true
Source§type VariantFields = PreviewTransactionV2
type VariantFields = PreviewTransactionV2
Self
if IS_FLATTENED
else is (Self,)
Source§type VariantFieldsRef<'a> = &'a PreviewTransactionV2
type VariantFieldsRef<'a> = &'a PreviewTransactionV2
&Self
if IS_FLATTENED
else is (&Self,)
Source§type OwnedVariant = SborFixedEnumVariant<radix_transactions::::model::any_transaction::{impl#27}::OwnedVariant::{constant#0}, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFields>
type OwnedVariant = SborFixedEnumVariant<radix_transactions::::model::any_transaction::{impl#27}::OwnedVariant::{constant#0}, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFields>
SborFixedEnumVariant<{ [DISCRIMINATOR] as u8 }, Self::VariantFields>
Read moreSource§type BorrowedVariant<'a> = SborFixedEnumVariant<radix_transactions::::model::any_transaction::{impl#27}::BorrowedVariant::{constant#0}, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFieldsRef<'a>>
type BorrowedVariant<'a> = SborFixedEnumVariant<radix_transactions::::model::any_transaction::{impl#27}::BorrowedVariant::{constant#0}, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFieldsRef<'a>>
SborFixedEnumVariant<{ [DISCRIMINATOR] as u8 }, &'a Self::VariantFields>
Read morefn from_variant_fields( variant_fields: <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFields, ) -> PreviewTransactionV2
fn as_variant_fields_ref( &self, ) -> <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFieldsRef<'_>
fn into_enum(self) -> AnyTransaction
Source§fn as_encodable_variant<'a>(&'a self) -> Self::BorrowedVariant<'a>
fn as_encodable_variant<'a>(&'a self) -> Self::BorrowedVariant<'a>
TEnum
, like this:
encoder.encode(x.as_encodable_variant())
. Read moreSource§fn from_decoded_variant(variant: Self::OwnedVariant) -> Selfwhere
Self: Sized,
fn from_decoded_variant(variant: Self::OwnedVariant) -> Selfwhere
Self: Sized,
T::from_decoded_variant(decoder.decode()?)
. Read moreSource§impl SborTuple<ManifestCustomValueKind> for PreviewTransactionV2
impl SborTuple<ManifestCustomValueKind> for PreviewTransactionV2
fn get_length(&self) -> usize
Source§impl TransactionPayload for PreviewTransactionV2
impl TransactionPayload for PreviewTransactionV2
type Prepared = PreparedPreviewTransactionV2
type Raw = RawPreviewTransaction
fn discriminator() -> u8
fn to_raw(&self) -> Result<Self::Raw, EncodeError>
fn from_raw(raw: &Self::Raw) -> Result<Self, DecodeError>
fn from_payload_variant(payload_variant: Self::OwnedVariant) -> Self
fn prepare( &self, settings: &PreparationSettingsV1, ) -> Result<Self::Prepared, PrepareError>
impl CheckedBackwardsCompatibleSchema<ScryptoCustomSchema> for PreviewTransactionV2
impl CheckedFixedSchema<ScryptoCustomSchema> for PreviewTransactionV2
impl Eq for PreviewTransactionV2
impl StructuralPartialEq for PreviewTransactionV2
Auto Trait Implementations§
impl Freeze for PreviewTransactionV2
impl RefUnwindSafe for PreviewTransactionV2
impl Send for PreviewTransactionV2
impl Sync for PreviewTransactionV2
impl Unpin for PreviewTransactionV2
impl UnwindSafe for PreviewTransactionV2
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<T, U> ContextualTryInto<U> for Twhere
U: ContextualTryFrom<T>,
impl<T, U> ContextualTryInto<U> for Twhere
U: ContextualTryFrom<T>,
type Error = <U as ContextualTryFrom<T>>::Error
type Context = <U as ContextualTryFrom<T>>::Context
fn contextual_try_into( self, context: &<U as ContextualTryFrom<T>>::Context, ) -> Result<U, <U as ContextualTryFrom<T>>::Error>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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> ⓘ
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> ⓘ
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