tx · Cj5UTcsHRtrkDYi4YZL9QCQFzhSMct3FSA5ut9zDH6xZ

3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9:  -0.01400000 Waves

2020.02.09 04:07 [1921624] smart account 3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9 > SELF 0.00000000 Waves

{ "type": 13, "id": "Cj5UTcsHRtrkDYi4YZL9QCQFzhSMct3FSA5ut9zDH6xZ", "fee": 1400000, "feeAssetId": null, "timestamp": 1581210432477, "version": 1, "sender": "3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9", "senderPublicKey": "6ZJKMPB6S6K9MF8YNg9ppUmWavmC3KCebp1JeaEBdHu1", "proofs": [ "45Zkh5rRuNs8JRVHYdCzMMSBGVGa9VGz3t1Az2daMmmLhKTPkEY7Q68oqKaN8Vphg6d9yD5hZjKgzDucFUhje8yw", "4z7zFwySJKmizj5QXeEJ3SquURDkspSdzRib98rcBrZ17Dy7i3CcFyqgVLiUbuDu1iR2Dec9EN8pAoAxDSKNTStH" ], "script": "base64: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d2FyZAAAAAEAAAAGYW1vdW50BAAAAAhpc0FjdGl2ZQQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAR0aGlzAgAAAAtkYXBwX3N0YXR1cwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABeAUAAAAHJG1hdGNoMAUAAAABeAcDAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQYJAABnAAAAAgUAAAANbGFzdEJsb2NrVGltZQkAAGQAAAACBQAAAA1tb250aE9wZW5UaW1lBQAAAAd0aW1lb3V0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACNUaGUgbmV4dCByZXdhcmQgd2lsbCBiZSBzZW50IGFmdGVyIAkBAAAAEHRvRGF0ZVRpbWVTdHJpbmcAAAABCQAAZAAAAAIFAAAADW1vbnRoT3BlblRpbWUFAAAACGF2Z01vbnRoAgAAAAEuAwkBAAAAAiE9AAAAAggFAAAAA2ludgAAAA9jYWxsZXJQdWJsaWNLZXkFAAAADW1hbmFnZXJQdWJLZXkJAAACAAAAAQIAAAAkT25seSBhZG1pbmlzdHJhdG9yIGNhbiBzZW5kIHJld2FyZHMhAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANpbnYAAAAHcGF5bWVudAkAAAIAAAABAgAAADFQbGVhc2UgZG8gbm90IGF0dGFjaCBwYXltZW50IHdoZW4gc2VuZGluZyByZXdhcmQuBAAAAA5vbGRCYXNlQmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAMYmFsYW5jZV9iYXNlBAAAAA9vbGRRdW90ZUJhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADWJhbGFuY2VfcXVvdGUEAAAAC2Jhc2VCYWxhbmNlCQAD6wAAAAIFAAAABHRoaXMFAAAADWFtb3VudEFzc2V0SWQEAAAADHF1b3RlQmFsYW5jZQkAA+sAAAACBQAAAAR0aGlzBQAAAAxwcmljZUFzc2V0SWQEAAAACW1heEFtb3VudAkAAGUAAAACBQAAAAxxdW90ZUJhbGFuY2UJAABrAAAAAwUAAAAPb2xkUXVvdGVCYWxhbmNlBQAAAA5vbGRCYXNlQmFs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", "chainId": 87, "height": 1921624, "spentComplexity": 0 } View: original | compacted Prev: 7aRQFY8r3EAUAkweAsQ8QGEWZQCirdJzkQs7dvk3doBE Next: 4RNRPBMRwRtnoHbKPwLdYgtQorf3LtiEDRoypwwQ4zgL Diff:
OldNewDifferences
55
66 let b = base58'EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK'
77
8-let c = "3PLmA3WSdGbeX3FdyWyyLyWvZoffnMrND7D"
8+let c = base58'TmuBv3VXcuvwBUwzhW3fWoAuykKSbQPzBd9QvbKqtdg'
99
10-let d = "3PGEh2VpbpYyetTUTCY6bRxv2mpMwZoz5sP"
10+let d = base58'5dQbzkYkh2UWtcR1cDwxZVzkduK1SVEeVa1TyLmD6eVU'
1111
12-let e = "vote"
12+let e = base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT'
1313
14-let f = base58'5dQbzkYkh2UWtcR1cDwxZVzkduK1SVEeVa1TyLmD6eVU'
14+let f = (86400 * 1000)
1515
16-let g = base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT'
16+let g = (2629746 * 1000)
1717
18-let h = (86400 * 1000)
18+let h = lastBlock.timestamp
1919
20-let i = (2629746 * 1000)
20+let i = ((h / g) * g)
2121
22-let j = lastBlock.timestamp
22+let j = ((h / (3 * g)) * (3 * g))
2323
24-let k = ((j / i) * i)
25-
26-let l = ((j / (3 * i)) * (3 * i))
27-
28-func m (n) = {
29- let o = " "
30- let p = " UTC"
31- let q = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
32- let r = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
33- if (if ((-12212553600000 > n))
24+func k (l) = {
25+ let m = " "
26+ let n = " UTC"
27+ let o = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
28+ let p = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
29+ if (if ((-12212553600000 > l))
3430 then true
35- else (n > 253402300799999))
31+ else (l > 253402300799999))
3632 then throw("ISO 8601: Only years from 1583 to 9999 are permitted.")
3733 else {
38- let s = (((((1969 * 365) + (1969 / 4)) - (1969 / 100)) + (1969 / 400)) + 366)
39- let t = (n + ((s * 86400) * 1000))
40- let u = {
41- let v = ((t / (31556952 * 1000)) - 1)
42- let w = (((((v * 365) + (v / 4)) - (v / 100)) + (v / 400)) + 366)
43- let x = ((t / (86400 * 1000)) - w)
44- let y = if (if (if ((((v + 1) % 4) == 0))
45- then (((v + 1) % 100) != 0)
34+ let q = (((((1969 * 365) + (1969 / 4)) - (1969 / 100)) + (1969 / 400)) + 366)
35+ let r = (l + ((q * 86400) * 1000))
36+ let s = {
37+ let t = ((r / (31556952 * 1000)) - 1)
38+ let u = (((((t * 365) + (t / 4)) - (t / 100)) + (t / 400)) + 366)
39+ let v = ((r / (86400 * 1000)) - u)
40+ let w = if (if (if ((((t + 1) % 4) == 0))
41+ then (((t + 1) % 100) != 0)
4642 else false)
4743 then true
48- else (((v + 1) % 400) == 0))
49- then r
50- else q
51- let z = if ((x >= y[12]))
44+ else (((t + 1) % 400) == 0))
45+ then p
46+ else o
47+ let x = if ((v >= w[12]))
5248 then throw()
53- else if ((x >= y[11]))
49+ else if ((v >= w[11]))
5450 then 11
55- else if ((x >= y[10]))
51+ else if ((v >= w[10]))
5652 then 10
57- else if ((x >= y[9]))
53+ else if ((v >= w[9]))
5854 then 9
59- else if ((x >= y[8]))
55+ else if ((v >= w[8]))
6056 then 8
61- else if ((x >= y[7]))
57+ else if ((v >= w[7]))
6258 then 7
63- else if ((x >= y[6]))
59+ else if ((v >= w[6]))
6460 then 6
65- else if ((x >= y[5]))
61+ else if ((v >= w[5]))
6662 then 5
67- else if ((x >= y[4]))
63+ else if ((v >= w[4]))
6864 then 4
69- else if ((x >= y[3]))
65+ else if ((v >= w[3]))
7066 then 3
71- else if ((x >= y[2]))
67+ else if ((v >= w[2]))
7268 then 2
73- else if ((x >= y[1]))
69+ else if ((v >= w[1]))
7470 then 1
75- else if ((x >= y[0]))
71+ else if ((v >= w[0]))
7672 then 0
7773 else throw()
78- let A = (x - y[z])
79- ((((toString((v + 1)) + "-") + drop(toString((z + 101)), 1)) + "-") + drop(toString((A + 101)), 1))
74+ let y = (v - w[x])
75+ ((((toString((t + 1)) + "-") + drop(toString((x + 101)), 1)) + "-") + drop(toString((y + 101)), 1))
8076 }
81- let B = {
82- let C = (t % (86400 * 1000))
83- let D = (C / (3600 * 1000))
84- let E = (C % (3600 * 1000))
85- let z = (E / (60 * 1000))
86- let F = (E % (60 * 1000))
87- let G = (F / 1000)
88- let H = (F % 1000)
89- ((((drop(toString((D + 100)), 1) + ":") + drop(toString((z + 100)), 1)) + ":") + drop(toString((G + 100)), 1))
77+ let z = {
78+ let A = (r % (86400 * 1000))
79+ let B = (A / (3600 * 1000))
80+ let C = (A % (3600 * 1000))
81+ let x = (C / (60 * 1000))
82+ let D = (C % (60 * 1000))
83+ let E = (D / 1000)
84+ let F = (D % 1000)
85+ ((((drop(toString((B + 100)), 1) + ":") + drop(toString((x + 100)), 1)) + ":") + drop(toString((E + 100)), 1))
9086 }
91- (((u + o) + B) + p)
87+ (((s + m) + z) + n)
9288 }
9389 }
9490
9591
96-@Callable(I)
92+@Callable(G)
9793 func setBalance () = {
98- let J = {
99- let K = getBoolean(this, "dapp_status")
100- if ($isInstanceOf(K, "Boolean"))
94+ let H = {
95+ let I = getBoolean(this, "dapp_status")
96+ if ($isInstanceOf(I, "Boolean"))
10197 then {
102- let L = K
103- L
98+ let J = I
99+ J
104100 }
105101 else false
106102 }
107- if (J)
103+ if (H)
108104 then throw("The account is already initialized for trading.")
109- else if ((I.callerPublicKey != g))
105+ else if ((G.callerPublicKey != e))
110106 then throw("Only the administrator can adjust the balance!")
111- else if (isDefined(I.payment))
107+ else if (isDefined(G.payment))
112108 then throw("Please do not attach payment when setting balance.")
113109 else {
114- let u = m(j)
115- let M = (((take(u, 10) + "T") + take(drop(u, 11), 8)) + "Z")
116- let N = assetBalance(this, b)
117- let O = assetBalance(this, a)
118- WriteSet([DataEntry("balance_base", N), DataEntry("balance_quote", O), DataEntry("dapp_status", true), DataEntry("last_update", M)])
110+ let s = k(h)
111+ let K = (((take(s, 10) + "T") + take(drop(s, 11), 8)) + "Z")
112+ let L = assetBalance(this, b)
113+ let M = assetBalance(this, a)
114+ WriteSet([DataEntry("balance_base", L), DataEntry("balance_quote", M), DataEntry("dapp_status", true), DataEntry("last_update", K)])
119115 }
120116 }
121117
122118
123119
124-@Callable(I)
125-func sendReward (P) = {
126- let J = {
127- let K = getBoolean(this, "dapp_status")
128- if ($isInstanceOf(K, "Boolean"))
120+@Callable(G)
121+func sendReward (N) = {
122+ let H = {
123+ let I = getBoolean(this, "dapp_status")
124+ if ($isInstanceOf(I, "Boolean"))
129125 then {
130- let L = K
131- L
126+ let J = I
127+ J
132128 }
133129 else false
134130 }
135- if (if (!(J))
131+ if (if (!(H))
136132 then true
137- else (j >= (k + h)))
138- then throw((("The next reward will be sent after " + m((k + i))) + "."))
139- else if ((I.callerPublicKey != g))
133+ else (h >= (i + f)))
134+ then throw((("The next reward will be sent after " + k((i + g))) + "."))
135+ else if ((G.callerPublicKey != e))
140136 then throw("Only administrator can send rewards!")
141- else if (isDefined(I.payment))
137+ else if (isDefined(G.payment))
142138 then throw("Please do not attach payment when sending reward.")
143139 else {
144- let Q = getIntegerValue(this, "balance_base")
145- let R = getIntegerValue(this, "balance_quote")
146- let N = assetBalance(this, b)
147- let O = assetBalance(this, a)
148- let S = (O - fraction(R, Q, N))
149- if ((0 >= P))
140+ let O = getIntegerValue(this, "balance_base")
141+ let P = getIntegerValue(this, "balance_quote")
142+ let L = assetBalance(this, b)
143+ let M = assetBalance(this, a)
144+ let Q = (M - fraction(P, O, L))
145+ if ((0 >= N))
150146 then throw("Zero or negative rewards are not allowed.")
151- else if ((P > S))
152- then throw((("The maximum allowed amount is " + toString(S)) + "."))
147+ else if ((N > Q))
148+ then throw((("The maximum allowed amount is " + toString(Q)) + "."))
153149 else {
154- let u = m(j)
155- let M = (((take(u, 10) + "T") + take(drop(u, 11), 8)) + "Z")
156- let T = extract(addressFromString(c))
157- ScriptResult(WriteSet([DataEntry("dapp_status", false), DataEntry("last_update", M)]), TransferSet([ScriptTransfer(T, P, a)]))
150+ let s = k(h)
151+ let K = (((take(s, 10) + "T") + take(drop(s, 11), 8)) + "Z")
152+ let R = addressFromPublicKey(c)
153+ ScriptResult(WriteSet([DataEntry("dapp_status", false), DataEntry("last_update", K)]), TransferSet([ScriptTransfer(R, N, a)]))
158154 }
159155 }
160156 }
161157
162158
163-@Verifier(U)
164-func V () = {
165- let K = U
166- if ($isInstanceOf(K, "Order"))
159+@Verifier(S)
160+func T () = {
161+ let I = S
162+ if ($isInstanceOf(I, "Order"))
167163 then {
168- let W = K
169- let X = if (if (if (if ((W.matcherFeeAssetId == a))
170- then (W.assetPair.priceAsset == a)
164+ let U = I
165+ let V = if (if (if (if ((U.matcherFeeAssetId == a))
166+ then (U.assetPair.priceAsset == a)
171167 else false)
172- then (W.assetPair.amountAsset == b)
168+ then (U.assetPair.amountAsset == b)
173169 else false)
174170 then true
175- else if (if ((W.orderType == Buy))
176- then !(isDefined(W.matcherFeeAssetId))
171+ else if (if ((U.orderType == Buy))
172+ then !(isDefined(U.matcherFeeAssetId))
177173 else false)
178- then (W.assetPair.amountAsset == a)
174+ then (U.assetPair.amountAsset == a)
179175 else false)
180176 then true
181- else if (if ((W.orderType == Sell))
182- then !(isDefined(W.matcherFeeAssetId))
177+ else if (if ((U.orderType == Sell))
178+ then !(isDefined(U.matcherFeeAssetId))
183179 else false)
184- then if (!(isDefined(W.assetPair.priceAsset)))
180+ then if (!(isDefined(U.assetPair.priceAsset)))
185181 then true
186- else (W.assetPair.priceAsset == a)
182+ else (U.assetPair.priceAsset == a)
187183 else false
188- if (X)
189- then if (sigVerify(U.bodyBytes, U.proofs[0], f))
184+ if (V)
185+ then if (sigVerify(S.bodyBytes, S.proofs[0], d))
190186 then true
191- else sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
187+ else sigVerify(S.bodyBytes, S.proofs[0], S.senderPublicKey)
192188 else false
193189 }
194- else if (if ($isInstanceOf(K, "LeaseCancelTransaction"))
190+ else if (if ($isInstanceOf(I, "LeaseCancelTransaction"))
195191 then true
196- else $isInstanceOf(K, "LeaseTransaction"))
192+ else $isInstanceOf(I, "LeaseTransaction"))
197193 then {
198- let Y = K
199- sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
194+ let W = I
195+ sigVerify(S.bodyBytes, S.proofs[0], S.senderPublicKey)
200196 }
201- else if ($isInstanceOf(K, "InvokeScriptTransaction"))
197+ else if ($isInstanceOf(I, "TransferTransaction"))
202198 then {
203- let Z = K
204- let aa = addressFromRecipient(Z.dApp)
205- let ab = if ((Z.function == e))
206- then (aa == addressFromString(d))
199+ let X = I
200+ let Y = addressFromRecipient(X.recipient)
201+ let Z = if (if (((j + f) > h))
202+ then if ((X.assetId == a))
203+ then true
204+ else (X.assetId == b)
205+ else false)
206+ then (Y == addressFromPublicKey(c))
207207 else false
208- if (ab)
209- then sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
208+ if (Z)
209+ then sigVerify(S.bodyBytes, S.proofs[1], e)
210210 else false
211211 }
212- else if ($isInstanceOf(K, "TransferTransaction"))
212+ else if ($isInstanceOf(I, "SetScriptTransaction"))
213213 then {
214- let ac = K
215- let aa = addressFromRecipient(ac.recipient)
216- let ad = if (if (((l + h) > j))
217- then if ((ac.assetId == a))
218- then true
219- else (ac.assetId == b)
220- else false)
221- then (aa == addressFromString(c))
222- else false
223- if (ad)
224- then sigVerify(U.bodyBytes, U.proofs[1], g)
225- else false
214+ let aa = I
215+ sigVerify(S.bodyBytes, S.proofs[1], e)
226216 }
227- else if ($isInstanceOf(K, "SetScriptTransaction"))
228- then {
229- let ae = K
230- sigVerify(U.bodyBytes, U.proofs[1], g)
231- }
232- else false
217+ else false
233218 }
234219
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
55
66 let b = base58'EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK'
77
8-let c = "3PLmA3WSdGbeX3FdyWyyLyWvZoffnMrND7D"
8+let c = base58'TmuBv3VXcuvwBUwzhW3fWoAuykKSbQPzBd9QvbKqtdg'
99
10-let d = "3PGEh2VpbpYyetTUTCY6bRxv2mpMwZoz5sP"
10+let d = base58'5dQbzkYkh2UWtcR1cDwxZVzkduK1SVEeVa1TyLmD6eVU'
1111
12-let e = "vote"
12+let e = base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT'
1313
14-let f = base58'5dQbzkYkh2UWtcR1cDwxZVzkduK1SVEeVa1TyLmD6eVU'
14+let f = (86400 * 1000)
1515
16-let g = base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT'
16+let g = (2629746 * 1000)
1717
18-let h = (86400 * 1000)
18+let h = lastBlock.timestamp
1919
20-let i = (2629746 * 1000)
20+let i = ((h / g) * g)
2121
22-let j = lastBlock.timestamp
22+let j = ((h / (3 * g)) * (3 * g))
2323
24-let k = ((j / i) * i)
25-
26-let l = ((j / (3 * i)) * (3 * i))
27-
28-func m (n) = {
29- let o = " "
30- let p = " UTC"
31- let q = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
32- let r = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
33- if (if ((-12212553600000 > n))
24+func k (l) = {
25+ let m = " "
26+ let n = " UTC"
27+ let o = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
28+ let p = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
29+ if (if ((-12212553600000 > l))
3430 then true
35- else (n > 253402300799999))
31+ else (l > 253402300799999))
3632 then throw("ISO 8601: Only years from 1583 to 9999 are permitted.")
3733 else {
38- let s = (((((1969 * 365) + (1969 / 4)) - (1969 / 100)) + (1969 / 400)) + 366)
39- let t = (n + ((s * 86400) * 1000))
40- let u = {
41- let v = ((t / (31556952 * 1000)) - 1)
42- let w = (((((v * 365) + (v / 4)) - (v / 100)) + (v / 400)) + 366)
43- let x = ((t / (86400 * 1000)) - w)
44- let y = if (if (if ((((v + 1) % 4) == 0))
45- then (((v + 1) % 100) != 0)
34+ let q = (((((1969 * 365) + (1969 / 4)) - (1969 / 100)) + (1969 / 400)) + 366)
35+ let r = (l + ((q * 86400) * 1000))
36+ let s = {
37+ let t = ((r / (31556952 * 1000)) - 1)
38+ let u = (((((t * 365) + (t / 4)) - (t / 100)) + (t / 400)) + 366)
39+ let v = ((r / (86400 * 1000)) - u)
40+ let w = if (if (if ((((t + 1) % 4) == 0))
41+ then (((t + 1) % 100) != 0)
4642 else false)
4743 then true
48- else (((v + 1) % 400) == 0))
49- then r
50- else q
51- let z = if ((x >= y[12]))
44+ else (((t + 1) % 400) == 0))
45+ then p
46+ else o
47+ let x = if ((v >= w[12]))
5248 then throw()
53- else if ((x >= y[11]))
49+ else if ((v >= w[11]))
5450 then 11
55- else if ((x >= y[10]))
51+ else if ((v >= w[10]))
5652 then 10
57- else if ((x >= y[9]))
53+ else if ((v >= w[9]))
5854 then 9
59- else if ((x >= y[8]))
55+ else if ((v >= w[8]))
6056 then 8
61- else if ((x >= y[7]))
57+ else if ((v >= w[7]))
6258 then 7
63- else if ((x >= y[6]))
59+ else if ((v >= w[6]))
6460 then 6
65- else if ((x >= y[5]))
61+ else if ((v >= w[5]))
6662 then 5
67- else if ((x >= y[4]))
63+ else if ((v >= w[4]))
6864 then 4
69- else if ((x >= y[3]))
65+ else if ((v >= w[3]))
7066 then 3
71- else if ((x >= y[2]))
67+ else if ((v >= w[2]))
7268 then 2
73- else if ((x >= y[1]))
69+ else if ((v >= w[1]))
7470 then 1
75- else if ((x >= y[0]))
71+ else if ((v >= w[0]))
7672 then 0
7773 else throw()
78- let A = (x - y[z])
79- ((((toString((v + 1)) + "-") + drop(toString((z + 101)), 1)) + "-") + drop(toString((A + 101)), 1))
74+ let y = (v - w[x])
75+ ((((toString((t + 1)) + "-") + drop(toString((x + 101)), 1)) + "-") + drop(toString((y + 101)), 1))
8076 }
81- let B = {
82- let C = (t % (86400 * 1000))
83- let D = (C / (3600 * 1000))
84- let E = (C % (3600 * 1000))
85- let z = (E / (60 * 1000))
86- let F = (E % (60 * 1000))
87- let G = (F / 1000)
88- let H = (F % 1000)
89- ((((drop(toString((D + 100)), 1) + ":") + drop(toString((z + 100)), 1)) + ":") + drop(toString((G + 100)), 1))
77+ let z = {
78+ let A = (r % (86400 * 1000))
79+ let B = (A / (3600 * 1000))
80+ let C = (A % (3600 * 1000))
81+ let x = (C / (60 * 1000))
82+ let D = (C % (60 * 1000))
83+ let E = (D / 1000)
84+ let F = (D % 1000)
85+ ((((drop(toString((B + 100)), 1) + ":") + drop(toString((x + 100)), 1)) + ":") + drop(toString((E + 100)), 1))
9086 }
91- (((u + o) + B) + p)
87+ (((s + m) + z) + n)
9288 }
9389 }
9490
9591
96-@Callable(I)
92+@Callable(G)
9793 func setBalance () = {
98- let J = {
99- let K = getBoolean(this, "dapp_status")
100- if ($isInstanceOf(K, "Boolean"))
94+ let H = {
95+ let I = getBoolean(this, "dapp_status")
96+ if ($isInstanceOf(I, "Boolean"))
10197 then {
102- let L = K
103- L
98+ let J = I
99+ J
104100 }
105101 else false
106102 }
107- if (J)
103+ if (H)
108104 then throw("The account is already initialized for trading.")
109- else if ((I.callerPublicKey != g))
105+ else if ((G.callerPublicKey != e))
110106 then throw("Only the administrator can adjust the balance!")
111- else if (isDefined(I.payment))
107+ else if (isDefined(G.payment))
112108 then throw("Please do not attach payment when setting balance.")
113109 else {
114- let u = m(j)
115- let M = (((take(u, 10) + "T") + take(drop(u, 11), 8)) + "Z")
116- let N = assetBalance(this, b)
117- let O = assetBalance(this, a)
118- WriteSet([DataEntry("balance_base", N), DataEntry("balance_quote", O), DataEntry("dapp_status", true), DataEntry("last_update", M)])
110+ let s = k(h)
111+ let K = (((take(s, 10) + "T") + take(drop(s, 11), 8)) + "Z")
112+ let L = assetBalance(this, b)
113+ let M = assetBalance(this, a)
114+ WriteSet([DataEntry("balance_base", L), DataEntry("balance_quote", M), DataEntry("dapp_status", true), DataEntry("last_update", K)])
119115 }
120116 }
121117
122118
123119
124-@Callable(I)
125-func sendReward (P) = {
126- let J = {
127- let K = getBoolean(this, "dapp_status")
128- if ($isInstanceOf(K, "Boolean"))
120+@Callable(G)
121+func sendReward (N) = {
122+ let H = {
123+ let I = getBoolean(this, "dapp_status")
124+ if ($isInstanceOf(I, "Boolean"))
129125 then {
130- let L = K
131- L
126+ let J = I
127+ J
132128 }
133129 else false
134130 }
135- if (if (!(J))
131+ if (if (!(H))
136132 then true
137- else (j >= (k + h)))
138- then throw((("The next reward will be sent after " + m((k + i))) + "."))
139- else if ((I.callerPublicKey != g))
133+ else (h >= (i + f)))
134+ then throw((("The next reward will be sent after " + k((i + g))) + "."))
135+ else if ((G.callerPublicKey != e))
140136 then throw("Only administrator can send rewards!")
141- else if (isDefined(I.payment))
137+ else if (isDefined(G.payment))
142138 then throw("Please do not attach payment when sending reward.")
143139 else {
144- let Q = getIntegerValue(this, "balance_base")
145- let R = getIntegerValue(this, "balance_quote")
146- let N = assetBalance(this, b)
147- let O = assetBalance(this, a)
148- let S = (O - fraction(R, Q, N))
149- if ((0 >= P))
140+ let O = getIntegerValue(this, "balance_base")
141+ let P = getIntegerValue(this, "balance_quote")
142+ let L = assetBalance(this, b)
143+ let M = assetBalance(this, a)
144+ let Q = (M - fraction(P, O, L))
145+ if ((0 >= N))
150146 then throw("Zero or negative rewards are not allowed.")
151- else if ((P > S))
152- then throw((("The maximum allowed amount is " + toString(S)) + "."))
147+ else if ((N > Q))
148+ then throw((("The maximum allowed amount is " + toString(Q)) + "."))
153149 else {
154- let u = m(j)
155- let M = (((take(u, 10) + "T") + take(drop(u, 11), 8)) + "Z")
156- let T = extract(addressFromString(c))
157- ScriptResult(WriteSet([DataEntry("dapp_status", false), DataEntry("last_update", M)]), TransferSet([ScriptTransfer(T, P, a)]))
150+ let s = k(h)
151+ let K = (((take(s, 10) + "T") + take(drop(s, 11), 8)) + "Z")
152+ let R = addressFromPublicKey(c)
153+ ScriptResult(WriteSet([DataEntry("dapp_status", false), DataEntry("last_update", K)]), TransferSet([ScriptTransfer(R, N, a)]))
158154 }
159155 }
160156 }
161157
162158
163-@Verifier(U)
164-func V () = {
165- let K = U
166- if ($isInstanceOf(K, "Order"))
159+@Verifier(S)
160+func T () = {
161+ let I = S
162+ if ($isInstanceOf(I, "Order"))
167163 then {
168- let W = K
169- let X = if (if (if (if ((W.matcherFeeAssetId == a))
170- then (W.assetPair.priceAsset == a)
164+ let U = I
165+ let V = if (if (if (if ((U.matcherFeeAssetId == a))
166+ then (U.assetPair.priceAsset == a)
171167 else false)
172- then (W.assetPair.amountAsset == b)
168+ then (U.assetPair.amountAsset == b)
173169 else false)
174170 then true
175- else if (if ((W.orderType == Buy))
176- then !(isDefined(W.matcherFeeAssetId))
171+ else if (if ((U.orderType == Buy))
172+ then !(isDefined(U.matcherFeeAssetId))
177173 else false)
178- then (W.assetPair.amountAsset == a)
174+ then (U.assetPair.amountAsset == a)
179175 else false)
180176 then true
181- else if (if ((W.orderType == Sell))
182- then !(isDefined(W.matcherFeeAssetId))
177+ else if (if ((U.orderType == Sell))
178+ then !(isDefined(U.matcherFeeAssetId))
183179 else false)
184- then if (!(isDefined(W.assetPair.priceAsset)))
180+ then if (!(isDefined(U.assetPair.priceAsset)))
185181 then true
186- else (W.assetPair.priceAsset == a)
182+ else (U.assetPair.priceAsset == a)
187183 else false
188- if (X)
189- then if (sigVerify(U.bodyBytes, U.proofs[0], f))
184+ if (V)
185+ then if (sigVerify(S.bodyBytes, S.proofs[0], d))
190186 then true
191- else sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
187+ else sigVerify(S.bodyBytes, S.proofs[0], S.senderPublicKey)
192188 else false
193189 }
194- else if (if ($isInstanceOf(K, "LeaseCancelTransaction"))
190+ else if (if ($isInstanceOf(I, "LeaseCancelTransaction"))
195191 then true
196- else $isInstanceOf(K, "LeaseTransaction"))
192+ else $isInstanceOf(I, "LeaseTransaction"))
197193 then {
198- let Y = K
199- sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
194+ let W = I
195+ sigVerify(S.bodyBytes, S.proofs[0], S.senderPublicKey)
200196 }
201- else if ($isInstanceOf(K, "InvokeScriptTransaction"))
197+ else if ($isInstanceOf(I, "TransferTransaction"))
202198 then {
203- let Z = K
204- let aa = addressFromRecipient(Z.dApp)
205- let ab = if ((Z.function == e))
206- then (aa == addressFromString(d))
199+ let X = I
200+ let Y = addressFromRecipient(X.recipient)
201+ let Z = if (if (((j + f) > h))
202+ then if ((X.assetId == a))
203+ then true
204+ else (X.assetId == b)
205+ else false)
206+ then (Y == addressFromPublicKey(c))
207207 else false
208- if (ab)
209- then sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
208+ if (Z)
209+ then sigVerify(S.bodyBytes, S.proofs[1], e)
210210 else false
211211 }
212- else if ($isInstanceOf(K, "TransferTransaction"))
212+ else if ($isInstanceOf(I, "SetScriptTransaction"))
213213 then {
214- let ac = K
215- let aa = addressFromRecipient(ac.recipient)
216- let ad = if (if (((l + h) > j))
217- then if ((ac.assetId == a))
218- then true
219- else (ac.assetId == b)
220- else false)
221- then (aa == addressFromString(c))
222- else false
223- if (ad)
224- then sigVerify(U.bodyBytes, U.proofs[1], g)
225- else false
214+ let aa = I
215+ sigVerify(S.bodyBytes, S.proofs[1], e)
226216 }
227- else if ($isInstanceOf(K, "SetScriptTransaction"))
228- then {
229- let ae = K
230- sigVerify(U.bodyBytes, U.proofs[1], g)
231- }
232- else false
217+ else false
233218 }
234219

github/deemru/w8io/3ef1775 
130.83 ms