diff --git a/zkvm/src/lib.rs b/zkvm/src/lib.rs index ab61f45..29ebd45 100644 --- a/zkvm/src/lib.rs +++ b/zkvm/src/lib.rs @@ -317,11 +317,12 @@ pub fn prove_mint_utxo_multiple_assets( )) } -pub fn execute_mint_utxo(amount_to_mint: u128, owner: AccountAddress) -> anyhow::Result { +pub fn execute_mint_utxo(amount_to_mint: u128, owner: AccountAddress, randomness: [u8; 32]) -> anyhow::Result { let mut builder = ExecutorEnv::builder(); builder.write(&amount_to_mint)?; builder.write(&owner)?; + builder.write(&randomness)?; let env = builder.build()?; @@ -537,4 +538,16 @@ mod tests { assert!(matches!(result, Err(ExecutionFailureKind::InsufficientFundsError))); } + #[test] + fn test_execute_mint_utxo() { + let owner = AccountAddress::default(); + let amount = 123456789; + let mut randomness = [0u8; 32]; + OsRng.fill_bytes(&mut randomness); + + let utxo_exec = execute_mint_utxo(amount, owner, randomness).expect("execution failed"); + assert_eq!(utxo_exec.amount, amount); + assert_eq!(utxo_exec.owner, owner); + } + }