feat: add complex function composability. Minor scope changes

This commit is contained in:
Kasey White
2022-11-14 01:53:17 -05:00
committed by Lucas
parent 491c13f3aa
commit 2cac7963c3
2 changed files with 107 additions and 87 deletions

View File

@@ -16,28 +16,31 @@ pub type Reen {
}
pub fn twice(f: fn(Int) -> Int, x: Int) -> Int {
f(f(x))
pub fn twice(f: fn(Int) -> Int, initial: Int) -> Int {
f(f(initial))
}
pub fn add_one(x: Int) -> Int {
x + 1
pub fn add_one(value: Int) -> Int {
value + 1
}
pub fn add_two(x: Int) -> Int {
twice(add_one, x)
}
pub fn final_check(z: Int){
z < 4
}
pub fn spend(
datum: sample.Datum,
rdmr: Redeemer,
ctx: spend.ScriptContext,
) -> Bool {
let x = rdmr.signer
let z = datum.sc.signer.hash
let y = datum.sc
let a = datum.fin
a > 0 && z == x
a
|> add_two
|> final_check
}