tx · CKAKLktuFWWu8wELKE6YfGmKerGMumqE7QFovxXrxzoW

3MpbzbPN79YRphgGdAoVaTtTzJj5B23NhrT:  -0.01000000 Waves

2022.01.27 17:26 [1897470] smart account 3MpbzbPN79YRphgGdAoVaTtTzJj5B23NhrT > SELF 0.00000000 Waves

{ "type": 13, "id": "CKAKLktuFWWu8wELKE6YfGmKerGMumqE7QFovxXrxzoW", "fee": 1000000, "feeAssetId": null, "timestamp": 1643293641654, "version": 2, "chainId": 84, "sender": "3MpbzbPN79YRphgGdAoVaTtTzJj5B23NhrT", "senderPublicKey": "CVoRprJ4DcikA23xvs4wu3PyjihyNYi7rATC7EAwwCr9", "proofs": [ "qXpPuUjWv4KFvPSanANDEzypogFvK7STDsRabGN3P5ci1TkUh5mDPJwVgHFevjpXCLXQuj9CSgrqDSC97XKjF3m" ], "script": "base64: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", "height": 1897470, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: DWb92uqx5Fe4i91TCAQv3T9wu8FkFhKGvaGHCKU17zBJ Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let adminAddress = valueOrElse(getString(this, "admin"), "")
5+
6+let mainAddress = valueOrErrorMessage(getString(this, "main"), "Address of main dApp is not defined!")
7+
8+func isAdmin (callerAddress) = if ((callerAddress == fromBase58String(adminAddress)))
9+ then true
10+ else false
11+
12+
13+func isMain (callerAddress) = if ((callerAddress == fromBase58String(mainAddress)))
14+ then true
15+ else false
16+
17+
18+func writeInteger (key,integerValue) = IntegerEntry(key, integerValue)
19+
20+
21+func writeString (key,stringValue) = StringEntry(key, stringValue)
22+
23+
24+func createBoard (board) = makeString(board, ",")
25+
26+
27+func countFrequency (helperList,votingList) = {
28+ func foldFrequency (accum,next) = {
29+ func countItems (acc,item) = if ((next == item))
30+ then (acc + 1)
31+ else acc
32+
33+ (accum :+ {
34+ let $l = votingList
35+ let $s = size($l)
36+ let $acc0 = 0
37+ func $f0_1 ($a,$i) = if (($i >= $s))
38+ then $a
39+ else countItems($a, $l[$i])
40+
41+ func $f0_2 ($a,$i) = if (($i >= $s))
42+ then $a
43+ else throw("List size exceeds 5")
44+
45+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
46+ })
47+ }
48+
49+ let $l = helperList
50+ let $s = size($l)
51+ let $acc0 = nil
52+ func $f0_1 ($a,$i) = if (($i >= $s))
53+ then $a
54+ else foldFrequency($a, $l[$i])
55+
56+ func $f0_2 ($a,$i) = if (($i >= $s))
57+ then $a
58+ else throw("List size exceeds 5")
59+
60+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
61+ }
62+
63+
64+func isGreaterThen (potential,itemList) = {
65+ let listLength = (size(itemList) - 1)
66+ let currentGreatest = itemList[listLength]
67+ if ((potential > currentGreatest))
68+ then true
69+ else false
70+ }
71+
72+
73+func initVotingHelperList (voteArray) = {
74+ func foldHelperList (accum,next) = if ((containsElement(accum, next) == false))
75+ then (accum :+ next)
76+ else accum
77+
78+ let $l = voteArray
79+ let $s = size($l)
80+ let $acc0 = nil
81+ func $f0_1 ($a,$i) = if (($i >= $s))
82+ then $a
83+ else foldHelperList($a, $l[$i])
84+
85+ func $f0_2 ($a,$i) = if (($i >= $s))
86+ then $a
87+ else throw("List size exceeds 5")
88+
89+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
90+ }
91+
92+
93+func findHighestVote (helperList,frequencies) = {
94+ func foldFrequencies (highestItemList,nextItem) = if ((size(highestItemList) == 0))
95+ then (highestItemList :+ nextItem)
96+ else if (isGreaterThen(nextItem, highestItemList))
97+ then (highestItemList :+ nextItem)
98+ else highestItemList
99+
100+ let highestVotes = {
101+ let $l = frequencies
102+ let $s = size($l)
103+ let $acc0 = nil
104+ func $f0_1 ($a,$i) = if (($i >= $s))
105+ then $a
106+ else foldFrequencies($a, $l[$i])
107+
108+ func $f0_2 ($a,$i) = if (($i >= $s))
109+ then $a
110+ else throw("List size exceeds 5")
111+
112+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
113+ }
114+ let lastIdx = (size(highestVotes) - 1)
115+ let highestVote = highestVotes[lastIdx]
116+ let helperIdx = indexOf(frequencies, highestVote)
117+ match helperIdx {
118+ case t: Int =>
119+helperList[t]
120+ case _ =>
121+ throw("Type does not match! Function: findHighestVote")
122+ }
123+ }
124+
125+
126+@Callable(i)
127+func alterBoard (newField,oldValue,gameId,team) = if (isMain(i.caller.bytes))
128+ then {
129+ let currentBoard = getStringValue((gameId + "_board"))
130+ let boardList = split(currentBoard, ",")
131+ let teamTag = if ((team == "teamBlue"))
132+ then "B"
133+ else "Y"
134+ func foldOldEntry (accum,nextValue) = {
135+ let $t046024625 = accum
136+ let result = $t046024625._1
137+ let j = $t046024625._2
138+ if ((j == oldValue))
139+ then $Tuple2((result :+ "0"), (j + 1))
140+ else $Tuple2((result :+ nextValue), (j + 1))
141+ }
142+
143+ func foldBoard (accum,nextValue) = {
144+ let $t048504873 = accum
145+ let result = $t048504873._1
146+ let j = $t048504873._2
147+ if ((j == newField))
148+ then $Tuple2((result :+ teamTag), (j + 1))
149+ else $Tuple2((result :+ nextValue), (j + 1))
150+ }
151+
152+ let cleanedBoard = {
153+ let $l = boardList
154+ let $s = size($l)
155+ let $acc0 = $Tuple2(nil, 0)
156+ func $f0_1 ($a,$i) = if (($i >= $s))
157+ then $a
158+ else foldOldEntry($a, $l[$i])
159+
160+ func $f0_2 ($a,$i) = if (($i >= $s))
161+ then $a
162+ else throw("List size exceeds 42")
163+
164+ $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)
165+ }
166+ let newBoardList = {
167+ let $l = cleanedBoard._1
168+ let $s = size($l)
169+ let $acc0 = $Tuple2(nil, 0)
170+ func $f1_1 ($a,$i) = if (($i >= $s))
171+ then $a
172+ else foldBoard($a, $l[$i])
173+
174+ func $f1_2 ($a,$i) = if (($i >= $s))
175+ then $a
176+ else throw("List size exceeds 42")
177+
178+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_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)
179+ }
180+ let newBoard = createBoard(newBoardList._1)
181+ $Tuple2(nil, newBoard)
182+ }
183+ else throw("Caller is not main dApp!")
184+
185+
186+
187+@Callable(i)
188+func updateVotingResults (currentVotingEntryList) = if (isMain(i.caller.bytes))
189+ then {
190+ func foldVotings (accum,nextValue) = (accum :+ split(nextValue, "_")[1])
191+
192+ let votes = {
193+ let $l = currentVotingEntryList
194+ let $s = size($l)
195+ let $acc0 = nil
196+ func $f0_1 ($a,$i) = if (($i >= $s))
197+ then $a
198+ else foldVotings($a, $l[$i])
199+
200+ func $f0_2 ($a,$i) = if (($i >= $s))
201+ then $a
202+ else throw("List size exceeds 5")
203+
204+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
205+ }
206+ let helperList = initVotingHelperList(votes)
207+ let frequencies = countFrequency(helperList, votes)
208+ let highestVote = findHighestVote(helperList, frequencies)
209+ $Tuple2(nil, highestVote)
210+ }
211+ else throw("Caller is not main dApp!")
212+
213+
214+
215+@Callable(i)
216+func setup (mainAddress) = if (!(isDefined(getString(this, "admin"))))
217+ then [writeString("admin", toBase58String(i.caller.bytes)), writeString("main", mainAddress)]
218+ else throw("DApp already setup!")
219+
220+
221+
222+@Callable(i)
223+func updateStringEntry (key,stringValue) = if (isAdmin(i.caller.bytes))
224+ then [writeString(key, stringValue)]
225+ else throw("Address does not match with admin address!")
226+
227+
228+
229+@Callable(i)
230+func updateIntegerEntry (key,integerValue) = if (isAdmin(i.caller.bytes))
231+ then [writeInteger(key, integerValue)]
232+ else throw("Address does not match with admin address!")
233+
234+
235+
236+@Callable(i)
237+func deleteStorageEntry (key) = if (isAdmin(i.caller.bytes))
238+ then [DeleteEntry(key)]
239+ else throw("Address does not match with admin address!")
240+
241+
242+@Verifier(tx)
243+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
244+

github/deemru/w8io/169f3d6 
25.70 ms