Skip to content

Commit

Permalink
test(native_currency): Verify negative fee and set coinbase is disall…
Browse files Browse the repository at this point in the history
…owed
  • Loading branch information
Sword-Smith committed Dec 19, 2024
1 parent 1297fd5 commit 0f74c71
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions src/models/blockchain/type_scripts/native_currency.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1370,6 +1370,29 @@ pub mod test {
)?;
}

#[tokio::test]
async fn tx_with_negative_fee_has_coinbase_deterministic() {
let mut test_runner = TestRunner::deterministic();
let mut primitive_witness = PrimitiveWitness::arbitrary_with_fee(-NeptuneCoins::new(1))
.new_tree(&mut test_runner)
.unwrap()
.current();
let good_native_currency_witness = NativeCurrencyWitness::from(primitive_witness.clone());
assert_both_rust_and_tasm_halt_gracefully(good_native_currency_witness).unwrap();

let kernel_modifier =
TransactionKernelModifier::default().coinbase(Some(NeptuneCoins::new(1)));
primitive_witness.kernel = kernel_modifier.modify(primitive_witness.kernel);
let bad_native_currency_witness = NativeCurrencyWitness::from(primitive_witness.clone());
NativeCurrency
.test_assertion_failure(
bad_native_currency_witness.standard_input(),
bad_native_currency_witness.nondeterminism(),
&[COINBASE_IS_SET_AND_FEE_IS_NEGATIVE],
)
.unwrap();
}

#[tokio::test]
async fn native_currency_failing_proof() {
let mut test_runner = TestRunner::deterministic();
Expand Down

0 comments on commit 0f74c71

Please sign in to comment.