tx · 5PL4fFfwRtte1TpTQUjc3YcvrFLfDgCFrqXaH55TuMaA

3N6DuzM5LDSg9SHsFSuvJtfhiKxQ9wL2SwS:  -0.01400000 Waves

2021.06.10 08:45 [1563878] smart account 3N6DuzM5LDSg9SHsFSuvJtfhiKxQ9wL2SwS > SELF 0.00000000 Waves

{ "type": 13, "id": "5PL4fFfwRtte1TpTQUjc3YcvrFLfDgCFrqXaH55TuMaA", "fee": 1400000, "feeAssetId": null, "timestamp": 1623303953050, "version": 2, "chainId": 84, "sender": "3N6DuzM5LDSg9SHsFSuvJtfhiKxQ9wL2SwS", "senderPublicKey": "13faG9aVtHrshQAeoSAHp3R8DJ6dQnG7aa4ctzpT35uM", "proofs": [ "3dYHP4VMJSXGR3d1n1P3MA6yXhqfKiJNJTxoZZjdVnwKHxB4Yz65i8FxUnX2XBAZ2gascXXnCH7v8QxV69x49amX" ], "script": "base64:AAIEAAAAAAAAAEAIAhIECgIBCBIFCgMIAQgSAwoBCBIDCgEIEgMKAQgSBQoDCAgIEgUKAwgICBIECgIICBIFCgMICAgSBQoDCAgIAAAAKwAAAAAIdW5pdFRlc3QHAAAAAAlvcmFjbGVGZWUJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM04yczVSdGFIUEJlbkNzeDJFQ2NvRlJiWUh4M25vWmhYVzEAAAAACHNpZ25EYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOQzI4aFNpdnJtc1RVWGFZRDF4NkwzNjJKNFpwVW5vVGRCAAAAAAxhcnR3b3Jrc0RhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM05CeW5mYlhDMkthc3RVeGh1a2NNVWFFNThLOWNCZEI5VVkAAAAAC2ZlZVJlY2VpdmVyAgAAACMzTjFFNnRYZGRSb1ZhUmZROWRRM3ZnNUxhVzJmc2Q4SEt1YgAAAAAIdXNlckRhcHADBQAAAAh1bml0VGVzdAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTXQ0UkdNRXlqU1dZQW9jVFBxZDU1d2RIUVFCM1BVMlVDbQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjh4WGFZakUyN0FhNzlkNWhIcmhIdTlIYUZvVEJtaERFagAAAAANd2hpdGVsaXN0RGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjZCYVYxZENCNHpnNDNnb05OSGFDdHZSMTNCY3lKNUdzcQAAAAALc2lnbkFzc2V0SWQBAAAAIOilarzKd0LycGEyNUpPRYO5uR7lmWcXw3Hq2QuhBK3rAAAAAAt1c2RuQXNzZXRJZAEAAAAgD/IcEqzkxDya7EYaqyWosOy6BytGzG2IcvC14pJJAbQAAAAADHdhdmVzQXNzZXRJZAEAAAAAAAAAAAVjaHJpcwIAAAAjM01zRzZqUE5DclZKVXRZQjdYSkJ4Uzd1dFdzWEFmNG45VnAAAAAABGpvZXACAAAAIzNNem00Vkx3c045dVp3YlRNelBqM1h1eFY2a0VmQVI4VUROAAAAAAdzaWduQ3V0AAAAAAAAAAADAAAAAApjcmVhdG9yQ3V0AAAAAAAAAAAKAAAAAAtkYXBwUnVu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AAAAAwUAAAAGYW1vdW50BQAAAApjcmVhdG9yQ3V0AAAAAAAAAABkBAAAAA5hbW91bnRGb3JPd25lcgkAAGUAAAACBQAAAAZhbW91bnQJAABkAAAAAgUAAAANYW1vdW50Rm9yU2lnbgUAAAAQYW1vdW50Rm9yQ3JlYXRvcgQAAAAHc2lnbkZlZQkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAC2ZlZVJlY2VpdmVyBQAAAA1hbW91bnRGb3JTaWduBQAAAAdhc3NldElkBAAAAApjcmVhdG9yRmVlCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAALY3JlYXRvckFkZHIFAAAAEGFtb3VudEZvckNyZWF0b3IFAAAAB2Fzc2V0SWQEAAAACG93bmVyRmVlCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAJc2FsZU93bmVyBQAAAA5hbW91bnRGb3JPd25lcgUAAAAHYXNzZXRJZAQAAAAMY29sbGVjdG9yRmVlCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAABW5mdGlkCQAFFgAAAAQFAAAAB3NpZ25GZWUFAAAACmNyZWF0b3JGZWUFAAAACG93bmVyRmVlBQAAAAxjb2xsZWN0b3JGZWUBAAAAD3ZhbGlkYXRlTWluU2VsbAAAAAIAAAAHYXNzZXRJZAAAAAVwcmljZQQAAAAMbWluU2VsbFdhdmVzAwUAAAAIdW5pdFRlc3QAAAAAAAAAAAoJAQAAABNnZXRJbnRCeUtGcm9tT3JhY2xlAAAAAQIAAAAOd2F2ZXNfbWluX3NlbGwEAAAAC21pblNlbGxVc2RuAAAAAAAAD0JABAAAAAttaW5TZWxsU2lnbgMFAAAACHVuaXRUZXN0AAAAAAAAAAABCQAAaAAAAAIFAAAAGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UAAAAAAAAAAAIDAwMDAwkAAAAAAAACBQAAAAdhc3NldElkCQACWAAAAAEFAAAA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", "height": 1563878, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 5edtGPhDbChCvu7GZip6kPoW8TmrrpS5Zd3eN8S8Ydkr Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let unitTest = false
5+
6+let oracleFee = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
7+
8+let signDapp = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
9+
10+let artworksDapp = value(addressFromString("3NBynfbXC2KastUxhukcMUaE58K9cBdB9UY"))
11+
12+let feeReceiver = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
13+
14+let userDapp = if (unitTest)
15+ then value(addressFromString("3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm"))
16+ else value(addressFromString("3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj"))
17+
18+let whitelistDapp = value(addressFromString("3N6BaV1dCB4zg43goNNHaCtvR13BcyJ5Gsq"))
19+
20+let signAssetId = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
21+
22+let usdnAssetId = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
23+
24+let wavesAssetId = base58''
25+
26+let chris = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
27+
28+let joep = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
29+
30+let signCut = 3
31+
32+let creatorCut = 10
33+
34+let dappRunning = valueOrElse(getBoolean(userDapp, "conf_dapp_is_running"), true)
35+
36+let maintenanceMSG = valueOrElse(getString(userDapp, "conf_maintenance_msg"), "")
37+
38+let userSuspended = "SUSPENDED"
39+
40+let userRemoved = "REMOVED"
41+
42+let artIllegal = "ILLEGAL"
43+
44+let artSuspended = "SUSPENDED"
45+
46+func getUserStrByK (key) = valueOrElse(getString(userDapp, key), "Error")
47+
48+
49+func getArtStrByK (key) = valueOrElse(getString(artworksDapp, key), "")
50+
51+
52+func getStrByK (key) = valueOrElse(getString(this, key), "")
53+
54+
55+func getIntByK (key) = valueOrElse(getInteger(this, key), 0)
56+
57+
58+func keyUserStatus (addr) = ("user_status_" + addr)
59+
60+
61+func keySignID (artistAddr,artId) = ((("art_signid_" + artId) + "_") + artistAddr)
62+
63+
64+func keyFlag (artistAddr,artId) = ((("art_flag_" + artId) + "_") + artistAddr)
65+
66+
67+func keyNFTData (id) = ("nft_" + id)
68+
69+
70+func getIntByKFromOracle (key) = valueOrErrorMessage(getInteger(oracleFee, key), "Integer undefine or 0 in oracle")
71+
72+
73+let currentCertificationPrice = getIntByKFromOracle(("certification_fee_" + toBase58String(signAssetId)))
74+
75+func idCallerDate (i) = if (!(dappRunning))
76+ then throw(maintenanceMSG)
77+ else $Tuple3(toBase58String(i.transactionId), toBase58String(i.caller.bytes), lastBlock.timestamp)
78+
79+
80+func isPayment (i) = if ((size(i.payments) == 0))
81+ then throw("No payment attached")
82+ else {
83+ let payment = value(i.payments[0])
84+ let amount = value(payment.amount)
85+ $Tuple2(payment, amount)
86+ }
87+
88+
89+func isSignArtNFT (id) = {
90+ let assetDetails = value(assetInfo(id))
91+ if (if (if (if ((assetDetails.quantity != 1))
92+ then true
93+ else (assetDetails.decimals != 0))
94+ then true
95+ else (assetDetails.reissuable != false))
96+ then true
97+ else (assetDetails.issuer != artworksDapp))
98+ then false
99+ else true
100+ }
101+
102+
103+func acceptedAssetIds (assetId) = if (if (if (if ((assetId != toBase58String(signAssetId)))
104+ then (assetId != toBase58String(wavesAssetId))
105+ else false)
106+ then (assetId != "WAVES")
107+ else false)
108+ then (assetId != toBase58String(usdnAssetId))
109+ else false)
110+ then false
111+ else true
112+
113+
114+func getBidAssetId (assetId) = if ((assetId == "WAVES"))
115+ then unit
116+ else fromBase58String(assetId)
117+
118+
119+func getSaleOwnerAndStatus (nftid) = {
120+ let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
121+ if ((size(saleOwner) == 0))
122+ then throw("NFT not found")
123+ else {
124+ let saleStatus = getStrByK(((("sale2nd_status_" + saleOwner) + "_") + nftid))
125+ if ((saleStatus != "OPEN"))
126+ then throw("NFT not for sale")
127+ else saleOwner
128+ }
129+ }
130+
131+
132+func getBidData (key) = {
133+ let bidData = getStrByK((key + "_OPEN"))
134+ if ((bidData == ""))
135+ then throw("Offer not found")
136+ else {
137+ let bidDataArr = split(bidData, "_")
138+ let assetId = getBidAssetId(bidDataArr[2])
139+ $Tuple3(bidDataArr, assetId, bidData)
140+ }
141+ }
142+
143+
144+func checkArtStatus (addr,id) = {
145+ let artStatus = getArtStrByK(keyFlag(addr, id))
146+ if (if ((artStatus == artIllegal))
147+ then true
148+ else (artStatus == artSuspended))
149+ then throw(("Original Artwork flagged as " + artStatus))
150+ else true
151+ }
152+
153+
154+func checkArtistStatus (addr) = {
155+ let artistStatus = getUserStrByK(keyUserStatus(addr))
156+ if (containsElement([userSuspended, userRemoved], artistStatus))
157+ then throw(("Original Artist " + artistStatus))
158+ else true
159+ }
160+
161+
162+func checkNFTInfo (assetId) = {
163+ let nftData = split(getArtStrByK(keyNFTData(assetId)), "_")
164+ let artSignID = getArtStrByK(keySignID(nftData[6], nftData[5]))
165+ if ((size(artSignID) == 0))
166+ then throw("Artwork not found on SIGN Art")
167+ else if (if (!(checkArtStatus(nftData[6], nftData[5])))
168+ then !(checkArtistStatus(nftData[6]))
169+ else false)
170+ then $Tuple3(false, nftData[5], nftData[6])
171+ else $Tuple3(true, nftData[5], nftData[6])
172+ }
173+
174+
175+func checkARTExist (artId,creatorAddr) = {
176+ let artSignID = getArtStrByK(keySignID(creatorAddr, artId))
177+ if ((size(artSignID) == 0))
178+ then throw("Artwork not found on SIGN Art")
179+ else if (if (!(checkArtStatus(creatorAddr, artId)))
180+ then !(checkArtistStatus(creatorAddr))
181+ else false)
182+ then false
183+ else true
184+ }
185+
186+
187+func setTransfers (amount,assetId,nftid,creatorAddr,saleOwner,caller) = {
188+ let amountForSign = fraction(amount, signCut, 100)
189+ let amountForCreator = fraction(amount, creatorCut, 100)
190+ let amountForOwner = (amount - (amountForSign + amountForCreator))
191+ let signFee = ScriptTransfer(Address(fromBase58String(feeReceiver)), amountForSign, assetId)
192+ let creatorFee = ScriptTransfer(Address(fromBase58String(creatorAddr)), amountForCreator, assetId)
193+ let ownerFee = ScriptTransfer(Address(fromBase58String(saleOwner)), amountForOwner, assetId)
194+ let collectorFee = ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftid))
195+ $Tuple4(signFee, creatorFee, ownerFee, collectorFee)
196+ }
197+
198+
199+func validateMinSell (assetId,price) = {
200+ let minSellWaves = if (unitTest)
201+ then 10
202+ else getIntByKFromOracle("waves_min_sell")
203+ let minSellUsdn = 1000000
204+ let minSellSign = if (unitTest)
205+ then 1
206+ else (currentCertificationPrice * 2)
207+ if (if (if (if (if ((assetId == toBase58String(usdnAssetId)))
208+ then (minSellUsdn > price)
209+ else false)
210+ then (price != 0)
211+ else false)
212+ then true
213+ else if (if ((assetId == toBase58String(signAssetId)))
214+ then (minSellSign > price)
215+ else false)
216+ then (price != 0)
217+ else false)
218+ then true
219+ else if (if (if ((assetId == toBase58String(wavesAssetId)))
220+ then true
221+ else (assetId == "WAVES"))
222+ then (minSellWaves > price)
223+ else false)
224+ then (price != 0)
225+ else false)
226+ then false
227+ else true
228+ }
229+
230+
231+@Callable(i)
232+func sellNFT (price,asset) = {
233+ let $t078967935 = idCallerDate(i)
234+ let id = $t078967935._1
235+ let caller = $t078967935._2
236+ let date = $t078967935._3
237+ let $t079407976 = isPayment(i)
238+ let payment = $t079407976._1
239+ let amount = $t079407976._2
240+ if (!(acceptedAssetIds(asset)))
241+ then throw("Only SIGN, USDN or WAVES accepted")
242+ else if (!(validateMinSell(asset, price)))
243+ then throw("Wrong minimum sell price")
244+ else {
245+ let nftId = if (if (isDefined(payment.assetId))
246+ then isSignArtNFT(value(payment.assetId))
247+ else false)
248+ then toBase58String(value(payment.assetId))
249+ else throw("Only SIGN Art NFT accepted.")
250+ let $t083868444 = checkNFTInfo(nftId)
251+ let isValidNFT = $t083868444._1
252+ let artId = $t083868444._2
253+ let creatorAddr = $t083868444._3
254+ if (!(isValidNFT))
255+ then throw("Something went wrong")
256+ else [StringEntry((((((((("sale2nd_info_" + caller) + "_") + nftId) + "_") + artId) + "_") + creatorAddr) + "_OPEN"), ((((((((((((toString(date) + "_") + toString(price)) + "_") + asset) + "_") + nftId) + "_") + artId) + "_") + creatorAddr) + "_") + id)), StringEntry(((("sale2nd_status_" + caller) + "_") + nftId), "OPEN"), StringEntry(("current_owner_on_dapp_" + nftId), caller)]
257+ }
258+ }
259+
260+
261+
262+@Callable(i)
263+func updateSalePrice (nftid,price,asset) = {
264+ let $t089608999 = idCallerDate(i)
265+ let id = $t089608999._1
266+ let caller = $t089608999._2
267+ let date = $t089608999._3
268+ let $t090049062 = checkNFTInfo(nftid)
269+ let isValidNFT = $t090049062._1
270+ let artId = $t090049062._2
271+ let creatorAddr = $t090049062._3
272+ if (!(isValidNFT))
273+ then throw("Something went wrong")
274+ else {
275+ let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
276+ if ((saleOwner != caller))
277+ then throw("You don't own this NFT")
278+ else {
279+ let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftid))
280+ if ((saleStatus != "OPEN"))
281+ then throw("Sale not active")
282+ else if (!(acceptedAssetIds(asset)))
283+ then throw("Only SIGN, USDN or WAVES accepted")
284+ else if (!(validateMinSell(asset, price)))
285+ then throw("Wrong minimum sell price")
286+ else {
287+ let saleInfo = split(getStrByK(((((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_") + saleStatus)), "_")
288+[StringEntry((((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_OPEN"), ((((((((((((saleInfo[0] + "_") + toString(price)) + "_") + asset) + "_") + saleInfo[3]) + "_") + saleInfo[4]) + "_") + saleInfo[5]) + "_") + saleInfo[6]))]
289+ }
290+ }
291+ }
292+ }
293+
294+
295+
296+@Callable(i)
297+func cancelSale (nftid) = {
298+ let $t01007910118 = idCallerDate(i)
299+ let id = $t01007910118._1
300+ let caller = $t01007910118._2
301+ let date = $t01007910118._3
302+ let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
303+ if ((saleOwner != caller))
304+ then throw("You don't own this NFT")
305+ else {
306+ let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftid))
307+ if ((saleStatus != "OPEN"))
308+ then throw("Sale not active")
309+ else {
310+ let $t01041010468 = checkNFTInfo(nftid)
311+ let isValidNFT = $t01041010468._1
312+ let artId = $t01041010468._2
313+ let creatorAddr = $t01041010468._3
314+ if (!(isValidNFT))
315+ then throw("Something went wrong")
316+ else {
317+ let saleInfo = getStrByK(((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_") + saleStatus))
318+[DeleteEntry((((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_OPEN")), DeleteEntry(((("sale2nd_status_" + caller) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((((((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_") + id) + "_CANCELLED"), ((((saleInfo + "_CANCELLED_") + toString(date)) + "_") + id)), ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftid))]
319+ }
320+ }
321+ }
322+ }
323+
324+
325+
326+@Callable(i)
327+func buyNFT (nftid) = {
328+ let $t01133911378 = idCallerDate(i)
329+ let id = $t01133911378._1
330+ let caller = $t01133911378._2
331+ let date = $t01133911378._3
332+ let saleOwner = getSaleOwnerAndStatus(nftid)
333+ let $t01143211490 = checkNFTInfo(nftid)
334+ let isValidNFT = $t01143211490._1
335+ let artId = $t01143211490._2
336+ let creatorAddr = $t01143211490._3
337+ if (!(isValidNFT))
338+ then throw("Something went wrong")
339+ else {
340+ let saleInfo = getStrByK((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_OPEN"))
341+ if ((size(saleInfo) == 0))
342+ then throw("Sale Not found!")
343+ else {
344+ let saleInfoArray = split(saleInfo, "_")
345+ if ((parseInt(saleInfoArray[1]) == 0))
346+ then throw("Offer only")
347+ else {
348+ let $t01183411870 = isPayment(i)
349+ let payment = $t01183411870._1
350+ let amount = $t01183411870._2
351+ let paymentAssetStr = if (isDefined(payment.assetId))
352+ then toBase58String(value(payment.assetId))
353+ else ""
354+ if (if ((saleInfoArray[1] != toString(amount)))
355+ then true
356+ else (saleInfoArray[2] != paymentAssetStr))
357+ then throw("Payment infos don't match.")
358+ else {
359+ let amountForSign = fraction(amount, signCut, 100)
360+ let amountForCreator = fraction(amount, creatorCut, 100)
361+ let amountForOwner = (amount - (amountForSign + amountForCreator))
362+ let $t01237312501 = setTransfers(amount, payment.assetId, nftid, creatorAddr, saleOwner, caller)
363+ let signFee = $t01237312501._1
364+ let creatorFee = $t01237312501._2
365+ let ownerFee = $t01237312501._3
366+ let collectorFee = $t01237312501._4
367+[DeleteEntry((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_") + id) + "_CLOSED"), ((((((makeString(saleInfoArray, "_") + "_CLOSED_") + toString(date)) + "_") + id) + "_") + caller)), signFee, creatorFee, ownerFee, collectorFee]
368+ }
369+ }
370+ }
371+ }
372+ }
373+
374+
375+
376+@Callable(i)
377+func setOffer (nftid) = {
378+ let $t01301213054 = idCallerDate(i)
379+ let id = $t01301213054._1
380+ let offerOwner = $t01301213054._2
381+ let date = $t01301213054._3
382+ let $t01306013096 = isPayment(i)
383+ let payment = $t01306013096._1
384+ let amount = $t01306013096._2
385+ let assetId = if (!(isDefined(payment.assetId)))
386+ then "WAVES"
387+ else toBase58String(value(payment.assetId))
388+ if (!(acceptedAssetIds(assetId)))
389+ then throw("asset not accepted")
390+ else if ((amount == 0))
391+ then throw("Offer of 0 not allowed")
392+ else if (!(validateMinSell(assetId, amount)))
393+ then throw("Wrong minimum sell price")
394+ else {
395+ let $t01343013488 = checkNFTInfo(nftid)
396+ let isValidNFT = $t01343013488._1
397+ let artId = $t01343013488._2
398+ let creatorAddr = $t01343013488._3
399+ if (!(isValidNFT))
400+ then throw("Something went wrong")
401+ else {
402+ let saleOwner = getSaleOwnerAndStatus(nftid)
403+[StringEntry((((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + id) + "_OPEN"), ((((((((((((((toString(date) + "_") + toString(amount)) + "_") + assetId) + "_") + nftid) + "_") + artId) + "_") + creatorAddr) + "_") + offerOwner) + "_") + id))]
404+ }
405+ }
406+ }
407+
408+
409+
410+@Callable(i)
411+func acceptOffer (nftid,offerId,offerOwner) = {
412+ let $t01402114090 = idCallerDate(i)
413+ let id = $t01402114090._1
414+ let caller = $t01402114090._2
415+ let date = $t01402114090._3
416+ let saleOwner = getSaleOwnerAndStatus(nftid)
417+ if ((caller != saleOwner))
418+ then throw("You cannot do this action")
419+ else {
420+ let bidKey = ((((((("offer2nd_" + offerOwner) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
421+ let bidValue = getStrByK((bidKey + "_OPEN"))
422+ if ((bidValue == ""))
423+ then throw("Offer not found or not for sale")
424+ else {
425+ let $t01441414472 = checkNFTInfo(nftid)
426+ let isValidNFT = $t01441414472._1
427+ let artId = $t01441414472._2
428+ let creatorAddr = $t01441414472._3
429+ if (!(isValidNFT))
430+ then throw("Something went wrong")
431+ else {
432+ let saleKey = ((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr)
433+ let saleValue = getStrByK((saleKey + "_OPEN"))
434+ if ((size(saleValue) == 0))
435+ then throw("Sale Not found!")
436+ else {
437+ let saleValArr = split(saleValue, "_")
438+ let $t01480714862 = getBidData(bidKey)
439+ let bidDataArr = $t01480714862._1
440+ let assetId = $t01480714862._2
441+ let bidData = $t01480714862._3
442+ let amount = value(parseInt(bidDataArr[1]))
443+ let $t01491615043 = setTransfers(amount, assetId, nftid, creatorAddr, saleOwner, bidDataArr[6])
444+ let signFee = $t01491615043._1
445+ let creatorFee = $t01491615043._2
446+ let ownerFee = $t01491615043._3
447+ let collectorFee = $t01491615043._4
448+[DeleteEntry((saleKey + "_OPEN")), DeleteEntry((bidKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), DeleteEntry(("current_owner_on_dapp_" + nftid)), StringEntry((bidKey + "_CLOSED"), ((((bidValue + "_CLOSED_") + toString(date)) + "_") + id)), StringEntry((((saleKey + "_") + id) + "_CLOSED"), ((((((((((makeString(saleValArr, "_") + "_CLOSED-OFFER_") + toString(date)) + "_") + id) + "_") + offerOwner) + "_") + toString(amount)) + "_") + toBase58String(value(assetId)))), signFee, creatorFee, ownerFee, collectorFee]
449+ }
450+ }
451+ }
452+ }
453+ }
454+
455+
456+
457+@Callable(i)
458+func cancelOffer (nftid,offerId,saleOwner) = {
459+ let $t01569215753 = idCallerDate(i)
460+ let id = $t01569215753._1
461+ let caller = $t01569215753._2
462+ let date = $t01569215753._3
463+ let bidKey = ((((((("offer2nd_" + caller) + "_") + nftid) + "_") + saleOwner) + "_") + offerId)
464+ let $t01583015885 = getBidData(bidKey)
465+ let bidDataArr = $t01583015885._1
466+ let assetId = $t01583015885._2
467+ let bidData = $t01583015885._3
468+[DeleteEntry((bidKey + "_OPEN")), StringEntry((bidKey + "_CANCELLED"), ((((bidData + "_CANCELLED_") + toString(date)) + "_") + id)), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
469+ }
470+
471+
472+
473+@Callable(i)
474+func makeRequest (artId,creatorAddr) = {
475+ let $t01621016254 = idCallerDate(i)
476+ let id = $t01621016254._1
477+ let requestOwner = $t01621016254._2
478+ let date = $t01621016254._3
479+ let $t01626016296 = isPayment(i)
480+ let payment = $t01626016296._1
481+ let amount = $t01626016296._2
482+ let assetId = if (!(isDefined(payment.assetId)))
483+ then "WAVES"
484+ else toBase58String(value(payment.assetId))
485+ if (!(acceptedAssetIds(assetId)))
486+ then throw("asset not accepted")
487+ else if (!(validateMinSell(assetId, amount)))
488+ then throw("Wrong minimum sell price")
489+ else {
490+ let isValidART = checkARTExist(artId, creatorAddr)
491+ if (!(isValidART))
492+ then throw("Something went wrong")
493+ else [StringEntry((((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + id) + "_OPEN"), ((((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(payment.assetId))) + "_") + artId) + "_") + requestOwner) + "_") + id))]
494+ }
495+ }
496+
497+
498+
499+@Callable(i)
500+func fillRequest (artId,requestOwner,offerId) = {
501+ let $t01710317145 = idCallerDate(i)
502+ let id = $t01710317145._1
503+ let saleOwner = $t01710317145._2
504+ let date = $t01710317145._3
505+ let $t01715017194 = isPayment(i)
506+ let payment = $t01715017194._1
507+ let amountAttached = $t01715017194._2
508+ let NFTid = if (if (isDefined(payment.assetId))
509+ then isSignArtNFT(value(payment.assetId))
510+ else false)
511+ then payment.assetId
512+ else throw("No NFT found")
513+ let NFTdata = split(getArtStrByK(("nft_" + toBase58String(value(NFTid)))), "_")
514+ if ((size(NFTdata) == 0))
515+ then throw("No NFT found")
516+ else {
517+ let requestData = split(getStrByK((((((((("request2nd_" + requestOwner) + "_") + NFTdata[6]) + "_") + artId) + "_") + offerId) + "_OPEN")), "_")
518+ if ((size(requestData) == 1))
519+ then throw("No request found")
520+ else if ((requestData[3] != NFTdata[5]))
521+ then throw("This NFT don't match the requested artwork")
522+ else {
523+ let amount = value(parseInt(requestData[1]))
524+ let $t01791418089 = setTransfers(amount, fromBase58String(requestData[2]), toBase58String(value(NFTid)), NFTdata[6], saleOwner, requestData[4])
525+ let signFee = $t01791418089._1
526+ let creatorFee = $t01791418089._2
527+ let ownerFee = $t01791418089._3
528+ let collectorFee = $t01791418089._4
529+[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]
530+ }
531+ }
532+ }
533+
534+
535+
536+@Callable(i)
537+func cancelRequest (artId,creatorAddr,requestId) = {
538+ let $t01854918593 = idCallerDate(i)
539+ let id = $t01854918593._1
540+ let requestOwner = $t01854918593._2
541+ let date = $t01854918593._3
542+ let requesDataKey = ((((((("request2nd_" + requestOwner) + "_") + creatorAddr) + "_") + artId) + "_") + requestId)
543+ let requestData = getStrByK((requesDataKey + "_OPEN"))
544+ if ((size(requestData) == 0))
545+ then throw("Request not found")
546+ else {
547+ let requestDataArr = split(requestData, "_")
548+[DeleteEntry((requesDataKey + "_OPEN")), StringEntry((((((requesDataKey + "_") + toString(date)) + "_") + id) + "_CANCELLED"), ((requestData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(requestOwner)), parseIntValue(requestDataArr[1]), fromBase58String(requestDataArr[2]))]
549+ }
550+ }
551+
552+

github/deemru/w8io/169f3d6 
38.18 ms