tx · BjTa2ngwYnLJ3XK9pmP8qVFYVfFvaBCY2PASEcGfn4HK

3N4NPivoThtskr7JxnNrKL7s8BzmRGx9rT2:  -0.01400000 Waves

2019.08.12 16:14 [627888] smart account 3N4NPivoThtskr7JxnNrKL7s8BzmRGx9rT2 > SELF 0.00000000 Waves

{ "type": 13, "id": "BjTa2ngwYnLJ3XK9pmP8qVFYVfFvaBCY2PASEcGfn4HK", "fee": 1400000, "feeAssetId": null, "timestamp": 1565615722997, "version": 1, "sender": "3N4NPivoThtskr7JxnNrKL7s8BzmRGx9rT2", "senderPublicKey": "F3vhYapU4NBzfM2X4KNkoFcxj3UbYnJjqituG6KE7ZPG", "proofs": [ "5NcNWiV1NMNbvzadVEdgTSePq99rT4PRjWuAEvggf4kceQXi8Mj8JkjjcZigk3GKmRptbFTrHz3PtFBr8FbZNZVb" ], "script": "base64:AAIDAAAAAAAAAAAAAAAJAAAAAAdSVU5OSU5HAgAAAAdSVU5OSU5HAAAAAAZDTE9TRUQCAAAABkNMT1NFRAAAAAAJREFQUE9XTkVSAgAAACMzTjROUGl2b1RodHNrcjdKeG5OcktMN3M4QnptUkd4OXJUMgAAAAAFV0FWRVMCAAAABVdBVkVTAAAAAAROT05FAgAAAAROT05FAQAAAAtnZXROdW1CeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAEGdldENvbnRlc3RTdGF0dXMAAAAABAAAABFjb250ZXN0Q3Vyck51bWJlcgkBAAAAC2dldE51bUJ5S2V5AAAAAQIAAAAVY29udGVzdF9jdXJyZW50bnVtYmVyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIY29udGVzdF8JAAGkAAAAAQUAAAARY29udGVzdEN1cnJOdW1iZXICAAAAB19zdGF0dXMBAAAABmdldEJldAAAAAEAAAANY3VycmVuY3lWYWx1ZQQAAAARY29udGVzdEN1cnJOdW1iZXIJAQAAAAtnZXROdW1CeUtleQAAAAECAAAAFWNvbnRlc3RfY3VycmVudG51bWJlcgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAEYmV0XwkAAaQAAAABBQAAABFjb250ZXN0Q3Vyck51bWJlcgIAAAABXwUAAAANY3VycmVuY3lWYWx1ZQAAAAMAAAABaQEAAAAQc2V0Q29udGVzdFN0YXR1cwAAAAIAAAANY29udGVzdE51bWJlcgAAAA1jb250ZXN0U3RhdHVzBAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMDCQEAAAACIT0AAAACBQAAAAdhY2NvdW50BQAAAAlEQVBQT1dORVIJAAACAAAAAQIAAAAnT25seSBkQVBQIE93bmVyIGNhbiBzZXQgQ29udGVzdCBTdGF0dXMuAwMJAQAAAAIhPQAAAAIFAAAADWNvbnRlc3RTdGF0dXMFAAAAB1JVTk5JTkcJAQAAAAIhPQAAAAIFAAAADWNvbnRlc3RTdGF0dXMFAAAABkNMT1NFRAcJAAACAAAAAQkAASwAAAACAgAAABBJbnZhbGlkIHN0YXR1czogBQAAAA1jb250ZXN0U3RhdHVzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIY29udGVzdF8JAAGkAAAAAQUAAAANY29udGVzdE51bWJlcgIAAAAHX3N0YXR1cwUAAAANY29udGVzdFN0YXR1cwUAAAADbmlsAAAAAWkBAAAAF3NldENvbnRlc3RDb25maWd1cmF0aW9uAAAAAgAAAA5jdXJyZW5jeVRpY2tlcgAAABJjb250ZXN0U3RhcnRIZWlnaHQEAAAAB2FjY291bnQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAARY29udGVzdFByZXZOdW1iZXIJAQAAAAtnZXROdW1CeUtleQAAAAECAAAAFWNvbnRlc3RfY3VycmVudG51bWJlcgQAAAARY29udGVzdFByZXZTdGF0dXMJAQAAAAtnZXRTdHJCeUtleQAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAhjb250ZXN0XwkAAaQAAAABBQAAABFjb250ZXN0UHJldk51bWJlcgIAAAAHX3N0YXR1cwQAAAARY29udGVzdEN1cnJOdW1iZXIJAABkAAAAAgUAAAARY29udGVzdFByZXZOdW1iZXIAAAAAAAAAAAEDCQEAAAACIT0AAAACBQAAAAdhY2NvdW50BQAAAAlEQVBQT1dORVIJAAACAAAAAQIAAAAmT25seSBkQVBQIE93bmVyIGNhbiBDb25maWd1cmUgQ29udGVzdC4DCQAAZwAAAAIFAAAABmhlaWdodAUAAAASY29udGVzdFN0YXJ0SGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgIAAAA9U3RhcnQgSGVpZ2h0IG11c3QgYmUgZ3JlYXRlciB0aGFuIGN1cnJlbnQgQmxvY2tjaGFpbiBoZWlnaHQ6IAkAAaQAAAABBQAAAAZoZWlnaHQDCQAAAAAAAAIFAAAAEWNvbnRlc3RQcmV2U3RhdHVzBQAAAAdSVU5OSU5HCQAAAgAAAAEJAAEsAAAAAgIAAABAWW91IGNhbm5vdCBjb25maWd1cmUgYSBuZXcgQ29udGVzdCB3aGlsZSBvbGQgQ29udGVzdCBzdGF0dXMgaXM6IAUAAAARY29udGVzdFByZXZTdGF0dXMDCQEAAAACIT0AAAACBQAAAA5jdXJyZW5jeVRpY2tlcgUAAAAFV0FWRVMJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIGRBUFAgZG9lcyBub3Qgc3VwcG9ydCBjdXJyZW5jeTogBQAAAA5jdXJyZW5jeVRpY2tlcgIAAAAFIHlldC4EAAAAE2NvbnRlc3RGaW5pc2hIZWlnaHQJAABkAAAAAgUAAAASY29udGVzdFN0YXJ0SGVpZ2h0CQAAaAAAAAIAAAAAAAAAAAcAAAAAAAAABaAJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFWNvbnRlc3RfY3VycmVudG51bWJlcgUAAAARY29udGVzdEN1cnJOdW1iZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhjb250ZXN0XwkAAaQAAAABBQAAABFjb250ZXN0Q3Vyck51bWJlcgIAAAAJX2N1cnJlbmN5BQAAAA5jdXJyZW5jeVRpY2tlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGNvbnRlc3RfCQABpAAAAAEFAAAAEWNvbnRlc3RDdXJyTnVtYmVyAgAAAAxfc3RhcnRoZWlnaHQFAAAAEmNvbnRlc3RTdGFydEhlaWdodAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGNvbnRlc3RfCQABpAAAAAEFAAAAEWNvbnRlc3RD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", "chainId": 84, "height": 627888, "spentComplexity": 0 } View: original | compacted Prev: 1mwDNRjPUUtnMap7NSr7BcMyk7rW9ByCpyhBAVeo4rC Next: 3EvVkscwmPo11Hu1pYkLXLeYguh9b5i4AWUsr5ypy7CV Diff:
OldNewDifferences
9797 let y = f((("contest_" + toString(n)) + "_finishheight"))
9898 let s = k((("contest_" + toString(n)) + "_status"))
9999 let B = k(((("bet_" + toString(n)) + "_") + p))
100- if (true)
101- then throw(((("bet_" + toString(n)) + "_") + p))
102- else if ((height > (y - (2 * 1440))))
103- then throw("You cannot bet anymore at this height.")
104- else if ((s != a))
105- then throw("Invalid status: you cannot bet now.")
106- else if (if ((A.assetId != z))
100+ if ((height > (y - (2 * 1440))))
101+ then throw("You cannot bet anymore at this height.")
102+ else if ((s != a))
103+ then throw("Invalid status: you cannot bet now.")
104+ else if (if ((A.assetId != z))
105+ then true
106+ else (A.amount != 500000))
107+ then throw("You must pay 5 WLT to bet.")
108+ else if (if (if ((B != e))
109+ then (B != t)
110+ else false)
107111 then true
108- else (A.amount != 500000))
109- then throw("You must pay 5 WLT to bet.")
110- else if (if (if ((B != e))
111- then (B != t)
112- else false)
113- then true
114- else true)
115- then throw(((("Address: " + B) + " already did bet on value:") + p))
116- else WriteSet([DataEntry(((("bet_" + toString(n)) + "_") + p), t)])
112+ else true)
113+ then throw(((("Address: " + B) + " already did bet on value:") + p))
114+ else WriteSet([DataEntry(((("bet_" + toString(n)) + "_") + p), t)])
117115 }
118116
119117
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 = "3N4NPivoThtskr7JxnNrKL7s8BzmRGx9rT2"
99
1010 let d = "WAVES"
1111
1212 let e = "NONE"
1313
1414 func f (g) = {
1515 let h = {
1616 let i = getInteger(this, g)
1717 if ($isInstanceOf(i, "Int"))
1818 then {
1919 let j = i
2020 j
2121 }
2222 else 0
2323 }
2424 h
2525 }
2626
2727
2828 func k (g) = {
2929 let l = {
3030 let i = getString(this, g)
3131 if ($isInstanceOf(i, "String"))
3232 then {
3333 let j = i
3434 j
3535 }
3636 else e
3737 }
3838 l
3939 }
4040
4141
4242 func m () = {
4343 let n = f("contest_currentnumber")
4444 k((("contest_" + toString(n)) + "_status"))
4545 }
4646
4747
4848 func o (p) = {
4949 let n = f("contest_currentnumber")
5050 k(((("bet_" + toString(n)) + "_") + p))
5151 }
5252
5353
5454 @Callable(q)
5555 func setContestStatus (r,s) = {
5656 let t = toBase58String(q.caller.bytes)
5757 if ((t != c))
5858 then throw("Only dAPP Owner can set Contest Status.")
5959 else if (if ((s != a))
6060 then (s != b)
6161 else false)
6262 then throw(("Invalid status: " + s))
6363 else WriteSet([DataEntry((("contest_" + toString(r)) + "_status"), s)])
6464 }
6565
6666
6767
6868 @Callable(q)
6969 func setContestConfiguration (u,v) = {
7070 let t = toBase58String(q.caller.bytes)
7171 let w = f("contest_currentnumber")
7272 let x = k((("contest_" + toString(w)) + "_status"))
7373 let n = (w + 1)
7474 if ((t != c))
7575 then throw("Only dAPP Owner can Configure Contest.")
7676 else if ((height >= v))
7777 then throw(("Start Height must be greater than current Blockchain height: " + toString(height)))
7878 else if ((x == a))
7979 then throw(("You cannot configure a new Contest while old Contest status is: " + x))
8080 else if ((u != d))
8181 then throw((("dAPP does not support currency: " + u) + " yet."))
8282 else {
8383 let y = (v + (7 * 1440))
8484 WriteSet([DataEntry("contest_currentnumber", n), DataEntry((("contest_" + toString(n)) + "_currency"), u), DataEntry((("contest_" + toString(n)) + "_startheight"), v), DataEntry((("contest_" + toString(n)) + "_finishheight"), y), DataEntry((("contest_" + toString(n)) + "_status"), a)])
8585 }
8686 }
8787
8888
8989
9090 @Callable(q)
9191 func bet (p) = {
9292 let z = base58'FaA6njrtReYVacBjgj36X8gGwydDYQKrthrt3hufhMZh'
9393 let t = toBase58String(q.caller.bytes)
9494 let A = extract(q.payment)
9595 let n = f("contest_currentnumber")
9696 let v = f((("contest_" + toString(n)) + "_startheight"))
9797 let y = f((("contest_" + toString(n)) + "_finishheight"))
9898 let s = k((("contest_" + toString(n)) + "_status"))
9999 let B = k(((("bet_" + toString(n)) + "_") + p))
100- if (true)
101- then throw(((("bet_" + toString(n)) + "_") + p))
102- else if ((height > (y - (2 * 1440))))
103- then throw("You cannot bet anymore at this height.")
104- else if ((s != a))
105- then throw("Invalid status: you cannot bet now.")
106- else if (if ((A.assetId != z))
100+ if ((height > (y - (2 * 1440))))
101+ then throw("You cannot bet anymore at this height.")
102+ else if ((s != a))
103+ then throw("Invalid status: you cannot bet now.")
104+ else if (if ((A.assetId != z))
105+ then true
106+ else (A.amount != 500000))
107+ then throw("You must pay 5 WLT to bet.")
108+ else if (if (if ((B != e))
109+ then (B != t)
110+ else false)
107111 then true
108- else (A.amount != 500000))
109- then throw("You must pay 5 WLT to bet.")
110- else if (if (if ((B != e))
111- then (B != t)
112- else false)
113- then true
114- else true)
115- then throw(((("Address: " + B) + " already did bet on value:") + p))
116- else WriteSet([DataEntry(((("bet_" + toString(n)) + "_") + p), t)])
112+ else true)
113+ then throw(((("Address: " + B) + " already did bet on value:") + p))
114+ else WriteSet([DataEntry(((("bet_" + toString(n)) + "_") + p), t)])
117115 }
118116
119117
120118 @Verifier(C)
121119 func D () = {
122120 let i = C
123121 if (if ($isInstanceOf(i, "SetScriptTransaction"))
124122 then true
125123 else $isInstanceOf(i, "DataTransaction"))
126124 then sigVerify(C.bodyBytes, C.proofs[0], C.senderPublicKey)
127125 else if ($isInstanceOf(i, "InvokeScriptTransaction"))
128126 then true
129127 else true
130128 }
131129

github/deemru/w8io/873ac7e 
22.42 ms