tx · AZxXChFpKkShpT15BmbYNGweaHRUESttLY4K5935nzYF

3MqfdyT9j2zFTipyF1rCU1h4zK2ya78uE7U:  -0.01400000 Waves

2021.06.04 13:59 [1555545] smart account 3MqfdyT9j2zFTipyF1rCU1h4zK2ya78uE7U > SELF 0.00000000 Waves

{ "type": 13, "id": "AZxXChFpKkShpT15BmbYNGweaHRUESttLY4K5935nzYF", "fee": 1400000, "feeAssetId": null, "timestamp": 1622804436008, "version": 2, "chainId": 84, "sender": "3MqfdyT9j2zFTipyF1rCU1h4zK2ya78uE7U", "senderPublicKey": "2c2PB7n2qxoCMWyizek5v76mM3GFmZ2CykxKxK7rJet5", "proofs": [ "3ksdDudAo3UAHgQEhwmHRsQWKrr6bHmhtb5craepiRtCdxKs19Kvo5Baxf1yidZ9t78TL5c1KpTmpfQRxJxuPGzp" ], "script": "base64:AAIEAAAAAAAAAEUIAhIECgIBCBIFCgMIAQgSAwoBCBIDCgEIEgMKAQgSBQoDCAgIEgUKAwgICBIECgIICBIFCgMICAgSBQoDCAgIEgMKAQgAAAAoAAAAAAh1bml0VGVzdAcAAAAACW9yYWNsZUZlZQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjJzNVJ0YUhQQmVuQ3N4MkVDY29GUmJZSHgzbm9aaFhXMQAAAAAIc2lnbkRhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM05DMjhoU2l2cm1zVFVYYVlEMXg2TDM2Mko0WnBVbm9UZEIAAAAADGFydHdvcmtzRGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTkJ5bmZiWEMyS2FzdFV4aHVrY01VYUU1OEs5Y0JkQjlVWQAAAAALZmVlUmVjZWl2ZXICAAAAIzNOMUU2dFhkZFJvVmFSZlE5ZFEzdmc1TGFXMmZzZDhIS3ViAAAAAAh1c2VyRGFwcAMFAAAACHVuaXRUZXN0CQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNNdDRSR01FeWpTV1lBb2NUUHFkNTV3ZEhRUUIzUFUyVUNtCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOOHhYYVlqRTI3QWE3OWQ1aEhyaEh1OUhhRm9UQm1oREVqAAAAAA13aGl0ZWxpc3REYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNONkJhVjFkQ0I0emc0M2dvTk5IYUN0dlIxM0JjeUo1R3NxAAAAAAtzaWduQXNzZXRJZAEAAAAg6KVqvMp3QvJwYTI1Sk9Fg7m5HuWZZxfDcerZC6EEresAAAAAC3VzZG5Bc3NldElkAQAAACAP8hwSrOTEPJrsRhqrJaiw7LoHK0bMbYhy8LXikkkBtAAAAAAMd2F2ZXNBc3NldElkAQAAAAAAAAAABWNocmlzAgAAACMzTXNHNmpQTkNyVkpVdFlCN1hKQnhTN3V0V3NYQWY0bjlWcAAAAAAEam9lcAIAAAAjM016bTRWTHdzTjl1WndiVE16UGozWHV4VjZrRWZBUjhVRE4AAAAAB3NpZ25DdXQAAAAAAAAAAAMAAAAACmNyZWF0b3JDdXQAAAAAAAAAAAoAAAAAC2Rh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", "height": 1555545, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GxKVvhsurwjrNLAJGUTX62pa5bYGNmce2uuz1p3VAz5d Next: none Diff:
OldNewDifferences
298298 then true
299299 else (saleInfoArray[2] != paymentAssetStr))
300300 then throw("Payment infos don't match.")
301- else if (true)
302- then throw("toto")
303- else {
304- let amountForSign = fraction(amount, signCut, 100)
305- let amountForCreator = fraction(amount, creatorCut, 100)
306- let amountForOwner = (amount - (amountForSign + amountForCreator))
307- let $t01160011728 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
308- let signFee = $t01160011728._1
309- let creatorFee = $t01160011728._2
310- let ownerFee = $t01160011728._3
311- let collectorFee = $t01160011728._4
301+ else {
302+ let amountForSign = fraction(amount, signCut, 100)
303+ let amountForCreator = fraction(amount, creatorCut, 100)
304+ let amountForOwner = (amount - (amountForSign + amountForCreator))
305+ let $t01156411692 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
306+ let signFee = $t01156411692._1
307+ let creatorFee = $t01156411692._2
308+ let ownerFee = $t01156411692._3
309+ let collectorFee = $t01156411692._4
312310 [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)) + "_") + paymentAssetStr) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_to_") + caller) + "_") + saleInfoArray[6])), signFee, creatorFee, ownerFee, collectorFee]
313- }
311+ }
314312 }
315313 }
316314 }
320318
321319 @Callable(i)
322320 func setOffer (nftid) = {
323- let $t01285012892 = idCallerDate(i)
324- let id = $t01285012892._1
325- let offerOwner = $t01285012892._2
326- let date = $t01285012892._3
327- let $t01289712933 = isPayment(i)
328- let payment = $t01289712933._1
329- let amount = $t01289712933._2
321+ let $t01281412856 = idCallerDate(i)
322+ let id = $t01281412856._1
323+ let offerOwner = $t01281412856._2
324+ let date = $t01281412856._3
325+ let $t01286112897 = isPayment(i)
326+ let payment = $t01286112897._1
327+ let amount = $t01286112897._2
330328 let assetId = if (!(isDefined(payment.assetId)))
331329 then "WAVES"
332330 else toBase58String(value(payment.assetId))
333331 if (!(acceptedAssetIds(assetId)))
334332 then throw("asset not accepted")
335333 else {
336- let $t01311913177 = checkNFTInfo(nftid)
337- let isValidNFT = $t01311913177._1
338- let artId = $t01311913177._2
339- let creatorAddr = $t01311913177._3
334+ let $t01308313141 = checkNFTInfo(nftid)
335+ let isValidNFT = $t01308313141._1
336+ let artId = $t01308313141._2
337+ let creatorAddr = $t01308313141._3
340338 if (!(isValidNFT))
341339 then throw("Something went wrong")
342340 else {
350348
351349 @Callable(i)
352350 func acceptOffer (nftid,offerId,offerOwner) = {
353- let $t01373513805 = idCallerDate(i)
354- let id = $t01373513805._1
355- let caller = $t01373513805._2
356- let date = $t01373513805._3
351+ let $t01369913769 = idCallerDate(i)
352+ let id = $t01369913769._1
353+ let caller = $t01369913769._2
354+ let date = $t01369913769._3
357355 let saleOwner = getSaleOwnerAndStatus(nftid)
358356 if ((caller != saleOwner))
359357 then throw("You cannot do this action")
362360 if ((offerExist == ""))
363361 then throw("Offer not found or not for sale")
364362 else {
365- let $t01411014168 = checkNFTInfo(nftid)
366- let isValidNFT = $t01411014168._1
367- let artId = $t01411014168._2
368- let creatorAddr = $t01411014168._3
363+ let $t01407414132 = checkNFTInfo(nftid)
364+ let isValidNFT = $t01407414132._1
365+ let artId = $t01407414132._2
366+ let creatorAddr = $t01407414132._3
369367 if (!(isValidNFT))
370368 then throw("Something went wrong")
371369 else {
374372 then throw("Sale Not found!")
375373 else {
376374 let bidDataKey = ((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
377- let $t01450414563 = getBidData(bidDataKey)
378- let bidDataArr = $t01450414563._1
379- let assetId = $t01450414563._2
380- let bidData = $t01450414563._3
375+ let $t01446814527 = getBidData(bidDataKey)
376+ let bidDataArr = $t01446814527._1
377+ let assetId = $t01446814527._2
378+ let bidData = $t01446814527._3
381379 let amount = value(parseInt(bidDataArr[1]))
382- let $t01461714744 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
383- let signFee = $t01461714744._1
384- let creatorFee = $t01461714744._2
385- let ownerFee = $t01461714744._3
386- let collectorFee = $t01461714744._4
380+ let $t01458114708 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
381+ let signFee = $t01458114708._1
382+ let creatorFee = $t01458114708._2
383+ let ownerFee = $t01458114708._3
384+ let collectorFee = $t01458114708._4
387385 [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]
388386 }
389387 }
395393
396394 @Callable(i)
397395 func cancelOffer (nftid,offerId,saleOwner) = {
398- let $t01556415625 = idCallerDate(i)
399- let id = $t01556415625._1
400- let caller = $t01556415625._2
401- let date = $t01556415625._3
396+ let $t01552815589 = idCallerDate(i)
397+ let id = $t01552815589._1
398+ let caller = $t01552815589._2
399+ let date = $t01552815589._3
402400 let bidDataKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
403- let $t01570615765 = getBidData(bidDataKey)
404- let bidDataArr = $t01570615765._1
405- let assetId = $t01570615765._2
406- let bidData = $t01570615765._3
401+ let $t01567015729 = getBidData(bidDataKey)
402+ let bidDataArr = $t01567015729._1
403+ let assetId = $t01567015729._2
404+ let bidData = $t01567015729._3
407405 [DeleteEntry((bidDataKey + "_OPEN")), StringEntry((((((bidDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((bidData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
408406 }
409407
411409
412410 @Callable(i)
413411 func makeRequest (artId,creatorAddr) = {
414- let $t01610016144 = idCallerDate(i)
415- let id = $t01610016144._1
416- let requestOwner = $t01610016144._2
417- let date = $t01610016144._3
418- let $t01614916185 = isPayment(i)
419- let payment = $t01614916185._1
420- let amount = $t01614916185._2
412+ let $t01606416108 = idCallerDate(i)
413+ let id = $t01606416108._1
414+ let requestOwner = $t01606416108._2
415+ let date = $t01606416108._3
416+ let $t01611316149 = isPayment(i)
417+ let payment = $t01611316149._1
418+ let amount = $t01611316149._2
421419 let assetId = if (!(isDefined(payment.assetId)))
422420 then "WAVES"
423421 else toBase58String(value(payment.assetId))
435433
436434 @Callable(i)
437435 func fillRequest (artId,requestOwner,offerId) = {
438- let $t01696017002 = idCallerDate(i)
439- let id = $t01696017002._1
440- let saleOwner = $t01696017002._2
441- let date = $t01696017002._3
442- let $t01700717051 = isPayment(i)
443- let payment = $t01700717051._1
444- let amountAttached = $t01700717051._2
436+ let $t01692416966 = idCallerDate(i)
437+ let id = $t01692416966._1
438+ let saleOwner = $t01692416966._2
439+ let date = $t01692416966._3
440+ let $t01697117015 = isPayment(i)
441+ let payment = $t01697117015._1
442+ let amountAttached = $t01697117015._2
445443 let NFTid = if (if (isDefined(payment.assetId))
446444 then isSignArtNFT(value(payment.assetId))
447445 else false)
458456 then throw("This NFT don't match the requested artwork")
459457 else {
460458 let amount = value(parseInt(requestData[1]))
461- let $t01777117946 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
462- let signFee = $t01777117946._1
463- let creatorFee = $t01777117946._2
464- let ownerFee = $t01777117946._3
465- let collectorFee = $t01777117946._4
459+ let $t01773517910 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
460+ let signFee = $t01773517910._1
461+ let creatorFee = $t01773517910._2
462+ let ownerFee = $t01773517910._3
463+ let collectorFee = $t01773517910._4
466464 [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]
467465 }
468466 }
472470
473471 @Callable(i)
474472 func cancelRequest (artId,creatorAddr,requestId) = {
475- let $t01840618450 = idCallerDate(i)
476- let id = $t01840618450._1
477- let requestOwner = $t01840618450._2
478- let date = $t01840618450._3
473+ let $t01837018414 = idCallerDate(i)
474+ let id = $t01837018414._1
475+ let requestOwner = $t01837018414._2
476+ let date = $t01837018414._3
479477 let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
480478 let requestData = getStrByK((requesDataKey + "_OPEN"))
481479 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
294294 let paymentAssetStr = if (isDefined(payment.assetId))
295295 then toBase58String(value(payment.assetId))
296296 else ""
297297 if (if ((saleInfoArray[1] != toString(amount)))
298298 then true
299299 else (saleInfoArray[2] != paymentAssetStr))
300300 then throw("Payment infos don't match.")
301- else if (true)
302- then throw("toto")
303- else {
304- let amountForSign = fraction(amount, signCut, 100)
305- let amountForCreator = fraction(amount, creatorCut, 100)
306- let amountForOwner = (amount - (amountForSign + amountForCreator))
307- let $t01160011728 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
308- let signFee = $t01160011728._1
309- let creatorFee = $t01160011728._2
310- let ownerFee = $t01160011728._3
311- let collectorFee = $t01160011728._4
301+ else {
302+ let amountForSign = fraction(amount, signCut, 100)
303+ let amountForCreator = fraction(amount, creatorCut, 100)
304+ let amountForOwner = (amount - (amountForSign + amountForCreator))
305+ let $t01156411692 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
306+ let signFee = $t01156411692._1
307+ let creatorFee = $t01156411692._2
308+ let ownerFee = $t01156411692._3
309+ let collectorFee = $t01156411692._4
312310 [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)) + "_") + paymentAssetStr) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_to_") + caller) + "_") + saleInfoArray[6])), signFee, creatorFee, ownerFee, collectorFee]
313- }
311+ }
314312 }
315313 }
316314 }
317315 }
318316
319317
320318
321319 @Callable(i)
322320 func setOffer (nftid) = {
323- let $t01285012892 = idCallerDate(i)
324- let id = $t01285012892._1
325- let offerOwner = $t01285012892._2
326- let date = $t01285012892._3
327- let $t01289712933 = isPayment(i)
328- let payment = $t01289712933._1
329- let amount = $t01289712933._2
321+ let $t01281412856 = idCallerDate(i)
322+ let id = $t01281412856._1
323+ let offerOwner = $t01281412856._2
324+ let date = $t01281412856._3
325+ let $t01286112897 = isPayment(i)
326+ let payment = $t01286112897._1
327+ let amount = $t01286112897._2
330328 let assetId = if (!(isDefined(payment.assetId)))
331329 then "WAVES"
332330 else toBase58String(value(payment.assetId))
333331 if (!(acceptedAssetIds(assetId)))
334332 then throw("asset not accepted")
335333 else {
336- let $t01311913177 = checkNFTInfo(nftid)
337- let isValidNFT = $t01311913177._1
338- let artId = $t01311913177._2
339- let creatorAddr = $t01311913177._3
334+ let $t01308313141 = checkNFTInfo(nftid)
335+ let isValidNFT = $t01308313141._1
336+ let artId = $t01308313141._2
337+ let creatorAddr = $t01308313141._3
340338 if (!(isValidNFT))
341339 then throw("Something went wrong")
342340 else {
343341 let saleOwner = getSaleOwnerAndStatus(nftid)
344342 [StringEntry((((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + id) + "_OPEN"), ((((((((((toString(date) + "_") + toString(amount)) + "_") + assetId) + "_") + artId) + "_") + offerOwner) + "_") + id))]
345343 }
346344 }
347345 }
348346
349347
350348
351349 @Callable(i)
352350 func acceptOffer (nftid,offerId,offerOwner) = {
353- let $t01373513805 = idCallerDate(i)
354- let id = $t01373513805._1
355- let caller = $t01373513805._2
356- let date = $t01373513805._3
351+ let $t01369913769 = idCallerDate(i)
352+ let id = $t01369913769._1
353+ let caller = $t01369913769._2
354+ let date = $t01369913769._3
357355 let saleOwner = getSaleOwnerAndStatus(nftid)
358356 if ((caller != saleOwner))
359357 then throw("You cannot do this action")
360358 else {
361359 let offerExist = getStrByK((((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId) + "_OPEN"))
362360 if ((offerExist == ""))
363361 then throw("Offer not found or not for sale")
364362 else {
365- let $t01411014168 = checkNFTInfo(nftid)
366- let isValidNFT = $t01411014168._1
367- let artId = $t01411014168._2
368- let creatorAddr = $t01411014168._3
363+ let $t01407414132 = checkNFTInfo(nftid)
364+ let isValidNFT = $t01407414132._1
365+ let artId = $t01407414132._2
366+ let creatorAddr = $t01407414132._3
369367 if (!(isValidNFT))
370368 then throw("Something went wrong")
371369 else {
372370 let saleInfo = getStrByK((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN"))
373371 if ((size(saleInfo) == 0))
374372 then throw("Sale Not found!")
375373 else {
376374 let bidDataKey = ((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
377- let $t01450414563 = getBidData(bidDataKey)
378- let bidDataArr = $t01450414563._1
379- let assetId = $t01450414563._2
380- let bidData = $t01450414563._3
375+ let $t01446814527 = getBidData(bidDataKey)
376+ let bidDataArr = $t01446814527._1
377+ let assetId = $t01446814527._2
378+ let bidData = $t01446814527._3
381379 let amount = value(parseInt(bidDataArr[1]))
382- let $t01461714744 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
383- let signFee = $t01461714744._1
384- let creatorFee = $t01461714744._2
385- let ownerFee = $t01461714744._3
386- let collectorFee = $t01461714744._4
380+ let $t01458114708 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[3])
381+ let signFee = $t01458114708._1
382+ let creatorFee = $t01458114708._2
383+ let ownerFee = $t01458114708._3
384+ let collectorFee = $t01458114708._4
387385 [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]
388386 }
389387 }
390388 }
391389 }
392390 }
393391
394392
395393
396394 @Callable(i)
397395 func cancelOffer (nftid,offerId,saleOwner) = {
398- let $t01556415625 = idCallerDate(i)
399- let id = $t01556415625._1
400- let caller = $t01556415625._2
401- let date = $t01556415625._3
396+ let $t01552815589 = idCallerDate(i)
397+ let id = $t01552815589._1
398+ let caller = $t01552815589._2
399+ let date = $t01552815589._3
402400 let bidDataKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
403- let $t01570615765 = getBidData(bidDataKey)
404- let bidDataArr = $t01570615765._1
405- let assetId = $t01570615765._2
406- let bidData = $t01570615765._3
401+ let $t01567015729 = getBidData(bidDataKey)
402+ let bidDataArr = $t01567015729._1
403+ let assetId = $t01567015729._2
404+ let bidData = $t01567015729._3
407405 [DeleteEntry((bidDataKey + "_OPEN")), StringEntry((((((bidDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((bidData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
408406 }
409407
410408
411409
412410 @Callable(i)
413411 func makeRequest (artId,creatorAddr) = {
414- let $t01610016144 = idCallerDate(i)
415- let id = $t01610016144._1
416- let requestOwner = $t01610016144._2
417- let date = $t01610016144._3
418- let $t01614916185 = isPayment(i)
419- let payment = $t01614916185._1
420- let amount = $t01614916185._2
412+ let $t01606416108 = idCallerDate(i)
413+ let id = $t01606416108._1
414+ let requestOwner = $t01606416108._2
415+ let date = $t01606416108._3
416+ let $t01611316149 = isPayment(i)
417+ let payment = $t01611316149._1
418+ let amount = $t01611316149._2
421419 let assetId = if (!(isDefined(payment.assetId)))
422420 then "WAVES"
423421 else toBase58String(value(payment.assetId))
424422 if (!(acceptedAssetIds(assetId)))
425423 then throw("asset not accepted")
426424 else {
427425 let isValidART = checkARTExist(artId, creatorAddr)
428426 if (!(isValidART))
429427 then throw("Something went wrong")
430428 else [StringEntry((((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + id) + "_OPEN"), ((((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(payment.assetId))) + "_") + artId) + "_") + requestOwner) + "_") + id))]
431429 }
432430 }
433431
434432
435433
436434 @Callable(i)
437435 func fillRequest (artId,requestOwner,offerId) = {
438- let $t01696017002 = idCallerDate(i)
439- let id = $t01696017002._1
440- let saleOwner = $t01696017002._2
441- let date = $t01696017002._3
442- let $t01700717051 = isPayment(i)
443- let payment = $t01700717051._1
444- let amountAttached = $t01700717051._2
436+ let $t01692416966 = idCallerDate(i)
437+ let id = $t01692416966._1
438+ let saleOwner = $t01692416966._2
439+ let date = $t01692416966._3
440+ let $t01697117015 = isPayment(i)
441+ let payment = $t01697117015._1
442+ let amountAttached = $t01697117015._2
445443 let NFTid = if (if (isDefined(payment.assetId))
446444 then isSignArtNFT(value(payment.assetId))
447445 else false)
448446 then payment.assetId
449447 else throw("No NFT found")
450448 let NFTdata = split(getArtStrByK(("nft_" + toBase58String(value(NFTid)))), "_")
451449 if ((size(NFTdata) == 0))
452450 then throw("No NFT found")
453451 else {
454452 let requestData = split(getStrByK((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_OPEN")), "_")
455453 if ((size(requestData) == 1))
456454 then throw("No request found")
457455 else if ((requestData[3] != NFTdata[5]))
458456 then throw("This NFT don't match the requested artwork")
459457 else {
460458 let amount = value(parseInt(requestData[1]))
461- let $t01777117946 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
462- let signFee = $t01777117946._1
463- let creatorFee = $t01777117946._2
464- let ownerFee = $t01777117946._3
465- let collectorFee = $t01777117946._4
459+ let $t01773517910 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
460+ let signFee = $t01773517910._1
461+ let creatorFee = $t01773517910._2
462+ let ownerFee = $t01773517910._3
463+ let collectorFee = $t01773517910._4
466464 [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]
467465 }
468466 }
469467 }
470468
471469
472470
473471 @Callable(i)
474472 func cancelRequest (artId,creatorAddr,requestId) = {
475- let $t01840618450 = idCallerDate(i)
476- let id = $t01840618450._1
477- let requestOwner = $t01840618450._2
478- let date = $t01840618450._3
473+ let $t01837018414 = idCallerDate(i)
474+ let id = $t01837018414._1
475+ let requestOwner = $t01837018414._2
476+ let date = $t01837018414._3
479477 let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
480478 let requestData = getStrByK((requesDataKey + "_OPEN"))
481479 if ((size(requestData) == 0))
482480 then throw("Request not found")
483481 else {
484482 let requestDataArr = split(requestData, "_")
485483 [DeleteEntry((requesDataKey + "_OPEN")), StringEntry((((((requesDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((requestData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(requestOwner)), parseIntValue(requestDataArr[1]), fromBase58String(requestDataArr[2]))]
486484 }
487485 }
488486
489487
490488
491489 @Callable(i)
492490 func deleteEntry (entry) = {
493491 let caller = toString(addressFromPublicKey(i.callerPublicKey))
494492 if ((caller == chris))
495493 then [DeleteEntry(entry)]
496494 else throw("no")
497495 }
498496
499497

github/deemru/w8io/169f3d6 
103.04 ms