tx · 2ZqgwgyRDySdDfH9ioTqLx33NW3LncfuYYTVGzcPXAEj

3P6fAxtw12pjFhayEfpcUWxgu2BHVCeP78A:  -0.01200000 Waves

2022.07.28 15:48 [3225189] smart account 3P6fAxtw12pjFhayEfpcUWxgu2BHVCeP78A > SELF 0.00000000 Waves

{ "type": 13, "id": "2ZqgwgyRDySdDfH9ioTqLx33NW3LncfuYYTVGzcPXAEj", "fee": 1200000, "feeAssetId": null, "timestamp": 1659012600483, "version": 2, "chainId": 87, "sender": "3P6fAxtw12pjFhayEfpcUWxgu2BHVCeP78A", "senderPublicKey": "A96wNJF8YTgx1J9Q4nK3oqNoExh6dPSyFAdEkmzN7XDa", "proofs": [ "5MebzS94qZizzB6XFg1izxVo3bGTFDTXqA3hu994GQRF42jivkT1VPW1tV7ZJtF6c4YD7XFgD8puN4KUCDS6dw7A" ], "script": "base64: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", "height": 3225189, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BKTR6cw4JsKbGpqZHXvDA1PiLgcD1oniRXe2Gtaa7p5S Next: D1RtvU5tez2ivvsxnfto8BSuWUeqjagcmkAjoWHJEah9 Diff:
OldNewDifferences
6969 else false
7070
7171
72-func getAddressForWrap (asset) = if (ifUltraStakingNft(asset))
73- then Address(nftUltraStakingWrapper)
74- else if (ifSignArtNft(asset))
75- then Address(nftSignArtWrapper)
76- else if (ifDuckNft(asset))
77- then Address(nftDuckWrapper)
78- else unit
72+func getAddressForWrap (asset) = if (ifSignArtNft(asset))
73+ then Address(nftSignArtWrapper)
74+ else if (ifDuckNft(asset))
75+ then Address(nftDuckWrapper)
76+ else unit
7977
8078
8179 func getAddressForUnwrap (nftStr) = {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let nftCreationAddress = base58'3PFQjjDMiZKQZdu5JqTHD7HwgSXyp9Rw9By'
55
66 let eagleBuyerAddress = base58'3P7FFQkgALLZDJpCf3smY517wjgPMswGoRP'
77
88 let signArtNftCreationAddress = base58'3PDBLdsUrcsiPxNbt8g2gQVoefKgzt3kJzV'
99
1010 let nftDuckWrapper = base58'3P3pDosq4GCwfJkvq4yqKvvoTwmoqc9qPmo'
1111
1212 let nftSignArtWrapper = base58'3PPgeYTWMRZ7S7jSLpnVuKKB9r6XuDk3ndC'
1313
1414 let nftUltraStakingWrapper = base58'3PKVgd6ds1xervK6bPXbEHBqg8ibTcf5HZk'
1515
1616 let incubatorAddress = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv'
1717
1818 let breederAddress = base58'3PDVuU45H7Eh5dmtNbnRNRStGwULA7NY6Hb'
1919
2020 let marketplaceContractAddress = base58'3PATXDVE53rKJtkwXYV3tvuLVS2fDtGtKCc'
2121
2222 func ifSignArtNft (asset) = if (if (if ((asset.issuer.bytes == signArtNftCreationAddress))
2323 then (asset.decimals == 0)
2424 else false)
2525 then (asset.reissuable == false)
2626 else false)
2727 then (asset.quantity == 1)
2828 else false
2929
3030
3131 func ifDuckNft (asset) = if (if (if (if ((asset.issuer.bytes == incubatorAddress))
3232 then true
3333 else (asset.issuer.bytes == breederAddress))
3434 then (asset.decimals == 0)
3535 else false)
3636 then (asset.reissuable == false)
3737 else false)
3838 then (asset.quantity == 1)
3939 else false
4040
4141
4242 func ifUltraStakingNft (asset) = {
4343 let isEagleNFT = match getString(Address(eagleBuyerAddress), (("art_" + toBase58String(asset.id)) + "_type")) {
4444 case s: String =>
4545 (s == "eagle")
4646 case _ =>
4747 false
4848 }
4949 let isAniaNFT = match getString(Address(nftCreationAddress), (("nft_" + toBase58String(asset.id)) + "_issuer")) {
5050 case s: String =>
5151 if ((s == "3PMki5sHBsQb4KgDknbUwsL3YgxaCzaZnCJ"))
5252 then contains(asset.name, "Bored Ania #")
5353 else false
5454 case _ =>
5555 false
5656 }
5757 if (isEagleNFT)
5858 then true
5959 else isAniaNFT
6060 }
6161
6262
6363 func isNftFromMarketplace (asset) = if (if (if ((asset.issuer.bytes == nftCreationAddress))
6464 then (asset.decimals == 0)
6565 else false)
6666 then (asset.reissuable == false)
6767 else false)
6868 then (asset.quantity == 1)
6969 else false
7070
7171
72-func getAddressForWrap (asset) = if (ifUltraStakingNft(asset))
73- then Address(nftUltraStakingWrapper)
74- else if (ifSignArtNft(asset))
75- then Address(nftSignArtWrapper)
76- else if (ifDuckNft(asset))
77- then Address(nftDuckWrapper)
78- else unit
72+func getAddressForWrap (asset) = if (ifSignArtNft(asset))
73+ then Address(nftSignArtWrapper)
74+ else if (ifDuckNft(asset))
75+ then Address(nftDuckWrapper)
76+ else unit
7977
8078
8179 func getAddressForUnwrap (nftStr) = {
8280 let isSignArt = match getString(Address(nftSignArtWrapper), (("signArtNft_" + nftStr) + "_assetId")) {
8381 case s: String =>
8482 (size(s) > 0)
8583 case _ =>
8684 false
8785 }
8886 let isDuck = match getString(Address(nftDuckWrapper), (("nft_" + nftStr) + "_duckId")) {
8987 case s: String =>
9088 (size(s) > 0)
9189 case _ =>
9290 false
9391 }
9492 let isUltraStaking = match getString(Address(nftUltraStakingWrapper), (("nft_" + nftStr) + "_assetId")) {
9593 case s: String =>
9694 (size(s) > 0)
9795 case _ =>
9896 false
9997 }
10098 if (isUltraStaking)
10199 then Address(nftUltraStakingWrapper)
102100 else if (isSignArt)
103101 then Address(nftSignArtWrapper)
104102 else if (isDuck)
105103 then Address(nftDuckWrapper)
106104 else unit
107105 }
108106
109107
110108 @Callable(i)
111109 func lockAndSellNFT (buyOutPrice,buyOutAssetId) = {
112110 let assetId = value(value(i.payments[0]).assetId)
113111 let asset = value(assetInfo(assetId))
114112 let wrapAddress = getAddressForWrap(asset)
115113 let stakedNFTIdStr = if (isDefined(wrapAddress))
116114 then {
117115 let lockedNftStr = match invoke(value(wrapAddress), "lock", nil, [i.payments[0]]) {
118116 case s: String =>
119117 s
120118 case _ =>
121119 throw(("Somthing wrong when lock NFT in address: " + toBase58String(value(wrapAddress).bytes)))
122120 }
123121 if ((lockedNftStr == lockedNftStr))
124122 then lockedNftStr
125123 else throw("Strict value is not equal to itself.")
126124 }
127125 else toBase58String(asset.id)
128126 if ((size(stakedNFTIdStr) > 0))
129127 then {
130128 let inv = invoke(Address(marketplaceContractAddress), "sellNFT", [buyOutPrice, buyOutAssetId], [AttachedPayment(fromBase58String(stakedNFTIdStr), 1)])
131129 if ((inv == inv))
132130 then nil
133131 else throw("Strict value is not equal to itself.")
134132 }
135133 else throw("The created NFT is invalid")
136134 }
137135
138136
139137
140138 @Callable(i)
141139 func cancelSellAndUnlock (nftId) = {
142140 let asset = value(assetInfo(fromBase58String(nftId)))
143141 let wrapAddress = getAddressForUnwrap(nftId)
144142 if (isNftFromMarketplace(asset))
145143 then {
146144 let canceledNftStr = match invoke(Address(marketplaceContractAddress), "cancelSell", [nftId], nil) {
147145 case s: String =>
148146 s
149147 case _ =>
150148 throw("Somthing wrong when cancel sell NFT")
151149 }
152150 if ((canceledNftStr == canceledNftStr))
153151 then if (isDefined(wrapAddress))
154152 then {
155153 let unlockedNftStr = match invoke(value(wrapAddress), "unlock", nil, [AttachedPayment(asset.id, 1)]) {
156154 case s: String =>
157155 s
158156 case _ =>
159157 throw(("Somthing wrong when unlock NFT in address: " + toBase58String(value(wrapAddress).bytes)))
160158 }
161159 if ((unlockedNftStr == unlockedNftStr))
162160 then [ScriptTransfer(i.caller, 1, fromBase58String(unlockedNftStr))]
163161 else throw("Strict value is not equal to itself.")
164162 }
165163 else [ScriptTransfer(i.caller, 1, fromBase58String(canceledNftStr))]
166164 else throw("Strict value is not equal to itself.")
167165 }
168166 else throw("Ivalid NFT attached")
169167 }
170168
171169
172170
173171 @Callable(i)
174172 func unlock () = {
175173 let asset = value(assetInfo(value(i.payments[0].assetId)))
176174 if (if (isNftFromMarketplace(asset))
177175 then (i.payments[0].amount == 1)
178176 else false)
179177 then {
180178 let assetIdStr = toBase58String(asset.id)
181179 let wrapAddress = getAddressForUnwrap(assetIdStr)
182180 if (isDefined(wrapAddress))
183181 then {
184182 let unlockedNftStr = match invoke(value(wrapAddress), "unlock", nil, [AttachedPayment(asset.id, 1)]) {
185183 case s: String =>
186184 s
187185 case _ =>
188186 throw(("Somthing wrong when unlock NFT in address: " + toBase58String(value(wrapAddress).bytes)))
189187 }
190188 if ((unlockedNftStr == unlockedNftStr))
191189 then $Tuple2([ScriptTransfer(i.caller, 1, fromBase58String(unlockedNftStr))], unlockedNftStr)
192190 else throw("Strict value is not equal to itself.")
193191 }
194192 else $Tuple2([ScriptTransfer(i.caller, 1, asset.id)], toBase58String(asset.id))
195193 }
196194 else throw("Ivalid NFT attached")
197195 }
198196
199197
200198
201199 @Callable(i)
202200 func buy (nftId) = {
203201 let boughtNft = match invoke(Address(marketplaceContractAddress), "buyNFT", [nftId], i.payments) {
204202 case s: String =>
205203 s
206204 case _ =>
207205 throw("Somthing wrong when buy NFT")
208206 }
209207 if ((boughtNft == boughtNft))
210208 then {
211209 let asset = value(assetInfo(fromBase58String(boughtNft)))
212210 if (if ((size(boughtNft) > 0))
213211 then isNftFromMarketplace(asset)
214212 else false)
215213 then {
216214 let wrapAddress = getAddressForUnwrap(nftId)
217215 if (isDefined(wrapAddress))
218216 then {
219217 let unlockedNftStr = match invoke(value(wrapAddress), "unlock", nil, [AttachedPayment(asset.id, 1)]) {
220218 case s: String =>
221219 s
222220 case _ =>
223221 throw(("Somthing wrong when unlock NFT in address: " + toBase58String(value(wrapAddress).bytes)))
224222 }
225223 if ((unlockedNftStr == unlockedNftStr))
226224 then [ScriptTransfer(i.caller, 1, fromBase58String(unlockedNftStr))]
227225 else throw("Strict value is not equal to itself.")
228226 }
229227 else [ScriptTransfer(i.caller, 1, fromBase58String(boughtNft))]
230228 }
231229 else throw("Ivalid bought NFT")
232230 }
233231 else throw("Strict value is not equal to itself.")
234232 }
235233
236234
237235 @Verifier(tx)
238236 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
239237

github/deemru/w8io/3ef1775 
50.28 ms