tx · 7PTXUoKUMVyBB2cBR1uQJwRrFqsFAix81yJJkt2QBFwg 3MyEYRPtg6etpXQE5zv1AWQrMe78q4Ez9Fq: -0.00700000 Waves 2024.06.04 14:55 [3135921] smart account 3MyEYRPtg6etpXQE5zv1AWQrMe78q4Ez9Fq > SELF 0.00000000 Waves
{ "type": 13, "id": "7PTXUoKUMVyBB2cBR1uQJwRrFqsFAix81yJJkt2QBFwg", "fee": 700000, "feeAssetId": null, "timestamp": 1717502135954, "version": 2, "chainId": 84, "sender": "3MyEYRPtg6etpXQE5zv1AWQrMe78q4Ez9Fq", "senderPublicKey": "DtK3M7kDmHS6LmfshkJuVF8TP4ytP9G6BmNviTqZMsmE", "proofs": [ "4ibwXtmFEckviNSH6NhAfjrrapejNx7FmpSGdhnAbDx29hScvVBdzNJhyCo6JaL4x3BhMtg8Twc9z4L3rnxrDFzG" ], "script": "base64:BgIWCAISBgoEAQEIAhIECgIBAhIECgIBAhcAA1NFUAICX18BBGpvaW4BBWFycmF5CQC5CQIFBWFycmF5BQNTRVABCHNlcGFyYXRlAQZzdHJpbmcJALUJAgUGc3RyaW5nBQNTRVAAC2Rlbm9taW5hdG9yAOgHAAt3aW5uZXJTaGFyZQC8BQAKYWRtaW5TaGFyZQDIAQAMY3JlYXRvclNoYXJlADIADXJlZmVycmVyU2hhcmUAMgEPbG90dGVyeUNvdW50S2V5AAkBBGpvaW4BCQDMCAICAiVzCQDMCAICDGxvdHRlcnlDb3VudAUDbmlsARhsb3R0ZXJ5RW5kQmxvY2tIZWlnaHRLZXkBCWxvdHRlcnlJZAkBBGpvaW4BCQDMCAICAiVzCQDMCAICFWxvdHRlcnlFbmRCbG9ja0hlaWdodAkAzAgCCQCkAwEFCWxvdHRlcnlJZAUDbmlsARJsb3R0ZXJ5QmV0UHJpY2VLZXkBCWxvdHRlcnlJZAkBBGpvaW4BCQDMCAICAiVzCQDMCAICD2xvdHRlcnlCZXRQcmljZQkAzAgCCQCkAwEFCWxvdHRlcnlJZAUDbmlsARJsb3R0ZXJ5QmV0QXNzZXRLZXkBCWxvdHRlcnlJZAkBBGpvaW4BCQDMCAICAiVzCQDMCAICD2xvdHRlcnlCZXRBc3NldAkAzAgCCQCkAwEFCWxvdHRlcnlJZAUDbmlsARhsb3R0ZXJ5V2lubmVyVGlja2V0SWRLZXkBCWxvdHRlcnlJZAkBBGpvaW4BCQDMCAICAiVzCQDMCAICFWxvdHRlcnlXaW5uZXJUaWNrZXRJZAkAzAgCCQCkAwEFCWxvdHRlcnlJZAUDbmlsARZsb3R0ZXJ5Q291bnRUaWNrZXRzS2V5AQlsb3R0ZXJ5SWQJAQRqb2luAQkAzAgCAgIlcwkAzAgCAhNsb3R0ZXJ5Q291bnRUaWNrZXRzCQDMCAIJAKQDAQUJbG90dGVyeUlkBQNuaWwBEWxvdHRlcnlDcmVhdG9yS2V5AQlsb3R0ZXJ5SWQJAQRqb2luAQkAzAgCAgIlcwkAzAgCAg5sb3R0ZXJ5Q3JlYXRvcgkAzAgCCQCkAwEFCWxvdHRlcnlJZAUDbmlsARVsb3R0ZXJ5SXNGaW5hbGl6ZWRLZXkBCWxvdHRlcnlJZAkBBGpvaW4BCQDMCAICAiVzCQDMCAICEmxvdHRlcnlJc0ZpbmFsaXplZAkAzAgCCQCkAwEFCWxvdHRlcnlJZAUDbmlsARVsb3R0ZXJ5VGlja2V0T3duZXJLZXkCCWxvdHRlcnlJZAh0aWNrZXRJZAkBBGpvaW4BCQDMCAICAiVzCQDMCAICEmxvdHRlcnlUaWNrZXRPd25lcgkAzAgCCQCkAwEFCWxvdHRlcnlJZAkAzAgCCQCkAwEFCHRpY2tldElkBQNuaWwAEnBpZWNlT2ZTaGl0QXJyYXk5MAkAzAgCAAAJAMwIAgABCQDMCAIAAgkAzAgCAAMJAMwIAgAECQDMCAIABQkAzAgCAAYJAMwIAgAHCQDMCAIACAkAzAgCAAkJAMwIAgAKCQDMCAIACwkAzAgCAAwJAMwIAgANCQDMCAIADgkAzAgCAA8JAMwIAgAQCQDMCAIAEQkAzAgCABIJAMwIAgATCQDMCAIAFAkAzAgCABUJAMwIAgAWCQDMCAIAFwkAzAgCABgJAMwIAgAZCQDMCAIAGgkAzAgCABsJAMwIAgAcCQDMCAIAHQkAzAgCAB4JAMwIAgAfCQDMCAIAIAkAzAgCACEJAMwIAgAiCQDMCAIAIwkAzAgCACQJAMwIAgAlCQDMCAIAJgkAzAgCACcJAMwIAgAoCQDMCAIAKQkAzAgCACoJAMwIAgArCQDMCAIALAkAzAgCAC0JAMwIAgAuCQDMCAIALwkAzAgCADAJAMwIAgAxCQDMCAIAMgkAzAgCADMJAMwIAgA0CQDMCAIANQkAzAgCADYJAMwIAgA3CQDMCAIAOAkAzAgCADkJAMwIAgA6CQDMCAIAOwkAzAgCADwJAMwIAgA9CQDMCAIAPgkAzAgCAD8JAMwIAgBACQDMCAIAQQkAzAgCAEIJAMwIAgBDCQDMCAIARAkAzAgCAEUJAMwIAgBGCQDMCAIARwkAzAgCAEgJAMwIAgBJCQDMCAIASgkAzAgCAEsJAMwIAgBMCQDMCAIATQkAzAgCAE4JAMwIAgBPCQDMCAIAUAkAzAgCAFEJAMwIAgBSCQDMCAIAUwkAzAgCAFQJAMwIAgBVCQDMCAIAVgkAzAgCAFcJAMwIAgBYCQDMCAIAWQUDbmlsARFhc3NldElkRnJvbVN0cmluZwEHYXNzZXRJZAMJAAACBQdhc3NldElkAgVXQVZFUwUEdW5pdAkA2QQBBQdhc3NldElkAQ9hc3NldElkVG9TdHJpbmcBB2Fzc2V0SWQEByRtYXRjaDAFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiAgVXQVZFUwELcGF5T25lQXNzZXQCAWkLYXNzZXRTdHJpbmcDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAg5vbmx5IDEgcGF5bWVudAMJAAACCQEPYXNzZXRJZFRvU3RyaW5nAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQthc3NldFN0cmluZwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQJAAIBAgt3cm9uZyBhc3NldAEKcmFuZG9taXplcgELYmxvY2tIZWlnaHQEBWJsb2NrCQDtBwEFC2Jsb2NrSGVpZ2h0AwkBASEBCQEJaXNEZWZpbmVkAQUFYmxvY2sJAAIBAg9ibG9jayBub3QgbWluZWQEBHJhbmQJAQV2YWx1ZQEIBQlsYXN0QmxvY2sDdnJmCQD3AwEFBHJhbmQBCWdldFdpbm5lcgEJbG90dGVyeUlkBAtibG9ja0hlaWdodAkBEUBleHRyTmF0aXZlKDEwNTUpAQkBGGxvdHRlcnlFbmRCbG9ja0hlaWdodEtleQEFCWxvdHRlcnlJZAQMY291bnRUaWNrZXRzCQERQGV4dHJOYXRpdmUoMTA1NSkBCQEWbG90dGVyeUNvdW50VGlja2V0c0tleQEFCWxvdHRlcnlJZAQEcmFuZAkBCnJhbmRvbWl6ZXIBBQtibG9ja0hlaWdodAQJd2luTnVtYmVyCQBqAgkAsQkBBQRyYW5kBQxjb3VudFRpY2tldHMJARFAZXh0ck5hdGl2ZSgxMDU3KQEJARVsb3R0ZXJ5VGlja2V0T3duZXJLZXkCBQlsb3R0ZXJ5SWQFCXdpbk51bWJlcgMBaQEGY3JlYXRlBA5lbmRCbG9ja0hlaWdodAhiZXRQcmljZQhiZXRUb2tlbghyZWZmZXJlcgMJAGcCCAUJbGFzdEJsb2NrBmhlaWdodAUOZW5kQmxvY2tIZWlnaHQJAAIBAhhpbmNvcnJlY3QgZW5kQmxvY2tIZWlnaHQEBWNvdW50BAckbWF0Y2gwCQCfCAEJAQ9sb3R0ZXJ5Q291bnRLZXkAAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPbG90dGVyeUNvdW50S2V5AAkAZAIFBWNvdW50AAEJAMwIAgkBDEludGVnZXJFbnRyeQIJARhsb3R0ZXJ5RW5kQmxvY2tIZWlnaHRLZXkBBQVjb3VudAUOZW5kQmxvY2tIZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIJARJsb3R0ZXJ5QmV0UHJpY2VLZXkBBQVjb3VudAUIYmV0UHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEmxvdHRlcnlCZXRBc3NldEtleQEFBWNvdW50BQhiZXRUb2tlbgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFmxvdHRlcnlDb3VudFRpY2tldHNLZXkBBQVjb3VudAAACQDMCAIJAQtCaW5hcnlFbnRyeQIJARFsb3R0ZXJ5Q3JlYXRvcktleQEFBWNvdW50BQhyZWZmZXJlcgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBFWxvdHRlcnlJc0ZpbmFsaXplZEtleQEFBWNvdW50BwUDbmlsAWkBA2J1eQIJbG90dGVyeUlkCHJlZmVycmVyBA5iZXRBc3NldFN0cmluZwkBEUBleHRyTmF0aXZlKDEwNTgpAQkBEmxvdHRlcnlCZXRBc3NldEtleQEFCWxvdHRlcnlJZAQIYmV0UHJpY2UJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARJsb3R0ZXJ5QmV0UHJpY2VLZXkBBQlsb3R0ZXJ5SWQEEXRvdGFsQ291bnRUaWNrZXRzCQERQGV4dHJOYXRpdmUoMTA1NSkBCQEWbG90dGVyeUNvdW50VGlja2V0c0tleQEFCWxvdHRlcnlJZAQOZW5kQmxvY2tIZWlnaHQJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARhsb3R0ZXJ5RW5kQmxvY2tIZWlnaHRLZXkBBQlsb3R0ZXJ5SWQDCQBnAggFCWxhc3RCbG9jawZoZWlnaHQFDmVuZEJsb2NrSGVpZ2h0CQACAQIXbG90dGVyeSBhbHJlZHkgZmluaXNoZWQEBmFtb3VudAkBC3BheU9uZUFzc2V0AgUBaQUOYmV0QXNzZXRTdHJpbmcEEHB1cmNoYXNlZFRpY2tldHMJAGkCBQZh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ZW5vbWluYXRvcgkBEWFzc2V0SWRGcm9tU3RyaW5nAQUOYmV0QXNzZXRTdHJpbmcFA25pbAFpAQVjbGFpbQIJbG90dGVyeUlkBHVzZXIEBndpbm5lcgkBCWdldFdpbm5lcgEFCWxvdHRlcnlJZAMJAQIhPQIFBndpbm5lcgUEdXNlcgkAAgECB25vdCB3aW4EC2lzRmluYWxpemVkCQERQGV4dHJOYXRpdmUoMTA1NikBCQEVbG90dGVyeUlzRmluYWxpemVkS2V5AQUJbG90dGVyeUlkAwULaXNGaW5hbGl6ZWQJAAIBAg9hbHJlYWR5IGNsYW1pZWQECGJldFByaWNlCQERQGV4dHJOYXRpdmUoMTA1NSkBCQESbG90dGVyeUJldFByaWNlS2V5AQUJbG90dGVyeUlkBBF0b3RhbENvdW50VGlja2V0cwkBEUBleHRyTmF0aXZlKDEwNTUpAQkBFmxvdHRlcnlDb3VudFRpY2tldHNLZXkBBQlsb3R0ZXJ5SWQEDmJldEFzc2V0U3RyaW5nCQERQGV4dHJOYXRpdmUoMTA1OCkBCQESbG90dGVyeUJldEFzc2V0S2V5AQUJbG90dGVyeUlkBANjYXAJAGgCBQhiZXRQcmljZQURdG90YWxDb3VudFRpY2tldHMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQR1c2VyCQBrAwUDY2FwBQt3aW5uZXJTaGFyZQULZGVub21pbmF0b3IJARFhc3NldElkRnJvbVN0cmluZwEFDmJldEFzc2V0U3RyaW5nCQDMCAIJAQxCb29sZWFuRW50cnkCCQEVbG90dGVyeUlzRmluYWxpemVkS2V5AQUJbG90dGVyeUlkBgUDbmlsAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleYRqDA8=", "height": 3135921, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "__" | |
5 | + | ||
6 | + | func b (c) = makeString(c, a) | |
7 | + | ||
8 | + | ||
9 | + | func d (e) = split(e, a) | |
10 | + | ||
11 | + | ||
12 | + | let f = 1000 | |
13 | + | ||
14 | + | let g = 700 | |
15 | + | ||
16 | + | let h = 200 | |
17 | + | ||
18 | + | let i = 50 | |
19 | + | ||
20 | + | let j = 50 | |
21 | + | ||
22 | + | func k () = b(["%s", "lotteryCount"]) | |
23 | + | ||
24 | + | ||
25 | + | func l (m) = b(["%s", "lotteryEndBlockHeight", toString(m)]) | |
26 | + | ||
27 | + | ||
28 | + | func n (m) = b(["%s", "lotteryBetPrice", toString(m)]) | |
29 | + | ||
30 | + | ||
31 | + | func o (m) = b(["%s", "lotteryBetAsset", toString(m)]) | |
32 | + | ||
33 | + | ||
34 | + | func p (m) = b(["%s", "lotteryWinnerTicketId", toString(m)]) | |
35 | + | ||
36 | + | ||
37 | + | func q (m) = b(["%s", "lotteryCountTickets", toString(m)]) | |
38 | + | ||
39 | + | ||
40 | + | func r (m) = b(["%s", "lotteryCreator", toString(m)]) | |
41 | + | ||
42 | + | ||
43 | + | func s (m) = b(["%s", "lotteryIsFinalized", toString(m)]) | |
44 | + | ||
45 | + | ||
46 | + | func t (m,u) = b(["%s", "lotteryTicketOwner", toString(m), toString(u)]) | |
47 | + | ||
48 | + | ||
49 | + | let v = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89] | |
50 | + | ||
51 | + | func w (x) = if ((x == "WAVES")) | |
52 | + | then unit | |
53 | + | else fromBase58String(x) | |
54 | + | ||
55 | + | ||
56 | + | func y (x) = { | |
57 | + | let z = x | |
58 | + | if ($isInstanceOf(z, "ByteVector")) | |
59 | + | then { | |
60 | + | let A = z | |
61 | + | toBase58String(A) | |
62 | + | } | |
63 | + | else "WAVES" | |
64 | + | } | |
65 | + | ||
66 | + | ||
67 | + | func B (C,D) = if ((size(C.payments) != 1)) | |
68 | + | then throw("only 1 payment") | |
69 | + | else if ((y(C.payments[0].assetId) == D)) | |
70 | + | then C.payments[0].amount | |
71 | + | else throw("wrong asset") | |
72 | + | ||
73 | + | ||
74 | + | func E (F) = { | |
75 | + | let G = blockInfoByHeight(F) | |
76 | + | if (!(isDefined(G))) | |
77 | + | then throw("block not mined") | |
78 | + | else { | |
79 | + | let H = value(lastBlock.vrf) | |
80 | + | sha256(H) | |
81 | + | } | |
82 | + | } | |
83 | + | ||
84 | + | ||
85 | + | func I (m) = { | |
86 | + | let F = getIntegerValue(l(m)) | |
87 | + | let J = getIntegerValue(q(m)) | |
88 | + | let H = E(F) | |
89 | + | let K = (toInt(H) % J) | |
90 | + | getBinaryValue(t(m, K)) | |
91 | + | } | |
92 | + | ||
93 | + | ||
94 | + | @Callable(C) | |
95 | + | func create (L,M,N,O) = if ((lastBlock.height >= L)) | |
96 | + | then throw("incorrect endBlockHeight") | |
97 | + | else { | |
98 | + | let P = { | |
99 | + | let z = getInteger(k()) | |
100 | + | if ($isInstanceOf(z, "Int")) | |
101 | + | then { | |
102 | + | let Q = z | |
103 | + | Q | |
104 | + | } | |
105 | + | else 0 | |
106 | + | } | |
107 | + | [IntegerEntry(k(), (P + 1)), IntegerEntry(l(P), L), IntegerEntry(n(P), M), StringEntry(o(P), N), IntegerEntry(q(P), 0), BinaryEntry(r(P), O), BooleanEntry(s(P), false)] | |
108 | + | } | |
109 | + | ||
110 | + | ||
111 | + | ||
112 | + | @Callable(C) | |
113 | + | func buy (m,R) = { | |
114 | + | let S = getStringValue(o(m)) | |
115 | + | let M = getIntegerValue(n(m)) | |
116 | + | let T = getIntegerValue(q(m)) | |
117 | + | let L = getIntegerValue(l(m)) | |
118 | + | if ((lastBlock.height >= L)) | |
119 | + | then throw("lottery alredy finished") | |
120 | + | else { | |
121 | + | let U = B(C, S) | |
122 | + | let V = (U / M) | |
123 | + | let W = (U % M) | |
124 | + | if ((W != 0)) | |
125 | + | then throw("attach asset amount multiple of the bet") | |
126 | + | else { | |
127 | + | func X (Y,Z) = if ((V > Z)) | |
128 | + | then (Y :+ BinaryEntry(t(m, (T + Z)), C.caller.bytes)) | |
129 | + | else Y | |
130 | + | ||
131 | + | let aa = getBinaryValue(r(m)) | |
132 | + | ({ | |
133 | + | let ab = v | |
134 | + | let ac = size(ab) | |
135 | + | let ad = nil | |
136 | + | func ae (af,ag) = if ((ag >= ac)) | |
137 | + | then af | |
138 | + | else X(af, ab[ag]) | |
139 | + | ||
140 | + | func ah (af,ag) = if ((ag >= ac)) | |
141 | + | then af | |
142 | + | else throw("List size exceeds 90") | |
143 | + | ||
144 | + | ah(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ad, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90) | |
145 | + | } ++ [IntegerEntry(q(m), (T + V)), ScriptTransfer(Address(aa), fraction(U, i, f), w(S)), ScriptTransfer(Address(R), fraction(U, j, f), w(S))]) | |
146 | + | } | |
147 | + | } | |
148 | + | } | |
149 | + | ||
150 | + | ||
151 | + | ||
152 | + | @Callable(C) | |
153 | + | func claim (m,ai) = { | |
154 | + | let aj = I(m) | |
155 | + | if ((aj != ai)) | |
156 | + | then throw("not win") | |
157 | + | else { | |
158 | + | let ak = getBooleanValue(s(m)) | |
159 | + | if (ak) | |
160 | + | then throw("already clamied") | |
161 | + | else { | |
162 | + | let M = getIntegerValue(n(m)) | |
163 | + | let T = getIntegerValue(q(m)) | |
164 | + | let S = getStringValue(o(m)) | |
165 | + | let al = (M * T) | |
166 | + | [ScriptTransfer(Address(ai), fraction(al, g, f), w(S)), BooleanEntry(s(m), true)] | |
167 | + | } | |
168 | + | } | |
169 | + | } | |
170 | + | ||
171 | + | ||
172 | + | @Verifier(am) | |
173 | + | func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey) | |
174 | + |
github/deemru/w8io/026f985 21.59 ms ◑