Skip to content

Commit

Permalink
update gift card example
Browse files Browse the repository at this point in the history
  • Loading branch information
MicroProofs committed May 4, 2024
1 parent b669db8 commit 14903f7
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 18 deletions.
2 changes: 1 addition & 1 deletion examples/gift_card/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714410806, nanos_since_epoch = 706482000 }, "2a710731e0127ec3e21c6c3962a0254c98602e7428b33fc4fcaa67ab368ce1b1"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1714852860, nanos_since_epoch = 160588000 }, "5ee55dc5ccf269bb493f4cacb32096f0191a6adb2ef39d62a1f79b8c5a8fcc7f"]
18 changes: 9 additions & 9 deletions examples/gift_card/plutus.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.19-alpha+d56d518"
"version": "v1.0.26-alpha+b669db8"
},
"license": "Apache-2.0"
},
Expand All @@ -33,8 +33,8 @@
}
}
],
"compiledCode": "59050a0100003232323232323232322322253330073370e90001803000899299980419191919299980619b8748000c02c0044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc074cdc3a400000226464646464646464a66604a002264646600200201844a66605600229444c8c8c8c94ccc0b0cc0240288cdc78008018a999816191980080080d9129998188008a50132325333030323232323253330353375e00266e95200433039375201697ae013375e602a60660080202940c0e4004c0e4004c0e0008c0d8004c0b8008528899802002000981a80118198008a99981619b87001480084cc01801800c5280b0b1bad302d003375c6056004605e004605a00266e95200233029375203097ae014a066002014466e3c08400488c8cc00400400c894ccc0a800452809919299981498028010a51133004004001302e002375c60580026466600200200a97ae022253330253370e00490000800899980180199b8100248008cc0a4dd49b94337160040080026eccc004c07c0088c098004c090040dd69811800980d80c099198008008019129998110008a511323253330213370e6eb4c08c009200113300400400114a0604c0046048002603602e64664464a66603e66e1d20020011002137566048603a006603a004646600200200444a666042002298103d87a800013232323253330223371e02a004266e95200033026374c00297ae0133006006003375660460066eb8c084008c094008c08c0052f5bded8c0646600200200e44a666040002297adef6c6013232323253330213371e911000021003133025337606ea4008dd3000998030030019bab3022003375c6040004604800460440026eb0c07c004c07c004c078004c074004c070008dd5980d000980d000980c8011bac30170013017001301600237586028002601800a6eb8c048004c02800458c040004c040008c038004c018008526136563253330083370e900000089919299980698080010a4c2c6eb4c038004c01800c54ccc020cdc3a40040022a666016600c0062930b0b180300109911929998051919191919191919191919299980a99b8748008c0500204c8c8c94ccc060cdc3a4000602e0022646464646464646464a66604266e1d20023020001132323370e6464664464a66605066e1d200200110021375a605a604c006604c00464a66604c66e1d200200114c0103d87a8000132323300100100222533302c00114c103d87a8000132323232533302d3371e048004266e95200033031375000297ae0133006006003375a605c0066eb8c0b0008c0c0008c0b8004dd5981598120011812000a4000646600200200444a6660520022980103d87a8000132323232533302a3371e010004266e9520003302e374c00297ae0133006006003375660560066eb8c0a4008c0b4008c0ac004c8cc004004040894ccc0a000452f5bded8c0264646464a66605266e3d22100002100313302d337606ea4008dd3000998030030019bab302a003375c60500046058004605400290009bae3027001301f001163025001301d0013023001301b001302100130210013018001301e001301600116323300100100922533301c00114c103d87a800013232533301b3375e6040603200400a266e9520003301f0024bd700998020020009810001180f000980d80098098040b1bab30190013019001301800130170013016002375860280026018006602400260240046020002601000429309b2b1bae004300c3005001375c0024600a6ea80048c00cdd5000ab9a5573aaae7955cfaba05742ae881",
"hash": "e616488e0b79189f22b849f099aba2b2434f84f57beb587d55116bc3"
"compiledCode": "5904fc01000032323232323232232225323232333008300330093754008264a666012646464a666018600e601a6ea80044c8c8c8c8c8c8c8c94ccc050c03cc054dd50088991919299980b99800802919b8f016001132323300100100622533301d00114a2264646464a66603c66010012466e3c00400c54ccc078c8cc00400403c894ccc08c00452809929998109919299981199baf3028302930290023374a9002198139ba90074bd70099baf300f302537540020182940c09c004c08cdd518130010a5113300300300130260011533301e301800113300600600314a02c2c6eb4c07c00cdd7180e8011810801180f80099ba548008cc06cdd4805a5eb8052811191980080080191299980e8008a50132533301b3004375c604000429444cc00c00c004c080004c8c8ccc004004dd6980e180c9baa0144bd70111299980c980a0010800899980180199b8000248004cc074dd49b94337160040080026eccc004c05cdd5180d0039180d0008991980080080111299980c8008a5113253330173370e6eb4c064c070009200113300300300114a0603800264a666028601c602a6ea800452f5bded8c026eacc064c058dd5000991980080099198008009bab301a00422533301900114bd6f7b630099191919299980d19b91489000021533301a3371e9101000021003100513301e337606ea4008dd3000998030030019bab301b003375c6032004603a004603600244a666030002298103d87a800013232323253330193372201a0042a66603266e3c0340084c048cc074dd3000a5eb80530103d87a8000133006006003375660340066eb8c060008c070008c068004dd6180b980c180c180c180c000980b980b8011bac30150013015301500237586026002601e6ea800cdd7180898071baa0011630103011002300f001300b375400a29309b2b192999804980200089919299980718088010a4c2c6eb4c03c004c02cdd50030a99980498018008a99980618059baa00614985858c024dd5002899911299980599191919192999808180518089baa004132325333012300d30133754002264a666026601a60286ea80044cdc3999119299980b1808180b9baa0011480004dd6980d980c1baa0013253330163010301737540022980103d87a8000132330010013756603860326ea8008894ccc06c004530103d87a8000132323232533301c337220280042a66603866e3c0500084c054cc080dd4000a5eb80530103d87a8000133006006003375a603a0066eb8c06c008c07c008c074004c8cc00400400c894ccc0680045300103d87a8000132323232533301b3372200e0042a66603666e3c01c0084c050cc07cdd3000a5eb80530103d87a8000133006006003375660380066eb8c068008c078008c070004c8cc004004014894ccc06000452f5bded8c0264646464a66603266e4522100002153330193371e9101000021003100513301d337606ea4008dd3000998030030019bab301a003375c6030004603800460340026eb8c060c054dd5000a40022c602e60286ea8c05cc050dd5180b980c180a1baa3017301437540022c646600200200844a66602c002298103d87a80001323253330153375e6034602e6ea80080144c038cc0640092f5c026600800800260340046030002602a60246ea801058dd5980a180a980a980a980a8011bac3013001300f3754602400460226024002601a6ea800452613656375c00a601a60146ea8010dd2a40006e1d2002370e90001bae0015734aae7555cf2ab9f5740ae855d101",
"hash": "fd38243b432e2b4fd502294f6c5addc5c6979cf289e99f85916b503f"
},
{
"title": "multi.gift_card",
Expand All @@ -52,8 +52,8 @@
}
}
],
"compiledCode": "59050a0100003232323232323232322322253330073370e90001803000899299980419191919299980619b8748000c02c0044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc074cdc3a400000226464646464646464a66604a002264646600200201844a66605600229444c8c8c8c94ccc0b0cc0240288cdc78008018a999816191980080080d9129998188008a50132325333030323232323253330353375e00266e95200433039375201697ae013375e602a60660080202940c0e4004c0e4004c0e0008c0d8004c0b8008528899802002000981a80118198008a99981619b87001480084cc01801800c5280b0b1bad302d003375c6056004605e004605a00266e95200233029375203097ae014a066002014466e3c08400488c8cc00400400c894ccc0a800452809919299981498028010a51133004004001302e002375c60580026466600200200a97ae022253330253370e00490000800899980180199b8100248008cc0a4dd49b94337160040080026eccc004c07c0088c098004c090040dd69811800980d80c099198008008019129998110008a511323253330213370e6eb4c08c009200113300400400114a0604c0046048002603602e64664464a66603e66e1d20020011002137566048603a006603a004646600200200444a666042002298103d87a800013232323253330223371e02a004266e95200033026374c00297ae0133006006003375660460066eb8c084008c094008c08c0052f5bded8c0646600200200e44a666040002297adef6c6013232323253330213371e911000021003133025337606ea4008dd3000998030030019bab3022003375c6040004604800460440026eb0c07c004c07c004c078004c074004c070008dd5980d000980d000980c8011bac30170013017001301600237586028002601800a6eb8c048004c02800458c040004c040008c038004c018008526136563253330083370e900000089919299980698080010a4c2c6eb4c038004c01800c54ccc020cdc3a40040022a666016600c0062930b0b180300109911929998051919191919191919191919299980a99b8748008c0500204c8c8c94ccc060cdc3a4000602e0022646464646464646464a66604266e1d20023020001132323370e6464664464a66605066e1d200200110021375a605a604c006604c00464a66604c66e1d200200114c0103d87a8000132323300100100222533302c00114c103d87a8000132323232533302d3371e048004266e95200033031375000297ae0133006006003375a605c0066eb8c0b0008c0c0008c0b8004dd5981598120011812000a4000646600200200444a6660520022980103d87a8000132323232533302a3371e010004266e9520003302e374c00297ae0133006006003375660560066eb8c0a4008c0b4008c0ac004c8cc004004040894ccc0a000452f5bded8c0264646464a66605266e3d22100002100313302d337606ea4008dd3000998030030019bab302a003375c60500046058004605400290009bae3027001301f001163025001301d0013023001301b001302100130210013018001301e001301600116323300100100922533301c00114c103d87a800013232533301b3375e6040603200400a266e9520003301f0024bd700998020020009810001180f000980d80098098040b1bab30190013019001301800130170013016002375860280026018006602400260240046020002601000429309b2b1bae004300c3005001375c0024600a6ea80048c00cdd5000ab9a5573aaae7955cfaba05742ae881",
"hash": "e616488e0b79189f22b849f099aba2b2434f84f57beb587d55116bc3"
"compiledCode": "5904fc01000032323232323232232225323232333008300330093754008264a666012646464a666018600e601a6ea80044c8c8c8c8c8c8c8c94ccc050c03cc054dd50088991919299980b99800802919b8f016001132323300100100622533301d00114a2264646464a66603c66010012466e3c00400c54ccc078c8cc00400403c894ccc08c00452809929998109919299981199baf3028302930290023374a9002198139ba90074bd70099baf300f302537540020182940c09c004c08cdd518130010a5113300300300130260011533301e301800113300600600314a02c2c6eb4c07c00cdd7180e8011810801180f80099ba548008cc06cdd4805a5eb8052811191980080080191299980e8008a50132533301b3004375c604000429444cc00c00c004c080004c8c8ccc004004dd6980e180c9baa0144bd70111299980c980a0010800899980180199b8000248004cc074dd49b94337160040080026eccc004c05cdd5180d0039180d0008991980080080111299980c8008a5113253330173370e6eb4c064c070009200113300300300114a0603800264a666028601c602a6ea800452f5bded8c026eacc064c058dd5000991980080099198008009bab301a00422533301900114bd6f7b630099191919299980d19b91489000021533301a3371e9101000021003100513301e337606ea4008dd3000998030030019bab301b003375c6032004603a004603600244a666030002298103d87a800013232323253330193372201a0042a66603266e3c0340084c048cc074dd3000a5eb80530103d87a8000133006006003375660340066eb8c060008c070008c068004dd6180b980c180c180c180c000980b980b8011bac30150013015301500237586026002601e6ea800cdd7180898071baa0011630103011002300f001300b375400a29309b2b192999804980200089919299980718088010a4c2c6eb4c03c004c02cdd50030a99980498018008a99980618059baa00614985858c024dd5002899911299980599191919192999808180518089baa004132325333012300d30133754002264a666026601a60286ea80044cdc3999119299980b1808180b9baa0011480004dd6980d980c1baa0013253330163010301737540022980103d87a8000132330010013756603860326ea8008894ccc06c004530103d87a8000132323232533301c337220280042a66603866e3c0500084c054cc080dd4000a5eb80530103d87a8000133006006003375a603a0066eb8c06c008c07c008c074004c8cc00400400c894ccc0680045300103d87a8000132323232533301b3372200e0042a66603666e3c01c0084c050cc07cdd3000a5eb80530103d87a8000133006006003375660380066eb8c068008c078008c070004c8cc004004014894ccc06000452f5bded8c0264646464a66603266e4522100002153330193371e9101000021003100513301d337606ea4008dd3000998030030019bab301a003375c6030004603800460340026eb8c060c054dd5000a40022c602e60286ea8c05cc050dd5180b980c180a1baa3017301437540022c646600200200844a66602c002298103d87a80001323253330153375e6034602e6ea80080144c038cc0640092f5c026600800800260340046030002602a60246ea801058dd5980a180a980a980a980a8011bac3013001300f3754602400460226024002601a6ea800452613656375c00a601a60146ea8010dd2a40006e1d2002370e90001bae0015734aae7555cf2ab9f5740ae855d101",
"hash": "fd38243b432e2b4fd502294f6c5addc5c6979cf289e99f85916b503f"
},
{
"title": "oneshot.gift_card",
Expand All @@ -77,8 +77,8 @@
}
}
],
"compiledCode": "5901f901000032323232323232323223222232533300932323232533300d3370e9000180600089919191919191919191919299980d980f0010991919299980d99b87480000044c94ccc070cdc3a40006036002264a66603a66e1c011200213371e00a0322940c06800458c8cc004004030894ccc080004530103d87a800013232533301f3375e6048603a004034266e952000330230024bd70099802002000981200118110008a99980d99b87002480044cdc780180b8a503019014375a60360046eb8c06400458c070004c8cc88c94ccc068cdc3a4004002200426eacc07cc06000cc060008c8cc004004008894ccc0700045300103d87a8000132323232533301d3371e01e004266e95200033021374c00297ae01330060060033756603c0066eb8c070008c080008c0780052f5bded8c0646600200200444a666036002297adef6c60132323232533301c3371e911000021003133020337606ea4008dd3000998030030019bab301d003375c6036004603e004603a0026eacc068004c068004c064004c060004c05c008dd6180a80098068029bae3013001300b0011630110013011002300f001300700214984d958c94ccc024cdc3a40000022a666018600e0062930b0a99980499b874800800454ccc030c01c00c52616163007002375c0024600a6ea80048c00cdd5000ab9a5573aaae7955cfaba05742ae89",
"hash": "e98009836402d3b8b30af400d67ed4c0d2ebed025a38a219cf1d30ad"
"compiledCode": "5901f5010000323232323232322322232323225333009323232533300c3007300d3754002264646464a666026602c00426464a666024601a60266ea803854ccc048c034c04cdd5191980080080311299980b8008a60103d87a80001323253330163375e603660306ea800804c4cdd2a40006603400497ae0133004004001301b002301900115333012300c00113371e00402029405854ccc048cdc3800a4002266e3c0080405281bad3013002375c60220022c602800264a66601e601260206ea800452f5bded8c026eacc050c044dd500099191980080099198008009bab3016301730173017301700522533301500114bd6f7b630099191919299980b19b91488100002153330163371e9101000021003100513301a337606ea4008dd3000998030030019bab3017003375c602a0046032004602e00244a666028002298103d87a800013232323253330153372200e0042a66602a66e3c01c0084cdd2a4000660326e980052f5c02980103d87a80001330060060033756602c0066eb8c050008c060008c058004dd7180998081baa00337586024002601c6ea800858c040c044008c03c004c02cdd50008a4c26cac64a66601060060022a66601660146ea8010526161533300830020011533300b300a37540082930b0b18041baa003370e90011b8748000dd7000ab9a5573aaae7955cfaba05742ae89",
"hash": "0c0d17d9095fe6b07a2727403e2c6f2dff8042ed7c300cb67a2577a2"
},
{
"title": "oneshot.redeem",
Expand Down Expand Up @@ -108,8 +108,8 @@
}
}
],
"compiledCode": "5901340100003232323232323232232232222533300932323232323232323232533301630190021323253330153370e0029000899b8f00201214a06eb4c058008dd7180a0008b180b80099199119299980a99b874800800440084dd5980d180a001980a9baa002323300100100222533301700114c0103d87a800013232323253330183371e026004266e9520003301c374c00297ae0133006006003375660320066eb8c05c008c06c008c0640052f5bded8c0646600200200444a66602c002297adef6c6013232323253330173371e91100002100313301b337606ea4008dd3000998030030019bab3018003375c602c004603400460300026eacc054004c054004c050004c04c004c048004c028004c03c004c02000452613656375c0026eb80048c010dd5000ab9a5573aaae7955cfaba05742ae881",
"hash": "fceef3e0b9e483291b55f9a1ce82f30a78910f5ab7658c51cb38a673"
"compiledCode": "5901320100003232323232323223223222253330083232533300d3010002132533300b3370e6eb4c034009200113371e0020122940dd718058008b180700099299980499b8748008c028dd50008a5eb7bdb1804dd5980718059baa001323300100132330010013756601e602060206020602060186ea8c03cc030dd50019129998070008a5eb7bdb1804c8c8c8c94ccc03ccdc8a45000021533300f3371e91010000210031005133013337606ea4008dd3000998030030019bab3010003375c601c0046024004602000244a66601a002298103d87a8000132323232533300e337220140042a66601c66e3c0280084cdd2a4000660246e980052f5c02980103d87a80001330060060033756601e0066eb8c034008c044008c03c00452613656375c0026eb80055cd2ab9d5573caae7d5d02ba157441",
"hash": "39faa048196bb6b30f50815475e9d16b22e7a0ef6de5935b408ca617"
}
],
"definitions": {
Expand Down
8 changes: 4 additions & 4 deletions examples/gift_card/validators/multi.ak
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ validator(creator: ByteArray) {
mint
|> value.from_minted_value
|> value.tokens(policy_id)
|> dict.to_list()
|> dict.to_alist()

when rdmr is {
Mint(total) -> {
Expand All @@ -86,7 +86,7 @@ validator(creator: ByteArray) {
list.all(
minted_assets,
fn(asset) {
let (_, amount) = asset
let Pair(_, amount) = asset
amount == -1
},
)
Expand All @@ -111,14 +111,14 @@ fn insert(self: List<a>, e: a, compare: fn(a, a) -> Ordering) -> List<a> {
// and has a corresponding ouput with datum containing token name.
// Otherwise fail
fn check_mint_and_outputs(
minted_assets: List<(ByteArray, Int)>,
minted_assets: AList<ByteArray, Int>,
outputs: List<Output>,
expected_assets: List<ByteArray>,
validator_cred: PaymentCredential,
) -> Bool {
when minted_assets is {
[] -> True
[(minted_asset_name, quantity), ..rest_assets] -> {
[Pair(minted_asset_name, quantity), ..rest_assets] -> {
expect
list.any(
expected_assets,
Expand Down
8 changes: 4 additions & 4 deletions examples/gift_card/validators/oneshot.ak
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ validator(token_name: ByteArray, utxo_ref: OutputReference) {

let Transaction { inputs, mint, .. } = transaction

expect [(asset_name, amount)] =
expect [Pair(asset_name, amount)] =
mint
|> value.from_minted_value
|> value.tokens(policy_id)
|> dict.to_list()
|> dict.to_alist()

when rdmr is {
Mint -> {
Expand All @@ -39,11 +39,11 @@ validator(token_name: ByteArray, policy_id: ByteArray) {

let Transaction { mint, .. } = transaction

expect [(asset_name, amount)] =
expect [Pair(asset_name, amount)] =
mint
|> value.from_minted_value
|> value.tokens(policy_id)
|> dict.to_list()
|> dict.to_alist()

amount == -1 && asset_name == token_name
}
Expand Down

0 comments on commit 14903f7

Please sign in to comment.