tx · 3Z7waZhQH36wo9FvZwnsg2hsfxhBDwKo8tDGPBcLzmkU

3PQ5smtcz4F9F3rhbj3PX6GBgM4YtPkeHCg:  -0.01600000 Waves

2022.09.16 15:57 [3297185] smart account 3PQ5smtcz4F9F3rhbj3PX6GBgM4YtPkeHCg > SELF 0.00000000 Waves

{ "type": 13, "id": "3Z7waZhQH36wo9FvZwnsg2hsfxhBDwKo8tDGPBcLzmkU", "fee": 1600000, "feeAssetId": null, "timestamp": 1663333096221, "version": 2, "chainId": 87, "sender": "3PQ5smtcz4F9F3rhbj3PX6GBgM4YtPkeHCg", "senderPublicKey": "FR8teTy3vHXM8K3qgseLD8fgBc5Rw5ge9NBZQFYYUJYL", "proofs": [ "3uRBnt8mEZht5vYy8KSwV7vB4t1Hc1uhFHHAsg8DprMAdjGuY8G835EGZPgCNgEYWg3Dtwhycy4PXmuP7FTvQ7sn" ], "script": "base64:AAIFAAAAAAAAABIIAhIOCgwIAQEICAgICAEIAQgAAAAiAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAMdHJ5R2V0U3RyaW5nAAAAAQAAAANrZXkJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIFAAAABHRoaXMFAAAAA2tleQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAAAx0cnlHZXRTdHJpbmcAAAABAgAAABRzdGF0aWNfb3JhY2xlQWRkcmVzcwEAAAASZ2V0Q2ZNYXN0ZXJBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABZzdGF0aWNfY2ZNYXN0ZXJBZGRyZXNzAQAAABBnZXRCYWNrZW5kUHViS2V5AAAAAAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAUc3RhdGljX2JhY2tlbmRQdWJLZXkAAAAAD2tUb3RhbExpcXVpZGl0eQIAAAAPdG90YWxfbGlxdWlkaXR5AAAAAAxrSW5pdGlhbGl6ZWQCAAAAC0lOSVRJQUxJWkVEAAAAABNrTGlxdWlkaXR5VGhyZXNob2xkAgAAABNMSVFVSURJVFlfVEhSRVNIT0xEAAAAABFrVG90YWxTaGFyZVRva2VucwIAAAASdG90YWxfc2hhcmVfdG9rZW5zAAAAAA1rU2hhcmVBc3NldElkAgAAAA5TSEFSRV9BU1NFVF9JRAAAAAAOa0luY3ViYXRvckRhcHACAAAADklOQ1VCQVRPUl9EQVBQAAAAAAxrQnJlZWRlckRhcHACAAAADEJSRUVERVJfREFQUAAAAAAMa0Zhcm1pbmdEYXBwAgAAAAxGQVJNSU5HX0RBUFAAAAAAEGtNYXJrZXRQ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", "height": 3297185, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EBHYGU2nsF4KtDqGz2ffnYu6v5FB3DK8eaRUhpXqrAKt Next: HFGjJpWMUPQQjhv8RhTfZNWQH71ZaeHELoT3Mfc7wqAK Diff:
OldNewDifferences
189189
190190
191191 func ai (aj,ak,al,ab,X,am,an,ao) = {
192- let ap = makeString([X, ak, aj, al, toString(ab), toString(am)], ";")
193- let aq = 3600000
194- if (!(sigVerify_8Kb(toBytes(ap), fromBase58String(an), i())))
195- then throw(((("MCACS: Invalid proof from backend key" + toBase58String(i())) + " ") + ap))
192+ let ap = contains(al, "ART")
193+ let aq = if (ap)
194+ then makeString([al, toString(ab), toString(am)], ";")
195+ else makeString([X, ak, aj, al, toString(ab), toString(am)], ";")
196+ let ar = 3600000
197+ if (!(sigVerify_8Kb(toBytes(aq), fromBase58String(an), i())))
198+ then throw(((("MCACS: Invalid proof from backend key" + toBase58String(i())) + " ") + aq))
196199 else {
197- let ar = lastBlock.timestamp
198- if ((ar > (am + aq)))
200+ let as = lastBlock.timestamp
201+ if ((as > (am + ar)))
199202 then throw("MCACS: Outdated signature!")
200203 else {
201- let as = R(fromBase58String(ao))
202- let at = (as - parseIntValue(split(X, ".")[0]))
203- if (if ((-5 > at))
204- then true
205- else (at > 5))
206- then throw(((((("MCACS: It seems not the correct price info was passed! " + toString(as)) + " ") + X) + " ") + toString(at)))
204+ let at = R(fromBase58String(ao))
205+ if (ap)
206+ then {
207+ let au = (at - parseIntValue(split(X, ".")[0]))
208+ if (if ((-5 > au))
209+ then true
210+ else (au > 5))
211+ then throw(((((("MCACS: It seems not the correct price info was passed! " + toString(at)) + " ") + X) + " ") + toString(au)))
212+ else ab
213+ }
207214 else ab
208215 }
209216 }
210217 }
211218
212219
213-@Callable(au)
214-func callMarketplaceProxy (av,aw,ax,ay,az,aj,ak,al,ab,X,am,an) = {
215- let aA = addressFromStringValue(D())
216- if ((B(h(), ("farm_" + toString(au.caller))) != true))
220+@Callable(av)
221+func callMarketplaceProxy (aw,ax,ay,az,aA,aj,ak,al,ab,X,am,an) = {
222+ let aB = addressFromStringValue(D())
223+ if ((B(h(), ("farm_" + toString(av.caller))) != true))
217224 then throw("_301=")
218- else if ((av == "initAuction"))
225+ else if ((aw == "initAuction"))
219226 then {
220- let aB = value(au.payments[0])
221- let aC = ai(aj, ak, al, ab, X, am, an, toBase58String(value(aB.assetId)))
222- let aD = fraction(aC, 15, 100)
223- let aE = aw
227+ let aC = value(av.payments[0])
228+ let aD = ai(aj, ak, al, ab, X, am, an, toBase58String(value(aC.assetId)))
229+ let aE = fraction(aD, 15, 100)
224230 let aF = ax
225- if (if (((aC - aD) > aE))
231+ let aG = ay
232+ if (if (((aD - aE) > aF))
226233 then true
227- else (aE > aF))
228- then throw(((((("Price is too low, avg price: " + toString(aC)) + ", min. price: ") + toString((aC - aD))) + ", your bid: ") + toString(aE)))
229- else if ((value(aB.amount) != 1))
234+ else (aF > aG))
235+ then throw(((((("Price is too low, avg price: " + toString(aD)) + ", min. price: ") + toString((aD - aE))) + ", your bid: ") + toString(aF)))
236+ else if ((value(aC.amount) != 1))
230237 then throw("_103")
231238 else {
232- let aG = invoke(aA, "initAuction", [aE, aF, ay, az], [AttachedPayment(value(aB.assetId), 1)])
233- if ((aG == aG))
234- then [StringEntry(("tx_" + toBase58String(au.transactionId)), toBase58String(value(aB.assetId)))]
239+ let aH = invoke(aB, "initAuction", [aF, aG, az, aA], [AttachedPayment(value(aC.assetId), 1)])
240+ if ((aH == aH))
241+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), toBase58String(value(aC.assetId)))]
235242 else throw("Strict value is not equal to itself.")
236243 }
237244 }
238- else if ((av == "placeBid"))
245+ else if ((aw == "placeBid"))
239246 then {
240- let ae = ay
241- let aH = ad(ae)
242- let aI = value(value(au.payments[0]).amount)
243- let aC = ai(aj, ak, al, ab, X, am, an, aH)
244- let aD = fraction(aC, 15, 100)
245- if ((aI > (aC + aD)))
246- then throw(((((("Price is too high, avg price: " + toString(aC)) + ", max. price: ") + toString((aC + aD))) + ", your bid: ") + toString(aI)))
247- else if ((size(au.payments) != 1))
247+ let ae = az
248+ let aI = ad(ae)
249+ let aJ = value(value(av.payments[0]).amount)
250+ let aD = ai(aj, ak, al, ab, X, am, an, aI)
251+ let aE = fraction(aD, 15, 100)
252+ if ((aJ > (aD + aE)))
253+ then throw(((((("Price is too high, avg price: " + toString(aD)) + ", max. price: ") + toString((aD + aE))) + ", your bid: ") + toString(aJ)))
254+ else if ((size(av.payments) != 1))
248255 then throw("_103")
249256 else {
250- let aJ = invoke(aA, "placeBid", [ae], [AttachedPayment(unit, aI)])
251- if ((aJ == aJ))
252- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
257+ let aK = invoke(aB, "placeBid", [ae], [AttachedPayment(unit, aJ)])
258+ if ((aK == aK))
259+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
253260 else throw("Strict value is not equal to itself.")
254261 }
255262 }
256- else if ((av == "acceptBid"))
263+ else if ((aw == "acceptBid"))
257264 then {
258- let ae = ay
259- let ah = az
260- let aH = ad(ae)
261- let aI = ag(ae, ah)
262- let aC = ai(aj, ak, al, ab, X, am, an, aH)
263- let aD = fraction(aC, 15, 100)
264- if (((aC - aD) > aI))
265- then throw(((((("Price is too low, avg price: " + toString(aC)) + ", min. price: ") + toString((aC - aD))) + ", your bid: ") + toString(aI)))
265+ let ae = az
266+ let ah = aA
267+ let aI = ad(ae)
268+ let aJ = ag(ae, ah)
269+ let aD = ai(aj, ak, al, ab, X, am, an, aI)
270+ let aE = fraction(aD, 15, 100)
271+ if (((aD - aE) > aJ))
272+ then throw(((((("Price is too low, avg price: " + toString(aD)) + ", min. price: ") + toString((aD - aE))) + ", your bid: ") + toString(aJ)))
266273 else {
267- let aK = invoke(aA, "acceptBid", [ae, ah], nil)
268- if ((aK == aK))
269- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
274+ let aL = invoke(aB, "acceptBid", [ae, ah], nil)
275+ if ((aL == aL))
276+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
270277 else throw("Strict value is not equal to itself.")
271278 }
272279 }
273- else if ((av == "instantBuy"))
280+ else if ((aw == "instantBuy"))
274281 then {
275- let ae = ay
276- let aH = ad(ae)
277- let aI = value(value(au.payments[0]).amount)
278- let aC = ai(aj, ak, al, ab, X, am, an, aH)
279- let aD = fraction(aC, 15, 100)
280- if ((aI > (aC + aD)))
281- then throw(((((("Price is too high, avg price: " + toString(aC)) + ", max. price: ") + toString((aC + aD))) + ", your bid: ") + toString(aI)))
282- else if ((size(au.payments) != 1))
282+ let ae = az
283+ let aI = ad(ae)
284+ let aJ = value(value(av.payments[0]).amount)
285+ let aD = ai(aj, ak, al, ab, X, am, an, aI)
286+ let aE = fraction(aD, 15, 100)
287+ if ((aJ > (aD + aE)))
288+ then throw(((((("Price is too high, avg price: " + toString(aD)) + ", max. price: ") + toString((aD + aE))) + ", your bid: ") + toString(aJ)))
289+ else if ((size(av.payments) != 1))
283290 then throw("_103")
284- else if ((value(au.payments[0]).assetId != unit))
291+ else if ((value(av.payments[0]).assetId != unit))
285292 then throw("_104")
286293 else {
287- let aL = invoke(aA, "instantBuy", [ae], [AttachedPayment(unit, aI)])
288- if ((aL == aL))
289- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
294+ let aM = invoke(aB, "instantBuy", [ae], [AttachedPayment(unit, aJ)])
295+ if ((aM == aM))
296+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
290297 else throw("Strict value is not equal to itself.")
291298 }
292299 }
293- else if ((av == "cancelBid"))
300+ else if ((aw == "cancelBid"))
294301 then {
295- let ae = ay
296- let ah = az
297- let aK = invoke(aA, "cancelBid", [ae, ah], nil)
298- if ((aK == aK))
299- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
302+ let ae = az
303+ let ah = aA
304+ let aL = invoke(aB, "cancelBid", [ae, ah], nil)
305+ if ((aL == aL))
306+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
300307 else throw("Strict value is not equal to itself.")
301308 }
302- else if ((av == "cancelAuction"))
309+ else if ((aw == "cancelAuction"))
303310 then {
304- let ae = ay
305- let aK = invoke(aA, "cancelAuction", [ae], nil)
306- if ((aK == aK))
307- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
311+ let ae = az
312+ let aL = invoke(aB, "cancelAuction", [ae], nil)
313+ if ((aL == aL))
314+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
308315 else throw("Strict value is not equal to itself.")
309316 }
310317 else throw("_13")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = {
55 let d = getString(b, c)
66 if ($isInstanceOf(d, "String"))
77 then {
88 let e = d
99 e
1010 }
1111 else ""
1212 }
1313
1414
1515 func f (c) = a(this, c)
1616
1717
1818 func g () = Address(fromBase58String(f("static_oracleAddress")))
1919
2020
2121 func h () = Address(fromBase58String(a(g(), "static_cfMasterAddress")))
2222
2323
2424 func i () = fromBase58String(getStringValue(g(), "static_backendPubKey"))
2525
2626
2727 let j = "total_liquidity"
2828
2929 let k = "INITIALIZED"
3030
3131 let l = "LIQUIDITY_THRESHOLD"
3232
3333 let m = "total_share_tokens"
3434
3535 let n = "SHARE_ASSET_ID"
3636
3737 let o = "INCUBATOR_DAPP"
3838
3939 let p = "BREEDER_DAPP"
4040
4141 let q = "FARMING_DAPP"
4242
4343 let r = "MARKETPLACE_PROXY_DAPP"
4444
4545 let s = "AUCTION_DAPP"
4646
4747 let t = "LOCKED"
4848
4949 let u = "total_farming_reward"
5050
5151 let v = "ceo_collected_fee"
5252
5353 let w = "ceo_fee_overall"
5454
5555 let x = "to_distribute"
5656
5757 func y (c) = {
5858 let d = getInteger(this, c)
5959 if ($isInstanceOf(d, "Int"))
6060 then {
6161 let z = d
6262 z
6363 }
6464 else 0
6565 }
6666
6767
6868 func A (c) = {
6969 let d = getBoolean(this, c)
7070 if ($isInstanceOf(d, "Boolean"))
7171 then {
7272 let z = d
7373 z
7474 }
7575 else unit
7676 }
7777
7878
7979 func B (e,c) = {
8080 let d = getBoolean(e, c)
8181 if ($isInstanceOf(d, "Boolean"))
8282 then {
8383 let z = d
8484 z
8585 }
8686 else unit
8787 }
8888
8989
9090 func C (b,c) = {
9191 let d = getInteger(b, c)
9292 if ($isInstanceOf(d, "Int"))
9393 then {
9494 let z = d
9595 z
9696 }
9797 else 0
9898 }
9999
100100
101101 func D () = a(h(), s)
102102
103103
104104 func E (F) = if (contains(F, "0"))
105105 then ""
106106 else F
107107
108108
109109 func G (H) = {
110110 let I = a(h(), o)
111111 let J = a(h(), p)
112112 if ((H == "G"))
113113 then fromBase58String(I)
114114 else fromBase58String(J)
115115 }
116116
117117
118118 func K (L,H) = {
119119 let M = getIntegerValue(Address(G(H)), (("stats_" + L) + "_quantity"))
120120 let N = pow((10000 / M), 4, 5, 1, 2, FLOOR)
121121 if ((N > 0))
122122 then N
123123 else 2
124124 }
125125
126126
127127 func O (P) = {
128128 let d = P
129129 if ($isInstanceOf(d, "String"))
130130 then {
131131 let Q = d
132132 Q
133133 }
134134 else throw("wrong type, expected: String")
135135 }
136136
137137
138138 func R (S) = {
139139 let J = fromBase58String(a(h(), p))
140140 let I = fromBase58String(a(h(), o))
141141 if (if ((value(assetInfo(S)).issuer == Address(J)))
142142 then true
143143 else (value(assetInfo(S)).issuer == Address(I)))
144144 then {
145145 let T = value(assetInfo(S)).name
146146 let H = take(takeRight(T, 2), 1)
147147 let U = O(invoke(Address(J), "getGenFromName", [T], nil))
148148 if ((U == U))
149149 then K(U, H)
150150 else throw("Strict value is not equal to itself.")
151151 }
152152 else throw("_20")
153153 }
154154
155155
156156 func V (W) = {
157157 let X = R(W)
158158 let J = addressFromStringValue(a(h(), p))
159159 let Y = C(J, (("asset_" + toBase58String(W)) + "_children"))
160160 let Z = if ((Y > 0))
161161 then "0"
162162 else "1"
163163 let aa = getInteger(h(), ((("r-" + toString(X)) + "-b-") + Z))
164164 let d = aa
165165 if ($isInstanceOf(d, "Int"))
166166 then {
167167 let ab = d
168168 let ac = if ((Y > 0))
169169 then (200000000 * X)
170170 else 18000000000
171171 if ((ac > ab))
172172 then ac
173173 else ab
174174 }
175175 else throw((((("There is no price for such duck: " + "r-") + toString(X)) + "-b-") + Z))
176176 }
177177
178178
179179 func ad (ae) = {
180180 let af = D()
181181 a(addressFromStringValue(af), (("auction_" + ae) + "_assetId"))
182182 }
183183
184184
185185 func ag (ae,ah) = {
186186 let af = D()
187187 C(addressFromStringValue(af), (((("auction_" + ae) + "_bid_") + ah) + "_amount"))
188188 }
189189
190190
191191 func ai (aj,ak,al,ab,X,am,an,ao) = {
192- let ap = makeString([X, ak, aj, al, toString(ab), toString(am)], ";")
193- let aq = 3600000
194- if (!(sigVerify_8Kb(toBytes(ap), fromBase58String(an), i())))
195- then throw(((("MCACS: Invalid proof from backend key" + toBase58String(i())) + " ") + ap))
192+ let ap = contains(al, "ART")
193+ let aq = if (ap)
194+ then makeString([al, toString(ab), toString(am)], ";")
195+ else makeString([X, ak, aj, al, toString(ab), toString(am)], ";")
196+ let ar = 3600000
197+ if (!(sigVerify_8Kb(toBytes(aq), fromBase58String(an), i())))
198+ then throw(((("MCACS: Invalid proof from backend key" + toBase58String(i())) + " ") + aq))
196199 else {
197- let ar = lastBlock.timestamp
198- if ((ar > (am + aq)))
200+ let as = lastBlock.timestamp
201+ if ((as > (am + ar)))
199202 then throw("MCACS: Outdated signature!")
200203 else {
201- let as = R(fromBase58String(ao))
202- let at = (as - parseIntValue(split(X, ".")[0]))
203- if (if ((-5 > at))
204- then true
205- else (at > 5))
206- then throw(((((("MCACS: It seems not the correct price info was passed! " + toString(as)) + " ") + X) + " ") + toString(at)))
204+ let at = R(fromBase58String(ao))
205+ if (ap)
206+ then {
207+ let au = (at - parseIntValue(split(X, ".")[0]))
208+ if (if ((-5 > au))
209+ then true
210+ else (au > 5))
211+ then throw(((((("MCACS: It seems not the correct price info was passed! " + toString(at)) + " ") + X) + " ") + toString(au)))
212+ else ab
213+ }
207214 else ab
208215 }
209216 }
210217 }
211218
212219
213-@Callable(au)
214-func callMarketplaceProxy (av,aw,ax,ay,az,aj,ak,al,ab,X,am,an) = {
215- let aA = addressFromStringValue(D())
216- if ((B(h(), ("farm_" + toString(au.caller))) != true))
220+@Callable(av)
221+func callMarketplaceProxy (aw,ax,ay,az,aA,aj,ak,al,ab,X,am,an) = {
222+ let aB = addressFromStringValue(D())
223+ if ((B(h(), ("farm_" + toString(av.caller))) != true))
217224 then throw("_301=")
218- else if ((av == "initAuction"))
225+ else if ((aw == "initAuction"))
219226 then {
220- let aB = value(au.payments[0])
221- let aC = ai(aj, ak, al, ab, X, am, an, toBase58String(value(aB.assetId)))
222- let aD = fraction(aC, 15, 100)
223- let aE = aw
227+ let aC = value(av.payments[0])
228+ let aD = ai(aj, ak, al, ab, X, am, an, toBase58String(value(aC.assetId)))
229+ let aE = fraction(aD, 15, 100)
224230 let aF = ax
225- if (if (((aC - aD) > aE))
231+ let aG = ay
232+ if (if (((aD - aE) > aF))
226233 then true
227- else (aE > aF))
228- then throw(((((("Price is too low, avg price: " + toString(aC)) + ", min. price: ") + toString((aC - aD))) + ", your bid: ") + toString(aE)))
229- else if ((value(aB.amount) != 1))
234+ else (aF > aG))
235+ then throw(((((("Price is too low, avg price: " + toString(aD)) + ", min. price: ") + toString((aD - aE))) + ", your bid: ") + toString(aF)))
236+ else if ((value(aC.amount) != 1))
230237 then throw("_103")
231238 else {
232- let aG = invoke(aA, "initAuction", [aE, aF, ay, az], [AttachedPayment(value(aB.assetId), 1)])
233- if ((aG == aG))
234- then [StringEntry(("tx_" + toBase58String(au.transactionId)), toBase58String(value(aB.assetId)))]
239+ let aH = invoke(aB, "initAuction", [aF, aG, az, aA], [AttachedPayment(value(aC.assetId), 1)])
240+ if ((aH == aH))
241+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), toBase58String(value(aC.assetId)))]
235242 else throw("Strict value is not equal to itself.")
236243 }
237244 }
238- else if ((av == "placeBid"))
245+ else if ((aw == "placeBid"))
239246 then {
240- let ae = ay
241- let aH = ad(ae)
242- let aI = value(value(au.payments[0]).amount)
243- let aC = ai(aj, ak, al, ab, X, am, an, aH)
244- let aD = fraction(aC, 15, 100)
245- if ((aI > (aC + aD)))
246- then throw(((((("Price is too high, avg price: " + toString(aC)) + ", max. price: ") + toString((aC + aD))) + ", your bid: ") + toString(aI)))
247- else if ((size(au.payments) != 1))
247+ let ae = az
248+ let aI = ad(ae)
249+ let aJ = value(value(av.payments[0]).amount)
250+ let aD = ai(aj, ak, al, ab, X, am, an, aI)
251+ let aE = fraction(aD, 15, 100)
252+ if ((aJ > (aD + aE)))
253+ then throw(((((("Price is too high, avg price: " + toString(aD)) + ", max. price: ") + toString((aD + aE))) + ", your bid: ") + toString(aJ)))
254+ else if ((size(av.payments) != 1))
248255 then throw("_103")
249256 else {
250- let aJ = invoke(aA, "placeBid", [ae], [AttachedPayment(unit, aI)])
251- if ((aJ == aJ))
252- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
257+ let aK = invoke(aB, "placeBid", [ae], [AttachedPayment(unit, aJ)])
258+ if ((aK == aK))
259+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
253260 else throw("Strict value is not equal to itself.")
254261 }
255262 }
256- else if ((av == "acceptBid"))
263+ else if ((aw == "acceptBid"))
257264 then {
258- let ae = ay
259- let ah = az
260- let aH = ad(ae)
261- let aI = ag(ae, ah)
262- let aC = ai(aj, ak, al, ab, X, am, an, aH)
263- let aD = fraction(aC, 15, 100)
264- if (((aC - aD) > aI))
265- then throw(((((("Price is too low, avg price: " + toString(aC)) + ", min. price: ") + toString((aC - aD))) + ", your bid: ") + toString(aI)))
265+ let ae = az
266+ let ah = aA
267+ let aI = ad(ae)
268+ let aJ = ag(ae, ah)
269+ let aD = ai(aj, ak, al, ab, X, am, an, aI)
270+ let aE = fraction(aD, 15, 100)
271+ if (((aD - aE) > aJ))
272+ then throw(((((("Price is too low, avg price: " + toString(aD)) + ", min. price: ") + toString((aD - aE))) + ", your bid: ") + toString(aJ)))
266273 else {
267- let aK = invoke(aA, "acceptBid", [ae, ah], nil)
268- if ((aK == aK))
269- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
274+ let aL = invoke(aB, "acceptBid", [ae, ah], nil)
275+ if ((aL == aL))
276+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
270277 else throw("Strict value is not equal to itself.")
271278 }
272279 }
273- else if ((av == "instantBuy"))
280+ else if ((aw == "instantBuy"))
274281 then {
275- let ae = ay
276- let aH = ad(ae)
277- let aI = value(value(au.payments[0]).amount)
278- let aC = ai(aj, ak, al, ab, X, am, an, aH)
279- let aD = fraction(aC, 15, 100)
280- if ((aI > (aC + aD)))
281- then throw(((((("Price is too high, avg price: " + toString(aC)) + ", max. price: ") + toString((aC + aD))) + ", your bid: ") + toString(aI)))
282- else if ((size(au.payments) != 1))
282+ let ae = az
283+ let aI = ad(ae)
284+ let aJ = value(value(av.payments[0]).amount)
285+ let aD = ai(aj, ak, al, ab, X, am, an, aI)
286+ let aE = fraction(aD, 15, 100)
287+ if ((aJ > (aD + aE)))
288+ then throw(((((("Price is too high, avg price: " + toString(aD)) + ", max. price: ") + toString((aD + aE))) + ", your bid: ") + toString(aJ)))
289+ else if ((size(av.payments) != 1))
283290 then throw("_103")
284- else if ((value(au.payments[0]).assetId != unit))
291+ else if ((value(av.payments[0]).assetId != unit))
285292 then throw("_104")
286293 else {
287- let aL = invoke(aA, "instantBuy", [ae], [AttachedPayment(unit, aI)])
288- if ((aL == aL))
289- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
294+ let aM = invoke(aB, "instantBuy", [ae], [AttachedPayment(unit, aJ)])
295+ if ((aM == aM))
296+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
290297 else throw("Strict value is not equal to itself.")
291298 }
292299 }
293- else if ((av == "cancelBid"))
300+ else if ((aw == "cancelBid"))
294301 then {
295- let ae = ay
296- let ah = az
297- let aK = invoke(aA, "cancelBid", [ae, ah], nil)
298- if ((aK == aK))
299- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
302+ let ae = az
303+ let ah = aA
304+ let aL = invoke(aB, "cancelBid", [ae, ah], nil)
305+ if ((aL == aL))
306+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
300307 else throw("Strict value is not equal to itself.")
301308 }
302- else if ((av == "cancelAuction"))
309+ else if ((aw == "cancelAuction"))
303310 then {
304- let ae = ay
305- let aK = invoke(aA, "cancelAuction", [ae], nil)
306- if ((aK == aK))
307- then [StringEntry(("tx_" + toBase58String(au.transactionId)), ae)]
311+ let ae = az
312+ let aL = invoke(aB, "cancelAuction", [ae], nil)
313+ if ((aL == aL))
314+ then [StringEntry(("tx_" + toBase58String(av.transactionId)), ae)]
308315 else throw("Strict value is not equal to itself.")
309316 }
310317 else throw("_13")
311318 }
312319
313320

github/deemru/w8io/3ef1775 
103.20 ms