Struct PreviewTransactionV2

Source
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§

Trait Implementations§

Source§

impl Categorize<ManifestCustomValueKind> for PreviewTransactionV2

Source§

impl Clone for PreviewTransactionV2

Source§

fn clone(&self) -> PreviewTransactionV2

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PreviewTransactionV2

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<D> Decode<ManifestCustomValueKind, D> for PreviewTransactionV2

Source§

fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<ManifestCustomValueKind>, ) -> Result<PreviewTransactionV2, DecodeError>

Decodes the type from the decoder, which should match a preloaded value kind. Read more
Source§

impl Describe<ScryptoCustomTypeKind> for PreviewTransactionV2

Source§

const TYPE_ID: RustTypeId

The 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 more
Source§

fn type_data() -> TypeData<ScryptoCustomTypeKind, RustTypeId>

Returns the local schema for the given type. Read more
Source§

fn add_all_dependencies(aggregator: &mut TypeAggregator<ScryptoCustomTypeKind>)

For each type referenced in get_local_type_data, we need to ensure that the type and all of its own references get added to the aggregator. Read more
Source§

impl<E> Encode<ManifestCustomValueKind, E> for PreviewTransactionV2

Source§

fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>

Encodes the SBOR value’s kind to the encoder
Source§

fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>

Encodes the SBOR body of the type to the encoder. Read more
Source§

impl PartialEq for PreviewTransactionV2

Source§

fn eq(&self, other: &PreviewTransactionV2) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind> for PreviewTransactionV2

Source§

const DISCRIMINATOR: u8 = 15u8

Source§

const IS_FLATTENED: bool = true

Source§

type VariantFields = PreviewTransactionV2

VariantFields is either Self if IS_FLATTENED else is (Self,)
Source§

type VariantFieldsRef<'a> = &'a PreviewTransactionV2

VariantFieldsRef is either &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>

This should always be SborFixedEnumVariant<{ [DISCRIMINATOR] as u8 }, Self::VariantFields> Read more
Source§

type BorrowedVariant<'a> = SborFixedEnumVariant<radix_transactions::::model::any_transaction::{impl#27}::BorrowedVariant::{constant#0}, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFieldsRef<'a>>

Should always be SborFixedEnumVariant<{ [DISCRIMINATOR] as u8 }, &'a Self::VariantFields> Read more
Source§

fn from_variant_fields( variant_fields: <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFields, ) -> PreviewTransactionV2

Source§

fn as_variant_fields_ref( &self, ) -> <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFieldsRef<'_>

Source§

fn into_enum(self) -> AnyTransaction

Source§

fn as_encodable_variant<'a>(&'a self) -> Self::BorrowedVariant<'a>

Can be used to encode the type as a variant under TEnum, like this: encoder.encode(x.as_encodable_variant()). Read more
Source§

fn from_decoded_variant(variant: Self::OwnedVariant) -> Self
where Self: Sized,

Can be used to decode the type from an encoded variant, like this: T::from_decoded_variant(decoder.decode()?). Read more
Source§

impl SborTuple<ManifestCustomValueKind> for PreviewTransactionV2

Source§

impl TransactionPayload for PreviewTransactionV2

Source§

impl CheckedBackwardsCompatibleSchema<ScryptoCustomSchema> for PreviewTransactionV2

Source§

impl CheckedFixedSchema<ScryptoCustomSchema> for PreviewTransactionV2

Source§

impl Eq for PreviewTransactionV2

Source§

impl StructuralPartialEq for PreviewTransactionV2

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<U> As for U

Source§

fn as_<T>(self) -> T
where T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T, U> ContextualTryInto<U> for T
where U: ContextualTryFrom<T>,

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &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
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromBits<T> for T

Source§

fn from_bits(other: T) -> T

Convert other to Self, preserving bitwise representation
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<X, Y> LabelledResolve<Y> for X
where Y: LabelledResolveFrom<X>,

Source§

fn labelled_resolve( self, resolver: &impl LabelResolver<<Y as LabelledResolvable>::ResolverOutput>, ) -> Y

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ResolvableArguments for T

Source§

impl<X, Y> Resolve<Y> for X
where Y: ResolveFrom<X>,

Source§

fn resolve(self) -> Y

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ManifestCategorize for T

Source§

impl<T> ManifestDecode for T

Source§

impl<T> ManifestEncode for T

Source§

impl<E, T> ManifestSborEnumVariantFor<E> for T

Source§

impl<T> ManifestSborTuple for T

Source§

impl<T> ScryptoCheckedBackwardsCompatibleSchema for T

Source§

impl<T> ScryptoCheckedFixedSchema for T

Source§

impl<T> ScryptoDescribe for T

Source§

impl<X, T> VecDecode<X> for T
where X: CustomValueKind, T: for<'a> Decode<X, VecDecoder<'a, X>>,

Source§

impl<X, T> VecEncode<X> for T
where X: CustomValueKind, T: for<'a> Encode<X, VecEncoder<'a, X>> + ?Sized,