tx · CfyrRmXUgFfJWNaqcjc1fvsJY4QhLZVxeg3LiVdaT6JG

3MpUvv7uvTvighNDKcwW5hppG2eXHCCTBw1:  -0.01000000 Waves

2022.02.02 15:06 [1905948] smart account 3MpUvv7uvTvighNDKcwW5hppG2eXHCCTBw1 > SELF 0.00000000 Waves

{ "type": 13, "id": "CfyrRmXUgFfJWNaqcjc1fvsJY4QhLZVxeg3LiVdaT6JG", "fee": 1000000, "feeAssetId": null, "timestamp": 1643803662037, "version": 2, "chainId": 84, "sender": "3MpUvv7uvTvighNDKcwW5hppG2eXHCCTBw1", "senderPublicKey": "G5whsEj6H1bQiLZQscjQqzey4RrepbRDEe7TseynHjXr", "proofs": [ "5wAnxui4ZQxtx3ZwJ5NEyAF7eFnvoox5ohTqbuNGJAAGh1gf8PBeyh9dJJaV8HbuQuUB5Dsb8WWxB2wzyxwwXCeC" ], "script": "base64:AAIFAAAAAAAAAYwIAhIECgIICBIDCgEIEgQKAggYEgAaCwoBQRIGdmVyaWZ5Gg8KAWESCmVzdEVuQ291cnMaEgoBYhINY2xhc3NlRW5Db3VycxoRCgFjEgxnZXRDbGFzc05hbWUaCAoBZBIDbm9tGg8KAWUSCnByb2Zlc3NldXIaFQoBZhIQY2FuRXR1ZGlhbnRMZWFzZRoMCgFnEgdhZHJlc3NlGgwKAWgSB2JhbGFuY2UaEQoBaRIMdmFsaWRlckVsZXZlGggKAWoSA2FjYxoGCgFrEgFlGhMKAWwSDnN0dWRlbnRBZGRyZXNzGhIKAW0SDXN0dWRlbnRTdGF0dXMaBgoBbhIBaRoLCgFvEgZlbGV2ZXMaCwoBcBIGY2xhc3NlGhQKAXESD2xlYXNlZEV0dWRpYW50cxoHCgFyEgIkbBoHCgFzEgIkcxoKCgF0EgUkYWNjMBoKCgF1EgUkZjBfMRoHCgF2EgIkYRoHCgF3EgIkaRoKCgF4EgUkZjBfMhoLCgF5EgZyZXR1cm4aBwoBehICdHgAAAAFAAAAAAFhAgAAAAplc3RFbkNvdXJzAAAAAAFiAgAAAAABAAAAAWMAAAACAAAAAWQAAAABZQkAASwAAAACCQABLAAAAAIFAAAAAWQCAAAAAV8JAAQlAAAAAQUAAAABZQEAAAABZgAAAAEAAAABZwQAAAABaAkAA+8AAAABBQAAAAFnAwkAAGYAAAACCAUAAAABaAAAAAlhdmFpbGFibGUAAAAAAAAAAAAGBwEAAAABaQAAAAIAAAABagAAAAFrBAAAAAFsCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkAAS8AAAACBQAAAAFrAAAAAAAAAAAjBAAAAAFtCQEAAAAJdGFrZVJpZ2h0AAAAAgUAAAABawkAAGUAAAACCQABMQAAAAEFAAAAAWsAAAAAAAAAACIDAwkBAAAAAWYAAAABBQAAAAFsAwkAAAAAAAACBQAAAAFtAgAAAAZSZXRhcmQGCQAAAAAAAAIFAAAAAW0CAAAAB1ByZXNlbnQHCQAERAAAAAIFAAAAAWwICQAD7wAAAAEFAAAAAWwAAAAJYXZhaWxhYmxlBQAAAAR1bml0AAAABAAAAAFuAQAAABNjcmVhdGVPck1vZGlmeUNsYXNzAAAAAgAAAAFkAAAAAW8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAWMAAAACBQAAAAFkCAUAAAABbgAAAAZjYWxsZXIFAAAAAW8FAAAAA25pbAAAAAFuAQAAAAtkZWxldGVDbGFzcwAAAAEAAAABZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAABYwAAAAIFAAAAAWQIBQAAAAFuAAAABmNhbGxlcgUAAAADbmlsAAAAAW4BAAAACmZhaXJlQXBwZWwAAAACAAAAAXAAAAABbwQAAAABcQoAAAAAAXIFAAAAAW8KAAAAAAFzCQABkAAAAAEFAAAAAXIKAAAAAAF0BQAAAANuaWwKAQAAAAF1AAAAAgAAAAF2AAAAAXcDCQAAZwAAAAIFAAAAAXcFAAAAAXMFAAAAAXYJAQAAAAFpAAAAAgUAAAABdgkAAZEAAAACBQAAAAFyBQAAAAF3CgEAAAABeAAAAAIAAAABdgAAAAF3AwkAAGcAAAACBQAAAAF3BQAAAAFzBQAAAAF2CQAAAgAAAAECAAAAFExpc3Qgc2l6ZSBleGNlZWRzIDMwCQEAAAABeAAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIJAQAAAAF1AAAAAgkBAAAAAXUAAAACCQEAAAABdQAAAAIFAAAAAXQAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgAAAAAAAAAAAkAAAAAAAAAAAoAAAAAAAAAAAsAAAAAAAAAAAwAAAAAAAAAAA0AAAAAAAAAAA4AAAAAAAAAAA8AAAAAAAAAABAAAAAAAAAAABEAAAAAAAAAABIAAAAAAAAAABMAAAAAAAAAABQAAAAAAAAAABUAAAAAAAAAABYAAAAAAAAAABcAAAAAAAAAABgAAAAAAAAAABkAAAAAAAAAABoAAAAAAAAAABsAAAAAAAAAABwAAAAAAAAAAB0AAAAAAAAAAB4EAAAAAXkJAARNAAAAAgkABE0AAAACBQAAAAFxCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAFiCQEAAAABYwAAAAIFAAAAAXAIBQAAAAFuAAAABmNhbGxlcgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAAWEGBQAAAAF5AAAAAW4BAAAADGFycmV0ZXJDb3VycwAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAABYgIAAAAACQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAFhBwUAAAADbmlsAAAAAQAAAAF6AQAAAAFBAAAAAAZeNKrt", "height": 1905948, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let estEnCours = "estEnCours"
5+
6+let classeEnCours = ""
7+
8+func getClassName (nom,professeur) = ((nom + "_") + toString(professeur))
9+
10+
11+func canEtudiantLease (adresse) = {
12+ let balance = wavesBalance(adresse)
13+ if ((balance.available > 0))
14+ then true
15+ else false
16+ }
17+
18+
19+func validerEleve (acc,e) = {
20+ let studentAddress = Address(fromBase58String(take(e, 35)))
21+ let studentStatus = takeRight(e, (size(e) - 34))
22+ if (if (canEtudiantLease(studentAddress))
23+ then if ((studentStatus == "Retard"))
24+ then true
25+ else (studentStatus == "Present")
26+ else false)
27+ then Lease(studentAddress, wavesBalance(studentAddress).available)
28+ else unit
29+ }
30+
31+
32+@Callable(i)
33+func createOrModifyClass (nom,eleves) = [StringEntry(getClassName(nom, i.caller), eleves)]
34+
35+
36+
37+@Callable(i)
38+func deleteClass (nom) = [DeleteEntry(getClassName(nom, i.caller))]
39+
40+
41+
42+@Callable(i)
43+func faireAppel (classe,eleves) = {
44+ let leasedEtudiants = {
45+ let $l = eleves
46+ let $s = size($l)
47+ let $acc0 = nil
48+ func $f0_1 ($a,$i) = if (($i >= $s))
49+ then $a
50+ else validerEleve($a, $l[$i])
51+
52+ func $f0_2 ($a,$i) = if (($i >= $s))
53+ then $a
54+ else throw("List size exceeds 30")
55+
56+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
57+ }
58+ let return = ((leasedEtudiants :+ StringEntry(classeEnCours, getClassName(classe, i.caller))) :+ BooleanEntry(estEnCours, true))
59+ return
60+ }
61+
62+
63+
64+@Callable(i)
65+func arreterCours () = [StringEntry(classeEnCours, ""), BooleanEntry(estEnCours, false)]
66+
67+
68+@Verifier(tx)
69+func verify () = true
70+

github/deemru/w8io/169f3d6 
26.15 ms