tx · 7Dkm7YSE4erQsPKCaXs7wsZs8iUuYtDZ7SsqEcnUPj6H

3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA:  -0.01000000 Waves

2021.08.15 13:51 [1659373] smart account 3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA > SELF 0.00000000 Waves

{ "type": 13, "id": "7Dkm7YSE4erQsPKCaXs7wsZs8iUuYtDZ7SsqEcnUPj6H", "fee": 1000000, "feeAssetId": null, "timestamp": 1629024704433, "version": 2, "chainId": 84, "sender": "3MrWNTqFcHBqb58Za1A5crQrMV5KJ5DYhtA", "senderPublicKey": "9abKuN1XmLjjire2feZH26PmcEWhEXxiHToWSmii3Gn2", "proofs": [ "3VdgVNCKHucjSnJ2wCxgdzj3emEgPrbiVGKGKS14yVxcaq2WsvDsEya6DmW7Bxiz2ZJ451fjo4tS31DmeGx5QVW9" ], "script": "base64:AAIFAAAAAAAACvgIAhIICgYICAgICAgSCQoHCAEBCAgBARIECgIICBIDCgEIEgQKAggIEgYKBAgICAgSBQoDCAgIGg4KAmExEgh1bml0VGVzdBoPCgJhMhIJb3JhY2xlRmVlGhEKAmEzEgtmZWVSZWNlaXZlchoOCgJhNBIIdXNlckRhcHAaEwoCYTUSDXdoaXRlbGlzdERhcHAaEwoCYTYSDXNjb25leEFzc2V0SWQaCwoCYTcSBW93bmVyGhgKAmE4EhJzY29uZXhGaXJzdFNlbGxDdXQaEQoCYTkSC2RhcHBSdW5uaW5nGhQKAmIxEg5tYWludGVuYW5jZU1TRxoTCgJiMhINdXNlclN1c3BlbmRlZBoRCgJiMxILdXNlclJlbW92ZWQaFgoCYjQSEHVzZXJVbnJlZ2lzdGVyZWQaEQoCYjUSC3VzZXJBbGxvd2VkGhIKAmI2EgxhdWN0aW9uVHlwZTEaEgoCYjcSDGF1Y3Rpb25UeXBlMhoUCgJiOBIOZ2V0U3RyaW5nQnlLZXkaCQoCYjkSA2tleRofCgJjMRIZZ2V0SW50ZWdlckJ5S2V5RnJvbU9yYWNsZRoVCgJjMhIPZ2V0SW50ZWdlckJ5S2V5GhQKAmMzEg5jaGVja1doaXRlbGlzdBoVCgJjNBIPZ2V0Qm9vbGVhbkJ5S2V5GhMKAmM1Eg1rZXlVc2VyU3RhdHVzGgwKAmM2EgZjYWxsZXIaDQoCYzcSB2tleURhdGUaCwoCYzgSBWFydElkGg0KAmM5EgdrZXlOYW1lGg0KAmQxEgdrZXlEZXNjGhMKAmQyEg1rZXlEaXNwbGF5Q2lkGhAKAmQzEgprZXlNYXhNaW50GhEKAmQ0EgtrZXlNaW5QcmljZRoRCgJkNRILa2V5RHVyYXRpb24aFAoCZDYSDmtleUF1Y3Rpb25UeXBlGg8KAmQ3EglrZXlJc3N1ZWQaEgoCZDgSDEtleU5mdElzc3VlchoLCgJkORIFbmZ0SWQaDwoCZTESCWtleU9uU2FsZRoNCgJlMhIHa2V5VGFncxoNCgJlMxIHa2V5VHlwZRoOCgJlNBIIa2V5UHJpY2UaGAoCZTUSEmtleUFzc2V0SWRBY2NlcHRlZBoXCgJlNhIRa2V5SGFzaEJ5VHhpZEFkZHIaCgoCZTcSBHR4aWQaFAoCZTgSDmtleU93bmVyQnlIYXNoGhAKAmU5EgpzaGEyNTZIYXNoGhgKAmYxEhJrZXlUeGlkQnlIYXNoT3duZXIaHwoCZjISGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UaFAoCZjMSDnZhbGlkYXRlU3RyaW5nGgkKAmY0EgNzdHIaCQoCZjUSA21heBoSCgJmNhIMdmFsaWRhdGVVc2VyGhAKAmY3Egp1c2VyU3RhdHVzGhkKAmY4EhN2YWxpZGF0ZUFydHdvcmtEYXRhGhAKAmY5EgpjaWREaXNwbGF5GgoKAmcxEgRuYW1lGhEKAmcyEgtkZXNjcmlwdGlvbhoKCgJnMxIEdGFncxoPCgJnNBIJY2hlY2tVc2VyGg8KAmc1Eglpc1BheW1lbnQaBwoCZzYSAWkaDQoCZzcSB3BheW1lbnQaDAoCZzgSBmFtb3VudBoVCgJnORIPdmFsaWRhdGVQYXltZW50GhAKAmgxEgp0MDg5ODI5MDE4Gg0KAmgyEgdhc3NldElkGhoKAmgzEhR2YWxpZGF0ZVByaWNlQXNzZXRJZBoSCgJoNBIMcHJpY2VBc3NldElkGhIKAmg1EgxhcnR3b3JrUHJpY2UaEAoCaDYSCnQwOTYxMTk2NDcaFgoCaDcSEGFjY2VwdGVkQXNzZXRJZHMaFQoCaDgSD3ZhbGlkYXRlTWluU2VsbBoLCgJoORIFcHJpY2UaEwoCaTESDW1pblNlbGxTY29uZXgaEwoCaTISDWdldEJpZEFzc2V0SWQaHAoCaTMSFmdldFByaWNlQXNzZXRJZEZyb21CaWQaEAoCaTQSCmJpZERhdGFLZXkaDQoCaTUSB2JpZERhdGEaEAoCaTYSCmJpZERhdGFBcnIaDwoCaTcSCWJpZEFtb3VudBoQCgJpOBIKYmlkQXNzZXRJZBoSCgJpORIMaWRDYWxsZXJEYXRlGhAKAmoxEgppc0JpZENoZWNrGgwKAmoyEgZpc3N1ZXIaDgoCajMSCGJpZE93bmVyGgsKAmo0EgViaWRJZBoQCgJqNRIKZ2V0QXJ0RGF0YRoLCgJqNhIFaXNCaWQaFAoCajcSDmNhbGxlcklzSXNzdWVyGg4KAmo4Egh0b3RhbE5GVBoRCgJqORILYXJ0d29ya05hbWUaDgoCazESCGlzT25TYWxlGhAKAmsyEgphbW91bnRTb2xkGhAKAmszEgptYXhDYW5TZWxsGhAKAms0EgpnZXRCaWREYXRhGhIKAms1Egx0MDEzNTE5MTM2NDgaFwoCazYSEWdldENvbW1pc3Npb25EYXRhGhMKAms3Eg1pc1doaXRlbGlzdGVkGgkKAms4EgNjdXQaFQoCazkSD2Ftb3VudEZvclNjb25leBoWCgJsMRIQYW1vdW50Rm9yQ3JlYXRvchoTCgJsMhINbmV3QW1vdW50U29sZBoSCgJsMxIMZ2V0SXNzdWVEYXRhGg8KAmw0Eglpc3N1ZU1ldGEaDgoCbDUSCGlzc3VlTkZUGgsKAmw2EgVpZE5GVBoQCgJsNxIKc2VsbFN0YXR1cxoQCgJsOBIKcmVjZWl2ZU5GVBoSCgJsORIMZ2V0QmlkS2V5VmFsGgoKAm0xEgRkYXRlGhAKAm0yEgphc3NldElkQmlkGg8KAm0zEgliaWREZWxPbGQaDwoCbTQSCWJpZFVwZGF0ZRoNCgJtNRIHYnV5TWludBoSCgJtNhIMdDAxNTUxNjE1NTY2GggKAm03EgJpZBoSCgJtOBIMdDAxNTY0NjE1Nzk3GhIKAm05Egx0MDE1ODAyMTU5NDgaEgoCbjESDHQwMTU5NTMxNjA5NRoSCgJuMhIMdDAxNjEwMDE2MjkwGhIKAm4zEgx0MDE2Mjk1MTYzOTQaDQoCbjQSB3NvbGRLZXkaDwoCbjUSCXNvbGRWYWx1ZRoOCgJuNhIIc29sZERhdGEaDAoCbjcSBmJ1eVJlcxoaCgJuOBIUc2V0QmlkTm9uVHJhZGl0aW9uYWwaEgoCbjkSDHQwMjc3MDkyNzc0NxoSCgJvMRIMdDAyNzc1MjI3Nzg4GgwKAm8yEgZiaWROYnIaFwoCbzMSEXNldEJpZFRyYWRpdGlvbmFsGg8KAm80EgllbmRIZWlnaHQaEQoCbzUSC2NhbGxkZXJEYXRhGhIKAm82Egxpc1BheW1lbnRWYXIaEwoCbzcSDWNhbmNlbEJpZEltcGwaEgoCbzgSDHQwMjg5NDIyOTA5NBoPCgJvORIJYmlkU3RhdHVzGh4KAnAxEhhjYW5jZWxCaWRJbXBsVHJhZGl0aW9uYWwaCgoCcDISBHR5cGUaEgoCcDMSDHQwMTc3NDAxNzc4MRoVCgJwNBIPdmFsaWRhdGVBcnR3b3JrGhIKAnA1Egx0MDE4MTcwMTgyMTIaEAoCcDYSCmVudHJ5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", "height": 1659373, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2x6SL6RZsyb9SwHhfojCz1MytqVzXzADt3iomJgejQiv Next: AHbLG9pTRxHsWpUY4Zrv7q2CoAgeoh6e4ejugTkVDr9B Diff:
OldNewDifferences
7878 func H (x,z) = ((("art_issued_" + z) + "_") + x)
7979
8080
81-func I (x,z) = ((("art_onsale_" + z) + "_") + x)
81+func I (J) = ("nft_issued_" + J)
8282
8383
84-func J (x,z) = ((("art_tags_" + z) + "_") + x)
84+func K (x,z) = ((("art_onsale_" + z) + "_") + x)
8585
8686
87-func K (x,z) = ((("art_type_" + z) + "_") + x)
87+func L (x,z) = ((("art_tags_" + z) + "_") + x)
8888
8989
90-func L (x,z) = ((("art_price_" + z) + "_") + x)
90+func M (x,z) = ((("art_type_" + z) + "_") + x)
9191
9292
93-func M (x,z) = ((("art_assetAccepted_" + z) + "_") + x)
93+func N (x,z) = ((("art_price_" + z) + "_") + x)
9494
9595
96-func N (x,O) = ((("get_hashbytxidaddr_" + O) + "_") + x)
96+func O (x,z) = ((("art_assetAccepted_" + z) + "_") + x)
9797
9898
99-func P (Q) = ("get_owner_by_hash_" + Q)
99+func P (x,Q) = ((("get_hashbytxidaddr_" + Q) + "_") + x)
100100
101101
102-func R (Q,x) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((Q + x)))))
102+func R (S) = ("get_owner_by_hash_" + S)
103103
104104
105-let S = s(("certification_fee_" + toBase58String(f)))
105+func T (S,x) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((S + x)))))
106106
107-func T (U,V) = if ((size(U) == 0))
107+
108+let U = s(("certification_fee_" + toBase58String(f)))
109+
110+func V (W,X) = if ((size(W) == 0))
108111 then throw("Field cannot be is empty")
109- else if ((size(U) > V))
110- then throw((U + " is too long"))
112+ else if ((size(W) > X))
113+ then throw((W + " is too long"))
111114 else true
112115
113116
114-func W (x) = {
115- let X = valueOrElse(getString(d, w(x)), m)
116- if (if ((X == m))
117+func Y (x) = {
118+ let Z = valueOrElse(getString(d, w(x)), m)
119+ if (if ((Z == m))
117120 then true
118- else (X == n))
121+ else (Z == n))
119122 then "Register this account first with 'Account' tab"
120- else if ((X == k))
123+ else if ((Z == k))
121124 then "Account suspended"
122- else if ((X == l))
125+ else if ((Z == l))
123126 then "Account removed"
124127 else ""
125128 }
126129
127130
128-func Y (x,Z,aa,ab,ac) = {
129- let ad = W(x)
130- if ((ad != ""))
131- then throw(ad)
132- else if ((size(Z) == 0))
131+func aa (x,ab,ac,ad,ae) = {
132+ let af = Y(x)
133+ if ((af != ""))
134+ then throw(af)
135+ else if ((size(ab) == 0))
133136 then throw("Display CID cannot be empty")
134- else if (!(T(aa, 100)))
137+ else if (!(V(ac, 100)))
135138 then throw("100 Char. max name")
136- else if (!(T(ab, 1000)))
139+ else if (!(V(ad, 1000)))
137140 then throw("1000 Char. max description")
138- else if ((size(split(ac, ",")) > 5))
141+ else if ((size(split(ae, ",")) > 5))
139142 then throw("5 tags max.")
140143 else ""
141144 }
142145
143146
144-func ae (af) = if ((size(af.payments) == 0))
147+func ag (ah) = if ((size(ah.payments) == 0))
145148 then throw("No payment attached")
146149 else {
147- let ag = value(af.payments[0])
148- let ah = value(ag.amount)
149- $Tuple2(ag, ah)
150+ let ai = value(ah.payments[0])
151+ let aj = value(ai.amount)
152+ $Tuple2(ai, aj)
150153 }
151154
152155
153-func ai (af) = {
154- let aj = ae(af)
155- let ag = aj._1
156- let ah = aj._2
157- let ak = if (if (isDefined(ag.assetId))
158- then (ag.assetId == f)
156+func ak (ah) = {
157+ let al = ag(ah)
158+ let ai = al._1
159+ let aj = al._2
160+ let am = if (if (isDefined(ai.assetId))
161+ then (ai.assetId == f)
159162 else false)
160- then ag.assetId
163+ then ai.assetId
161164 else throw("Only Sconex token accepted as transaction fee")
162- if ((ah != S))
163- then throw(("Payment amount should be " + toString(S)))
164- else $Tuple2(ah, ak)
165+ if ((aj != U))
166+ then throw(("Payment amount should be " + toString(U)))
167+ else $Tuple2(aj, am)
165168 }
166169
167170
168-func al (af,am,an) = {
169- let ao = ae(af)
170- let ag = ao._1
171- let ah = ao._2
172- let ak = if (!(isDefined(ag.assetId)))
171+func an (ah,ao,ap) = {
172+ let aq = ag(ah)
173+ let ai = aq._1
174+ let aj = aq._2
175+ let am = if (!(isDefined(ai.assetId)))
173176 then throw("Wrong asset id")
174- else if (if ((size(am) > 0))
175- then (toBase58String(value(ag.assetId)) == am)
177+ else if (if ((size(ao) > 0))
178+ then (toBase58String(value(ai.assetId)) == ao)
176179 else false)
177- then ag.assetId
180+ then ai.assetId
178181 else throw("Wrong asset id")
179- if (if ((ak == unit))
180- then (am != "")
182+ if (if ((am == unit))
183+ then (ao != "")
181184 else false)
182185 then throw("Wrong asset id")
183- else if ((an != ah))
186+ else if ((ap != aj))
184187 then throw("Payment don't match")
185- else $Tuple2(ah, ak)
188+ else $Tuple2(aj, am)
186189 }
187190
188191
189-func ap (ak) = if ((ak != toBase58String(f)))
192+func ar (am) = if ((am != toBase58String(f)))
190193 then throw("Only Sconex accepted")
191194 else true
192195
193196
194-func aq (ak,ar) = {
195- let as = if (a)
197+func as (am,at) = {
198+ let au = if (a)
196199 then 1
197- else (S * 2)
198- if (if (if ((ak == toBase58String(f)))
199- then (as > ar)
200+ else (U * 2)
201+ if (if (if ((am == toBase58String(f)))
202+ then (au > at)
200203 else false)
201- then (ar != 0)
204+ then (at != 0)
202205 else false)
203- then throw(("Wrong minimum sell price " + toString(as)))
206+ then throw(("Wrong minimum sell price " + toString(au)))
204207 else true
205208 }
206209
207210
208-func at (ak) = if ((ak == "WAVES"))
211+func av (am) = if ((am == "WAVES"))
209212 then throw("Only sconex is accepted!")
210- else fromBase58String(ak)
213+ else fromBase58String(am)
211214
212215
213-func au (av) = {
214- let aw = q((av + "_OPEN"))
215- if ((aw == ""))
216+func aw (ax) = {
217+ let ay = q((ax + "_OPEN"))
218+ if ((ay == ""))
216219 then throw("Bid not found")
217220 else {
218- let ax = split(aw, "_")
219- let ay = parseIntValue(ax[1])
220- let az = at(ax[0])
221- if ((0 >= ay))
221+ let az = split(ay, "_")
222+ let aA = parseIntValue(az[1])
223+ let aB = av(az[0])
224+ if ((0 >= aA))
222225 then throw("Wrong amount")
223- else $Tuple2(ay, az)
226+ else $Tuple2(aA, aB)
224227 }
225228 }
226229
227230
228-func aA (af) = if (!(i))
231+func aC (ah) = if (!(i))
229232 then throw(j)
230- else $Tuple3(toBase58String(af.transactionId), toBase58String(af.caller.bytes), lastBlock.timestamp)
233+ else $Tuple3(toBase58String(ah.transactionId), toBase58String(ah.caller.bytes), lastBlock.timestamp)
231234
232235
233-func aB (af,aC,aD,aE) = if (if (if ((toBase58String(af.caller.bytes) == aC))
234- then (aD != "")
236+func aD (ah,aE,aF,aG) = if (if (if ((toBase58String(ah.caller.bytes) == aE))
237+ then (aF != "")
235238 else false)
236- then (aE != "")
239+ then (aG != "")
237240 else false)
238241 then true
239242 else false
240243
241244
242-func aF (af,aC,z,aG) = {
243- let aH = (toBase58String(af.caller.bytes) == aC)
244- let aI = t("total_nft_issued")
245- let aJ = q(A(aC, z))
246- if ((aJ == ""))
245+func aH (ah,aE,z,aI) = {
246+ let aJ = (toBase58String(ah.caller.bytes) == aE)
247+ let aK = t("total_nft_issued")
248+ let aL = q(A(aE, z))
249+ if ((aL == ""))
247250 then throw("Art doesn't exist")
248251 else {
249- let aK = v(I(aC, z))
250- let aL = t(H(aC, z))
251- let an = if (aH)
252- then (S * 2)
253- else t(L(aC, z))
254- let am = if (aH)
252+ let aM = v(K(aE, z))
253+ let aN = t(H(aE, z))
254+ let ap = if (aJ)
255+ then (U * 2)
256+ else t(N(aE, z))
257+ let ao = if (aJ)
255258 then toBase58String(f)
256- else q(M(aC, z))
257- let aM = t(D(aC, z))
258- if (if (if (!(aG))
259- then !(aH)
259+ else q(O(aE, z))
260+ let aO = t(D(aE, z))
261+ if (if (if (!(aI))
262+ then !(aJ)
260263 else false)
261- then if (if ((0 >= an))
264+ then if (if ((0 >= ap))
262265 then true
263- else !(aK))
266+ else !(aM))
264267 then true
265- else (0 >= aM)
268+ else (0 >= aO)
266269 else false)
267270 then throw("Art not for sale")
268- else if (if (if (!(aG))
269- then aH
271+ else if (if (if (!(aI))
272+ then aJ
270273 else false)
271- then (0 >= aM)
274+ then (0 >= aO)
272275 else false)
273276 then throw("Max issuable not set")
274- else $Tuple7(aI, aJ, aL, an, am, aM, aK)
277+ else $Tuple7(aK, aL, aN, ap, ao, aO, aM)
275278 }
276279 }
277280
278281
279-func aN (af,x,aC,z,aD,aE,am,an,aG) = {
280- let ad = W(aC)
281- if (if (aG)
282- then (ad != "")
282+func aP (ah,x,aE,z,aF,aG,ao,ap,aI) = {
283+ let af = Y(aE)
284+ if (if (aI)
285+ then (af != "")
283286 else false)
284- then throw(ad)
287+ then throw(af)
285288 else {
286- let av = ((((((("bid_" + z) + "_") + aC) + "_") + aD) + "_") + aE)
287- let aO = if (aG)
288- then au(av)
289- else al(af, am, an)
290- let ah = aO._1
291- let ak = aO._2
292- $Tuple3(av, ah, ak)
289+ let ax = ((((((("bid_" + z) + "_") + aE) + "_") + aF) + "_") + aG)
290+ let aQ = if (aI)
291+ then aw(ax)
292+ else an(ah, ao, ap)
293+ let aj = aQ._1
294+ let am = aQ._2
295+ $Tuple3(ax, aj, am)
293296 }
294297 }
295298
296299
297-func aP (aC,ak,ah,aL,aM) = {
298- let aQ = u(aC)
299- let aR = if ((aQ > height))
300+func aR (aE,am,aj,aN,aO) = {
301+ let aS = u(aE)
302+ let aT = if ((aS > height))
300303 then 0
301- else if ((ak == f))
304+ else if ((am == f))
302305 then h
303306 else throw("Only Sconex is accepted!")
304- let aS = fraction(ah, aR, 1000)
305- let aT = (ah - aS)
306- if ((aL == aM))
307+ let aU = fraction(aj, aT, 1000)
308+ let aV = (aj - aU)
309+ if ((aN == aO))
307310 then throw("Art sold out")
308311 else {
309- let aU = (aL + 1)
310- $Tuple3(aS, aT, aU)
312+ let aW = (aN + 1)
313+ $Tuple3(aU, aV, aW)
311314 }
312315 }
313316
314317
315-func aV (aC,z,aJ,aU,aM,aI,x,aD,aE,af,aK) = {
316- let aW = ((((((((("Creator: " + aC) + ",ArtID: ") + z) + ",Artwork name: ") + aJ) + ",Issue: ") + toString(aU)) + "/") + toString(aM))
317- let aX = Issue(("SA_" + toString((aI + 1))), aW, 1, 0, false)
318- let aY = calculateAssetId(aX)
319- let aZ = if (if ((aU == aM))
318+func aX (aE,z,aL,aW,aO,aK,x,aF,aG,ah,aM) = {
319+ let aY = ((((((((("Creator: " + aE) + ",ArtID: ") + z) + ",Artwork name: ") + aL) + ",Issue: ") + toString(aW)) + "/") + toString(aO))
320+ let aZ = Issue(("SA_" + toString((aK + 1))), aY, 1, 0, false)
321+ let ba = calculateAssetId(aZ)
322+ let bb = if (if ((aW == aO))
320323 then true
321- else !(aK))
324+ else !(aM))
322325 then false
323326 else true
324- let ba = if (if (if ((x == aC))
325- then (aD != "")
327+ let bc = if (if (if ((x == aE))
328+ then (aF != "")
326329 else false)
327- then (aE != "")
330+ then (aG != "")
328331 else false)
329- then addressFromStringValue(aD)
330- else af.caller
331- $Tuple4(aX, aY, aZ, ba)
332+ then addressFromStringValue(aF)
333+ else ah.caller
334+ $Tuple4(aZ, ba, bb, bc)
332335 }
333336
334337
335-func bb (ak,av,bc) = {
336- let bd = if (!(isDefined(ak)))
338+func bd (am,ax,be) = {
339+ let bf = if (!(isDefined(am)))
337340 then throw("Only sconex is accepted")
338- else toBase58String(value(ak))
339- let aw = q((av + "_OPEN"))
340- let be = DeleteEntry((av + "_OPEN"))
341- let bf = StringEntry((av + "_CLOSED"), ((aw + "_") + toString(bc)))
342- $Tuple3(bd, be, bf)
341+ else toBase58String(value(am))
342+ let ay = q((ax + "_OPEN"))
343+ let bg = DeleteEntry((ax + "_OPEN"))
344+ let bh = StringEntry((ax + "_CLOSED"), ((ay + "_") + toString(be)))
345+ $Tuple3(bf, bg, bh)
343346 }
344347
345348
346-func bg (af,z,aC,aE,aD) = {
347- let bh = aA(af)
348- let bi = bh._1
349- let x = bh._2
350- let bc = bh._3
351- let aG = aB(af, aC, aD, aE)
352- let bj = aF(af, aC, z, aG)
353- let aI = bj._1
354- let aJ = bj._2
355- let aL = bj._3
356- let an = bj._4
357- let am = bj._5
358- let aM = bj._6
359- let aK = bj._7
360- let bk = aN(af, x, aC, z, aD, aE, am, an, aG)
361- let av = bk._1
362- let ah = bk._2
363- let ak = bk._3
364- let bl = aP(aC, value(ak), ah, aL, aM)
365- let aS = bl._1
366- let aT = bl._2
367- let aU = bl._3
368- let bm = aV(aC, z, aJ, aU, aM, aI, x, aD, aE, af, aK)
369- let aX = bm._1
370- let aY = bm._2
371- let aZ = bm._3
372- let ba = bm._4
373- let bn = bb(ak, av, bc)
374- let bd = bn._1
375- let be = bn._2
376- let bf = bn._3
377- let bo = ((((((("art_sold_" + toString(aU)) + "_of_") + toString(aM)) + "_") + z) + "_") + aC)
378- let bp = if (!(aG))
379- then ((((((((((x + "_") + toString(bc)) + "_") + bi) + "_") + toString(an)) + "_") + am) + "_") + toBase58String(aY))
380- else ((((((((((toString(ba) + "_") + toString(bc)) + "_") + bi) + "_") + toString(ah)) + "_") + bd) + "_") + toBase58String(aY))
381- let bq = StringEntry(bo, bp)
382- let br = [IntegerEntry(H(aC, z), aU), StringEntry(("nft_" + toBase58String(aY)), bo), IntegerEntry("total_nft_issued", (aI + 1)), BooleanEntry(I(aC, z), aZ), aX, ScriptTransfer(Address(fromBase58String(aC)), aT, ak), ScriptTransfer(Address(fromBase58String(c)), aS, ak), ScriptTransfer(ba, 1, aY)]
383- if (aG)
384- then (((br :+ bq) :+ bf) :+ be)
385- else bq :: br
349+func bi (ah,z,aE,aG,aF) = {
350+ let bj = aC(ah)
351+ let bk = bj._1
352+ let x = bj._2
353+ let be = bj._3
354+ let aI = aD(ah, aE, aF, aG)
355+ let bl = aH(ah, aE, z, aI)
356+ let aK = bl._1
357+ let aL = bl._2
358+ let aN = bl._3
359+ let ap = bl._4
360+ let ao = bl._5
361+ let aO = bl._6
362+ let aM = bl._7
363+ let bm = aP(ah, x, aE, z, aF, aG, ao, ap, aI)
364+ let ax = bm._1
365+ let aj = bm._2
366+ let am = bm._3
367+ let bn = aR(aE, value(am), aj, aN, aO)
368+ let aU = bn._1
369+ let aV = bn._2
370+ let aW = bn._3
371+ let bo = aX(aE, z, aL, aW, aO, aK, x, aF, aG, ah, aM)
372+ let aZ = bo._1
373+ let ba = bo._2
374+ let bb = bo._3
375+ let bc = bo._4
376+ let bp = bd(am, ax, be)
377+ let bf = bp._1
378+ let bg = bp._2
379+ let bh = bp._3
380+ let bq = ((((((("art_sold_" + toString(aW)) + "_of_") + toString(aO)) + "_") + z) + "_") + aE)
381+ let br = if (!(aI))
382+ then ((((((((((x + "_") + toString(be)) + "_") + bk) + "_") + toString(ap)) + "_") + ao) + "_") + toBase58String(ba))
383+ else ((((((((((toString(bc) + "_") + toString(be)) + "_") + bk) + "_") + toString(aj)) + "_") + bf) + "_") + toBase58String(ba))
384+ let bs = StringEntry(bq, br)
385+ let bt = [IntegerEntry(H(aE, z), aW), StringEntry(("nft_" + toBase58String(ba)), bq), IntegerEntry("total_nft_issued", (aK + 1)), BooleanEntry(K(aE, z), bb), aZ, ScriptTransfer(Address(fromBase58String(aE)), aV, am), ScriptTransfer(Address(fromBase58String(c)), aU, am), ScriptTransfer(bc, 1, ba), StringEntry(I(aE), toBase58String(ba))]
386+ if (aI)
387+ then (((bt :+ bs) :+ bh) :+ bg)
388+ else bs :: bt
386389 }
387390
388391
389-func bs (af,z,aC) = {
390- let bt = aA(af)
391- let bi = bt._1
392- let x = bt._2
393- let bc = bt._3
394- let bu = ae(af)
395- let ag = bu._1
396- let ah = bu._2
397- let ak = if (!(isDefined(ag.assetId)))
392+func bu (ah,z,aE) = {
393+ let bv = aC(ah)
394+ let bk = bv._1
395+ let x = bv._2
396+ let be = bv._3
397+ let bw = ag(ah)
398+ let ai = bw._1
399+ let aj = bw._2
400+ let am = if (!(isDefined(ai.assetId)))
398401 then throw("Only sconex is accepted!")
399- else toBase58String(value(ag.assetId))
400- let bv = t(("current_bidamount_" + z))
401- if (!(ap(ak)))
402+ else toBase58String(value(ai.assetId))
403+ let bx = t(("current_bidamount_" + z))
404+ if (!(ar(am)))
402405 then throw("asset not accepted")
403- else if (!(aq(ak, ah)))
406+ else if (!(as(am, aj)))
404407 then throw("Wrong min sell")
405408 else {
406- let aL = t(H(aC, z))
407- let aM = t(D(aC, z))
408- if ((0 >= aM))
409+ let aN = t(H(aE, z))
410+ let aO = t(D(aE, z))
411+ if ((0 >= aO))
409412 then throw("No max edition set for this artwork")
410- else if ((aL >= aM))
413+ else if ((aN >= aO))
411414 then throw("Sold out, you cannot bid")
412- else [StringEntry((((((((("bid_" + z) + "_") + aC) + "_") + x) + "_") + bi) + "_OPEN"), ((((ak + "_") + toString(ah)) + "_") + toString(bc))), IntegerEntry(("current_bidamount_" + z), (bv + 1))]
415+ else [StringEntry((((((((("bid_" + z) + "_") + aE) + "_") + x) + "_") + bk) + "_OPEN"), ((((am + "_") + toString(aj)) + "_") + toString(be))), IntegerEntry(("current_bidamount_" + z), (bx + 1))]
413416 }
414417 }
415418
416419
417-func bw (af,z,aC) = {
418- let bx = t(F(aC, z))
419- if ((height > bx))
420+func by (ah,z,aE) = {
421+ let bz = t(F(aE, z))
422+ if ((height > bz))
420423 then throw("This auction is finished already!")
421424 else {
422- let by = aA(af)
423- let bi = by._1
424- let x = by._2
425- let bc = by._3
426- let bz = ae(af)
427- let ag = bz._1
428- let ah = bz._2
429- let ak = if (!(isDefined(ag.assetId)))
425+ let bA = aC(ah)
426+ let bk = bA._1
427+ let x = bA._2
428+ let be = bA._3
429+ let bB = ag(ah)
430+ let ai = bB._1
431+ let aj = bB._2
432+ let am = if (!(isDefined(ai.assetId)))
430433 then throw("Only sconex is accepted!")
431- else toBase58String(value(ag.assetId))
432- let bv = t(("current_bidamount_" + z))
433- if (!(ap(ak)))
434+ else toBase58String(value(ai.assetId))
435+ let bx = t(("current_bidamount_" + z))
436+ if (!(ar(am)))
434437 then throw("asset not accepted")
435- else if (!(aq(ak, ah)))
438+ else if (!(as(am, aj)))
436439 then throw("Wrong min sell")
437440 else {
438- let aL = t(H(aC, z))
439- let aM = t(D(aC, z))
440- if ((0 >= aM))
441+ let aN = t(H(aE, z))
442+ let aO = t(D(aE, z))
443+ if ((0 >= aO))
441444 then throw("No max edition set for this artwork")
442- else if ((aL >= aM))
445+ else if ((aN >= aO))
443446 then throw("Sold out, you cannot bid")
444- else [StringEntry((((((((("bid_" + z) + "_") + aC) + "_") + x) + "_") + bi) + "_OPEN"), ((((ak + "_") + toString(ah)) + "_") + toString(bc))), IntegerEntry(("current_bidamount_" + z), (bv + 1))]
447+ else [StringEntry((((((((("bid_" + z) + "_") + aE) + "_") + x) + "_") + bk) + "_OPEN"), ((((am + "_") + toString(aj)) + "_") + toString(be))), IntegerEntry(("current_bidamount_" + z), (bx + 1))]
445448 }
446449 }
447450 }
448451
449452
450-func bA (af,z,aC,aE) = {
451- let bB = aA(af)
452- let bi = bB._1
453- let x = bB._2
454- let bc = bB._3
455- let bv = t(("current_bidamount_" + z))
456- let av = ((((((("bid_" + z) + "_") + aC) + "_") + x) + "_") + aE)
457- let aw = q((av + "_OPEN"))
458- if ((aw == ""))
453+func bC (ah,z,aE,aG) = {
454+ let bD = aC(ah)
455+ let bk = bD._1
456+ let x = bD._2
457+ let be = bD._3
458+ let bx = t(("current_bidamount_" + z))
459+ let ax = ((((((("bid_" + z) + "_") + aE) + "_") + x) + "_") + aG)
460+ let ay = q((ax + "_OPEN"))
461+ if ((ay == ""))
459462 then throw("Bid not found")
460463 else {
461- let ax = split(aw, "_")
462- let ak = at(ax[0])
463- let bC = "CANCELED"
464-[DeleteEntry((av + "_OPEN")), StringEntry(((av + "_") + bC), ((aw + "_") + toString(bc))), IntegerEntry(("current_bidamount_" + z), (bv - 1)), ScriptTransfer(Address(fromBase58String(x)), parseIntValue(ax[1]), ak)]
464+ let az = split(ay, "_")
465+ let am = av(az[0])
466+ let bE = "CANCELED"
467+[DeleteEntry((ax + "_OPEN")), StringEntry(((ax + "_") + bE), ((ay + "_") + toString(be))), IntegerEntry(("current_bidamount_" + z), (bx - 1)), ScriptTransfer(Address(fromBase58String(x)), parseIntValue(az[1]), am)]
465468 }
466469 }
467470
468471
469-func bD (af,z,aC,aE) = {
470- let bx = t(F(aC, z))
471- if ((bx > height))
472+func bF (ah,z,aE,aG) = {
473+ let bz = t(F(aE, z))
474+ if ((bz > height))
472475 then throw("This auction is not finished yet!")
473476 else {
474- let bB = aA(af)
475- let bi = bB._1
476- let x = bB._2
477- let bc = bB._3
478- let bv = t(("current_bidamount_" + z))
479- let av = ((((((("bid_" + z) + "_") + aC) + "_") + x) + "_") + aE)
480- let aw = q((av + "_OPEN"))
481- if ((aw == ""))
477+ let bD = aC(ah)
478+ let bk = bD._1
479+ let x = bD._2
480+ let be = bD._3
481+ let bx = t(("current_bidamount_" + z))
482+ let ax = ((((((("bid_" + z) + "_") + aE) + "_") + x) + "_") + aG)
483+ let ay = q((ax + "_OPEN"))
484+ if ((ay == ""))
482485 then throw("Bid not found")
483486 else {
484- let ax = split(aw, "_")
485- let ak = at(ax[0])
486- let bC = "CANCELED"
487-[DeleteEntry((av + "_OPEN")), StringEntry(((av + "_") + bC), ((aw + "_") + toString(bc))), IntegerEntry(("current_bidamount_" + z), (bv - 1)), ScriptTransfer(Address(fromBase58String(x)), parseIntValue(ax[1]), ak)]
487+ let az = split(ay, "_")
488+ let am = av(az[0])
489+ let bE = "CANCELED"
490+[DeleteEntry((ax + "_OPEN")), StringEntry(((ax + "_") + bE), ((ay + "_") + toString(be))), IntegerEntry(("current_bidamount_" + z), (bx - 1)), ScriptTransfer(Address(fromBase58String(x)), parseIntValue(az[1]), am)]
488491 }
489492 }
490493 }
491494
492495
493-@Callable(af)
494-func addArtwork (Q,aa,ab,ac,bE,Z) = {
495- let bF = aA(af)
496- let z = bF._1
497- let x = bF._2
498- let bc = bF._3
499- let bG = Y(x, Z, aa, ab, ac)
500- if ((bG != ""))
496+@Callable(ah)
497+func addArtwork (S,ac,ad,ae,bG,ab) = {
498+ let bH = aC(ah)
499+ let z = bH._1
500+ let x = bH._2
501+ let be = bH._3
502+ let bI = aa(x, ab, ac, ad, ae)
503+ if ((bI != ""))
501504 then throw("Something went wrong!")
502505 else {
503- let bH = ai(af)
504- let ah = bH._1
505- let ak = bH._2
506- if (!(isDefined(ah)))
506+ let bJ = ak(ah)
507+ let aj = bJ._1
508+ let am = bJ._2
509+ if (!(isDefined(aj)))
507510 then throw("Something went wrong")
508511 else {
509- let bI = q(R(Q, x))
510- if ((bI != ""))
512+ let bK = q(T(S, x))
513+ if ((bK != ""))
511514 then throw("You already added it")
512515 else {
513- let bJ = q(P(Q))
514- if ((bJ != ""))
516+ let bL = q(R(S))
517+ if ((bL != ""))
515518 then throw("Hash already registered")
516- else [StringEntry(P(Q), x), StringEntry(R(Q, x), z), IntegerEntry(y(x, z), bc), StringEntry(A(x, z), aa), StringEntry(B(x, z), ab), StringEntry(C(x, z), Z), StringEntry(K(x, z), bE), StringEntry(J(x, z), ac), IntegerEntry(D(x, z), 0), IntegerEntry(H(x, z), 0), BooleanEntry(I(x, z), false), StringEntry(N(x, z), Q), ScriptTransfer(Address(fromBase58String(c)), ah, ak)]
519+ else [StringEntry(R(S), x), StringEntry(T(S, x), z), IntegerEntry(y(x, z), be), StringEntry(A(x, z), ac), StringEntry(B(x, z), ad), StringEntry(C(x, z), ab), StringEntry(M(x, z), bG), StringEntry(L(x, z), ae), IntegerEntry(D(x, z), 0), IntegerEntry(H(x, z), 0), BooleanEntry(K(x, z), false), StringEntry(P(x, z), S), ScriptTransfer(Address(fromBase58String(c)), aj, am)]
517520 }
518521 }
519522 }
521524
522525
523526
524-@Callable(af)
525-func sellArtwork (z,ar,bK,ak,bL,bM,bN) = {
526- let bO = aA(af)
527- let bi = bO._1
528- let x = bO._2
529- let aJ = q(A(x, z))
530- if (!(containsElement([o, p], bL)))
527+@Callable(ah)
528+func sellArtwork (z,at,bM,am,bN,bO,bP) = {
529+ let bQ = aC(ah)
530+ let bk = bQ._1
531+ let x = bQ._2
532+ let aL = q(A(x, z))
533+ if (!(containsElement([o, p], bN)))
531534 then throw("We dont know this auction type")
532- else if ((aJ == ""))
535+ else if ((aL == ""))
533536 then throw("This art doesn't match your account")
534537 else {
535- let bv = t(("current_bidamount_" + z))
536- if (!(ap(ak)))
538+ let bx = t(("current_bidamount_" + z))
539+ if (!(ar(am)))
537540 then throw("Something went wrong!")
538- else if (!(aq(ak, ar)))
541+ else if (!(as(am, at)))
539542 then throw("Something went wrong!")
540543 else {
541- let ad = W(x)
542- if ((ad != ""))
543- then throw(ad)
544+ let af = Y(x)
545+ if ((af != ""))
546+ then throw(af)
544547 else {
545- let aL = t(H(x, z))
546- let aM = t(D(x, z))
547- if ((bK > 10))
548+ let aN = t(H(x, z))
549+ let aO = t(D(x, z))
550+ if ((bM > 10))
548551 then throw("10 editions max per artwork")
549- else if (if ((aL != 0))
550- then (aL == aM)
552+ else if (if ((aN != 0))
553+ then (aN == aO)
551554 else false)
552555 then throw("Max edition reached.")
553- else if (if ((aL > 0))
554- then (aM != bK)
556+ else if (if ((aN > 0))
557+ then (aO != bM)
555558 else false)
556559 then throw("Cannot change maximum issuable anymore")
557- else if (if ((bv > 0))
558- then (aM != bK)
560+ else if (if ((bx > 0))
561+ then (aO != bM)
559562 else false)
560563 then throw("Cannot change maximum issuable with active orders")
561564 else {
562- let aZ = if (if ((ar > 0))
563- then (bK > 0)
565+ let bb = if (if ((at > 0))
566+ then (bM > 0)
564567 else false)
565568 then true
566569 else false
567- let bx = (bN + height)
568-[BooleanEntry(I(x, z), aZ), IntegerEntry(L(x, z), ar), IntegerEntry(D(x, z), bK), IntegerEntry(E(x, z), bM), IntegerEntry(F(x, z), bx), StringEntry(M(x, z), ak), StringEntry(G(x, z), bL)]
570+ let bz = (bP + height)
571+[BooleanEntry(K(x, z), bb), IntegerEntry(N(x, z), at), IntegerEntry(D(x, z), bM), IntegerEntry(E(x, z), bO), IntegerEntry(F(x, z), bz), StringEntry(O(x, z), am), StringEntry(G(x, z), bN)]
569572 }
570573 }
571574 }
574577
575578
576579
577-@Callable(af)
578-func buyArtwork (z,aC) = bg(af, z, aC, "", "")
580+@Callable(ah)
581+func buyArtwork (z,aE) = bi(ah, z, aE, "", "")
579582
580583
581584
582-@Callable(af)
583-func deleteEntry (bP) = {
584- let x = toString(addressFromPublicKey(af.callerPublicKey))
585+@Callable(ah)
586+func deleteEntry (bR) = {
587+ let x = toString(addressFromPublicKey(ah.callerPublicKey))
585588 if ((x == g))
586- then [DeleteEntry(bP)]
589+ then [DeleteEntry(bR)]
587590 else throw("no")
588591 }
589592
590593
591594
592-@Callable(af)
593-func setBid (z,aC) = {
594- let bL = q(G(aC, z))
595- if ((bL == o))
596- then bs(af, z, aC)
597- else if ((bL == p))
598- then bw(af, z, aC)
599- else throw((("Unknown auction type :" + bL) + ", please contact the admins"))
595+@Callable(ah)
596+func setBid (z,aE) = {
597+ let bN = q(G(aE, z))
598+ if ((bN == o))
599+ then bu(ah, z, aE)
600+ else if ((bN == p))
601+ then by(ah, z, aE)
602+ else throw((("Unknown auction type :" + bN) + ", please contact the admins"))
600603 }
601604
602605
603606
604-@Callable(af)
605-func acceptBid (z,aC,aE,aD) = {
606- let x = toBase58String(af.caller.bytes)
607- if ((x != aC))
607+@Callable(ah)
608+func acceptBid (z,aE,aG,aF) = {
609+ let x = toBase58String(ah.caller.bytes)
610+ if ((x != aE))
608611 then throw("You cannot do this action")
609- else bg(af, z, aC, aE, aD)
612+ else bi(ah, z, aE, aG, aF)
610613 }
611614
612615
613616
614-@Callable(af)
615-func cancelBid (z,aC,aE) = {
616- let bL = q(G(aC, z))
617- if ((bL == o))
618- then bA(af, z, aC, aE)
619- else bD(af, z, aC, aE)
617+@Callable(ah)
618+func cancelBid (z,aE,aG) = {
619+ let bN = q(G(aE, z))
620+ if ((bN == o))
621+ then bC(ah, z, aE, aG)
622+ else bF(ah, z, aE, aG)
620623 }
621624
622625
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = false
55
66 let b = value(addressFromString("3MpZQjzGogmifcEKe8mDd6ribL7nxT9ACye"))
77
88 let c = "3N65xLq8JcCeaEiR1TJQ7dBqXBvEy6E48Wz"
99
1010 let d = value(addressFromString("3N9cQgZFPHHVu8wqsn2DkQFehg3h8CNiooA"))
1111
1212 let e = value(addressFromString("3N9xZYGpzMFDXvXuctmU6zV8qSzm2ZfF31f"))
1313
1414 let f = base58'DZ8ALmuLeSZ2ocsYLAcL9MiXBFDbMNQG9LtitREyU5ZC'
1515
1616 let g = "3N1Dhq5ZZyoojQisuTLusYjnGisqrxDwGLy"
1717
1818 let h = 150
1919
2020 let i = valueOrElse(getBoolean(d, "conf_dapp_is_running"), true)
2121
2222 let j = valueOrElse(getString(d, "conf_maintenance_msg"), "")
2323
2424 let k = "SUSPENDED"
2525
2626 let l = "REMOVED"
2727
2828 let m = "UNREGISTERED"
2929
3030 let n = "ALLOWED"
3131
3232 let o = "BIDTYPE"
3333
3434 let p = "TRADITIONAL"
3535
3636 func q (r) = valueOrElse(getString(this, r), "")
3737
3838
3939 func s (r) = valueOrErrorMessage(getInteger(b, r), "Integer undefine or 0 in oracle")
4040
4141
4242 func t (r) = valueOrElse(getInteger(this, r), 0)
4343
4444
4545 func u (r) = valueOrElse(getInteger(e, r), 0)
4646
4747
4848 func v (r) = valueOrElse(getBoolean(this, r), false)
4949
5050
5151 func w (x) = ("user_status_" + x)
5252
5353
5454 func y (x,z) = ((("art_date_" + z) + "_") + x)
5555
5656
5757 func A (x,z) = ((("art_name_" + z) + "_") + x)
5858
5959
6060 func B (x,z) = ((("art_desc_" + z) + "_") + x)
6161
6262
6363 func C (x,z) = ((("art_display_cid_" + z) + "_") + x)
6464
6565
6666 func D (x,z) = ((("art_maxmint_" + z) + "_") + x)
6767
6868
6969 func E (x,z) = ((("art_minprice_" + z) + "_") + x)
7070
7171
7272 func F (x,z) = ((("art_duration_" + z) + "_") + x)
7373
7474
7575 func G (x,z) = ((("art_auctiontype_" + z) + "_") + x)
7676
7777
7878 func H (x,z) = ((("art_issued_" + z) + "_") + x)
7979
8080
81-func I (x,z) = ((("art_onsale_" + z) + "_") + x)
81+func I (J) = ("nft_issued_" + J)
8282
8383
84-func J (x,z) = ((("art_tags_" + z) + "_") + x)
84+func K (x,z) = ((("art_onsale_" + z) + "_") + x)
8585
8686
87-func K (x,z) = ((("art_type_" + z) + "_") + x)
87+func L (x,z) = ((("art_tags_" + z) + "_") + x)
8888
8989
90-func L (x,z) = ((("art_price_" + z) + "_") + x)
90+func M (x,z) = ((("art_type_" + z) + "_") + x)
9191
9292
93-func M (x,z) = ((("art_assetAccepted_" + z) + "_") + x)
93+func N (x,z) = ((("art_price_" + z) + "_") + x)
9494
9595
96-func N (x,O) = ((("get_hashbytxidaddr_" + O) + "_") + x)
96+func O (x,z) = ((("art_assetAccepted_" + z) + "_") + x)
9797
9898
99-func P (Q) = ("get_owner_by_hash_" + Q)
99+func P (x,Q) = ((("get_hashbytxidaddr_" + Q) + "_") + x)
100100
101101
102-func R (Q,x) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((Q + x)))))
102+func R (S) = ("get_owner_by_hash_" + S)
103103
104104
105-let S = s(("certification_fee_" + toBase58String(f)))
105+func T (S,x) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((S + x)))))
106106
107-func T (U,V) = if ((size(U) == 0))
107+
108+let U = s(("certification_fee_" + toBase58String(f)))
109+
110+func V (W,X) = if ((size(W) == 0))
108111 then throw("Field cannot be is empty")
109- else if ((size(U) > V))
110- then throw((U + " is too long"))
112+ else if ((size(W) > X))
113+ then throw((W + " is too long"))
111114 else true
112115
113116
114-func W (x) = {
115- let X = valueOrElse(getString(d, w(x)), m)
116- if (if ((X == m))
117+func Y (x) = {
118+ let Z = valueOrElse(getString(d, w(x)), m)
119+ if (if ((Z == m))
117120 then true
118- else (X == n))
121+ else (Z == n))
119122 then "Register this account first with 'Account' tab"
120- else if ((X == k))
123+ else if ((Z == k))
121124 then "Account suspended"
122- else if ((X == l))
125+ else if ((Z == l))
123126 then "Account removed"
124127 else ""
125128 }
126129
127130
128-func Y (x,Z,aa,ab,ac) = {
129- let ad = W(x)
130- if ((ad != ""))
131- then throw(ad)
132- else if ((size(Z) == 0))
131+func aa (x,ab,ac,ad,ae) = {
132+ let af = Y(x)
133+ if ((af != ""))
134+ then throw(af)
135+ else if ((size(ab) == 0))
133136 then throw("Display CID cannot be empty")
134- else if (!(T(aa, 100)))
137+ else if (!(V(ac, 100)))
135138 then throw("100 Char. max name")
136- else if (!(T(ab, 1000)))
139+ else if (!(V(ad, 1000)))
137140 then throw("1000 Char. max description")
138- else if ((size(split(ac, ",")) > 5))
141+ else if ((size(split(ae, ",")) > 5))
139142 then throw("5 tags max.")
140143 else ""
141144 }
142145
143146
144-func ae (af) = if ((size(af.payments) == 0))
147+func ag (ah) = if ((size(ah.payments) == 0))
145148 then throw("No payment attached")
146149 else {
147- let ag = value(af.payments[0])
148- let ah = value(ag.amount)
149- $Tuple2(ag, ah)
150+ let ai = value(ah.payments[0])
151+ let aj = value(ai.amount)
152+ $Tuple2(ai, aj)
150153 }
151154
152155
153-func ai (af) = {
154- let aj = ae(af)
155- let ag = aj._1
156- let ah = aj._2
157- let ak = if (if (isDefined(ag.assetId))
158- then (ag.assetId == f)
156+func ak (ah) = {
157+ let al = ag(ah)
158+ let ai = al._1
159+ let aj = al._2
160+ let am = if (if (isDefined(ai.assetId))
161+ then (ai.assetId == f)
159162 else false)
160- then ag.assetId
163+ then ai.assetId
161164 else throw("Only Sconex token accepted as transaction fee")
162- if ((ah != S))
163- then throw(("Payment amount should be " + toString(S)))
164- else $Tuple2(ah, ak)
165+ if ((aj != U))
166+ then throw(("Payment amount should be " + toString(U)))
167+ else $Tuple2(aj, am)
165168 }
166169
167170
168-func al (af,am,an) = {
169- let ao = ae(af)
170- let ag = ao._1
171- let ah = ao._2
172- let ak = if (!(isDefined(ag.assetId)))
171+func an (ah,ao,ap) = {
172+ let aq = ag(ah)
173+ let ai = aq._1
174+ let aj = aq._2
175+ let am = if (!(isDefined(ai.assetId)))
173176 then throw("Wrong asset id")
174- else if (if ((size(am) > 0))
175- then (toBase58String(value(ag.assetId)) == am)
177+ else if (if ((size(ao) > 0))
178+ then (toBase58String(value(ai.assetId)) == ao)
176179 else false)
177- then ag.assetId
180+ then ai.assetId
178181 else throw("Wrong asset id")
179- if (if ((ak == unit))
180- then (am != "")
182+ if (if ((am == unit))
183+ then (ao != "")
181184 else false)
182185 then throw("Wrong asset id")
183- else if ((an != ah))
186+ else if ((ap != aj))
184187 then throw("Payment don't match")
185- else $Tuple2(ah, ak)
188+ else $Tuple2(aj, am)
186189 }
187190
188191
189-func ap (ak) = if ((ak != toBase58String(f)))
192+func ar (am) = if ((am != toBase58String(f)))
190193 then throw("Only Sconex accepted")
191194 else true
192195
193196
194-func aq (ak,ar) = {
195- let as = if (a)
197+func as (am,at) = {
198+ let au = if (a)
196199 then 1
197- else (S * 2)
198- if (if (if ((ak == toBase58String(f)))
199- then (as > ar)
200+ else (U * 2)
201+ if (if (if ((am == toBase58String(f)))
202+ then (au > at)
200203 else false)
201- then (ar != 0)
204+ then (at != 0)
202205 else false)
203- then throw(("Wrong minimum sell price " + toString(as)))
206+ then throw(("Wrong minimum sell price " + toString(au)))
204207 else true
205208 }
206209
207210
208-func at (ak) = if ((ak == "WAVES"))
211+func av (am) = if ((am == "WAVES"))
209212 then throw("Only sconex is accepted!")
210- else fromBase58String(ak)
213+ else fromBase58String(am)
211214
212215
213-func au (av) = {
214- let aw = q((av + "_OPEN"))
215- if ((aw == ""))
216+func aw (ax) = {
217+ let ay = q((ax + "_OPEN"))
218+ if ((ay == ""))
216219 then throw("Bid not found")
217220 else {
218- let ax = split(aw, "_")
219- let ay = parseIntValue(ax[1])
220- let az = at(ax[0])
221- if ((0 >= ay))
221+ let az = split(ay, "_")
222+ let aA = parseIntValue(az[1])
223+ let aB = av(az[0])
224+ if ((0 >= aA))
222225 then throw("Wrong amount")
223- else $Tuple2(ay, az)
226+ else $Tuple2(aA, aB)
224227 }
225228 }
226229
227230
228-func aA (af) = if (!(i))
231+func aC (ah) = if (!(i))
229232 then throw(j)
230- else $Tuple3(toBase58String(af.transactionId), toBase58String(af.caller.bytes), lastBlock.timestamp)
233+ else $Tuple3(toBase58String(ah.transactionId), toBase58String(ah.caller.bytes), lastBlock.timestamp)
231234
232235
233-func aB (af,aC,aD,aE) = if (if (if ((toBase58String(af.caller.bytes) == aC))
234- then (aD != "")
236+func aD (ah,aE,aF,aG) = if (if (if ((toBase58String(ah.caller.bytes) == aE))
237+ then (aF != "")
235238 else false)
236- then (aE != "")
239+ then (aG != "")
237240 else false)
238241 then true
239242 else false
240243
241244
242-func aF (af,aC,z,aG) = {
243- let aH = (toBase58String(af.caller.bytes) == aC)
244- let aI = t("total_nft_issued")
245- let aJ = q(A(aC, z))
246- if ((aJ == ""))
245+func aH (ah,aE,z,aI) = {
246+ let aJ = (toBase58String(ah.caller.bytes) == aE)
247+ let aK = t("total_nft_issued")
248+ let aL = q(A(aE, z))
249+ if ((aL == ""))
247250 then throw("Art doesn't exist")
248251 else {
249- let aK = v(I(aC, z))
250- let aL = t(H(aC, z))
251- let an = if (aH)
252- then (S * 2)
253- else t(L(aC, z))
254- let am = if (aH)
252+ let aM = v(K(aE, z))
253+ let aN = t(H(aE, z))
254+ let ap = if (aJ)
255+ then (U * 2)
256+ else t(N(aE, z))
257+ let ao = if (aJ)
255258 then toBase58String(f)
256- else q(M(aC, z))
257- let aM = t(D(aC, z))
258- if (if (if (!(aG))
259- then !(aH)
259+ else q(O(aE, z))
260+ let aO = t(D(aE, z))
261+ if (if (if (!(aI))
262+ then !(aJ)
260263 else false)
261- then if (if ((0 >= an))
264+ then if (if ((0 >= ap))
262265 then true
263- else !(aK))
266+ else !(aM))
264267 then true
265- else (0 >= aM)
268+ else (0 >= aO)
266269 else false)
267270 then throw("Art not for sale")
268- else if (if (if (!(aG))
269- then aH
271+ else if (if (if (!(aI))
272+ then aJ
270273 else false)
271- then (0 >= aM)
274+ then (0 >= aO)
272275 else false)
273276 then throw("Max issuable not set")
274- else $Tuple7(aI, aJ, aL, an, am, aM, aK)
277+ else $Tuple7(aK, aL, aN, ap, ao, aO, aM)
275278 }
276279 }
277280
278281
279-func aN (af,x,aC,z,aD,aE,am,an,aG) = {
280- let ad = W(aC)
281- if (if (aG)
282- then (ad != "")
282+func aP (ah,x,aE,z,aF,aG,ao,ap,aI) = {
283+ let af = Y(aE)
284+ if (if (aI)
285+ then (af != "")
283286 else false)
284- then throw(ad)
287+ then throw(af)
285288 else {
286- let av = ((((((("bid_" + z) + "_") + aC) + "_") + aD) + "_") + aE)
287- let aO = if (aG)
288- then au(av)
289- else al(af, am, an)
290- let ah = aO._1
291- let ak = aO._2
292- $Tuple3(av, ah, ak)
289+ let ax = ((((((("bid_" + z) + "_") + aE) + "_") + aF) + "_") + aG)
290+ let aQ = if (aI)
291+ then aw(ax)
292+ else an(ah, ao, ap)
293+ let aj = aQ._1
294+ let am = aQ._2
295+ $Tuple3(ax, aj, am)
293296 }
294297 }
295298
296299
297-func aP (aC,ak,ah,aL,aM) = {
298- let aQ = u(aC)
299- let aR = if ((aQ > height))
300+func aR (aE,am,aj,aN,aO) = {
301+ let aS = u(aE)
302+ let aT = if ((aS > height))
300303 then 0
301- else if ((ak == f))
304+ else if ((am == f))
302305 then h
303306 else throw("Only Sconex is accepted!")
304- let aS = fraction(ah, aR, 1000)
305- let aT = (ah - aS)
306- if ((aL == aM))
307+ let aU = fraction(aj, aT, 1000)
308+ let aV = (aj - aU)
309+ if ((aN == aO))
307310 then throw("Art sold out")
308311 else {
309- let aU = (aL + 1)
310- $Tuple3(aS, aT, aU)
312+ let aW = (aN + 1)
313+ $Tuple3(aU, aV, aW)
311314 }
312315 }
313316
314317
315-func aV (aC,z,aJ,aU,aM,aI,x,aD,aE,af,aK) = {
316- let aW = ((((((((("Creator: " + aC) + ",ArtID: ") + z) + ",Artwork name: ") + aJ) + ",Issue: ") + toString(aU)) + "/") + toString(aM))
317- let aX = Issue(("SA_" + toString((aI + 1))), aW, 1, 0, false)
318- let aY = calculateAssetId(aX)
319- let aZ = if (if ((aU == aM))
318+func aX (aE,z,aL,aW,aO,aK,x,aF,aG,ah,aM) = {
319+ let aY = ((((((((("Creator: " + aE) + ",ArtID: ") + z) + ",Artwork name: ") + aL) + ",Issue: ") + toString(aW)) + "/") + toString(aO))
320+ let aZ = Issue(("SA_" + toString((aK + 1))), aY, 1, 0, false)
321+ let ba = calculateAssetId(aZ)
322+ let bb = if (if ((aW == aO))
320323 then true
321- else !(aK))
324+ else !(aM))
322325 then false
323326 else true
324- let ba = if (if (if ((x == aC))
325- then (aD != "")
327+ let bc = if (if (if ((x == aE))
328+ then (aF != "")
326329 else false)
327- then (aE != "")
330+ then (aG != "")
328331 else false)
329- then addressFromStringValue(aD)
330- else af.caller
331- $Tuple4(aX, aY, aZ, ba)
332+ then addressFromStringValue(aF)
333+ else ah.caller
334+ $Tuple4(aZ, ba, bb, bc)
332335 }
333336
334337
335-func bb (ak,av,bc) = {
336- let bd = if (!(isDefined(ak)))
338+func bd (am,ax,be) = {
339+ let bf = if (!(isDefined(am)))
337340 then throw("Only sconex is accepted")
338- else toBase58String(value(ak))
339- let aw = q((av + "_OPEN"))
340- let be = DeleteEntry((av + "_OPEN"))
341- let bf = StringEntry((av + "_CLOSED"), ((aw + "_") + toString(bc)))
342- $Tuple3(bd, be, bf)
341+ else toBase58String(value(am))
342+ let ay = q((ax + "_OPEN"))
343+ let bg = DeleteEntry((ax + "_OPEN"))
344+ let bh = StringEntry((ax + "_CLOSED"), ((ay + "_") + toString(be)))
345+ $Tuple3(bf, bg, bh)
343346 }
344347
345348
346-func bg (af,z,aC,aE,aD) = {
347- let bh = aA(af)
348- let bi = bh._1
349- let x = bh._2
350- let bc = bh._3
351- let aG = aB(af, aC, aD, aE)
352- let bj = aF(af, aC, z, aG)
353- let aI = bj._1
354- let aJ = bj._2
355- let aL = bj._3
356- let an = bj._4
357- let am = bj._5
358- let aM = bj._6
359- let aK = bj._7
360- let bk = aN(af, x, aC, z, aD, aE, am, an, aG)
361- let av = bk._1
362- let ah = bk._2
363- let ak = bk._3
364- let bl = aP(aC, value(ak), ah, aL, aM)
365- let aS = bl._1
366- let aT = bl._2
367- let aU = bl._3
368- let bm = aV(aC, z, aJ, aU, aM, aI, x, aD, aE, af, aK)
369- let aX = bm._1
370- let aY = bm._2
371- let aZ = bm._3
372- let ba = bm._4
373- let bn = bb(ak, av, bc)
374- let bd = bn._1
375- let be = bn._2
376- let bf = bn._3
377- let bo = ((((((("art_sold_" + toString(aU)) + "_of_") + toString(aM)) + "_") + z) + "_") + aC)
378- let bp = if (!(aG))
379- then ((((((((((x + "_") + toString(bc)) + "_") + bi) + "_") + toString(an)) + "_") + am) + "_") + toBase58String(aY))
380- else ((((((((((toString(ba) + "_") + toString(bc)) + "_") + bi) + "_") + toString(ah)) + "_") + bd) + "_") + toBase58String(aY))
381- let bq = StringEntry(bo, bp)
382- let br = [IntegerEntry(H(aC, z), aU), StringEntry(("nft_" + toBase58String(aY)), bo), IntegerEntry("total_nft_issued", (aI + 1)), BooleanEntry(I(aC, z), aZ), aX, ScriptTransfer(Address(fromBase58String(aC)), aT, ak), ScriptTransfer(Address(fromBase58String(c)), aS, ak), ScriptTransfer(ba, 1, aY)]
383- if (aG)
384- then (((br :+ bq) :+ bf) :+ be)
385- else bq :: br
349+func bi (ah,z,aE,aG,aF) = {
350+ let bj = aC(ah)
351+ let bk = bj._1
352+ let x = bj._2
353+ let be = bj._3
354+ let aI = aD(ah, aE, aF, aG)
355+ let bl = aH(ah, aE, z, aI)
356+ let aK = bl._1
357+ let aL = bl._2
358+ let aN = bl._3
359+ let ap = bl._4
360+ let ao = bl._5
361+ let aO = bl._6
362+ let aM = bl._7
363+ let bm = aP(ah, x, aE, z, aF, aG, ao, ap, aI)
364+ let ax = bm._1
365+ let aj = bm._2
366+ let am = bm._3
367+ let bn = aR(aE, value(am), aj, aN, aO)
368+ let aU = bn._1
369+ let aV = bn._2
370+ let aW = bn._3
371+ let bo = aX(aE, z, aL, aW, aO, aK, x, aF, aG, ah, aM)
372+ let aZ = bo._1
373+ let ba = bo._2
374+ let bb = bo._3
375+ let bc = bo._4
376+ let bp = bd(am, ax, be)
377+ let bf = bp._1
378+ let bg = bp._2
379+ let bh = bp._3
380+ let bq = ((((((("art_sold_" + toString(aW)) + "_of_") + toString(aO)) + "_") + z) + "_") + aE)
381+ let br = if (!(aI))
382+ then ((((((((((x + "_") + toString(be)) + "_") + bk) + "_") + toString(ap)) + "_") + ao) + "_") + toBase58String(ba))
383+ else ((((((((((toString(bc) + "_") + toString(be)) + "_") + bk) + "_") + toString(aj)) + "_") + bf) + "_") + toBase58String(ba))
384+ let bs = StringEntry(bq, br)
385+ let bt = [IntegerEntry(H(aE, z), aW), StringEntry(("nft_" + toBase58String(ba)), bq), IntegerEntry("total_nft_issued", (aK + 1)), BooleanEntry(K(aE, z), bb), aZ, ScriptTransfer(Address(fromBase58String(aE)), aV, am), ScriptTransfer(Address(fromBase58String(c)), aU, am), ScriptTransfer(bc, 1, ba), StringEntry(I(aE), toBase58String(ba))]
386+ if (aI)
387+ then (((bt :+ bs) :+ bh) :+ bg)
388+ else bs :: bt
386389 }
387390
388391
389-func bs (af,z,aC) = {
390- let bt = aA(af)
391- let bi = bt._1
392- let x = bt._2
393- let bc = bt._3
394- let bu = ae(af)
395- let ag = bu._1
396- let ah = bu._2
397- let ak = if (!(isDefined(ag.assetId)))
392+func bu (ah,z,aE) = {
393+ let bv = aC(ah)
394+ let bk = bv._1
395+ let x = bv._2
396+ let be = bv._3
397+ let bw = ag(ah)
398+ let ai = bw._1
399+ let aj = bw._2
400+ let am = if (!(isDefined(ai.assetId)))
398401 then throw("Only sconex is accepted!")
399- else toBase58String(value(ag.assetId))
400- let bv = t(("current_bidamount_" + z))
401- if (!(ap(ak)))
402+ else toBase58String(value(ai.assetId))
403+ let bx = t(("current_bidamount_" + z))
404+ if (!(ar(am)))
402405 then throw("asset not accepted")
403- else if (!(aq(ak, ah)))
406+ else if (!(as(am, aj)))
404407 then throw("Wrong min sell")
405408 else {
406- let aL = t(H(aC, z))
407- let aM = t(D(aC, z))
408- if ((0 >= aM))
409+ let aN = t(H(aE, z))
410+ let aO = t(D(aE, z))
411+ if ((0 >= aO))
409412 then throw("No max edition set for this artwork")
410- else if ((aL >= aM))
413+ else if ((aN >= aO))
411414 then throw("Sold out, you cannot bid")
412- else [StringEntry((((((((("bid_" + z) + "_") + aC) + "_") + x) + "_") + bi) + "_OPEN"), ((((ak + "_") + toString(ah)) + "_") + toString(bc))), IntegerEntry(("current_bidamount_" + z), (bv + 1))]
415+ else [StringEntry((((((((("bid_" + z) + "_") + aE) + "_") + x) + "_") + bk) + "_OPEN"), ((((am + "_") + toString(aj)) + "_") + toString(be))), IntegerEntry(("current_bidamount_" + z), (bx + 1))]
413416 }
414417 }
415418
416419
417-func bw (af,z,aC) = {
418- let bx = t(F(aC, z))
419- if ((height > bx))
420+func by (ah,z,aE) = {
421+ let bz = t(F(aE, z))
422+ if ((height > bz))
420423 then throw("This auction is finished already!")
421424 else {
422- let by = aA(af)
423- let bi = by._1
424- let x = by._2
425- let bc = by._3
426- let bz = ae(af)
427- let ag = bz._1
428- let ah = bz._2
429- let ak = if (!(isDefined(ag.assetId)))
425+ let bA = aC(ah)
426+ let bk = bA._1
427+ let x = bA._2
428+ let be = bA._3
429+ let bB = ag(ah)
430+ let ai = bB._1
431+ let aj = bB._2
432+ let am = if (!(isDefined(ai.assetId)))
430433 then throw("Only sconex is accepted!")
431- else toBase58String(value(ag.assetId))
432- let bv = t(("current_bidamount_" + z))
433- if (!(ap(ak)))
434+ else toBase58String(value(ai.assetId))
435+ let bx = t(("current_bidamount_" + z))
436+ if (!(ar(am)))
434437 then throw("asset not accepted")
435- else if (!(aq(ak, ah)))
438+ else if (!(as(am, aj)))
436439 then throw("Wrong min sell")
437440 else {
438- let aL = t(H(aC, z))
439- let aM = t(D(aC, z))
440- if ((0 >= aM))
441+ let aN = t(H(aE, z))
442+ let aO = t(D(aE, z))
443+ if ((0 >= aO))
441444 then throw("No max edition set for this artwork")
442- else if ((aL >= aM))
445+ else if ((aN >= aO))
443446 then throw("Sold out, you cannot bid")
444- else [StringEntry((((((((("bid_" + z) + "_") + aC) + "_") + x) + "_") + bi) + "_OPEN"), ((((ak + "_") + toString(ah)) + "_") + toString(bc))), IntegerEntry(("current_bidamount_" + z), (bv + 1))]
447+ else [StringEntry((((((((("bid_" + z) + "_") + aE) + "_") + x) + "_") + bk) + "_OPEN"), ((((am + "_") + toString(aj)) + "_") + toString(be))), IntegerEntry(("current_bidamount_" + z), (bx + 1))]
445448 }
446449 }
447450 }
448451
449452
450-func bA (af,z,aC,aE) = {
451- let bB = aA(af)
452- let bi = bB._1
453- let x = bB._2
454- let bc = bB._3
455- let bv = t(("current_bidamount_" + z))
456- let av = ((((((("bid_" + z) + "_") + aC) + "_") + x) + "_") + aE)
457- let aw = q((av + "_OPEN"))
458- if ((aw == ""))
453+func bC (ah,z,aE,aG) = {
454+ let bD = aC(ah)
455+ let bk = bD._1
456+ let x = bD._2
457+ let be = bD._3
458+ let bx = t(("current_bidamount_" + z))
459+ let ax = ((((((("bid_" + z) + "_") + aE) + "_") + x) + "_") + aG)
460+ let ay = q((ax + "_OPEN"))
461+ if ((ay == ""))
459462 then throw("Bid not found")
460463 else {
461- let ax = split(aw, "_")
462- let ak = at(ax[0])
463- let bC = "CANCELED"
464-[DeleteEntry((av + "_OPEN")), StringEntry(((av + "_") + bC), ((aw + "_") + toString(bc))), IntegerEntry(("current_bidamount_" + z), (bv - 1)), ScriptTransfer(Address(fromBase58String(x)), parseIntValue(ax[1]), ak)]
464+ let az = split(ay, "_")
465+ let am = av(az[0])
466+ let bE = "CANCELED"
467+[DeleteEntry((ax + "_OPEN")), StringEntry(((ax + "_") + bE), ((ay + "_") + toString(be))), IntegerEntry(("current_bidamount_" + z), (bx - 1)), ScriptTransfer(Address(fromBase58String(x)), parseIntValue(az[1]), am)]
465468 }
466469 }
467470
468471
469-func bD (af,z,aC,aE) = {
470- let bx = t(F(aC, z))
471- if ((bx > height))
472+func bF (ah,z,aE,aG) = {
473+ let bz = t(F(aE, z))
474+ if ((bz > height))
472475 then throw("This auction is not finished yet!")
473476 else {
474- let bB = aA(af)
475- let bi = bB._1
476- let x = bB._2
477- let bc = bB._3
478- let bv = t(("current_bidamount_" + z))
479- let av = ((((((("bid_" + z) + "_") + aC) + "_") + x) + "_") + aE)
480- let aw = q((av + "_OPEN"))
481- if ((aw == ""))
477+ let bD = aC(ah)
478+ let bk = bD._1
479+ let x = bD._2
480+ let be = bD._3
481+ let bx = t(("current_bidamount_" + z))
482+ let ax = ((((((("bid_" + z) + "_") + aE) + "_") + x) + "_") + aG)
483+ let ay = q((ax + "_OPEN"))
484+ if ((ay == ""))
482485 then throw("Bid not found")
483486 else {
484- let ax = split(aw, "_")
485- let ak = at(ax[0])
486- let bC = "CANCELED"
487-[DeleteEntry((av + "_OPEN")), StringEntry(((av + "_") + bC), ((aw + "_") + toString(bc))), IntegerEntry(("current_bidamount_" + z), (bv - 1)), ScriptTransfer(Address(fromBase58String(x)), parseIntValue(ax[1]), ak)]
487+ let az = split(ay, "_")
488+ let am = av(az[0])
489+ let bE = "CANCELED"
490+[DeleteEntry((ax + "_OPEN")), StringEntry(((ax + "_") + bE), ((ay + "_") + toString(be))), IntegerEntry(("current_bidamount_" + z), (bx - 1)), ScriptTransfer(Address(fromBase58String(x)), parseIntValue(az[1]), am)]
488491 }
489492 }
490493 }
491494
492495
493-@Callable(af)
494-func addArtwork (Q,aa,ab,ac,bE,Z) = {
495- let bF = aA(af)
496- let z = bF._1
497- let x = bF._2
498- let bc = bF._3
499- let bG = Y(x, Z, aa, ab, ac)
500- if ((bG != ""))
496+@Callable(ah)
497+func addArtwork (S,ac,ad,ae,bG,ab) = {
498+ let bH = aC(ah)
499+ let z = bH._1
500+ let x = bH._2
501+ let be = bH._3
502+ let bI = aa(x, ab, ac, ad, ae)
503+ if ((bI != ""))
501504 then throw("Something went wrong!")
502505 else {
503- let bH = ai(af)
504- let ah = bH._1
505- let ak = bH._2
506- if (!(isDefined(ah)))
506+ let bJ = ak(ah)
507+ let aj = bJ._1
508+ let am = bJ._2
509+ if (!(isDefined(aj)))
507510 then throw("Something went wrong")
508511 else {
509- let bI = q(R(Q, x))
510- if ((bI != ""))
512+ let bK = q(T(S, x))
513+ if ((bK != ""))
511514 then throw("You already added it")
512515 else {
513- let bJ = q(P(Q))
514- if ((bJ != ""))
516+ let bL = q(R(S))
517+ if ((bL != ""))
515518 then throw("Hash already registered")
516- else [StringEntry(P(Q), x), StringEntry(R(Q, x), z), IntegerEntry(y(x, z), bc), StringEntry(A(x, z), aa), StringEntry(B(x, z), ab), StringEntry(C(x, z), Z), StringEntry(K(x, z), bE), StringEntry(J(x, z), ac), IntegerEntry(D(x, z), 0), IntegerEntry(H(x, z), 0), BooleanEntry(I(x, z), false), StringEntry(N(x, z), Q), ScriptTransfer(Address(fromBase58String(c)), ah, ak)]
519+ else [StringEntry(R(S), x), StringEntry(T(S, x), z), IntegerEntry(y(x, z), be), StringEntry(A(x, z), ac), StringEntry(B(x, z), ad), StringEntry(C(x, z), ab), StringEntry(M(x, z), bG), StringEntry(L(x, z), ae), IntegerEntry(D(x, z), 0), IntegerEntry(H(x, z), 0), BooleanEntry(K(x, z), false), StringEntry(P(x, z), S), ScriptTransfer(Address(fromBase58String(c)), aj, am)]
517520 }
518521 }
519522 }
520523 }
521524
522525
523526
524-@Callable(af)
525-func sellArtwork (z,ar,bK,ak,bL,bM,bN) = {
526- let bO = aA(af)
527- let bi = bO._1
528- let x = bO._2
529- let aJ = q(A(x, z))
530- if (!(containsElement([o, p], bL)))
527+@Callable(ah)
528+func sellArtwork (z,at,bM,am,bN,bO,bP) = {
529+ let bQ = aC(ah)
530+ let bk = bQ._1
531+ let x = bQ._2
532+ let aL = q(A(x, z))
533+ if (!(containsElement([o, p], bN)))
531534 then throw("We dont know this auction type")
532- else if ((aJ == ""))
535+ else if ((aL == ""))
533536 then throw("This art doesn't match your account")
534537 else {
535- let bv = t(("current_bidamount_" + z))
536- if (!(ap(ak)))
538+ let bx = t(("current_bidamount_" + z))
539+ if (!(ar(am)))
537540 then throw("Something went wrong!")
538- else if (!(aq(ak, ar)))
541+ else if (!(as(am, at)))
539542 then throw("Something went wrong!")
540543 else {
541- let ad = W(x)
542- if ((ad != ""))
543- then throw(ad)
544+ let af = Y(x)
545+ if ((af != ""))
546+ then throw(af)
544547 else {
545- let aL = t(H(x, z))
546- let aM = t(D(x, z))
547- if ((bK > 10))
548+ let aN = t(H(x, z))
549+ let aO = t(D(x, z))
550+ if ((bM > 10))
548551 then throw("10 editions max per artwork")
549- else if (if ((aL != 0))
550- then (aL == aM)
552+ else if (if ((aN != 0))
553+ then (aN == aO)
551554 else false)
552555 then throw("Max edition reached.")
553- else if (if ((aL > 0))
554- then (aM != bK)
556+ else if (if ((aN > 0))
557+ then (aO != bM)
555558 else false)
556559 then throw("Cannot change maximum issuable anymore")
557- else if (if ((bv > 0))
558- then (aM != bK)
560+ else if (if ((bx > 0))
561+ then (aO != bM)
559562 else false)
560563 then throw("Cannot change maximum issuable with active orders")
561564 else {
562- let aZ = if (if ((ar > 0))
563- then (bK > 0)
565+ let bb = if (if ((at > 0))
566+ then (bM > 0)
564567 else false)
565568 then true
566569 else false
567- let bx = (bN + height)
568-[BooleanEntry(I(x, z), aZ), IntegerEntry(L(x, z), ar), IntegerEntry(D(x, z), bK), IntegerEntry(E(x, z), bM), IntegerEntry(F(x, z), bx), StringEntry(M(x, z), ak), StringEntry(G(x, z), bL)]
570+ let bz = (bP + height)
571+[BooleanEntry(K(x, z), bb), IntegerEntry(N(x, z), at), IntegerEntry(D(x, z), bM), IntegerEntry(E(x, z), bO), IntegerEntry(F(x, z), bz), StringEntry(O(x, z), am), StringEntry(G(x, z), bN)]
569572 }
570573 }
571574 }
572575 }
573576 }
574577
575578
576579
577-@Callable(af)
578-func buyArtwork (z,aC) = bg(af, z, aC, "", "")
580+@Callable(ah)
581+func buyArtwork (z,aE) = bi(ah, z, aE, "", "")
579582
580583
581584
582-@Callable(af)
583-func deleteEntry (bP) = {
584- let x = toString(addressFromPublicKey(af.callerPublicKey))
585+@Callable(ah)
586+func deleteEntry (bR) = {
587+ let x = toString(addressFromPublicKey(ah.callerPublicKey))
585588 if ((x == g))
586- then [DeleteEntry(bP)]
589+ then [DeleteEntry(bR)]
587590 else throw("no")
588591 }
589592
590593
591594
592-@Callable(af)
593-func setBid (z,aC) = {
594- let bL = q(G(aC, z))
595- if ((bL == o))
596- then bs(af, z, aC)
597- else if ((bL == p))
598- then bw(af, z, aC)
599- else throw((("Unknown auction type :" + bL) + ", please contact the admins"))
595+@Callable(ah)
596+func setBid (z,aE) = {
597+ let bN = q(G(aE, z))
598+ if ((bN == o))
599+ then bu(ah, z, aE)
600+ else if ((bN == p))
601+ then by(ah, z, aE)
602+ else throw((("Unknown auction type :" + bN) + ", please contact the admins"))
600603 }
601604
602605
603606
604-@Callable(af)
605-func acceptBid (z,aC,aE,aD) = {
606- let x = toBase58String(af.caller.bytes)
607- if ((x != aC))
607+@Callable(ah)
608+func acceptBid (z,aE,aG,aF) = {
609+ let x = toBase58String(ah.caller.bytes)
610+ if ((x != aE))
608611 then throw("You cannot do this action")
609- else bg(af, z, aC, aE, aD)
612+ else bi(ah, z, aE, aG, aF)
610613 }
611614
612615
613616
614-@Callable(af)
615-func cancelBid (z,aC,aE) = {
616- let bL = q(G(aC, z))
617- if ((bL == o))
618- then bA(af, z, aC, aE)
619- else bD(af, z, aC, aE)
617+@Callable(ah)
618+func cancelBid (z,aE,aG) = {
619+ let bN = q(G(aE, z))
620+ if ((bN == o))
621+ then bC(ah, z, aE, aG)
622+ else bF(ah, z, aE, aG)
620623 }
621624
622625

github/deemru/w8io/169f3d6 
412.71 ms