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: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for PreviewTransactionV2
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>
fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<ManifestCustomValueKind>, ) -> Result<Self, 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: Encoder<ManifestCustomValueKind>> Encode<ManifestCustomValueKind, E> for PreviewTransactionV2
impl<E: Encoder<ManifestCustomValueKind>> Encode<ManifestCustomValueKind, E> for PreviewTransactionV2
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<ManifestSbor, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFields>
type OwnedVariant = SborFixedEnumVariant<ManifestSbor, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFields>
SborFixedEnumVariant<{ [DISCRIMINATOR] as u8 }, Self::VariantFields>
Read moreSource§type BorrowedVariant<'a> = SborFixedEnumVariant<ManifestSbor, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFieldsRef<'a>>
type BorrowedVariant<'a> = SborFixedEnumVariant<ManifestSbor, <PreviewTransactionV2 as SborEnumVariantFor<AnyTransaction, ManifestCustomValueKind>>::VariantFieldsRef<'a>>
SborFixedEnumVariant<{ [DISCRIMINATOR] as u8 }, &'a Self::VariantFields>
Read morefn from_variant_fields(variant_fields: Self::VariantFields) -> Self
fn as_variant_fields_ref(&self) -> Self::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: &PreparationSettings, ) -> 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<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.