tx · DHsiz3MGvyoSfrvGistQ79n1ntRMaHBWz4eT6chE1fGj

3NBK2yEvvn5RyuLiDoSegDnLmrCMdMBGj9c:  -0.01000000 Waves

2022.02.04 17:41 [1909007] smart account 3NBK2yEvvn5RyuLiDoSegDnLmrCMdMBGj9c > SELF 0.00000000 Waves

{ "type": 13, "id": "DHsiz3MGvyoSfrvGistQ79n1ntRMaHBWz4eT6chE1fGj", "fee": 1000000, "feeAssetId": null, "timestamp": 1643985723573, "version": 2, "chainId": 84, "sender": "3NBK2yEvvn5RyuLiDoSegDnLmrCMdMBGj9c", "senderPublicKey": "7fPB14dGNvjt8jBx85uKcAqsQSgVy8FRG221QxTD4ySa", "proofs": [ "27N6vjvcsbdSuCfYqaifi2pAVc8Zn9FY39okvAyKsPCqQkpFjimK7mauQkoLNFpHoTm4nnH2pXfouker4UtfaihG" ], "script": "base64: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", "height": 1909007, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: EaHXKwqWYQHwkUsiEWD6jfhSaSFy3K2hNTBdjo8w62jb Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let presenceKey = "presences"
5+
6+let absenceKey = "absences"
7+
8+let totalCours = "totalCours"
9+
10+let leaseIdKey = "leaseId"
11+
12+func getNbPresence () = {
13+ let nbPresence = getInteger(presenceKey)
14+ match nbPresence {
15+ case t: Int =>
16+ t
17+ case _ =>
18+ 0
19+ }
20+ }
21+
22+
23+func getNbCours () = {
24+ let nbCours = getInteger(totalCours)
25+ match nbCours {
26+ case t: Int =>
27+ t
28+ case _ =>
29+ 0
30+ }
31+ }
32+
33+
34+func getNbAbsence () = {
35+ let nbAbsence = getInteger(absenceKey)
36+ match nbAbsence {
37+ case t: Int =>
38+ t
39+ case _ =>
40+ 0
41+ }
42+ }
43+
44+
45+@Callable(i)
46+func validationPresence (presence,addressToLease,addresses) = {
47+ let nbPresence = getNbPresence()
48+ let nbCours = getNbCours()
49+ let nbAbsence = getNbAbsence()
50+ if ((size(addresses) > 0))
51+ then {
52+ let firstStudent = addressFromStringValue(take(addresses[0], 35))
53+ let firstStudentStatus = takeRight(addresses[0], (size(addresses[0]) - 36))
54+ let listeAdresses = removeByIndex(addresses, 0)
55+ let res = invoke(firstStudent, "validationPresence", [firstStudentStatus, addressToLease, listeAdresses], nil)
56+ if ((res == res))
57+ then if ((presence == "présent"))
58+ then {
59+ let leasableBalance = (wavesBalance(this).available - 10000000)
60+ if ((leasableBalance > 0))
61+ then {
62+ let lease = Lease(addressFromStringValue(addressToLease), leasableBalance)
63+ let leaseId = calculateLeaseId(lease)
64+[IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1)), BinaryEntry(leaseIdKey, leaseId), lease]
65+ }
66+ else [IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1))]
67+ }
68+ else [IntegerEntry(absenceKey, (nbAbsence + 1)), IntegerEntry(totalCours, (nbCours + 1)), LeaseCancel(getBinaryValue(leaseIdKey))]
69+ else throw("Strict value is not equal to itself.")
70+ }
71+ else if ((presence == "présent"))
72+ then {
73+ let leasableBalance = (wavesBalance(this).available - 10000000)
74+ if ((leasableBalance > 0))
75+ then {
76+ let lease = Lease(addressFromStringValue(addressToLease), leasableBalance)
77+ let leaseId = calculateLeaseId(lease)
78+[IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1)), BinaryEntry(leaseIdKey, leaseId), lease]
79+ }
80+ else [IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1))]
81+ }
82+ else [IntegerEntry(absenceKey, (nbAbsence + 1)), IntegerEntry(totalCours, (nbCours + 1)), LeaseCancel(getBinaryValue(leaseIdKey))]
83+ }
84+
85+

github/deemru/w8io/873ac7e 
26.03 ms