tx · 7vBxAdudq6by7oRenzCS3dy98DambBWFaiMfLg33UJVM

3MqfdyT9j2zFTipyF1rCU1h4zK2ya78uE7U:  -0.01400000 Waves

2021.06.04 13:50 [1555536] smart account 3MqfdyT9j2zFTipyF1rCU1h4zK2ya78uE7U > SELF 0.00000000 Waves

{ "type": 13, "id": "7vBxAdudq6by7oRenzCS3dy98DambBWFaiMfLg33UJVM", "fee": 1400000, "feeAssetId": null, "timestamp": 1622803828706, "version": 2, "chainId": 84, "sender": "3MqfdyT9j2zFTipyF1rCU1h4zK2ya78uE7U", "senderPublicKey": "2c2PB7n2qxoCMWyizek5v76mM3GFmZ2CykxKxK7rJet5", "proofs": [ "3LsVSF5669dMexFVTKr9EGf3No4q9EmVJtS6UZdNRYrBoSY74JgPzMi3KKCYMRxoyZg4h3emtMT2Rs9VobhWUUWi" ], "script": "base64:AAIEAAAAAAAAAEUIAhIECgIBCBIFCgMIAQgSAwoBCBIDCgEIEgMKAQgSBQoDCAgIEgUKAwgICBIECgIICBIFCgMICAgSBQoDCAgIEgMKAQgAAAAoAAAAAAh1bml0VGVzdAcAAAAACW9yYWNsZUZlZQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjJzNVJ0YUhQQmVuQ3N4MkVDY29GUmJZSHgzbm9aaFhXMQAAAAAIc2lnbkRhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM05DMjhoU2l2cm1zVFVYYVlEMXg2TDM2Mko0WnBVbm9UZEIAAAAADGFydHdvcmtzRGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTkJ5bmZiWEMyS2FzdFV4aHVrY01VYUU1OEs5Y0JkQjlVWQAAAAALZmVlUmVjZWl2ZXICAAAAIzNOMUU2dFhkZFJvVmFSZlE5ZFEzdmc1TGFXMmZzZDhIS3ViAAAAAAh1c2VyRGFwcAMFAAAACHVuaXRUZXN0CQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNNdDRSR01FeWpTV1lBb2NUUHFkNTV3ZEhRUUIzUFUyVUNtCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOOHhYYVlqRTI3QWE3OWQ1aEhyaEh1OUhhRm9UQm1oREVqAAAAAA13aGl0ZWxpc3REYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNONkJhVjFkQ0I0emc0M2dvTk5IYUN0dlIxM0JjeUo1R3NxAAAAAAtzaWduQXNzZXRJZAEAAAAg6KVqvMp3QvJwYTI1Sk9Fg7m5HuWZZxfDcerZC6EEresAAAAAC3VzZG5Bc3NldElkAQAAACAP8hwSrOTEPJrsRhqrJaiw7LoHK0bMbYhy8LXikkkBtAAAAAAMd2F2ZXNBc3NldElkAQAAAAAAAAAABWNocmlzAgAAACMzTXNHNmpQTkNyVkpVdFlCN1hKQnhTN3V0V3NYQWY0bjlWcAAAAAAEam9lcAIAAAAjM016bTRWTHdzTjl1WndiVE16UGozWHV4VjZrRWZBUjhVRE4AAAAAB3NpZ25DdXQAAAAAAAAAAAMAAAAACmNyZWF0b3JDdXQAAAAAAAAAAAoAAAAAC2Rh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", "height": 1555536, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2fwK26kCsqLiNG1NWFyVqzRxfDDMNfBr94wbVsZ5aGrn Next: 7yChYHGRSR3PfsucR3rgd26hMYwyTSe4PauxWhavx3Pg Diff:
OldNewDifferences
291291 let $t01101911055 = isPayment(i)
292292 let payment = $t01101911055._1
293293 let amount = $t01101911055._2
294- if (true)
295- then throw(("toto = " + toBase58String(value(payment.assetId))))
296- else if (if ((saleInfoArray[1] != toString(amount)))
297- then true
298- else (saleInfoArray[2] != toBase58String(value(payment.assetId))))
299- then throw("Payment infos don't match.")
300- else {
301- let amountForSign = fraction(amount, signCut, 100)
302- let amountForCreator = fraction(amount, creatorCut, 100)
303- let amountForOwner = (amount - (amountForSign + amountForCreator))
304- let $t01155811686 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
305- let signFee = $t01155811686._1
306- let creatorFee = $t01155811686._2
307- let ownerFee = $t01155811686._3
308- let collectorFee = $t01155811686._4
294+ if (if (if ((saleInfoArray[1] != toString(amount)))
295+ then true
296+ else if (isDefined(payment.assetId))
297+ then (saleInfoArray[2] != toBase58String(value(payment.assetId)))
298+ else false)
299+ then true
300+ else if (!(isDefined(payment.assetId)))
301+ then (saleInfoArray[2] != "")
302+ else false)
303+ then throw("Payment infos don't match.")
304+ else {
305+ let amountForSign = fraction(amount, signCut, 100)
306+ let amountForCreator = fraction(amount, creatorCut, 100)
307+ let amountForOwner = (amount - (amountForSign + amountForCreator))
308+ let $t01160311731 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
309+ let signFee = $t01160311731._1
310+ let creatorFee = $t01160311731._2
311+ let ownerFee = $t01160311731._3
312+ let collectorFee = $t01160311731._4
309313 [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))) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_to_") + caller) + "_") + saleInfoArray[6])), signFee, creatorFee, ownerFee, collectorFee]
310- }
314+ }
311315 }
312316 }
313317 }
317321
318322 @Callable(i)
319323 func setOffer (nftid) = {
320- let $t01283112873 = idCallerDate(i)
321- let id = $t01283112873._1
322- let offerOwner = $t01283112873._2
323- let date = $t01283112873._3
324- let $t01287812914 = isPayment(i)
325- let payment = $t01287812914._1
326- let amount = $t01287812914._2
324+ let $t01287612918 = idCallerDate(i)
325+ let id = $t01287612918._1
326+ let offerOwner = $t01287612918._2
327+ let date = $t01287612918._3
328+ let $t01292312959 = isPayment(i)
329+ let payment = $t01292312959._1
330+ let amount = $t01292312959._2
327331 let assetId = if (!(isDefined(payment.assetId)))
328332 then "WAVES"
329333 else toBase58String(value(payment.assetId))
330334 if (!(acceptedAssetIds(assetId)))
331335 then throw("asset not accepted")
332336 else {
333- let $t01310013158 = checkNFTInfo(nftid)
334- let isValidNFT = $t01310013158._1
335- let artId = $t01310013158._2
336- let creatorAddr = $t01310013158._3
337+ let $t01314513203 = checkNFTInfo(nftid)
338+ let isValidNFT = $t01314513203._1
339+ let artId = $t01314513203._2
340+ let creatorAddr = $t01314513203._3
337341 if (!(isValidNFT))
338342 then throw("Something went wrong")
339343 else {
347351
348352 @Callable(i)
349353 func acceptOffer (nftid,offerId,offerOwner) = {
350- let $t01371613786 = idCallerDate(i)
351- let id = $t01371613786._1
352- let caller = $t01371613786._2
353- let date = $t01371613786._3
354+ let $t01376113831 = idCallerDate(i)
355+ let id = $t01376113831._1
356+ let caller = $t01376113831._2
357+ let date = $t01376113831._3
354358 let saleOwner = getSaleOwnerAndStatus(nftid)
355359 if ((caller != saleOwner))
356360 then throw("You cannot do this action")
359363 if ((offerExist == ""))
360364 then throw("Offer not found or not for sale")
361365 else {
362- let $t01409114149 = checkNFTInfo(nftid)
363- let isValidNFT = $t01409114149._1
364- let artId = $t01409114149._2
365- let creatorAddr = $t01409114149._3
366+ let $t01413614194 = checkNFTInfo(nftid)
367+ let isValidNFT = $t01413614194._1
368+ let artId = $t01413614194._2
369+ let creatorAddr = $t01413614194._3
366370 if (!(isValidNFT))
367371 then throw("Something went wrong")
368372 else {
371375 then throw("Sale Not found!")
372376 else {
373377 let bidDataKey = ((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
374- let $t01448514544 = getBidData(bidDataKey)
375- let bidDataArr = $t01448514544._1
376- let assetId = $t01448514544._2
377- let bidData = $t01448514544._3
378+ let $t01453014589 = getBidData(bidDataKey)
379+ let bidDataArr = $t01453014589._1
380+ let assetId = $t01453014589._2
381+ let bidData = $t01453014589._3
378382 let amount = value(parseInt(bidDataArr[1]))
379- let $t01459814725 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
380- let signFee = $t01459814725._1
381- let creatorFee = $t01459814725._2
382- let ownerFee = $t01459814725._3
383- let collectorFee = $t01459814725._4
383+ let $t01464314770 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
384+ let signFee = $t01464314770._1
385+ let creatorFee = $t01464314770._2
386+ let ownerFee = $t01464314770._3
387+ let collectorFee = $t01464314770._4
384388 [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))) + "_") + artId) + "_") + offerOwner) + "_") + offerId)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_to_") + offerOwner)), signFee, creatorFee, ownerFee, collectorFee]
385389 }
386390 }
392396
393397 @Callable(i)
394398 func cancelOffer (nftid,offerId,saleOwner) = {
395- let $t01554515606 = idCallerDate(i)
396- let id = $t01554515606._1
397- let caller = $t01554515606._2
398- let date = $t01554515606._3
399+ let $t01559015651 = idCallerDate(i)
400+ let id = $t01559015651._1
401+ let caller = $t01559015651._2
402+ let date = $t01559015651._3
399403 let bidDataKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
400- let $t01568715746 = getBidData(bidDataKey)
401- let bidDataArr = $t01568715746._1
402- let assetId = $t01568715746._2
403- let bidData = $t01568715746._3
404+ let $t01573215791 = getBidData(bidDataKey)
405+ let bidDataArr = $t01573215791._1
406+ let assetId = $t01573215791._2
407+ let bidData = $t01573215791._3
404408 [DeleteEntry((bidDataKey + "_OPEN")), StringEntry((((((bidDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((bidData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
405409 }
406410
408412
409413 @Callable(i)
410414 func makeRequest (artId,creatorAddr) = {
411- let $t01608116125 = idCallerDate(i)
412- let id = $t01608116125._1
413- let requestOwner = $t01608116125._2
414- let date = $t01608116125._3
415- let $t01613016166 = isPayment(i)
416- let payment = $t01613016166._1
417- let amount = $t01613016166._2
415+ let $t01612616170 = idCallerDate(i)
416+ let id = $t01612616170._1
417+ let requestOwner = $t01612616170._2
418+ let date = $t01612616170._3
419+ let $t01617516211 = isPayment(i)
420+ let payment = $t01617516211._1
421+ let amount = $t01617516211._2
418422 let assetId = if (!(isDefined(payment.assetId)))
419423 then "WAVES"
420424 else toBase58String(value(payment.assetId))
432436
433437 @Callable(i)
434438 func fillRequest (artId,requestOwner,offerId) = {
435- let $t01694116983 = idCallerDate(i)
436- let id = $t01694116983._1
437- let saleOwner = $t01694116983._2
438- let date = $t01694116983._3
439- let $t01698817032 = isPayment(i)
440- let payment = $t01698817032._1
441- let amountAttached = $t01698817032._2
439+ let $t01698617028 = idCallerDate(i)
440+ let id = $t01698617028._1
441+ let saleOwner = $t01698617028._2
442+ let date = $t01698617028._3
443+ let $t01703317077 = isPayment(i)
444+ let payment = $t01703317077._1
445+ let amountAttached = $t01703317077._2
442446 let NFTid = if (if (isDefined(payment.assetId))
443447 then isSignArtNFT(value(payment.assetId))
444448 else false)
455459 then throw("This NFT don't match the requested artwork")
456460 else {
457461 let amount = value(parseInt(requestData[1]))
458- let $t01775217927 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
459- let signFee = $t01775217927._1
460- let creatorFee = $t01775217927._2
461- let ownerFee = $t01775217927._3
462- let collectorFee = $t01775217927._4
462+ let $t01779717972 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
463+ let signFee = $t01779717972._1
464+ let creatorFee = $t01779717972._2
465+ let ownerFee = $t01779717972._3
466+ let collectorFee = $t01779717972._4
463467 [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]
464468 }
465469 }
469473
470474 @Callable(i)
471475 func cancelRequest (artId,creatorAddr,requestId) = {
472- let $t01838718431 = idCallerDate(i)
473- let id = $t01838718431._1
474- let requestOwner = $t01838718431._2
475- let date = $t01838718431._3
476+ let $t01843218476 = idCallerDate(i)
477+ let id = $t01843218476._1
478+ let requestOwner = $t01843218476._2
479+ let date = $t01843218476._3
476480 let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
477481 let requestData = getStrByK((requesDataKey + "_OPEN"))
478482 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 $Tuple3(false, nftData[5], nftData[6])
166166 else $Tuple3(true, nftData[5], 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 $t071147153 = idCallerDate(i)
197197 let id = $t071147153._1
198198 let caller = $t071147153._2
199199 let date = $t071147153._3
200200 let $t071587194 = isPayment(i)
201201 let payment = $t071587194._1
202202 let amount = $t071587194._2
203203 let assetId = if (if (isDefined(payment.assetId))
204204 then isSignArtNFT(value(payment.assetId))
205205 else false)
206206 then payment.assetId
207207 else throw("Only SIGN Art NFT accepted.")
208208 if (!(acceptedAssetIds(asset)))
209209 then throw("Only SIGN, USDN or WAVES accepted")
210210 else {
211211 let $t074747557 = checkNFTInfo(toBase58String(value(assetId)))
212212 let isValidNFT = $t074747557._1
213213 let artId = $t074747557._2
214214 let creatorAddr = $t074747557._3
215215 if (!(isValidNFT))
216216 then throw("Something went wrong")
217217 else [StringEntry((((((("sale2nd_info_" + caller) + "_") + toBase58String(value(payment.assetId))) + "_") + creatorAddr) + "_OPEN"), ((((((((((((toString(date) + "_") + toString(price)) + "_") + asset) + "_") + toBase58String(value(payment.assetId))) + "_") + artId) + "_") + creatorAddr) + "_") + id)), StringEntry(((("sale2nd_status_" + caller) + "_") + toBase58String(value(payment.assetId))), "OPEN"), StringEntry(("current_owner_on_dapp_" + toBase58String(value(payment.assetId))), caller)]
218218 }
219219 }
220220
221221
222222
223223 @Callable(i)
224224 func updateSalePrice (nftid,price,asset) = {
225225 let $t083588397 = idCallerDate(i)
226226 let id = $t083588397._1
227227 let caller = $t083588397._2
228228 let date = $t083588397._3
229229 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
230230 if ((saleOwner != caller))
231231 then throw("You don't own this NFT")
232232 else {
233233 let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftid))
234234 if ((saleStatus != "OPEN"))
235235 then throw("Sale not active")
236236 else {
237237 let creatorAddr = split(getArtStrByK(keyNFTData(nftid)), "_")[6]
238238 let saleInfo = split(getStrByK(((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_") + saleStatus)), "_")
239239 [StringEntry((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_OPEN"), ((((((((((((saleInfo[0] + "_") + toString(price)) + "_") + asset) + "_") + saleInfo[3]) + "_") + saleInfo[4]) + "_") + saleInfo[5]) + "_") + saleInfo[6]))]
240240 }
241241 }
242242 }
243243
244244
245245
246246 @Callable(i)
247247 func cancelSale (nftid) = {
248248 let $t093319370 = idCallerDate(i)
249249 let id = $t093319370._1
250250 let caller = $t093319370._2
251251 let date = $t093319370._3
252252 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
253253 if ((saleOwner != caller))
254254 then throw("You don't own this NFT")
255255 else {
256256 let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftid))
257257 if ((saleStatus != "OPEN"))
258258 then throw("Sale not active")
259259 else {
260260 let creatorAddr = split(getArtStrByK(keyNFTData(nftid)), "_")[6]
261261 let saleInfo = getStrByK(((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_") + saleStatus))
262262 [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))]
263263 }
264264 }
265265 }
266266
267267
268268
269269 @Callable(i)
270270 func buyNFT (nftid) = {
271271 let $t01049910570 = idCallerDate(i)
272272 let id = $t01049910570._1
273273 let caller = $t01049910570._2
274274 let date = $t01049910570._3
275275 let saleOwner = getSaleOwnerAndStatus(nftid)
276276 let $t01062510683 = checkNFTInfo(nftid)
277277 let isValidNFT = $t01062510683._1
278278 let artId = $t01062510683._2
279279 let creatorAddr = $t01062510683._3
280280 if (!(isValidNFT))
281281 then throw("Something went wrong")
282282 else {
283283 let saleInfo = getStrByK((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN"))
284284 if ((size(saleInfo) == 0))
285285 then throw("Sale Not found!")
286286 else {
287287 let saleInfoArray = split(saleInfo, "_")
288288 if ((parseInt(saleInfoArray[1]) == 0))
289289 then throw("Offer only")
290290 else {
291291 let $t01101911055 = isPayment(i)
292292 let payment = $t01101911055._1
293293 let amount = $t01101911055._2
294- if (true)
295- then throw(("toto = " + toBase58String(value(payment.assetId))))
296- else if (if ((saleInfoArray[1] != toString(amount)))
297- then true
298- else (saleInfoArray[2] != toBase58String(value(payment.assetId))))
299- then throw("Payment infos don't match.")
300- else {
301- let amountForSign = fraction(amount, signCut, 100)
302- let amountForCreator = fraction(amount, creatorCut, 100)
303- let amountForOwner = (amount - (amountForSign + amountForCreator))
304- let $t01155811686 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
305- let signFee = $t01155811686._1
306- let creatorFee = $t01155811686._2
307- let ownerFee = $t01155811686._3
308- let collectorFee = $t01155811686._4
294+ if (if (if ((saleInfoArray[1] != toString(amount)))
295+ then true
296+ else if (isDefined(payment.assetId))
297+ then (saleInfoArray[2] != toBase58String(value(payment.assetId)))
298+ else false)
299+ then true
300+ else if (!(isDefined(payment.assetId)))
301+ then (saleInfoArray[2] != "")
302+ else false)
303+ then throw("Payment infos don't match.")
304+ else {
305+ let amountForSign = fraction(amount, signCut, 100)
306+ let amountForCreator = fraction(amount, creatorCut, 100)
307+ let amountForOwner = (amount - (amountForSign + amountForCreator))
308+ let $t01160311731 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
309+ let signFee = $t01160311731._1
310+ let creatorFee = $t01160311731._2
311+ let ownerFee = $t01160311731._3
312+ let collectorFee = $t01160311731._4
309313 [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))) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_to_") + caller) + "_") + saleInfoArray[6])), signFee, creatorFee, ownerFee, collectorFee]
310- }
314+ }
311315 }
312316 }
313317 }
314318 }
315319
316320
317321
318322 @Callable(i)
319323 func setOffer (nftid) = {
320- let $t01283112873 = idCallerDate(i)
321- let id = $t01283112873._1
322- let offerOwner = $t01283112873._2
323- let date = $t01283112873._3
324- let $t01287812914 = isPayment(i)
325- let payment = $t01287812914._1
326- let amount = $t01287812914._2
324+ let $t01287612918 = idCallerDate(i)
325+ let id = $t01287612918._1
326+ let offerOwner = $t01287612918._2
327+ let date = $t01287612918._3
328+ let $t01292312959 = isPayment(i)
329+ let payment = $t01292312959._1
330+ let amount = $t01292312959._2
327331 let assetId = if (!(isDefined(payment.assetId)))
328332 then "WAVES"
329333 else toBase58String(value(payment.assetId))
330334 if (!(acceptedAssetIds(assetId)))
331335 then throw("asset not accepted")
332336 else {
333- let $t01310013158 = checkNFTInfo(nftid)
334- let isValidNFT = $t01310013158._1
335- let artId = $t01310013158._2
336- let creatorAddr = $t01310013158._3
337+ let $t01314513203 = checkNFTInfo(nftid)
338+ let isValidNFT = $t01314513203._1
339+ let artId = $t01314513203._2
340+ let creatorAddr = $t01314513203._3
337341 if (!(isValidNFT))
338342 then throw("Something went wrong")
339343 else {
340344 let saleOwner = getSaleOwnerAndStatus(nftid)
341345 [StringEntry((((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + id) + "_OPEN"), ((((((((((toString(date) + "_") + toString(amount)) + "_") + assetId) + "_") + artId) + "_") + offerOwner) + "_") + id))]
342346 }
343347 }
344348 }
345349
346350
347351
348352 @Callable(i)
349353 func acceptOffer (nftid,offerId,offerOwner) = {
350- let $t01371613786 = idCallerDate(i)
351- let id = $t01371613786._1
352- let caller = $t01371613786._2
353- let date = $t01371613786._3
354+ let $t01376113831 = idCallerDate(i)
355+ let id = $t01376113831._1
356+ let caller = $t01376113831._2
357+ let date = $t01376113831._3
354358 let saleOwner = getSaleOwnerAndStatus(nftid)
355359 if ((caller != saleOwner))
356360 then throw("You cannot do this action")
357361 else {
358362 let offerExist = getStrByK((((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId) + "_OPEN"))
359363 if ((offerExist == ""))
360364 then throw("Offer not found or not for sale")
361365 else {
362- let $t01409114149 = checkNFTInfo(nftid)
363- let isValidNFT = $t01409114149._1
364- let artId = $t01409114149._2
365- let creatorAddr = $t01409114149._3
366+ let $t01413614194 = checkNFTInfo(nftid)
367+ let isValidNFT = $t01413614194._1
368+ let artId = $t01413614194._2
369+ let creatorAddr = $t01413614194._3
366370 if (!(isValidNFT))
367371 then throw("Something went wrong")
368372 else {
369373 let saleInfo = getStrByK((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN"))
370374 if ((size(saleInfo) == 0))
371375 then throw("Sale Not found!")
372376 else {
373377 let bidDataKey = ((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
374- let $t01448514544 = getBidData(bidDataKey)
375- let bidDataArr = $t01448514544._1
376- let assetId = $t01448514544._2
377- let bidData = $t01448514544._3
378+ let $t01453014589 = getBidData(bidDataKey)
379+ let bidDataArr = $t01453014589._1
380+ let assetId = $t01453014589._2
381+ let bidData = $t01453014589._3
378382 let amount = value(parseInt(bidDataArr[1]))
379- let $t01459814725 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
380- let signFee = $t01459814725._1
381- let creatorFee = $t01459814725._2
382- let ownerFee = $t01459814725._3
383- let collectorFee = $t01459814725._4
383+ let $t01464314770 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
384+ let signFee = $t01464314770._1
385+ let creatorFee = $t01464314770._2
386+ let ownerFee = $t01464314770._3
387+ let collectorFee = $t01464314770._4
384388 [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))) + "_") + artId) + "_") + offerOwner) + "_") + offerId)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_to_") + offerOwner)), signFee, creatorFee, ownerFee, collectorFee]
385389 }
386390 }
387391 }
388392 }
389393 }
390394
391395
392396
393397 @Callable(i)
394398 func cancelOffer (nftid,offerId,saleOwner) = {
395- let $t01554515606 = idCallerDate(i)
396- let id = $t01554515606._1
397- let caller = $t01554515606._2
398- let date = $t01554515606._3
399+ let $t01559015651 = idCallerDate(i)
400+ let id = $t01559015651._1
401+ let caller = $t01559015651._2
402+ let date = $t01559015651._3
399403 let bidDataKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
400- let $t01568715746 = getBidData(bidDataKey)
401- let bidDataArr = $t01568715746._1
402- let assetId = $t01568715746._2
403- let bidData = $t01568715746._3
404+ let $t01573215791 = getBidData(bidDataKey)
405+ let bidDataArr = $t01573215791._1
406+ let assetId = $t01573215791._2
407+ let bidData = $t01573215791._3
404408 [DeleteEntry((bidDataKey + "_OPEN")), StringEntry((((((bidDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((bidData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
405409 }
406410
407411
408412
409413 @Callable(i)
410414 func makeRequest (artId,creatorAddr) = {
411- let $t01608116125 = idCallerDate(i)
412- let id = $t01608116125._1
413- let requestOwner = $t01608116125._2
414- let date = $t01608116125._3
415- let $t01613016166 = isPayment(i)
416- let payment = $t01613016166._1
417- let amount = $t01613016166._2
415+ let $t01612616170 = idCallerDate(i)
416+ let id = $t01612616170._1
417+ let requestOwner = $t01612616170._2
418+ let date = $t01612616170._3
419+ let $t01617516211 = isPayment(i)
420+ let payment = $t01617516211._1
421+ let amount = $t01617516211._2
418422 let assetId = if (!(isDefined(payment.assetId)))
419423 then "WAVES"
420424 else toBase58String(value(payment.assetId))
421425 if (!(acceptedAssetIds(assetId)))
422426 then throw("asset not accepted")
423427 else {
424428 let isValidART = checkARTExist(artId, creatorAddr)
425429 if (!(isValidART))
426430 then throw("Something went wrong")
427431 else [StringEntry((((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + id) + "_OPEN"), ((((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(payment.assetId))) + "_") + artId) + "_") + requestOwner) + "_") + id))]
428432 }
429433 }
430434
431435
432436
433437 @Callable(i)
434438 func fillRequest (artId,requestOwner,offerId) = {
435- let $t01694116983 = idCallerDate(i)
436- let id = $t01694116983._1
437- let saleOwner = $t01694116983._2
438- let date = $t01694116983._3
439- let $t01698817032 = isPayment(i)
440- let payment = $t01698817032._1
441- let amountAttached = $t01698817032._2
439+ let $t01698617028 = idCallerDate(i)
440+ let id = $t01698617028._1
441+ let saleOwner = $t01698617028._2
442+ let date = $t01698617028._3
443+ let $t01703317077 = isPayment(i)
444+ let payment = $t01703317077._1
445+ let amountAttached = $t01703317077._2
442446 let NFTid = if (if (isDefined(payment.assetId))
443447 then isSignArtNFT(value(payment.assetId))
444448 else false)
445449 then payment.assetId
446450 else throw("No NFT found")
447451 let NFTdata = split(getArtStrByK(("nft_" + toBase58String(value(NFTid)))), "_")
448452 if ((size(NFTdata) == 0))
449453 then throw("No NFT found")
450454 else {
451455 let requestData = split(getStrByK((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_OPEN")), "_")
452456 if ((size(requestData) == 1))
453457 then throw("No request found")
454458 else if ((requestData[3] != NFTdata[5]))
455459 then throw("This NFT don't match the requested artwork")
456460 else {
457461 let amount = value(parseInt(requestData[1]))
458- let $t01775217927 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
459- let signFee = $t01775217927._1
460- let creatorFee = $t01775217927._2
461- let ownerFee = $t01775217927._3
462- let collectorFee = $t01775217927._4
462+ let $t01779717972 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
463+ let signFee = $t01779717972._1
464+ let creatorFee = $t01779717972._2
465+ let ownerFee = $t01779717972._3
466+ let collectorFee = $t01779717972._4
463467 [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]
464468 }
465469 }
466470 }
467471
468472
469473
470474 @Callable(i)
471475 func cancelRequest (artId,creatorAddr,requestId) = {
472- let $t01838718431 = idCallerDate(i)
473- let id = $t01838718431._1
474- let requestOwner = $t01838718431._2
475- let date = $t01838718431._3
476+ let $t01843218476 = idCallerDate(i)
477+ let id = $t01843218476._1
478+ let requestOwner = $t01843218476._2
479+ let date = $t01843218476._3
476480 let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
477481 let requestData = getStrByK((requesDataKey + "_OPEN"))
478482 if ((size(requestData) == 0))
479483 then throw("Request not found")
480484 else {
481485 let requestDataArr = split(requestData, "_")
482486 [DeleteEntry((requesDataKey + "_OPEN")), StringEntry((((((requesDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((requestData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(requestOwner)), parseIntValue(requestDataArr[1]), fromBase58String(requestDataArr[2]))]
483487 }
484488 }
485489
486490
487491
488492 @Callable(i)
489493 func deleteEntry (entry) = {
490494 let caller = toString(addressFromPublicKey(i.callerPublicKey))
491495 if ((caller == chris))
492496 then [DeleteEntry(entry)]
493497 else throw("no")
494498 }
495499
496500

github/deemru/w8io/169f3d6 
96.38 ms