tx · 5s75Y2TaB94ZapBjRuJVUsmb1oTyi1SzktzDsS4v6zMd

3N5mwuqT6dXpbqwT5VKDXzGJJ6c14rKqxS7:  -0.01400000 Waves

2019.09.25 08:56 [691468] smart account 3N5mwuqT6dXpbqwT5VKDXzGJJ6c14rKqxS7 > SELF 0.00000000 Waves

{ "type": 13, "id": "5s75Y2TaB94ZapBjRuJVUsmb1oTyi1SzktzDsS4v6zMd", "fee": 1400000, "feeAssetId": null, "timestamp": 1569391021710, "version": 1, "sender": "3N5mwuqT6dXpbqwT5VKDXzGJJ6c14rKqxS7", "senderPublicKey": "Gxi9GKByT2CYHqPr6ZTohMDmHRGAgE8uBM6R4QXfvtxK", "proofs": [ "42hPG4ixRdFF8hNpLBd2KziAMjqDu53nguTWUjq3LavHX2oJRe7GJ5fwEow5F2gibmb7pnYe4MaeZysRmn8PudZW" ], "script": "base64:AAIDAAAAAAAAAAAAAAAPAAAAAAdSVU5OSU5HAgAAAAdSVU5OSU5HAAAAAAZDTE9TRUQCAAAABkNMT1NFRAAAAAAIQ0FOQ0VMRUQCAAAACENBTkNFTEVEAAAAAAlEQVBQT1dORVICAAAAIzNQNE5aUjZja0U4YUxDN0JvZ3I1TlhCelNpNnAxM0RRZzY3AAAAAAxPUkFDTEVXQUxMRVQCAAAAIzNQUFRyVG8zQXpSNTZON0FyemJVM0JwcTl6WU1nY2YzOU1rAAAAAA1XTFRCVVJOV0FMTEVUAgAAACMzUE12d1pmVGNWSGVmaGlLUGJ0YlY5SFBBYVVGNUtFUmpnaQAAAAAOV0FWRVNLSVRXQUxMRVQCAAAAIzNQREVFTVJVM3RCSmZmYWc3c1JQbmp3RVE4R1pHaWtVV0JpAAAAABFEQVBQQVVUSE9STldBTExFVAIAAAAjM1AySHZVRWZQUE1wOVl4eFBmZHVEVEx2bTlDa0F6TG5URW8AAAAABVdBVkVTAgAAAAVXQVZFUwAAAAAETk9ORQIAAAAETk9ORQAAAAADRkVFAAAAAAAADbugAAAAAANXTFQBAAAAIKiYa37aOZz6l7d4FzL2+P2am5Uz+13GJWQozlXTer+HAQAAAAtnZXROdW1CeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAGmdldEV4dFdBVkVTVVNEQ3VycmVuY3lSYXRlAAAAAAQAAAANb3JhY2xlQWRkcmVzcwkBAAAAB2V4dHJhY3QAAAABCQEAAAARYWRkcmVzc0Zyb21TdHJpbmcAAAABBQAAAAxPUkFDTEVXQUxMRVQEAAAAFFdBVkVTVVNEQ3VycmVuY3lSYXRlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAADW9yYWNsZUFkZHJlc3MCAAAAC3dhdmVzX3VzZF8yAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAFFdBVkVTVVNEQ3VycmVuY3lSYXRlAAAABAAAAAFpAQAAABBzZXRDb250ZXN0U3RhdHVzAAAAAQAAAA1jb250ZXN0U3RhdHVzBAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEWNvbnRlc3RDdXJyTnVtYmVyCQEAAAALZ2V0TnVtQnlLZXkAAAABAgAAABVjb250ZXN0X2N1cnJlbnRudW1iZXIDCQEAAAACIT0AAAACBQAAAAdhY2NvdW50BQAAAAlEQVBQT1dORVIJAAACAAAAAQIAAAAnT25seSBkQVBQIE93bmVyIGNhbiBzZXQgQ29udGVzdCBTdGF0dXMuAwMJAQAAAAIhPQAAAAIFAAAADWNvbnRlc3RTdGF0dXMFAAAACENBTkNFTEVECQEAAAACIT0AAAACBQAAAA1jb250ZXN0U3RhdHVzBQAAAAZDTE9TRUQHCQAAAgAAAAEJAAEsAAAAAgIAAAAQSW52YWxpZCBzdGF0dXM6IAUAAAANY29udGVzdFN0YXR1cwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGNvbnRlc3RfCQABpAAAAAEFAAAAEWNvbnRlc3RDdXJyTnVtYmVyAgAAAAdfc3RhdHVzBQAAAA1jb250ZXN0U3RhdHVzBQAAAANuaWwAAAABaQEAAAAXc2V0Q29udGVzdENvbmZpZ3VyYXRpb24AAAABAAAADmNvbnRlc3RCZXRDb3N0BAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEWNvbnRlc3RDdXJyTnVtYmVyCQEAAAALZ2V0TnVtQnlLZXkAAAABAgAAABVjb250ZXN0X2N1cnJlbnRudW1iZXIEAAAAEWNvbnRlc3RDdXJyU3RhdHVzCQEAAAALZ2V0U3RyQnlLZXkAAAAB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", "chainId": 84, "height": 691468, "spentComplexity": 0 } View: original | compacted Prev: 21mrMqnd51WgSfjuDzAqv2v2Mvbh7pbssBTkHuVAzbc7 Next: Hb9tEdbbF85RGitmrNEmM9unQqdARE2gpmBQmGFgSm9x Diff:
OldNewDifferences
77
88 let c = "CANCELED"
99
10-let d = "3N5mwuqT6dXpbqwT5VKDXzGJJ6c14rKqxS7"
10+let d = "3P4NZR6ckE8aLC7Bogr5NXBzSi6p13DQg67"
1111
12-let e = "3NAcoeWdUTWn8csXJPG47v1Fjtjcfqxb5tu"
12+let e = "3PPTrTo3AzR56N7ArzbU3Bpq9zYMgcf39Mk"
1313
14-let f = "3MpCbDDjkSrfS1XkPpm71iZj5DQ1RpBRRht"
14+let f = "3PMvwZfTcVHefhiKPbtbV9HPAaUF5KERjgi"
1515
16-let g = "3MqPpbWPRsZFoT9X74qWocU4BpypGEPhiCn"
16+let g = "3PDEEMRU3tBJffag7sRPnjwEQ8GZGikUWBi"
1717
18-let h = "3N1xQeQcsrY8Urm4RdrmL2dfoZAP4ULpH1S"
18+let h = "3P2HvUEfPPMp9YxxPfduDTLvm9CkAzLnTEo"
1919
2020 let i = "WAVES"
2121
2323
2424 let k = 900000
2525
26-let l = base58'7KAXNTswj6947a6cVpGhVrh1utWpLcjwf8AFpWCtuMT7'
26+let l = base58'CM8J4Z9HW3MdKgTxrpf3WYauXfjdu1zZKg19AGTicEYe'
2727
2828 func m (n) = {
2929 let o = {
8484
8585
8686 @Callable(w)
87-func setContestConfiguration () = {
87+func setContestConfiguration (A) = {
8888 let y = toBase58String(w.caller.bytes)
8989 let z = m("contest_currentnumber")
90- let A = r((("contest_" + toString(z)) + "_status"))
91- let B = (z + 1)
92- let C = wavesBalance(this)
93- let D = 500000
90+ let B = r((("contest_" + toString(z)) + "_status"))
91+ let C = (z + 1)
92+ let D = wavesBalance(this)
9493 if ((y != d))
9594 then throw(((("Only dAPP Owner can Configure Contest. Caller account: " + y) + " dapp owner: ") + d))
96- else if ((A == a))
97- then throw(("You cannot configure a new Contest while old Contest status is: " + A))
98- else if ((100000000 > C))
99- then throw("Balance too low, cannot start a contest.")
100- else {
101- let E = (height + (6 * 1440))
102- WriteSet([DataEntry("contest_currentnumber", B), DataEntry((("contest_" + toString(B)) + "_finishheight"), E), DataEntry((("contest_" + toString(B)) + "_status"), a), DataEntry((("contest_" + toString(B)) + "_betcounter"), 0), DataEntry((("contest_" + toString(B)) + "_betcost"), D)])
103- }
95+ else if ((B == a))
96+ then throw(("You cannot configure a new Contest while old Contest status is: " + B))
97+ else {
98+ let E = (height + (6 * 1440))
99+ WriteSet([DataEntry("contest_currentnumber", C), DataEntry((("contest_" + toString(C)) + "_finishheight"), E), DataEntry((("contest_" + toString(C)) + "_status"), a), DataEntry((("contest_" + toString(C)) + "_betcounter"), 0), DataEntry((("contest_" + toString(C)) + "_betcost"), A)])
100+ }
104101 }
105102
106103
112109 let z = m("contest_currentnumber")
113110 let H = m((("contest_" + toString(z)) + "_startheight"))
114111 let E = m((("contest_" + toString(z)) + "_finishheight"))
115- let A = r((("contest_" + toString(z)) + "_status"))
112+ let B = r((("contest_" + toString(z)) + "_status"))
116113 let I = m((("contest_" + toString(z)) + "_betcost"))
117114 let x = r((("contest_" + toString(z)) + "_status"))
118115 let J = m((((("contest_" + toString(z)) + "_") + y) + "_bets"))
119116 let K = r(((("bet_" + toString(z)) + "_") + toString(F)))
120117 if ((height > (E - (2 * 1440))))
121118 then throw("You cannot bet anymore at this height.")
122- else if ((A != a))
123- then throw(("Invalid status: you cannot bet now, contest status is: " + A))
119+ else if ((B != a))
120+ then throw(("Invalid status: you cannot bet now, contest status is: " + B))
124121 else if (if ((G.assetId != l))
125122 then true
126123 else (G.amount != I))
143140 let M = r(((("bet_" + toString(z)) + "_") + toString(L)))
144141 let E = m((("contest_" + toString(z)) + "_finishheight"))
145142 let y = toBase58String(w.caller.bytes)
146- let C = wavesBalance(this)
147- let A = r((("contest_" + toString(z)) + "_status"))
148- let N = ((assetBalance(this, l) * 85) / 100)
143+ let D = wavesBalance(this)
144+ let B = r((("contest_" + toString(z)) + "_status"))
149145 if ((y != d))
150146 then throw("Only dAPP Owner can Close Contest.")
151147 else if ((E > height))
152148 then throw(((("account: " + y) + ": Cannot close the contest before height:") + toString(E)))
153- else if ((A != a))
154- then throw(("Cannot close a contest in status: " + A))
149+ else if ((B != a))
150+ then throw(("Cannot close a contest in status: " + B))
155151 else if ((M != j))
156152 then {
157- let O = ((assetBalance(this, l) * 5) / 100)
158- let P = ((wavesBalance(this) * 99) / 100)
159- let Q = TransferSet([ScriptTransfer(extract(addressFromString(M)), P, unit), ScriptTransfer(extract(addressFromString(e)), O, l), ScriptTransfer(extract(addressFromString(g)), O, l), ScriptTransfer(extract(addressFromString(h)), O, l), ScriptTransfer(extract(addressFromString(f)), N, l)])
160- ScriptResult(WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), b), DataEntry((("contest_" + toString(z)) + "_winner"), M), DataEntry((("contest_" + toString(z)) + "_currencyrate"), L), DataEntry((("contest_" + toString(z)) + "_prize"), P), DataEntry((("contest_" + toString(z)) + "_wltburned"), N)]), Q)
153+ let N = ((assetBalance(this, l) * 5) / 100)
154+ let O = ((assetBalance(this, l) * 80) / 100)
155+ let P = TransferSet([ScriptTransfer(extract(addressFromString(M)), O, unit), ScriptTransfer(extract(addressFromString(e)), N, l), ScriptTransfer(extract(addressFromString(g)), N, l), ScriptTransfer(extract(addressFromString(h)), N, l)])
156+ ScriptResult(WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), b), DataEntry((("contest_" + toString(z)) + "_winner"), M), DataEntry((("contest_" + toString(z)) + "_rateheight"), height), DataEntry((("contest_" + toString(z)) + "_currencyrate"), L), DataEntry((("contest_" + toString(z)) + "_prize"), O)]), P)
161157 }
162- else WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), b), DataEntry((("contest_" + toString(z)) + "_winner"), M), DataEntry((("contest_" + toString(z)) + "_currencyrate"), L), DataEntry((("contest_" + toString(z)) + "_prize"), 0), DataEntry((("contest_" + toString(z)) + "_wltburned"), N)])
158+ else WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), b), DataEntry((("contest_" + toString(z)) + "_winner"), M), DataEntry((("contest_" + toString(z)) + "_currencyrate"), L), DataEntry((("contest_" + toString(z)) + "_prize"), 0)])
163159 }
164160
165161
166-@Verifier(R)
167-func S () = {
168- let p = R
162+@Verifier(Q)
163+func R () = {
164+ let p = Q
169165 if (if ($isInstanceOf(p, "SetScriptTransaction"))
170166 then true
171167 else $isInstanceOf(p, "DataTransaction"))
172- then sigVerify(R.bodyBytes, R.proofs[0], R.senderPublicKey)
168+ then sigVerify(Q.bodyBytes, Q.proofs[0], Q.senderPublicKey)
173169 else if ($isInstanceOf(p, "InvokeScriptTransaction"))
174170 then true
175171 else true
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "RUNNING"
55
66 let b = "CLOSED"
77
88 let c = "CANCELED"
99
10-let d = "3N5mwuqT6dXpbqwT5VKDXzGJJ6c14rKqxS7"
10+let d = "3P4NZR6ckE8aLC7Bogr5NXBzSi6p13DQg67"
1111
12-let e = "3NAcoeWdUTWn8csXJPG47v1Fjtjcfqxb5tu"
12+let e = "3PPTrTo3AzR56N7ArzbU3Bpq9zYMgcf39Mk"
1313
14-let f = "3MpCbDDjkSrfS1XkPpm71iZj5DQ1RpBRRht"
14+let f = "3PMvwZfTcVHefhiKPbtbV9HPAaUF5KERjgi"
1515
16-let g = "3MqPpbWPRsZFoT9X74qWocU4BpypGEPhiCn"
16+let g = "3PDEEMRU3tBJffag7sRPnjwEQ8GZGikUWBi"
1717
18-let h = "3N1xQeQcsrY8Urm4RdrmL2dfoZAP4ULpH1S"
18+let h = "3P2HvUEfPPMp9YxxPfduDTLvm9CkAzLnTEo"
1919
2020 let i = "WAVES"
2121
2222 let j = "NONE"
2323
2424 let k = 900000
2525
26-let l = base58'7KAXNTswj6947a6cVpGhVrh1utWpLcjwf8AFpWCtuMT7'
26+let l = base58'CM8J4Z9HW3MdKgTxrpf3WYauXfjdu1zZKg19AGTicEYe'
2727
2828 func m (n) = {
2929 let o = {
3030 let p = getInteger(this, n)
3131 if ($isInstanceOf(p, "Int"))
3232 then {
3333 let q = p
3434 q
3535 }
3636 else 0
3737 }
3838 o
3939 }
4040
4141
4242 func r (n) = {
4343 let s = {
4444 let p = getString(this, n)
4545 if ($isInstanceOf(p, "String"))
4646 then {
4747 let q = p
4848 q
4949 }
5050 else j
5151 }
5252 s
5353 }
5454
5555
5656 func t () = {
5757 let u = extract(addressFromString(e))
5858 let v = {
5959 let p = getInteger(u, "waves_usd_2")
6060 if ($isInstanceOf(p, "Int"))
6161 then {
6262 let q = p
6363 q
6464 }
6565 else 0
6666 }
6767 v
6868 }
6969
7070
7171 @Callable(w)
7272 func setContestStatus (x) = {
7373 let y = toBase58String(w.caller.bytes)
7474 let z = m("contest_currentnumber")
7575 if ((y != d))
7676 then throw("Only dAPP Owner can set Contest Status.")
7777 else if (if ((x != c))
7878 then (x != b)
7979 else false)
8080 then throw(("Invalid status: " + x))
8181 else WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), x)])
8282 }
8383
8484
8585
8686 @Callable(w)
87-func setContestConfiguration () = {
87+func setContestConfiguration (A) = {
8888 let y = toBase58String(w.caller.bytes)
8989 let z = m("contest_currentnumber")
90- let A = r((("contest_" + toString(z)) + "_status"))
91- let B = (z + 1)
92- let C = wavesBalance(this)
93- let D = 500000
90+ let B = r((("contest_" + toString(z)) + "_status"))
91+ let C = (z + 1)
92+ let D = wavesBalance(this)
9493 if ((y != d))
9594 then throw(((("Only dAPP Owner can Configure Contest. Caller account: " + y) + " dapp owner: ") + d))
96- else if ((A == a))
97- then throw(("You cannot configure a new Contest while old Contest status is: " + A))
98- else if ((100000000 > C))
99- then throw("Balance too low, cannot start a contest.")
100- else {
101- let E = (height + (6 * 1440))
102- WriteSet([DataEntry("contest_currentnumber", B), DataEntry((("contest_" + toString(B)) + "_finishheight"), E), DataEntry((("contest_" + toString(B)) + "_status"), a), DataEntry((("contest_" + toString(B)) + "_betcounter"), 0), DataEntry((("contest_" + toString(B)) + "_betcost"), D)])
103- }
95+ else if ((B == a))
96+ then throw(("You cannot configure a new Contest while old Contest status is: " + B))
97+ else {
98+ let E = (height + (6 * 1440))
99+ WriteSet([DataEntry("contest_currentnumber", C), DataEntry((("contest_" + toString(C)) + "_finishheight"), E), DataEntry((("contest_" + toString(C)) + "_status"), a), DataEntry((("contest_" + toString(C)) + "_betcounter"), 0), DataEntry((("contest_" + toString(C)) + "_betcost"), A)])
100+ }
104101 }
105102
106103
107104
108105 @Callable(w)
109106 func bet (F) = {
110107 let y = toBase58String(w.caller.bytes)
111108 let G = extract(w.payment)
112109 let z = m("contest_currentnumber")
113110 let H = m((("contest_" + toString(z)) + "_startheight"))
114111 let E = m((("contest_" + toString(z)) + "_finishheight"))
115- let A = r((("contest_" + toString(z)) + "_status"))
112+ let B = r((("contest_" + toString(z)) + "_status"))
116113 let I = m((("contest_" + toString(z)) + "_betcost"))
117114 let x = r((("contest_" + toString(z)) + "_status"))
118115 let J = m((((("contest_" + toString(z)) + "_") + y) + "_bets"))
119116 let K = r(((("bet_" + toString(z)) + "_") + toString(F)))
120117 if ((height > (E - (2 * 1440))))
121118 then throw("You cannot bet anymore at this height.")
122- else if ((A != a))
123- then throw(("Invalid status: you cannot bet now, contest status is: " + A))
119+ else if ((B != a))
120+ then throw(("Invalid status: you cannot bet now, contest status is: " + B))
124121 else if (if ((G.assetId != l))
125122 then true
126123 else (G.amount != I))
127124 then throw(((("You must pay at least: " + toString(I)) + " WLT to bet. You paid: ") + toString(G.amount)))
128125 else if (if ((K != j))
129126 then (K != y)
130127 else false)
131128 then throw((("Another user: " + K) + " did bet already on this rate."))
132129 else if ((J >= 5))
133130 then throw("You can do at most 5 bets.")
134131 else WriteSet([DataEntry(((("bet_" + toString(z)) + "_") + toString(F)), y), DataEntry((((("contest_" + toString(z)) + "_") + y) + "_bets"), (J + 1))])
135132 }
136133
137134
138135
139136 @Callable(w)
140137 func closecontest () = {
141138 let L = t()
142139 let z = m("contest_currentnumber")
143140 let M = r(((("bet_" + toString(z)) + "_") + toString(L)))
144141 let E = m((("contest_" + toString(z)) + "_finishheight"))
145142 let y = toBase58String(w.caller.bytes)
146- let C = wavesBalance(this)
147- let A = r((("contest_" + toString(z)) + "_status"))
148- let N = ((assetBalance(this, l) * 85) / 100)
143+ let D = wavesBalance(this)
144+ let B = r((("contest_" + toString(z)) + "_status"))
149145 if ((y != d))
150146 then throw("Only dAPP Owner can Close Contest.")
151147 else if ((E > height))
152148 then throw(((("account: " + y) + ": Cannot close the contest before height:") + toString(E)))
153- else if ((A != a))
154- then throw(("Cannot close a contest in status: " + A))
149+ else if ((B != a))
150+ then throw(("Cannot close a contest in status: " + B))
155151 else if ((M != j))
156152 then {
157- let O = ((assetBalance(this, l) * 5) / 100)
158- let P = ((wavesBalance(this) * 99) / 100)
159- let Q = TransferSet([ScriptTransfer(extract(addressFromString(M)), P, unit), ScriptTransfer(extract(addressFromString(e)), O, l), ScriptTransfer(extract(addressFromString(g)), O, l), ScriptTransfer(extract(addressFromString(h)), O, l), ScriptTransfer(extract(addressFromString(f)), N, l)])
160- ScriptResult(WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), b), DataEntry((("contest_" + toString(z)) + "_winner"), M), DataEntry((("contest_" + toString(z)) + "_currencyrate"), L), DataEntry((("contest_" + toString(z)) + "_prize"), P), DataEntry((("contest_" + toString(z)) + "_wltburned"), N)]), Q)
153+ let N = ((assetBalance(this, l) * 5) / 100)
154+ let O = ((assetBalance(this, l) * 80) / 100)
155+ let P = TransferSet([ScriptTransfer(extract(addressFromString(M)), O, unit), ScriptTransfer(extract(addressFromString(e)), N, l), ScriptTransfer(extract(addressFromString(g)), N, l), ScriptTransfer(extract(addressFromString(h)), N, l)])
156+ ScriptResult(WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), b), DataEntry((("contest_" + toString(z)) + "_winner"), M), DataEntry((("contest_" + toString(z)) + "_rateheight"), height), DataEntry((("contest_" + toString(z)) + "_currencyrate"), L), DataEntry((("contest_" + toString(z)) + "_prize"), O)]), P)
161157 }
162- else WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), b), DataEntry((("contest_" + toString(z)) + "_winner"), M), DataEntry((("contest_" + toString(z)) + "_currencyrate"), L), DataEntry((("contest_" + toString(z)) + "_prize"), 0), DataEntry((("contest_" + toString(z)) + "_wltburned"), N)])
158+ else WriteSet([DataEntry((("contest_" + toString(z)) + "_status"), b), DataEntry((("contest_" + toString(z)) + "_winner"), M), DataEntry((("contest_" + toString(z)) + "_currencyrate"), L), DataEntry((("contest_" + toString(z)) + "_prize"), 0)])
163159 }
164160
165161
166-@Verifier(R)
167-func S () = {
168- let p = R
162+@Verifier(Q)
163+func R () = {
164+ let p = Q
169165 if (if ($isInstanceOf(p, "SetScriptTransaction"))
170166 then true
171167 else $isInstanceOf(p, "DataTransaction"))
172- then sigVerify(R.bodyBytes, R.proofs[0], R.senderPublicKey)
168+ then sigVerify(Q.bodyBytes, Q.proofs[0], Q.senderPublicKey)
173169 else if ($isInstanceOf(p, "InvokeScriptTransaction"))
174170 then true
175171 else true
176172 }
177173

github/deemru/w8io/169f3d6 
50.03 ms