Structs

  • The type is used to represent the full message. It is used during the deserialization of the message to determine the final type. If the data field is empty, it should be transformed into MessageData. Otherwise into MessageCoin. If the predicate is empty, the usage rules should be Signed, else Predicate.
  • The spendable message acts as a standard coin.
  • The retrayable message metadata. It is a message that can’t be used as a coin to pay for fees but can be used to pass metadata to the contract. It may have a non-zero value that will be transferred to the contract as a native asset during the execution. If the execution of the transaction fails, the metadata is not consumed and can be used later until successful execution.
  • The type means that the message is not signed, and the owner is a predicate bytecode. The merkle root from the predicate should be equal to the owner.
  • The type means that the message should be signed by the recipient, and the signature(witness) should be stored under the witness_index index in the witnesses vector of the crate::Transaction.