tx · EyajSE7nubYAW2kg9wjL5UGCzK2fcSg4zmdiVnMB9uqD

3N9yxjwDM9T8cFxAxjrw8k5wiGxRxHh9FdW:  -0.01400000 Waves

2021.05.18 11:48 [1530902] smart account 3N9yxjwDM9T8cFxAxjrw8k5wiGxRxHh9FdW > SELF 0.00000000 Waves

{ "type": 13, "id": "EyajSE7nubYAW2kg9wjL5UGCzK2fcSg4zmdiVnMB9uqD", "fee": 1400000, "feeAssetId": null, "timestamp": 1621327770286, "version": 2, "chainId": 84, "sender": "3N9yxjwDM9T8cFxAxjrw8k5wiGxRxHh9FdW", "senderPublicKey": "7nc1RVTNTXy1DvKS2F4boNQWQir3Lqpvi8zMoo42M3nP", "proofs": [ "43XRnDsZh3JpK2WCWTKDq9ZaGyC6DcmGMNs8a6vp7sswD8iEHfWhePjMM6XFQrUPXeQS48LPSAwUv4jpaDGb6dKW" ], "script": "base64:AAIEAAAAAAAAAD4IAhIECgIBCBIDCgEIEgMKAQgSAwoBCBIFCgMICAgSBQoDCAgIEgQKAggIEgUKAwgICBIFCgMICAgSAwoBCAAAACgAAAAACHVuaXRUZXN0BwAAAAAJb3JhY2xlRmVlCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOMnM1UnRhSFBCZW5Dc3gyRUNjb0ZSYllIeDNub1poWFcxAAAAAAhzaWduRGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTkMyOGhTaXZybXNUVVhhWUQxeDZMMzYySjRacFVub1RkQgAAAAAMYXJ0d29ya3NEYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOQnluZmJYQzJLYXN0VXhodWtjTVVhRTU4SzljQmRCOVVZAAAAAAtmZWVSZWNlaXZlcgIAAAAjM04xRTZ0WGRkUm9WYVJmUTlkUTN2ZzVMYVcyZnNkOEhLdWIAAAAACHVzZXJEYXBwAwUAAAAIdW5pdFRlc3QJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM010NFJHTUV5alNXWUFvY1RQcWQ1NXdkSFFRQjNQVTJVQ20JAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM044eFhhWWpFMjdBYTc5ZDVoSHJoSHU5SGFGb1RCbWhERWoAAAAADXdoaXRlbGlzdERhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM042QmFWMWRDQjR6ZzQzZ29OTkhhQ3R2UjEzQmN5SjVHc3EAAAAAC3NpZ25Bc3NldElkAQAAACDopWq8yndC8nBhMjVKT0WDubke5ZlnF8Nx6tkLoQSt6wAAAAALdXNkbkFzc2V0SWQBAAAAIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0AAAAAAx3YXZlc0Fzc2V0SWQBAAAAAAAAAAAFY2hyaXMCAAAAIzNNc0c2alBOQ3JWSlV0WUI3WEpCeFM3dXRXc1hBZjRuOVZwAAAAAARqb2VwAgAAACMzTXptNFZMd3NOOXVad2JUTXpQajNYdXhWNmtFZkFSOFVETgAAAAAHc2lnbkN1dAAAAAAAAAAAAwAAAAAKY3JlYXRvckN1dAAAAAAAAAAACgAAAAALZGFwcFJ1bm5p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", "height": 1530902, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dh8kjvZAYVQSqh72hbTvFhJfmWpryBrAfUEdP6fgGtdc Next: BAEBUeykQRiGK9xAMWdkqAvyrTQpcSp4kTwneprLF9jv Diff:
OldNewDifferences
204204 then isSignArtNFT(value(payment.assetId))
205205 else false)
206206 then payment.assetId
207- else throw("No NFT found")
207+ else throw("Only SIGN Art NFT accepted.")
208208 if (!(acceptedAssetIds(asset)))
209209 then throw("Only SIGN, USDN or WAVES accepted")
210210 else {
211- let $t074197495 = checkNFTInfo(toBase58String(value(assetId)))
212- let isValidNFT = $t074197495._1
213- let creatorAddr = $t074197495._2
211+ let $t074347510 = checkNFTInfo(toBase58String(value(assetId)))
212+ let isValidNFT = $t074347510._1
213+ let creatorAddr = $t074347510._2
214214 if (!(isValidNFT))
215215 then throw("Something went wrong")
216216 else [StringEntry((((((("sale2nd_info_" + caller) + "_") + toBase58String(value(payment.assetId))) + "_") + creatorAddr) + "_OPEN"), ((((toString(date) + "_") + toString(price)) + "_") + asset)), StringEntry(((("sale2nd_status_" + caller) + "_") + toBase58String(value(payment.assetId))), "OPEN"), StringEntry(("current_owner_on_dapp_" + toBase58String(value(payment.assetId))), caller)]
221221
222222 @Callable(i)
223223 func cancelSale (nftid) = {
224- let $t081718210 = idCallerDate(i)
225- let id = $t081718210._1
226- let caller = $t081718210._2
227- let date = $t081718210._3
224+ let $t081868225 = idCallerDate(i)
225+ let id = $t081868225._1
226+ let caller = $t081868225._2
227+ let date = $t081868225._3
228228 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
229229 if ((saleOwner != caller))
230230 then throw("You don't own this NFT")
244244
245245 @Callable(i)
246246 func buyNFT (nftid) = {
247- let $t093399410 = idCallerDate(i)
248- let id = $t093399410._1
249- let caller = $t093399410._2
250- let date = $t093399410._3
247+ let $t093549425 = idCallerDate(i)
248+ let id = $t093549425._1
249+ let caller = $t093549425._2
250+ let date = $t093549425._3
251251 let saleOwner = getSaleOwnerAndStatus(nftid)
252- let $t094659516 = checkNFTInfo(nftid)
253- let isValidNFT = $t094659516._1
254- let creatorAddr = $t094659516._2
252+ let $t094809531 = checkNFTInfo(nftid)
253+ let isValidNFT = $t094809531._1
254+ let creatorAddr = $t094809531._2
255255 if (!(isValidNFT))
256256 then throw("Something went wrong")
257257 else {
263263 if ((parseInt(saleInfoArray[1]) == 0))
264264 then throw("Offer only")
265265 else {
266- let $t098529888 = isPayment(i)
267- let payment = $t098529888._1
268- let amount = $t098529888._2
266+ let $t098679903 = isPayment(i)
267+ let payment = $t098679903._1
268+ let amount = $t098679903._2
269269 if (if ((saleInfoArray[1] != toString(amount)))
270270 then true
271271 else (saleInfoArray[2] != toBase58String(value(payment.assetId))))
274274 let amountForSign = fraction(amount, signCut, 100)
275275 let amountForCreator = fraction(amount, creatorCut, 100)
276276 let amountForOwner = (amount - (amountForSign + amountForCreator))
277- let $t01031110439 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
278- let signFee = $t01031110439._1
279- let creatorFee = $t01031110439._2
280- let ownerFee = $t01031110439._3
281- let collectorFee = $t01031110439._4
277+ let $t01032610454 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
278+ let signFee = $t01032610454._1
279+ let creatorFee = $t01032610454._2
280+ let ownerFee = $t01032610454._3
281+ let collectorFee = $t01032610454._4
282282 [DeleteEntry((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(payment.assetId))) + "_to_") + caller)), signFee, creatorFee, ownerFee, collectorFee]
283283 }
284284 }
290290
291291 @Callable(i)
292292 func setOffer (nftid) = {
293- let $t01152711569 = idCallerDate(i)
294- let id = $t01152711569._1
295- let offerOwner = $t01152711569._2
296- let date = $t01152711569._3
297- let $t01157411610 = isPayment(i)
298- let payment = $t01157411610._1
299- let amount = $t01157411610._2
293+ let $t01154211584 = idCallerDate(i)
294+ let id = $t01154211584._1
295+ let offerOwner = $t01154211584._2
296+ let date = $t01154211584._3
297+ let $t01158911625 = isPayment(i)
298+ let payment = $t01158911625._1
299+ let amount = $t01158911625._2
300300 let assetId = if (!(isDefined(payment.assetId)))
301301 then "WAVES"
302302 else toBase58String(value(payment.assetId))
303303 if (!(acceptedAssetIds(assetId)))
304304 then throw("asset not accepted")
305305 else {
306- let $t01179611847 = checkNFTInfo(nftid)
307- let isValidNFT = $t01179611847._1
308- let creatorAddr = $t01179611847._2
306+ let $t01181111862 = checkNFTInfo(nftid)
307+ let isValidNFT = $t01181111862._1
308+ let creatorAddr = $t01181111862._2
309309 if (!(isValidNFT))
310310 then throw("Something went wrong")
311311 else {
319319
320320 @Callable(i)
321321 func acceptOffer (nftid,offerId,offerOwner) = {
322- let $t01239512465 = idCallerDate(i)
323- let id = $t01239512465._1
324- let caller = $t01239512465._2
325- let date = $t01239512465._3
322+ let $t01241012480 = idCallerDate(i)
323+ let id = $t01241012480._1
324+ let caller = $t01241012480._2
325+ let date = $t01241012480._3
326326 let saleOwner = getSaleOwnerAndStatus(nftid)
327327 if ((caller != saleOwner))
328328 then throw("You cannot do this action")
331331 if ((offerExist == ""))
332332 then throw("Offer not found or not for sale")
333333 else {
334- let $t01277012821 = checkNFTInfo(nftid)
335- let isValidNFT = $t01277012821._1
336- let creatorAddr = $t01277012821._2
334+ let $t01278512836 = checkNFTInfo(nftid)
335+ let isValidNFT = $t01278512836._1
336+ let creatorAddr = $t01278512836._2
337337 if (!(isValidNFT))
338338 then throw("Something went wrong")
339339 else {
342342 then throw("Sale Not found!")
343343 else {
344344 let bidDataKey = ((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
345- let $t01315713216 = getBidData(bidDataKey)
346- let bidDataArr = $t01315713216._1
347- let assetId = $t01315713216._2
348- let bidData = $t01315713216._3
345+ let $t01317213231 = getBidData(bidDataKey)
346+ let bidDataArr = $t01317213231._1
347+ let assetId = $t01317213231._2
348+ let bidData = $t01317213231._3
349349 let amount = value(parseInt(bidDataArr[1]))
350- let $t01327013397 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
351- let signFee = $t01327013397._1
352- let creatorFee = $t01327013397._2
353- let ownerFee = $t01327013397._3
354- let collectorFee = $t01327013397._4
350+ let $t01328513412 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
351+ let signFee = $t01328513412._1
352+ let creatorFee = $t01328513412._2
353+ let ownerFee = $t01328513412._3
354+ let collectorFee = $t01328513412._4
355355 [DeleteEntry((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry((bidDataKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((((((bidDataKey + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_") + offerOwner) + "_") + offerId)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_to_") + offerOwner)), signFee, creatorFee, ownerFee, collectorFee]
356356 }
357357 }
363363
364364 @Callable(i)
365365 func cancelOffer (nftid,offerId,saleOwner) = {
366- let $t01417114232 = idCallerDate(i)
367- let id = $t01417114232._1
368- let caller = $t01417114232._2
369- let date = $t01417114232._3
366+ let $t01418614247 = idCallerDate(i)
367+ let id = $t01418614247._1
368+ let caller = $t01418614247._2
369+ let date = $t01418614247._3
370370 let bidDataKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
371- let $t01431314372 = getBidData(bidDataKey)
372- let bidDataArr = $t01431314372._1
373- let assetId = $t01431314372._2
374- let bidData = $t01431314372._3
371+ let $t01432814387 = getBidData(bidDataKey)
372+ let bidDataArr = $t01432814387._1
373+ let assetId = $t01432814387._2
374+ let bidData = $t01432814387._3
375375 [DeleteEntry((bidDataKey + "_OPEN")), StringEntry((((((bidDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((bidData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
376376 }
377377
379379
380380 @Callable(i)
381381 func makeRequest (artId,creatorAddr) = {
382- let $t01470714751 = idCallerDate(i)
383- let id = $t01470714751._1
384- let requestOwner = $t01470714751._2
385- let date = $t01470714751._3
386- let $t01475614792 = isPayment(i)
387- let payment = $t01475614792._1
388- let amount = $t01475614792._2
382+ let $t01472214766 = idCallerDate(i)
383+ let id = $t01472214766._1
384+ let requestOwner = $t01472214766._2
385+ let date = $t01472214766._3
386+ let $t01477114807 = isPayment(i)
387+ let payment = $t01477114807._1
388+ let amount = $t01477114807._2
389389 let assetId = if (!(isDefined(payment.assetId)))
390390 then "WAVES"
391391 else toBase58String(value(payment.assetId))
403403
404404 @Callable(i)
405405 func fillRequest (artId,requestOwner,offerId) = {
406- let $t01556715609 = idCallerDate(i)
407- let id = $t01556715609._1
408- let saleOwner = $t01556715609._2
409- let date = $t01556715609._3
410- let $t01561415658 = isPayment(i)
411- let payment = $t01561415658._1
412- let amountAttached = $t01561415658._2
406+ let $t01558215624 = idCallerDate(i)
407+ let id = $t01558215624._1
408+ let saleOwner = $t01558215624._2
409+ let date = $t01558215624._3
410+ let $t01562915673 = isPayment(i)
411+ let payment = $t01562915673._1
412+ let amountAttached = $t01562915673._2
413413 let NFTid = if (if (isDefined(payment.assetId))
414414 then isSignArtNFT(value(payment.assetId))
415415 else false)
426426 then throw("This NFT don't match the requested artwork")
427427 else {
428428 let amount = value(parseInt(requestData[1]))
429- let $t01637816553 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
430- let signFee = $t01637816553._1
431- let creatorFee = $t01637816553._2
432- let ownerFee = $t01637816553._3
433- let collectorFee = $t01637816553._4
429+ let $t01639316568 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
430+ let signFee = $t01639316568._1
431+ let creatorFee = $t01639316568._2
432+ let ownerFee = $t01639316568._3
433+ let collectorFee = $t01639316568._4
434434 [DeleteEntry((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_OPEN")), StringEntry((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_CLOSED"), ((((((((((((toString(date) + "_") + toString(amount)) + "_") + requestData[2]) + "_") + artId) + "_") + requestOwner) + "_") + saleOwner) + "_") + id)), signFee, creatorFee, ownerFee, collectorFee]
435435 }
436436 }
440440
441441 @Callable(i)
442442 func cancelRequest (artId,creatorAddr,requestId) = {
443- let $t01701317057 = idCallerDate(i)
444- let id = $t01701317057._1
445- let requestOwner = $t01701317057._2
446- let date = $t01701317057._3
443+ let $t01702817072 = idCallerDate(i)
444+ let id = $t01702817072._1
445+ let requestOwner = $t01702817072._2
446+ let date = $t01702817072._3
447447 let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
448448 let requestData = getStrByK((requesDataKey + "_OPEN"))
449449 if ((size(requestData) == 0))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let unitTest = false
55
66 let oracleFee = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
77
88 let signDapp = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
99
1010 let artworksDapp = value(addressFromString("3NBynfbXC2KastUxhukcMUaE58K9cBdB9UY"))
1111
1212 let feeReceiver = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
1313
1414 let userDapp = if (unitTest)
1515 then value(addressFromString("3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm"))
1616 else value(addressFromString("3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj"))
1717
1818 let whitelistDapp = value(addressFromString("3N6BaV1dCB4zg43goNNHaCtvR13BcyJ5Gsq"))
1919
2020 let signAssetId = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
2121
2222 let usdnAssetId = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
2323
2424 let wavesAssetId = base58''
2525
2626 let chris = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
2727
2828 let joep = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
2929
3030 let signCut = 3
3131
3232 let creatorCut = 10
3333
3434 let dappRunning = valueOrElse(getBoolean(userDapp, "conf_dapp_is_running"), true)
3535
3636 let maintenanceMSG = valueOrElse(getString(userDapp, "conf_maintenance_msg"), "")
3737
3838 let userSuspended = "SUSPENDED"
3939
4040 let userRemoved = "REMOVED"
4141
4242 let artIllegal = "ILLEGAL"
4343
4444 let artSuspended = "SUSPENDED"
4545
4646 func getUserStrByK (key) = valueOrElse(getString(userDapp, key), "Error")
4747
4848
4949 func getArtStrByK (key) = valueOrElse(getString(artworksDapp, key), "")
5050
5151
5252 func getStrByK (key) = valueOrElse(getString(this, key), "")
5353
5454
5555 func getIntByK (key) = valueOrElse(getInteger(this, key), 0)
5656
5757
5858 func keyUserStatus (addr) = ("user_status_" + addr)
5959
6060
6161 func keySignID (artistAddr,artId) = ((("art_signid_" + artId) + "_") + artistAddr)
6262
6363
6464 func keyFlag (artistAddr,artId) = ((("art_flag_" + artId) + "_") + artistAddr)
6565
6666
6767 func keyNFTData (id) = ("nft_" + id)
6868
6969
7070 func idCallerDate (i) = if (!(dappRunning))
7171 then throw(maintenanceMSG)
7272 else $Tuple3(toBase58String(i.transactionId), toBase58String(i.caller.bytes), lastBlock.timestamp)
7373
7474
7575 func isPayment (i) = if ((size(i.payments) == 0))
7676 then throw("No payment attached")
7777 else {
7878 let payment = value(i.payments[0])
7979 let amount = value(payment.amount)
8080 $Tuple2(payment, amount)
8181 }
8282
8383
8484 func isSignArtNFT (id) = {
8585 let assetDetails = value(assetInfo(id))
8686 if (if (if (if ((assetDetails.quantity != 1))
8787 then true
8888 else (assetDetails.decimals != 0))
8989 then true
9090 else (assetDetails.reissuable != false))
9191 then true
9292 else (assetDetails.issuer != artworksDapp))
9393 then false
9494 else true
9595 }
9696
9797
9898 func acceptedAssetIds (assetId) = if (if (if (if ((assetId != toBase58String(signAssetId)))
9999 then (assetId != toBase58String(wavesAssetId))
100100 else false)
101101 then (assetId != "WAVES")
102102 else false)
103103 then (assetId != toBase58String(usdnAssetId))
104104 else false)
105105 then false
106106 else true
107107
108108
109109 func getBidAssetId (assetId) = if ((assetId == "WAVES"))
110110 then unit
111111 else fromBase58String(assetId)
112112
113113
114114 func getSaleOwnerAndStatus (nftid) = {
115115 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
116116 if ((size(saleOwner) == 0))
117117 then throw("NFT not found")
118118 else {
119119 let saleStatus = getStrByK(((("sale2nd_status_" + saleOwner) + "_") + nftid))
120120 if ((saleStatus != "OPEN"))
121121 then throw("NFT not for sale")
122122 else saleOwner
123123 }
124124 }
125125
126126
127127 func getBidData (key) = {
128128 let bidData = getStrByK((key + "_OPEN"))
129129 if ((bidData == ""))
130130 then throw("Offer not found")
131131 else {
132132 let bidDataArr = split(bidData, "_")
133133 let assetId = getBidAssetId(bidDataArr[2])
134134 $Tuple3(bidDataArr, assetId, bidData)
135135 }
136136 }
137137
138138
139139 func checkArtStatus (addr,id) = {
140140 let artStatus = getArtStrByK(keyFlag(addr, id))
141141 if (if ((artStatus == artIllegal))
142142 then true
143143 else (artStatus == artSuspended))
144144 then throw(("Original Artwork flagged as " + artStatus))
145145 else true
146146 }
147147
148148
149149 func checkArtistStatus (addr) = {
150150 let artistStatus = getUserStrByK(keyUserStatus(addr))
151151 if (containsElement([userSuspended, userRemoved], artistStatus))
152152 then throw(("Original Artist " + artistStatus))
153153 else true
154154 }
155155
156156
157157 func checkNFTInfo (assetId) = {
158158 let nftData = split(getArtStrByK(keyNFTData(assetId)), "_")
159159 let artSignID = getArtStrByK(keySignID(nftData[6], nftData[5]))
160160 if ((size(artSignID) == 0))
161161 then throw("Artwork not found on SIGN Art")
162162 else if (if (!(checkArtStatus(nftData[6], nftData[5])))
163163 then !(checkArtistStatus(nftData[6]))
164164 else false)
165165 then $Tuple2(false, nftData[6])
166166 else $Tuple2(true, nftData[6])
167167 }
168168
169169
170170 func checkARTExist (artId,creatorAddr) = {
171171 let artSignID = getArtStrByK(keySignID(creatorAddr, artId))
172172 if ((size(artSignID) == 0))
173173 then throw("Artwork not found on SIGN Art")
174174 else if (if (!(checkArtStatus(creatorAddr, artId)))
175175 then !(checkArtistStatus(creatorAddr))
176176 else false)
177177 then false
178178 else true
179179 }
180180
181181
182182 func setTransfers (amount,assetId,nftid,creatorAddr,saleOwner,caller) = {
183183 let amountForSign = fraction(amount, signCut, 100)
184184 let amountForCreator = fraction(amount, creatorCut, 100)
185185 let amountForOwner = (amount - (amountForSign + amountForCreator))
186186 let signFee = ScriptTransfer(Address(fromBase58String(feeReceiver)), amountForSign, assetId)
187187 let creatorFee = ScriptTransfer(Address(fromBase58String(creatorAddr)), amountForCreator, assetId)
188188 let ownerFee = ScriptTransfer(Address(fromBase58String(saleOwner)), amountForOwner, assetId)
189189 let collectorFee = ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftid))
190190 $Tuple4(signFee, creatorFee, ownerFee, collectorFee)
191191 }
192192
193193
194194 @Callable(i)
195195 func sellNFT (price,asset) = {
196196 let $t070747113 = idCallerDate(i)
197197 let id = $t070747113._1
198198 let caller = $t070747113._2
199199 let date = $t070747113._3
200200 let $t071187154 = isPayment(i)
201201 let payment = $t071187154._1
202202 let amount = $t071187154._2
203203 let assetId = if (if (isDefined(payment.assetId))
204204 then isSignArtNFT(value(payment.assetId))
205205 else false)
206206 then payment.assetId
207- else throw("No NFT found")
207+ else throw("Only SIGN Art NFT accepted.")
208208 if (!(acceptedAssetIds(asset)))
209209 then throw("Only SIGN, USDN or WAVES accepted")
210210 else {
211- let $t074197495 = checkNFTInfo(toBase58String(value(assetId)))
212- let isValidNFT = $t074197495._1
213- let creatorAddr = $t074197495._2
211+ let $t074347510 = checkNFTInfo(toBase58String(value(assetId)))
212+ let isValidNFT = $t074347510._1
213+ let creatorAddr = $t074347510._2
214214 if (!(isValidNFT))
215215 then throw("Something went wrong")
216216 else [StringEntry((((((("sale2nd_info_" + caller) + "_") + toBase58String(value(payment.assetId))) + "_") + creatorAddr) + "_OPEN"), ((((toString(date) + "_") + toString(price)) + "_") + asset)), StringEntry(((("sale2nd_status_" + caller) + "_") + toBase58String(value(payment.assetId))), "OPEN"), StringEntry(("current_owner_on_dapp_" + toBase58String(value(payment.assetId))), caller)]
217217 }
218218 }
219219
220220
221221
222222 @Callable(i)
223223 func cancelSale (nftid) = {
224- let $t081718210 = idCallerDate(i)
225- let id = $t081718210._1
226- let caller = $t081718210._2
227- let date = $t081718210._3
224+ let $t081868225 = idCallerDate(i)
225+ let id = $t081868225._1
226+ let caller = $t081868225._2
227+ let date = $t081868225._3
228228 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
229229 if ((saleOwner != caller))
230230 then throw("You don't own this NFT")
231231 else {
232232 let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftid))
233233 if ((saleStatus != "OPEN"))
234234 then throw("Sale not active")
235235 else {
236236 let creatorAddr = split(getArtStrByK(keyNFTData(nftid)), "_")[6]
237237 let saleInfo = getStrByK(((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_") + saleStatus))
238238 [DeleteEntry((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry(((("sale2nd_status_" + caller) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((((((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CANCELLED"), saleInfo), ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftid))]
239239 }
240240 }
241241 }
242242
243243
244244
245245 @Callable(i)
246246 func buyNFT (nftid) = {
247- let $t093399410 = idCallerDate(i)
248- let id = $t093399410._1
249- let caller = $t093399410._2
250- let date = $t093399410._3
247+ let $t093549425 = idCallerDate(i)
248+ let id = $t093549425._1
249+ let caller = $t093549425._2
250+ let date = $t093549425._3
251251 let saleOwner = getSaleOwnerAndStatus(nftid)
252- let $t094659516 = checkNFTInfo(nftid)
253- let isValidNFT = $t094659516._1
254- let creatorAddr = $t094659516._2
252+ let $t094809531 = checkNFTInfo(nftid)
253+ let isValidNFT = $t094809531._1
254+ let creatorAddr = $t094809531._2
255255 if (!(isValidNFT))
256256 then throw("Something went wrong")
257257 else {
258258 let saleInfo = getStrByK((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN"))
259259 if ((size(saleInfo) == 0))
260260 then throw("Sale Not found!")
261261 else {
262262 let saleInfoArray = split(saleInfo, "_")
263263 if ((parseInt(saleInfoArray[1]) == 0))
264264 then throw("Offer only")
265265 else {
266- let $t098529888 = isPayment(i)
267- let payment = $t098529888._1
268- let amount = $t098529888._2
266+ let $t098679903 = isPayment(i)
267+ let payment = $t098679903._1
268+ let amount = $t098679903._2
269269 if (if ((saleInfoArray[1] != toString(amount)))
270270 then true
271271 else (saleInfoArray[2] != toBase58String(value(payment.assetId))))
272272 then throw("Payment infos don't match.")
273273 else {
274274 let amountForSign = fraction(amount, signCut, 100)
275275 let amountForCreator = fraction(amount, creatorCut, 100)
276276 let amountForOwner = (amount - (amountForSign + amountForCreator))
277- let $t01031110439 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
278- let signFee = $t01031110439._1
279- let creatorFee = $t01031110439._2
280- let ownerFee = $t01031110439._3
281- let collectorFee = $t01031110439._4
277+ let $t01032610454 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
278+ let signFee = $t01032610454._1
279+ let creatorFee = $t01032610454._2
280+ let ownerFee = $t01032610454._3
281+ let collectorFee = $t01032610454._4
282282 [DeleteEntry((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(payment.assetId))) + "_to_") + caller)), signFee, creatorFee, ownerFee, collectorFee]
283283 }
284284 }
285285 }
286286 }
287287 }
288288
289289
290290
291291 @Callable(i)
292292 func setOffer (nftid) = {
293- let $t01152711569 = idCallerDate(i)
294- let id = $t01152711569._1
295- let offerOwner = $t01152711569._2
296- let date = $t01152711569._3
297- let $t01157411610 = isPayment(i)
298- let payment = $t01157411610._1
299- let amount = $t01157411610._2
293+ let $t01154211584 = idCallerDate(i)
294+ let id = $t01154211584._1
295+ let offerOwner = $t01154211584._2
296+ let date = $t01154211584._3
297+ let $t01158911625 = isPayment(i)
298+ let payment = $t01158911625._1
299+ let amount = $t01158911625._2
300300 let assetId = if (!(isDefined(payment.assetId)))
301301 then "WAVES"
302302 else toBase58String(value(payment.assetId))
303303 if (!(acceptedAssetIds(assetId)))
304304 then throw("asset not accepted")
305305 else {
306- let $t01179611847 = checkNFTInfo(nftid)
307- let isValidNFT = $t01179611847._1
308- let creatorAddr = $t01179611847._2
306+ let $t01181111862 = checkNFTInfo(nftid)
307+ let isValidNFT = $t01181111862._1
308+ let creatorAddr = $t01181111862._2
309309 if (!(isValidNFT))
310310 then throw("Something went wrong")
311311 else {
312312 let saleOwner = getSaleOwnerAndStatus(nftid)
313313 [StringEntry((((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + id) + "_OPEN"), ((((((((toString(date) + "_") + toString(amount)) + "_") + assetId) + "_") + offerOwner) + "_") + id))]
314314 }
315315 }
316316 }
317317
318318
319319
320320 @Callable(i)
321321 func acceptOffer (nftid,offerId,offerOwner) = {
322- let $t01239512465 = idCallerDate(i)
323- let id = $t01239512465._1
324- let caller = $t01239512465._2
325- let date = $t01239512465._3
322+ let $t01241012480 = idCallerDate(i)
323+ let id = $t01241012480._1
324+ let caller = $t01241012480._2
325+ let date = $t01241012480._3
326326 let saleOwner = getSaleOwnerAndStatus(nftid)
327327 if ((caller != saleOwner))
328328 then throw("You cannot do this action")
329329 else {
330330 let offerExist = getStrByK((((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId) + "_OPEN"))
331331 if ((offerExist == ""))
332332 then throw("Offer not found or not for sale")
333333 else {
334- let $t01277012821 = checkNFTInfo(nftid)
335- let isValidNFT = $t01277012821._1
336- let creatorAddr = $t01277012821._2
334+ let $t01278512836 = checkNFTInfo(nftid)
335+ let isValidNFT = $t01278512836._1
336+ let creatorAddr = $t01278512836._2
337337 if (!(isValidNFT))
338338 then throw("Something went wrong")
339339 else {
340340 let saleInfo = getStrByK((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN"))
341341 if ((size(saleInfo) == 0))
342342 then throw("Sale Not found!")
343343 else {
344344 let bidDataKey = ((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
345- let $t01315713216 = getBidData(bidDataKey)
346- let bidDataArr = $t01315713216._1
347- let assetId = $t01315713216._2
348- let bidData = $t01315713216._3
345+ let $t01317213231 = getBidData(bidDataKey)
346+ let bidDataArr = $t01317213231._1
347+ let assetId = $t01317213231._2
348+ let bidData = $t01317213231._3
349349 let amount = value(parseInt(bidDataArr[1]))
350- let $t01327013397 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
351- let signFee = $t01327013397._1
352- let creatorFee = $t01327013397._2
353- let ownerFee = $t01327013397._3
354- let collectorFee = $t01327013397._4
350+ let $t01328513412 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
351+ let signFee = $t01328513412._1
352+ let creatorFee = $t01328513412._2
353+ let ownerFee = $t01328513412._3
354+ let collectorFee = $t01328513412._4
355355 [DeleteEntry((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry((bidDataKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((((((bidDataKey + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_") + offerOwner) + "_") + offerId)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_to_") + offerOwner)), signFee, creatorFee, ownerFee, collectorFee]
356356 }
357357 }
358358 }
359359 }
360360 }
361361
362362
363363
364364 @Callable(i)
365365 func cancelOffer (nftid,offerId,saleOwner) = {
366- let $t01417114232 = idCallerDate(i)
367- let id = $t01417114232._1
368- let caller = $t01417114232._2
369- let date = $t01417114232._3
366+ let $t01418614247 = idCallerDate(i)
367+ let id = $t01418614247._1
368+ let caller = $t01418614247._2
369+ let date = $t01418614247._3
370370 let bidDataKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
371- let $t01431314372 = getBidData(bidDataKey)
372- let bidDataArr = $t01431314372._1
373- let assetId = $t01431314372._2
374- let bidData = $t01431314372._3
371+ let $t01432814387 = getBidData(bidDataKey)
372+ let bidDataArr = $t01432814387._1
373+ let assetId = $t01432814387._2
374+ let bidData = $t01432814387._3
375375 [DeleteEntry((bidDataKey + "_OPEN")), StringEntry((((((bidDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((bidData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
376376 }
377377
378378
379379
380380 @Callable(i)
381381 func makeRequest (artId,creatorAddr) = {
382- let $t01470714751 = idCallerDate(i)
383- let id = $t01470714751._1
384- let requestOwner = $t01470714751._2
385- let date = $t01470714751._3
386- let $t01475614792 = isPayment(i)
387- let payment = $t01475614792._1
388- let amount = $t01475614792._2
382+ let $t01472214766 = idCallerDate(i)
383+ let id = $t01472214766._1
384+ let requestOwner = $t01472214766._2
385+ let date = $t01472214766._3
386+ let $t01477114807 = isPayment(i)
387+ let payment = $t01477114807._1
388+ let amount = $t01477114807._2
389389 let assetId = if (!(isDefined(payment.assetId)))
390390 then "WAVES"
391391 else toBase58String(value(payment.assetId))
392392 if (!(acceptedAssetIds(assetId)))
393393 then throw("asset not accepted")
394394 else {
395395 let isValidART = checkARTExist(artId, creatorAddr)
396396 if (!(isValidART))
397397 then throw("Something went wrong")
398398 else [StringEntry((((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + id) + "_OPEN"), ((((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(payment.assetId))) + "_") + artId) + "_") + requestOwner) + "_") + id))]
399399 }
400400 }
401401
402402
403403
404404 @Callable(i)
405405 func fillRequest (artId,requestOwner,offerId) = {
406- let $t01556715609 = idCallerDate(i)
407- let id = $t01556715609._1
408- let saleOwner = $t01556715609._2
409- let date = $t01556715609._3
410- let $t01561415658 = isPayment(i)
411- let payment = $t01561415658._1
412- let amountAttached = $t01561415658._2
406+ let $t01558215624 = idCallerDate(i)
407+ let id = $t01558215624._1
408+ let saleOwner = $t01558215624._2
409+ let date = $t01558215624._3
410+ let $t01562915673 = isPayment(i)
411+ let payment = $t01562915673._1
412+ let amountAttached = $t01562915673._2
413413 let NFTid = if (if (isDefined(payment.assetId))
414414 then isSignArtNFT(value(payment.assetId))
415415 else false)
416416 then payment.assetId
417417 else throw("No NFT found")
418418 let NFTdata = split(getArtStrByK(("nft_" + toBase58String(value(NFTid)))), "_")
419419 if ((size(NFTdata) == 0))
420420 then throw("No NFT found")
421421 else {
422422 let requestData = split(getStrByK((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_OPEN")), "_")
423423 if ((size(requestData) == 1))
424424 then throw("No request found")
425425 else if ((requestData[3] != NFTdata[5]))
426426 then throw("This NFT don't match the requested artwork")
427427 else {
428428 let amount = value(parseInt(requestData[1]))
429- let $t01637816553 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
430- let signFee = $t01637816553._1
431- let creatorFee = $t01637816553._2
432- let ownerFee = $t01637816553._3
433- let collectorFee = $t01637816553._4
429+ let $t01639316568 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
430+ let signFee = $t01639316568._1
431+ let creatorFee = $t01639316568._2
432+ let ownerFee = $t01639316568._3
433+ let collectorFee = $t01639316568._4
434434 [DeleteEntry((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_OPEN")), StringEntry((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_CLOSED"), ((((((((((((toString(date) + "_") + toString(amount)) + "_") + requestData[2]) + "_") + artId) + "_") + requestOwner) + "_") + saleOwner) + "_") + id)), signFee, creatorFee, ownerFee, collectorFee]
435435 }
436436 }
437437 }
438438
439439
440440
441441 @Callable(i)
442442 func cancelRequest (artId,creatorAddr,requestId) = {
443- let $t01701317057 = idCallerDate(i)
444- let id = $t01701317057._1
445- let requestOwner = $t01701317057._2
446- let date = $t01701317057._3
443+ let $t01702817072 = idCallerDate(i)
444+ let id = $t01702817072._1
445+ let requestOwner = $t01702817072._2
446+ let date = $t01702817072._3
447447 let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
448448 let requestData = getStrByK((requesDataKey + "_OPEN"))
449449 if ((size(requestData) == 0))
450450 then throw("Request not found")
451451 else {
452452 let requestDataArr = split(requestData, "_")
453453 [DeleteEntry((requesDataKey + "_OPEN")), StringEntry((((((requesDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((requestData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(requestOwner)), parseIntValue(requestDataArr[1]), fromBase58String(requestDataArr[2]))]
454454 }
455455 }
456456
457457
458458
459459 @Callable(i)
460460 func deleteEntry (entry) = {
461461 let caller = toString(addressFromPublicKey(i.callerPublicKey))
462462 if ((caller == chris))
463463 then [DeleteEntry(entry)]
464464 else throw("no")
465465 }
466466
467467

github/deemru/w8io/3ef1775 
174.70 ms