tx · 4raLwTWLsVguHmFSxwS9GvFQH2AimVECtwfGwf1cUHZv

3MyafuLWBUqVEv5VcaJJPBVJvTwTxNh4tPX:  -0.01400000 Waves

2022.03.30 17:48 [1986800] smart account 3MyafuLWBUqVEv5VcaJJPBVJvTwTxNh4tPX > SELF 0.00000000 Waves

{ "type": 13, "id": "4raLwTWLsVguHmFSxwS9GvFQH2AimVECtwfGwf1cUHZv", "fee": 1400000, "feeAssetId": null, "timestamp": 1648651720681, "version": 2, "chainId": 84, "sender": "3MyafuLWBUqVEv5VcaJJPBVJvTwTxNh4tPX", "senderPublicKey": "4cHkGAqfd5S8yGnVB6eHDYTeE5ciLkQ7PuGAXFzjf7z5", "proofs": [ "5RreAjHdL58qFUdUFRkDi2eJHTkVd63XU77dtFUMvnFzPYoBtbyCcBWYDoT3f3pDcNTHtA4iYwRGGzFhuoL9hAmp" ], "script": "base64:AAIFAAAAAAAAAC4IAhIDCgEIEgQKAggIEgQKAgEIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgQKAggIAAAAHAAAAAATTkZUSXNzdWVyZmVlUGVyY2VudAAAAAAAAAAAAwAAAAANc2NvbmV4RGFwcEtleQIAAAAKc2NvbmV4RGFwcAAAAAAJb3JhY2xlS2V5AgAAAAlvcmFjbGVLZXkBAAAABmdldFN0cgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAgAAAAAAAAAABm9yYWNsZQkBAAAABmdldFN0cgAAAAEFAAAACW9yYWNsZUtleQAAAAAJb3JhY2xlRmVlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAGb3JhY2xlAgAAACtDb2xsZWN0aW9ucyBkYXBwIGRvZXNudCBoYXZlIG9yYWNsZSBkZWZpbmVkAAAAAApzY29uZXhEYXBwCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAlvcmFjbGVGZWUFAAAADXNjb25leERhcHBLZXkAAAAAD2NvbGxlY3Rpb25zRGFwcAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAPY29sbGVjdGlvbnNEYXBwAgAAABhjb2xsZWN0aW9uRGFwcCBub3QgZm91bmQAAAAAC2ZlZVJlY2VpdmVyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAJb3JhY2xlRmVlAgAAAAtmZWVSZWNlaXZlcgIAAAAVZmVlUmVjZWl2ZXIgbm90IGZvdW5kAAAAAAhjZXJ0RGFwcAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAIY2VydERhcHACAAAAEmNlcnREYXBwIG5vdCBmb3VuZAAAAAAHZmVlRGFwcAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAHZmVlRGFwcAIAAAARZmVlRGFwcCBub3QgZm91bmQBAAAAGWdldEludGVnZXJCeUtleUZyb21PcmFjbGUAAAABAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAACW9yYWNsZUZlZQUAAAADa2V5AgAAAB9JbnRlZ2VyIHVuZGVmaW5lIG9yIDAgaW4gb3JhY2xlAAAAAAtVU0ROQXNzZXRJZAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAlvcmFjbGVGZWUCAAAAC1VTRE5Bc3NldElkAAAAABljdXJyZW50Q2VydGlmaWNhdGlvblByaWNlCQEAAAAZZ2V0SW50ZWdlckJ5S2V5RnJvbU9yYWNsZQAAAAEJAAEsAAAAAgIAAAASY2VydGlmaWNhdGlvbl9mZWVfCQACWAAAAAEFAAAAC1VTRE5Bc3NldElkAAAAAAh1c2VyRGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAJb3JhY2xlRmVlAgAAAAh1c2VyRGFwcAIAAAASdXNlcmRhcHAgbm90IGZvdW5kAAAAAAxhdWN0aW9uVHlwZTECAAAAB0JJRFRZUEUAAAAADGF1Y3Rpb25UeXBlMgIAAAALVFJBRElUSU9OQUwAAAAADGF1Y3Rpb25UeXBlMwIAAAAGRElSRUNUAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQIAAAAAAQAAAA5rZXlBdWN0aW9uVHlwZQAAAAEAAAAJYXVjdGlvbklkCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAACWF1Y3Rpb25JZAIAAAALX2FjdGlvblR5cGUBAAAADmdldFN0cmZyb21NYWluAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAKc2NvbmV4RGFwcAUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRj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", "height": 1986800, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HEjUzNkgbECwzKKVyCj5QYQsYibrQTCrwNRf6RCda8Fa Next: CiaCqjWMLMbmVDCs9rQcL57v9TuzQjXp4PZV2GBQ6TMc Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NFTIssuerfeePercent = 3
55
66 let sconexDappKey = "sconexDapp"
77
88 let oracleKey = "oracleKey"
99
1010 func getStr (key) = match getString(this, key) {
1111 case b: String =>
1212 b
1313 case _ =>
1414 ""
1515 }
1616
1717
1818 let oracle = getStr(oracleKey)
1919
2020 let oracleFee = valueOrErrorMessage(addressFromString(oracle), "Collections dapp doesnt have oracle defined")
2121
2222 let sconexDapp = getStringValue(oracleFee, sconexDappKey)
2323
2424 let collectionsDapp = valueOrErrorMessage(getString(oracleFee, "collectionsDapp"), "collectionDapp not found")
2525
2626 let feeReceiver = valueOrErrorMessage(getString(oracleFee, "feeReceiver"), "feeReceiver not found")
2727
2828 let certDapp = valueOrErrorMessage(getString(oracleFee, "certDapp"), "certDapp not found")
2929
3030 let feeDapp = valueOrErrorMessage(getString(oracleFee, "feeDapp"), "feeDapp not found")
3131
3232 func getIntegerByKeyFromOracle (key) = valueOrErrorMessage(getInteger(oracleFee, key), "Integer undefine or 0 in oracle")
3333
3434
3535 let USDNAssetId = fromBase58String(getStringValue(oracleFee, "USDNAssetId"))
3636
3737 let currentCertificationPrice = getIntegerByKeyFromOracle(("certification_fee_" + toBase58String(USDNAssetId)))
3838
3939 let userDapp = value(addressFromString(valueOrErrorMessage(getString(oracleFee, "userDapp"), "userdapp not found")))
4040
4141 let auctionType1 = "BIDTYPE"
4242
4343 let auctionType2 = "TRADITIONAL"
4444
4545 let auctionType3 = "DIRECT"
4646
4747 func getStringByKey (key) = valueOrElse(getString(this, key), "")
4848
4949
5050 func keyAuctionType (auctionId) = (("auction_" + auctionId) + "_actionType")
5151
5252
5353 func getStrfromMain (key) = match getString(addressFromStringValue(sconexDapp), key) {
5454 case b: String =>
5555 b
5656 case _ =>
5757 ""
5858 }
5959
6060
6161 func getIntfromMain (key) = match getInteger(addressFromStringValue(sconexDapp), key) {
6262 case b: Int =>
6363 b
6464 case _ =>
6565 0
6666 }
6767
6868
6969 func tryGetInteger (key) = {
7070 let val = match getInteger(this, key) {
7171 case b: Int =>
7272 b
7373 case _ =>
7474 0
7575 }
7676 val
7777 }
7878
7979
8080 func tryGetString (key) = {
8181 let val = match getString(this, key) {
8282 case b: String =>
8383 b
8484 case _ =>
8585 ""
8686 }
8787 val
8888 }
8989
9090
9191 func getNFTIssuer (assetId) = {
9292 let myassetinfo = value(assetInfo(assetId))
9393 if ((myassetinfo.issuer == addressFromStringValue(sconexDapp)))
9494 then "true"
9595 else ""
9696 }
9797
9898
9999 func getNFTArtist (assetId) = {
100100 let ArtistAddress = match getString(addressFromStringValue(sconexDapp), ("nft_issued_" + assetId)) {
101101 case b: String =>
102102 b
103103 case _ =>
104104 ""
105105 }
106106 ArtistAddress
107107 }
108108
109109
110110 func getArtId (assetId) = {
111111 let ArtistAddress = match getString(addressFromStringValue(sconexDapp), ("nft_artId_" + assetId)) {
112112 case b: String =>
113113 b
114114 case _ =>
115115 ""
116116 }
117117 ArtistAddress
118118 }
119119
120120
121121 func acceptedAssetIds (assetId) = if ((assetId != toBase58String(USDNAssetId)))
122122 then throw("Only USDN accepted")
123123 else true
124124
125125
126126 @Callable(i)
127127 func initDapp (dappKey) = if ((i.caller != this))
128128 then throw("You cannot do this action")
129129 else if ((oracle != ""))
130130 then throw("oracle already set, you can't override!")
131131 else [StringEntry(oracleKey, dappKey)]
132132
133133
134134
135135 @Callable(i)
136136 func transferNft (nftID,receiveNFT) = if ((i.caller == this))
137137 then [ScriptTransfer(addressFromStringValue(receiveNFT), 1, fromBase58String(nftID))]
138138 else throw("Only the dApp can transfer NFT's")
139139
140140
141141
142142 @Callable(i)
143143 func initAuction (startPrice,auctionType) = {
144144 let auctionId = toBase58String(i.transactionId)
145145 if ((size(i.payments) == 0))
146146 then throw("No payment attached")
147147 else if ((size(i.payments) >= 2))
148148 then throw("Too many payments attached")
149149 else if ((i.payments[0].amount != 1))
150150 then throw("No nft attached to the payment")
151151 else {
152152 let pmt = value(i.payments[0])
153153 let assetId = value(pmt.assetId)
154154 let minSellSconex = currentCertificationPrice
155155 if ((minSellSconex > startPrice))
156156 then throw(("Wrong minimum sell price " + toString(minSellSconex)))
157157 else {
158158 let asset = getNFTIssuer(assetId)
159159 if ((asset == ""))
160160 then throw("You can only sell an NFT created on SCONE Marketplace")
161161 else if (!(containsElement([auctionType1, auctionType3], auctionType)))
162162 then throw("We don't know this auction type")
163163 else [StringEntry((("auction_" + auctionId) + "_status"), "open"), StringEntry((("auction_" + toBase58String(assetId)) + "_last"), auctionId), StringEntry((("auction_" + auctionId) + "_assetName"), asset), StringEntry((("auction_" + auctionId) + "_assetId"), toBase58String(assetId)), IntegerEntry((("auction_" + auctionId) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + auctionId) + "_owner"), toString(i.caller)), IntegerEntry((("auction_" + auctionId) + "_startPrice"), startPrice), StringEntry(keyAuctionType(auctionId), auctionType), StringEntry((((("address_" + toString(i.caller)) + "_auction_") + auctionId) + "_lockedNFT"), toBase58String(assetId))]
164164 }
165165 }
166166 }
167167
168168
169169
170170 @Callable(i)
171171 func cancelAuction (auctionId) = {
172172 let auctionOwner = tryGetString((("auction_" + auctionId) + "_owner"))
173173 if ((toString(i.caller) != auctionOwner))
174174 then throw("Only allowed to auction owner")
175175 else if ((tryGetString((("auction_" + auctionId) + "_status")) != "open"))
176176 then throw("auction is close")
177177 else [StringEntry((("auction_" + auctionId) + "_status"), "cancelled"), DeleteEntry((((("address_" + auctionOwner) + "_auction_") + auctionId) + "_lockedNFT")), ScriptTransfer(i.caller, 1, fromBase58String(getStringValue(this, (("auction_" + auctionId) + "_assetId"))))]
178178 }
179179
180180
181181
182182 @Callable(i)
183183 func placeBid (auctionId) = {
184184 let pmt = value(i.payments[0])
185185 let amount = pmt.amount
186186 let bidId = toBase58String(i.transactionId)
187187 let assetId = getStringValue(this, (("auction_" + auctionId) + "_assetId"))
188188 let PayAssetId = if (!(isDefined(pmt.assetId)))
189189 then throw("Only USDN is accepted!")
190190 else toBase58String(value(pmt.assetId))
191191 if (!(acceptedAssetIds(PayAssetId)))
192192 then throw("Auction does only support USDN payments")
193193 else {
194194 let minPrice = tryGetInteger((("auction_" + auctionId) + "_startPrice"))
195195 if ((minPrice > amount))
196196 then throw(("The minimal initial price is set as " + toString(minPrice)))
197197 else {
198198 let auctionType = getStringByKey(keyAuctionType(auctionId))
199199 if ((auctionType == auctionType1))
200200 then [StringEntry((((("auction_" + auctionId) + "_bid_") + bidId) + "_author"), toString(i.caller)), StringEntry((((("assetId_" + assetId) + "_bid_") + bidId) + "_data"), (((((("{\"auctionId\": \"" + auctionId) + "\", \"author\": \"") + toString(i.caller)) + "\", \"amount\": \"") + toString(amount)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + auctionId) + "_bid_") + bidId) + "_amount"), amount), StringEntry(((((("address_" + toString(i.caller)) + "_auction_") + auctionId) + "_bid_") + bidId), assetId), StringEntry((((("auction_" + auctionId) + "_bid_") + bidId) + "_status"), "open")]
201201 else throw("Not a BidType auction!")
202202 }
203203 }
204204 }
205205
206206
207207
208208 @Callable(i)
209209 func directBuy (auctionId) = {
210210 let pmt = value(i.payments[0])
211211 let amount = pmt.amount
212212 let bidId = toBase58String(i.transactionId)
213213 let assetId = getStringValue(this, (("auction_" + auctionId) + "_assetId"))
214214 let auctionOwner = tryGetString((("auction_" + auctionId) + "_owner"))
215215 let bidAmount = amount
216216 let bidAuthor = toString(i.caller)
217217 let PayAssetId = if (!(isDefined(pmt.assetId)))
218218 then throw("Only USDN is accepted!")
219219 else toBase58String(value(pmt.assetId))
220220 if (!(acceptedAssetIds(PayAssetId)))
221221 then throw("Auction does only support USDN payments")
222222 else {
223223 let minPrice = tryGetInteger((("auction_" + auctionId) + "_startPrice"))
224224 if ((minPrice != amount))
225225 then throw(("The exact price is set as " + toString(minPrice)))
226226 else {
227227 let auctionType = getStringByKey(keyAuctionType(auctionId))
228228 if ((auctionType == auctionType3))
229229 then {
230230 let recordPrice = tryGetInteger((assetId + "_recordPrice"))
231231 let newRecordPrice = max([recordPrice, bidAmount])
232232 let ArtistAddress = getNFTArtist(assetId)
233233 let artId = getArtId(assetId)
234234 let transferres = invoke(this, "transferNft", [assetId, bidAuthor], nil)
235235 if ((transferres == transferres))
236236 then {
237237 let invokeTeamFeeSplit = invoke(valueOrErrorMessage(addressFromString(feeDapp), (feeDapp + " not found")), "payFeeResell", [artId, auctionOwner], [AttachedPayment(USDNAssetId, amount)])
238238 if ((invokeTeamFeeSplit == invokeTeamFeeSplit))
239239 then {
240240 let buyRes = [StringEntry((((("auction_" + auctionId) + "_bid_") + bidId) + "_author"), toString(i.caller)), StringEntry((((("auction_" + auctionId) + "_bid_") + bidId) + "_status"), "finished"), StringEntry((("auction_" + auctionId) + "_status"), "finished"), StringEntry((((("assetId_" + assetId) + "_bid_") + bidId) + "_data"), (((((("{\"auctionId\": \"" + auctionId) + "\", \"author\": \"") + toString(i.caller)) + "\", \"amount\": \"") + toString(bidAmount)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + auctionId) + "_finalPrice"), bidAmount), IntegerEntry((assetId + "_recordPrice"), newRecordPrice), DeleteEntry((((("address_" + auctionOwner) + "_auction_") + auctionId) + "_lockedNFT"))]
241241 let res = invoke(addressFromStringValue(certDapp), "createCert", [bidAuthor, assetId, ArtistAddress], nil)
242242 if ((res == res))
243243 then buyRes
244244 else throw("Strict value is not equal to itself.")
245245 }
246246 else throw("Strict value is not equal to itself.")
247247 }
248248 else throw("Strict value is not equal to itself.")
249249 }
250250 else throw("Not a directBuy auction!")
251251 }
252252 }
253253 }
254254
255255
256256
257257 @Callable(i)
258258 func cancelBid (auctionId,bidId) = {
259259 let assetId = getStringValue(this, (("auction_" + auctionId) + "_assetId"))
260260 let bidAuthor = tryGetString((((("auction_" + auctionId) + "_bid_") + bidId) + "_author"))
261261 let bidAmount = tryGetInteger((((("auction_" + auctionId) + "_bid_") + bidId) + "_amount"))
262262 if (if ((toString(i.caller) != bidAuthor))
263263 then (i.caller != this)
264264 else false)
265265 then throw("Only allowed to the bid author or admin")
266266 else if ((tryGetString((((("auction_" + auctionId) + "_bid_") + bidId) + "_status")) != "open"))
267267 then throw("bid is not open")
268268 else [StringEntry((((("assetId_" + assetId) + "_bid_") + bidId) + "_data"), (((((("{\"auctionId\": \"" + auctionId) + "\", \"author\": \"") + toString(i.caller)) + "\", \"amount\": \"") + toString(bidAmount)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + auctionId) + "_bid_") + bidId) + "_status"), "cancelled"), DeleteEntry(((((("address_" + bidAuthor) + "_auction_") + auctionId) + "_bid_") + bidId)), ScriptTransfer(Address(fromBase58String(bidAuthor)), bidAmount, USDNAssetId)]
269269 }
270270
271271
272272
273273 @Callable(i)
274274 func acceptBid (auctionId,bidId) = {
275275 let auctionOwner = tryGetString((("auction_" + auctionId) + "_owner"))
276276 let bidAuthor = tryGetString((((("auction_" + auctionId) + "_bid_") + bidId) + "_author"))
277277 let bidAmount = tryGetInteger((((("auction_" + auctionId) + "_bid_") + bidId) + "_amount"))
278278 let bidStatus = tryGetString((((("auction_" + auctionId) + "_bid_") + bidId) + "_status"))
279279 let assetId = tryGetString((("auction_" + auctionId) + "_assetId"))
280280 if ((toString(i.caller) != auctionOwner))
281281 then throw("Only allowed to auction owner")
282282 else if ((bidStatus != "open"))
283283 then throw("Bid was cancelled and cannot be accepted")
284284 else {
285285 let recordPrice = tryGetInteger((assetId + "_recordPrice"))
286286 let newRecordPrice = max([recordPrice, bidAmount])
287287 let ArtistAddress = getNFTArtist(assetId)
288288 let artId = getArtId(assetId)
289289 let invokeTeamFeeSplit = invoke(valueOrErrorMessage(addressFromString(feeDapp), (feeDapp + " not found")), "payFeeResell", [artId, auctionOwner], [AttachedPayment(USDNAssetId, bidAmount)])
290290 if ((invokeTeamFeeSplit == invokeTeamFeeSplit))
291291 then {
292292 let transferres = invoke(this, "transferNft", [assetId, bidAuthor], nil)
293293 if ((transferres == transferres))
294294 then {
295295 let buyRes = [StringEntry((((("auction_" + auctionId) + "_bid_") + bidId) + "_status"), "finished"), StringEntry((("auction_" + auctionId) + "_status"), "finished"), StringEntry((((("assetId_" + assetId) + "_bid_") + bidId) + "_data"), (((((("{\"auctionId\": \"" + auctionId) + "\", \"author\": \"") + toString(i.caller)) + "\", \"amount\": \"") + toString(bidAmount)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + auctionId) + "_finalPrice"), bidAmount), IntegerEntry((assetId + "_recordPrice"), newRecordPrice), DeleteEntry(((((("address_" + bidAuthor) + "_auction_") + auctionId) + "_bid_") + bidId)), DeleteEntry((((("address_" + auctionOwner) + "_auction_") + auctionId) + "_lockedNFT"))]
296296 let res = invoke(addressFromStringValue(certDapp), "createCert", [bidAuthor, assetId, ArtistAddress], nil)
297297 if ((res == res))
298298 then buyRes
299299 else throw("Strict value is not equal to itself.")
300300 }
301301 else throw("Strict value is not equal to itself.")
302302 }
303303 else throw("Strict value is not equal to itself.")
304304 }
305305 }
306306
307307
308308 @Verifier(tx)
309309 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
310310

github/deemru/w8io/026f985 
42.82 ms