tx · FGnzGUWmsuFFqdXGeBLjDywFuFAphfsvXwMzEcjrGfwz

3PPgeYTWMRZ7S7jSLpnVuKKB9r6XuDk3ndC:  -0.01400000 Waves

2022.02.23 15:29 [3001386] smart account 3PPgeYTWMRZ7S7jSLpnVuKKB9r6XuDk3ndC > SELF 0.00000000 Waves

{ "type": 13, "id": "FGnzGUWmsuFFqdXGeBLjDywFuFAphfsvXwMzEcjrGfwz", "fee": 1400000, "feeAssetId": null, "timestamp": 1645619422108, "version": 2, "chainId": 87, "sender": "3PPgeYTWMRZ7S7jSLpnVuKKB9r6XuDk3ndC", "senderPublicKey": "AWoQVon5Ld79iWytFLN2MSSJr9ow7XEMVaH8emaRJp3Z", "proofs": [ "cfZ2zTJ138z6wJyuUnVuv6EkbtjnDQBBKpNKt6VcNmyHgJDCDWXpaPJDNStFNVU6hrFXhj9JBB9SmYHujmLVjTk" ], "script": "base64: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", "height": 3001386, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FP4VaqVD8u1zKawTuXvCFN194CogX8gwq7GsMrSAEWuZ Next: 6ravAR7wb5Ytc46doj4pyUcnJuLn6v12kcL9zfKH6Lep Diff:
OldNewDifferences
44 let nftCreationAddress = base58'3P8LVqVKhTViMJau96KNir6FhHr4WnfoW57'
55
66 let signArtContractAddress = base58'3PDBLdsUrcsiPxNbt8g2gQVoefKgzt3kJzV'
7-
8-let marketplaceContractAddress = base58'3PATXDVE53rKJtkwXYV3tvuLVS2fDtGtKCc'
97
108 func checkNFT (asset,issuerAddress) = if (if (if ((asset.issuer.bytes == issuerAddress))
119 then (asset.decimals == 0)
1715
1816
1917 @Callable(i)
20-func lockSignArt () = {
18+func lock () = {
2119 let addressStr = toString(i.caller)
2220 let assetId = value(value(i.payments[0]).assetId)
2321 let asset = value(assetInfo(assetId))
5856
5957
6058 @Callable(i)
61-func unlockSignArt () = {
59+func unlock () = {
6260 let addressStr = toString(i.caller)
6361 let stakedNFTId = value(value(i.payments[0]).assetId)
6462 let stakedNFTAsset = value(assetInfo(stakedNFTId))
8078 }
8179
8280
83-
84-@Callable(i)
85-func lockAndSellNFT (buyOutPrice,buyOutAssetId) = {
86- let stakedNFTIdStr = match invoke(this, "lockSignArt", nil, [i.payments[0]]) {
87- case s: String =>
88- s
89- case _ =>
90- throw("Somthing wrong when lock SignArt NFT")
91- }
92- if ((stakedNFTIdStr == stakedNFTIdStr))
93- then if ((size(stakedNFTIdStr) > 0))
94- then match invoke(Address(marketplaceContractAddress), "sellNFT", [buyOutPrice, buyOutAssetId], [AttachedPayment(fromBase58String(stakedNFTIdStr), 1)]) {
95- case _ =>
96- nil
97- }
98- else throw("Invalid created NFT")
99- else throw("Strict value is not equal to itself.")
100- }
101-
102-
10381 @Verifier(tx)
10482 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
10583
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let nftCreationAddress = base58'3P8LVqVKhTViMJau96KNir6FhHr4WnfoW57'
55
66 let signArtContractAddress = base58'3PDBLdsUrcsiPxNbt8g2gQVoefKgzt3kJzV'
7-
8-let marketplaceContractAddress = base58'3PATXDVE53rKJtkwXYV3tvuLVS2fDtGtKCc'
97
108 func checkNFT (asset,issuerAddress) = if (if (if ((asset.issuer.bytes == issuerAddress))
119 then (asset.decimals == 0)
1210 else false)
1311 then (asset.reissuable == false)
1412 else false)
1513 then (asset.quantity == 1)
1614 else false
1715
1816
1917 @Callable(i)
20-func lockSignArt () = {
18+func lock () = {
2119 let addressStr = toString(i.caller)
2220 let assetId = value(value(i.payments[0]).assetId)
2321 let asset = value(assetInfo(assetId))
2422 let assetDesc = asset.description
2523 if (if ((value(i.payments[0]).amount == 1))
2624 then checkNFT(asset, signArtContractAddress)
2725 else false)
2826 then {
2927 let partsOfString = split(assetDesc, ",")
3028 let creatorStr = drop(split(partsOfString[0], ":")[1], 1)
3129 let artIdStr = drop(split(partsOfString[1], ":")[1], 1)
3230 let name = getStringValue(Address(signArtContractAddress), ((("art_name_" + artIdStr) + "_") + creatorStr))
3331 let artDesc = getStringValue(Address(signArtContractAddress), ((("art_desc_" + artIdStr) + "_") + creatorStr))
3432 let artUrl = getStringValue(Address(signArtContractAddress), ((("art_display_cid_" + artIdStr) + "_") + creatorStr))
3533 let desc = if ((size(artDesc) > 0))
3634 then artDesc
3735 else "NFT from signArt"
3836 let imageLink = ("https://ipfs.io/ipfs/" + artUrl)
3937 if (if ((size(name) > 0))
4038 then (size(artUrl) > 0)
4139 else false)
4240 then {
4341 let stakedNFTIdStr = match invoke(Address(nftCreationAddress), "createNFT", [take(name, 16), desc, imageLink, "signArt"], nil) {
4442 case x: String =>
4543 x
4644 case _ =>
4745 throw("Something went wrong during creation of NFT")
4846 }
4947 if ((stakedNFTIdStr == stakedNFTIdStr))
5048 then $Tuple2([ScriptTransfer(i.caller, 1, fromBase58String(stakedNFTIdStr)), StringEntry((("signArtNft_" + toBase58String(assetId)) + "_owner"), addressStr), StringEntry((("signArtNft_" + stakedNFTIdStr) + "_assetId"), toBase58String(assetId))], stakedNFTIdStr)
5149 else throw("Strict value is not equal to itself.")
5250 }
5351 else throw("Wrong data for create NFT")
5452 }
5553 else throw("Ivalid NFT attached")
5654 }
5755
5856
5957
6058 @Callable(i)
61-func unlockSignArt () = {
59+func unlock () = {
6260 let addressStr = toString(i.caller)
6361 let stakedNFTId = value(value(i.payments[0]).assetId)
6462 let stakedNFTAsset = value(assetInfo(stakedNFTId))
6563 if (if ((value(i.payments[0]).amount == 1))
6664 then true
6765 else checkNFT(stakedNFTAsset, nftCreationAddress))
6866 then {
6967 let stakedNFTIdStr = toBase58String(stakedNFTAsset.id)
7068 let assetIdStr = getStringValue((("signArtNft_" + stakedNFTIdStr) + "_assetId"))
7169 let ownerStr = getStringValue((("signArtNft_" + assetIdStr) + "_owner"))
7270 let assetId = fromBase58String(assetIdStr)
7371 if (if ((size(ownerStr) > 0))
7472 then (ownerStr == addressStr)
7573 else false)
7674 then [ScriptTransfer(i.caller, 1, assetId), Burn(stakedNFTId, 1), DeleteEntry((("signArtNft_" + stakedNFTIdStr) + "_assetId")), DeleteEntry((("signArtNft_" + assetIdStr) + "_owner"))]
7775 else throw("This NFT is not yours")
7876 }
7977 else throw("Ivalid NFT attached")
8078 }
8179
8280
83-
84-@Callable(i)
85-func lockAndSellNFT (buyOutPrice,buyOutAssetId) = {
86- let stakedNFTIdStr = match invoke(this, "lockSignArt", nil, [i.payments[0]]) {
87- case s: String =>
88- s
89- case _ =>
90- throw("Somthing wrong when lock SignArt NFT")
91- }
92- if ((stakedNFTIdStr == stakedNFTIdStr))
93- then if ((size(stakedNFTIdStr) > 0))
94- then match invoke(Address(marketplaceContractAddress), "sellNFT", [buyOutPrice, buyOutAssetId], [AttachedPayment(fromBase58String(stakedNFTIdStr), 1)]) {
95- case _ =>
96- nil
97- }
98- else throw("Invalid created NFT")
99- else throw("Strict value is not equal to itself.")
100- }
101-
102-
10381 @Verifier(tx)
10482 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
10583

github/deemru/w8io/3ef1775 
88.01 ms