34 lines
722 B
Rust
Raw Normal View History

use nssa_core::program::{
AccountPostState, BlockId, ProgramInput, ProgramOutput, read_nssa_inputs,
};
type Instruction = (Option<BlockId>, Option<BlockId>);
fn main() {
let (
ProgramInput {
pre_states,
instruction: (from_id, until_id),
},
instruction_words,
) = read_nssa_inputs::<Instruction>();
let Ok([pre]) = <[_; 1]>::try_from(pre_states) else {
return;
};
let post = pre.account.clone();
2026-03-20 13:16:52 -03:00
let output = ProgramOutput::new(
instruction_words,
vec![pre],
vec![AccountPostState::new(post)],
2026-03-20 13:16:52 -03:00
)
.valid_from_id(from_id)
.unwrap()
.valid_until_id(until_id)
.unwrap();
output.write();
}