tx · 9DKTo2ro27Bn22kYERLHySftow8rMKFSUbhWeTUfEfrT

3NCEAB7ztTjq5UmTHHNdZHYMfJrXyQifGDS:  -0.01000000 Waves

2019.10.21 16:41 [729910] smart account 3NCEAB7ztTjq5UmTHHNdZHYMfJrXyQifGDS > SELF 0.00000000 Waves

{ "type": 13, "id": "9DKTo2ro27Bn22kYERLHySftow8rMKFSUbhWeTUfEfrT", "fee": 1000000, "feeAssetId": null, "timestamp": 1571665306072, "version": 1, "sender": "3NCEAB7ztTjq5UmTHHNdZHYMfJrXyQifGDS", "senderPublicKey": "2XfgRoJCsuSZfLf3g5wFj9qpZ6wyU96JxtG3RpiWA2jR", "proofs": [ "64KUQYVA2mrhy5tZCtWp619pFFX6TLeG7cdQKswmdUwzsPVohNh7M6Lu1EysTJoHaKAqt8ndhQfLnijEbRLt52pM" ], "script": "base64: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Q2FwV2F2ZXMJAABoAAAAAgkAAGkAAAACBQAAAA1oYXJkQ2FwVG9rZW5zBQAAAAl0b2tlblJhdGUFAAAAC3dhdmVzT2Zmc2V0BAAAABJ1cGRhdGVkV2F2ZXNSYWlzZWQJAABkAAAAAgUAAAALd2F2ZXNSYWlzZWQFAAAADHNlbmRlZEFtb3VudAMJAABmAAAAAgUAAAASdXBkYXRlZFdhdmVzUmFpc2VkBQAAAAxoYXJkQ2FwV2F2ZXMJAAACAAAAAQIAAAAiQXR0YWNoZWQgcGF5bWVudCBvdmVyZmxvd3MgaGFyZGNhcAQAAAAOdG9rZW5BbW91bnRSYXcJAABoAAAAAgUAAAAMc2VuZGVkQW1vdW50BQAAAAl0b2tlblJhdGUDCQAAZgAAAAIFAAAAC3dhdmVzT2Zmc2V0BQAAAA50b2tlbkFtb3VudFJhdwkAAAIAAAABAgAAADBBdHRhY2hlZCBwYXltZW50IGlzIHRvbyBsb3cgdG8gYnV5IHVuaXQgb2YgdG9rZW4EAAAAC3Rva2VuQW1vdW50CQAAaQAAAAIFAAAADnRva2VuQW1vdW50UmF3BQAAAAt3YXZlc09mZnNldAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAC3dhdmVzUmFpc2VkBQAAABJ1cGRhdGVkV2F2ZXNSYWlzZWQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAljb2xkVmF1bHQFAAAADHNlbmRlZEFtb3VudAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC3Rva2VuQW1vdW50BQAAAAV0b2tlbgUAAAADbmlsAAAAAWkBAAAACGZpbmFsaXplAAAAAAMJAQAAAAEhAAAAAQkBAAAAC29ubHlNYW5hZ2VyAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkAAAIAAAABAgAAABdPbmx5IGZvciBhZG1pbmlzdHJhdGlvbgMJAQAAAAtoYXNGaW5pc2hlZAAAAAAJAAACAAAAAQIAAAARQWxy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", "chainId": 84, "height": 729910, "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'3N81QmTLHXfckSWFjiFz6ooud3HcWjkNbZr'
5+
6+let b = extract(addressFromString("3N81QmTLHXfckSWFjiFz6ooud3HcWjkNbZr"))
7+
8+let c = base58'7kSU5P9EH3LZG2HkiCWex3GLJc4GVPZX3HftBYnxHT15'
9+
10+let d = 1
11+
12+let e = pow(10, 0, 8, 0, 0, Up())
13+
14+let f = 100000000000
15+
16+let g = false
17+
18+let h = 1571734800
19+
20+let i = 1576659600
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/c3f4982 
238.86 ms