/*
* This program verifies a Schnorr signature based on
* SIGHASH_NONE.
*/
fn main() {
let ctx: Ctx8 = jet::sha_256_ctx_8_init();
// Blockchain
let ctx: Ctx8 = jet::sha_256_ctx_8_add_32(ctx, jet::genesis_block_hash());
let ctx: Ctx8 = jet::sha_256_ctx_8_add_32(ctx, jet::genesis_block_hash());
// Transaction
let ctx: Ctx8 = jet::sha_256_ctx_8_add_4(ctx, jet::version());
let ctx: Ctx8 = jet::sha_256_ctx_8_add_4(ctx, jet::lock_time());
let ctx: Ctx8 = jet::sha_256_ctx_8_add_32(ctx, jet::tap_env_hash());
// All inputs
let ctx: Ctx8 = jet::sha_256_ctx_8_add_32(ctx, jet::inputs_hash());
let ctx: Ctx8 = jet::sha_256_ctx_8_add_32(ctx, jet::input_utxos_hash());
// No outputs
// Current index
let ctx: Ctx8 = jet::sha_256_ctx_8_add_4(ctx, jet::current_index());
// Message
let msg: u256 = dbg!(jet::sha_256_ctx_8_finalize(ctx));
let pk: Pubkey = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798;
jet::bip_0340_verify((pk, msg), witness::SIG);
}