tx · FPqHSqPCsGnTaXZcBRG49Wc5reVhSQNQ5Suubi5tfdih

3N3iL6znDFhJNWj7NKfRKoYVG1hdboZ8iC7:  -0.01400000 Waves

2019.10.20 12:20 [728201] smart account 3N3iL6znDFhJNWj7NKfRKoYVG1hdboZ8iC7 > SELF 0.00000000 Waves

{ "type": 13, "id": "FPqHSqPCsGnTaXZcBRG49Wc5reVhSQNQ5Suubi5tfdih", "fee": 1400000, "feeAssetId": null, "timestamp": 1571563206163, "version": 1, "sender": "3N3iL6znDFhJNWj7NKfRKoYVG1hdboZ8iC7", "senderPublicKey": "E7ctE5XJHaksUWy2PHrQGj5FRLQk6FezFZrhnphjpgUt", "proofs": [ "unA4yAatiL3kjMdFHidTYZTmFD4DZtMs53t6wrACbPoojQJLtYdUnGmR6f76ojgTkKJumByRp5EwnXSN1QnFr25" ], "script": "base64:AAIDAAAAAAAAABEIARIGCgQBAQgBEgMKAQgSAAAAAAkAAAAAB1JVTk5JTkcCAAAAB1JVTk5JTkcAAAAABkNMT1NFRAIAAAAGQ0xPU0VEAAAAAAhDQU5DRUxFRAIAAAAIQ0FOQ0VMRUQAAAAACURBUFBPV05FUgIAAAAjM04zaUw2em5ERmhKTldqN05LZlJLb1lWRzFoZGJvWjhpQzcAAAAAC1ZPVEVBU1NFVElEAQAAACBdzVgyIDG1TTrr2IC+hZgKEiTPyt49R9i8wN0ZNQ6rqgAAAAAETk9ORQIAAAAETk9ORQAAAAAKVk9USU5HQ09TVAAAAAAAAAGGoAEAAAALZ2V0U3RyVmFsdWUAAAABAAAAA2tleQQAAAAGdmFsT3B0CQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZ2YWxPcHQJAQAAAAdleHRyYWN0AAAAAQUAAAAGdmFsT3B0CQAAAgAAAAEJAAEsAAAAAgUAAAADa2V5AgAAAC8gd2FzIG5vdCBpbml0aWFsaXplZCBiZWZvcmUgY29udHJhY3QgZGVwbG95bWVudAEAAAALZ2V0SW50VmFsdWUAAAABAAAAA2tleQQAAAAGdmFsT3B0CQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZ2YWxPcHQJAQAAAAdleHRyYWN0AAAAAQUAAAAGdmFsT3B0CQAAAgAAAAEJAAEsAAAAAgUAAAADa2V5AgAAAC8gd2FzIG5vdCBpbml0aWFsaXplZCBiZWZvcmUgY29udHJhY3QgZGVwbG95bWVudAAAAAMAAAABaQEAAAAKaW5pdGlhbGl6ZQAAAAQAAAAOc3RhcnRpbmdIZWlnaHQAAAAIZHVyYXRpb24AAAANdm90aW5nQXNzZXRJZAAAAAp2b3RpbmdDb3N0BAAAAAdhY2NvdW50CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEnZvdGF0aW9uQ3Vyck51bWJlcgkBAAAAC2dldEludFZhbHVlAAAAAQIAAAAWdm90YXRpb25fY3VycmVudG51bWJlcgQAAAASdm90YXRpb25DdXJyU3RhdHVzCQEAAAALZ2V0U3RyVmFsdWUAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAJdm90YXRpb25fCQABpAAAAAEFAAAAEnZvdGF0aW9uQ3Vyck51bWJlcgIAAAAHX3N0YXR1cwMJAQAAAAIhPQAAAAIFAAAAB2FjY291bnQFAAAACURBUFBPV05FUgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAADdPbmx5IGRBUFAgT3duZXIgY2FuY29uZmlndXJlIHZvdGF0aW9uLiBDYWxsZXIgYWNjb3VudDogBQAAAAdhY2NvdW50AgAAAA0gZGFwcCBvd25lcjogBQAAAAlEQVBQT1dORVIDCQAAAAAAAAIFAAAAEnZvdGF0aW9uQ3VyclN0YXR1cwUAAAAHUlVOTklORwkAAAIAAAABCQABLAAAAAICAAAAPVlvdSBjYW5ub3QgY29uZmlndXJlIGEgbmV3IFZvdGF0aW9uIHdoaWxlIGN1cnJlbnQgc3RhdHVzIGlzOiAFAAAAEnZvdGF0aW9uQ3VyclN0YXR1cwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAA5zdGFydGluZ0hlaWdodAkAAAIAAAABAgAAAD9TdGFydGluZyBIZWlnaHQgbXVzdCBiZSBncmVhdGVyIHRoYW4gY3VycmVudCBibG9ja2NoYWluIGhlaWdodC4EAAAAEXZvdGF0aW9uTmV3TnVtYmVyCQAAZAAAAAIFAAAAEnZvdGF0aW9uQ3Vyck51bWJlcgAAAAAAAAAAAQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAWdm90YXRpb25fY3VycmVudG51bWJlcgUAAAARdm90YXRpb25OZXdOdW1iZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFHZvdGF0aW9uX3ZvdGluZ2Fzc2V0BQAAAA12b3RpbmdBc3NldElkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABN2b3RhdGlvbl92b3Rpbmdjb3N0BQAAAAp2b3RpbmdDb3N0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJdm90YXRpb25fCQABpAAAAAEFAAAAEXZvdGF0aW9uTmV3TnVtYmVyAgAAAAxfc3RhcnRoZWlnaHQFAAAADnN0YXJ0aW5nSGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJdm90YXRpb25fCQABpAAAAAEFAAAAEXZvdGF0aW9uTmV3TnVtYmVyAgAAAA1fZmluaXNoaGVpZ2h0CQAAZAAAAAIFAAAADnN0YXJ0aW5nSGVpZ2h0BQAAAAhkdXJhdGlvbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACXZvdGF0aW9uXwkAAaQAAAABBQAAABF2b3RhdGlvbk5ld051bWJlcgIAAAAHX3N0YXR1cwUAAAAHUlVOTklORwUAAAADbmlsAAAAAWkBAAAABHZvdGUAAAABAAAABm9wdGlvbgQAAAAHYWNjb3VudAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAASdm90YXRpb25DdXJyTnVtYmVyCQEAAAALZ2V0SW50VmFsdWUAAAABAgAAABZ2b3RhdGlvbl9jdXJyZW50bnVtYmVyBAAAABN2b3RhdGlvblZvdGluZ0Fzc2V0CQACWQAAAAEJAQAAAAtnZXRTdHJWYWx1ZQAAAAECAAAAFHZvdGF0aW9uX3ZvdGluZ2Fzc2V0BAAAABJ2b3RhdGlvblZvdGluZ0Nvc3QJAQAAAAtnZXRJbnRWYWx1ZQAAAAECAAAAE3ZvdGF0aW9uX3ZvdGluZ2Nvc3QEAAAAF3ZvdGF0aW9uQ3Vyck9wdGlvblZhbHVlCQEAAAALZ2V0SW50VmFsdWUAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAl2b3RhdGlvbl8JAAGkAAAAAQUAAAASdm90YXRpb25DdXJyTnVtYmVyAgAAAAFfBQAAAAZvcHRpb24EAAAAE3ZvdGF0aW9uU3RhcnRIZWlnaHQJAQAAAAtnZXRJbnRWYWx1ZQAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAl2b3RhdGlvbl8JAAGkAAAAAQUAAAASdm90YXRpb25DdXJyTnVtYmVyAgAAAAxfc3RhcnRoZWlnaHQEAAAAFHZvdGF0aW9uRmlu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", "chainId": 84, "height": 728201, "spentComplexity": 0 } View: original | compacted Prev: 5q15HYjPcLqNDdaWt8F8URTUqyqnmHLqehaJ8YDCwDH9 Next: none Diff:
OldNewDifferences
3535 func initialize (m,n,o,p) = {
3636 let q = toBase58String(l.caller.bytes)
3737 let r = k("votation_currentnumber")
38- let s = h((("votation" + toString(r)) + "_status"))
38+ let s = h((("votation_" + toString(r)) + "_status"))
3939 if ((q != d))
4040 then throw(((("Only dAPP Owner canconfigure votation. Caller account: " + q) + " dapp owner: ") + d))
4141 else if ((s == a))
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
1010 let d = "3N3iL6znDFhJNWj7NKfRKoYVG1hdboZ8iC7"
1111
1212 let e = base58'7KAXNTswj6947a6cVpGhVrh1utWpLcjwf8AFpWCtuMT7'
1313
1414 let f = "NONE"
1515
1616 let g = 100000
1717
1818 func h (i) = {
1919 let j = getString(this, i)
2020 if (isDefined(j))
2121 then extract(j)
2222 else throw((i + " was not initialized before contract deployment"))
2323 }
2424
2525
2626 func k (i) = {
2727 let j = getInteger(this, i)
2828 if (isDefined(j))
2929 then extract(j)
3030 else throw((i + " was not initialized before contract deployment"))
3131 }
3232
3333
3434 @Callable(l)
3535 func initialize (m,n,o,p) = {
3636 let q = toBase58String(l.caller.bytes)
3737 let r = k("votation_currentnumber")
38- let s = h((("votation" + toString(r)) + "_status"))
38+ let s = h((("votation_" + toString(r)) + "_status"))
3939 if ((q != d))
4040 then throw(((("Only dAPP Owner canconfigure votation. Caller account: " + q) + " dapp owner: ") + d))
4141 else if ((s == a))
4242 then throw(("You cannot configure a new Votation while current status is: " + s))
4343 else if ((height > m))
4444 then throw("Starting Height must be greater than current blockchain height.")
4545 else {
4646 let t = (r + 1)
4747 WriteSet([DataEntry("votation_currentnumber", t), DataEntry("votation_votingasset", o), DataEntry("votation_votingcost", p), DataEntry((("votation_" + toString(t)) + "_startheight"), m), DataEntry((("votation_" + toString(t)) + "_finishheight"), (m + n)), DataEntry((("votation_" + toString(t)) + "_status"), a)])
4848 }
4949 }
5050
5151
5252
5353 @Callable(l)
5454 func vote (u) = {
5555 let q = toBase58String(l.caller.bytes)
5656 let v = extract(l.payment)
5757 let r = k("votation_currentnumber")
5858 let w = fromBase58String(h("votation_votingasset"))
5959 let x = k("votation_votingcost")
6060 let y = k(((("votation_" + toString(r)) + "_") + u))
6161 let z = k((("votation_" + toString(r)) + "_startheight"))
6262 let A = k((("votation_" + toString(r)) + "_finishheight"))
6363 let s = h((("votation_" + toString(r)) + "_status"))
6464 if ((height > A))
6565 then throw("You cannot vote anymore at this height.")
6666 else if ((s != a))
6767 then throw(("Invalid status: you cannot vote now, votation status is: " + s))
6868 else if (if ((v.assetId != w))
6969 then true
7070 else (v.amount != x))
7171 then throw(((("You must pay at least: " + toString(g)) + " WLT to vote. You paid: ") + toString(v.amount)))
7272 else WriteSet([DataEntry(((((("votation_" + toString(r)) + "_") + u) + "_") + q), v.amount), DataEntry((((("votation_" + toString(r)) + "_") + q) + "_bets"), (y + v.amount))])
7373 }
7474
7575
7676
7777 @Callable(l)
7878 func close () = {
7979 let q = toBase58String(l.caller.bytes)
8080 let v = extract(l.payment)
8181 let r = k("votation_currentnumber")
8282 let s = h((("votation_" + toString(r)) + "_status"))
8383 if ((s == b))
8484 then throw("Invalid status: you cannot close a CLOSED vote.")
8585 else WriteSet([DataEntry((("votation_" + toString(r)) + "_status"), b)])
8686 }
8787
8888
8989 @Verifier(B)
9090 func C () = {
9191 let D = B
9292 if (if ($isInstanceOf(D, "SetScriptTransaction"))
9393 then true
9494 else $isInstanceOf(D, "DataTransaction"))
9595 then sigVerify(B.bodyBytes, B.proofs[0], B.senderPublicKey)
9696 else if ($isInstanceOf(D, "InvokeScriptTransaction"))
9797 then true
9898 else true
9999 }
100100

github/deemru/w8io/6500d08 
47.32 ms