tx · 3aGqYGUhmHpimanQ8Ujifh6M5ZbNtPSxe7PPzSZJsfm2

3NBwZbvD45CscLGF78qTaDRBZ7mDBHt3Yib:  -0.01000000 Waves

2022.08.10 08:47 [2177946] smart account 3NBwZbvD45CscLGF78qTaDRBZ7mDBHt3Yib > SELF 0.00000000 Waves

{ "type": 13, "id": "3aGqYGUhmHpimanQ8Ujifh6M5ZbNtPSxe7PPzSZJsfm2", "fee": 1000000, "feeAssetId": null, "timestamp": 1660110459791, "version": 2, "chainId": 84, "sender": "3NBwZbvD45CscLGF78qTaDRBZ7mDBHt3Yib", "senderPublicKey": "3q3N8Kv49DbzNHyTB4A87UYz2DdquXCgP3GNCcD9Zj66", "proofs": [ "2a95UCq66FWEWB128nWZjZUJg7nPLnyahFEbwCU48hq6WmsthY57kZFAM6mwQfkWvF4AGypvZYEr144wLsx1phte" ], "script": "base64:AAIFAAAAAAAAAC0IAhIGCgQICAgIEgQKAggBEgQKAggIEgQKAggIEgQKAggIEgQKAgQIEgMKAQgAAAAxAAAAAAtDT05GX0lOSVRfSwIAAAALY29uZmlnX2luaXQAAAAAC0NPTkZfQU1JTl9LAgAAAAxjb25maWdfYWRtaW4AAAAADUNPTkZfT1JBQ0xFX0sCAAAADWNvbmZpZ19vcmFjbGUAAAAAE0NPTkZfQVJUV09SS19EQVBQX0sCAAAAE2NvbmZpZ19hcnR3b3JrX2RhcHAAAAAAEUNPTkZfVVNFUlNfREFQUF9LAgAAABFjb25maWdfdXNlcnNfZGFwcAAAAAAQQ09ORl9GRUVfQVNTRVRfSwIAAAAQY29uZmlnX2ZlZV9hc3NldAAAAAARQ09ORl9GRUVfQU1PVU5UX0sCAAAAEWNvbmZpZ19mZWVfYW1vdW50AAAAAA5kYXBwUnVubmluZ0tleQIAAAAUY29uZl9kYXBwX2lzX3J1bm5pbmcAAAAAEW1haW50ZW5hbmNlTVNHS2V5AgAAABRjb25mX21haW50ZW5hbmNlX21zZwAAAAALZGFwcFJ1bm5pbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAAOZGFwcFJ1bm5pbmdLZXkGAAAAAA5tYWludGVuYW5jZU1TRwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAABFtYWludGVuYW5jZU1TR0tleQIAAAAAAAAAAA1zdGF0dXNfTE9DS0VEAgAAAAZMT0NLRUQAAAAAD3N0YXR1c19VTkxPQ0tFRAIAAAAIVU5MT0NLRUQAAAAADnN0YXR1c19QRU5ESU5HAgAAAAdQRU5ESU5HAAAAAA1zdGF0dXNfQ0xPU0VEAgAAAAZDTE9TRUQAAAAAEWNyZWF0b3JSZWdpc3RlcmVkAgAAAApSRUdJU1RFUkVEAAAAAA9jcmVhdG9yVmVyaWZpZWQCAAAACFZFUklGSUVEAAAAAAphcnRGbGFnZ2VkAgAAAAdGTEFHR0VEAAAAAAphcnRJbGxlZ2FsAgAAAAdJTExFR0FMAAAAAAphcnRQZW5kaW5nAgAAAA9DSEFOR0VfUkVRVUlSRUQAAAAACE5FVFdPUktTCQAETAAAAAICAAAAA0VUSAkABEwAAAACAgAAAAdQT0xZR09OBQAAAANuaWwBAAAADGtleU5GVHN0YXR1cwAAAAEAAAAFbmZ0SWQJAAEsAAAAAgkAASwAAAACAgAAAARuZnRfBQAAAAVuZnRJZAIAAAAHX3N0YXR1cwEAAAAOa2V5VHJhbnNmZXJORlQAAAACAAAABW5mdElkAAAABHR4aWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACXRyYW5zZmVyXwUAAAAFbmZ0SWQCAAAAAV8FAAAABHR4aWQAAAAAD2tleUZlZU5vbk1pbnRlZAIAAAAPY29zdF9ub25fbWludGVkAAAAAAxrZXlGZWVNaW50ZWQCAAAAC2Nvc3RfbWludGVkAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQIAAAAAAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkAAAAAAAAAAAABAAAAD2dldEJvb2xlYW5CeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQcAAAAABWFkbWluCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAC0NPTkZfQU1JTl9LAAAAAAxhcnR3b3Jrc0RhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAATQ09ORl9BUlRXT1JLX0RBUFBfSwAAAAAJdXNlcnNEYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAEUNPTkZfVVNFUlNfREFQUF9LAAAAAApvcmFjbGVBZGRyCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAADUNPTkZfT1JBQ0xFX0sAAAAAEGZlZUFjY2VwdGVkQXNzZXQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAEENPTkZfRkVFX0FTU0VUX0sAAAAAGGZlZUFjY2VwdGVkQW1vdW50Rm9yU2lnbgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEFAAAAEUNPTkZfRkVFX0FNT1VOVF9LAQAAABdnZXRTdHJpbmdGcm9tVXNlcnNCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAACXVzZXJzRGFwcAUAAAADa2V5AgAAAAABAAAAGmdldFN0cmluZ0Zyb21BcnR3b3Jrc0J5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAMYXJ0d29ya3NEYXBwBQAAAANrZXkCAAAAAAEAAAAZZ2V0SW50ZWdlckJ5S2V5RnJvbU9yYWNsZQAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAKb3JhY2xlQWRkcgUAAAADa2V5AgAAAB9JbnRlZ2VyIHVuZGVmaW5lIG9yIDAgaW4gb3JhY2xlAQAAAAxhc3NldElzVmFsaWQAAAABAAAADGFzc2V0RGV0YWlscwMDAwkAAAAAAAACCAUAAAAMYXNzZXREZXRhaWxzAAAACHF1YW50aXR5AAAAAAAAAAABCQAAAAAAAAIIBQAAAAxhc3NldERldGFpbHMAAAAIZGVjaW1hbHMAAAAAAAAAAAAHCQAAAAAAAAIIBQAAAAxhc3NldERldGFpbHMAAAAKcmVpc3N1YWJsZQcHCQAAAAAAAAIIBQAAAAxhc3NldERldGFpbHMAAAAGaXNzdWVyBQAAAAxhcnR3b3Jrc0RhcHAHAQAAAAxpc1NpZ25BcnRORlQAAAABAAAAAmlkBAAAAAxhc3NldERldGFpbHMJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAACaWQJAQAAAAxhc3NldElzVmFsaWQAAAABBQAAAAxhc3NldERldGFpbHMBAAAACWlzUGF5bWVudAAAAAEAAAABaQMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAABNObyBwYXltZW50IGF0dGFjaGVkBAAAAAtuZnRfcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAKbmZ0X2Ftb3VudAkBAAAABXZhbHVlAAAAAQgFAAAAC25mdF9wYXltZW50AAAABmFtb3VudAQAAAAPZ2F0ZXdheV9wYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABBAAAAA5nYXRld2F5X2Ftb3VudAkBAAAABXZhbHVlAAAAAQgFAAAAD2dhdGV3YXlfcGF5bWVudAAAAAZhbW91bnQJAAUWAAAABAUAAAALbmZ0X3BheW1lbnQFAAAACm5mdF9hbW91bnQFAAAAD2dhdGV3YXlfcGF5bWVudAUAAAAOZ2F0ZXdheV9hbW91bnQAAAAABmlzSW5pdAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAD2dldEJvb2xlYW5CeUtleQAAAAEFAAAAC0NPTkZfSU5JVF9LBwEAAAAJb3duZXJPbmx5AAAAAQAAAAFpBAAAAAZjYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAJpZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAAphbGxvd2VkQXJyAwUAAAAGaXNJbml0CQAETAAAAAIJAAQlAAAAAQUAAAAFYWRtaW4JAARMAAAAAgkABCUAAAABBQAAAAR0aGlzBQAAAANuaWwJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzBQAAAANuaWwDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAKYWxsb3dlZEFycgUAAAAGY2FsbGVyBgcBAAAADGlkQ2FsbGVyRGF0ZQAAAAEAAAABaQMJAQAAAAEhAAAAAQUAAAALZGFwcFJ1bm5pbmcJAAACAAAAAQUAAAAObWFpbnRlbmFuY2VNU0cJAAUVAAAAAwkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAQAAABNnZXRDcmVhdG9yRnJvbU5GVGlkAAAAAQAAAAVuZnRpZAQAAAAHbmZ0RGF0YQkBAAAAGmdldFN0cmluZ0Zyb21BcnR3b3Jrc0J5S2V5AAAAAQkAASwAAAACAgAAAARuZnRfBQAAAAVuZnRpZAQAAAAHY3JlYXRvcgkAAZEAAAACCQAEtQAAAAIFAAAAB25mdERhdGECAAAAAV8AAAAAAAAAAAYEAAAABWFydElkCQABkQAAAAIJAAS1AAAAAgUAAAAHbmZ0RGF0YQIAAAABXwAAAAAAAAAABQkABRQAAAACBQAAAAdjcmVhdG9yBQAAAAVhcnRJZAEAAAATZ2V0Q3JlYXRvckVSQzIwQWRkcgAAAAEAAAAEYWRkcgQAAAAJZXJjMjBBZGRyCQEAAAAXZ2V0U3RyaW5nRnJvbVVzZXJzQnlLZXkAAAABCQABLAAAAAICAAAAC3VzZXJfRVJDMjBfBQAAAARhZGRyBQAAAAllcmMyMEFkZHIBAAAAEGdldENyZWF0b3JTdGF0dXMAAAABAAAABGFkZHIEAAAABnN0YXR1cwkBAAAAF2dldFN0cmluZ0Zyb21Vc2Vyc0J5S2V5AAAAAQkAASwAAAACAgAAAAx1c2VyX3N0YXR1c18FAAAABGFkZHIFAAAABnN0YXR1cwEAAAAMZ2V0QXJ0U3RhdHVzAAAAAQAAAAVhcnRJZAQAAAAGc3RhdHVzCQEAAAAaZ2V0U3RyaW5nRnJvbUFydHdvcmtzQnlLZXkAAAABCQABLAAAAAICAAAADHVzZXJfc3RhdHVzXwUAAAAFYXJ0SWQFAAAABnN0YXR1cwEAAAAOaXNWYWxpZENyZWF0b3IAAAABAAAABnN0YXR1cwMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAABFjcmVhdG9yUmVnaXN0ZXJlZAYJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAA9jcmVhdG9yVmVyaWZpZWQBAAAACmlzVmFsaWRBcnQAAAABAAAABWFydElkAwMJAQAAAAIhPQAAAAIFAAAABWFydElkBQAAAAphcnRGbGFnZ2VkBgkBAAAAAiE9AAAAAgUAAAAFYXJ0SWQFAAAACmFydElsbGVnYWwGCQEAAAACIT0AAAACBQAAAAVhcnRJZAUAAAAKYXJ0UGVuZGluZwAAAAcAAAABaQEAAAAEaW5pdAAAAAQAAAAJYWRtaW5BZGRyAAAACm9yYWNsZUFkZHIAAAAMYXJ0d29ya3NEYXBwAAAACXVzZXJzRGFwcAMJAQAA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AAIAAAABCQABLAAAAAICAAAAE0NyZWF0b3Igc3RhdHVzIGlzIDoJAQAAABBnZXRDcmVhdG9yU3RhdHVzAAAAAQUAAAAHY3JlYXRvcgMJAQAAAAEhAAAAAQkBAAAACmlzVmFsaWRBcnQAAAABCQEAAAAMZ2V0QXJ0U3RhdHVzAAAAAQUAAAAFYXJ0SWQJAAACAAAAAQkAASwAAAACAgAAABNBcnR3b3JrIHN0YXR1cyBpcyA6CQEAAAAMZ2V0QXJ0U3RhdHVzAAAAAQUAAAAFYXJ0SWQEAAAACWVyYzIwQWRkcgkBAAAAE2dldENyZWF0b3JFUkMyMEFkZHIAAAABBQAAAAdjcmVhdG9yAwkAAAAAAAACCQABMQAAAAEFAAAACWVyYzIwQWRkcgAAAAAAAAAAAAkAAAIAAAABAgAAACxUaGlzIGFydGlzdCBkaWRuJ3QgYWxsb3cgY3Jvc3NjaGFpbiB0cmFuc2ZlcgQAAAAJbmZ0U3RhdHVzCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAMa2V5TkZUc3RhdHVzAAAAAQUAAAAFbmZ0SWQDAwkAAAAAAAACBQAAAAluZnRTdGF0dXMFAAAADXN0YXR1c19MT0NLRUQGCQAAAAAAAAIFAAAACW5mdFN0YXR1cwUAAAAOc3RhdHVzX1BFTkRJTkcJAAACAAAAAQIAAAASTkZUIGFscmVhZHkgbG9ja2VkBAAAAA9nYXNGZWVOb25NaW50ZWQJAQAAABlnZXRJbnRlZ2VyQnlLZXlGcm9tT3JhY2xlAAAAAQUAAAAPa2V5RmVlTm9uTWludGVkBAAAAAxnYXNGZWVNaW50ZWQJAQAAABlnZXRJbnRlZ2VyQnlLZXlGcm9tT3JhY2xlAAAAAQUAAAAMa2V5RmVlTWludGVkBAAAAAhpc01pbnRlZAMJAAAAAAAAAgUAAAAJbmZ0U3RhdHVzBQAAAA9zdGF0dXNfVU5MT0NLRUQGBwMDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAPZ2F0ZXdheV9wYXltZW50AAAAB2Fzc2V0SWQGCQEAAAACIT0AAAACCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAA9nYXRld2F5X3BheW1lbnQAAAAHYXNzZXRJZAUAAAAQZmVlQWNjZXB0ZWRBc3NldAkAAAIAAAABAgAAABNXcm9uZyBwYXltZW50IGFzc2V0AwMFAAAACGlzTWludGVkCQAAZgAAAAIJAABkAAAAAgUAAAAOZ2F0ZXdheV9hbW91bnQFAAAAGGZlZUFjY2VwdGVkQW1vdW50Rm9yU2lnbgUAAAAMZ2FzRmVlTWludGVkBwkAAAIAAAABAgAAAB5Xcm9uZyBwYXltZW50IGFtb3VudCB0byB1bmxvY2sDAwkBAAAAASEAAAABBQAAAAhpc01pbnRlZAkAAGYAAAACCQAAZAAAAAIFAAAADmdhdGV3YXlfYW1vdW50BQAAABhmZWVBY2NlcHRlZEFtb3VudEZvclNpZ24FAAAAD2dhc0ZlZU5vbk1pbnRlZAcJAAACAAAAAQIAAAAnV3JvbmcgcGF5bWVudCBhbW91bnQgdG8gbWludCBhbmQgdW5sb2NrCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxrZXlORlRzdGF0dXMAAAABBQAAAAVuZnRJZAUAAAAOc3RhdHVzX1BFTkRJTkcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAQAAAA5rZXlUcmFuc2Zlck5GVAAAAAIFAAAABW5mdElkBQAAAAJpZAIAAAABXwUAAAAOc3RhdHVzX1BFTkRJTkcJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACXJlY2lwaWVudAIAAAABXwUAAAAHbmV0d29yawIAAAABXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAJpZAIAAAABXwgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAC25mdF9wYXltZW50AAAAB2Fzc2V0SWQAAAAEbmFtZQIAAAABXwkAAaQAAAABBQAAAARkYXRlAgAAAAFfCQABpAAAAAEFAAAABmhlaWdodAUAAAADbmlsAAAAAWkBAAAAC2NvbmZpcm1Mb2NrAAAAAgAAAAVuZnRJZAAAAAp0cmFuc2ZlcklkAwkBAAAAASEAAAABBQAAAAZpc0luaXQJAAACAAAAAQIAAAAOZEFwcCBub3QgcmVhZHkDCQEAAAAJb3duZXJPbmx5AAAAAQUAAAABaQQAAAAJbmZ0U3RhdHVzCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAMa2V5TkZUc3RhdHVzAAAAAQUAAAAFbmZ0SWQDCQEAAAACIT0AAAACBQAAAAluZnRTdGF0dXMFAAAADnN0YXR1c19QRU5ESU5HCQAAAgAAAAECAAAAD05GVCBub3QgcGVuZGluZwQAAAADdmFsCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQABLAAAAAIJAAEsAAAAAgkBAAAADmtleVRyYW5zZmVyTkZUAAAAAgUAAAAFbmZ0SWQFAAAACnRyYW5zZmVySWQCAAAAAV8FAAAADnN0YXR1c19QRU5ESU5HBAAAAAZuZXdLZXkJAAEsAAAAAgkAASwAAAACCQEAAAAOa2V5VHJhbnNmZXJORlQAAAACBQAAAAVuZnRJZAUAAAAKdHJhbnNmZXJJZAIAAAABXwUAAAANc3RhdHVzX0NMT1NFRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkBAAAADmtleVRyYW5zZmVyTkZUAAAAAgUAAAAFbmZ0SWQFAAAACnRyYW5zZmVySWQCAAAAAV8FAAAADnN0YXR1c19QRU5ESU5HCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABm5ld0tleQUAAAADdmFsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxrZXlORlRzdGF0dXMAAAABBQAAAAVuZnRJZAUAAAANc3RhdHVzX0xPQ0tFRAUAAAADbmlsCQAAAgAAAAECAAAAC05vdCBhbGxvd2VkAAAAAWkBAAAABnVubG9jawAAAAIAAAAJcmVjaXBpZW50AAAABW5mdElkAwkBAAAAASEAAAABBQAAAAZpc0luaXQJAAACAAAAAQIAAAAOZEFwcCBub3QgcmVhZHkDCQEAAAAJb3duZXJPbmx5AAAAAQUAAAABaQQAAAAJbmZ0U3RhdHVzCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAMa2V5TkZUc3RhdHVzAAAAAQUAAAAFbmZ0SWQDCQEAAAACIT0AAAACBQAAAAluZnRTdGF0dXMFAAAADXN0YXR1c19MT0NLRUQJAAACAAAAAQIAAAApTkZUIG5vdCBsb2NrZWQsIGZpbmFsaXplIGZpcnN0IGlmIHBlbmRpbmcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADGtleU5GVHN0YXR1cwAAAAEFAAAABW5mdElkBQAAAA9zdGF0dXNfVU5MT0NLRUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAACXJlY2lwaWVudAAAAAAAAAAAAQkAAlkAAAABBQAAAAVuZnRJZAUAAAADbmlsCQAAAgAAAAECAAAAC05vdCBhbGxvd2VkAAAAAWkBAAAACmFwcFJ1bm5pbmcAAAACAAAABmlzTGl2ZQAAAAdtZXNzYWdlAwkBAAAAASEAAAABBQAAAAZpc0luaXQJAAACAAAAAQIAAAAOZEFwcCBub3QgcmVhZHkDCQEAAAAJb3duZXJPbmx5AAAAAQUAAAABaQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAOZGFwcFJ1bm5pbmdLZXkFAAAABmlzTGl2ZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABFtYWludGVuYW5jZU1TR0tleQUAAAAHbWVzc2FnZQUAAAADbmlsCQAAAgAAAAECAAAAIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoaXMAAAABaQEAAAALZGVsZXRlRW50cnkAAAABAAAABWVudHJ5AwkBAAAACW93bmVyT25seQAAAAEFAAAAAWkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAFZW50cnkFAAAAA25pbAkAAAIAAAABAgAAAAJubwAAAAAFJkUV", "height": 2177946, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: a7ZiuokMsqt4fkEypEM66ff7HoLfBXpczvTQSvtiuSv Next: 7pptHg1fqj5afMtT5LxL6hAQyWaUiMpzCpJcbYW5GLrd Diff:
OldNewDifferences
3131
3232 let o = "CLOSED"
3333
34-let p = ["ETH", "POLYGON"]
34+let p = "REGISTERED"
3535
36-func q (r) = (("nft_" + r) + "_status")
36+let q = "VERIFIED"
37+
38+let r = "FLAGGED"
39+
40+let s = "ILLEGAL"
41+
42+let t = "CHANGE_REQUIRED"
43+
44+let u = ["ETH", "POLYGON"]
45+
46+func v (w) = (("nft_" + w) + "_status")
3747
3848
39-func s (r,t) = ((("transfer_" + r) + "_") + t)
49+func x (w,y) = ((("transfer_" + w) + "_") + y)
4050
4151
42-let u = "cost_non_minted"
52+let z = "cost_non_minted"
4353
44-let v = "cost_minted"
54+let A = "cost_minted"
4555
46-func w (x) = valueOrElse(getString(this, x), "")
56+func B (C) = valueOrElse(getString(this, C), "")
4757
4858
49-func y (x) = valueOrElse(getInteger(this, x), 0)
59+func D (C) = valueOrElse(getInteger(this, C), 0)
5060
5161
52-func z (x) = valueOrElse(getBoolean(this, x), false)
62+func E (C) = valueOrElse(getBoolean(this, C), false)
5363
5464
55-let A = value(addressFromString(w(b)))
65+let F = value(addressFromString(B(b)))
5666
57-let B = value(addressFromString(w(d)))
67+let G = value(addressFromString(B(d)))
5868
59-let C = value(addressFromString(w(e)))
69+let H = value(addressFromString(B(e)))
6070
61-let D = value(addressFromString(w(c)))
71+let I = value(addressFromString(B(c)))
6272
63-let E = w(f)
73+let J = B(f)
6474
65-let F = y(g)
75+let K = D(g)
6676
67-func G (x) = valueOrElse(getString(C, x), "")
77+func L (C) = valueOrElse(getString(H, C), "")
6878
6979
70-func H (x) = valueOrElse(getString(B, x), "")
80+func M (C) = valueOrElse(getString(G, C), "")
7181
7282
73-func I (x) = valueOrErrorMessage(getInteger(D, x), "Integer undefine or 0 in oracle")
83+func N (C) = valueOrErrorMessage(getInteger(I, C), "Integer undefine or 0 in oracle")
7484
7585
76-func J (K) = if (if (if ((K.quantity == 1))
77- then (K.decimals == 0)
86+func O (P) = if (if (if ((P.quantity == 1))
87+ then (P.decimals == 0)
7888 else false)
79- then (K.reissuable == false)
89+ then (P.reissuable == false)
8090 else false)
81- then (K.issuer == B)
91+ then (P.issuer == G)
8292 else false
8393
8494
85-func L (M) = {
86- let K = value(assetInfo(M))
87- J(K)
95+func Q (R) = {
96+ let P = value(assetInfo(R))
97+ O(P)
8898 }
8999
90100
91-func N (O) = if ((size(O.payments) == 0))
101+func S (T) = if ((size(T.payments) == 0))
92102 then throw("No payment attached")
93103 else {
94- let P = value(O.payments[0])
95- let Q = value(P.amount)
96- let R = value(O.payments[1])
97- let S = value(R.amount)
98- $Tuple4(P, Q, R, S)
104+ let U = value(T.payments[0])
105+ let V = value(U.amount)
106+ let W = value(T.payments[1])
107+ let X = value(W.amount)
108+ $Tuple4(U, V, W, X)
99109 }
100110
101111
102-let T = valueOrElse(z(a), false)
112+let Y = valueOrElse(E(a), false)
103113
104-func U (O) = {
105- let V = toString(O.caller)
106- let M = toBase58String(O.transactionId)
107- let W = if (T)
108- then [toString(A), toString(this)]
114+func Z (T) = {
115+ let aa = toString(T.caller)
116+ let R = toBase58String(T.transactionId)
117+ let ab = if (Y)
118+ then [toString(F), toString(this)]
109119 else [toString(this)]
110- if (containsElement(W, V))
120+ if (containsElement(ab, aa))
111121 then true
112122 else false
113123 }
114124
115125
116-func X (O) = if (!(j))
126+func ac (T) = if (!(j))
117127 then throw(k)
118- else $Tuple3(toBase58String(O.transactionId), toBase58String(O.caller.bytes), lastBlock.timestamp)
128+ else $Tuple3(toBase58String(T.transactionId), toBase58String(T.caller.bytes), lastBlock.timestamp)
119129
120130
121-func Y (Z) = {
122- let aa = H(("nft_" + Z))
123- let ab = split(aa, "_")[6]
124- ab
131+func ad (ae) = {
132+ let af = M(("nft_" + ae))
133+ let ag = split(af, "_")[6]
134+ let ah = split(af, "_")[5]
135+ $Tuple2(ag, ah)
125136 }
126137
127138
128-func ac (ad) = {
129- let ae = G(("user_ERC20_" + ad))
130- ae
139+func ai (aj) = {
140+ let ak = L(("user_ERC20_" + aj))
141+ ak
131142 }
132143
133144
134-@Callable(O)
135-func init (af,D,B,C) = if (U(O))
136- then [StringEntry(b, af), StringEntry(c, D), StringEntry(d, B), StringEntry(e, C), BooleanEntry(a, true)]
145+func al (aj) = {
146+ let am = L(("user_status_" + aj))
147+ am
148+ }
149+
150+
151+func an (ah) = {
152+ let am = M(("user_status_" + ah))
153+ am
154+ }
155+
156+
157+func ao (am) = if ((am == p))
158+ then true
159+ else (am == q)
160+
161+
162+func ap (ah) = if (if ((ah != r))
163+ then true
164+ else (ah != s))
165+ then true
166+ else (ah != t)
167+
168+
169+@Callable(T)
170+func init (aq,I,G,H) = if (Z(T))
171+ then [StringEntry(b, aq), StringEntry(c, I), StringEntry(d, G), StringEntry(e, H), BooleanEntry(a, true)]
137172 else throw("Not allowed")
138173
139174
140175
141-@Callable(O)
142-func setFee (ag,ah) = {
143- let K = assetInfo(fromBase58String(ag))
144- let ai = value(K).decimals
145- let aj = pow(ah, 0, 10, 1, ai, HALFUP)
146- if (U(O))
147- then [StringEntry(f, ag), IntegerEntry(g, aj)]
176+@Callable(T)
177+func setFee (ar,as) = {
178+ let P = assetInfo(fromBase58String(ar))
179+ let at = value(P).decimals
180+ let au = pow(as, 0, 10, 1, at, HALFUP)
181+ if (Z(T))
182+ then [StringEntry(f, ar), IntegerEntry(g, au)]
148183 else throw("Not allowed")
149184 }
150185
151186
152187
153-@Callable(O)
154-func lock (ak,al) = if (!(T))
188+@Callable(T)
189+func lock (av,aw) = if (!(Y))
155190 then throw("dApp not ready")
156- else if (!(containsElement(p, al)))
191+ else if (!(containsElement(u, aw)))
157192 then throw("Network not supported")
158193 else {
159- let am = X(O)
160- let M = am._1
161- let V = am._2
162- let an = am._3
163- let ao = N(O)
164- let P = ao._1
165- let Q = ao._2
166- let R = ao._3
167- let S = ao._4
168- if ((Q != 1))
194+ let ax = ac(T)
195+ let R = ax._1
196+ let aa = ax._2
197+ let ay = ax._3
198+ let az = S(T)
199+ let U = az._1
200+ let V = az._2
201+ let W = az._3
202+ let X = az._4
203+ if ((V != 1))
169204 then throw("No NFT attached")
170205 else {
171- let r = if (if (isDefined(P.assetId))
172- then L(value(P.assetId))
206+ let w = if (if (isDefined(U.assetId))
207+ then Q(value(U.assetId))
173208 else false)
174- then toBase58String(value(P.assetId))
209+ then toBase58String(value(U.assetId))
175210 else throw("Only SIGN Art NFT accepted.")
176- let ap = Y(r)
177- let ae = ac(ap)
178- if ((size(ae) == 0))
179- then throw("This artist didn't allow crosschain transfer")
180- else {
181- let aq = w(q(r))
182- if (if ((aq == l))
183- then true
184- else (aq == n))
185- then throw("NFT already locked")
186- else {
187- let ar = I(u)
188- let as = I(v)
189- let at = if ((aq == m))
190- then true
191- else false
192- if (if (!(isDefined(R.assetId)))
193- then true
194- else (toBase58String(value(R.assetId)) != E))
195- then throw("Wrong payment asset")
196- else if (if (at)
197- then ((S + F) > as)
198- else false)
199- then throw("Wrong payment amount to unlock")
200- else if (if (!(at))
201- then ((S + F) > ar)
202- else false)
203- then throw("Wrong payment amount to mint and unlock")
204- else [StringEntry(q(r), n), StringEntry(((s(r, M) + "_") + n), ((((((((((((ak + "_") + al) + "_") + V) + "_") + M) + "_") + value(assetInfo(value(P.assetId))).name) + "_") + toString(an)) + "_") + toString(height)))]
205- }
206- }
211+ let aA = ad(w)
212+ let ag = aA._1
213+ let ah = aA._2
214+ if (!(ao(al(ag))))
215+ then throw(("Creator status is :" + al(ag)))
216+ else if (!(ap(an(ah))))
217+ then throw(("Artwork status is :" + an(ah)))
218+ else {
219+ let ak = ai(ag)
220+ if ((size(ak) == 0))
221+ then throw("This artist didn't allow crosschain transfer")
222+ else {
223+ let aB = B(v(w))
224+ if (if ((aB == l))
225+ then true
226+ else (aB == n))
227+ then throw("NFT already locked")
228+ else {
229+ let aC = N(z)
230+ let aD = N(A)
231+ let aE = if ((aB == m))
232+ then true
233+ else false
234+ if (if (!(isDefined(W.assetId)))
235+ then true
236+ else (toBase58String(value(W.assetId)) != J))
237+ then throw("Wrong payment asset")
238+ else if (if (aE)
239+ then ((X + K) > aD)
240+ else false)
241+ then throw("Wrong payment amount to unlock")
242+ else if (if (!(aE))
243+ then ((X + K) > aC)
244+ else false)
245+ then throw("Wrong payment amount to mint and unlock")
246+ else [StringEntry(v(w), n), StringEntry(((x(w, R) + "_") + n), ((((((((((((av + "_") + aw) + "_") + aa) + "_") + R) + "_") + value(assetInfo(value(U.assetId))).name) + "_") + toString(ay)) + "_") + toString(height)))]
247+ }
248+ }
249+ }
207250 }
208251 }
209252
210253
211254
212-@Callable(O)
213-func confirmLock (r,au) = if (!(T))
255+@Callable(T)
256+func confirmLock (w,aF) = if (!(Y))
214257 then throw("dApp not ready")
215- else if (U(O))
258+ else if (Z(T))
216259 then {
217- let aq = w(q(r))
218- if ((aq != n))
260+ let aB = B(v(w))
261+ if ((aB != n))
219262 then throw("NFT not pending")
220263 else {
221- let av = w(((s(r, au) + "_") + n))
222- let aw = ((s(r, au) + "_") + o)
223-[DeleteEntry(((s(r, au) + "_") + n)), StringEntry(aw, av), StringEntry(q(r), l)]
264+ let aG = B(((x(w, aF) + "_") + n))
265+ let aH = ((x(w, aF) + "_") + o)
266+[DeleteEntry(((x(w, aF) + "_") + n)), StringEntry(aH, aG), StringEntry(v(w), l)]
224267 }
225268 }
226269 else throw("Not allowed")
227270
228271
229272
230-@Callable(O)
231-func unlock (ak,r) = if (!(T))
273+@Callable(T)
274+func unlock (av,w) = if (!(Y))
232275 then throw("dApp not ready")
233- else if (U(O))
276+ else if (Z(T))
234277 then {
235- let aq = w(q(r))
236- if ((aq != l))
278+ let aB = B(v(w))
279+ if ((aB != l))
237280 then throw("NFT not locked, finalize first if pending")
238- else [StringEntry(q(r), m), ScriptTransfer(Address(fromBase58String(ak)), 1, fromBase58String(r))]
281+ else [StringEntry(v(w), m), ScriptTransfer(Address(fromBase58String(av)), 1, fromBase58String(w))]
239282 }
240283 else throw("Not allowed")
241284
242285
243286
244-@Callable(O)
245-func appRunning (ax,ay) = if (!(T))
287+@Callable(T)
288+func appRunning (aI,aJ) = if (!(Y))
246289 then throw("dApp not ready")
247- else if (U(O))
248- then [BooleanEntry(h, ax), StringEntry(i, ay)]
290+ else if (Z(T))
291+ then [BooleanEntry(h, aI), StringEntry(i, aJ)]
249292 else throw("You are not allowed to change this")
250293
251294
252295
253-@Callable(O)
254-func deleteEntry (az) = if (U(O))
255- then [DeleteEntry(az)]
296+@Callable(T)
297+func deleteEntry (aK) = if (Z(T))
298+ then [DeleteEntry(aK)]
256299 else throw("no")
257300
258301
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "config_init"
55
66 let b = "config_admin"
77
88 let c = "config_oracle"
99
1010 let d = "config_artwork_dapp"
1111
1212 let e = "config_users_dapp"
1313
1414 let f = "config_fee_asset"
1515
1616 let g = "config_fee_amount"
1717
1818 let h = "conf_dapp_is_running"
1919
2020 let i = "conf_maintenance_msg"
2121
2222 let j = valueOrElse(getBoolean(this, h), true)
2323
2424 let k = valueOrElse(getString(this, i), "")
2525
2626 let l = "LOCKED"
2727
2828 let m = "UNLOCKED"
2929
3030 let n = "PENDING"
3131
3232 let o = "CLOSED"
3333
34-let p = ["ETH", "POLYGON"]
34+let p = "REGISTERED"
3535
36-func q (r) = (("nft_" + r) + "_status")
36+let q = "VERIFIED"
37+
38+let r = "FLAGGED"
39+
40+let s = "ILLEGAL"
41+
42+let t = "CHANGE_REQUIRED"
43+
44+let u = ["ETH", "POLYGON"]
45+
46+func v (w) = (("nft_" + w) + "_status")
3747
3848
39-func s (r,t) = ((("transfer_" + r) + "_") + t)
49+func x (w,y) = ((("transfer_" + w) + "_") + y)
4050
4151
42-let u = "cost_non_minted"
52+let z = "cost_non_minted"
4353
44-let v = "cost_minted"
54+let A = "cost_minted"
4555
46-func w (x) = valueOrElse(getString(this, x), "")
56+func B (C) = valueOrElse(getString(this, C), "")
4757
4858
49-func y (x) = valueOrElse(getInteger(this, x), 0)
59+func D (C) = valueOrElse(getInteger(this, C), 0)
5060
5161
52-func z (x) = valueOrElse(getBoolean(this, x), false)
62+func E (C) = valueOrElse(getBoolean(this, C), false)
5363
5464
55-let A = value(addressFromString(w(b)))
65+let F = value(addressFromString(B(b)))
5666
57-let B = value(addressFromString(w(d)))
67+let G = value(addressFromString(B(d)))
5868
59-let C = value(addressFromString(w(e)))
69+let H = value(addressFromString(B(e)))
6070
61-let D = value(addressFromString(w(c)))
71+let I = value(addressFromString(B(c)))
6272
63-let E = w(f)
73+let J = B(f)
6474
65-let F = y(g)
75+let K = D(g)
6676
67-func G (x) = valueOrElse(getString(C, x), "")
77+func L (C) = valueOrElse(getString(H, C), "")
6878
6979
70-func H (x) = valueOrElse(getString(B, x), "")
80+func M (C) = valueOrElse(getString(G, C), "")
7181
7282
73-func I (x) = valueOrErrorMessage(getInteger(D, x), "Integer undefine or 0 in oracle")
83+func N (C) = valueOrErrorMessage(getInteger(I, C), "Integer undefine or 0 in oracle")
7484
7585
76-func J (K) = if (if (if ((K.quantity == 1))
77- then (K.decimals == 0)
86+func O (P) = if (if (if ((P.quantity == 1))
87+ then (P.decimals == 0)
7888 else false)
79- then (K.reissuable == false)
89+ then (P.reissuable == false)
8090 else false)
81- then (K.issuer == B)
91+ then (P.issuer == G)
8292 else false
8393
8494
85-func L (M) = {
86- let K = value(assetInfo(M))
87- J(K)
95+func Q (R) = {
96+ let P = value(assetInfo(R))
97+ O(P)
8898 }
8999
90100
91-func N (O) = if ((size(O.payments) == 0))
101+func S (T) = if ((size(T.payments) == 0))
92102 then throw("No payment attached")
93103 else {
94- let P = value(O.payments[0])
95- let Q = value(P.amount)
96- let R = value(O.payments[1])
97- let S = value(R.amount)
98- $Tuple4(P, Q, R, S)
104+ let U = value(T.payments[0])
105+ let V = value(U.amount)
106+ let W = value(T.payments[1])
107+ let X = value(W.amount)
108+ $Tuple4(U, V, W, X)
99109 }
100110
101111
102-let T = valueOrElse(z(a), false)
112+let Y = valueOrElse(E(a), false)
103113
104-func U (O) = {
105- let V = toString(O.caller)
106- let M = toBase58String(O.transactionId)
107- let W = if (T)
108- then [toString(A), toString(this)]
114+func Z (T) = {
115+ let aa = toString(T.caller)
116+ let R = toBase58String(T.transactionId)
117+ let ab = if (Y)
118+ then [toString(F), toString(this)]
109119 else [toString(this)]
110- if (containsElement(W, V))
120+ if (containsElement(ab, aa))
111121 then true
112122 else false
113123 }
114124
115125
116-func X (O) = if (!(j))
126+func ac (T) = if (!(j))
117127 then throw(k)
118- else $Tuple3(toBase58String(O.transactionId), toBase58String(O.caller.bytes), lastBlock.timestamp)
128+ else $Tuple3(toBase58String(T.transactionId), toBase58String(T.caller.bytes), lastBlock.timestamp)
119129
120130
121-func Y (Z) = {
122- let aa = H(("nft_" + Z))
123- let ab = split(aa, "_")[6]
124- ab
131+func ad (ae) = {
132+ let af = M(("nft_" + ae))
133+ let ag = split(af, "_")[6]
134+ let ah = split(af, "_")[5]
135+ $Tuple2(ag, ah)
125136 }
126137
127138
128-func ac (ad) = {
129- let ae = G(("user_ERC20_" + ad))
130- ae
139+func ai (aj) = {
140+ let ak = L(("user_ERC20_" + aj))
141+ ak
131142 }
132143
133144
134-@Callable(O)
135-func init (af,D,B,C) = if (U(O))
136- then [StringEntry(b, af), StringEntry(c, D), StringEntry(d, B), StringEntry(e, C), BooleanEntry(a, true)]
145+func al (aj) = {
146+ let am = L(("user_status_" + aj))
147+ am
148+ }
149+
150+
151+func an (ah) = {
152+ let am = M(("user_status_" + ah))
153+ am
154+ }
155+
156+
157+func ao (am) = if ((am == p))
158+ then true
159+ else (am == q)
160+
161+
162+func ap (ah) = if (if ((ah != r))
163+ then true
164+ else (ah != s))
165+ then true
166+ else (ah != t)
167+
168+
169+@Callable(T)
170+func init (aq,I,G,H) = if (Z(T))
171+ then [StringEntry(b, aq), StringEntry(c, I), StringEntry(d, G), StringEntry(e, H), BooleanEntry(a, true)]
137172 else throw("Not allowed")
138173
139174
140175
141-@Callable(O)
142-func setFee (ag,ah) = {
143- let K = assetInfo(fromBase58String(ag))
144- let ai = value(K).decimals
145- let aj = pow(ah, 0, 10, 1, ai, HALFUP)
146- if (U(O))
147- then [StringEntry(f, ag), IntegerEntry(g, aj)]
176+@Callable(T)
177+func setFee (ar,as) = {
178+ let P = assetInfo(fromBase58String(ar))
179+ let at = value(P).decimals
180+ let au = pow(as, 0, 10, 1, at, HALFUP)
181+ if (Z(T))
182+ then [StringEntry(f, ar), IntegerEntry(g, au)]
148183 else throw("Not allowed")
149184 }
150185
151186
152187
153-@Callable(O)
154-func lock (ak,al) = if (!(T))
188+@Callable(T)
189+func lock (av,aw) = if (!(Y))
155190 then throw("dApp not ready")
156- else if (!(containsElement(p, al)))
191+ else if (!(containsElement(u, aw)))
157192 then throw("Network not supported")
158193 else {
159- let am = X(O)
160- let M = am._1
161- let V = am._2
162- let an = am._3
163- let ao = N(O)
164- let P = ao._1
165- let Q = ao._2
166- let R = ao._3
167- let S = ao._4
168- if ((Q != 1))
194+ let ax = ac(T)
195+ let R = ax._1
196+ let aa = ax._2
197+ let ay = ax._3
198+ let az = S(T)
199+ let U = az._1
200+ let V = az._2
201+ let W = az._3
202+ let X = az._4
203+ if ((V != 1))
169204 then throw("No NFT attached")
170205 else {
171- let r = if (if (isDefined(P.assetId))
172- then L(value(P.assetId))
206+ let w = if (if (isDefined(U.assetId))
207+ then Q(value(U.assetId))
173208 else false)
174- then toBase58String(value(P.assetId))
209+ then toBase58String(value(U.assetId))
175210 else throw("Only SIGN Art NFT accepted.")
176- let ap = Y(r)
177- let ae = ac(ap)
178- if ((size(ae) == 0))
179- then throw("This artist didn't allow crosschain transfer")
180- else {
181- let aq = w(q(r))
182- if (if ((aq == l))
183- then true
184- else (aq == n))
185- then throw("NFT already locked")
186- else {
187- let ar = I(u)
188- let as = I(v)
189- let at = if ((aq == m))
190- then true
191- else false
192- if (if (!(isDefined(R.assetId)))
193- then true
194- else (toBase58String(value(R.assetId)) != E))
195- then throw("Wrong payment asset")
196- else if (if (at)
197- then ((S + F) > as)
198- else false)
199- then throw("Wrong payment amount to unlock")
200- else if (if (!(at))
201- then ((S + F) > ar)
202- else false)
203- then throw("Wrong payment amount to mint and unlock")
204- else [StringEntry(q(r), n), StringEntry(((s(r, M) + "_") + n), ((((((((((((ak + "_") + al) + "_") + V) + "_") + M) + "_") + value(assetInfo(value(P.assetId))).name) + "_") + toString(an)) + "_") + toString(height)))]
205- }
206- }
211+ let aA = ad(w)
212+ let ag = aA._1
213+ let ah = aA._2
214+ if (!(ao(al(ag))))
215+ then throw(("Creator status is :" + al(ag)))
216+ else if (!(ap(an(ah))))
217+ then throw(("Artwork status is :" + an(ah)))
218+ else {
219+ let ak = ai(ag)
220+ if ((size(ak) == 0))
221+ then throw("This artist didn't allow crosschain transfer")
222+ else {
223+ let aB = B(v(w))
224+ if (if ((aB == l))
225+ then true
226+ else (aB == n))
227+ then throw("NFT already locked")
228+ else {
229+ let aC = N(z)
230+ let aD = N(A)
231+ let aE = if ((aB == m))
232+ then true
233+ else false
234+ if (if (!(isDefined(W.assetId)))
235+ then true
236+ else (toBase58String(value(W.assetId)) != J))
237+ then throw("Wrong payment asset")
238+ else if (if (aE)
239+ then ((X + K) > aD)
240+ else false)
241+ then throw("Wrong payment amount to unlock")
242+ else if (if (!(aE))
243+ then ((X + K) > aC)
244+ else false)
245+ then throw("Wrong payment amount to mint and unlock")
246+ else [StringEntry(v(w), n), StringEntry(((x(w, R) + "_") + n), ((((((((((((av + "_") + aw) + "_") + aa) + "_") + R) + "_") + value(assetInfo(value(U.assetId))).name) + "_") + toString(ay)) + "_") + toString(height)))]
247+ }
248+ }
249+ }
207250 }
208251 }
209252
210253
211254
212-@Callable(O)
213-func confirmLock (r,au) = if (!(T))
255+@Callable(T)
256+func confirmLock (w,aF) = if (!(Y))
214257 then throw("dApp not ready")
215- else if (U(O))
258+ else if (Z(T))
216259 then {
217- let aq = w(q(r))
218- if ((aq != n))
260+ let aB = B(v(w))
261+ if ((aB != n))
219262 then throw("NFT not pending")
220263 else {
221- let av = w(((s(r, au) + "_") + n))
222- let aw = ((s(r, au) + "_") + o)
223-[DeleteEntry(((s(r, au) + "_") + n)), StringEntry(aw, av), StringEntry(q(r), l)]
264+ let aG = B(((x(w, aF) + "_") + n))
265+ let aH = ((x(w, aF) + "_") + o)
266+[DeleteEntry(((x(w, aF) + "_") + n)), StringEntry(aH, aG), StringEntry(v(w), l)]
224267 }
225268 }
226269 else throw("Not allowed")
227270
228271
229272
230-@Callable(O)
231-func unlock (ak,r) = if (!(T))
273+@Callable(T)
274+func unlock (av,w) = if (!(Y))
232275 then throw("dApp not ready")
233- else if (U(O))
276+ else if (Z(T))
234277 then {
235- let aq = w(q(r))
236- if ((aq != l))
278+ let aB = B(v(w))
279+ if ((aB != l))
237280 then throw("NFT not locked, finalize first if pending")
238- else [StringEntry(q(r), m), ScriptTransfer(Address(fromBase58String(ak)), 1, fromBase58String(r))]
281+ else [StringEntry(v(w), m), ScriptTransfer(Address(fromBase58String(av)), 1, fromBase58String(w))]
239282 }
240283 else throw("Not allowed")
241284
242285
243286
244-@Callable(O)
245-func appRunning (ax,ay) = if (!(T))
287+@Callable(T)
288+func appRunning (aI,aJ) = if (!(Y))
246289 then throw("dApp not ready")
247- else if (U(O))
248- then [BooleanEntry(h, ax), StringEntry(i, ay)]
290+ else if (Z(T))
291+ then [BooleanEntry(h, aI), StringEntry(i, aJ)]
249292 else throw("You are not allowed to change this")
250293
251294
252295
253-@Callable(O)
254-func deleteEntry (az) = if (U(O))
255- then [DeleteEntry(az)]
296+@Callable(T)
297+func deleteEntry (aK) = if (Z(T))
298+ then [DeleteEntry(aK)]
256299 else throw("no")
257300
258301

github/deemru/w8io/873ac7e 
95.89 ms