tx · Hk9Rr6yaGvgWAAmLLzQy5QEuHK3z9AmrDCzEL53sEJo

3Mp1GGUhbaJVu7Eaf8bKMGr3B29GVjrketT:  -0.01400000 Waves

2019.11.14 17:13 [764846] smart account 3Mp1GGUhbaJVu7Eaf8bKMGr3B29GVjrketT > SELF 0.00000000 Waves

{ "type": 13, "id": "Hk9Rr6yaGvgWAAmLLzQy5QEuHK3z9AmrDCzEL53sEJo", "fee": 1400000, "feeAssetId": null, "timestamp": 1573740819908, "version": 1, "sender": "3Mp1GGUhbaJVu7Eaf8bKMGr3B29GVjrketT", "senderPublicKey": "DbiR14ueb9NPcXN29auNX8QYMDkJ1f1K4wZwA1aYrJmy", "proofs": [ "4n3WhUwQy4BfmWnN3JQFCpksSZfiYcvyAeiER3W8NLec9BPquzqphjcMQifWrDcb77HmNrLt2gjtmFDYWe7DvKXn" ], "script": "base64:AAIDAAAAAAAAAA4IARIDCgEIEgMKAQgSAAAAAAMAAAAAE2xvdHRlcnlUaWNrZXRIb2xkZXIJAQAAAAdleHRyYWN0AAAAAQkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM01wMUdHVWhiYUpWdTdFYWY4YktNR3IzQjI5R1ZqcmtldFQAAAAADGxvdHRlcnlPd25lcgIAAAAjM01yQzFvcVZDb0xrZkhhYmhKdHJMSlM2R3hjb29Rd1JXdVAAAAAAC293bmVyUHViS2V5AQAAABoBVBjzmHLth4DINEYU5skLKl0RBMt23vfe8gAAAAMAAAAKY29udGV4dE9iagEAAAAXcmFuZG9tUmVxdWVzdFR4SWRSZWNvcmQAAAABAAAAEXJhbmRvbVJlcXVlc3RUeElkAwkBAAAACWlzRGVmaW5lZAAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAAEXJhbmRvbVJlcXVlc3RUeElkCQAAAgAAAAECAAAAInJhbmRvbUlkVHggaXMgYWxyZWFkeSBpbiB0aGUgc3RhdGUDCQAAAAAAAAIIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQUAAAAMbG90dGVyeU93bmVyCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABFyYW5kb21SZXF1ZXN0VHhJZAUAAAARcmFuZG9tUmVxdWVzdFR4SWQFAAAAA25pbAkAAAIAAAABAgAAACBvbmx5IG93bmVyIGNhbiBzdGFydCB0aGUgbG90dGVyeQAAAApjb250ZXh0T2JqAQAAAAtjaGVja1JhbmRvbQAAAAEAAAAOcmFuZG9tUmVzcG9uc2UEAAAAGXJhbmRvbVJlcXVlc3RDb21taXRlZFR4SWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAAEXJhbmRvbVJlcXVlc3RUeElkBAAAAAZzdGF0dXMJAAGRAAAAAgkABLUAAAACBQAAAA5yYW5kb21SZXNwb25zZQIAAAABXwAAAAAAAAAAAAQAAAAKcmFuZG9tVHhJZAkAAZEAAAACCQAEtQAAAAIFAAAADnJhbmRvbVJlc3BvbnNlAgAAAAFfAAAAAAAAAAABBAAAAAxyYW5kb21SZXN1bHQJAAGRAAAAAgkABLUAAAACBQAAAA5yYW5kb21SZXNwb25zZQIAAAACLS0AAAAAAAAAAAEDAwkAAAAAAAACBQAAAAZzdGF0dXMCAAAACEZJTklTSEVECQAAAAAAAAIFAAAACnJhbmRvbVR4SWQFAAAAGXJhbmRvbVJlcXVlc3RDb21taXRlZFR4SWQHCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAxyYW5kb21SZXN1bHQFAAAADHJhbmRvbVJlc3VsdAUAAAADbmlsCQAAAgAAAAECAAAAF0luY29ycmVjdCByYW5kb20gcmVzdWx0AAAACmNvbnRleHRPYmoBAAAAD2RlZmluZVRoZVdpbm5lcgAAAAAEAAAADHJhbmRvbVJlc3VsdAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAMcmFuZG9tUmVzdWx0AwkBAAAACWlzRGVmaW5lZAAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAE2xvdHRlcnlUaWNrZXRIb2xkZXIJAAEsAAAAAgIAAAANd2lubmluZ1RpY2tldAkAAaQAAAABBQAAAAxyYW5kb21SZXN1bHQEAAAADHRpY2tldEFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAATbG90dGVyeVRpY2tldEhvbGRlcgIAAAAMdGlja2V0QW1vdW50BAAAABJyYW5kb21SZXN1bHRVcGRhdGUDCQAAAAAAAAIFAAAADHJhbmRvbVJlc3VsdAUAAAAMdGlja2V0QW1vdW50AAAAAAAAAAABCQAAZAAAAAIFAAAADHJhbmRvbVJlc3VsdAAAAAAAAAAAAQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAMcmFuZG9tUmVzdWx0BQAAABJyYW5kb21SZXN1bHRVcGRhdGUFAAAAA25pbAQAAAANd2lubmVyQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAATbG90dGVyeVRpY2tldEhvbGRlcgkAASwAAAACAgAAAAZ0aWNrZXQJAAGkAAAAAQUAAAAMcmFuZG9tUmVzdWx0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAx3aW5uZXJUaWNrZXQFAAAADHJhbmRvbVJlc3VsdAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAANd2lubmVyQWRkcmVzcwUAAAANd2lubmVyQWRkcmVzcwUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAQaGVpZ2h0U3RhcnRMZWFzZQAAAAAAAAAAAQQAAAAOaGVpZ2h0RW5kTGVhc2UAAAAAAAAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABBMZWFzZVRyYW5zYWN0aW9uBAAAAAFsBQAAAAckbWF0Y2gwAwMDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAQaGVpZ2h0U3RhcnRMZWFzZQkAAGYAAAACBQAAAA5oZWlnaHRFbmRMZWFzZQUAAAAGaGVpZ2h0BwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwIAAAANd2lubmVyQWRkcmVzcwcJAAAAAAAAAggFAAAAAWwAAAAJcmVjaXBpZW50CQEAAAARYWRkcmVzc0Zyb21TdHJpbmcAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAAA13aW5uZXJBZGRyZXNzBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAWTGVhc2VDYW5jZWxUcmFuc2FjdGlvbgQAAAACbGMFAAAAByRtYXRjaDADCQAAZgAAAAIFAAAABmhlaWdodAUAAAAQaGVpZ2h0U3RhcnRMZWFzZQkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAC293bmVyUHViS2V5BwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABBoZWlnaHRTdGFydExlYXNlCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAALb3duZXJQdWJLZXkHB5djfVc=", "chainId": 84, "height": 764846, "spentComplexity": 0 } View: original | compacted Prev: 7217WYestxuoVxtWZbt3ZJPp3HypBYcuFUSseP1uRpav Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = 10000
4+let a = extract(addressFromString("3Mp1GGUhbaJVu7Eaf8bKMGr3B29GVjrketT"))
55
6-let b = "8afYrbDBr6Tw5JgaWUgm2GncY7rL87JvGG7aWezWMGgZ"
6+let b = "3MrC1oqVCoLkfHabhJtrLJS6GxcooQwRWuP"
77
8-@Callable(c)
9-func buyTicket (d) = {
10- let e = c.payment
11- if ($isInstanceOf(e, "AttachedPayment"))
12- then {
13- let f = e
14- if (if ((f.amount == a))
15- then (toBase58String(extract(f.assetId)) == b)
16- else false)
17- then {
18- let g = (getIntegerValue(this, "ticketAmount") + 1)
19- WriteSet([DataEntry(("ticket" + toString(g)), d), DataEntry("ticketAmount", g)])
20- }
21- else throw("Incorrect amount or assetId in payment")
22- }
23- else throw("Payment not attached")
8+let c = base58'3MrC1oqVCoLkfHabhJtrLJS6GxcooQwRWuP'
9+
10+@Callable(d)
11+func randomRequestTxIdRecord (e) = if (isDefined(getStringValue(this, "randomRequestTxId")))
12+ then throw("randomIdTx is already in the state")
13+ else if ((d.caller == addressFromString(b)))
14+ then WriteSet([DataEntry("randomRequestTxId", e)])
15+ else throw("only owner can start the lottery")
16+
17+
18+
19+@Callable(d)
20+func checkRandom (f) = {
21+ let g = getStringValue(this, "randomRequestTxId")
22+ let h = split(f, "_")[0]
23+ let i = split(f, "_")[1]
24+ let j = split(f, "--")[1]
25+ if (if ((h == "FINISHED"))
26+ then (i == g)
27+ else false)
28+ then WriteSet([DataEntry("randomResult", j)])
29+ else throw("Incorrect random result")
2430 }
2531
2632
2733
28-@Callable(c)
29-func addWinner (h,i) = {
30- let j = extract(addressFromString(h))
31- if (isDefined(getString(this, h)))
34+@Callable(d)
35+func defineTheWinner () = {
36+ let j = getIntegerValue(this, "randomResult")
37+ if (isDefined(getIntegerValue(a, ("winningTicket" + toString(j)))))
3238 then {
33- let k = getString(j, "winner")
34- WriteSet([DataEntry("winningTicket", i)])
39+ let k = getIntegerValue(a, "ticketAmount")
40+ let l = if ((j == k))
41+ then 1
42+ else (j + 1)
43+ WriteSet([DataEntry("randomResult", l)])
3544 }
36- else throw("you touch incorrect lottery address")
45+ else {
46+ let m = getIntegerValue(a, ("ticket" + toString(j)))
47+ WriteSet([DataEntry("winnerTicket", j), DataEntry("winnerAddress", m)])
48+ }
3749 }
3850
51+
52+@Verifier(n)
53+func o () = {
54+ let p = 1
55+ let q = 0
56+ let r = n
57+ if ($isInstanceOf(r, "LeaseTransaction"))
58+ then {
59+ let s = r
60+ if (if (if ((height > p))
61+ then (q > height)
62+ else false)
63+ then isDefined(getString(this, "winnerAddress"))
64+ else false)
65+ then (s.recipient == addressFromString(getStringValue(this, "winnerAddress")))
66+ else false
67+ }
68+ else if ($isInstanceOf(r, "LeaseCancelTransaction"))
69+ then {
70+ let t = r
71+ if ((height > p))
72+ then sigVerify(n.bodyBytes, n.proofs[0], c)
73+ else false
74+ }
75+ else if ($isInstanceOf(r, "TransferTransaction"))
76+ then {
77+ let u = r
78+ if ((height > p))
79+ then sigVerify(n.bodyBytes, n.proofs[0], c)
80+ else false
81+ }
82+ else false
83+ }
3984

github/deemru/w8io/873ac7e 
74.63 ms