tx · EaHXKwqWYQHwkUsiEWD6jfhSaSFy3K2hNTBdjo8w62jb

3NBK2yEvvn5RyuLiDoSegDnLmrCMdMBGj9c:  -0.01000000 Waves

2022.02.04 18:20 [1909050] smart account 3NBK2yEvvn5RyuLiDoSegDnLmrCMdMBGj9c > SELF 0.00000000 Waves

{ "type": 13, "id": "EaHXKwqWYQHwkUsiEWD6jfhSaSFy3K2hNTBdjo8w62jb", "fee": 1000000, "feeAssetId": null, "timestamp": 1643988069759, "version": 2, "chainId": 84, "sender": "3NBK2yEvvn5RyuLiDoSegDnLmrCMdMBGj9c", "senderPublicKey": "7fPB14dGNvjt8jBx85uKcAqsQSgVy8FRG221QxTD4ySa", "proofs": [ "QCaMZKpuj6QdGsPM7XxRyLGMnoXBEqcUYK7QYb7gzxJb5kLthh87ZndnPCrbFJV5FwhYS3GqnMnZuGhnGAe9tgQ" ], "script": "base64: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", "height": 1909050, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DHsiz3MGvyoSfrvGistQ79n1ntRMaHBWz4eT6chE1fGj Next: none Diff:
OldNewDifferences
6161 then {
6262 let lease = Lease(addressFromStringValue(addressToLease), leasableBalance)
6363 let leaseId = calculateLeaseId(lease)
64-[IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1)), BinaryEntry(leaseIdKey, leaseId), lease]
64+ $Tuple2([IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1)), BinaryEntry(leaseIdKey, leaseId), lease], 0)
6565 }
66- else [IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1))]
66+ else $Tuple2([IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1))], 0)
6767 }
68- else [IntegerEntry(absenceKey, (nbAbsence + 1)), IntegerEntry(totalCours, (nbCours + 1)), LeaseCancel(getBinaryValue(leaseIdKey))]
68+ else $Tuple2([IntegerEntry(absenceKey, (nbAbsence + 1)), IntegerEntry(totalCours, (nbCours + 1)), LeaseCancel(getBinaryValue(leaseIdKey))], 0)
6969 else throw("Strict value is not equal to itself.")
7070 }
7171 else if ((presence == "présent"))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let presenceKey = "presences"
55
66 let absenceKey = "absences"
77
88 let totalCours = "totalCours"
99
1010 let leaseIdKey = "leaseId"
1111
1212 func getNbPresence () = {
1313 let nbPresence = getInteger(presenceKey)
1414 match nbPresence {
1515 case t: Int =>
1616 t
1717 case _ =>
1818 0
1919 }
2020 }
2121
2222
2323 func getNbCours () = {
2424 let nbCours = getInteger(totalCours)
2525 match nbCours {
2626 case t: Int =>
2727 t
2828 case _ =>
2929 0
3030 }
3131 }
3232
3333
3434 func getNbAbsence () = {
3535 let nbAbsence = getInteger(absenceKey)
3636 match nbAbsence {
3737 case t: Int =>
3838 t
3939 case _ =>
4040 0
4141 }
4242 }
4343
4444
4545 @Callable(i)
4646 func validationPresence (presence,addressToLease,addresses) = {
4747 let nbPresence = getNbPresence()
4848 let nbCours = getNbCours()
4949 let nbAbsence = getNbAbsence()
5050 if ((size(addresses) > 0))
5151 then {
5252 let firstStudent = addressFromStringValue(take(addresses[0], 35))
5353 let firstStudentStatus = takeRight(addresses[0], (size(addresses[0]) - 36))
5454 let listeAdresses = removeByIndex(addresses, 0)
5555 let res = invoke(firstStudent, "validationPresence", [firstStudentStatus, addressToLease, listeAdresses], nil)
5656 if ((res == res))
5757 then if ((presence == "présent"))
5858 then {
5959 let leasableBalance = (wavesBalance(this).available - 10000000)
6060 if ((leasableBalance > 0))
6161 then {
6262 let lease = Lease(addressFromStringValue(addressToLease), leasableBalance)
6363 let leaseId = calculateLeaseId(lease)
64-[IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1)), BinaryEntry(leaseIdKey, leaseId), lease]
64+ $Tuple2([IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1)), BinaryEntry(leaseIdKey, leaseId), lease], 0)
6565 }
66- else [IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1))]
66+ else $Tuple2([IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1))], 0)
6767 }
68- else [IntegerEntry(absenceKey, (nbAbsence + 1)), IntegerEntry(totalCours, (nbCours + 1)), LeaseCancel(getBinaryValue(leaseIdKey))]
68+ else $Tuple2([IntegerEntry(absenceKey, (nbAbsence + 1)), IntegerEntry(totalCours, (nbCours + 1)), LeaseCancel(getBinaryValue(leaseIdKey))], 0)
6969 else throw("Strict value is not equal to itself.")
7070 }
7171 else if ((presence == "présent"))
7272 then {
7373 let leasableBalance = (wavesBalance(this).available - 10000000)
7474 if ((leasableBalance > 0))
7575 then {
7676 let lease = Lease(addressFromStringValue(addressToLease), leasableBalance)
7777 let leaseId = calculateLeaseId(lease)
7878 [IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1)), BinaryEntry(leaseIdKey, leaseId), lease]
7979 }
8080 else [IntegerEntry(presenceKey, (nbPresence + 1)), IntegerEntry(totalCours, (nbCours + 1))]
8181 }
8282 else [IntegerEntry(absenceKey, (nbAbsence + 1)), IntegerEntry(totalCours, (nbCours + 1)), LeaseCancel(getBinaryValue(leaseIdKey))]
8383 }
8484
8585

github/deemru/w8io/873ac7e 
50.05 ms