tx · 8WhTxB3VmD9ySCYVWnnA6BFoHKj9nLDszaE83pxFGjy5

3N8YkRZsgDVNAxtmwU1F65EpcYMb8f7QPos:  -0.01400000 Waves

2024.05.21 18:44 [3115959] smart account 3N8YkRZsgDVNAxtmwU1F65EpcYMb8f7QPos > SELF 0.00000000 Waves

{ "type": 13, "id": "8WhTxB3VmD9ySCYVWnnA6BFoHKj9nLDszaE83pxFGjy5", "fee": 1400000, "feeAssetId": null, "timestamp": 1716306284163, "version": 2, "chainId": 84, "sender": "3N8YkRZsgDVNAxtmwU1F65EpcYMb8f7QPos", "senderPublicKey": "F7SLwr7RYVQpyocmVScFC6ooaAwewaGq6wNRDYvyiPj1", "proofs": [ "5HsriVcoHnKbpddyFtzvePhko4XAdzRxsGrj8BmnavQ8LEFbCXnvLtr1n1Jvq77V5Vv8axVZD51tTDdJB5DuHZWo" ], "script": "base64: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Rm9yQ291bnRlcgAAAAAAAAAAAQQAAAAKYWRyZXNzTGlzdAkBAAAAFmZpbmRQcmVkaWN0aW9uQWRyZXNzZXMAAAACBQAAAAZpdGVtSWQFAAAAEHNlYXJjaEZvckNvdW50ZXIDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAKYWRyZXNzTGlzdAUAAAAMY2xpZW50QWRyZXNzCQAAAgAAAAECAAAAI1RoaXMgVXNlciBhbHJlYWR5IGdhdmUgYSBQcmVkaWN0aW9uBAAAABFwcmVkaWN0aW9uQ291bnRlcgQAAAAHJG1hdGNoMAkABB8AAAABCQABLAAAAAIFAAAABml0ZW1JZAIAAAASX3ByZWRpY3Rpb25Db3VudGVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXMFAAAAByRtYXRjaDAFAAAAAXMA//////////8EAAAAFGxhc3RQcmVkaWN0aW9uQWRyZXNzCQABkQAAAAIFAAAACmFkcmVzc0xpc3QJAABlAAAAAgkAAZAAAAABBQAAAAphZHJlc3NMaXN0AAAAAAAAAAABBAAAAA5sYXN0UHJlZGljdGlvbgQAAAAHJG1hdGNoMAkABCIAAAABCQABLAAAAAIJAAEsAAAAAgUAAAAGaXRlbUlkAgAAAAFfBQAAABRsYXN0UHJlZGljdGlvbkFkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAgAAABNubyBQcmVkaWN0aW9uIEZvdW5kBAAAAApuZXdDb3VudGVyCQAAZAAAAAIFAAAAEHNlYXJjaEZvckNvdW50ZXIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADmxhc3RQcmVkaWN0aW9uBQAAAApwcmVkaWN0aW9uAwkAAAAAAAACCQAAZAAAAAIFAAAAEXByZWRpY3Rpb25Db3VudGVyAAAAAAAAAAABBQAAABRwcmVkaWN0aW9uTWF4Q291bnRlcgQAAAASaW52b2tlQWRqdXN0UmF0aW5nCQAD/AAAAAQFAAAABHRoaXMCAAAAImFkanVzdFJhdGluZ3NBbmRQYXlvdXRQYXJ0aWNpcGFudHMJAARMAAAAAgUAAAAGaXRlbUlkCQAETAAAAAIFAAAACmFkcmVz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", "height": 3115959, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HKZz41Q5tH4ioa1LcvbUH6wDpnpZS1jqyFskhhbhL6eF Next: BxBhUpX6MWk8mG8PzJh79gzuHYgpVyYbrAuQbsAPZ3Xb Diff:
OldNewDifferences
66 let maxCounter = 6
77
88 let defaultRating = 100
9+
10+let rateAdjustment = 20
911
1012 func searchForCounters (itemId,counter) = {
1113 let searchForCounters = match getString(((itemId + "_") + toString(counter))) {
136138 }
137139 if ((searchForNewItem != itemId))
138140 then throw("Item not Found")
139- else [StringEntry(((itemId + "_") + toString(1)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), 1), IntegerEntry((itemId + "_predictionCounter"), 1), DeleteEntry(("new_" + itemId))]
141+ else [StringEntry(((itemId + "_") + toString(1)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), 1), IntegerEntry((itemId + "_predictionCounter"), 1), DeleteEntry(("new_" + itemId)), StringEntry(("updated_" + itemId), itemId)]
140142 }
141143 }
142144 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let predictionMaxCounter = 3
55
66 let maxCounter = 6
77
88 let defaultRating = 100
9+
10+let rateAdjustment = 20
911
1012 func searchForCounters (itemId,counter) = {
1113 let searchForCounters = match getString(((itemId + "_") + toString(counter))) {
1214 case s: String =>
1315 s
1416 case _ =>
1517 "No User"
1618 }
1719 searchForCounters
1820 }
1921
2022
2123 func searchForAdressPrediction (itemId,adress) = {
2224 let searchForPrediction = match getString(((itemId + "_") + adress)) {
2325 case s: String =>
2426 s
2527 case _ =>
2628 "Not Found"
2729 }
2830 searchForPrediction
2931 }
3032
3133
3234 func findPredictionAdresses (itemId,counter) = {
3335 let adressList = nil
3436 if ((counter >= 5))
3537 then {
3638 let adress1 = searchForCounters(itemId, 1)
3739 let adress2 = searchForCounters(itemId, 2)
3840 let adress3 = searchForCounters(itemId, 3)
3941 let adress4 = searchForCounters(itemId, 4)
4042 let adress5 = searchForCounters(itemId, 5)
4143 (((((adressList :+ adress1) :+ adress2) :+ adress3) :+ adress4) :+ adress5)
4244 }
4345 else if ((counter >= 4))
4446 then {
4547 let adress1 = searchForCounters(itemId, 1)
4648 let adress2 = searchForCounters(itemId, 2)
4749 let adress3 = searchForCounters(itemId, 3)
4850 let adress4 = searchForCounters(itemId, 4)
4951 ((((adressList :+ adress1) :+ adress2) :+ adress3) :+ adress4)
5052 }
5153 else if ((counter >= 3))
5254 then {
5355 let adress1 = searchForCounters(itemId, 1)
5456 let adress2 = searchForCounters(itemId, 2)
5557 let adress3 = searchForCounters(itemId, 3)
5658 (((adressList :+ adress1) :+ adress2) :+ adress3)
5759 }
5860 else if ((counter >= 2))
5961 then {
6062 let adress1 = searchForCounters(itemId, 1)
6163 let adress2 = searchForCounters(itemId, 2)
6264 ((adressList :+ adress1) :+ adress2)
6365 }
6466 else {
6567 let adress1 = searchForCounters(itemId, 1)
6668 (adressList :+ adress1)
6769 }
6870 }
6971
7072
7173 @Callable(i)
7274 func adjustRatingsAndPayoutParticipants (itemId,adressList,lastCallerAdress,finalPrediction) = [StringEntry("Test123123", "final")]
7375
7476
7577
7678 @Callable(i)
7779 func savePrediction (itemId,prediction) = {
7880 let clientAdress = toString(i.caller)
7981 let searchForUser = match getInteger(clientAdress) {
8082 case s: Int =>
8183 s
8284 case _ =>
8385 "no User exists"
8486 }
8587 if ((searchForUser == "no User exists"))
8688 then throw("User does not exist")
8789 else {
8890 let searchForCounter = match getInteger((itemId + "_counter")) {
8991 case s: Int =>
9092 s
9193 case _ =>
9294 -1
9395 }
9496 if ((searchForCounter >= 1))
9597 then {
9698 let adressList = findPredictionAdresses(itemId, searchForCounter)
9799 if (containsElement(adressList, clientAdress))
98100 then throw("This User already gave a Prediction")
99101 else {
100102 let predictionCounter = match getInteger((itemId + "_predictionCounter")) {
101103 case s: Int =>
102104 s
103105 case _ =>
104106 -1
105107 }
106108 let lastPredictionAdress = adressList[(size(adressList) - 1)]
107109 let lastPrediction = match getString(((itemId + "_") + lastPredictionAdress)) {
108110 case s: String =>
109111 s
110112 case _ =>
111113 "no Prediction Found"
112114 }
113115 let newCounter = (searchForCounter + 1)
114116 if ((lastPrediction == prediction))
115117 then if (((predictionCounter + 1) == predictionMaxCounter))
116118 then {
117119 let invokeAdjustRating = invoke(this, "adjustRatingsAndPayoutParticipants", [itemId, adressList, clientAdress, prediction], nil)
118120 if ((invokeAdjustRating != invokeAdjustRating))
119121 then throw("Strict value is not equal to itself.")
120122 else [StringEntry(((itemId + "_") + toString(newCounter)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), newCounter), IntegerEntry((itemId + "_predictionCounter"), (predictionCounter + 1)), BooleanEntry((itemId + "_final"), true), BooleanEntry((itemId + "_cancelled"), false)]
121123 }
122124 else [StringEntry(((itemId + "_") + toString(newCounter)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), newCounter), IntegerEntry((itemId + "_predictionCounter"), (predictionCounter + 1)), BooleanEntry((itemId + "_final"), false), BooleanEntry((itemId + "_cancelled"), false)]
123125 else if ((newCounter >= maxCounter))
124126 then [StringEntry(((itemId + "_") + toString(newCounter)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), newCounter), IntegerEntry((itemId + "_predictionCounter"), (predictionCounter - 1)), BooleanEntry((itemId + "_cancelled"), true), BooleanEntry((itemId + "_final"), false)]
125127 else if (((predictionCounter - 1) == -1))
126128 then [StringEntry(((itemId + "_") + toString(newCounter)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), newCounter), IntegerEntry((itemId + "_predictionCounter"), 1), BooleanEntry((itemId + "_cancelled"), false), BooleanEntry((itemId + "_final"), false), StringEntry("test", lastPrediction), IntegerEntry("test2", size(adressList))]
127129 else [StringEntry(((itemId + "_") + toString(newCounter)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), newCounter), IntegerEntry((itemId + "_predictionCounter"), (predictionCounter - 1)), BooleanEntry((itemId + "_cancelled"), false), BooleanEntry((itemId + "_final"), false), StringEntry("test", lastPrediction), IntegerEntry("test2", size(adressList))]
128130 }
129131 }
130132 else {
131133 let searchForNewItem = match getString(("new_" + itemId)) {
132134 case s: String =>
133135 s
134136 case _ =>
135137 "not Found"
136138 }
137139 if ((searchForNewItem != itemId))
138140 then throw("Item not Found")
139- else [StringEntry(((itemId + "_") + toString(1)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), 1), IntegerEntry((itemId + "_predictionCounter"), 1), DeleteEntry(("new_" + itemId))]
141+ else [StringEntry(((itemId + "_") + toString(1)), clientAdress), StringEntry(((itemId + "_") + clientAdress), prediction), IntegerEntry((itemId + "_counter"), 1), IntegerEntry((itemId + "_predictionCounter"), 1), DeleteEntry(("new_" + itemId)), StringEntry(("updated_" + itemId), itemId)]
140142 }
141143 }
142144 }
143145
144146
145147
146148 @Callable(i)
147149 func registerUser () = {
148150 let clientAdress = toString(i.caller)
149151 let searchForUser = match getInteger(clientAdress) {
150152 case s: Int =>
151153 s
152154 case _ =>
153155 -1
154156 }
155157 if ((searchForUser != -1))
156158 then throw("User already exists")
157159 else [IntegerEntry(clientAdress, defaultRating), IntegerEntry("Test123", searchForUser)]
158160 }
159161
160162
161163 @Verifier(tx)
162164 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
163165

github/deemru/w8io/026f985 
45.73 ms