tx · 6LBPAdMixfvXfruN2YPwgs4BdDDcASKuCPoZT9Sajk5Y

3MvRrtaNUTXEr3TsFo1VwKAaCzRNwax2qTW:  -0.01400000 Waves

2021.06.05 12:43 [1556896] smart account 3MvRrtaNUTXEr3TsFo1VwKAaCzRNwax2qTW > SELF 0.00000000 Waves

{ "type": 13, "id": "6LBPAdMixfvXfruN2YPwgs4BdDDcASKuCPoZT9Sajk5Y", "fee": 1400000, "feeAssetId": null, "timestamp": 1622886277732, "version": 2, "chainId": 84, "sender": "3MvRrtaNUTXEr3TsFo1VwKAaCzRNwax2qTW", "senderPublicKey": "FsMs9CVJ5jgdkgZZesrG9bjYDT3dP93rRFDYGmiQaZYh", "proofs": [ "4Wyy62w9uuPx2Ycqsda4G2szzYN868Zzt5y3biZcJt176gnqFcv1sDx2MGCHLjwM4vakBudBrvBsh4mjfGEDFaaN" ], "script": "base64:AAIEAAAAAAAAAEUIAhIECgIBCBIFCgMIAQgSAwoBCBIDCgEIEgMKAQgSBQoDCAgIEgUKAwgICBIECgIICBIFCgMICAgSBQoDCAgIEgMKAQgAAAAoAAAAAAh1bml0VGVzdAcAAAAACW9yYWNsZUZlZQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjJzNVJ0YUhQQmVuQ3N4MkVDY29GUmJZSHgzbm9aaFhXMQAAAAAIc2lnbkRhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM05DMjhoU2l2cm1zVFVYYVlEMXg2TDM2Mko0WnBVbm9UZEIAAAAADGFydHdvcmtzRGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTkJ5bmZiWEMyS2FzdFV4aHVrY01VYUU1OEs5Y0JkQjlVWQAAAAALZmVlUmVjZWl2ZXICAAAAIzNOMUU2dFhkZFJvVmFSZlE5ZFEzdmc1TGFXMmZzZDhIS3ViAAAAAAh1c2VyRGFwcAMFAAAACHVuaXRUZXN0CQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNNdDRSR01FeWpTV1lBb2NUUHFkNTV3ZEhRUUIzUFUyVUNtCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOOHhYYVlqRTI3QWE3OWQ1aEhyaEh1OUhhRm9UQm1oREVqAAAAAA13aGl0ZWxpc3REYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNONkJhVjFkQ0I0emc0M2dvTk5IYUN0dlIxM0JjeUo1R3NxAAAAAAtzaWduQXNzZXRJZAEAAAAg6KVqvMp3QvJwYTI1Sk9Fg7m5HuWZZxfDcerZC6EEresAAAAAC3VzZG5Bc3NldElkAQAAACAP8hwSrOTEPJrsRhqrJaiw7LoHK0bMbYhy8LXikkkBtAAAAAAMd2F2ZXNBc3NldElkAQAAAAAAAAAABWNocmlzAgAAACMzTXNHNmpQTkNyVkpVdFlCN1hKQnhTN3V0V3NYQWY0bjlWcAAAAAAEam9lcAIAAAAjM016bTRWTHdzTjl1WndiVE16UGozWHV4VjZrRWZBUjhVRE4AAAAAB3NpZ25DdXQAAAAAAAAAAAMAAAAACmNyZWF0b3JDdXQAAAAAAAAAAAoAAAAAC2Rh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", "height": 1556896, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 25cF4RGPWWFcgMQb5NQoEs2LSip2pNNbzfLXD8va9L7p Next: none Diff:
OldNewDifferences
384384 let creatorFee = $t01373113858._2
385385 let ownerFee = $t01373113858._3
386386 let collectorFee = $t01373113858._4
387-[DeleteEntry((saleKey + "_OPEN")), DeleteEntry((bidKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((bidKey + "_CLOSED"), bidValue), StringEntry((((saleKey + "_") + id) + "_CLOSED"), ((((((((((((((((((saleValArr[0] + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_") + offerOwner) + "_CLOSED_") + toString(date)) + "_") + id) + "_") + offerOwner)), signFee, creatorFee, ownerFee, collectorFee]
387+[DeleteEntry((saleKey + "_OPEN")), DeleteEntry((bidKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((bidKey + "_CLOSED"), bidValue), StringEntry((((saleKey + "_") + id) + "_CLOSED"), ((((((((((makeString(saleValArr, "_") + "_CLOSED-OFFER_") + toString(date)) + "_") + id) + "_") + offerOwner) + "_") + toString(amount)) + "_") + toBase58String(value(assetId)))), signFee, creatorFee, ownerFee, collectorFee]
388388 }
389389 }
390390 }
395395
396396 @Callable(i)
397397 func cancelOffer (nftid,offerId,saleOwner) = {
398- let $t01451614577 = idCallerDate(i)
399- let id = $t01451614577._1
400- let caller = $t01451614577._2
401- let date = $t01451614577._3
398+ let $t01447414535 = idCallerDate(i)
399+ let id = $t01447414535._1
400+ let caller = $t01447414535._2
401+ let date = $t01447414535._3
402402 let bidKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
403- let $t01465414709 = getBidData(bidKey)
404- let bidDataArr = $t01465414709._1
405- let assetId = $t01465414709._2
406- let bidData = $t01465414709._3
403+ let $t01461214667 = getBidData(bidKey)
404+ let bidDataArr = $t01461214667._1
405+ let assetId = $t01461214667._2
406+ let bidData = $t01461214667._3
407407 [DeleteEntry((bidKey + "_OPEN")), StringEntry((bidKey + "_CANCELLED"), ((((bidData + "_CANCELLED_") + toString(date)) + "_") + id)), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
408408 }
409409
411411
412412 @Callable(i)
413413 func makeRequest (artId,creatorAddr) = {
414- let $t01502415068 = idCallerDate(i)
415- let id = $t01502415068._1
416- let requestOwner = $t01502415068._2
417- let date = $t01502415068._3
418- let $t01507315109 = isPayment(i)
419- let payment = $t01507315109._1
420- let amount = $t01507315109._2
414+ let $t01498215026 = idCallerDate(i)
415+ let id = $t01498215026._1
416+ let requestOwner = $t01498215026._2
417+ let date = $t01498215026._3
418+ let $t01503115067 = isPayment(i)
419+ let payment = $t01503115067._1
420+ let amount = $t01503115067._2
421421 let assetId = if (!(isDefined(payment.assetId)))
422422 then "WAVES"
423423 else toBase58String(value(payment.assetId))
435435
436436 @Callable(i)
437437 func fillRequest (artId,requestOwner,offerId) = {
438- let $t01588415926 = idCallerDate(i)
439- let id = $t01588415926._1
440- let saleOwner = $t01588415926._2
441- let date = $t01588415926._3
442- let $t01593115975 = isPayment(i)
443- let payment = $t01593115975._1
444- let amountAttached = $t01593115975._2
438+ let $t01584215884 = idCallerDate(i)
439+ let id = $t01584215884._1
440+ let saleOwner = $t01584215884._2
441+ let date = $t01584215884._3
442+ let $t01588915933 = isPayment(i)
443+ let payment = $t01588915933._1
444+ let amountAttached = $t01588915933._2
445445 let NFTid = if (if (isDefined(payment.assetId))
446446 then isSignArtNFT(value(payment.assetId))
447447 else false)
458458 then throw("This NFT don't match the requested artwork")
459459 else {
460460 let amount = value(parseInt(requestData[1]))
461- let $t01669516870 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
462- let signFee = $t01669516870._1
463- let creatorFee = $t01669516870._2
464- let ownerFee = $t01669516870._3
465- let collectorFee = $t01669516870._4
461+ let $t01665316828 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
462+ let signFee = $t01665316828._1
463+ let creatorFee = $t01665316828._2
464+ let ownerFee = $t01665316828._3
465+ let collectorFee = $t01665316828._4
466466 [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]
467467 }
468468 }
472472
473473 @Callable(i)
474474 func cancelRequest (artId,creatorAddr,requestId) = {
475- let $t01733017374 = idCallerDate(i)
476- let id = $t01733017374._1
477- let requestOwner = $t01733017374._2
478- let date = $t01733017374._3
475+ let $t01728817332 = idCallerDate(i)
476+ let id = $t01728817332._1
477+ let requestOwner = $t01728817332._2
478+ let date = $t01728817332._3
479479 let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
480480 let requestData = getStrByK((requesDataKey + "_OPEN"))
481481 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 $t071067145 = idCallerDate(i)
197197 let id = $t071067145._1
198198 let caller = $t071067145._2
199199 let date = $t071067145._3
200200 let $t071507186 = isPayment(i)
201201 let payment = $t071507186._1
202202 let amount = $t071507186._2
203203 let nftId = if (if (isDefined(payment.assetId))
204204 then isSignArtNFT(value(payment.assetId))
205205 else false)
206206 then toBase58String(value(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 $t074877545 = checkNFTInfo(nftId)
212212 let isValidNFT = $t074877545._1
213213 let artId = $t074877545._2
214214 let creatorAddr = $t074877545._3
215215 if (!(isValidNFT))
216216 then throw("Something went wrong")
217217 else [StringEntry((((((("sale2nd_info_" + caller) + "_") + nftId) + "_") + creatorAddr) + "_OPEN"), ((((((((((((toString(date) + "_") + toString(price)) + "_") + asset) + "_") + nftId) + "_") + artId) + "_") + creatorAddr) + "_") + id)), StringEntry(((("sale2nd_status_" + caller) + "_") + nftId), "OPEN"), StringEntry(("current_owner_on_dapp_" + nftId), caller)]
218218 }
219219 }
220220
221221
222222
223223 @Callable(i)
224224 func updateSalePrice (nftid,price,asset) = {
225225 let $t080528091 = idCallerDate(i)
226226 let id = $t080528091._1
227227 let caller = $t080528091._2
228228 let date = $t080528091._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 $t090599098 = idCallerDate(i)
249249 let id = $t090599098._1
250250 let caller = $t090599098._2
251251 let date = $t090599098._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) + "_") + id) + "_CANCELLED"), ((((saleInfo + "_CANCELLED_") + toString(date)) + "_") + id)), ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftid))]
263263 }
264264 }
265265 }
266266
267267
268268
269269 @Callable(i)
270270 func buyNFT (nftid) = {
271271 let $t01024410315 = idCallerDate(i)
272272 let id = $t01024410315._1
273273 let caller = $t01024410315._2
274274 let date = $t01024410315._3
275275 let saleOwner = getSaleOwnerAndStatus(nftid)
276276 let $t01037010428 = checkNFTInfo(nftid)
277277 let isValidNFT = $t01037010428._1
278278 let artId = $t01037010428._2
279279 let creatorAddr = $t01037010428._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 $t01076310799 = isPayment(i)
292292 let payment = $t01076310799._1
293293 let amount = $t01076310799._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.")
301301 else {
302302 let amountForSign = fraction(amount, signCut, 100)
303303 let amountForCreator = fraction(amount, creatorCut, 100)
304304 let amountForOwner = (amount - (amountForSign + amountForCreator))
305305 let $t01130811436 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
306306 let signFee = $t01130811436._1
307307 let creatorFee = $t01130811436._2
308308 let ownerFee = $t01130811436._3
309309 let collectorFee = $t01130811436._4
310310 [DeleteEntry((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + id) + "_CLOSED"), ((((((makeString(saleInfoArray, "_") + "_CLOSED_") + toString(date)) + "_") + id) + "_") + caller)), signFee, creatorFee, ownerFee, collectorFee]
311311 }
312312 }
313313 }
314314 }
315315 }
316316
317317
318318
319319 @Callable(i)
320320 func setOffer (nftid) = {
321321 let $t01191811960 = idCallerDate(i)
322322 let id = $t01191811960._1
323323 let offerOwner = $t01191811960._2
324324 let date = $t01191811960._3
325325 let $t01196512001 = isPayment(i)
326326 let payment = $t01196512001._1
327327 let amount = $t01196512001._2
328328 let assetId = if (!(isDefined(payment.assetId)))
329329 then "WAVES"
330330 else toBase58String(value(payment.assetId))
331331 if (!(acceptedAssetIds(assetId)))
332332 then throw("asset not accepted")
333333 else {
334334 let $t01218712245 = checkNFTInfo(nftid)
335335 let isValidNFT = $t01218712245._1
336336 let artId = $t01218712245._2
337337 let creatorAddr = $t01218712245._3
338338 if (!(isValidNFT))
339339 then throw("Something went wrong")
340340 else {
341341 let saleOwner = getSaleOwnerAndStatus(nftid)
342342 [StringEntry((((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + id) + "_OPEN"), ((((((((((((((toString(date) + "_") + toString(amount)) + "_") + assetId) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_") + offerOwner) + "_") + id))]
343343 }
344344 }
345345 }
346346
347347
348348
349349 @Callable(i)
350350 func acceptOffer (nftid,offerId,offerOwner) = {
351351 let $t01283612905 = idCallerDate(i)
352352 let id = $t01283612905._1
353353 let caller = $t01283612905._2
354354 let date = $t01283612905._3
355355 let saleOwner = getSaleOwnerAndStatus(nftid)
356356 if ((caller != saleOwner))
357357 then throw("You cannot do this action")
358358 else {
359359 let bidKey = ((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
360360 let bidValue = getStrByK((bidKey + "_OPEN"))
361361 if ((bidValue == ""))
362362 then throw("Offer not found or not for sale")
363363 else {
364364 let $t01322913287 = checkNFTInfo(nftid)
365365 let isValidNFT = $t01322913287._1
366366 let artId = $t01322913287._2
367367 let creatorAddr = $t01322913287._3
368368 if (!(isValidNFT))
369369 then throw("Something went wrong")
370370 else {
371371 let saleKey = ((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr)
372372 let saleValue = getStrByK((saleKey + "_OPEN"))
373373 if ((size(saleValue) == 0))
374374 then throw("Sale Not found!")
375375 else {
376376 let saleValArr = split(saleValue, "_")
377377 let $t01362213677 = getBidData(bidKey)
378378 let bidDataArr = $t01362213677._1
379379 let assetId = $t01362213677._2
380380 let bidData = $t01362213677._3
381381 let amount = value(parseInt(bidDataArr[1]))
382382 let $t01373113858 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[6])
383383 let signFee = $t01373113858._1
384384 let creatorFee = $t01373113858._2
385385 let ownerFee = $t01373113858._3
386386 let collectorFee = $t01373113858._4
387-[DeleteEntry((saleKey + "_OPEN")), DeleteEntry((bidKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((bidKey + "_CLOSED"), bidValue), StringEntry((((saleKey + "_") + id) + "_CLOSED"), ((((((((((((((((((saleValArr[0] + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_") + offerOwner) + "_CLOSED_") + toString(date)) + "_") + id) + "_") + offerOwner)), signFee, creatorFee, ownerFee, collectorFee]
387+[DeleteEntry((saleKey + "_OPEN")), DeleteEntry((bidKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((bidKey + "_CLOSED"), bidValue), StringEntry((((saleKey + "_") + id) + "_CLOSED"), ((((((((((makeString(saleValArr, "_") + "_CLOSED-OFFER_") + toString(date)) + "_") + id) + "_") + offerOwner) + "_") + toString(amount)) + "_") + toBase58String(value(assetId)))), signFee, creatorFee, ownerFee, collectorFee]
388388 }
389389 }
390390 }
391391 }
392392 }
393393
394394
395395
396396 @Callable(i)
397397 func cancelOffer (nftid,offerId,saleOwner) = {
398- let $t01451614577 = idCallerDate(i)
399- let id = $t01451614577._1
400- let caller = $t01451614577._2
401- let date = $t01451614577._3
398+ let $t01447414535 = idCallerDate(i)
399+ let id = $t01447414535._1
400+ let caller = $t01447414535._2
401+ let date = $t01447414535._3
402402 let bidKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
403- let $t01465414709 = getBidData(bidKey)
404- let bidDataArr = $t01465414709._1
405- let assetId = $t01465414709._2
406- let bidData = $t01465414709._3
403+ let $t01461214667 = getBidData(bidKey)
404+ let bidDataArr = $t01461214667._1
405+ let assetId = $t01461214667._2
406+ let bidData = $t01461214667._3
407407 [DeleteEntry((bidKey + "_OPEN")), StringEntry((bidKey + "_CANCELLED"), ((((bidData + "_CANCELLED_") + toString(date)) + "_") + id)), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
408408 }
409409
410410
411411
412412 @Callable(i)
413413 func makeRequest (artId,creatorAddr) = {
414- let $t01502415068 = idCallerDate(i)
415- let id = $t01502415068._1
416- let requestOwner = $t01502415068._2
417- let date = $t01502415068._3
418- let $t01507315109 = isPayment(i)
419- let payment = $t01507315109._1
420- let amount = $t01507315109._2
414+ let $t01498215026 = idCallerDate(i)
415+ let id = $t01498215026._1
416+ let requestOwner = $t01498215026._2
417+ let date = $t01498215026._3
418+ let $t01503115067 = isPayment(i)
419+ let payment = $t01503115067._1
420+ let amount = $t01503115067._2
421421 let assetId = if (!(isDefined(payment.assetId)))
422422 then "WAVES"
423423 else toBase58String(value(payment.assetId))
424424 if (!(acceptedAssetIds(assetId)))
425425 then throw("asset not accepted")
426426 else {
427427 let isValidART = checkARTExist(artId, creatorAddr)
428428 if (!(isValidART))
429429 then throw("Something went wrong")
430430 else [StringEntry((((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + id) + "_OPEN"), ((((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(payment.assetId))) + "_") + artId) + "_") + requestOwner) + "_") + id))]
431431 }
432432 }
433433
434434
435435
436436 @Callable(i)
437437 func fillRequest (artId,requestOwner,offerId) = {
438- let $t01588415926 = idCallerDate(i)
439- let id = $t01588415926._1
440- let saleOwner = $t01588415926._2
441- let date = $t01588415926._3
442- let $t01593115975 = isPayment(i)
443- let payment = $t01593115975._1
444- let amountAttached = $t01593115975._2
438+ let $t01584215884 = idCallerDate(i)
439+ let id = $t01584215884._1
440+ let saleOwner = $t01584215884._2
441+ let date = $t01584215884._3
442+ let $t01588915933 = isPayment(i)
443+ let payment = $t01588915933._1
444+ let amountAttached = $t01588915933._2
445445 let NFTid = if (if (isDefined(payment.assetId))
446446 then isSignArtNFT(value(payment.assetId))
447447 else false)
448448 then payment.assetId
449449 else throw("No NFT found")
450450 let NFTdata = split(getArtStrByK(("nft_" + toBase58String(value(NFTid)))), "_")
451451 if ((size(NFTdata) == 0))
452452 then throw("No NFT found")
453453 else {
454454 let requestData = split(getStrByK((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_OPEN")), "_")
455455 if ((size(requestData) == 1))
456456 then throw("No request found")
457457 else if ((requestData[3] != NFTdata[5]))
458458 then throw("This NFT don't match the requested artwork")
459459 else {
460460 let amount = value(parseInt(requestData[1]))
461- let $t01669516870 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
462- let signFee = $t01669516870._1
463- let creatorFee = $t01669516870._2
464- let ownerFee = $t01669516870._3
465- let collectorFee = $t01669516870._4
461+ let $t01665316828 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
462+ let signFee = $t01665316828._1
463+ let creatorFee = $t01665316828._2
464+ let ownerFee = $t01665316828._3
465+ let collectorFee = $t01665316828._4
466466 [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]
467467 }
468468 }
469469 }
470470
471471
472472
473473 @Callable(i)
474474 func cancelRequest (artId,creatorAddr,requestId) = {
475- let $t01733017374 = idCallerDate(i)
476- let id = $t01733017374._1
477- let requestOwner = $t01733017374._2
478- let date = $t01733017374._3
475+ let $t01728817332 = idCallerDate(i)
476+ let id = $t01728817332._1
477+ let requestOwner = $t01728817332._2
478+ let date = $t01728817332._3
479479 let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
480480 let requestData = getStrByK((requesDataKey + "_OPEN"))
481481 if ((size(requestData) == 0))
482482 then throw("Request not found")
483483 else {
484484 let requestDataArr = split(requestData, "_")
485485 [DeleteEntry((requesDataKey + "_OPEN")), StringEntry((((((requesDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((requestData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(requestOwner)), parseIntValue(requestDataArr[1]), fromBase58String(requestDataArr[2]))]
486486 }
487487 }
488488
489489
490490
491491 @Callable(i)
492492 func deleteEntry (entry) = {
493493 let caller = toString(addressFromPublicKey(i.callerPublicKey))
494494 if ((caller == chris))
495495 then [DeleteEntry(entry)]
496496 else throw("no")
497497 }
498498
499499

github/deemru/w8io/169f3d6 
77.21 ms