tx · FhsJ9AhqRBzqV1M5BSgTV8uUqDLYVzq8fDaMaA7nRKv4

3MtKnDmJju2Y4dp9A2ACPr11jDZiW6gmKKK:  -0.05000000 Waves

2022.01.16 19:22 [1881742] smart account 3MtKnDmJju2Y4dp9A2ACPr11jDZiW6gmKKK > SELF 0.00000000 Waves

{ "type": 13, "id": "FhsJ9AhqRBzqV1M5BSgTV8uUqDLYVzq8fDaMaA7nRKv4", "fee": 5000000, "feeAssetId": null, "timestamp": 1642350229121, "version": 2, "chainId": 84, "sender": "3MtKnDmJju2Y4dp9A2ACPr11jDZiW6gmKKK", "senderPublicKey": "3itc77jAZTQAcaPCyYEe4KD7h18CvqZZ2JRynZHsuJ61", "proofs": [ "3LHsnU8bY9zYjWpfR9kdndayBkdsLQtyiafVx6SZZJPLMmw2DEwZEAm8w5tXAugX5KDdSJpZZX4kbdQ8ArVohrFM" ], "script": "base64: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AQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKAAAAAAAAAAALAAAAAAAAAAAMAAAAAAAAAAANAAAAAAAAAAAOAAAAAAAAAAAPAAAAAAAAAAAQAAAAAAAAAAARAAAAAAAAAAASAAAAAAAAAAATAAAAAAAAAAAUAAAAAAAAAAAVAAAAAAAAAAAWAAAAAAAAAAAXAAAAAAAAAAAYAAAAAAAAAAAZAAAAAAAAAAAaAAAAAAAAAAAbAAAAAAAAAAAcAAAAAAAAAAAdAAAAAAAAAAAeAAAAAAAAAAAfAAAAAAAAAAAgAAAAAAAAAAAh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", "height": 1881742, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HxDsmW9h53FLCzvfwhJ7NBkrD82rFAwAMdAUPHzyjMSS Next: gxWzKTyYXqGujZb3SfDCjJfMytZNBe7oLm9DJGtSuTk Diff:
OldNewDifferences
114114 case t: Int =>
115115 helperList[t]
116116 case _ =>
117- throw("Type does not match!")
117+ throw("Type does not match! Function: findHighestVote")
118118 }
119119 }
120+
121+
122+func createBoard (board) = makeString(board, ",")
120123
121124
122125 func alterBoard (field,gameId,team) = {
126129 then "B"
127130 else "Y"
128131 func foldBoard (accum,nextValue) = {
129- let $t043994422 = accum
130- let result = $t043994422._1
131- let j = $t043994422._2
132+ let $t044944517 = accum
133+ let result = $t044944517._1
134+ let j = $t044944517._2
132135 if ((j == field))
133136 then $Tuple2((result :+ teamTag), (j + 1))
134137 else $Tuple2((result :+ nextValue), (j + 1))
148151
149152 $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($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), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42)
150153 }
151- match newBoardList {
152- case t: (List[String], Int) =>
153- makeString(t._1, ",")
154- case _ =>
155- throw("Type does not match!")
156- }
154+ createBoard(newBoardList._1)
157155 }
158156
159157
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminAddress = valueOrElse(getString(this, "admin"), "")
55
66 let totalSupply = valueOrElse(getInteger(this, "totalSupply"), 0)
77
88 let votingDuration = valueOrErrorMessage(getInteger(this, "votingDuration"), "No key votingDuration was found")
99
1010 let ctokenId = valueOrErrorMessage(getString(this, "tokenId"), "No key dTokenId was found")
1111
1212 func isAdmin (callerAddress) = if ((callerAddress == fromBase58String(adminAddress)))
1313 then true
1414 else false
1515
1616
1717 func writeInteger (key,integerValue) = IntegerEntry(key, integerValue)
1818
1919
2020 func writeString (key,stringValue) = StringEntry(key, stringValue)
2121
2222
2323 func countFrequency (helperList,votingList) = {
2424 func foldFrequency (accum,next) = {
2525 func countItems (acc,item) = if ((next == item))
2626 then (acc + 1)
2727 else acc
2828
2929 (accum :+ {
3030 let $l = votingList
3131 let $s = size($l)
3232 let $acc0 = 0
3333 func $f0_1 ($a,$i) = if (($i >= $s))
3434 then $a
3535 else countItems($a, $l[$i])
3636
3737 func $f0_2 ($a,$i) = if (($i >= $s))
3838 then $a
3939 else throw("List size exceeds 5")
4040
4141 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
4242 })
4343 }
4444
4545 let $l = helperList
4646 let $s = size($l)
4747 let $acc0 = nil
4848 func $f0_1 ($a,$i) = if (($i >= $s))
4949 then $a
5050 else foldFrequency($a, $l[$i])
5151
5252 func $f0_2 ($a,$i) = if (($i >= $s))
5353 then $a
5454 else throw("List size exceeds 5")
5555
5656 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
5757 }
5858
5959
6060 func initVotingHelperList (voteArray) = {
6161 func foldHelperList (accum,next) = if ((containsElement(accum, next) == false))
6262 then (accum :+ next)
6363 else accum
6464
6565 let $l = voteArray
6666 let $s = size($l)
6767 let $acc0 = nil
6868 func $f0_1 ($a,$i) = if (($i >= $s))
6969 then $a
7070 else foldHelperList($a, $l[$i])
7171
7272 func $f0_2 ($a,$i) = if (($i >= $s))
7373 then $a
7474 else throw("List size exceeds 5")
7575
7676 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
7777 }
7878
7979
8080 func isGreaterThen (potential,itemList) = {
8181 let listLength = (size(itemList) - 1)
8282 let currentGreatest = itemList[listLength]
8383 if ((potential > currentGreatest))
8484 then true
8585 else false
8686 }
8787
8888
8989 func findHighestVote (helperList,frequencies) = {
9090 func foldFrequencies (highestItemList,nextItem) = if ((size(highestItemList) == 0))
9191 then (highestItemList :+ nextItem)
9292 else if (isGreaterThen(nextItem, highestItemList))
9393 then (highestItemList :+ nextItem)
9494 else highestItemList
9595
9696 let highestVotes = {
9797 let $l = frequencies
9898 let $s = size($l)
9999 let $acc0 = nil
100100 func $f0_1 ($a,$i) = if (($i >= $s))
101101 then $a
102102 else foldFrequencies($a, $l[$i])
103103
104104 func $f0_2 ($a,$i) = if (($i >= $s))
105105 then $a
106106 else throw("List size exceeds 5")
107107
108108 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
109109 }
110110 let lastIdx = (size(highestVotes) - 1)
111111 let highestVote = highestVotes[lastIdx]
112112 let helperIdx = indexOf(frequencies, highestVote)
113113 match helperIdx {
114114 case t: Int =>
115115 helperList[t]
116116 case _ =>
117- throw("Type does not match!")
117+ throw("Type does not match! Function: findHighestVote")
118118 }
119119 }
120+
121+
122+func createBoard (board) = makeString(board, ",")
120123
121124
122125 func alterBoard (field,gameId,team) = {
123126 let currentBoard = getStringValue((gameId + "_board"))
124127 let boardList = split(currentBoard, ",")
125128 let teamTag = if ((team == "teamBlue"))
126129 then "B"
127130 else "Y"
128131 func foldBoard (accum,nextValue) = {
129- let $t043994422 = accum
130- let result = $t043994422._1
131- let j = $t043994422._2
132+ let $t044944517 = accum
133+ let result = $t044944517._1
134+ let j = $t044944517._2
132135 if ((j == field))
133136 then $Tuple2((result :+ teamTag), (j + 1))
134137 else $Tuple2((result :+ nextValue), (j + 1))
135138 }
136139
137140 let newBoardList = {
138141 let $l = boardList
139142 let $s = size($l)
140143 let $acc0 = $Tuple2(nil, 0)
141144 func $f0_1 ($a,$i) = if (($i >= $s))
142145 then $a
143146 else foldBoard($a, $l[$i])
144147
145148 func $f0_2 ($a,$i) = if (($i >= $s))
146149 then $a
147150 else throw("List size exceeds 42")
148151
149152 $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($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), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42)
150153 }
151- match newBoardList {
152- case t: (List[String], Int) =>
153- makeString(t._1, ",")
154- case _ =>
155- throw("Type does not match!")
156- }
154+ createBoard(newBoardList._1)
157155 }
158156
159157
160158 func updateVotingResults (gameId,round,activeTeam,currentVotingEntryList) = {
161159 func foldVotings (accum,nextValue) = (accum :+ split(nextValue, "_")[1])
162160
163161 let votes = {
164162 let $l = currentVotingEntryList
165163 let $s = size($l)
166164 let $acc0 = nil
167165 func $f0_1 ($a,$i) = if (($i >= $s))
168166 then $a
169167 else foldVotings($a, $l[$i])
170168
171169 func $f0_2 ($a,$i) = if (($i >= $s))
172170 then $a
173171 else throw("List size exceeds 5")
174172
175173 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
176174 }
177175 let helperList = initVotingHelperList(votes)
178176 let frequencies = countFrequency(helperList, votes)
179177 let votedField = findHighestVote(helperList, frequencies)
180178 alterBoard(parseIntValue(votedField), gameId, activeTeam)
181179 }
182180
183181
184182 @Callable(i)
185183 func setup (adminAddress,tokenName,tokenDescription) = if (!(isDefined(getString(this, "admin"))))
186184 then {
187185 let asset = Issue(tokenName, tokenDescription, 0, 8, true)
188186 let tokenId = calculateAssetId(asset)
189187 [asset, writeString("admin", adminAddress), writeInteger("votingDuration", 2), writeInteger("totalSupply", 0), writeString("tokenName", tokenName), writeString("tokenId", toBase58String(tokenId)), writeInteger("tokenDecimals", 8)]
190188 }
191189 else throw("Pool already setup!")
192190
193191
194192
195193 @Callable(i)
196194 func buyRound () = if ((size(i.payments) > 0))
197195 then {
198196 let amount = i.payments[0].amount
199197 if ((amount >= 1))
200198 then {
201199 let cTokenAmount = fraction(amount, 42, 1)
202200 let currentTotalSupply = (totalSupply + cTokenAmount)
203201 [writeInteger("totalSupply", currentTotalSupply), Reissue(fromBase58String(ctokenId), cTokenAmount, true), ScriptTransfer(i.caller, cTokenAmount, fromBase58String(ctokenId))]
204202 }
205203 else throw("Payment is to small!")
206204 }
207205 else throw("No payment attached!")
208206
209207
210208
211209 @Callable(i)
212210 func createGame () = {
213211 let board = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
214212 let gameId = toBase58String(i.transactionId)
215213 [writeString((gameId + "_board"), board), writeString((gameId + "_status"), "waiting for players"), writeString((gameId + "_teamBlue"), toString(i.caller)), writeString((gameId + "_teamYellow"), "")]
216214 }
217215
218216
219217
220218 @Callable(i)
221219 func joinGame (gameId) = {
222220 let teamBlue = getStringValue((gameId + "_teamBlue"))
223221 let teamYellow = getStringValue((gameId + "_teamYellow"))
224222 let teamBlueList = split(teamBlue, ",")
225223 let teamYellowList = split(teamYellow, ",")
226224 if ((5 > size(teamBlueList)))
227225 then [writeString((gameId + "_teamBlue"), ((teamBlue + ",") + toBase58String(i.caller.bytes)))]
228226 else if ((size(teamYellowList) == 4))
229227 then [writeString((gameId + "_status"), "round_1,turn_teamBlue"), writeString((gameId + "_voting_1"), ""), writeInteger((gameId + "_storedHeight"), (height + votingDuration)), writeString((gameId + "_teamYellow"), ((teamYellow + ",") + toBase58String(i.caller.bytes)))]
230228 else if ((size(teamYellowList) == 0))
231229 then [writeString((gameId + "_teamYellow"), toBase58String(i.caller.bytes))]
232230 else if ((4 > size(teamYellowList)))
233231 then [writeString((gameId + "_teamYellow"), ((teamYellow + ",") + toBase58String(i.caller.bytes)))]
234232 else throw("Teams are full, cannot join.")
235233 }
236234
237235
238236
239237 @Callable(i)
240238 func vote (gameId,voting) = {
241239 let status = valueOrErrorMessage(getStringValue((gameId + "_status")), "No status entry found under gameId!")
242240 let round = parseIntValue(drop(split(status, ",")[0], 6))
243241 let activeTeam = drop(split(status, ",")[1], 5)
244242 let storedHeight = valueOrErrorMessage(getInteger((gameId + "_storedHeight")), (("No status entry found under " + gameId) + "_storedHeight!"))
245243 let votingEntry = valueOrErrorMessage(getStringValue(((gameId + "_voting_") + toString(round))), "No votes found for this game id!")
246244 let votingEntryList = if ((size(votingEntry) > 0))
247245 then split(votingEntry, ",")
248246 else nil
249247 let members = if ((activeTeam == "teamBlue"))
250248 then {
251249 let teamB = getStringValue((gameId + "_teamBlue"))
252250 let teamBList = split(teamB, ",")
253251 teamBList
254252 }
255253 else {
256254 let teamY = getStringValue((gameId + "_teamYellow"))
257255 let teamYList = split(teamY, ",")
258256 teamYList
259257 }
260258 let unactiveTeam = if ((activeTeam == "teamBlue"))
261259 then "teamYellow"
262260 else "teamBlue"
263261 let membersUnactive = if ((unactiveTeam == "teamBlue"))
264262 then {
265263 let teamB = getStringValue((gameId + "_teamBlue"))
266264 let teamBList = split(teamB, ",")
267265 teamBList
268266 }
269267 else {
270268 let teamY = getStringValue((gameId + "_teamYellow"))
271269 let teamYList = split(teamY, ",")
272270 teamYList
273271 }
274272 let callerAddress = toBase58String(i.caller.bytes)
275273 if ((storedHeight >= height))
276274 then if (containsElement(members, callerAddress))
277275 then {
278276 func foldVoters (accum,nextValue) = (accum :+ split(nextValue, "_")[0])
279277
280278 let voters = {
281279 let $l = votingEntryList
282280 let $s = size($l)
283281 let $acc0 = nil
284282 func $f0_1 ($a,$i) = if (($i >= $s))
285283 then $a
286284 else foldVoters($a, $l[$i])
287285
288286 func $f0_2 ($a,$i) = if (($i >= $s))
289287 then $a
290288 else throw("List size exceeds 5")
291289
292290 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
293291 }
294292 if ((containsElement(voters, callerAddress) == false))
295293 then {
296294 let newVote = ((callerAddress + "_") + toString(voting))
297295 let currentVotingEntryList = (votingEntryList :+ newVote)
298296 let currentVotingEntry = makeString(currentVotingEntryList, ",")
299297 let alteredBoard = updateVotingResults(gameId, round, activeTeam, currentVotingEntryList)
300298 if ((5 > size(currentVotingEntryList)))
301299 then [writeString(((gameId + "_voting_") + toString(round)), currentVotingEntry)]
302300 else [writeString(((gameId + "_voting_") + toString(round)), currentVotingEntry), writeString((gameId + "_board"), alteredBoard), writeInteger((gameId + "_storedHeight"), (height + votingDuration)), writeString((gameId + "_status"), ((("round_" + toString((round + 1))) + ",turn_") + unactiveTeam)), writeString(((gameId + "_voting_") + toString((round + 1))), "")]
303301 }
304302 else throw("Caller already voted!")
305303 }
306304 else throw((("Caller is not in " + activeTeam) + "!"))
307305 else if (containsElement(membersUnactive, callerAddress))
308306 then if ((size(votingEntryList) > 0))
309307 then {
310308 let alteredBoard = updateVotingResults(gameId, round, activeTeam, votingEntryList)
311309 let newVote = ((callerAddress + "_") + toString(voting))
312310 [writeString((gameId + "_board"), alteredBoard), writeInteger((gameId + "_storedHeight"), (height + votingDuration)), writeString((gameId + "_status"), ((("round_" + toString((round + 1))) + ",turn_") + unactiveTeam)), writeString(((gameId + "_voting_") + toString((round + 1))), newVote)]
313311 }
314312 else {
315313 let newVote = ((callerAddress + "_") + toString(voting))
316314 [writeInteger((gameId + "_storedHeight"), (height + votingDuration)), writeString((gameId + "_status"), ((("round_" + toString((round + 1))) + ",turn_") + unactiveTeam)), writeString(((gameId + "_voting_") + toString((round + 1))), newVote)]
317315 }
318316 else throw((("Caller is not in " + unactiveTeam) + "!"))
319317 }
320318
321319
322320
323321 @Callable(i)
324322 func updateStringEntry (key,stringValue) = if (isAdmin(i.caller.bytes))
325323 then [writeString(key, stringValue)]
326324 else throw("Address does not match with admin address!")
327325
328326
329327
330328 @Callable(i)
331329 func updateIntegerEntry (key,integerValue) = if (isAdmin(i.caller.bytes))
332330 then [writeInteger(key, integerValue)]
333331 else throw("Address does not match with admin address!")
334332
335333
336334
337335 @Callable(i)
338336 func deleteStorageEntry (key) = if (isAdmin(i.caller.bytes))
339337 then [DeleteEntry(key)]
340338 else throw("Address does not match with admin address!")
341339
342340
343341 @Verifier(tx)
344342 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
345343

github/deemru/w8io/c3f4982 
73.88 ms