PreviewTransactionV2

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

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

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

Source§

fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<ManifestCustomValueKind>, ) -> Result<Self, 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: Encoder<ManifestCustomValueKind>> 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<ManifestSbor, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFields>

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

type BorrowedVariant<'a> = SborFixedEnumVariant<ManifestSbor, <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: Self::VariantFields) -> Self

Source§

fn as_variant_fields_ref(&self) -> Self::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<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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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