tx · FK8LARV31Kz4BxALDTkVK9Sg8vR5qMzCJSikhfJx8iEP

3N1Dhq5ZZyoojQisuTLusYjnGisqrxDwGLy:  -0.01000000 Waves

2021.10.02 15:12 [1728562] smart account 3N1Dhq5ZZyoojQisuTLusYjnGisqrxDwGLy > SELF 0.00000000 Waves

{ "type": 13, "id": "FK8LARV31Kz4BxALDTkVK9Sg8vR5qMzCJSikhfJx8iEP", "fee": 1000000, "feeAssetId": null, "timestamp": 1633176813196, "version": 2, "chainId": 84, "sender": "3N1Dhq5ZZyoojQisuTLusYjnGisqrxDwGLy", "senderPublicKey": "4ogfEQE7KGDWQR7Vd5VThqBebZ47NxrMLmAApR3sFuXW", "proofs": [ "5iDphhf4GXCm2kA4XnEjnFxs2QxN3dRvQ3vfxRbXnxof6yg7rb4XomHnKBTS2FsmAPXdnNEFsgGLpRwrEdHJ5fa2" ], "script": "base64:AAIFAAAAAAAAAD8IAhIFCgMBCAgSCQoHCAgICAgICBIJCgcIAQEICAEBEgQKAggIEgMKAQgSBAoCCAgSBgoECAgICBIFCgMICAgAAABQAAAAAAh1bml0VGVzdAcAAAAACW9yYWNsZUZlZQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTXBaUWp6R29nbWlmY0VLZThtRGQ2cmliTDdueFQ5QUN5ZQAAAAALZmVlUmVjZWl2ZXICAAAAIzNONjV4THE4SmNDZWFFaVIxVEpRN2RCcVhCdkV5NkU0OFd6AAAAAAhjZXJ0RGFwcAIAAAAjM014Y1hyTmJNWktZYVNyaGNmZU1tMmhabkJlQ3UzeVJXc3cAAAAACHVzZXJEYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOOWNRZ1pGUEhIVnU4d3FzbjJEa1FGZWhnM2g4Q05pb29BAAAAAA13aGl0ZWxpc3REYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOOXhaWUdwek1GRFh2WHVjdG1VNnpWOHFTem0yWmZGMzFmAAAAAAtVU0ROQXNzZXRJZAEAAAAgAIUpTOkTLqoXmGxvzdEleYQFDyLlDcuqJGsbsu9ZirwAAAAABm93bmVycwkABEwAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAGb3duZXIxCQAETAAAAAIJAAQdAAAAAgUAAAAJb3JhY2xlRmVlAgAAAAZvd25lcjIFAAAAA25pbAAAAAAQVVNETkZpcnN0U2VsbEN1dAAAAAAAAAAAlgAAAAARVVNETlNlY29uZFNlbGxDdXQAAAAAAAAAAB4AAAAAEm9yaWdpbmFsQ3JlYXRvckN1dAAAAAAAAAAARgAAAAALZGFwcFJ1bm5pbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAIdXNlckRhcHACAAAAFGNvbmZfZGFwcF9pc19ydW5uaW5nBgAAAAAObWFpbnRlbmFuY2VNU0cJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAIdXNlckRhcHACAAAAFGNvbmZfbWFpbnRlbmFuY2VfbXNnAgAAAAAAAAAADXVzZXJTdXNwZW5kZWQCAAAACVNVU1BFTkRFRAAAAAALdXNlclJl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X3ByaWNlXwUAAAAFYXJ0SWQCAAAAAV8FAAAABmNhbGxlcgEAAAASa2V5QXNzZXRJZEFjY2VwdGVkAAAAAgAAAAZjYWxsZXIAAAAFYXJ0SWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEmFydF9hc3NldEFjY2VwdGVkXwUAAAAFYXJ0SWQCAAAAAV8FAAAABmNhbGxlcgEAAAARa2V5SGFzaEJ5VHhpZEFkZHIAAAACAAAABmNhbGxlcgAAAAR0eGlkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABNnZXRfaGFzaGJ5dHhpZGFkZHJfBQAAAAR0eGlkAgAAAAFfBQAAAAZjYWxsZXIBAAAADmtleU93bmVyQnlIYXNoAAAAAQAAAApzaGEyNTZIYXNoCQABLAAAAAICAAAAEmdldF9vd25lcl9ieV9oYXNoXwUAAAAKc2hhMjU2SGFzaAEAAAASa2V5VHhpZEJ5SGFzaE93bmVyAAAAAgAAAApzaGEyNTZIYXNoAAAABmNhbGxlcgkAASwAAAACAgAAABdnZXRfdHhpZF9ieV9oYXNoX293bmVyXwkAAlgAAAABCQALVAAAAAEJAAGbAAAAAQkAASwAAAACBQAAAApzaGEyNTZIYXNoBQAAAAZjYWxsZXIAAAAAGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UJAQAAABlnZXRJbnRlZ2VyQnlLZXlGcm9tT3JhY2xlAAAAAQkAASwAAAACAgAAABJjZXJ0aWZpY2F0aW9uX2ZlZV8JAAJYAAAAAQUAAAALVVNETkFzc2V0SWQBAAAAEGdldEFtb3VudEJ5QmlkSWQAAAABAAAABWJpZElkCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAACGtleUJpZElkAAAAAQUAAAAFYmlkSWQAAAAAAAAAAAABAAAAGmdldEFtb3VudEhpZ2hlc3RCaWRCeUFydElkAAAAAQAAAAVhcnRJZAQAAAAFYmlkSWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABJrZXlIaWdoZXN0QmlkQmlkSWQAAAABBQAAAAVhcnRJZAMJAAAAAAAAAgUAAAAFYmlkSWQCAAAAAAAAAAAAAAAAAAkBAAAAEGdldEFtb3Vu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AAUZAAAABwUAAAAIdG90YWxORlQFAAAAC2FydHdvcmtOYW1lBQAAAAphbW91bnRTb2xkBQAAAAxhcnR3b3JrUHJpY2UFAAAADHByaWNlQXNzZXRJZAUAAAAKbWF4Q2FuU2VsbAUAAAAIaXNPblNhbGUBAAAACmdldEJpZERhdGEAAAAJAAAAAWkAAAAGY2FsbGVyAAAABmlzc3VlcgAAAAVhcnRJZAAAAAhiaWRPd25lcgAAAAViaWRJZAAAAAxwcmljZUFzc2V0SWQAAAAMYXJ0d29ya1ByaWNlAAAABWlzQmlkBAAAAAljaGVja1VzZXIJAQAAAAx2YWxpZGF0ZVVzZXIAAAABBQAAAAZpc3N1ZXIDAwUAAAAFaXNCaWQJAQAAAAIhPQAAAAIFAAAACWNoZWNrVXNlcgIAAAAABwkAAAIAAAABBQAAAAljaGVja1VzZXIEAAAACmJpZERhdGFLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAEYmlkXwUAAAAFYXJ0SWQCAAAAAV8FAAAABmlzc3VlcgIAAAABXwUAAAAIYmlkT3duZXICAAAAAV8FAAAABWJpZElkBAAAAAx0MDEzNTE5MTM2NDgDBQAAAAVpc0JpZAkBAAAAFmdldFByaWNlQXNzZXRJZEZyb21CaWQAAAABBQAAAApiaWREYXRhS2V5CQEAAAAUdmFsaWRhdGVQcmljZUFzc2V0SWQAAAADBQAAAAFpBQAAAAxwcmljZUFzc2V0SWQFAAAADGFydHdvcmtQcmljZQQAAAAGYW1vdW50CAUAAAAMdDAxMzUxOTEzNjQ4AAAAAl8xBAAAAAdhc3NldElkCAUAAAAMdDAxMzUxOTEzNjQ4AAAAAl8yCQAFFQAAAAMFAAAACmJpZERhdGFLZXkFAAAABmFtb3VudAUAAAAHYXNzZXRJZAEAAAARZ2V0Q29tbWlzc2lvbkRhdGEAAAAFAAAABmlzc3VlcgAAAAdhc3NldElkAAAABmFtb3VudAAAAAphbW91bnRTb2xkAAAACm1heENhblNlbGwEAAAADWlzV2hpdGVsaXN0ZWQJAQAAAA5jaGVja1doaXRlbGlzdAAAAAEFAAAABmlzc3VlcgQAAAADY3V0AwkAAGYAAAAC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ckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAACmNhbGxlckRhdGEAAAACXzEEAAAABmNhbGxlcggFAAAACmNhbGxlckRhdGEAAAACXzIEAAAABGRhdGUIBQAAAApjYWxsZXJEYXRhAAAAAl8zBAAAAAdhcnREYXRhCQEAAAAKZ2V0QXJ0RGF0YQAAAAQFAAAAAWkFAAAABmlzc3VlcgUAAAAFYXJ0SWQFAAAABWlzQmlkBAAAAAh0b3RhbE5GVAgFAAAAB2FydERhdGEAAAACXzEEAAAAC2FydHdvcmtOYW1lCAUAAAAHYXJ0RGF0YQAAAAJfMgQAAAAKYW1vdW50U29sZAgFAAAAB2FydERhdGEAAAACXzMEAAAADGFydHdvcmtQcmljZQgFAAAAB2FydERhdGEAAAACXzQEAAAADHByaWNlQXNzZXRJZAgFAAAAB2FydERhdGEAAAACXzUEAAAACm1heENhblNlbGwIBQAAAAdhcnREYXRhAAAAAl82BAAAAAhpc09uU2FsZQgFAAAAB2FydERhdGEAAAACXzcEAAAAB2JpZERhdGEJAQAAAApnZXRCaWREYXRhAAAACQUAAAABaQUAAAAGY2FsbGVyBQAAAAZpc3N1ZXIFAAAABWFydElkBQAAAAhiaWRPd25lcgUAAAAFYmlkSWQFAAAADHByaWNlQXNzZXRJZAUAAAAMYXJ0d29ya1ByaWNlBQAAAAVpc0JpZAQAAAAKYmlkRGF0YUtleQgFAAAAB2JpZERhdGEAAAACXzEEAAAABmFtb3VudAgFAAAAB2JpZERhdGEAAAACXzIEAAAAB2Fzc2V0SWQIBQAAAAdiaWREYXRhAAAAAl8zBAAAAA1jb21taXNpb25EYXRhCQEAAAARZ2V0Q29tbWlzc2lvbkRhdGEAAAAFBQAAAAZpc3N1ZXIJAQAAAAV2YWx1ZQAAAAEFAAAAB2Fzc2V0SWQFAAAABmFtb3VudAUAAAAKYW1vdW50U29sZAUAAAAKbWF4Q2FuU2VsbAQAAAAPYW1vdW50Rm9yU2NvbmV4CAUAAAANY29tbWlzaW9uRGF0YQAAAAJfMQQAAAAQYW1vdW50Rm9yQ3JlYXRvcggFAAAADWNvbW1pc2lvbkRhdGEAAAACXzIEAAAADW5ld0Ftb3VudFNvbGQIBQAAAA1jb21taXNpb25EYXRh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bnRlZ2VyQnlLZXkAAAABCQEAAAAKa2V5TWF4TWludAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAADG9sZEVuZEhlaWdodAkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAxrZXlFbmRIZWlnaHQAAAACBQAAAAZpc3N1ZXIFAAAABWFydElkBAAAAAhkdXJhdGlvbgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAAAtrZXlEdXJhdGlvbgAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAACWVuZEhlaWdodAkAAGQAAAACBQAAAAhkdXJhdGlvbgUAAAAGaGVpZ2h0AwkAAGYAAAACBQAAAAZoZWlnaHQFAAAADG9sZEVuZEhlaWdodAMJAAAAAAAAAgUAAAAKYW1vdW50U29sZAUAAAAKbWF4Q2FuU2VsbAkAAAIAAAABAgAAACZDYW4ndCByZXN0YXJ0IGF1Y3Rpb24sIG1heCBhbW91bnQgc29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleUVuZEhlaWdodAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQFAAAACWVuZEhlaWdodAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAASa2V5SGlnaGVzdEJpZEJpZElkAAAAAQUAAAAFYXJ0SWQFAAAAA25pbAkAAAIAAAABAgAAACRQcmV2aW91cyBhdWN0aW9uIGlzbid0IGNvbXBsZXRlZCB5ZXQBAAAAFGFjY2VwdEJpZFRyYWRpdGlvbmFsAAAABQAAAAFpAAAABWFydElkAAAABmlzc3VlcgAAAAViaWRJZAAAAAhiaWRPd25lcgQAAAAJZW5kSGVpZ2h0CQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAADGtleUVuZEhlaWdodAAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQEAAAADGhpZ2hlc3RCaWRJZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEmtleUhpZ2hlc3RCaWRCaWRJZAAAAAEFAAAABWFydElkAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAACWVuZEhlaWdodAMJAAAAAAAAAgUAAAAFYmlkSWQFAAAADGhp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AAAAEXNldEJpZFRyYWRpdGlvbmFsAAAAAwUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAWVW5rbm93biBhdWN0aW9uIHR5cGUgOgUAAAALYXVjdGlvblR5cGUCAAAAGywgcGxlYXNlIGNvbnRhY3QgdGhlIGFkbWlucwAAAAFpAQAAAAlhY2NlcHRCaWQAAAAEAAAABWFydElkAAAABmlzc3VlcgAAAAViaWRJZAAAAAhiaWRPd25lcgQAAAALYXVjdGlvblR5cGUJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA5rZXlBdWN0aW9uVHlwZQAAAAIFAAAABmlzc3VlcgUAAAAFYXJ0SWQDCQAAAAAAAAIFAAAAC2F1Y3Rpb25UeXBlBQAAAAxhdWN0aW9uVHlwZTEJAQAAABdhY2NlcHRCaWROb25UcmFkaXRpb25hbAAAAAUFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXIFAAAABWJpZElkBQAAAAhiaWRPd25lcgMJAAAAAAAAAgUAAAALYXVjdGlvblR5cGUFAAAADGF1Y3Rpb25UeXBlMgkBAAAAFGFjY2VwdEJpZFRyYWRpdGlvbmFsAAAABQUAAAABaQUAAAAFYXJ0SWQFAAAABmlzc3VlcgUAAAAFYmlkSWQFAAAACGJpZE93bmVyCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABZVbmtub3duIGF1Y3Rpb24gdHlwZSA6BQAAAAthdWN0aW9uVHlwZQIAAAAbLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5zAAAAAWkBAAAACWNhbmNlbEJpZAAAAAMAAAAFYXJ0SWQAAAAGaXNzdWVyAAAABWJpZElkBAAAAAthdWN0aW9uVHlwZQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADmtleUF1Y3Rpb25UeXBlAAAAAgUAAAAGaXNzdWVyBQAAAAVhcnRJZAMJAAAAAAAAAgUAAAALYXVjdGlvblR5cGUFAAAADGF1Y3Rpb25UeXBlMQkBAAAADWNhbmNlbEJpZEltcGwAAAAEBQAAAAFpBQAAAAVhcnRJZAUAAAAGaXNzdWVyBQAAAAViaWRJZAkBAAAAGGNhbmNlbEJpZEltcGxUcmFkaXRpb25hbAAAAAQFAAAAAWkFAAAABWFydElkBQAAAAZpc3N1ZXIFAAAABWJpZElkAAAAAELckX0=", "height": 1728562, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6sktiYHPMWpjTqZZfSmQhp78Z2UMxAwddtVoDDHasmDf Next: cnK6R7pekKNXjiPiWTmVciSKJWVB39n625CTpM3ju3g Diff:
OldNewDifferences
380380 }
381381
382382
383-func bt (aB,aQ,bu) = {
384- let bv = if (!(isDefined(aB)))
383+func bt (bu) = if ((4 > bu))
384+ then "SSR"
385+ else if ((11 > bu))
386+ then "SR"
387+ else if ((101 > bu))
388+ then "R"
389+ else "N"
390+
391+
392+func bv (aB,aQ,bw) = {
393+ let bx = if (!(isDefined(aB)))
385394 then throw("Only USDN is accepted")
386395 else toBase58String(value(aB))
387396 let aR = v((aQ + "_OPEN"))
388- let bw = DeleteEntry((aQ + "_OPEN"))
389- let bx = StringEntry((aQ + "_CLOSED"), ((aR + "_") + toString(bu)))
390- $Tuple3(bv, bw, bx)
397+ let by = DeleteEntry((aQ + "_OPEN"))
398+ let bz = StringEntry((aQ + "_CLOSED"), ((aR + "_") + toString(bw)))
399+ $Tuple3(bx, by, bz)
391400 }
392401
393402
394-func by (aw,H,aX,P,aY,ba) = {
395- let bz = aV(aw)
396- let bA = bz._1
397- let F = bz._2
398- let bu = bz._3
399- let bB = aZ(aw, aX, H, ba)
400- let bc = bB._1
401- let bd = bB._2
402- let bf = bB._3
403- let aI = bB._4
404- let aH = bB._5
405- let bg = bB._6
406- let be = bB._7
403+func bA (aw,H,aX,P,aY,ba) = {
404+ let bB = aV(aw)
405+ let bC = bB._1
406+ let F = bB._2
407+ let bw = bB._3
408+ let bD = aZ(aw, aX, H, ba)
409+ let bc = bD._1
410+ let bd = bD._2
411+ let bf = bD._3
412+ let aI = bD._4
413+ let aH = bD._5
414+ let bg = bD._6
415+ let be = bD._7
407416 let aR = bh(aw, F, aX, H, aY, P, aH, aI, ba)
408417 let aQ = aR._1
409418 let ay = aR._2
410419 let aB = aR._3
411- let bC = bj(aX, value(aB), ay, bf, bg)
412- let bm = bC._1
413- let bn = bC._2
414- let bo = bC._3
415- let bD = bp(aX, H, bd, bo, bg, bc, F, aY, P, aw, be)
416- let br = bD._1
417- let bs = bD._2
418- let bq = bD._3
419- let bE = invoke(this, "mintNft", [bc, bq, toString(bs)], nil)
420- if ((bE == bE))
420+ let bE = bj(aX, value(aB), ay, bf, bg)
421+ let bm = bE._1
422+ let bn = bE._2
423+ let bo = bE._3
424+ let bF = bp(aX, H, bd, bo, bg, bc, F, aY, P, aw, be)
425+ let br = bF._1
426+ let bs = bF._2
427+ let bq = bF._3
428+ let bG = invoke(this, "mintNft", [bc, bq, toString(bs)], nil)
429+ if ((bG == bG))
421430 then {
422- let bF = {
423- let aE = bE
431+ let bH = {
432+ let aE = bG
424433 if ($isInstanceOf(aE, "String"))
425434 then {
426- let bG = aE
427- bG
435+ let bI = aE
436+ bI
428437 }
429438 else throw("Incorrect invoke result")
430439 }
431- let bH = bt(aB, aQ, bu)
432- let bv = bH._1
433- let bw = bH._2
434- let bx = bH._3
435- let bI = ((((((("art_sold_" + toString(bo)) + "_of_") + toString(bg)) + "_") + H) + "_") + aX)
436- let bJ = if (!(ba))
437- then ((((((((((F + "_") + toString(bu)) + "_") + bA) + "_") + toString(aI)) + "_") + aH) + "_") + bF)
438- else ((((((((((toString(bs) + "_") + toString(bu)) + "_") + bA) + "_") + toString(ay)) + "_") + bv) + "_") + bF)
439- let bK = StringEntry(bI, bJ)
440- let bL = [IntegerEntry(T(aX, H), bo), StringEntry(("nft_" + bF), bI), IntegerEntry("total_nft_issued", (bc + 1)), BooleanEntry(W(aX, H), br), ScriptTransfer(Address(fromBase58String(aX)), bn, aB), ScriptTransfer(Address(fromBase58String(c)), bm, aB), StringEntry(U(bF), aX)]
441- let bM = invoke(addressFromStringValue(d), "createCert", [toString(bs), bF, aX], nil)
442- if ((bM == bM))
440+ let bJ = bv(aB, aQ, bw)
441+ let bx = bJ._1
442+ let by = bJ._2
443+ let bz = bJ._3
444+ let bK = ((((((("art_sold_" + toString(bo)) + "_of_") + toString(bg)) + "_") + H) + "_") + aX)
445+ let bL = bt(bo)
446+ let bM = if (!(ba))
447+ then ((((((((((F + "_") + toString(bw)) + "_") + bC) + "_") + toString(aI)) + "_") + aH) + "_") + bH)
448+ else ((((((((((toString(bs) + "_") + toString(bw)) + "_") + bC) + "_") + toString(ay)) + "_") + bx) + "_") + bH)
449+ let bN = StringEntry(bK, bM)
450+ let bO = [IntegerEntry(T(aX, H), bo), StringEntry(("nft_" + bH), bK), StringEntry(("nft_rarity_" + bH), bL), IntegerEntry("total_nft_issued", (bc + 1)), BooleanEntry(W(aX, H), br), ScriptTransfer(Address(fromBase58String(aX)), bn, aB), ScriptTransfer(Address(fromBase58String(c)), bm, aB), StringEntry(U(bH), aX)]
451+ let bP = invoke(addressFromStringValue(d), "createCert", [toString(bs), bH, aX], nil)
452+ if ((bP == bP))
443453 then if (ba)
444- then (((bL :+ bK) :+ bx) :+ bw)
445- else bK :: bL
454+ then (((bO :+ bN) :+ bz) :+ by)
455+ else bN :: bO
446456 else throw("Strict value is not equal to itself.")
447457 }
448458 else throw("Strict value is not equal to itself.")
449459 }
450460
451461
452-func bN (aw,H,aX) = {
453- let bO = aV(aw)
454- let bA = bO._1
455- let F = bO._2
456- let bu = bO._3
457- let bP = av(aw)
458- let ax = bP._1
459- let ay = bP._2
462+func bQ (aw,H,aX) = {
463+ let bR = aV(aw)
464+ let bC = bR._1
465+ let F = bR._2
466+ let bw = bR._3
467+ let bS = av(aw)
468+ let ax = bS._1
469+ let ay = bS._2
460470 let aB = if (!(isDefined(ax.assetId)))
461471 then throw("Only USDN is accepted!")
462472 else toBase58String(value(ax.assetId))
463- let bQ = z(("current_bidamount_" + H))
473+ let bT = z(("current_bidamount_" + H))
464474 if (!(aK(aB)))
465475 then throw("asset not accepted")
466476 else if (!(aL(aB, ay)))
472482 then throw("No max edition set for this artwork")
473483 else if ((bf >= bg))
474484 then throw("Sold out, you cannot bid")
475- else [StringEntry((((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + bA) + "_OPEN"), ((((aB + "_") + toString(ay)) + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + H), (bQ + 1))]
485+ else [StringEntry((((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + bC) + "_OPEN"), ((((aB + "_") + toString(ay)) + "_") + toString(bw))), IntegerEntry(("current_bidamount_" + H), (bT + 1))]
476486 }
477487 }
478488
479489
480-func bR (aw,H,aX) = {
481- let bS = z(R(aX, H))
482- let bT = aj(H)
483- if ((height > bS))
490+func bU (aw,H,aX) = {
491+ let bV = z(R(aX, H))
492+ let bW = aj(H)
493+ if ((height > bV))
484494 then throw("This auction is finished already!")
485495 else {
486- let bU = aV(aw)
487- let bA = bU._1
488- let F = bU._2
489- let bu = bU._3
490- let bV = av(aw)
491- let ax = bV._1
492- let ay = bV._2
493- if ((bT >= ay))
494- then throw(("Please place a bid higher then: " + toString(bT)))
496+ let bX = aV(aw)
497+ let bC = bX._1
498+ let F = bX._2
499+ let bw = bX._3
500+ let bY = av(aw)
501+ let ax = bY._1
502+ let ay = bY._2
503+ if ((bW >= ay))
504+ then throw(("Please place a bid higher than: " + toString(bW)))
495505 else {
496506 let aB = if (!(isDefined(ax.assetId)))
497507 then throw("Only USDN is accepted!")
498508 else toBase58String(value(ax.assetId))
499- let bQ = z(("current_bidamount_" + H))
509+ let bT = z(("current_bidamount_" + H))
500510 if (!(aK(aB)))
501511 then throw("asset not accepted")
502512 else if (!(aL(aB, ay)))
508518 then throw("No max edition set for this artwork")
509519 else if ((bf >= bg))
510520 then throw("Sold out, you cannot bid")
511- else [StringEntry((((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + bA) + "_OPEN"), ((((aB + "_") + toString(ay)) + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + H), (bQ + 1)), StringEntry(N(H), toBase58String(aw.transactionId)), IntegerEntry(O(toBase58String(aw.transactionId)), ay)]
521+ else [StringEntry((((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + bC) + "_OPEN"), ((((aB + "_") + toString(ay)) + "_") + toString(bw))), IntegerEntry(("current_bidamount_" + H), (bT + 1)), StringEntry(N(H), toBase58String(aw.transactionId)), IntegerEntry(O(toBase58String(aw.transactionId)), ay)]
512522 }
513523 }
514524 }
515525 }
516526
517527
518-func bW (aw,H,aX,P,aY) = {
528+func bZ (aw,H,aX,P,aY) = {
519529 let F = toBase58String(aw.caller.bytes)
520530 if ((F != aX))
521531 then throw("You cannot do this action")
522- else by(aw, H, aX, P, aY, true)
532+ else bA(aw, H, aX, P, aY, true)
523533 }
524534
525535
526-func bX (H,aX) = {
536+func ca (H,aX) = {
527537 let bf = z(T(aX, H))
528538 let bg = z(L(aX, H))
529- let bY = z(R(aX, H))
530- let bZ = z(Q(aX, H))
531- let bS = (bZ + height)
532- if ((height > bY))
539+ let cb = z(R(aX, H))
540+ let cc = z(Q(aX, H))
541+ let bV = (cc + height)
542+ if ((height > cb))
533543 then if ((bf == bg))
534544 then throw("Can't restart auction, max amount sold")
535- else [IntegerEntry(R(aX, H), bS), DeleteEntry(N(H))]
545+ else [IntegerEntry(R(aX, H), bV), DeleteEntry(N(H))]
536546 else throw("Previous auction isn't completed yet")
537547 }
538548
539549
540-func ca (aw,H,aX,P,aY) = {
541- let bS = z(R(aX, H))
542- let cb = v(N(H))
543- if ((height > bS))
544- then if ((P == cb))
550+func cd (aw,H,aX,P,aY) = {
551+ let bV = z(R(aX, H))
552+ let ce = v(N(H))
553+ if ((height > bV))
554+ then if ((P == ce))
545555 then {
546- let cc = by(aw, H, aX, P, aY, true)
547- let cd = bX(H, aX)
548- (cd ++ cc)
556+ let cf = bA(aw, H, aX, P, aY, true)
557+ let cg = ca(H, aX)
558+ (cg ++ cf)
549559 }
550560 else throw("This is not the winning bid!")
551561 else throw("This auction is not yet finished!")
552562 }
553563
554564
555-func ce (aw,H,aX,P) = {
556- let cf = aV(aw)
557- let bA = cf._1
558- let F = cf._2
559- let bu = cf._3
560- let bQ = z(("current_bidamount_" + H))
565+func ch (aw,H,aX,P) = {
566+ let ci = aV(aw)
567+ let bC = ci._1
568+ let F = ci._2
569+ let bw = ci._3
570+ let bT = z(("current_bidamount_" + H))
561571 let aQ = ((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + P)
562572 let aR = w((aQ + "_OPEN"), "Bid not found")
563573 let aS = split(aR, "_")
564574 let aB = aO(aS[0])
565- let cg = "CANCELED"
566-[DeleteEntry((aQ + "_OPEN")), StringEntry(((aQ + "_") + cg), ((aR + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + H), (bQ - 1)), ScriptTransfer(Address(fromBase58String(F)), parseIntValue(aS[1]), aB)]
575+ let cj = "CANCELED"
576+[DeleteEntry((aQ + "_OPEN")), StringEntry(((aQ + "_") + cj), ((aR + "_") + toString(bw))), IntegerEntry(("current_bidamount_" + H), (bT - 1)), ScriptTransfer(Address(fromBase58String(F)), parseIntValue(aS[1]), aB)]
567577 }
568578
569579
570-func ch (aw,H,aX,P) = {
571- let cf = aV(aw)
572- let bA = cf._1
573- let F = cf._2
574- let bu = cf._3
575- let bQ = z(("current_bidamount_" + H))
580+func ck (aw,H,aX,P) = {
581+ let ci = aV(aw)
582+ let bC = ci._1
583+ let F = ci._2
584+ let bw = ci._3
585+ let bT = z(("current_bidamount_" + H))
576586 let aQ = ((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + P)
577587 let aR = w((aQ + "_OPEN"), "Bid not found")
578588 let aS = split(aR, "_")
579589 let aB = aO(aS[0])
580- let cg = "CANCELED"
590+ let cj = "CANCELED"
581591 let aT = parseIntValue(aS[1])
582- let cb = v(N(H))
583- if ((P == cb))
592+ let ce = v(N(H))
593+ if ((P == ce))
584594 then throw("You can't cancel the highest bid!")
585- else [DeleteEntry((aQ + "_OPEN")), StringEntry(((aQ + "_") + cg), ((aR + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + H), (bQ - 1)), ScriptTransfer(Address(fromBase58String(F)), aT, aB)]
595+ else [DeleteEntry((aQ + "_OPEN")), StringEntry(((aQ + "_") + cj), ((aR + "_") + toString(bw))), IntegerEntry(("current_bidamount_" + H), (bT - 1)), ScriptTransfer(Address(fromBase58String(F)), aT, aB)]
586596 }
587597
588598
589599 @Callable(aw)
590600 func mintNft (bc,bq,bs) = if ((aw.caller == this))
591601 then {
592- let ci = Address(fromBase58String(bs))
593- let cj = Issue(("SCONEX_" + toString((bc + 1))), bq, 1, 0, false)
594- let bF = calculateAssetId(cj)
595- $Tuple2([cj, ScriptTransfer(ci, 1, bF)], toBase58String(bF))
602+ let cl = Address(fromBase58String(bs))
603+ let cm = Issue(("SCONEX_" + toString((bc + 1))), bq, 1, 0, false)
604+ let bH = calculateAssetId(cm)
605+ $Tuple2([cm, ScriptTransfer(cl, 1, bH)], toBase58String(bH))
596606 }
597- else throw("Only the dapp can mintNFT's")
607+ else throw("Only the dApp can mint NFT's")
598608
599609
600610
601611 @Callable(aw)
602-func addArtwork (af,ar,as,at,ck,aq,cl) = {
603- let cm = aV(aw)
604- let H = cm._1
605- let F = cm._2
606- let bu = cm._3
607- let cn = ap(F, aq, ar, as, at)
608- if ((cn != ""))
612+func addArtwork (af,ar,as,at,cn,aq,co) = {
613+ let cp = aV(aw)
614+ let H = cp._1
615+ let F = cp._2
616+ let bw = cp._3
617+ let cq = ap(F, aq, ar, as, at)
618+ if ((cq != ""))
609619 then throw("Something went wrong!")
610620 else {
611- let co = az(aw)
612- let ay = co._1
613- let aB = co._2
621+ let cr = az(aw)
622+ let ay = cr._1
623+ let aB = cr._2
614624 if (!(isDefined(ay)))
615625 then throw("Something went wrong")
616626 else {
617- let cp = v(ag(af, F))
618- if ((cp != ""))
627+ let cs = v(ag(af, F))
628+ if ((cs != ""))
619629 then throw("You already added it")
620630 else {
621- let cq = v(ae(af))
622- if ((cq != ""))
623- then throw("Hash already registered")
624- else [StringEntry(ae(af), F), StringEntry(ag(af, F), H), IntegerEntry(G(F, H), bu), StringEntry(I(F, H), ar), StringEntry(J(F, H), as), StringEntry(K(F, H), aq), StringEntry(Z(F, H), ck), StringEntry(Y(F, H), at), IntegerEntry(L(F, H), 0), IntegerEntry(T(F, H), 0), BooleanEntry(W(F, H), false), StringEntry(ac(F, H), af), StringEntry(X(F, H), cl), ScriptTransfer(Address(fromBase58String(c)), ay, aB)]
631+ let ct = v(ae(af))
632+ if ((ct != ""))
633+ then throw("This hash is already registered")
634+ else [StringEntry(ae(af), F), StringEntry(ag(af, F), H), IntegerEntry(G(F, H), bw), StringEntry(I(F, H), ar), StringEntry(J(F, H), as), StringEntry(K(F, H), aq), StringEntry(Z(F, H), cn), StringEntry(Y(F, H), at), IntegerEntry(L(F, H), 0), IntegerEntry(T(F, H), 0), BooleanEntry(W(F, H), false), StringEntry(ac(F, H), af), StringEntry(X(F, H), co), ScriptTransfer(Address(fromBase58String(c)), ay, aB)]
625635 }
626636 }
627637 }
630640
631641
632642 @Callable(aw)
633-func sellArtwork (H,aM,cr,aB,cs,ct,bZ) = {
634- let cu = aV(aw)
635- let bA = cu._1
636- let F = cu._2
643+func sellArtwork (H,aM,cu,aB,cv,cw,cc) = {
644+ let cx = aV(aw)
645+ let bC = cx._1
646+ let F = cx._2
637647 let bd = v(I(F, H))
638- if (!(containsElement([r, s], cs)))
639- then throw("We dont know this auction type")
648+ if (!(containsElement([r, s], cv)))
649+ then throw("We don't know this auction type")
640650 else if ((bd == ""))
641651 then throw("This art doesn't match your account")
642652 else {
643- let bQ = z(("current_bidamount_" + H))
653+ let bT = z(("current_bidamount_" + H))
644654 if (!(aK(aB)))
645655 then throw("Something went wrong!")
646656 else if (!(aL(aB, aM)))
652662 else {
653663 let bf = z(T(F, H))
654664 let bg = z(L(F, H))
655- if ((cr > 10))
665+ if ((cu > 10))
656666 then throw("10 editions max per artwork")
657667 else if (if ((bf != 0))
658668 then (bf == bg)
659669 else false)
660670 then throw("Max edition reached.")
661671 else if (if ((bf > 0))
662- then (bg != cr)
672+ then (bg != cu)
663673 else false)
664674 then throw("Cannot change maximum issuable anymore")
665- else if (if ((bQ > 0))
666- then (bg != cr)
675+ else if (if ((bT > 0))
676+ then (bg != cu)
667677 else false)
668678 then throw("Cannot change maximum issuable with active orders")
669679 else {
670680 let br = if (if ((aM > 0))
671- then (cr > 0)
681+ then (cu > 0)
672682 else false)
673683 then true
674684 else false
675- let bS = (bZ + height)
676-[BooleanEntry(W(F, H), br), IntegerEntry(aa(F, H), aM), IntegerEntry(L(F, H), cr), IntegerEntry(M(F, H), ct), IntegerEntry(Q(F, H), bZ), IntegerEntry(R(F, H), bS), StringEntry(ab(F, H), aB), StringEntry(S(F, H), cs)]
685+ let bV = (cc + height)
686+[BooleanEntry(W(F, H), br), IntegerEntry(aa(F, H), aM), IntegerEntry(L(F, H), cu), IntegerEntry(M(F, H), cw), IntegerEntry(Q(F, H), cc), IntegerEntry(R(F, H), bV), StringEntry(ab(F, H), aB), StringEntry(S(F, H), cv)]
677687 }
678688 }
679689 }
683693
684694
685695 @Callable(aw)
686-func buyArtwork (H,aX) = by(aw, H, aX, "", "", false)
696+func buyArtwork (H,aX) = bA(aw, H, aX, "", "", false)
687697
688698
689699
690700 @Callable(aw)
691-func deleteEntry (cv) = {
701+func deleteEntry (cy) = {
692702 let F = toString(addressFromPublicKey(aw.callerPublicKey))
693703 if (containsElement(h, F))
694- then [DeleteEntry(cv)]
704+ then [DeleteEntry(cy)]
695705 else throw("no")
696706 }
697707
699709
700710 @Callable(aw)
701711 func setBid (H,aX) = {
702- let cs = v(S(aX, H))
703- if ((cs == r))
704- then bN(aw, H, aX)
705- else if ((cs == s))
706- then bR(aw, H, aX)
707- else throw((("Unknown auction type :" + cs) + ", please contact the admins"))
712+ let cv = v(S(aX, H))
713+ if ((cv == r))
714+ then bQ(aw, H, aX)
715+ else if ((cv == s))
716+ then bU(aw, H, aX)
717+ else throw((("Unknown auction type :" + cv) + ", please contact the admins"))
708718 }
709719
710720
711721
712722 @Callable(aw)
713723 func acceptBid (H,aX,P,aY) = {
714- let cs = v(S(aX, H))
715- if ((cs == r))
716- then bW(aw, H, aX, P, aY)
717- else if ((cs == s))
718- then ca(aw, H, aX, P, aY)
719- else throw((("Unknown auction type :" + cs) + ", please contact the admins"))
724+ let cv = v(S(aX, H))
725+ if ((cv == r))
726+ then bZ(aw, H, aX, P, aY)
727+ else if ((cv == s))
728+ then cd(aw, H, aX, P, aY)
729+ else throw((("Unknown auction type :" + cv) + ", please contact the admins"))
720730 }
721731
722732
723733
724734 @Callable(aw)
725735 func cancelBid (H,aX,P) = {
726- let cs = v(S(aX, H))
727- if ((cs == r))
728- then ce(aw, H, aX, P)
729- else ch(aw, H, aX, P)
736+ let cv = v(S(aX, H))
737+ if ((cv == r))
738+ then ch(aw, H, aX, P)
739+ else ck(aw, H, aX, P)
730740 }
731741
732742
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 = "3MxcXrNbMZKYaSrhcfeMm2hZnBeCu3yRWsw"
1111
1212 let e = value(addressFromString("3N9cQgZFPHHVu8wqsn2DkQFehg3h8CNiooA"))
1313
1414 let f = value(addressFromString("3N9xZYGpzMFDXvXuctmU6zV8qSzm2ZfF31f"))
1515
1616 let g = base58'132maRL3uF35tc2bpRih9D6MYq5DR6H28zkop786dKyu'
1717
1818 let h = [getString(b, "owner1"), getString(b, "owner2")]
1919
2020 let i = 150
2121
2222 let j = 30
2323
2424 let k = 70
2525
2626 let l = valueOrElse(getBoolean(e, "conf_dapp_is_running"), true)
2727
2828 let m = valueOrElse(getString(e, "conf_maintenance_msg"), "")
2929
3030 let n = "SUSPENDED"
3131
3232 let o = "REMOVED"
3333
3434 let p = "UNREGISTERED"
3535
3636 let q = "ALLOWED"
3737
3838 let r = "BIDTYPE"
3939
4040 let s = "TRADITIONAL"
4141
4242 func t (u) = valueOrElse(getString(e, u), "")
4343
4444
4545 func v (u) = valueOrElse(getString(this, u), "")
4646
4747
4848 func w (u,x) = valueOrErrorMessage(getString(this, u), x)
4949
5050
5151 func y (u) = valueOrErrorMessage(getInteger(b, u), "Integer undefine or 0 in oracle")
5252
5353
5454 func z (u) = valueOrElse(getInteger(this, u), 0)
5555
5656
5757 func A (u) = valueOrElse(getInteger(f, u), 0)
5858
5959
6060 func B (u) = valueOrElse(getBoolean(this, u), false)
6161
6262
6363 func C (D) = (size(D) == 64)
6464
6565
6666 func E (F) = ("user_status_" + F)
6767
6868
6969 func G (F,H) = ((("art_date_" + H) + "_") + F)
7070
7171
7272 func I (F,H) = ((("art_name_" + H) + "_") + F)
7373
7474
7575 func J (F,H) = ((("art_desc_" + H) + "_") + F)
7676
7777
7878 func K (F,H) = ((("art_display_cid_" + H) + "_") + F)
7979
8080
8181 func L (F,H) = ((("art_maxmint_" + H) + "_") + F)
8282
8383
8484 func M (F,H) = ((("art_minprice_" + H) + "_") + F)
8585
8686
8787 func N (H) = ("art_highestBidBidId_" + H)
8888
8989
9090 func O (P) = ("bid_" + P)
9191
9292
9393 func Q (F,H) = ((("art_duration_" + H) + "_") + F)
9494
9595
9696 func R (F,H) = ((("art_endheight_" + H) + "_") + F)
9797
9898
9999 func S (F,H) = ((("art_auctiontype_" + H) + "_") + F)
100100
101101
102102 func T (F,H) = ((("art_issued_" + H) + "_") + F)
103103
104104
105105 func U (V) = ("nft_issued_" + V)
106106
107107
108108 func W (F,H) = ((("art_onsale_" + H) + "_") + F)
109109
110110
111111 func X (F,H) = ((("art_entitlement_" + H) + "_") + F)
112112
113113
114114 func Y (F,H) = ((("art_tags_" + H) + "_") + F)
115115
116116
117117 func Z (F,H) = ((("art_type_" + H) + "_") + F)
118118
119119
120120 func aa (F,H) = ((("art_price_" + H) + "_") + F)
121121
122122
123123 func ab (F,H) = ((("art_assetAccepted_" + H) + "_") + F)
124124
125125
126126 func ac (F,ad) = ((("get_hashbytxidaddr_" + ad) + "_") + F)
127127
128128
129129 func ae (af) = ("get_owner_by_hash_" + af)
130130
131131
132132 func ag (af,F) = ("get_txid_by_hash_owner_" + toBase58String(sha256_16Kb(toBytes((af + F)))))
133133
134134
135135 let ah = y(("certification_fee_" + toBase58String(g)))
136136
137137 func ai (P) = valueOrElse(z(O(P)), 0)
138138
139139
140140 func aj (H) = {
141141 let P = v(N(H))
142142 if ((P == ""))
143143 then 0
144144 else ai(P)
145145 }
146146
147147
148148 func ak (al,am) = if ((size(al) == 0))
149149 then throw("Field cannot be is empty")
150150 else if ((size(al) > am))
151151 then throw((al + " is too long"))
152152 else true
153153
154154
155155 func an (F) = {
156156 let ao = valueOrElse(getString(e, E(F)), p)
157157 if (if ((ao == p))
158158 then true
159159 else (ao == q))
160160 then "Register this account first with 'Account' tab"
161161 else if ((ao == n))
162162 then "Account suspended"
163163 else if ((ao == o))
164164 then "Account removed"
165165 else ""
166166 }
167167
168168
169169 func ap (F,aq,ar,as,at) = {
170170 let au = an(F)
171171 if ((au != ""))
172172 then throw(au)
173173 else if ((size(aq) == 0))
174174 then throw("Display CID cannot be empty")
175175 else if ((size(aq) != 46))
176176 then throw("This doesn't seem a valid CID!")
177177 else if (!(ak(ar, 100)))
178178 then throw("100 Char. max name")
179179 else if (!(ak(as, 1000)))
180180 then throw("1000 Char. max description")
181181 else if ((size(split(at, ",")) > 5))
182182 then throw("5 tags max.")
183183 else ""
184184 }
185185
186186
187187 func av (aw) = if ((size(aw.payments) == 0))
188188 then throw("No payment attached")
189189 else {
190190 let ax = value(aw.payments[0])
191191 let ay = value(ax.amount)
192192 $Tuple2(ax, ay)
193193 }
194194
195195
196196 func az (aw) = {
197197 let aA = av(aw)
198198 let ax = aA._1
199199 let ay = aA._2
200200 let aB = if (if (isDefined(ax.assetId))
201201 then (ax.assetId == g)
202202 else false)
203203 then ax.assetId
204204 else throw("Only USDN token accepted as transaction fee")
205205 if ((ay != ah))
206206 then throw(((("Payment amount should be " + toString(ah)) + " but is: ") + toString(ay)))
207207 else $Tuple2(ay, aB)
208208 }
209209
210210
211211 func aC (aD,H) = {
212212 let aE = getInteger(this, T(aD, H))
213213 if ($isInstanceOf(aE, "Int"))
214214 then {
215215 let aF = aE
216216 if ((aF != 0))
217217 then true
218218 else false
219219 }
220220 else false
221221 }
222222
223223
224224 func aG (aw,aH,aI) = {
225225 let aJ = av(aw)
226226 let ax = aJ._1
227227 let ay = aJ._2
228228 let aB = if (!(isDefined(ax.assetId)))
229229 then throw("Wrong asset id")
230230 else if (if ((size(aH) > 0))
231231 then (toBase58String(value(ax.assetId)) == aH)
232232 else false)
233233 then ax.assetId
234234 else throw("Wrong asset id")
235235 if (if ((aB == unit))
236236 then (aH != "")
237237 else false)
238238 then throw("Wrong asset id")
239239 else if ((aI != ay))
240240 then throw(((("Payment don't match " + toString(aI)) + " ") + toString(ay)))
241241 else $Tuple2(ay, aB)
242242 }
243243
244244
245245 func aK (aB) = if ((aB != toBase58String(g)))
246246 then throw("Only USDN accepted")
247247 else true
248248
249249
250250 func aL (aB,aM) = {
251251 let aN = if (a)
252252 then 1
253253 else (ah * 2)
254254 if (if (if ((aB == toBase58String(g)))
255255 then (aN > aM)
256256 else false)
257257 then (aM != 0)
258258 else false)
259259 then throw(("Wrong minimum sell price " + toString(aN)))
260260 else true
261261 }
262262
263263
264264 func aO (aB) = if ((aB == "WAVES"))
265265 then throw("Only USDN is accepted!")
266266 else fromBase58String(aB)
267267
268268
269269 func aP (aQ) = {
270270 let aR = v((aQ + "_OPEN"))
271271 if ((aR == ""))
272272 then throw("Bid not found")
273273 else {
274274 let aS = split(aR, "_")
275275 let aT = parseIntValue(aS[1])
276276 let aU = aO(aS[0])
277277 if ((0 >= aT))
278278 then throw("Wrong amount")
279279 else $Tuple2(aT, aU)
280280 }
281281 }
282282
283283
284284 func aV (aw) = if (!(l))
285285 then throw(m)
286286 else $Tuple3(toBase58String(aw.transactionId), toBase58String(aw.caller.bytes), lastBlock.timestamp)
287287
288288
289289 func aW (aw,aX,aY,P) = if (if (if ((toBase58String(aw.caller.bytes) == aX))
290290 then (aY != "")
291291 else false)
292292 then (P != "")
293293 else false)
294294 then true
295295 else false
296296
297297
298298 func aZ (aw,aX,H,ba) = {
299299 let bb = (toBase58String(aw.caller.bytes) == aX)
300300 let bc = z("total_nft_issued")
301301 let bd = v(I(aX, H))
302302 if ((bd == ""))
303303 then throw("Art doesn't exist")
304304 else {
305305 let be = B(W(aX, H))
306306 let bf = z(T(aX, H))
307307 let aI = valueOrElse(z(aa(aX, H)), (ah * 2))
308308 let aH = if (bb)
309309 then toBase58String(g)
310310 else v(ab(aX, H))
311311 let bg = z(L(aX, H))
312312 if (if (if (!(ba))
313313 then !(bb)
314314 else false)
315315 then if (if ((0 >= aI))
316316 then true
317317 else !(be))
318318 then true
319319 else (0 >= bg)
320320 else false)
321321 then throw("Art not for sale")
322322 else if (if (if (!(ba))
323323 then bb
324324 else false)
325325 then (0 >= bg)
326326 else false)
327327 then throw("Max issuable not set")
328328 else $Tuple7(bc, bd, bf, aI, aH, bg, be)
329329 }
330330 }
331331
332332
333333 func bh (aw,F,aX,H,aY,P,aH,aI,ba) = {
334334 let au = an(aX)
335335 if (if (ba)
336336 then (au != "")
337337 else false)
338338 then throw(au)
339339 else {
340340 let aQ = ((((((("bid_" + H) + "_") + aX) + "_") + aY) + "_") + P)
341341 let bi = if (ba)
342342 then aP(aQ)
343343 else aG(aw, aH, aI)
344344 let ay = bi._1
345345 let aB = bi._2
346346 $Tuple3(aQ, ay, aB)
347347 }
348348 }
349349
350350
351351 func bj (aX,aB,ay,bf,bg) = {
352352 let bk = A(aX)
353353 let bl = if ((bk > height))
354354 then 0
355355 else if ((aB == g))
356356 then i
357357 else throw("Only USDN is accepted!")
358358 let bm = fraction(ay, bl, 1000)
359359 let bn = (ay - bm)
360360 if ((bf == bg))
361361 then throw("Art sold out")
362362 else {
363363 let bo = (bf + 1)
364364 $Tuple3(bm, bn, bo)
365365 }
366366 }
367367
368368
369369 func bp (aX,H,bd,bo,bg,bc,F,aY,P,aw,be) = {
370370 let bq = ((((((((("Creator: " + aX) + ",ArtID: ") + H) + ",Artwork name: ") + bd) + ",Issue: ") + toString(bo)) + "/") + toString(bg))
371371 let br = if (if ((bo == bg))
372372 then true
373373 else !(be))
374374 then false
375375 else true
376376 let bs = if ((aY != ""))
377377 then addressFromStringValue(aY)
378378 else aw.caller
379379 $Tuple3(br, bs, bq)
380380 }
381381
382382
383-func bt (aB,aQ,bu) = {
384- let bv = if (!(isDefined(aB)))
383+func bt (bu) = if ((4 > bu))
384+ then "SSR"
385+ else if ((11 > bu))
386+ then "SR"
387+ else if ((101 > bu))
388+ then "R"
389+ else "N"
390+
391+
392+func bv (aB,aQ,bw) = {
393+ let bx = if (!(isDefined(aB)))
385394 then throw("Only USDN is accepted")
386395 else toBase58String(value(aB))
387396 let aR = v((aQ + "_OPEN"))
388- let bw = DeleteEntry((aQ + "_OPEN"))
389- let bx = StringEntry((aQ + "_CLOSED"), ((aR + "_") + toString(bu)))
390- $Tuple3(bv, bw, bx)
397+ let by = DeleteEntry((aQ + "_OPEN"))
398+ let bz = StringEntry((aQ + "_CLOSED"), ((aR + "_") + toString(bw)))
399+ $Tuple3(bx, by, bz)
391400 }
392401
393402
394-func by (aw,H,aX,P,aY,ba) = {
395- let bz = aV(aw)
396- let bA = bz._1
397- let F = bz._2
398- let bu = bz._3
399- let bB = aZ(aw, aX, H, ba)
400- let bc = bB._1
401- let bd = bB._2
402- let bf = bB._3
403- let aI = bB._4
404- let aH = bB._5
405- let bg = bB._6
406- let be = bB._7
403+func bA (aw,H,aX,P,aY,ba) = {
404+ let bB = aV(aw)
405+ let bC = bB._1
406+ let F = bB._2
407+ let bw = bB._3
408+ let bD = aZ(aw, aX, H, ba)
409+ let bc = bD._1
410+ let bd = bD._2
411+ let bf = bD._3
412+ let aI = bD._4
413+ let aH = bD._5
414+ let bg = bD._6
415+ let be = bD._7
407416 let aR = bh(aw, F, aX, H, aY, P, aH, aI, ba)
408417 let aQ = aR._1
409418 let ay = aR._2
410419 let aB = aR._3
411- let bC = bj(aX, value(aB), ay, bf, bg)
412- let bm = bC._1
413- let bn = bC._2
414- let bo = bC._3
415- let bD = bp(aX, H, bd, bo, bg, bc, F, aY, P, aw, be)
416- let br = bD._1
417- let bs = bD._2
418- let bq = bD._3
419- let bE = invoke(this, "mintNft", [bc, bq, toString(bs)], nil)
420- if ((bE == bE))
420+ let bE = bj(aX, value(aB), ay, bf, bg)
421+ let bm = bE._1
422+ let bn = bE._2
423+ let bo = bE._3
424+ let bF = bp(aX, H, bd, bo, bg, bc, F, aY, P, aw, be)
425+ let br = bF._1
426+ let bs = bF._2
427+ let bq = bF._3
428+ let bG = invoke(this, "mintNft", [bc, bq, toString(bs)], nil)
429+ if ((bG == bG))
421430 then {
422- let bF = {
423- let aE = bE
431+ let bH = {
432+ let aE = bG
424433 if ($isInstanceOf(aE, "String"))
425434 then {
426- let bG = aE
427- bG
435+ let bI = aE
436+ bI
428437 }
429438 else throw("Incorrect invoke result")
430439 }
431- let bH = bt(aB, aQ, bu)
432- let bv = bH._1
433- let bw = bH._2
434- let bx = bH._3
435- let bI = ((((((("art_sold_" + toString(bo)) + "_of_") + toString(bg)) + "_") + H) + "_") + aX)
436- let bJ = if (!(ba))
437- then ((((((((((F + "_") + toString(bu)) + "_") + bA) + "_") + toString(aI)) + "_") + aH) + "_") + bF)
438- else ((((((((((toString(bs) + "_") + toString(bu)) + "_") + bA) + "_") + toString(ay)) + "_") + bv) + "_") + bF)
439- let bK = StringEntry(bI, bJ)
440- let bL = [IntegerEntry(T(aX, H), bo), StringEntry(("nft_" + bF), bI), IntegerEntry("total_nft_issued", (bc + 1)), BooleanEntry(W(aX, H), br), ScriptTransfer(Address(fromBase58String(aX)), bn, aB), ScriptTransfer(Address(fromBase58String(c)), bm, aB), StringEntry(U(bF), aX)]
441- let bM = invoke(addressFromStringValue(d), "createCert", [toString(bs), bF, aX], nil)
442- if ((bM == bM))
440+ let bJ = bv(aB, aQ, bw)
441+ let bx = bJ._1
442+ let by = bJ._2
443+ let bz = bJ._3
444+ let bK = ((((((("art_sold_" + toString(bo)) + "_of_") + toString(bg)) + "_") + H) + "_") + aX)
445+ let bL = bt(bo)
446+ let bM = if (!(ba))
447+ then ((((((((((F + "_") + toString(bw)) + "_") + bC) + "_") + toString(aI)) + "_") + aH) + "_") + bH)
448+ else ((((((((((toString(bs) + "_") + toString(bw)) + "_") + bC) + "_") + toString(ay)) + "_") + bx) + "_") + bH)
449+ let bN = StringEntry(bK, bM)
450+ let bO = [IntegerEntry(T(aX, H), bo), StringEntry(("nft_" + bH), bK), StringEntry(("nft_rarity_" + bH), bL), IntegerEntry("total_nft_issued", (bc + 1)), BooleanEntry(W(aX, H), br), ScriptTransfer(Address(fromBase58String(aX)), bn, aB), ScriptTransfer(Address(fromBase58String(c)), bm, aB), StringEntry(U(bH), aX)]
451+ let bP = invoke(addressFromStringValue(d), "createCert", [toString(bs), bH, aX], nil)
452+ if ((bP == bP))
443453 then if (ba)
444- then (((bL :+ bK) :+ bx) :+ bw)
445- else bK :: bL
454+ then (((bO :+ bN) :+ bz) :+ by)
455+ else bN :: bO
446456 else throw("Strict value is not equal to itself.")
447457 }
448458 else throw("Strict value is not equal to itself.")
449459 }
450460
451461
452-func bN (aw,H,aX) = {
453- let bO = aV(aw)
454- let bA = bO._1
455- let F = bO._2
456- let bu = bO._3
457- let bP = av(aw)
458- let ax = bP._1
459- let ay = bP._2
462+func bQ (aw,H,aX) = {
463+ let bR = aV(aw)
464+ let bC = bR._1
465+ let F = bR._2
466+ let bw = bR._3
467+ let bS = av(aw)
468+ let ax = bS._1
469+ let ay = bS._2
460470 let aB = if (!(isDefined(ax.assetId)))
461471 then throw("Only USDN is accepted!")
462472 else toBase58String(value(ax.assetId))
463- let bQ = z(("current_bidamount_" + H))
473+ let bT = z(("current_bidamount_" + H))
464474 if (!(aK(aB)))
465475 then throw("asset not accepted")
466476 else if (!(aL(aB, ay)))
467477 then throw("Wrong min sell")
468478 else {
469479 let bf = z(T(aX, H))
470480 let bg = z(L(aX, H))
471481 if ((0 >= bg))
472482 then throw("No max edition set for this artwork")
473483 else if ((bf >= bg))
474484 then throw("Sold out, you cannot bid")
475- else [StringEntry((((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + bA) + "_OPEN"), ((((aB + "_") + toString(ay)) + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + H), (bQ + 1))]
485+ else [StringEntry((((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + bC) + "_OPEN"), ((((aB + "_") + toString(ay)) + "_") + toString(bw))), IntegerEntry(("current_bidamount_" + H), (bT + 1))]
476486 }
477487 }
478488
479489
480-func bR (aw,H,aX) = {
481- let bS = z(R(aX, H))
482- let bT = aj(H)
483- if ((height > bS))
490+func bU (aw,H,aX) = {
491+ let bV = z(R(aX, H))
492+ let bW = aj(H)
493+ if ((height > bV))
484494 then throw("This auction is finished already!")
485495 else {
486- let bU = aV(aw)
487- let bA = bU._1
488- let F = bU._2
489- let bu = bU._3
490- let bV = av(aw)
491- let ax = bV._1
492- let ay = bV._2
493- if ((bT >= ay))
494- then throw(("Please place a bid higher then: " + toString(bT)))
496+ let bX = aV(aw)
497+ let bC = bX._1
498+ let F = bX._2
499+ let bw = bX._3
500+ let bY = av(aw)
501+ let ax = bY._1
502+ let ay = bY._2
503+ if ((bW >= ay))
504+ then throw(("Please place a bid higher than: " + toString(bW)))
495505 else {
496506 let aB = if (!(isDefined(ax.assetId)))
497507 then throw("Only USDN is accepted!")
498508 else toBase58String(value(ax.assetId))
499- let bQ = z(("current_bidamount_" + H))
509+ let bT = z(("current_bidamount_" + H))
500510 if (!(aK(aB)))
501511 then throw("asset not accepted")
502512 else if (!(aL(aB, ay)))
503513 then throw("Wrong min sell")
504514 else {
505515 let bf = z(T(aX, H))
506516 let bg = z(L(aX, H))
507517 if ((0 >= bg))
508518 then throw("No max edition set for this artwork")
509519 else if ((bf >= bg))
510520 then throw("Sold out, you cannot bid")
511- else [StringEntry((((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + bA) + "_OPEN"), ((((aB + "_") + toString(ay)) + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + H), (bQ + 1)), StringEntry(N(H), toBase58String(aw.transactionId)), IntegerEntry(O(toBase58String(aw.transactionId)), ay)]
521+ else [StringEntry((((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + bC) + "_OPEN"), ((((aB + "_") + toString(ay)) + "_") + toString(bw))), IntegerEntry(("current_bidamount_" + H), (bT + 1)), StringEntry(N(H), toBase58String(aw.transactionId)), IntegerEntry(O(toBase58String(aw.transactionId)), ay)]
512522 }
513523 }
514524 }
515525 }
516526
517527
518-func bW (aw,H,aX,P,aY) = {
528+func bZ (aw,H,aX,P,aY) = {
519529 let F = toBase58String(aw.caller.bytes)
520530 if ((F != aX))
521531 then throw("You cannot do this action")
522- else by(aw, H, aX, P, aY, true)
532+ else bA(aw, H, aX, P, aY, true)
523533 }
524534
525535
526-func bX (H,aX) = {
536+func ca (H,aX) = {
527537 let bf = z(T(aX, H))
528538 let bg = z(L(aX, H))
529- let bY = z(R(aX, H))
530- let bZ = z(Q(aX, H))
531- let bS = (bZ + height)
532- if ((height > bY))
539+ let cb = z(R(aX, H))
540+ let cc = z(Q(aX, H))
541+ let bV = (cc + height)
542+ if ((height > cb))
533543 then if ((bf == bg))
534544 then throw("Can't restart auction, max amount sold")
535- else [IntegerEntry(R(aX, H), bS), DeleteEntry(N(H))]
545+ else [IntegerEntry(R(aX, H), bV), DeleteEntry(N(H))]
536546 else throw("Previous auction isn't completed yet")
537547 }
538548
539549
540-func ca (aw,H,aX,P,aY) = {
541- let bS = z(R(aX, H))
542- let cb = v(N(H))
543- if ((height > bS))
544- then if ((P == cb))
550+func cd (aw,H,aX,P,aY) = {
551+ let bV = z(R(aX, H))
552+ let ce = v(N(H))
553+ if ((height > bV))
554+ then if ((P == ce))
545555 then {
546- let cc = by(aw, H, aX, P, aY, true)
547- let cd = bX(H, aX)
548- (cd ++ cc)
556+ let cf = bA(aw, H, aX, P, aY, true)
557+ let cg = ca(H, aX)
558+ (cg ++ cf)
549559 }
550560 else throw("This is not the winning bid!")
551561 else throw("This auction is not yet finished!")
552562 }
553563
554564
555-func ce (aw,H,aX,P) = {
556- let cf = aV(aw)
557- let bA = cf._1
558- let F = cf._2
559- let bu = cf._3
560- let bQ = z(("current_bidamount_" + H))
565+func ch (aw,H,aX,P) = {
566+ let ci = aV(aw)
567+ let bC = ci._1
568+ let F = ci._2
569+ let bw = ci._3
570+ let bT = z(("current_bidamount_" + H))
561571 let aQ = ((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + P)
562572 let aR = w((aQ + "_OPEN"), "Bid not found")
563573 let aS = split(aR, "_")
564574 let aB = aO(aS[0])
565- let cg = "CANCELED"
566-[DeleteEntry((aQ + "_OPEN")), StringEntry(((aQ + "_") + cg), ((aR + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + H), (bQ - 1)), ScriptTransfer(Address(fromBase58String(F)), parseIntValue(aS[1]), aB)]
575+ let cj = "CANCELED"
576+[DeleteEntry((aQ + "_OPEN")), StringEntry(((aQ + "_") + cj), ((aR + "_") + toString(bw))), IntegerEntry(("current_bidamount_" + H), (bT - 1)), ScriptTransfer(Address(fromBase58String(F)), parseIntValue(aS[1]), aB)]
567577 }
568578
569579
570-func ch (aw,H,aX,P) = {
571- let cf = aV(aw)
572- let bA = cf._1
573- let F = cf._2
574- let bu = cf._3
575- let bQ = z(("current_bidamount_" + H))
580+func ck (aw,H,aX,P) = {
581+ let ci = aV(aw)
582+ let bC = ci._1
583+ let F = ci._2
584+ let bw = ci._3
585+ let bT = z(("current_bidamount_" + H))
576586 let aQ = ((((((("bid_" + H) + "_") + aX) + "_") + F) + "_") + P)
577587 let aR = w((aQ + "_OPEN"), "Bid not found")
578588 let aS = split(aR, "_")
579589 let aB = aO(aS[0])
580- let cg = "CANCELED"
590+ let cj = "CANCELED"
581591 let aT = parseIntValue(aS[1])
582- let cb = v(N(H))
583- if ((P == cb))
592+ let ce = v(N(H))
593+ if ((P == ce))
584594 then throw("You can't cancel the highest bid!")
585- else [DeleteEntry((aQ + "_OPEN")), StringEntry(((aQ + "_") + cg), ((aR + "_") + toString(bu))), IntegerEntry(("current_bidamount_" + H), (bQ - 1)), ScriptTransfer(Address(fromBase58String(F)), aT, aB)]
595+ else [DeleteEntry((aQ + "_OPEN")), StringEntry(((aQ + "_") + cj), ((aR + "_") + toString(bw))), IntegerEntry(("current_bidamount_" + H), (bT - 1)), ScriptTransfer(Address(fromBase58String(F)), aT, aB)]
586596 }
587597
588598
589599 @Callable(aw)
590600 func mintNft (bc,bq,bs) = if ((aw.caller == this))
591601 then {
592- let ci = Address(fromBase58String(bs))
593- let cj = Issue(("SCONEX_" + toString((bc + 1))), bq, 1, 0, false)
594- let bF = calculateAssetId(cj)
595- $Tuple2([cj, ScriptTransfer(ci, 1, bF)], toBase58String(bF))
602+ let cl = Address(fromBase58String(bs))
603+ let cm = Issue(("SCONEX_" + toString((bc + 1))), bq, 1, 0, false)
604+ let bH = calculateAssetId(cm)
605+ $Tuple2([cm, ScriptTransfer(cl, 1, bH)], toBase58String(bH))
596606 }
597- else throw("Only the dapp can mintNFT's")
607+ else throw("Only the dApp can mint NFT's")
598608
599609
600610
601611 @Callable(aw)
602-func addArtwork (af,ar,as,at,ck,aq,cl) = {
603- let cm = aV(aw)
604- let H = cm._1
605- let F = cm._2
606- let bu = cm._3
607- let cn = ap(F, aq, ar, as, at)
608- if ((cn != ""))
612+func addArtwork (af,ar,as,at,cn,aq,co) = {
613+ let cp = aV(aw)
614+ let H = cp._1
615+ let F = cp._2
616+ let bw = cp._3
617+ let cq = ap(F, aq, ar, as, at)
618+ if ((cq != ""))
609619 then throw("Something went wrong!")
610620 else {
611- let co = az(aw)
612- let ay = co._1
613- let aB = co._2
621+ let cr = az(aw)
622+ let ay = cr._1
623+ let aB = cr._2
614624 if (!(isDefined(ay)))
615625 then throw("Something went wrong")
616626 else {
617- let cp = v(ag(af, F))
618- if ((cp != ""))
627+ let cs = v(ag(af, F))
628+ if ((cs != ""))
619629 then throw("You already added it")
620630 else {
621- let cq = v(ae(af))
622- if ((cq != ""))
623- then throw("Hash already registered")
624- else [StringEntry(ae(af), F), StringEntry(ag(af, F), H), IntegerEntry(G(F, H), bu), StringEntry(I(F, H), ar), StringEntry(J(F, H), as), StringEntry(K(F, H), aq), StringEntry(Z(F, H), ck), StringEntry(Y(F, H), at), IntegerEntry(L(F, H), 0), IntegerEntry(T(F, H), 0), BooleanEntry(W(F, H), false), StringEntry(ac(F, H), af), StringEntry(X(F, H), cl), ScriptTransfer(Address(fromBase58String(c)), ay, aB)]
631+ let ct = v(ae(af))
632+ if ((ct != ""))
633+ then throw("This hash is already registered")
634+ else [StringEntry(ae(af), F), StringEntry(ag(af, F), H), IntegerEntry(G(F, H), bw), StringEntry(I(F, H), ar), StringEntry(J(F, H), as), StringEntry(K(F, H), aq), StringEntry(Z(F, H), cn), StringEntry(Y(F, H), at), IntegerEntry(L(F, H), 0), IntegerEntry(T(F, H), 0), BooleanEntry(W(F, H), false), StringEntry(ac(F, H), af), StringEntry(X(F, H), co), ScriptTransfer(Address(fromBase58String(c)), ay, aB)]
625635 }
626636 }
627637 }
628638 }
629639
630640
631641
632642 @Callable(aw)
633-func sellArtwork (H,aM,cr,aB,cs,ct,bZ) = {
634- let cu = aV(aw)
635- let bA = cu._1
636- let F = cu._2
643+func sellArtwork (H,aM,cu,aB,cv,cw,cc) = {
644+ let cx = aV(aw)
645+ let bC = cx._1
646+ let F = cx._2
637647 let bd = v(I(F, H))
638- if (!(containsElement([r, s], cs)))
639- then throw("We dont know this auction type")
648+ if (!(containsElement([r, s], cv)))
649+ then throw("We don't know this auction type")
640650 else if ((bd == ""))
641651 then throw("This art doesn't match your account")
642652 else {
643- let bQ = z(("current_bidamount_" + H))
653+ let bT = z(("current_bidamount_" + H))
644654 if (!(aK(aB)))
645655 then throw("Something went wrong!")
646656 else if (!(aL(aB, aM)))
647657 then throw("Something went wrong!")
648658 else {
649659 let au = an(F)
650660 if ((au != ""))
651661 then throw(au)
652662 else {
653663 let bf = z(T(F, H))
654664 let bg = z(L(F, H))
655- if ((cr > 10))
665+ if ((cu > 10))
656666 then throw("10 editions max per artwork")
657667 else if (if ((bf != 0))
658668 then (bf == bg)
659669 else false)
660670 then throw("Max edition reached.")
661671 else if (if ((bf > 0))
662- then (bg != cr)
672+ then (bg != cu)
663673 else false)
664674 then throw("Cannot change maximum issuable anymore")
665- else if (if ((bQ > 0))
666- then (bg != cr)
675+ else if (if ((bT > 0))
676+ then (bg != cu)
667677 else false)
668678 then throw("Cannot change maximum issuable with active orders")
669679 else {
670680 let br = if (if ((aM > 0))
671- then (cr > 0)
681+ then (cu > 0)
672682 else false)
673683 then true
674684 else false
675- let bS = (bZ + height)
676-[BooleanEntry(W(F, H), br), IntegerEntry(aa(F, H), aM), IntegerEntry(L(F, H), cr), IntegerEntry(M(F, H), ct), IntegerEntry(Q(F, H), bZ), IntegerEntry(R(F, H), bS), StringEntry(ab(F, H), aB), StringEntry(S(F, H), cs)]
685+ let bV = (cc + height)
686+[BooleanEntry(W(F, H), br), IntegerEntry(aa(F, H), aM), IntegerEntry(L(F, H), cu), IntegerEntry(M(F, H), cw), IntegerEntry(Q(F, H), cc), IntegerEntry(R(F, H), bV), StringEntry(ab(F, H), aB), StringEntry(S(F, H), cv)]
677687 }
678688 }
679689 }
680690 }
681691 }
682692
683693
684694
685695 @Callable(aw)
686-func buyArtwork (H,aX) = by(aw, H, aX, "", "", false)
696+func buyArtwork (H,aX) = bA(aw, H, aX, "", "", false)
687697
688698
689699
690700 @Callable(aw)
691-func deleteEntry (cv) = {
701+func deleteEntry (cy) = {
692702 let F = toString(addressFromPublicKey(aw.callerPublicKey))
693703 if (containsElement(h, F))
694- then [DeleteEntry(cv)]
704+ then [DeleteEntry(cy)]
695705 else throw("no")
696706 }
697707
698708
699709
700710 @Callable(aw)
701711 func setBid (H,aX) = {
702- let cs = v(S(aX, H))
703- if ((cs == r))
704- then bN(aw, H, aX)
705- else if ((cs == s))
706- then bR(aw, H, aX)
707- else throw((("Unknown auction type :" + cs) + ", please contact the admins"))
712+ let cv = v(S(aX, H))
713+ if ((cv == r))
714+ then bQ(aw, H, aX)
715+ else if ((cv == s))
716+ then bU(aw, H, aX)
717+ else throw((("Unknown auction type :" + cv) + ", please contact the admins"))
708718 }
709719
710720
711721
712722 @Callable(aw)
713723 func acceptBid (H,aX,P,aY) = {
714- let cs = v(S(aX, H))
715- if ((cs == r))
716- then bW(aw, H, aX, P, aY)
717- else if ((cs == s))
718- then ca(aw, H, aX, P, aY)
719- else throw((("Unknown auction type :" + cs) + ", please contact the admins"))
724+ let cv = v(S(aX, H))
725+ if ((cv == r))
726+ then bZ(aw, H, aX, P, aY)
727+ else if ((cv == s))
728+ then cd(aw, H, aX, P, aY)
729+ else throw((("Unknown auction type :" + cv) + ", please contact the admins"))
720730 }
721731
722732
723733
724734 @Callable(aw)
725735 func cancelBid (H,aX,P) = {
726- let cs = v(S(aX, H))
727- if ((cs == r))
728- then ce(aw, H, aX, P)
729- else ch(aw, H, aX, P)
736+ let cv = v(S(aX, H))
737+ if ((cv == r))
738+ then ch(aw, H, aX, P)
739+ else ck(aw, H, aX, P)
730740 }
731741
732742

github/deemru/w8io/169f3d6 
253.58 ms