tx · 9CVWPL3rJxdUrhyZPug5dEXRr3yMxpzvJRn7ibVB9Kp3

3N2eA4yzXa4wTj7pP8r6G144RRxZW7cmq4p:  -0.01400000 Waves

2022.02.24 10:51 [1937461] smart account 3N2eA4yzXa4wTj7pP8r6G144RRxZW7cmq4p > SELF 0.00000000 Waves

{ "type": 13, "id": "9CVWPL3rJxdUrhyZPug5dEXRr3yMxpzvJRn7ibVB9Kp3", "fee": 1400000, "feeAssetId": null, "timestamp": 1645689132940, "version": 2, "chainId": 84, "sender": "3N2eA4yzXa4wTj7pP8r6G144RRxZW7cmq4p", "senderPublicKey": "Hh3eFP2XFetZSfTxQiM1Ps96f68zi8Zh5ghhCZdjgdFs", "proofs": [ "4AhchaHWSqepYThP5wqfL5wYP9nn4bN6ZUgicLsTqG6Ty86WteQtJcB8mJhEVmqxfQpRCcxFVYrf1sraWpD3Hmky" ], "script": "base64:AAIFAAAAAAAAADMIAhIECgIECBIECgIBCBIFCgMIAQgSAwoBCBIDCgEIEgMKAQgSBQoDCAgIEgYKBAgICAgAAAA1AAAAAAh1bml0VGVzdAcAAAAACW9yYWNsZUZlZQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjJzNVJ0YUhQQmVuQ3N4MkVDY29GUmJZSHgzbm9aaFhXMQAAAAAIc2lnbkRhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM05DMjhoU2l2cm1zVFVYYVlEMXg2TDM2Mko0WnBVbm9UZEIAAAAADGFydHdvcmtzRGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTkJ5bmZiWEMyS2FzdFV4aHVrY01VYUU1OEs5Y0JkQjlVWQAAAAALZmVlUmVjZWl2ZXICAAAAIzNOMUU2dFhkZFJvVmFSZlE5ZFEzdmc1TGFXMmZzZDhIS3ViAAAAAAh1c2VyRGFwcAMFAAAACHVuaXRUZXN0CQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNNdDRSR01FeWpTV1lBb2NUUHFkNTV3ZEhRUUIzUFUyVUNtCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOOHhYYVlqRTI3QWE3OWQ1aEhyaEh1OUhhRm9UQm1oREVqAAAAAA13aGl0ZWxpc3REYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNONkJhVjFkQ0I0emc0M2dvTk5IYUN0dlIxM0JjeUo1R3NxAAAAAAtzaWduQXNzZXRJZAEAAAAg6KVqvMp3QvJwYTI1Sk9Fg7m5HuWZZxfDcerZC6EEresAAAAAC3VzZG5Bc3NldElkAQAAACAP8hwSrOTEPJrsRhqrJaiw7LoHK0bMbYhy8LXikkkBtAAAAAAMd2F2ZXNBc3NldElkAQAAAAAAAAAABWNocmlzAgAAACMzTXNHNmpQTkNyVkpVdFlCN1hKQnhTN3V0V3NYQWY0bjlWcAAAAAAHc2lnbkN1dAAAAAAAAAAAAwAAAAAKY3JlYXRvckN1dAAAAAAAAAAACgAAAAANdXNlclN1c3BlbmRlZAIAAAAJU1VTUEVOREVEAAAAAAt1c2VyUmVtb3ZlZAIAAAAHUkVNT1ZFRAAAAAAKYXJ0SWxsZWdh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JHQwMTY3NjcxNjg1OQkBAAAAD3Byb3ZpZGVCYXNlRGF0YQAAAAIFAAAAAWkFAAAABW5mdElkBAAAAAJpZAgFAAAADSR0MDE2NzY3MTY4NTkAAAACXzEEAAAABmNhbGxlcggFAAAADSR0MDE2NzY3MTY4NTkAAAACXzIEAAAABGRhdGUIBQAAAA0kdDAxNjc2NzE2ODU5AAAAAl8zBAAAAAppc1ZhbGlkTkZUCAUAAAANJHQwMTY3NjcxNjg1OQAAAAJfNAQAAAAFYXJ0SWQIBQAAAA0kdDAxNjc2NzE2ODU5AAAAAl81BAAAAAtjcmVhdG9yQWRkcggFAAAADSR0MDE2NzY3MTY4NTkAAAACXzYEAAAACWFydFNpZ25JRAgFAAAADSR0MDE2NzY3MTY4NTkAAAACXzcDCQEAAAABIQAAAAEFAAAACmlzVmFsaWRORlQJAAACAAAAAQIAAAAPTm90IGEgdmFsaWQgbmZ0BAAAAAlzYWxlT3duZXIJAQAAABVnZXRTYWxlT3duZXJBbmRTdGF0dXMAAAABBQAAAAVuZnRJZAMJAQAAAAIhPQAAAAIFAAAABmNhbGxlcgUAAAAJc2FsZU93bmVyCQAAAgAAAAECAAAAIE9ubHkgc2FsZSBvd25lciBjYW4gYWNjZXB0IG9mZmVyBAAAAAZiaWRLZXkJAQAAAAlnZXRCaWRLZXkAAAAEBQAAAApvZmZlck93bmVyBQAAAAVuZnRJZAUAAAAJc2FsZU93bmVyBQAAAAdvZmZlcklkBAAAAA0kdDAxNzExMzE3MTY4CQEAAAAKZ2V0QmlkRGF0YQAAAAEFAAAABmJpZEtleQQAAAAKYmlkRGF0YUFycggFAAAADSR0MDE3MTEzMTcxNjgAAAACXzEEAAAAB2Fzc2V0SWQIBQAAAA0kdDAxNzExMzE3MTY4AAAAAl8yBAAAAAdiaWREYXRhCAUAAAANJHQwMTcxMTMxNzE2OAAAAAJfMwQAAAAHc2FsZUtleQkBAAAACmdldFNhbGVLZXkAAAAEBQAAAAlzYWxlT3duZXIFAAAABW5mdElkBQAAAAVhcnRJZAUAAAALY3JlYXRvckFkZHIEAAAACHNhbGVJbmZvCQEAAAAJZ2V0U3RyQnlLAAAAAQkAASwAAAACBQAAAAdzYWxlS2V5AgAAAAVfT1BFTgMJAAAAAAAA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", "height": 1937461, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6Dr21qBzTkXzyFZxtsfNaXWRgENG1nZGtP58oPHm5TXv Next: 4CJtpADESBy9AqfrcAqKgRsZonsyqcpsvw5wzRrvf8uw Diff:
OldNewDifferences
8585 func T (E) = ("artist_agent_" + E)
8686
8787
88-func U (E) = ("artist_agent_secondary" + E)
88+func U (E) = ("artist_agent_secondary_" + E)
8989
9090
9191 func V (W) = if (!(t))
213213 else false)
214214 then fraction(Z, ax, 100)
215215 else 0
216- let aC = ScriptTransfer(Address(fromBase58String(e)), (ay - aB), ae)
217- let aD = ScriptTransfer(Address(fromBase58String(aw)), aB, ae)
218- let aE = ScriptTransfer(Address(fromBase58String(M)), az, ae)
219- let aF = ScriptTransfer(Address(fromBase58String(P)), aA, ae)
220- let aG = ScriptTransfer(Address(fromBase58String(K)), 1, fromBase58String(ah))
221- $Tuple5(aC, aE, aF, aG, aD)
216+ let aC = if ((aB != 0))
217+ then [ScriptTransfer(Address(fromBase58String(e)), (ay - aB), ae), ScriptTransfer(Address(fromBase58String(aw)), aB, ae)]
218+ else [ScriptTransfer(Address(fromBase58String(e)), ay, ae)]
219+ let aD = ScriptTransfer(Address(fromBase58String(M)), az, ae)
220+ let aE = ScriptTransfer(Address(fromBase58String(P)), aA, ae)
221+ let aF = ScriptTransfer(Address(fromBase58String(K)), 1, fromBase58String(ah))
222+ $Tuple4(aC, aD, aE, aF)
222223 }
223224
224225
225-func aH (ae,aI) = {
226- let aJ = if (a)
226+func aG (ae,aH) = {
227+ let aI = if (a)
227228 then 10
228229 else R("waves_min_sell")
229- let aK = 1000000
230- let aL = if (a)
230+ let aJ = 1000000
231+ let aK = if (a)
231232 then 1
232233 else (S * 2)
233234 if (if (if (if (if ((ae == toBase58String(i)))
234- then (aK > aI)
235+ then (aJ > aH)
235236 else false)
236- then (aI != 0)
237+ then (aH != 0)
237238 else false)
238239 then true
239240 else if (if ((ae == toBase58String(h)))
240- then (aL > aI)
241+ then (aK > aH)
241242 else false)
242- then (aI != 0)
243+ then (aH != 0)
243244 else false)
244245 then true
245246 else if (if (if ((ae == toBase58String(j)))
246247 then true
247248 else (ae == "WAVES"))
248- then (aJ > aI)
249+ then (aI > aH)
249250 else false)
250- then (aI != 0)
251+ then (aH != 0)
251252 else false)
252253 then false
253254 else true
254255 }
255256
256257
257-func aM (W,L) = {
258- let aN = V(W)
259- let I = aN._1
260- let K = aN._2
261- let aO = aN._3
262- let aP = ar(L)
263- let aQ = aP._1
264- let F = aP._2
265- let M = aP._3
266- let at = aP._4
267- $Tuple7(I, K, aO, aQ, F, M, at)
258+func aL (W,L) = {
259+ let aM = V(W)
260+ let I = aM._1
261+ let K = aM._2
262+ let aN = aM._3
263+ let aO = ar(L)
264+ let aP = aO._1
265+ let F = aO._2
266+ let M = aO._3
267+ let at = aO._4
268+ $Tuple7(I, K, aN, aP, F, M, at)
268269 }
269270
270271
271-func aR () = {
272- let aS = A(v)
273- IntegerEntry(v, (aS + 1))
272+func aQ () = {
273+ let aR = A(v)
274+ IntegerEntry(v, (aR + 1))
274275 }
275276
276277
277-@Callable(aT)
278-func appRunning (aU,aV) = {
279- let K = toString(addressFromPublicKey(aT.callerPublicKey))
280- let I = toBase58String(aT.transactionId)
278+@Callable(aS)
279+func appRunning (aT,aU) = {
280+ let K = toString(addressFromPublicKey(aS.callerPublicKey))
281+ let I = toBase58String(aS.transactionId)
281282 if (containsElement([k, toString(this)], K))
282- then [BooleanEntry(r, aU), StringEntry(s, aV)]
283+ then [BooleanEntry(r, aT), StringEntry(s, aU)]
283284 else throw("You are not allowed to change this")
284285 }
285286
286287
287288
288289 @Callable(W)
289-func sellNFT (aI,aW) = {
290- let aX = X(W)
291- let Y = aX._1
292- let Z = aX._2
290+func sellNFT (aH,aV) = {
291+ let aW = X(W)
292+ let Y = aW._1
293+ let Z = aW._2
293294 if ((Z != 1))
294295 then throw("No NFT attached")
295296 else {
298299 else false)
299300 then toBase58String(value(Y.assetId))
300301 else throw("Only SIGN Art NFT accepted.")
301- let aY = aM(W, L)
302- let I = aY._1
303- let K = aY._2
304- let aO = aY._3
305- let aQ = aY._4
306- let F = aY._5
307- let M = aY._6
308- let at = aY._7
302+ let aX = aL(W, L)
303+ let I = aX._1
304+ let K = aX._2
305+ let aN = aX._3
306+ let aP = aX._4
307+ let F = aX._5
308+ let M = aX._6
309+ let at = aX._7
309310 if ((size(at) == 0))
310311 then throw("Artwork not found on SIGN Art")
311- else if (!(aQ))
312+ else if (!(aP))
312313 then throw("Not a valid nft")
313- else if (!(ad(aW)))
314+ else if (!(ad(aV)))
314315 then throw("Only SIGN, USDN or WAVES accepted")
315- else if (!(aH(aW, aI)))
316+ else if (!(aG(aV, aH)))
316317 then throw("Wrong minimum sell price")
317- else [StringEntry((J(K, L, F, M) + "_OPEN"), ((((((((((((toString(aO) + "_") + toString(aI)) + "_") + aW) + "_") + L) + "_") + F) + "_") + M) + "_") + I)), StringEntry(((("sale2nd_status_" + K) + "_") + L), "OPEN"), StringEntry(("current_owner_on_dapp_" + L), K)]
318+ else [StringEntry((J(K, L, F, M) + "_OPEN"), ((((((((((((toString(aN) + "_") + toString(aH)) + "_") + aV) + "_") + L) + "_") + F) + "_") + M) + "_") + I)), StringEntry(((("sale2nd_status_" + K) + "_") + L), "OPEN"), StringEntry(("current_owner_on_dapp_" + L), K)]
318319 }
319320 }
320321
321322
322323
323324 @Callable(W)
324-func updateSalePrice (L,aI,aW) = {
325- let aZ = aM(W, L)
326- let I = aZ._1
327- let K = aZ._2
328- let aO = aZ._3
329- let aQ = aZ._4
330- let F = aZ._5
331- let M = aZ._6
332- let at = aZ._7
325+func updateSalePrice (L,aH,aV) = {
326+ let aY = aL(W, L)
327+ let I = aY._1
328+ let K = aY._2
329+ let aN = aY._3
330+ let aP = aY._4
331+ let F = aY._5
332+ let M = aY._6
333+ let at = aY._7
333334 if ((size(at) == 0))
334335 then throw("Artwork not found on SIGN Art, cancel your sale.")
335- else if (!(aQ))
336+ else if (!(aP))
336337 then throw("Not a valid nft")
337338 else {
338339 let P = z(("current_owner_on_dapp_" + L))
342343 let ai = z(((("sale2nd_status_" + K) + "_") + L))
343344 if ((ai != "OPEN"))
344345 then throw("Sale not active")
345- else if (!(ad(aW)))
346+ else if (!(ad(aV)))
346347 then throw("Only SIGN, USDN or WAVES accepted")
347- else if (!(aH(aW, aI)))
348+ else if (!(aG(aV, aH)))
348349 then throw("Wrong minimum sell price")
349350 else {
350- let ba = J(K, L, F, M)
351- let bb = split(z((ba + "_OPEN")), "_")
352-[StringEntry((ba + "_OPEN"), ((((((((((((bb[0] + "_") + toString(aI)) + "_") + aW) + "_") + bb[3]) + "_") + bb[4]) + "_") + bb[5]) + "_") + bb[6]))]
351+ let aZ = J(K, L, F, M)
352+ let ba = split(z((aZ + "_OPEN")), "_")
353+[StringEntry((aZ + "_OPEN"), ((((((((((((ba[0] + "_") + toString(aH)) + "_") + aV) + "_") + ba[3]) + "_") + ba[4]) + "_") + ba[5]) + "_") + ba[6]))]
353354 }
354355 }
355356 }
359360
360361 @Callable(W)
361362 func cancelSale (L) = {
362- let bc = aM(W, L)
363- let I = bc._1
364- let K = bc._2
365- let aO = bc._3
366- let aQ = bc._4
367- let F = bc._5
368- let M = bc._6
369- let at = bc._7
363+ let bb = aL(W, L)
364+ let I = bb._1
365+ let K = bb._2
366+ let aN = bb._3
367+ let aP = bb._4
368+ let F = bb._5
369+ let M = bb._6
370+ let at = bb._7
370371 let P = z(("current_owner_on_dapp_" + L))
371372 if ((P != K))
372373 then throw("You don't own this NFT")
375376 if ((ai != "OPEN"))
376377 then throw("Sale not active")
377378 else {
378- let ba = J(K, L, F, M)
379- let bb = z((ba + "_OPEN"))
380-[DeleteEntry((ba + "_OPEN")), DeleteEntry(((("sale2nd_status_" + K) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((ba + "_") + I) + "_CANCELLED"), ((((bb + "_CANCELLED_") + toString(aO)) + "_") + I)), ScriptTransfer(Address(fromBase58String(K)), 1, fromBase58String(L))]
379+ let aZ = J(K, L, F, M)
380+ let ba = z((aZ + "_OPEN"))
381+[DeleteEntry((aZ + "_OPEN")), DeleteEntry(((("sale2nd_status_" + K) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((aZ + "_") + I) + "_CANCELLED"), ((((ba + "_CANCELLED_") + toString(aN)) + "_") + I)), ScriptTransfer(Address(fromBase58String(K)), 1, fromBase58String(L))]
381382 }
382383 }
383384 }
386387
387388 @Callable(W)
388389 func buyNFT (L) = {
389- let bd = aM(W, L)
390- let I = bd._1
391- let K = bd._2
392- let aO = bd._3
393- let aQ = bd._4
394- let F = bd._5
395- let M = bd._6
396- let at = bd._7
390+ let bc = aL(W, L)
391+ let I = bc._1
392+ let K = bc._2
393+ let aN = bc._3
394+ let aP = bc._4
395+ let F = bc._5
396+ let M = bc._6
397+ let at = bc._7
397398 if ((size(at) == 0))
398399 then throw("Artwork not found on SIGN Art, cancel your sale.")
399- else if (!(aQ))
400+ else if (!(aP))
400401 then throw("Not a valid nft")
401402 else {
402403 let P = ag(L)
403- let ba = J(P, L, F, M)
404- let bb = z((ba + "_OPEN"))
405- if ((size(bb) == 0))
404+ let aZ = J(P, L, F, M)
405+ let ba = z((aZ + "_OPEN"))
406+ if ((size(ba) == 0))
406407 then throw("Sale Not found!")
407408 else {
408- let be = split(bb, "_")
409- if ((parseInt(be[1]) == 0))
409+ let bd = split(ba, "_")
410+ if ((parseInt(bd[1]) == 0))
410411 then throw("Offer only")
411412 else {
412- let bf = X(W)
413- let Y = bf._1
414- let Z = bf._2
415- let bg = if (isDefined(Y.assetId))
413+ let be = X(W)
414+ let Y = be._1
415+ let Z = be._2
416+ let bf = if (isDefined(Y.assetId))
416417 then toBase58String(value(Y.assetId))
417418 else ""
418- if (if ((be[1] != toString(Z)))
419+ if (if ((bd[1] != toString(Z)))
419420 then true
420- else (be[2] != bg))
421+ else (bd[2] != bf))
421422 then throw("Payment infos don't match.")
422423 else {
423- let bh = av(Z, Y.assetId, L, M, P, K)
424- let aC = bh._1
425- let aE = bh._2
426- let aF = bh._3
427- let aG = bh._4
428- let aD = bh._5
429-[DeleteEntry((ba + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((ba + "_") + I) + "_CLOSED"), ((((((bb + "_CLOSED_") + toString(aO)) + "_") + I) + "_") + K)), aR(), aC, aE, aF, aG, aD]
424+ let bg = av(Z, Y.assetId, L, M, P, K)
425+ let aC = bg._1
426+ let aD = bg._2
427+ let aE = bg._3
428+ let aF = bg._4
429+ ([DeleteEntry((aZ + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((aZ + "_") + I) + "_CLOSED"), ((((((ba + "_CLOSED_") + toString(aN)) + "_") + I) + "_") + K)), aQ(), aD, aE, aF] ++ aC)
430430 }
431431 }
432432 }
437437
438438 @Callable(W)
439439 func setOffer (L) = {
440- let bi = aM(W, L)
441- let I = bi._1
442- let O = bi._2
443- let aO = bi._3
444- let aQ = bi._4
445- let F = bi._5
446- let M = bi._6
447- let at = bi._7
448- if (!(aQ))
440+ let bh = aL(W, L)
441+ let I = bh._1
442+ let O = bh._2
443+ let aN = bh._3
444+ let aP = bh._4
445+ let F = bh._5
446+ let M = bh._6
447+ let at = bh._7
448+ if (!(aP))
449449 then throw("Not a valid nft")
450450 else {
451- let bj = X(W)
452- let Y = bj._1
453- let Z = bj._2
451+ let bi = X(W)
452+ let Y = bi._1
453+ let Z = bi._2
454454 let ae = if (!(isDefined(Y.assetId)))
455455 then "WAVES"
456456 else toBase58String(value(Y.assetId))
458458 then throw("asset not accepted")
459459 else if ((Z == 0))
460460 then throw("Offer of 0 not allowed")
461- else if (!(aH(ae, Z)))
461+ else if (!(aG(ae, Z)))
462462 then throw("Wrong minimum sell price")
463463 else {
464464 let P = ag(L)
465-[StringEntry((N(O, L, P, I) + "_OPEN"), ((((((((((((((toString(aO) + "_") + toString(Z)) + "_") + ae) + "_") + L) + "_") + F) + "_") + M) + "_") + O) + "_") + I))]
465+[StringEntry((N(O, L, P, I) + "_OPEN"), ((((((((((((((toString(aN) + "_") + toString(Z)) + "_") + ae) + "_") + L) + "_") + F) + "_") + M) + "_") + O) + "_") + I))]
466466 }
467467 }
468468 }
471471
472472 @Callable(W)
473473 func acceptOffer (L,Q,O) = {
474- let bk = aM(W, L)
475- let I = bk._1
476- let K = bk._2
477- let aO = bk._3
478- let aQ = bk._4
479- let F = bk._5
480- let M = bk._6
481- let at = bk._7
482- if (!(aQ))
474+ let bj = aL(W, L)
475+ let I = bj._1
476+ let K = bj._2
477+ let aN = bj._3
478+ let aP = bj._4
479+ let F = bj._5
480+ let M = bj._6
481+ let at = bj._7
482+ if (!(aP))
483483 then throw("Not a valid nft")
484484 else {
485485 let P = ag(L)
486486 if ((K != P))
487487 then throw("Only sale owner can accept offer")
488488 else {
489- let bl = N(O, L, P, Q)
490- let bm = aj(bl)
491- let al = bm._1
492- let ae = bm._2
493- let ak = bm._3
494- let ba = J(P, L, F, M)
495- let bb = z((ba + "_OPEN"))
496- if ((size(bb) == 0))
489+ let bk = N(O, L, P, Q)
490+ let bl = aj(bk)
491+ let al = bl._1
492+ let ae = bl._2
493+ let ak = bl._3
494+ let aZ = J(P, L, F, M)
495+ let ba = z((aZ + "_OPEN"))
496+ if ((size(ba) == 0))
497497 then throw("Sale Not found!")
498498 else {
499499 let Z = value(parseInt(al[1]))
500- let bn = av(Z, ae, L, M, P, al[6])
501- let aC = bn._1
502- let aE = bn._2
503- let aF = bn._3
504- let aG = bn._4
505- let aD = bn._5
506- let bo = if (isDefined(ae))
500+ let bm = av(Z, ae, L, M, P, al[6])
501+ let aC = bm._1
502+ let aD = bm._2
503+ let aE = bm._3
504+ let aF = bm._4
505+ let bn = if (isDefined(ae))
507506 then toBase58String(value(ae))
508507 else "WAVES"
509-[DeleteEntry((ba + "_OPEN")), DeleteEntry((bl + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((bl + "_CLOSED"), ((((ak + "_CLOSED_") + toString(aO)) + "_") + I)), StringEntry((((ba + "_") + I) + "_CLOSED"), ((((((((((bb + "_CLOSED-OFFER_") + toString(aO)) + "_") + I) + "_") + O) + "_") + toString(Z)) + "_") + bo)), aR(), aC, aE, aF, aG, aD]
508+ ([DeleteEntry((aZ + "_OPEN")), DeleteEntry((bk + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((bk + "_CLOSED"), ((((ak + "_CLOSED_") + toString(aN)) + "_") + I)), StringEntry((((aZ + "_") + I) + "_CLOSED"), ((((((((((ba + "_CLOSED-OFFER_") + toString(aN)) + "_") + I) + "_") + O) + "_") + toString(Z)) + "_") + bn)), aQ(), aD, aE, aF] ++ aC)
510509 }
511510 }
512511 }
516515
517516 @Callable(W)
518517 func cancelOffer (L,Q,O,P) = {
519- let bp = V(W)
520- let I = bp._1
521- let K = bp._2
522- let aO = bp._3
518+ let bo = V(W)
519+ let I = bo._1
520+ let K = bo._2
521+ let aN = bo._3
523522 if (if ((K != O))
524523 then (K != P)
525524 else false)
526525 then throw("You cannot cancel this offer.")
527526 else {
528- let bl = N(O, L, P, Q)
529- let bq = aj(bl)
530- let al = bq._1
531- let ae = bq._2
532- let ak = bq._3
533-[DeleteEntry((bl + "_OPEN")), StringEntry((bl + "_CANCELLED"), ((((ak + "_CANCELLED_") + toString(aO)) + "_") + I)), ScriptTransfer(Address(fromBase58String(K)), parseIntValue(al[1]), ae)]
527+ let bk = N(O, L, P, Q)
528+ let bp = aj(bk)
529+ let al = bp._1
530+ let ae = bp._2
531+ let ak = bp._3
532+[DeleteEntry((bk + "_OPEN")), StringEntry((bk + "_CANCELLED"), ((((ak + "_CANCELLED_") + toString(aN)) + "_") + I)), ScriptTransfer(Address(fromBase58String(K)), parseIntValue(al[1]), ae)]
534533 }
535534 }
536535
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = false
55
66 let b = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
77
88 let c = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
99
1010 let d = value(addressFromString("3NBynfbXC2KastUxhukcMUaE58K9cBdB9UY"))
1111
1212 let e = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
1313
1414 let f = if (a)
1515 then value(addressFromString("3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm"))
1616 else value(addressFromString("3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj"))
1717
1818 let g = value(addressFromString("3N6BaV1dCB4zg43goNNHaCtvR13BcyJ5Gsq"))
1919
2020 let h = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
2121
2222 let i = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
2323
2424 let j = base58''
2525
2626 let k = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
2727
2828 let l = 3
2929
3030 let m = 10
3131
3232 let n = "SUSPENDED"
3333
3434 let o = "REMOVED"
3535
3636 let p = "ILLEGAL"
3737
3838 let q = "SUSPENDED"
3939
4040 let r = "conf_dapp_is_running"
4141
4242 let s = "conf_maintenance_msg"
4343
4444 let t = valueOrElse(getBoolean(this, r), true)
4545
4646 let u = valueOrElse(getString(this, s), "")
4747
4848 let v = "num_sales"
4949
5050 func w (x) = valueOrElse(getString(f, x), "Error")
5151
5252
5353 func y (x) = valueOrElse(getString(d, x), "")
5454
5555
5656 func z (x) = valueOrElse(getString(this, x), "")
5757
5858
5959 func A (x) = valueOrElse(getInteger(this, x), 0)
6060
6161
6262 func B (C) = ("user_status_" + C)
6363
6464
6565 func D (E,F) = ((("art_signid_" + F) + "_") + E)
6666
6767
6868 func G (E,F) = ((("art_flag_" + F) + "_") + E)
6969
7070
7171 func H (I) = ("nft_" + I)
7272
7373
7474 func J (K,L,F,M) = ((((((("sale2nd_info_" + K) + "_") + L) + "_") + F) + "_") + M)
7575
7676
7777 func N (O,L,P,Q) = ((((((("offer2nd_" + O) + "_") + L) + "_") + P) + "_") + Q)
7878
7979
8080 func R (x) = valueOrErrorMessage(getInteger(b, x), "Integer undefine or 0 in oracle")
8181
8282
8383 let S = R(("certification_fee_" + toBase58String(h)))
8484
8585 func T (E) = ("artist_agent_" + E)
8686
8787
88-func U (E) = ("artist_agent_secondary" + E)
88+func U (E) = ("artist_agent_secondary_" + E)
8989
9090
9191 func V (W) = if (!(t))
9292 then throw(u)
9393 else $Tuple3(toBase58String(W.transactionId), toBase58String(W.caller.bytes), lastBlock.timestamp)
9494
9595
9696 func X (W) = if ((size(W.payments) == 0))
9797 then throw("No payment attached")
9898 else {
9999 let Y = value(W.payments[0])
100100 let Z = value(Y.amount)
101101 $Tuple2(Y, Z)
102102 }
103103
104104
105105 func aa (ab) = if (if (if ((ab.quantity == 1))
106106 then (ab.decimals == 0)
107107 else false)
108108 then (ab.reissuable == false)
109109 else false)
110110 then (ab.issuer == d)
111111 else false
112112
113113
114114 func ac (I) = {
115115 let ab = value(assetInfo(I))
116116 aa(ab)
117117 }
118118
119119
120120 func ad (ae) = if (if (if (if ((ae != toBase58String(h)))
121121 then (ae != toBase58String(j))
122122 else false)
123123 then (ae != "WAVES")
124124 else false)
125125 then (ae != toBase58String(i))
126126 else false)
127127 then false
128128 else true
129129
130130
131131 func af (ae) = if ((ae == "WAVES"))
132132 then unit
133133 else fromBase58String(ae)
134134
135135
136136 func ag (ah) = {
137137 let P = z(("current_owner_on_dapp_" + ah))
138138 if ((size(P) == 0))
139139 then throw("NFT not found")
140140 else {
141141 let ai = z(((("sale2nd_status_" + P) + "_") + ah))
142142 if ((ai != "OPEN"))
143143 then throw("NFT not for sale")
144144 else P
145145 }
146146 }
147147
148148
149149 func aj (x) = {
150150 let ak = z((x + "_OPEN"))
151151 if ((ak == ""))
152152 then throw("Offer not found")
153153 else {
154154 let al = split(ak, "_")
155155 let ae = af(al[2])
156156 $Tuple3(al, ae, ak)
157157 }
158158 }
159159
160160
161161 func am (an) = if ((an != p))
162162 then (an != q)
163163 else false
164164
165165
166166 func ao (C,I) = {
167167 let an = y(G(C, I))
168168 if (am(an))
169169 then true
170170 else throw(("Original Artwork flagged as " + an))
171171 }
172172
173173
174174 func ap (C) = {
175175 let aq = w(B(C))
176176 if (containsElement([n, o], aq))
177177 then throw(("Original Artist " + aq))
178178 else true
179179 }
180180
181181
182182 func ar (ae) = {
183183 let as = split(y(H(ae)), "_")
184184 let at = y(D(as[6], as[5]))
185185 if (if (!(ao(as[6], as[5])))
186186 then !(ap(as[6]))
187187 else false)
188188 then $Tuple4(false, as[5], as[6], at)
189189 else $Tuple4(true, as[5], as[6], at)
190190 }
191191
192192
193193 func au (F,M) = {
194194 let at = y(D(M, F))
195195 if ((size(at) == 0))
196196 then throw("Artwork not found on SIGN Art")
197197 else if (if (!(ao(M, F)))
198198 then !(ap(M))
199199 else false)
200200 then false
201201 else true
202202 }
203203
204204
205205 func av (Z,ae,ah,M,P,K) = {
206206 let aw = valueOrElse(getString(f, T(M)), e)
207207 let ax = valueOrElse(getInteger(f, U(M)), 0)
208208 let ay = fraction(Z, l, 100)
209209 let az = fraction(Z, m, 100)
210210 let aA = (Z - (ay + az))
211211 let aB = if (if ((aw != e))
212212 then (ax > 0)
213213 else false)
214214 then fraction(Z, ax, 100)
215215 else 0
216- let aC = ScriptTransfer(Address(fromBase58String(e)), (ay - aB), ae)
217- let aD = ScriptTransfer(Address(fromBase58String(aw)), aB, ae)
218- let aE = ScriptTransfer(Address(fromBase58String(M)), az, ae)
219- let aF = ScriptTransfer(Address(fromBase58String(P)), aA, ae)
220- let aG = ScriptTransfer(Address(fromBase58String(K)), 1, fromBase58String(ah))
221- $Tuple5(aC, aE, aF, aG, aD)
216+ let aC = if ((aB != 0))
217+ then [ScriptTransfer(Address(fromBase58String(e)), (ay - aB), ae), ScriptTransfer(Address(fromBase58String(aw)), aB, ae)]
218+ else [ScriptTransfer(Address(fromBase58String(e)), ay, ae)]
219+ let aD = ScriptTransfer(Address(fromBase58String(M)), az, ae)
220+ let aE = ScriptTransfer(Address(fromBase58String(P)), aA, ae)
221+ let aF = ScriptTransfer(Address(fromBase58String(K)), 1, fromBase58String(ah))
222+ $Tuple4(aC, aD, aE, aF)
222223 }
223224
224225
225-func aH (ae,aI) = {
226- let aJ = if (a)
226+func aG (ae,aH) = {
227+ let aI = if (a)
227228 then 10
228229 else R("waves_min_sell")
229- let aK = 1000000
230- let aL = if (a)
230+ let aJ = 1000000
231+ let aK = if (a)
231232 then 1
232233 else (S * 2)
233234 if (if (if (if (if ((ae == toBase58String(i)))
234- then (aK > aI)
235+ then (aJ > aH)
235236 else false)
236- then (aI != 0)
237+ then (aH != 0)
237238 else false)
238239 then true
239240 else if (if ((ae == toBase58String(h)))
240- then (aL > aI)
241+ then (aK > aH)
241242 else false)
242- then (aI != 0)
243+ then (aH != 0)
243244 else false)
244245 then true
245246 else if (if (if ((ae == toBase58String(j)))
246247 then true
247248 else (ae == "WAVES"))
248- then (aJ > aI)
249+ then (aI > aH)
249250 else false)
250- then (aI != 0)
251+ then (aH != 0)
251252 else false)
252253 then false
253254 else true
254255 }
255256
256257
257-func aM (W,L) = {
258- let aN = V(W)
259- let I = aN._1
260- let K = aN._2
261- let aO = aN._3
262- let aP = ar(L)
263- let aQ = aP._1
264- let F = aP._2
265- let M = aP._3
266- let at = aP._4
267- $Tuple7(I, K, aO, aQ, F, M, at)
258+func aL (W,L) = {
259+ let aM = V(W)
260+ let I = aM._1
261+ let K = aM._2
262+ let aN = aM._3
263+ let aO = ar(L)
264+ let aP = aO._1
265+ let F = aO._2
266+ let M = aO._3
267+ let at = aO._4
268+ $Tuple7(I, K, aN, aP, F, M, at)
268269 }
269270
270271
271-func aR () = {
272- let aS = A(v)
273- IntegerEntry(v, (aS + 1))
272+func aQ () = {
273+ let aR = A(v)
274+ IntegerEntry(v, (aR + 1))
274275 }
275276
276277
277-@Callable(aT)
278-func appRunning (aU,aV) = {
279- let K = toString(addressFromPublicKey(aT.callerPublicKey))
280- let I = toBase58String(aT.transactionId)
278+@Callable(aS)
279+func appRunning (aT,aU) = {
280+ let K = toString(addressFromPublicKey(aS.callerPublicKey))
281+ let I = toBase58String(aS.transactionId)
281282 if (containsElement([k, toString(this)], K))
282- then [BooleanEntry(r, aU), StringEntry(s, aV)]
283+ then [BooleanEntry(r, aT), StringEntry(s, aU)]
283284 else throw("You are not allowed to change this")
284285 }
285286
286287
287288
288289 @Callable(W)
289-func sellNFT (aI,aW) = {
290- let aX = X(W)
291- let Y = aX._1
292- let Z = aX._2
290+func sellNFT (aH,aV) = {
291+ let aW = X(W)
292+ let Y = aW._1
293+ let Z = aW._2
293294 if ((Z != 1))
294295 then throw("No NFT attached")
295296 else {
296297 let L = if (if (isDefined(Y.assetId))
297298 then ac(value(Y.assetId))
298299 else false)
299300 then toBase58String(value(Y.assetId))
300301 else throw("Only SIGN Art NFT accepted.")
301- let aY = aM(W, L)
302- let I = aY._1
303- let K = aY._2
304- let aO = aY._3
305- let aQ = aY._4
306- let F = aY._5
307- let M = aY._6
308- let at = aY._7
302+ let aX = aL(W, L)
303+ let I = aX._1
304+ let K = aX._2
305+ let aN = aX._3
306+ let aP = aX._4
307+ let F = aX._5
308+ let M = aX._6
309+ let at = aX._7
309310 if ((size(at) == 0))
310311 then throw("Artwork not found on SIGN Art")
311- else if (!(aQ))
312+ else if (!(aP))
312313 then throw("Not a valid nft")
313- else if (!(ad(aW)))
314+ else if (!(ad(aV)))
314315 then throw("Only SIGN, USDN or WAVES accepted")
315- else if (!(aH(aW, aI)))
316+ else if (!(aG(aV, aH)))
316317 then throw("Wrong minimum sell price")
317- else [StringEntry((J(K, L, F, M) + "_OPEN"), ((((((((((((toString(aO) + "_") + toString(aI)) + "_") + aW) + "_") + L) + "_") + F) + "_") + M) + "_") + I)), StringEntry(((("sale2nd_status_" + K) + "_") + L), "OPEN"), StringEntry(("current_owner_on_dapp_" + L), K)]
318+ else [StringEntry((J(K, L, F, M) + "_OPEN"), ((((((((((((toString(aN) + "_") + toString(aH)) + "_") + aV) + "_") + L) + "_") + F) + "_") + M) + "_") + I)), StringEntry(((("sale2nd_status_" + K) + "_") + L), "OPEN"), StringEntry(("current_owner_on_dapp_" + L), K)]
318319 }
319320 }
320321
321322
322323
323324 @Callable(W)
324-func updateSalePrice (L,aI,aW) = {
325- let aZ = aM(W, L)
326- let I = aZ._1
327- let K = aZ._2
328- let aO = aZ._3
329- let aQ = aZ._4
330- let F = aZ._5
331- let M = aZ._6
332- let at = aZ._7
325+func updateSalePrice (L,aH,aV) = {
326+ let aY = aL(W, L)
327+ let I = aY._1
328+ let K = aY._2
329+ let aN = aY._3
330+ let aP = aY._4
331+ let F = aY._5
332+ let M = aY._6
333+ let at = aY._7
333334 if ((size(at) == 0))
334335 then throw("Artwork not found on SIGN Art, cancel your sale.")
335- else if (!(aQ))
336+ else if (!(aP))
336337 then throw("Not a valid nft")
337338 else {
338339 let P = z(("current_owner_on_dapp_" + L))
339340 if ((P != K))
340341 then throw("You don't own this NFT")
341342 else {
342343 let ai = z(((("sale2nd_status_" + K) + "_") + L))
343344 if ((ai != "OPEN"))
344345 then throw("Sale not active")
345- else if (!(ad(aW)))
346+ else if (!(ad(aV)))
346347 then throw("Only SIGN, USDN or WAVES accepted")
347- else if (!(aH(aW, aI)))
348+ else if (!(aG(aV, aH)))
348349 then throw("Wrong minimum sell price")
349350 else {
350- let ba = J(K, L, F, M)
351- let bb = split(z((ba + "_OPEN")), "_")
352-[StringEntry((ba + "_OPEN"), ((((((((((((bb[0] + "_") + toString(aI)) + "_") + aW) + "_") + bb[3]) + "_") + bb[4]) + "_") + bb[5]) + "_") + bb[6]))]
351+ let aZ = J(K, L, F, M)
352+ let ba = split(z((aZ + "_OPEN")), "_")
353+[StringEntry((aZ + "_OPEN"), ((((((((((((ba[0] + "_") + toString(aH)) + "_") + aV) + "_") + ba[3]) + "_") + ba[4]) + "_") + ba[5]) + "_") + ba[6]))]
353354 }
354355 }
355356 }
356357 }
357358
358359
359360
360361 @Callable(W)
361362 func cancelSale (L) = {
362- let bc = aM(W, L)
363- let I = bc._1
364- let K = bc._2
365- let aO = bc._3
366- let aQ = bc._4
367- let F = bc._5
368- let M = bc._6
369- let at = bc._7
363+ let bb = aL(W, L)
364+ let I = bb._1
365+ let K = bb._2
366+ let aN = bb._3
367+ let aP = bb._4
368+ let F = bb._5
369+ let M = bb._6
370+ let at = bb._7
370371 let P = z(("current_owner_on_dapp_" + L))
371372 if ((P != K))
372373 then throw("You don't own this NFT")
373374 else {
374375 let ai = z(((("sale2nd_status_" + K) + "_") + L))
375376 if ((ai != "OPEN"))
376377 then throw("Sale not active")
377378 else {
378- let ba = J(K, L, F, M)
379- let bb = z((ba + "_OPEN"))
380-[DeleteEntry((ba + "_OPEN")), DeleteEntry(((("sale2nd_status_" + K) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((ba + "_") + I) + "_CANCELLED"), ((((bb + "_CANCELLED_") + toString(aO)) + "_") + I)), ScriptTransfer(Address(fromBase58String(K)), 1, fromBase58String(L))]
379+ let aZ = J(K, L, F, M)
380+ let ba = z((aZ + "_OPEN"))
381+[DeleteEntry((aZ + "_OPEN")), DeleteEntry(((("sale2nd_status_" + K) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((aZ + "_") + I) + "_CANCELLED"), ((((ba + "_CANCELLED_") + toString(aN)) + "_") + I)), ScriptTransfer(Address(fromBase58String(K)), 1, fromBase58String(L))]
381382 }
382383 }
383384 }
384385
385386
386387
387388 @Callable(W)
388389 func buyNFT (L) = {
389- let bd = aM(W, L)
390- let I = bd._1
391- let K = bd._2
392- let aO = bd._3
393- let aQ = bd._4
394- let F = bd._5
395- let M = bd._6
396- let at = bd._7
390+ let bc = aL(W, L)
391+ let I = bc._1
392+ let K = bc._2
393+ let aN = bc._3
394+ let aP = bc._4
395+ let F = bc._5
396+ let M = bc._6
397+ let at = bc._7
397398 if ((size(at) == 0))
398399 then throw("Artwork not found on SIGN Art, cancel your sale.")
399- else if (!(aQ))
400+ else if (!(aP))
400401 then throw("Not a valid nft")
401402 else {
402403 let P = ag(L)
403- let ba = J(P, L, F, M)
404- let bb = z((ba + "_OPEN"))
405- if ((size(bb) == 0))
404+ let aZ = J(P, L, F, M)
405+ let ba = z((aZ + "_OPEN"))
406+ if ((size(ba) == 0))
406407 then throw("Sale Not found!")
407408 else {
408- let be = split(bb, "_")
409- if ((parseInt(be[1]) == 0))
409+ let bd = split(ba, "_")
410+ if ((parseInt(bd[1]) == 0))
410411 then throw("Offer only")
411412 else {
412- let bf = X(W)
413- let Y = bf._1
414- let Z = bf._2
415- let bg = if (isDefined(Y.assetId))
413+ let be = X(W)
414+ let Y = be._1
415+ let Z = be._2
416+ let bf = if (isDefined(Y.assetId))
416417 then toBase58String(value(Y.assetId))
417418 else ""
418- if (if ((be[1] != toString(Z)))
419+ if (if ((bd[1] != toString(Z)))
419420 then true
420- else (be[2] != bg))
421+ else (bd[2] != bf))
421422 then throw("Payment infos don't match.")
422423 else {
423- let bh = av(Z, Y.assetId, L, M, P, K)
424- let aC = bh._1
425- let aE = bh._2
426- let aF = bh._3
427- let aG = bh._4
428- let aD = bh._5
429-[DeleteEntry((ba + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((ba + "_") + I) + "_CLOSED"), ((((((bb + "_CLOSED_") + toString(aO)) + "_") + I) + "_") + K)), aR(), aC, aE, aF, aG, aD]
424+ let bg = av(Z, Y.assetId, L, M, P, K)
425+ let aC = bg._1
426+ let aD = bg._2
427+ let aE = bg._3
428+ let aF = bg._4
429+ ([DeleteEntry((aZ + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((aZ + "_") + I) + "_CLOSED"), ((((((ba + "_CLOSED_") + toString(aN)) + "_") + I) + "_") + K)), aQ(), aD, aE, aF] ++ aC)
430430 }
431431 }
432432 }
433433 }
434434 }
435435
436436
437437
438438 @Callable(W)
439439 func setOffer (L) = {
440- let bi = aM(W, L)
441- let I = bi._1
442- let O = bi._2
443- let aO = bi._3
444- let aQ = bi._4
445- let F = bi._5
446- let M = bi._6
447- let at = bi._7
448- if (!(aQ))
440+ let bh = aL(W, L)
441+ let I = bh._1
442+ let O = bh._2
443+ let aN = bh._3
444+ let aP = bh._4
445+ let F = bh._5
446+ let M = bh._6
447+ let at = bh._7
448+ if (!(aP))
449449 then throw("Not a valid nft")
450450 else {
451- let bj = X(W)
452- let Y = bj._1
453- let Z = bj._2
451+ let bi = X(W)
452+ let Y = bi._1
453+ let Z = bi._2
454454 let ae = if (!(isDefined(Y.assetId)))
455455 then "WAVES"
456456 else toBase58String(value(Y.assetId))
457457 if (!(ad(ae)))
458458 then throw("asset not accepted")
459459 else if ((Z == 0))
460460 then throw("Offer of 0 not allowed")
461- else if (!(aH(ae, Z)))
461+ else if (!(aG(ae, Z)))
462462 then throw("Wrong minimum sell price")
463463 else {
464464 let P = ag(L)
465-[StringEntry((N(O, L, P, I) + "_OPEN"), ((((((((((((((toString(aO) + "_") + toString(Z)) + "_") + ae) + "_") + L) + "_") + F) + "_") + M) + "_") + O) + "_") + I))]
465+[StringEntry((N(O, L, P, I) + "_OPEN"), ((((((((((((((toString(aN) + "_") + toString(Z)) + "_") + ae) + "_") + L) + "_") + F) + "_") + M) + "_") + O) + "_") + I))]
466466 }
467467 }
468468 }
469469
470470
471471
472472 @Callable(W)
473473 func acceptOffer (L,Q,O) = {
474- let bk = aM(W, L)
475- let I = bk._1
476- let K = bk._2
477- let aO = bk._3
478- let aQ = bk._4
479- let F = bk._5
480- let M = bk._6
481- let at = bk._7
482- if (!(aQ))
474+ let bj = aL(W, L)
475+ let I = bj._1
476+ let K = bj._2
477+ let aN = bj._3
478+ let aP = bj._4
479+ let F = bj._5
480+ let M = bj._6
481+ let at = bj._7
482+ if (!(aP))
483483 then throw("Not a valid nft")
484484 else {
485485 let P = ag(L)
486486 if ((K != P))
487487 then throw("Only sale owner can accept offer")
488488 else {
489- let bl = N(O, L, P, Q)
490- let bm = aj(bl)
491- let al = bm._1
492- let ae = bm._2
493- let ak = bm._3
494- let ba = J(P, L, F, M)
495- let bb = z((ba + "_OPEN"))
496- if ((size(bb) == 0))
489+ let bk = N(O, L, P, Q)
490+ let bl = aj(bk)
491+ let al = bl._1
492+ let ae = bl._2
493+ let ak = bl._3
494+ let aZ = J(P, L, F, M)
495+ let ba = z((aZ + "_OPEN"))
496+ if ((size(ba) == 0))
497497 then throw("Sale Not found!")
498498 else {
499499 let Z = value(parseInt(al[1]))
500- let bn = av(Z, ae, L, M, P, al[6])
501- let aC = bn._1
502- let aE = bn._2
503- let aF = bn._3
504- let aG = bn._4
505- let aD = bn._5
506- let bo = if (isDefined(ae))
500+ let bm = av(Z, ae, L, M, P, al[6])
501+ let aC = bm._1
502+ let aD = bm._2
503+ let aE = bm._3
504+ let aF = bm._4
505+ let bn = if (isDefined(ae))
507506 then toBase58String(value(ae))
508507 else "WAVES"
509-[DeleteEntry((ba + "_OPEN")), DeleteEntry((bl + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((bl + "_CLOSED"), ((((ak + "_CLOSED_") + toString(aO)) + "_") + I)), StringEntry((((ba + "_") + I) + "_CLOSED"), ((((((((((bb + "_CLOSED-OFFER_") + toString(aO)) + "_") + I) + "_") + O) + "_") + toString(Z)) + "_") + bo)), aR(), aC, aE, aF, aG, aD]
508+ ([DeleteEntry((aZ + "_OPEN")), DeleteEntry((bk + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((bk + "_CLOSED"), ((((ak + "_CLOSED_") + toString(aN)) + "_") + I)), StringEntry((((aZ + "_") + I) + "_CLOSED"), ((((((((((ba + "_CLOSED-OFFER_") + toString(aN)) + "_") + I) + "_") + O) + "_") + toString(Z)) + "_") + bn)), aQ(), aD, aE, aF] ++ aC)
510509 }
511510 }
512511 }
513512 }
514513
515514
516515
517516 @Callable(W)
518517 func cancelOffer (L,Q,O,P) = {
519- let bp = V(W)
520- let I = bp._1
521- let K = bp._2
522- let aO = bp._3
518+ let bo = V(W)
519+ let I = bo._1
520+ let K = bo._2
521+ let aN = bo._3
523522 if (if ((K != O))
524523 then (K != P)
525524 else false)
526525 then throw("You cannot cancel this offer.")
527526 else {
528- let bl = N(O, L, P, Q)
529- let bq = aj(bl)
530- let al = bq._1
531- let ae = bq._2
532- let ak = bq._3
533-[DeleteEntry((bl + "_OPEN")), StringEntry((bl + "_CANCELLED"), ((((ak + "_CANCELLED_") + toString(aO)) + "_") + I)), ScriptTransfer(Address(fromBase58String(K)), parseIntValue(al[1]), ae)]
527+ let bk = N(O, L, P, Q)
528+ let bp = aj(bk)
529+ let al = bp._1
530+ let ae = bp._2
531+ let ak = bp._3
532+[DeleteEntry((bk + "_OPEN")), StringEntry((bk + "_CANCELLED"), ((((ak + "_CANCELLED_") + toString(aN)) + "_") + I)), ScriptTransfer(Address(fromBase58String(K)), parseIntValue(al[1]), ae)]
534533 }
535534 }
536535
537536

github/deemru/w8io/169f3d6 
176.70 ms