diff --git a/examples/acceptance_tests/036/aiken.lock b/examples/acceptance_tests/036/aiken.lock new file mode 100644 index 00000000..f9eb850a --- /dev/null +++ b/examples/acceptance_tests/036/aiken.lock @@ -0,0 +1,13 @@ +# This file was generated by Aiken +# You typically do not need to edit this file + +[[requirements]] +name = "aiken-lang/stdlib" +version = "6b482fa00ec37fe936c93155e8c670f32288a686" +source = "github" + +[[packages]] +name = "aiken-lang/stdlib" +version = "6b482fa00ec37fe936c93155e8c670f32288a686" +requirements = [] +source = "github" diff --git a/examples/acceptance_tests/036/aiken.toml b/examples/acceptance_tests/036/aiken.toml new file mode 100644 index 00000000..a87271df --- /dev/null +++ b/examples/acceptance_tests/036/aiken.toml @@ -0,0 +1,6 @@ +name = "aiken-lang/acceptance_test_036" +version = "0.0.0" + +dependencies = [ + { name = "aiken-lang/stdlib", version = "6b482fa00ec37fe936c93155e8c670f32288a686", source = "github" }, +] diff --git a/examples/acceptance_tests/036/validators/spend.ak b/examples/acceptance_tests/036/validators/spend.ak new file mode 100644 index 00000000..a1b6aeee --- /dev/null +++ b/examples/acceptance_tests/036/validators/spend.ak @@ -0,0 +1,18 @@ +use aiken/dict +use aiken/list +use aiken/transaction.{Output, ScriptContext} +use aiken/transaction/value.{PolicyId} + +const my_policy_id: PolicyId = #[0, 0, 0, 0, 0] + +pub fn has_policy_id(self: Output, policy_id: PolicyId) -> Bool { + self.value + |> value.tokens(policy_id) + |> dict.is_empty + |> not +} + +pub fn spend(_datum, _redeemer, ctx: ScriptContext) -> Bool { + ctx.transaction.outputs + |> list.any(has_policy_id(_, my_policy_id)) +} diff --git a/examples/acceptance_tests/run b/examples/acceptance_tests/run index c7c6f809..4974e956 100755 --- a/examples/acceptance_tests/run +++ b/examples/acceptance_tests/run @@ -15,7 +15,13 @@ WORKDIR="$(dirname -- "${BASH_SOURCE[0]}")" TARGET="$WORKDIR/$(basename $1)" TMP=$(mktemp) -RESULT=$(cargo run --quiet -- check $TARGET 2>$TMP) +VALIDATORS=$(find $TARGET -type f -path "*validators/*.ak") +if [ -z $VALIDATORS ]; then + RESULT=$(cargo run --quiet -- check $TARGET 2>$TMP) +else + RESULT=$(cargo run --quiet -- build $TARGET 2>$TMP) +fi + if [ "$?" -eq "0" ]; then echo "✅ $(basename $TARGET)" else diff --git a/examples/acceptance_tests/run-all b/examples/acceptance_tests/run-all index 0878185f..c5fb747f 100755 --- a/examples/acceptance_tests/run-all +++ b/examples/acceptance_tests/run-all @@ -1,3 +1,3 @@ #!/usr/bin/env bash -find . -regex ".*[0-9]\{3\}" -type d | xargs -P 8 -I {} -- ./run.sh {} +find . -regex ".*[0-9]\{3\}" -type d | xargs -P 8 -I {} -- ./run {}