tx · 5iXxxFzFthwBsBFNCUEVi42Um8n6dfjVz2cnKN32CrzD

3MwJgoFVv4YFZDkQREUXDPxSq2AnSQNrBip:  -0.01000000 Waves

2019.08.09 15:44 [623456] smart account 3MwJgoFVv4YFZDkQREUXDPxSq2AnSQNrBip > SELF 0.00000000 Waves

{ "type": 13, "id": "5iXxxFzFthwBsBFNCUEVi42Um8n6dfjVz2cnKN32CrzD", "fee": 1000000, "feeAssetId": null, "timestamp": 1565354707531, "version": 1, "sender": "3MwJgoFVv4YFZDkQREUXDPxSq2AnSQNrBip", "senderPublicKey": "4AHKN8yQdK1qZk5K9B85ALDqu3fksE7YbBTKAiUyfsmv", "proofs": [ "4qVCTSDQ9PnrLFtXzM8H22QMzi4aCN1CPTbHxAHaPwAgC1qxjQ1xnPDgT9DJBWDWHf4nTZqT46PGFRBxH4FMbXFE" ], "script": "base64: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AAIFAAAADWhhcmRDYXBUb2tlbnMFAAAACXRva2VuUmF0ZQUAAAALd2F2ZXNPZmZzZXQEAAAAEnVwZGF0ZWRXYXZlc1JhaXNlZAkAAGQAAAACBQAAAAt3YXZlc1JhaXNlZAUAAAAMc2VuZGVkQW1vdW50AwkAAGYAAAACBQAAABJ1cGRhdGVkV2F2ZXNSYWlzZWQFAAAADGhhcmRDYXBXYXZlcwkAAAIAAAABAgAAACJBdHRhY2hlZCBwYXltZW50IG92ZXJmbG93cyBoYXJkY2FwBAAAAA50b2tlbkFtb3VudFJhdwkAAGgAAAACBQAAAAxzZW5kZWRBbW91bnQFAAAACXRva2VuUmF0ZQMJAABmAAAAAgUAAAALd2F2ZXNPZmZzZXQFAAAADnRva2VuQW1vdW50UmF3CQAAAgAAAAECAAAAMEF0dGFjaGVkIHBheW1lbnQgaXMgdG9vIGxvdyB0byBidXkgdW5pdCBvZiB0b2tlbgQAAAALdG9rZW5BbW91bnQJAABpAAAAAgUAAAAOdG9rZW5BbW91bnRSYXcFAAAAC3dhdmVzT2Zmc2V0CQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALd2F2ZXNSYWlzZWQFAAAAEnVwZGF0ZWRXYXZlc1JhaXNlZAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACWNvbGRWYXVsdAUAAAAMc2VuZGVkQW1vdW50BQAAAAR1bml0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAALdG9rZW5BbW91bnQFAAAABXRva2VuBQAAAANuaWwAAAABaQEAAAAIZmluYWxpemUAAAAAAwkBAAAAASEAAAABCQEAAAALb25seU1hbmFnZXIAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCQAAAgAAAAECAAAAF09ubHkgZm9yIGFkbWluaXN0cmF0aW9uAwkBAAAAC2hhc0ZpbmlzaGVkAAAAAAkAAAIAAAABAgAAABFBbHJlYWR5IGZpbmFsaXplZAMJAQAAAAho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", "chainId": 84, "height": 623456, "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 = base58'3MxyKNmnQkVuDCG9AzMpixKCdUWXfMUsxdg'
5+
6+let b = extract(addressFromString("3MxyKNmnQkVuDCG9AzMpixKCdUWXfMUsxdg"))
7+
8+let c = base58'E8zfn7oQSMKY4Bj9BxY9kVfBxGZAzpn68fdVuq1GEnRA'
9+
10+let d = 500
11+
12+let e = pow(10, 0, 8, 0, 0, Up())
13+
14+let f = 5900000000000
15+
16+let g = true
17+
18+let h = 1565355300
19+
20+let i = 1565910600
21+
22+let j = pow(10, 0, 8, 0, 0, Up())
23+
24+func k (l) = {
25+ let m = toBase58String(l)
26+ let n = toBase58String(a)
27+ if ((m != n))
28+ then false
29+ else true
30+ }
31+
32+
33+func o () = {
34+ let p = value(blockInfoByHeight(height))
35+ (p.timestamp / 1000)
36+ }
37+
38+
39+func q () = {
40+ let r = getInteger(this, "startTime")
41+ let s = r
42+ if ($isInstanceOf(s, "Int"))
43+ then {
44+ let t = s
45+ t
46+ }
47+ else if ($isInstanceOf(s, "Unit"))
48+ then {
49+ let u = s
50+ h
51+ }
52+ else throw()
53+ }
54+
55+
56+func v () = {
57+ let w = getInteger(this, "endTime")
58+ let s = w
59+ if ($isInstanceOf(s, "Int"))
60+ then {
61+ let x = s
62+ x
63+ }
64+ else if ($isInstanceOf(s, "Unit"))
65+ then {
66+ let u = s
67+ i
68+ }
69+ else throw()
70+ }
71+
72+
73+func y () = if ((o() > q()))
74+ then true
75+ else false
76+
77+
78+func z () = if ((o() > v()))
79+ then true
80+ else false
81+
82+
83+func A () = {
84+ let B = getBoolean(this, "finalized")
85+ let s = B
86+ if ($isInstanceOf(s, "Boolean"))
87+ then {
88+ let C = s
89+ C
90+ }
91+ else if ($isInstanceOf(s, "Unit"))
92+ then {
93+ let D = s
94+ false
95+ }
96+ else throw()
97+ }
98+
99+
100+func E () = {
101+ let F = getInteger(this, "wavesRaised")
102+ let s = F
103+ if ($isInstanceOf(s, "Int"))
104+ then {
105+ let G = s
106+ G
107+ }
108+ else if ($isInstanceOf(s, "Unit"))
109+ then {
110+ let H = s
111+ 0
112+ }
113+ else throw()
114+ }
115+
116+
117+func I (J,K) = {
118+ let L = ("whitelistedInvestors-" + toString(K))
119+ let M = getString(this, L)
120+ let s = M
121+ if ($isInstanceOf(s, "String"))
122+ then {
123+ let N = s
124+ let O = indexOf(N, J)
125+ let P = O
126+ if ($isInstanceOf(P, "Int"))
127+ then {
128+ let Q = P
129+ true
130+ }
131+ else if ($isInstanceOf(P, "Unit"))
132+ then {
133+ let R = P
134+ false
135+ }
136+ else throw()
137+ }
138+ else if ($isInstanceOf(s, "Unit"))
139+ then {
140+ let S = s
141+ false
142+ }
143+ else throw()
144+ }
145+
146+
147+func T (J) = if (I(J, 0))
148+ then true
149+ else if (I(J, 1))
150+ then true
151+ else if (I(J, 2))
152+ then true
153+ else if (I(J, 3))
154+ then true
155+ else if (I(J, 4))
156+ then true
157+ else if (I(J, 5))
158+ then true
159+ else if (I(J, 6))
160+ then true
161+ else if (I(J, 7))
162+ then true
163+ else if (I(J, 8))
164+ then true
165+ else if (I(J, 9))
166+ then true
167+ else false
168+
169+
170+@Callable(U)
171+func buyTokens () = {
172+ let V = toBase58String(U.caller.bytes)
173+ let W = extract(U.payment).amount
174+ if ((0 >= W))
175+ then throw("Cannot accept zero value payments")
176+ else if (!(y()))
177+ then throw("STO time is not started yet")
178+ else if (A())
179+ then throw("STO is finalized")
180+ else if (z())
181+ then throw("STO time is already ended")
182+ else {
183+ let F = E()
184+ let X = (j / e)
185+ let Y = ((f / d) * X)
186+ let Z = (F + W)
187+ if ((Z > Y))
188+ then throw("Attached payment overflows hardcap")
189+ else {
190+ let aa = (W * d)
191+ if ((X > aa))
192+ then throw("Attached payment is too low to buy unit of token")
193+ else {
194+ let ab = (aa / X)
195+ ScriptResult(WriteSet([DataEntry("wavesRaised", Z)]), TransferSet([ScriptTransfer(b, W, unit), ScriptTransfer(U.caller, ab, c)]))
196+ }
197+ }
198+ }
199+ }
200+
201+
202+
203+@Callable(U)
204+func finalize () = if (!(k(U.caller.bytes)))
205+ then throw("Only for administration")
206+ else if (A())
207+ then throw("Already finalized")
208+ else if (z())
209+ then WriteSet([DataEntry("finalized", true)])
210+ else throw("STO not finished yet")
211+
212+
213+
214+@Callable(U)
215+func setStartTime (ac) = if (!(k(U.caller.bytes)))
216+ then throw("Only for administration")
217+ else if (!(g))
218+ then throw("changing dates is not supported")
219+ else if ((o() >= ac))
220+ then throw("Cannot set time to past")
221+ else if ((ac > v()))
222+ then throw("Start date must be lower than end date")
223+ else WriteSet([DataEntry("startTime", ac)])
224+
225+
226+
227+@Callable(U)
228+func setEndTime (ad) = if (!(k(U.caller.bytes)))
229+ then throw("Only for administration")
230+ else if (!(g))
231+ then throw("changing dates is not supported")
232+ else if ((o() >= ad))
233+ then throw("Cannot set time to past")
234+ else if ((q() > ad))
235+ then throw("End date must be higher than start date")
236+ else WriteSet([DataEntry("endTime", ad)])
237+
238+
239+
240+@Callable(U)
241+func setStartAndEndTimes (ac,ad) = if (!(k(U.caller.bytes)))
242+ then throw("Only for administration")
243+ else if (!(g))
244+ then throw("changing dates is not supported")
245+ else if ((o() >= ac))
246+ then throw("Cannot set start time to past")
247+ else if ((ac > ad))
248+ then throw("Start date must be lower than end date")
249+ else if ((o() >= ad))
250+ then throw("Cannot set end time to past")
251+ else WriteSet([DataEntry("startTime", ac), DataEntry("endTime", ad)])
252+
253+
254+@Verifier(ae)
255+func af () = false
256+

github/deemru/w8io/026f985 
23.49 ms