Struct forest_message::unsigned_message::UnsignedMessage [−][src]
Default Unsigned VM message type which includes all data needed for a state transition
Usage:
use forest_message::{UnsignedMessage, Message}; use vm::{TokenAmount, Serialized, MethodNum}; use address::Address; // Use the builder pattern to generate a message let message = UnsignedMessage::builder() .to(Address::new_id(0)) .from(Address::new_id(1)) .sequence(0) // optional .value(TokenAmount::from(0u8)) // optional .method_num(MethodNum::default()) // optional .params(Serialized::default()) // optional .gas_limit(0) // optional .version(0) // optional .build() .unwrap(); let mut message_builder = UnsignedMessage::builder(); message_builder.sequence(1); message_builder.from(Address::new_id(0)); message_builder.to(Address::new_id(1)); let msg = message_builder.build().unwrap(); assert_eq!(msg.sequence(), 1);
Fields
version: i64
from: Address
to: Address
sequence: u64
value: TokenAmount
method_num: MethodNum
params: Serialized
gas_limit: i64
gas_fee_cap: TokenAmount
Implementations
impl UnsignedMessage
[src]
pub fn builder() -> MessageBuilder
[src]
pub fn to_signing_bytes(&self) -> Vec<u8>
[src]
Helper function to convert the message into signing bytes.
This function returns the message Cid
bytes.
pub fn valid_for_block_inclusion(
&self,
min_gas: i64,
version: NetworkVersion
) -> Result<(), String>
[src]
&self,
min_gas: i64,
version: NetworkVersion
) -> Result<(), String>
Semantic validation and validates the message has enough gas.
Trait Implementations
impl Cbor for UnsignedMessage
[src]
pub fn marshal_cbor(&self) -> Result<Vec<u8, Global>, Error>
[src]
pub fn unmarshal_cbor(bz: &[u8]) -> Result<Self, Error>
[src]
pub fn cid(&self) -> Result<Cid, Error>
[src]
impl Clone for UnsignedMessage
[src]
fn clone(&self) -> UnsignedMessage
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for UnsignedMessage
[src]
impl<'de> Deserialize<'de> for UnsignedMessage
[src]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
impl Eq for UnsignedMessage
[src]
impl From<UnsignedMessage> for UnsignedMessageJson
[src]
fn from(wrapper: UnsignedMessage) -> Self
[src]
impl From<UnsignedMessageJson> for UnsignedMessage
[src]
fn from(wrapper: UnsignedMessageJson) -> Self
[src]
impl Hash for UnsignedMessage
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Message for UnsignedMessage
[src]
fn from(&self) -> &Address
[src]
fn to(&self) -> &Address
[src]
fn sequence(&self) -> u64
[src]
fn value(&self) -> &TokenAmount
[src]
fn method_num(&self) -> MethodNum
[src]
fn params(&self) -> &Serialized
[src]
fn set_sequence(&mut self, new_sequence: u64)
[src]
fn gas_limit(&self) -> i64
[src]
fn gas_fee_cap(&self) -> &TokenAmount
[src]
fn gas_premium(&self) -> &TokenAmount
[src]
fn set_gas_limit(&mut self, token_amount: i64)
[src]
fn set_gas_fee_cap(&mut self, cap: TokenAmount)
[src]
fn set_gas_premium(&mut self, prem: TokenAmount)
[src]
fn required_funds(&self) -> TokenAmount
[src]
impl PartialEq<UnsignedMessage> for UnsignedMessage
[src]
fn eq(&self, other: &UnsignedMessage) -> bool
[src]
fn ne(&self, other: &UnsignedMessage) -> bool
[src]
impl Serialize for UnsignedMessage
[src]
impl StructuralEq for UnsignedMessage
[src]
impl StructuralPartialEq for UnsignedMessage
[src]
Auto Trait Implementations
impl RefUnwindSafe for UnsignedMessage
impl Send for UnsignedMessage
impl Sync for UnsignedMessage
impl Unpin for UnsignedMessage
impl UnwindSafe for UnsignedMessage
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,