tx · E15mnxXgbDjUnzoFkykRdMZRBJk1gEB2na8mrE4HUeEN

3PPgeYTWMRZ7S7jSLpnVuKKB9r6XuDk3ndC:  -0.01400000 Waves

2022.05.15 09:53 [3117921] smart account 3PPgeYTWMRZ7S7jSLpnVuKKB9r6XuDk3ndC > SELF 0.00000000 Waves

{ "type": 13, "id": "E15mnxXgbDjUnzoFkykRdMZRBJk1gEB2na8mrE4HUeEN", "fee": 1400000, "feeAssetId": null, "timestamp": 1652597639825, "version": 2, "chainId": 87, "sender": "3PPgeYTWMRZ7S7jSLpnVuKKB9r6XuDk3ndC", "senderPublicKey": "AWoQVon5Ld79iWytFLN2MSSJr9ow7XEMVaH8emaRJp3Z", "proofs": [ "2YSep1A5nWQSpzLu9QtvaagQaPoqeJ6JDgDyCAVaBwV5BHqrAfnXUJDrpFabTt41q7A35rH7knHUnD3prULZHbcx" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAADAAAAABJuZnRDcmVhdGlvbkFkZHJlc3MBAAAAGgFXk93E0hfnIAr99yESTvDwdmcmgwN41FxMAAAAABZzaWduQXJ0Q29udHJhY3RBZGRyZXNzAQAAABoBV3tk1VvWnhe5qtPmj/wDXMjEFvibuoYp4gEAAAAIY2hlY2tORlQAAAACAAAABWFzc2V0AAAADWlzc3VlckFkZHJlc3MDAwMJAAAAAAAAAggIBQAAAAVhc3NldAAAAAZpc3N1ZXIAAAAFYnl0ZXMFAAAADWlzc3VlckFkZHJlc3MJAAAAAAAAAggFAAAABWFzc2V0AAAACGRlY2ltYWxzAAAAAAAAAAAABwkAAAAAAAACCAUAAAAFYXNzZXQAAAAKcmVpc3N1YWJsZQcHCQAAAAAAAAIIBQAAAAVhc3NldAAAAAhxdWFudGl0eQAAAAAAAAAAAQcAAAACAAAAAWkBAAAABGxvY2sAAAAABAAAAAphZGRyZXNzU3RyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAHYXNzZXRJZAkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAFYXNzZXQJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAQAAAAJYXNzZXREZXNjCAUAAAAFYXNzZXQAAAALZGVzY3JpcHRpb24DAwkAAAAAAAACCAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAAAAAEJAQAAAAhjaGVja05GVAAAAAIFAAAABWFzc2V0BQAAABZzaWduQXJ0Q29udHJhY3RBZGRyZXNzBwQAAAANcGFydHNPZlN0cmluZwkABLUAAAACBQAAAAlhc3NldERlc2MCAAAAASwEAAAACmNyZWF0b3JTdHIJAAEwAAAAAgkAAZEAAAACCQAEtQAAAAIJAAGRAAAAAgUAAAANcGFydHNPZlN0cmluZwAAAAAAAAAAAAIAAAABOgAAAAAAAAAAAQAAAAAAAAAAAQQAAAAIYXJ0SWRTdHIJAAEwAAAAAgkAAZEAAAACCQAEtQAAAAIJAAGRAAAAAgUAAAANcGFydHNPZlN0cmluZwAAAAAAAAAAAQIAAAABOgAAAAAAAAAAAQAAAAAAAAAAAQQAAAAEbmFtZQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAB0FkZHJlc3MAAAABBQAAABZzaWduQXJ0Q29udHJhY3RBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlhcnRfbmFtZV8FAAAACGFydElkU3RyAgAAAAFfBQAAAApjcmVhdG9yU3RyBAAAAAdhcnREZXNjCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAAHQWRkcmVzcwAAAAEFAAAAFnNpZ25BcnRDb250cmFjdEFkZHJlc3MJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACWFydF9kZXNjXwUAAAAIYXJ0SWRTdHICAAAAAV8FAAAACmNyZWF0b3JTdHIEAAAABmFydFVybAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAB0FkZHJlc3MAAAABBQAAABZzaWduQXJ0Q29udHJhY3RBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABBhcnRfZGlzcGxheV9jaWRfBQAAAAhhcnRJZFN0cgIAAAABXwUAAAAKY3JlYXRvclN0cgQAAAAKZGVzY1ByZWZpeAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtDcmVhdGVkIGJ5IAUAAAAKY3JlYXRvclN0cgIAAAACLiAFAAAABG5hbWUCAAAAAi4gBAAAAARkZXNjAwkAAGYAAAACCQABMQAAAAEFAAAAB2FydERlc2MAAAAAAAAAAAAJAAEsAAAAAgUAAAAKZGVzY1ByZWZpeAUAAAAHYXJ0RGVzYwkAASwAAAACBQAAAApkZXNjUHJlZml4AgAAABBORlQgZnJvbSBzaWduQXJ0BAAAAAlpbWFnZUxpbmsJAAEsAAAAAgIAAAAVaHR0cHM6Ly9pcGZzLmlvL2lwZnMvBQAAAAZhcnRVcmwDAwkAAGYAAAACCQABMQAAAAEFAAAABG5hbWUAAAAAAAAAAAAJAABmAAAAAgkAATEAAAABBQAAAAZhcnRVcmwAAAAAAAAAAAAHBAAAAA5zdGFrZWRORlRJZFN0cgQAAAAHJG1hdGNoMAkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEm5mdENyZWF0aW9uQWRkcmVzcwIAAAAJY3JlYXRlTkZUCQAETAAAAAIJAAEvAAAAAgUAAAAEbmFtZQAAAAAAAAAAEAkABEwAAAACCQABLwAAAAIFAAAABGRlc2MAAAAAAAAAA+gJAARMAAAAAgUAAAAJaW1hZ2VMaW5rCQAETAAAAAICAAAAB3NpZ25BcnQFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXgFAAAAByRtYXRjaDAFAAAAAXgJAAACAAAAAQIAAAArU29tZXRoaW5nIHdlbnQgd3JvbmcgZHVyaW5nIGNyZWF0aW9uIG9mIE5GVAMJAAAAAAAAAgUAAAAOc3Rha2VkTkZUSWRTdHIFAAAADnN0YWtlZE5GVElkU3RyCQAFFAAAAAIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAADnN0YWtlZE5GVElkU3RyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtzaWduQXJ0TmZ0XwkAAlgAAAABBQAAAAdhc3NldElkAgAAAAZfb3duZXIFAAAACmFkZHJlc3NTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAAC3NpZ25BcnROZnRfBQAAAA5zdGFrZWRORlRJZFN0cgIAAAAIX2Fzc2V0SWQJAAJYAAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsBQAAAA5zdGFrZWRORlRJZFN0cgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAZV3JvbmcgZGF0YSBmb3IgY3JlYXRlIE5GVAkAAAIAAAABAgAAABNJdmFsaWQgTkZUIGF0dGFjaGVkAAAAAWkBAAAABnVubG9jawAAAAAEAAAACmFkZHJlc3NTdHIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAtzdGFrZWRORlRJZAkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAOc3Rha2VkTkZUQXNzZXQJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAALc3Rha2VkTkZUSWQDAwkAAAAAAAACCAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAAAAAEJAQAAAAhjaGVja05GVAAAAAIFAAAADnN0YWtlZE5GVEFzc2V0BQAAABJuZnRDcmVhdGlvbkFkZHJlc3MHBAAAAA5zdGFrZWRORlRJZFN0cgkAAlgAAAABCAUAAAAOc3Rha2VkTkZUQXNzZXQAAAACaWQEAAAACmFzc2V0SWRTdHIJAQAAABFAZXh0ck5hdGl2ZSgxMDU4KQAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAtzaWduQXJ0TmZ0XwUAAAAOc3Rha2VkTkZUSWRTdHICAAAACF9hc3NldElkBAAAAAhvd25lclN0cgkBAAAAEUBleHRyTmF0aXZlKDEwNTgpAAAAAQkAASwAAAACCQABLAAAAAICAAAAC3NpZ25BcnROZnRfBQAAAAphc3NldElkU3RyAgAAAAZfb3duZXIEAAAAB2Fzc2V0SWQJAAJZAAAAAQUAAAAKYXNzZXRJZFN0cgQAAAADaW52CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAASbmZ0Q3JlYXRpb25BZGRyZXNzAgAAAAdidXJuTkZUBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIIBQAAAA5zdGFrZWRORlRBc3NldAAAAAJpZAAAAAAAAAAAAQUAAAADbmlsAwkAAAAAAAACBQAAAANpbnYFAAAAA2ludgMDCQAAZgAAAAIJAAExAAAAAQUAAAAIb3duZXJTdHIAAAAAAAAAAAAJAAAAAAAAAgUAAAAIb3duZXJTdHIFAAAACmFkZHJlc3NTdHIHCQAFFAAAAAIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABBQAAAAdhc3NldElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAtzaWduQXJ0TmZ0XwUAAAAOc3Rha2VkTkZUSWRTdHICAAAACF9hc3NldElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAtzaWduQXJ0TmZ0XwUAAAAKYXNzZXRJZFN0cgIAAAAGX293bmVyBQAAAANuaWwFAAAACmFzc2V0SWRTdHIJAAACAAAAAQIAAAAVVGhpcyBORlQgaXMgbm90IHlvdXJzCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAABNJdmFsaWQgTkZUIGF0dGFjaGVkAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXlN6g60", "height": 3117921, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 41GGy4MNSikjgnEVRUvCrLWkSypT69LpiR52zyd9zJZE Next: G1qNnk5WzEGwp73XeiUEsjUUSkG7nMiG4DM7SvvsQ45P Diff:
OldNewDifferences
3939 then (size(artUrl) > 0)
4040 else false)
4141 then {
42- let stakedNFTIdStr = match invoke(Address(nftCreationAddress), "createNFT", [take(name, 16), desc, imageLink, "signArt"], nil) {
42+ let stakedNFTIdStr = match invoke(Address(nftCreationAddress), "createNFT", [take(name, 16), take(desc, 1000), imageLink, "signArt"], nil) {
4343 case x: String =>
4444 x
4545 case _ =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let nftCreationAddress = base58'3PFQjjDMiZKQZdu5JqTHD7HwgSXyp9Rw9By'
55
66 let signArtContractAddress = base58'3PDBLdsUrcsiPxNbt8g2gQVoefKgzt3kJzV'
77
88 func checkNFT (asset,issuerAddress) = if (if (if ((asset.issuer.bytes == issuerAddress))
99 then (asset.decimals == 0)
1010 else false)
1111 then (asset.reissuable == false)
1212 else false)
1313 then (asset.quantity == 1)
1414 else false
1515
1616
1717 @Callable(i)
1818 func lock () = {
1919 let addressStr = toString(i.caller)
2020 let assetId = value(value(i.payments[0]).assetId)
2121 let asset = value(assetInfo(assetId))
2222 let assetDesc = asset.description
2323 if (if ((value(i.payments[0]).amount == 1))
2424 then checkNFT(asset, signArtContractAddress)
2525 else false)
2626 then {
2727 let partsOfString = split(assetDesc, ",")
2828 let creatorStr = drop(split(partsOfString[0], ":")[1], 1)
2929 let artIdStr = drop(split(partsOfString[1], ":")[1], 1)
3030 let name = getStringValue(Address(signArtContractAddress), ((("art_name_" + artIdStr) + "_") + creatorStr))
3131 let artDesc = getStringValue(Address(signArtContractAddress), ((("art_desc_" + artIdStr) + "_") + creatorStr))
3232 let artUrl = getStringValue(Address(signArtContractAddress), ((("art_display_cid_" + artIdStr) + "_") + creatorStr))
3333 let descPrefix = (((("Created by " + creatorStr) + ". ") + name) + ". ")
3434 let desc = if ((size(artDesc) > 0))
3535 then (descPrefix + artDesc)
3636 else (descPrefix + "NFT from signArt")
3737 let imageLink = ("https://ipfs.io/ipfs/" + artUrl)
3838 if (if ((size(name) > 0))
3939 then (size(artUrl) > 0)
4040 else false)
4141 then {
42- let stakedNFTIdStr = match invoke(Address(nftCreationAddress), "createNFT", [take(name, 16), desc, imageLink, "signArt"], nil) {
42+ let stakedNFTIdStr = match invoke(Address(nftCreationAddress), "createNFT", [take(name, 16), take(desc, 1000), imageLink, "signArt"], nil) {
4343 case x: String =>
4444 x
4545 case _ =>
4646 throw("Something went wrong during creation of NFT")
4747 }
4848 if ((stakedNFTIdStr == stakedNFTIdStr))
4949 then $Tuple2([ScriptTransfer(i.caller, 1, fromBase58String(stakedNFTIdStr)), StringEntry((("signArtNft_" + toBase58String(assetId)) + "_owner"), addressStr), StringEntry((("signArtNft_" + stakedNFTIdStr) + "_assetId"), toBase58String(assetId))], stakedNFTIdStr)
5050 else throw("Strict value is not equal to itself.")
5151 }
5252 else throw("Wrong data for create NFT")
5353 }
5454 else throw("Ivalid NFT attached")
5555 }
5656
5757
5858
5959 @Callable(i)
6060 func unlock () = {
6161 let addressStr = toString(i.caller)
6262 let stakedNFTId = value(value(i.payments[0]).assetId)
6363 let stakedNFTAsset = value(assetInfo(stakedNFTId))
6464 if (if ((value(i.payments[0]).amount == 1))
6565 then checkNFT(stakedNFTAsset, nftCreationAddress)
6666 else false)
6767 then {
6868 let stakedNFTIdStr = toBase58String(stakedNFTAsset.id)
6969 let assetIdStr = getStringValue((("signArtNft_" + stakedNFTIdStr) + "_assetId"))
7070 let ownerStr = getStringValue((("signArtNft_" + assetIdStr) + "_owner"))
7171 let assetId = fromBase58String(assetIdStr)
7272 let inv = invoke(Address(nftCreationAddress), "burnNFT", nil, [AttachedPayment(stakedNFTAsset.id, 1)])
7373 if ((inv == inv))
7474 then if (if ((size(ownerStr) > 0))
7575 then (ownerStr == addressStr)
7676 else false)
7777 then $Tuple2([ScriptTransfer(i.caller, 1, assetId), DeleteEntry((("signArtNft_" + stakedNFTIdStr) + "_assetId")), DeleteEntry((("signArtNft_" + assetIdStr) + "_owner"))], assetIdStr)
7878 else throw("This NFT is not yours")
7979 else throw("Strict value is not equal to itself.")
8080 }
8181 else throw("Ivalid NFT attached")
8282 }
8383
8484
8585 @Verifier(tx)
8686 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8787

github/deemru/w8io/3ef1775 
39.95 ms