From 36db982340c2f2f4c2deec07cc37f1eb0dc6734c Mon Sep 17 00:00:00 2001 From: Frozen <1884084+xrdavies@users.noreply.github.com> Date: Tue, 2 Apr 2024 02:20:10 +0800 Subject: [PATCH] update sudt --- tests/examples/sudt.cell | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/tests/examples/sudt.cell b/tests/examples/sudt.cell index f8b6301..d0fb08f 100644 --- a/tests/examples/sudt.cell +++ b/tests/examples/sudt.cell @@ -1,28 +1,35 @@ //package main -import "debug"; -import "tx"; -import "cell"; +import "debug" +import "tx" +import "cell" // main is the entry point of every cell script function main() { - var inputs:vector= tx.inputs(); - var outputs:vector = tx.outputs(); + var inputs := tx.inputs() + var outputs := tx.outputs() - var input_amount: uint128; - var output_amount: uint128; + var in_sum, out_sum uint128 - for(var input in inputs) { - input_amount += input.data.as(uint128); + for _, input := range inputs { + in_sum += input.data.as(uint128) + if in_sum < input.data.as(uint128) { + debug.Printf("input overflow") + return 1 + } } - for(var output in outputs) { - output_amount += output.data.as(uint128); + for _, output := range outputs { + out_sum += output.data.as(uint128) + if out_sum < input.data.as(uint128) { + debug.Printf("output overflow") + return 1 + } } - if(input_amount < output_amount) { - debug.error("Invalid Amount"); - return 1; + if in_sum < out_sum { + debug.Printf("Invalid Amount") + return 1 } - return 0; + return 0 }