pub enum Receipt {
Show 13 variants
Call {
id: ContractId,
to: ContractId,
amount: Word,
asset_id: AssetId,
gas: Word,
param1: Word,
param2: Word,
pc: Word,
is: Word,
},
Return {
id: ContractId,
val: Word,
pc: Word,
is: Word,
},
ReturnData {
id: ContractId,
ptr: Word,
len: Word,
digest: Bytes32,
pc: Word,
is: Word,
data: Option<Vec<u8>>,
},
Panic {
id: ContractId,
reason: PanicInstruction,
pc: Word,
is: Word,
contract_id: Option<ContractId>,
},
Revert {
id: ContractId,
ra: Word,
pc: Word,
is: Word,
},
Log {
id: ContractId,
ra: Word,
rb: Word,
rc: Word,
rd: Word,
pc: Word,
is: Word,
},
LogData {
id: ContractId,
ra: Word,
rb: Word,
ptr: Word,
len: Word,
digest: Bytes32,
pc: Word,
is: Word,
data: Option<Vec<u8>>,
},
Transfer {
id: ContractId,
to: ContractId,
amount: Word,
asset_id: AssetId,
pc: Word,
is: Word,
},
TransferOut {
id: ContractId,
to: Address,
amount: Word,
asset_id: AssetId,
pc: Word,
is: Word,
},
ScriptResult {
result: ScriptExecutionResult,
gas_used: Word,
},
MessageOut {
sender: Address,
recipient: Address,
amount: Word,
nonce: Nonce,
len: Word,
digest: Bytes32,
data: Option<Vec<u8>>,
},
Mint {
sub_id: Bytes32,
contract_id: ContractId,
val: Word,
pc: Word,
is: Word,
},
Burn {
sub_id: Bytes32,
contract_id: ContractId,
val: Word,
pc: Word,
is: Word,
},
}
Variants§
Call
Return
ReturnData
Panic
Revert
Log
LogData
Fields
§
id: ContractId
Transfer
TransferOut
ScriptResult
MessageOut
Fields
Mint
Burn
Implementations§
source§impl Receipt
impl Receipt
pub const fn call( id: ContractId, to: ContractId, amount: Word, asset_id: AssetId, gas: Word, param1: Word, param2: Word, pc: Word, is: Word, ) -> Self
pub const fn ret(id: ContractId, val: Word, pc: Word, is: Word) -> Self
pub fn return_data( id: ContractId, ptr: Word, pc: Word, is: Word, data: Vec<u8>, ) -> Self
pub const fn return_data_with_len( id: ContractId, ptr: Word, len: Word, digest: Bytes32, pc: Word, is: Word, data: Option<Vec<u8>>, ) -> Self
pub const fn panic( id: ContractId, reason: PanicInstruction, pc: Word, is: Word, ) -> Self
pub fn with_panic_contract_id(self, _contract_id: Option<ContractId>) -> Self
pub const fn revert(id: ContractId, ra: Word, pc: Word, is: Word) -> Self
pub const fn log( id: ContractId, ra: Word, rb: Word, rc: Word, rd: Word, pc: Word, is: Word, ) -> Self
pub fn log_data( id: ContractId, ra: Word, rb: Word, ptr: Word, pc: Word, is: Word, data: Vec<u8>, ) -> Self
pub const fn log_data_with_len( id: ContractId, ra: Word, rb: Word, ptr: Word, len: Word, digest: Bytes32, pc: Word, is: Word, data: Option<Vec<u8>>, ) -> Self
pub const fn transfer( id: ContractId, to: ContractId, amount: Word, asset_id: AssetId, pc: Word, is: Word, ) -> Self
pub const fn transfer_out( id: ContractId, to: Address, amount: Word, asset_id: AssetId, pc: Word, is: Word, ) -> Self
pub const fn script_result( result: ScriptExecutionResult, gas_used: Word, ) -> Self
pub fn message_out( txid: &Bytes32, idx: Word, sender: Address, recipient: Address, amount: Word, data: Vec<u8>, ) -> Self
pub const fn message_out_with_len( sender: Address, recipient: Address, amount: Word, nonce: Nonce, len: Word, digest: Bytes32, data: Option<Vec<u8>>, ) -> Self
pub fn mint( sub_id: Bytes32, contract_id: ContractId, val: Word, pc: Word, is: Word, ) -> Self
pub fn burn( sub_id: Bytes32, contract_id: ContractId, val: Word, pc: Word, is: Word, ) -> Self
pub fn id(&self) -> Option<&ContractId>
pub const fn sub_id(&self) -> Option<&Bytes32>
pub const fn pc(&self) -> Option<Word>
pub const fn is(&self) -> Option<Word>
pub fn to(&self) -> Option<&ContractId>
pub const fn to_address(&self) -> Option<&Address>
pub const fn amount(&self) -> Option<Word>
pub const fn asset_id(&self) -> Option<&AssetId>
pub const fn gas(&self) -> Option<Word>
pub const fn param1(&self) -> Option<Word>
pub const fn param2(&self) -> Option<Word>
pub const fn val(&self) -> Option<Word>
pub const fn ptr(&self) -> Option<Word>
pub const fn len(&self) -> Option<Word>
pub const fn is_empty(&self) -> Option<bool>
pub const fn digest(&self) -> Option<&Bytes32>
pub fn data(&self) -> Option<&[u8]>
pub const fn reason(&self) -> Option<PanicInstruction>
pub const fn ra(&self) -> Option<Word>
pub const fn rb(&self) -> Option<Word>
pub const fn rc(&self) -> Option<Word>
pub const fn rd(&self) -> Option<Word>
pub const fn result(&self) -> Option<&ScriptExecutionResult>
pub const fn gas_used(&self) -> Option<Word>
pub fn message_id(&self) -> Option<MessageId>
pub const fn sender(&self) -> Option<&Address>
pub const fn recipient(&self) -> Option<&Address>
pub const fn nonce(&self) -> Option<&Nonce>
pub const fn contract_id(&self) -> Option<&ContractId>
Trait Implementations§
source§impl<'de> Deserialize<'de> for Receipt
impl<'de> Deserialize<'de> for Receipt
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Deserialize for Receipt
impl Deserialize for Receipt
source§fn decode_static<I: Input + ?Sized>(buffer: &mut I) -> Result<Self, Error>
fn decode_static<I: Input + ?Sized>(buffer: &mut I) -> Result<Self, Error>
Decodes static part of
Self
from the buffer
.source§fn decode_dynamic<I: Input + ?Sized>(
&mut self,
buffer: &mut I,
) -> Result<(), Error>
fn decode_dynamic<I: Input + ?Sized>( &mut self, buffer: &mut I, ) -> Result<(), Error>
Decodes dynamic part of the information from the
buffer
to fill Self
.
The default implementation does nothing. Dynamically-sized contains should
override this.source§impl Serialize for Receipt
impl Serialize for Receipt
source§fn size_static(&self) -> usize
fn size_static(&self) -> usize
Size of the static part of the serialized object, in bytes.
Saturates to usize::MAX on overflow.
source§fn size_dynamic(&self) -> usize
fn size_dynamic(&self) -> usize
Size of the dynamic part, in bytes.
Saturates to usize::MAX on overflow.
source§fn encode_static<O: Output + ?Sized>(&self, buffer: &mut O) -> Result<(), Error>
fn encode_static<O: Output + ?Sized>(&self, buffer: &mut O) -> Result<(), Error>
Encodes staticly-sized part of
Self
.source§fn encode_dynamic<O: Output + ?Sized>(
&self,
buffer: &mut O,
) -> Result<(), Error>
fn encode_dynamic<O: Output + ?Sized>( &self, buffer: &mut O, ) -> Result<(), Error>
Encodes dynamically-sized part of
Self
.
The default implementation does nothing. Dynamically-sized contains should
override this.source§fn size(&self) -> usize
fn size(&self) -> usize
Total size of the serialized object, in bytes.
Saturates to usize::MAX on overflow.
impl Eq for Receipt
Auto Trait Implementations§
impl Freeze for Receipt
impl RefUnwindSafe for Receipt
impl Send for Receipt
impl Sync for Receipt
impl Unpin for Receipt
impl UnwindSafe for Receipt
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.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 moresource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.source§impl<T> StorageAsMut for T
impl<T> StorageAsMut for T
fn storage<Type>(&mut self) -> StorageMut<'_, Self, Type>where
Type: Mappable,
fn storage_as_mut<Type>(&mut self) -> StorageMut<'_, Self, Type>where
Type: Mappable,
source§impl<T> StorageAsRef for T
impl<T> StorageAsRef for T
fn storage<Type>(&self) -> StorageRef<'_, Self, Type>where
Type: Mappable,
fn storage_as_ref<Type>(&self) -> StorageRef<'_, Self, Type>where
Type: Mappable,
source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.