tx · 9mi6zfwKCAmQgyTuADU2xPjK2Efb3f2U4UVLL7kfaWfa

3N3CVn9sX3qfJSBvpzQss4e6D9UWuZufLt1:  -0.01000000 Waves

2019.12.09 15:20 [801230] smart account 3N3CVn9sX3qfJSBvpzQss4e6D9UWuZufLt1 > SELF 0.00000000 Waves

{ "type": 13, "id": "9mi6zfwKCAmQgyTuADU2xPjK2Efb3f2U4UVLL7kfaWfa", "fee": 1000000, "feeAssetId": null, "timestamp": 1575894013777, "version": 1, "sender": "3N3CVn9sX3qfJSBvpzQss4e6D9UWuZufLt1", "senderPublicKey": "4vE67ZcPKK2UWbyQyKxmKJri8fg92CB6XoMM96ucPUTD", "proofs": [ "3guQv5MU3v68gfLDygZJdX3trsdUbAiVsbxvfawBwDqoDwYWNAbidhED4SXRzPB8pABzfwUWKxSZki4Wz2DiMCeh" ], "script": "base64:AAIDAAAAAAAAAA4IARIDCgEIEgMKAQgSAAAAAAYAAAAADG93bmVyQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVCKO49UfdVacf8Y0Qj59HGp7V9voyjFs/QAAAAAJdGlja2V0SHViCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU/zEazQ48/meq1eHXOKa4sSQw0Dyb05n4AAAAABNsb3R0ZXJ5QWRtaW5BZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUf94ftL4Vg1lJrIjOemFa/6T/nk84vWbZAAAAABFkQXBwUmFuZG9tQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVH/eH7S+FYNZSayIznphWv+k/55POL1m2QAAAAAOd2l0aGRyYXdQZXJpb2QAAAAAAAAAqMABAAAAEmV4dHJhY3RSYW5kb21WYWx1ZQAAAAAEAAAAE3JlcXVlc3RDb21taXRlZFR4SWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAAD3JhbmRvbVJlcXVlc3RUeAQAAAAOb3JhY2xlUmVzcG9uc2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEWRBcHBSYW5kb21BZGRyZXNzBQAAABNyZXF1ZXN0Q29tbWl0ZWRUeElkBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAADHJhbmRvbVJlc3VsdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFzBQAAAAckbWF0Y2gwCQABpAAAAAEFAAAAAXMJAAGRAAAAAgkABLUAAAACBQAAAA5vcmFjbGVSZXNwb25zZQIAAAACLS0AAAAAAAAAAAEAAAADAAAACmNvbnRleHRPYmoBAAAAF3JlZ2lzdGVyUmFuZG9tUmVxdWVzdFR4AAAAAQAAAA9yYW5kb21SZXF1ZXN0VHgDCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzAgAAAA9yYW5kb21SZXF1ZXN0VHgJAAACAAAAAQIAAAAncmFuZG9tUmVxdWVzdFR4IGlzIGFscmVhZHkgaW4gdGhlIHN0YXRlAwkBAAAACWlzRGVmaW5lZAAAAAEJAAPpAAAAAQkAAlkAAAABBQAAAA9yYW5kb21SZXF1ZXN0VHgJAAACAAAAAQIAAAAyWW91IHRyeSByZWdpc3RlciB0eCB3aGljaCBpcyBhbHJlYWR5IGluIGJsb2NrY2hhaW4DCQAAAAAAAAIIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAATbG90dGVyeUFkbWluQWRkcmVzcwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAPcmFuZG9tUmVxdWVzdFR4BQAAAA9yYW5kb21SZXF1ZXN0VHgJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAC3N0YXJ0SGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25pbAkAAAIAAAABAgAAACZvbmx5IGxvdGVyeU93bmVyIGNhbiBzdGFydCB0aGUgbG90dGVyeQAAAApjb250ZXh0T2JqAQAAAA9kZWZpbmVUaGVXaW5uZXIAAAABAAAAD3RpY2tldHNJbkh1YktleQQAAAAScmFuZG9tUmVzdWx0U3RyaW5nCQEAAAASZXh0cmFjdFJhbmRvbVZhbHVlAAAAAAQAAAAMcmFuZG9tUmVzdWx0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAAEnJhbmRvbVJlc3VsdFN0cmluZwMJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIFAAAABHRoaXMCAAAADHdpbm5lclRpY2tldAkAAAIAAAABAgAAABl3aW5uZXIgaXMgYWxyZWFkeSBkZWZpbmVkAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAJdGlja2V0SHViCQABLAAAAAICAAAADXdpbm5pbmdUaWNrZXQFAAAAEnJhbmRvbVJlc3VsdFN0cmluZwQAAAAMdGlja2V0QW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAl0aWNrZXRIdWICAAAAEXRpY2tldEFtb3VudFRvdGFsBAAAABJyYW5kb21SZXN1bHRVcGRhdGUDCQAAAAAAAAIFAAAADHJhbmRvbVJlc3VsdAUAAAAMdGlja2V0QW1vdW50AAAAAAAAAAABCQAAZAAAAAIFAAAADHJhbmRvbVJlc3VsdAAAAAAAAAAAAQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAMcmFuZG9tUmVzdWx0BQAAABJyYW5kb21SZXN1bHRVcGRhdGUFAAAAA25pbAQAAAAKdGlja2V0RnJvbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIJAAS1AAAAAgkAAZEAAAACCQAEtQAAAAIFAAAAD3RpY2tldHNJbkh1YktleQIAAAACVG8AAAAAAAAAAAACAAAAC3RpY2tldHNGcm9tAAAAAAAAAAABBAAAAAh0aWNrZXRUbwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIJAAS1AAAAAgUAAAAPdGlja2V0c0luSHViS2V5AgAAAAJUbwAAAAAAAAAAAQMDCQAAZwAAAAIFAAAADHJhbmRvbVJlc3VsdAUAAAAKdGlja2V0RnJvbQkAAGcAAAACBQAAAAh0aWNrZXRUbwUAAAAMcmFuZG9tUmVzdWx0BwQAAAANd2lubmVyQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAJdGlja2V0SHViBQAAAA90aWNrZXRzSW5IdWJLZXkJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADHdpbm5lclRpY2tldAUAAAAMcmFuZG9tUmVzdWx0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAA13aW5uZXJBZGRyZXNzBQAAAA13aW5uZXJBZGRyZXNzBQAAAANuaWwJAAACAAAAAQIAAAAYdGhlc2UgdGlja2V0cyBkaWRuJ3Qgd2luAAAACmNvbnRleHRPYmoBAAAACHdpdGhkcmF3AAAAAAQAAAANd2lubmVyQWRkcmVzcwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAAA13aW5uZXJBZGRyZXNzBAAAAAtzdGFydEhlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAALc3RhcnRIZWlnaHQEAAAABW1vbnRoBQAAAA53aXRoZHJhd1BlcmlvZAMDCQAAAAAAAAIIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAANd2lubmVyQWRkcmVzcwkAAGcAAAACCQAAZAAAAAIFAAAAC3N0YXJ0SGVpZ2h0BQAAAAVtb250aAUAAAAGaGVpZ2h0BwkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA13aW5uZXJBZGRyZXNzCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAEdGhpcwUAAAAEdW5pdAUAAAADbmlsAwMDCQAAAAAAAAIIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAATbG90dGVyeUFkbWluQWRkcmVzcwYJAAAAAAAAAggFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAAxvd25lckFkZHJlc3MJAABmAAAAAgUAAAAGaGVpZ2h0CQAAZAAAAAIFAAAAC3N0YXJ0SGVpZ2h0BQAAAAVtb250aAcJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAMb3duZXJBZGRyZXNzCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAEdGhpcwUAAAAEdW5pdAUAAAADbmlsCQAAAgAAAAECAAAAHHlvdSBjYW4ndCB3aXRoZHJhdyB0aGUgZnVuZHMAAAAAGz7CXA==", "chainId": 84, "height": 801230, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = Address(base58'3Ms4ovcT1Rtq2BExHqRbBMUeKCYmDSSGGV2')
5+
6+let b = Address(base58'3NDBQuh31vLj5JCUN9go6iDgAzJFKvwmZ3d')
7+
8+let c = Address(base58'3N1aBgieFCpxDJorNX7i41KWaP974Ci9roS')
9+
10+let d = Address(base58'3N1aBgieFCpxDJorNX7i41KWaP974Ci9roS')
11+
12+let e = 43200
13+
14+func f () = {
15+ let g = getStringValue(this, "randomRequestTx")
16+ let h = getStringValue(d, g)
17+ let i = getInteger(this, "randomResult")
18+ if ($isInstanceOf(i, "Int"))
19+ then {
20+ let j = i
21+ toString(j)
22+ }
23+ else split(h, "--")[1]
24+ }
25+
26+
27+@Callable(k)
28+func registerRandomRequestTx (l) = if (isDefined(getString(this, "randomRequestTx")))
29+ then throw("randomRequestTx is already in the state")
30+ else if (isDefined(transactionHeightById(fromBase58String(l))))
31+ then throw("You try register tx which is already in blockchain")
32+ else if ((k.caller == c))
33+ then WriteSet([DataEntry("randomRequestTx", l), DataEntry("startHeight", height)])
34+ else throw("only loteryOwner can start the lottery")
35+
36+
37+
38+@Callable(k)
39+func defineTheWinner (m) = {
40+ let n = f()
41+ let o = parseIntValue(n)
42+ if (isDefined(getInteger(this, "winnerTicket")))
43+ then throw("winner is already defined")
44+ else if (isDefined(getString(b, ("winningTicket" + n))))
45+ then {
46+ let p = getIntegerValue(b, "ticketAmountTotal")
47+ let q = if ((o == p))
48+ then 1
49+ else (o + 1)
50+ WriteSet([DataEntry("randomResult", q)])
51+ }
52+ else {
53+ let r = parseIntValue(split(split(m, "To")[0], "ticketsFrom")[1])
54+ let s = parseIntValue(split(m, "To")[1])
55+ if (if ((o >= r))
56+ then (s >= o)
57+ else false)
58+ then {
59+ let t = getStringValue(b, m)
60+ WriteSet([DataEntry("winnerTicket", o), DataEntry("winnerAddress", t)])
61+ }
62+ else throw("these tickets didn't win")
63+ }
64+ }
65+
66+
67+
68+@Callable(k)
69+func withdraw () = {
70+ let t = addressFromStringValue(getStringValue(this, "winnerAddress"))
71+ let u = getIntegerValue(this, "startHeight")
72+ let v = e
73+ if (if ((k.caller == t))
74+ then ((u + v) >= height)
75+ else false)
76+ then TransferSet([ScriptTransfer(t, wavesBalance(this), unit)])
77+ else if (if (if ((k.caller == c))
78+ then true
79+ else (k.caller == a))
80+ then (height > (u + v))
81+ else false)
82+ then TransferSet([ScriptTransfer(a, wavesBalance(this), unit)])
83+ else throw("you can't withdraw the funds")
84+ }
85+
86+

github/deemru/w8io/026f985 
25.49 ms