pub struct App {
pub tag: char,
pub identity: B32,
pub vk: B32,
}Expand description
App represents an application that can be used to create, transform or destroy charms (tokens, NFTs and other instances of app data).
An app is identified by a single character tag, a 32-byte identity and a 32-byte vk
(verification key).
The tag is a single character that represents the type of the app, with two special values:
TOKEN(tagt) for tokens,NFT(tagn) for NFTs.
Other values of tag are perfectly legal. The above ones are special: tokens and NFTs can be
transferred without providing the app’s implementation (RISC-V binary).
The vk is a 32-byte byte string (hash) that is used to verify proofs that the app’s contract
is satisfied (against the certain transaction, additional public input and private input).
The identity is a 32-byte byte string (hash) that uniquely identifies the app among other apps
implemented using the same code.
Fields§
§tag: char§identity: B32§vk: B32Trait Implementations§
Source§impl<'de> Deserialize<'de> for App
impl<'de> Deserialize<'de> for App
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>,
Source§impl Ord for App
impl Ord for App
Source§impl PartialOrd for App
impl PartialOrd for App
impl Eq for App
impl StructuralPartialEq for App
Auto Trait Implementations§
impl Freeze for App
impl RefUnwindSafe for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnwindSafe for App
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)