wasm-runtime

A wasm runtime
git clone https://git.parazyd.org/wasm-runtime
Log | Files | Refs | README | LICENSE

lib.rs (586B)


      1 use borsh::{BorshDeserialize, BorshSerialize};
      2 use drk_sdk::{
      3     entrypoint,
      4     error::{ContractError, ContractResult},
      5     msg,
      6 };
      7 use pasta_curves::pallas;
      8 
      9 #[derive(BorshSerialize, BorshDeserialize)]
     10 pub struct Args {
     11     pub a: pallas::Base,
     12     pub b: pallas::Base,
     13 }
     14 
     15 entrypoint!(process_instruction);
     16 fn process_instruction(ix: &[u8]) -> ContractResult {
     17     let args = Args::try_from_slice(ix)?;
     18 
     19     if args.a < args.b {
     20         return Err(ContractError::Custom(69))
     21     }
     22 
     23     let sum = args.a + args.b;
     24 
     25     msg!("Hello from the VM runtime! Sum: {:?}", sum);
     26 
     27     Ok(())
     28 }