tx · 5eLRjk8d7oJYz6RrqmdXHq2X78fpkfnSvLrf99Yif25v

3MzraJ5pf2N2RkzE3MG7JceLNmXCXV8Z5V7:  -0.01400000 Waves

2021.05.15 11:53 [1526576] smart account 3MzraJ5pf2N2RkzE3MG7JceLNmXCXV8Z5V7 > SELF 0.00000000 Waves

{ "type": 13, "id": "5eLRjk8d7oJYz6RrqmdXHq2X78fpkfnSvLrf99Yif25v", "fee": 1400000, "feeAssetId": null, "timestamp": 1621068906827, "version": 2, "chainId": 84, "sender": "3MzraJ5pf2N2RkzE3MG7JceLNmXCXV8Z5V7", "senderPublicKey": "ERi6XSXhPVHxXNjViF4BLWBiUjTBzMhwtR1Yn6J23YEd", "proofs": [ "xXg3taugxeUXthWGbzma7zHA1bn9cX9THtRy8AXK4cYqRtbwTYEsxkK3gQLjXbdh2hVGi4QGoYKbrFVaL91jjwR" ], "script": "base64:AAIEAAAAAAAAAC4IAhIECgIBCBIDCgEIEgMKAQgSAwoBCBIFCgMICAgSBAoCCAgSAwoBCBIDCgEIAAAAJAAAAAAIdW5pdFRlc3QHAAAAAAlvcmFjbGVGZWUJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM04yczVSdGFIUEJlbkNzeDJFQ2NvRlJiWUh4M25vWmhYVzEAAAAACHNpZ25EYXBwCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNOQzI4aFNpdnJtc1RVWGFZRDF4NkwzNjJKNFpwVW5vVGRCAAAAAAxhcnR3b3Jrc0RhcHAJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQIAAAAjM05CeW5mYlhDMkthc3RVeGh1a2NNVWFFNThLOWNCZEI5VVkAAAAAC2ZlZVJlY2VpdmVyAgAAACMzTjFFNnRYZGRSb1ZhUmZROWRRM3ZnNUxhVzJmc2Q4SEt1YgAAAAAIdXNlckRhcHADBQAAAAh1bml0VGVzdAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTXQ0UkdNRXlqU1dZQW9jVFBxZDU1d2RIUVFCM1BVMlVDbQkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjh4WGFZakUyN0FhNzlkNWhIcmhIdTlIYUZvVEJtaERFagAAAAANd2hpdGVsaXN0RGFwcAkBAAAABXZhbHVlAAAAAQkABCYAAAABAgAAACMzTjZCYVYxZENCNHpnNDNnb05OSGFDdHZSMTNCY3lKNUdzcQAAAAALc2lnbkFzc2V0SWQBAAAAIOilarzKd0LycGEyNUpPRYO5uR7lmWcXw3Hq2QuhBK3rAAAAAAt1c2RuQXNzZXRJZAEAAAAgD/IcEqzkxDya7EYaqyWosOy6BytGzG2IcvC14pJJAbQAAAAADHdhdmVzQXNzZXRJZAEAAAAAAAAAAAVjaHJpcwIAAAAjM01zRzZqUE5DclZKVXRZQjdYSkJ4Uzd1dFdzWEFmNG45VnAAAAAABGpvZXACAAAAIzNNem00Vkx3c045dVp3YlRNelBqM1h1eFY2a0VmQVI4VUROAAAAAAdzaWduQ3V0AAAAAAAAAAADAAAAAApjcmVhdG9yQ3V0AAAAAAAAAAAKAAAAAAtkYXBwUnVubmluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAh1c2VyRGFwcAIAAAAUY29uZl9kYXBwX2lzX3J1bm5pbmcGAAAAAA5tYWludGVuYW5jZU1TRwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAh1c2VyRGFwcAIAAAAUY29uZl9tYWludGVuYW5jZV9tc2cCAAAAAAAAAAANdXNlclN1c3BlbmRlZAIAAAAJU1VTUEVOREVEAAAAAAt1c2VyUmVtb3ZlZAIAAAAHUkVNT1ZFRAAAAAAKYXJ0SWxsZWdhbAIAAAAHSUxMRUdBTAAAAAAMYXJ0U3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQBAAAADWdldFVzZXJTdHJCeUsAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAh1c2VyRGFwcAUAAAADa2V5AgAAAAVFcnJvcgEAAAAMZ2V0QXJ0U3RyQnlLAAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAMYXJ0d29ya3NEYXBwBQAAAANrZXkCAAAAAAEAAAAJZ2V0U3RyQnlLAAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AgAAAAABAAAACWdldEludEJ5SwAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQAAAAAAAAAAAAEAAAANa2V5VXNlclN0YXR1cwAAAAEAAAAEYWRkcgkAASwAAAACAgAAAAx1c2VyX3N0YXR1c18FAAAABGFkZHIBAAAACWtleVNpZ25JRAAAAAIAAAAKYXJ0aXN0QWRkcgAAAAVhcnRJZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALYXJ0X3NpZ25pZF8FAAAABWFydElkAgAAAAFfBQAAAAphcnRpc3RBZGRyAQAAAAdrZXlGbGFnAAAAAgAAAAphcnRpc3RBZGRyAAAABWFydElkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlhcnRfZmxhZ18FAAAABWFydElkAgAAAAFfBQAAAAphcnRpc3RBZGRyAQAAAAprZXlORlREYXRhAAAAAQAAAAJpZAkAASwAAAACAgAAAARuZnRfBQAAAAJpZAEAAAAMaWRDYWxsZXJEYXRlAAAAAQAAAAFpAwkBAAAAASEAAAABBQAAAAtkYXBwUnVubmluZwkAAAIAAAABBQAAAA5tYWludGVuYW5jZU1TRwkABRUAAAADCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXABAAAACWlzUGF5bWVudAAAAAEAAAABaQMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAABNObyBwYXltZW50IGF0dGFjaGVkBAAAAAdwYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAZhbW91bnQJAQAAAAV2YWx1ZQAAAAEIBQAAAAdwYXltZW50AAAABmFtb3VudAkABRQAAAACBQAAAAdwYXltZW50BQAAAAZhbW91bnQBAAAADGlzU2lnbkFydE5GVAAAAAEAAAACaWQEAAAADGFzc2V0RGV0YWlscwkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAJpZAMDAwMJAQAAAAIhPQAAAAIIBQAAAAxhc3NldERldGFpbHMAAAAIcXVhbnRpdHkAAAAAAAAAAAEGCQEAAAACIT0AAAACCAUAAAAMYXNzZXREZXRhaWxzAAAACGRlY2ltYWxzAAAAAAAAAAAABgkBAAAAAiE9AAAAAggFAAAADGFzc2V0RGV0YWlscwAAAApyZWlzc3VhYmxlBwYJAQAAAAIhPQAAAAIIBQAAAAxhc3NldERldGFpbHMAAAAGaXNzdWVyBQAAAAxhcnR3b3Jrc0RhcHAHBgEAAAAQYWNjZXB0ZWRBc3NldElkcwAAAAEAAAAHYXNzZXRJZAMDAwMJAQAAAAIhPQAAAAIFAAAAB2Fzc2V0SWQJAAJYAAAAAQUAAAALc2lnbkFzc2V0SWQJAQAAAAIhPQAAAAIFAAAAB2Fzc2V0SWQJAAJYAAAAAQUAAAAMd2F2ZXNBc3NldElkBwkBAAAAAiE9AAAAAgUAAAAHYXNzZXRJZAIAAAAFV0FWRVMHCQEAAAACIT0AAAACBQAAAAdhc3NldElkCQACWAAAAAEFAAAAC3VzZG5Bc3NldElkBwcGAQAAAA1nZXRCaWRBc3NldElkAAAAAQAAAAdhc3NldElkAwkAAAAAAAACBQAAAAdhc3NldElkAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABBQAAAAdhc3NldElkAQAAABVnZXRTYWxlT3duZXJBbmRTdGF0dXMAAAABAAAABW5mdGlkBAAAAAlzYWxlT3duZXIJAQAAAAlnZXRTdHJCeUsAAAABCQABLAAAAAICAAAAFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FAAAABW5mdGlkAwkAAAAAAAACBQAAAAlzYWxlT3duZXICAAAABG5vbmUJAAACAAAAAQIAAAANTkZUIG5vdCBmb3VuZAQAAAAKc2FsZVN0YXR1cwkBAAAACWdldFN0ckJ5SwAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3NhbGUybmRfc3RhdHVzXwUAAAAJc2FsZU93bmVyAgAAAAFfBQAAAAVuZnRpZAMJAQAAAAIhPQAAAAIFAAAACnNhbGVTdGF0dXMCAAAABE9QRU4JAAACAAAAAQIAAAAQTkZUIG5vdCBmb3Igc2FsZQUAAAAJc2FsZU93bmVyAQAAAApnZXRCaWREYXRhAAAAAQAAAANrZXkEAAAAB2JpZERhdGEJAQAAAAlnZXRTdHJCeUsAAAABCQABLAAAAAIFAAAAA2tleQIAAAAFX09QRU4DCQAAAAAAAAIFAAAAB2JpZERhdGECAAAAAAkAAAIAAAABAgAAAA9PZmZlciBub3QgZm91bmQEAAAACmJpZERhdGFBcnIJAAS1AAAAAgUAAAAHYmlkRGF0YQIAAAABXwQAAAAHYXNzZXRJZAkBAAAADWdldEJpZEFzc2V0SWQAAAABCQABkQAAAAIFAAAACmJpZERhdGFBcnIAAAAAAAAAAAAJAAUVAAAAAwUAAAAKYmlkRGF0YUFycgUAAAAHYXNzZXRJZAUAAAAHYmlkRGF0YQEAAAAMY2hlY2tORlRJbmZvAAAAAQAAAAdhc3NldElkBAAAAAduZnREYXRhCQAEtQAAAAIJAQAAAAxnZXRBcnRTdHJCeUsAAAABCQEAAAAKa2V5TkZURGF0YQAAAAEFAAAAB2Fzc2V0SWQCAAAAAV8EAAAACWFydFNpZ25JRAkBAAAADGdldEFydFN0ckJ5SwAAAAEJAQAAAAlrZXlTaWduSUQAAAACCQABkQAAAAIFAAAAB25mdERhdGEAAAAAAAAAAAYJAAGRAAAAAgUAAAAHbmZ0RGF0YQAAAAAAAAAABQMJAAAAAAAAAgkAATEAAAABBQAAAAlhcnRTaWduSUQAAAAAAAAAAAAJAAACAAAAAQIAAAAdQXJ0d29yayBub3QgZm91bmQgb24gU0lHTiBBcnQEAAAACWFydFN0YXR1cwkBAAAADGdldEFydFN0ckJ5SwAAAAEJAQAAAAdrZXlGbGFnAAAAAgkAAZEAAAACBQAAAAduZnREYXRhAAAAAAAAAAAGCQABkQAAAAIFAAAAB25mdERhdGEAAAAAAAAAAAUDAwkAAAAAAAACBQAAAAlhcnRTdGF0dXMFAAAACmFydElsbGVnYWwGCQAAAAAAAAIFAAAACWFydFN0YXR1cwUAAAAMYXJ0U3VzcGVuZGVkCQAAAgAAAAEJAAEsAAAAAgIAAAAcT3JpZ2luYWwgQXJ0d29yayBmbGFnZ2VkIGFzIAUAAAAJYXJ0U3RhdHVzBAAAAAxhcnRpc3RTdGF0dXMJAQAAAA1nZXRVc2VyU3RyQnlLAAAAAQkBAAAADWtleVVzZXJTdGF0dXMAAAABCQABkQAAAAIFAAAAB25mdERhdGEAAAAAAAAAAAYDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAA11c2VyU3VzcGVuZGVkCQAETAAAAAIFAAAAC3VzZXJSZW1vdmVkBQAAAANuaWwFAAAADGFydGlzdFN0YXR1cwkAAAIAAAABCQABLAAAAAICAAAAEE9yaWdpbmFsIEFydGlzdCAFAAAADGFydGlzdFN0YXR1cwkABRQAAAACBgkAAZEAAAACBQAAAAduZnREYXRhAAAAAAAAAAAGAAAACAAAAAFpAQAAAAdzZWxsTkZUAAAAAgAAAAVwcmljZQAAAAVhc3NldAQAAAALJHQwNTkyMTU5NjAJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAACyR0MDU5MjE1OTYwAAAAAl8xBAAAAAZjYWxsZXIIBQAAAAskdDA1OTIxNTk2MAAAAAJfMgQAAAAEZGF0ZQgFAAAACyR0MDU5MjE1OTYwAAAAAl8zBAAAAAskdDA1OTY1NjAwMQkBAAAACWlzUGF5bWVudAAAAAEFAAAAAWkEAAAAB3BheW1lbnQIBQAAAAskdDA1OTY1NjAwMQAAAAJfMQQAAAAGYW1vdW50CAUAAAALJHQwNTk2NTYwMDEAAAACXzIEAAAAB2Fzc2V0SWQDAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQJAQAAAAxpc1NpZ25BcnRORlQAAAABCQEAAAAFdmFsdWUAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBwgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAAAxObyBORlQgZm91bmQDCQEAAAABIQAAAAEJAQAAABBhY2NlcHRlZEFzc2V0SWRzAAAAAQUAAAAFYXNzZXQJAAACAAAAAQIAAAAhT25seSBTSUdOLCBVU0ROIG9yIFdBVkVTIGFjY2VwdGVkBAAAAAskdDA2MjMxNjMwNwkBAAAADGNoZWNrTkZUSW5mbwAAAAEJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQUAAAAHYXNzZXRJZAQAAAAKaXNWYWxpZE5GVAgFAAAACyR0MDYyMzE2MzA3AAAAAl8xBAAAAAtjcmVhdG9yQWRkcggFAAAACyR0MDYyMzE2MzA3AAAAAl8yAwkBAAAAASEAAAABBQAAAAppc1ZhbGlkTkZUCQAAAgAAAAECAAAAFFNvbWV0aGluZyB3ZW50IHdyb25nCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADXNhbGUybmRfaW5mb18FAAAABmNhbGxlcgIAAAABXwkAAlgAAAABCQEAAAAFdmFsdWUAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkAgAAAAFfBQAAAAtjcmVhdG9yQWRkcgIAAAAFX09QRU4JAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAARkYXRlAgAAAAFfCQABpAAAAAEFAAAABXByaWNlAgAAAAFfBQAAAAVhc3NldAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA9zYWxlMm5kX3N0YXR1c18FAAAABmNhbGxlcgIAAAABXwkAAlgAAAABCQEAAAAFdmFsdWUAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkAgAAAARPUEVOCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAWY3VycmVudF9vd25lcl9vbl9kYXBwXwkAAlgAAAABCQEAAAAFdmFsdWUAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBQAAAAZjYWxsZXIFAAAAA25pbAAAAAFpAQAAAApjYW5jZWxTYWxlAAAAAQAAAAVuZnRpZAQAAAALJHQwNjk4MzcwMjIJAQAAAAxpZENhbGxlckRhdGUAAAABBQAAAAFpBAAAAAJpZAgFAAAACyR0MDY5ODM3MDIyAAAAAl8xBAAAAAZjYWxsZXIIBQAAAAskdDA2OTgzNzAyMgAAAAJfMgQAAAAEZGF0ZQgFAAAACyR0MDY5ODM3MDIyAAAAAl8zBAAAAAlzYWxlT3duZXIJAQAAAAlnZXRTdHJCeUsAAAABCQABLAAAAAICAAAAFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FAAAABW5mdGlkAwkBAAAAAiE9AAAAAgUAAAAJc2FsZU93bmVyBQAAAAZjYWxsZXIJAAACAAAAAQIAAAAWWW91IGRvbid0IG93biB0aGlzIE5GVAQAAAAKc2FsZVN0YXR1cwkBAAAACWdldFN0ckJ5SwAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3NhbGUybmRfc3RhdHVzXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAVuZnRpZAMJAQAAAAIhPQAAAAIFAAAACnNhbGVTdGF0dXMCAAAABE9QRU4JAAACAAAAAQIAAAAPU2FsZSBub3QgYWN0aXZlBAAAAAtjcmVhdG9yQWRkcgkAAZEAAAACCQAEtQAAAAIJAQAAAAxnZXRBcnRTdHJCeUsAAAABCQEAAAAKa2V5TkZURGF0YQAAAAEFAAAABW5mdGlkAgAAAAFfAAAAAAAAAAAGBAAAAAhzYWxlSW5mbwkBAAAACWdldFN0ckJ5SwAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANc2FsZTJuZF9pbmZvXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAVuZnRpZAIAAAABXwUAAAALY3JlYXRvckFkZHICAAAAAV8FAAAACnNhbGVTdGF0dXMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANc2FsZTJuZF9pbmZvXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAVuZnRpZAIAAAABXwUAAAALY3JlYXRvckFkZHICAAAABV9PUEVOCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3NhbGUybmRfc3RhdHVzXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAVuZnRpZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADXNhbGUybmRfaW5mb18FAAAABmNhbGxlcgIAAAABXwUAAAAFbmZ0aWQCAAAAAV8FAAAAC2NyZWF0b3JBZGRyAgAAAAFfCQABpAAAAAEFAAAABGRhdGUCAAAAAV8FAAAAAmlkAgAAAApfQ0FOQ0VMTEVEBQAAAAhzYWxlSW5mbwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAAFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FAAAABW5mdGlkAgAAAARub25lCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAZjYWxsZXIAAAAAAAAAAAEJAAJZAAAAAQUAAAAFbmZ0aWQFAAAAA25pbAAAAAFpAQAAAAZidXlORlQAAAABAAAABW5mdGlkBAAAAAskdDA4MTU5ODIzMAkBAAAADGlkQ2FsbGVyRGF0ZQAAAAEFAAAAAWkEAAAAAmlkCAUAAAALJHQwODE1OTgyMzAAAAACXzEEAAAABmNhbGxlcggFAAAACyR0MDgxNTk4MjMwAAAAAl8yBAAAAARkYXRlCAUAAAALJHQwODE1OTgyMzAAAAACXzMEAAAACXNhbGVPd25lcgkBAAAAFWdldFNhbGVPd25lckFuZFN0YXR1cwAAAAEFAAAABW5mdGlkBAAAAAskdDA4Mjg1ODMzNgkBAAAADGNoZWNrTkZUSW5mbwAAAAEFAAAABW5mdGlkBAAAAAppc1ZhbGlkTkZUCAUAAAALJHQwODI4NTgzMzYAAAACXzEEAAAAC2NyZWF0b3JBZGRyCAUAAAALJHQwODI4NTgzMzYAAAACXzIDCQEAAAABIQAAAAEFAAAACmlzVmFsaWRORlQJAAACAAAAAQIAAAAUU29tZXRoaW5nIHdlbnQgd3JvbmcEAAAACHNhbGVJbmZvCQEAAAAJZ2V0U3RyQnlLAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANc2FsZTJuZF9pbmZvXwUAAAAJc2FsZU93bmVyAgAAAAFfBQAAAAVuZnRpZAIAAAABXwUAAAALY3JlYXRvckFkZHICAAAABV9PUEVOAwkAAAAAAAACCQABMQAAAAEFAAAACHNhbGVJbmZvAAAAAAAAAAAACQAAAgAAAAECAAAAD1NhbGUgTm90IGZvdW5kIQQAAAANc2FsZUluZm9BcnJheQkABLUAAAACBQAAAAhzYWxlSW5mbwIAAAABXwQAAAALJHQwODYwMDg2MzYJAQAAAAlpc1BheW1lbnQAAAABBQAAAAFpBAAAAAdwYXltZW50CAUAAAALJHQwODYwMDg2MzYAAAACXzEEAAAABmFtb3VudAgFAAAACyR0MDg2MDA4NjM2AAAAAl8yAwMJAQAAAAIhPQAAAAIJAAGRAAAAAgUAAAANc2FsZUluZm9BcnJheQAAAAAAAAAAAQkAAaQAAAABBQAAAAZhbW91bnQGCQEAAAACIT0AAAACCQABkQAAAAIFAAAADXNhbGVJbmZvQXJyYXkAAAAAAAAAAAIJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABpQYXltZW50IGluZm9zIGRvbid0IG1hdGNoLgQAAAANYW1vdW50Rm9yU2lnbgkAAGsAAAADBQAAAAZhbW91bnQFAAAAB3NpZ25DdXQAAAAAAAAAAGQEAAAAEGFtb3VudEZvckNyZWF0b3IJAABrAAAAAwUAAAAGYW1vdW50BQAAAApjcmVhdG9yQ3V0AAAAAAAAAABkBAAAAA5hbW91bnRGb3JPd25lcgkAAGUAAAACBQAAAAZhbW91bnQJAABkAAAAAgUAAAANYW1vdW50Rm9yU2lnbgUAAAAQYW1vdW50Rm9yQ3JlYXRvcgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA1zYWxlMm5kX2luZm9fBQAAAAlzYWxlT3duZXICAAAAAV8FAAAABW5mdGlkAgAAAAFfBQAAAAtjcmVhdG9yQWRkcgIAAAAFX09QRU4JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPc2FsZTJuZF9zdGF0dXNfBQAAAAlzYWxlT3duZXICAAAAAV8FAAAABW5mdGlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANc2FsZTJuZF9pbmZvXwUAAAAJc2FsZU93bmVyAgAAAAFfBQAAAAVuZnRpZAIAAAABXwUAAAALY3JlYXRvckFkZHICAAAAAV8JAAGkAAAAAQUAAAAEZGF0ZQIAAAABXwUAAAACaWQCAAAAB19DTE9TRUQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAEZGF0ZQIAAAABXwkAAaQAAAABBQAAAAZhbW91bnQCAAAAAV8JAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAIAAAAEX3RvXwUAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAWY3VycmVudF9vd25lcl9vbl9kYXBwXwUAAAAFbmZ0aWQCAAAABG5vbmUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAC2ZlZVJlY2VpdmVyBQAAAA1hbW91bnRGb3JTaWduCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAtjcmVhdG9yQWRkcgUAAAAQYW1vdW50Rm9yQ3JlYXRvcggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAJc2FsZU93bmVyBQAAAA5hbW91bnRGb3JPd25lcggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAABW5mdGlkBQAAAANuaWwAAAABaQEAAAAIc2V0T2ZmZXIAAAABAAAABW5mdGlkBAAAAA0kdDAxMDA4MzEwMTIxCQEAAAAMaWRDYWxsZXJEYXRlAAAAAQUAAAABaQQAAAACaWQIBQAAAA0kdDAxMDA4MzEwMTIxAAAAAl8xBAAAAAZjYWxsZXIIBQAAAA0kdDAxMDA4MzEwMTIxAAAAAl8yBAAAAARkYXRlCAUAAAANJHQwMTAwODMxMDEyMQAAAAJfMwQAAAANJHQwMTAxMjYxMDE2MgkBAAAACWlzUGF5bWVudAAAAAEFAAAAAWkEAAAAB3BheW1lbnQIBQAAAA0kdDAxMDEyNjEwMTYyAAAAAl8xBAAAAAZhbW91bnQIBQAAAA0kdDAxMDEyNjEwMTYyAAAAAl8yBAAAAAdhc3NldElkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAIAAAAFV0FWRVMJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAMJAQAAAAEhAAAAAQkBAAAAEGFjY2VwdGVkQXNzZXRJZHMAAAABBQAAAAdhc3NldElkCQAAAgAAAAECAAAAEmFzc2V0IG5vdCBhY2NlcHRlZAQAAAAJc2FsZU93bmVyCQEAAAAVZ2V0U2FsZU93bmVyQW5kU3RhdHVzAAAAAQUAAAAFbmZ0aWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACW9mZmVyMm5kXwUAAAAJc2FsZU93bmVyAgAAAAFfBQAAAAVuZnRpZAIAAAABXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAJpZAIAAAAFX09QRU4JAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhc3NldElkAgAAAAFfCQABpAAAAAEFAAAABmFtb3VudAIAAAABXwkAAaQAAAABBQAAAARkYXRlAgAAAAFfBQAAAAZjYWxsZXICAAAAAV8FAAAAAmlkBQAAAANuaWwAAAABaQEAAAALYWNjZXB0T2ZmZXIAAAADAAAABW5mdGlkAAAAB29mZmVySWQAAAAKb2ZmZXJPd25lcgQAAAANJHQwMTA4NzIxMDk0NgkBAAAADGlkQ2FsbGVyRGF0ZQAAAAEFAAAAAWkEAAAAAmlkCAUAAAANJHQwMTA4NzIxMDk0NgAAAAJfMQQAAAAGY2FsbGVyCAUAAAANJHQwMTA4NzIxMDk0NgAAAAJfMgQAAAAEZGF0ZQgFAAAADSR0MDEwODcyMTA5NDYAAAACXzMEAAAACXNhbGVPd25lcgkBAAAAFWdldFNhbGVPd25lckFuZFN0YXR1cwAAAAEFAAAABW5mdGlkAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAlzYWxlT3duZXIJAAACAAAAAQIAAAAZWW91IGNhbm5vdCBkbyB0aGlzIGFjdGlvbgQAAAAKb2ZmZXJFeGlzdAkBAAAACWdldFN0ckJ5SwAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlvZmZlcjJuZF8FAAAACXNhbGVPd25lcgIAAAABXwUAAAAFbmZ0aWQCAAAAAV8FAAAACm9mZmVyT3duZXICAAAAAV8FAAAAB29mZmVySWQCAAAABV9PUEVOAwkAAAAAAAACBQAAAApvZmZlckV4aXN0AgAAAAAJAAACAAAAAQIAAAAfT2ZmZXIgbm90IGZvdW5kIG9yIG5vdCBmb3Igc2FsZQQAAAANJHQwMTEyNTExMTMwMgkBAAAADGNoZWNrTkZUSW5mbwAAAAEFAAAABW5mdGlkBAAAAAppc1ZhbGlkTkZUCAUAAAANJHQwMTEyNTExMTMwMgAAAAJfMQQAAAALY3JlYXRvckFkZHIIBQAAAA0kdDAxMTI1MTExMzAyAAAAAl8yAwkBAAAAASEAAAABBQAAAAppc1ZhbGlkTkZUCQAAAgAAAAECAAAAFFNvbWV0aGluZyB3ZW50IHdyb25nBAAAAAhzYWxlSW5mbwkBAAAACWdldFN0ckJ5SwAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADXNhbGUybmRfaW5mb18FAAAACXNhbGVPd25lcgIAAAABXwUAAAAFbmZ0aWQCAAAAAV8FAAAAC2NyZWF0b3JBZGRyAgAAAAVfT1BFTgMJAAAAAAAAAgkAATEAAAABBQAAAAhzYWxlSW5mbwAAAAAAAAAAAAkAAAIAAAABAgAAAA9TYWxlIE5vdCBmb3VuZCEEAAAACmJpZERhdGFLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJb2ZmZXIybmRfBQAAAAlzYWxlT3duZXICAAAAAV8FAAAABW5mdGlkAgAAAAFfBQAAAApvZmZlck93bmVyAgAAAAFfBQAAAAdvZmZlcklkBAAAAA0kdDAxMTY5NjExNzU1CQEAAAAKZ2V0QmlkRGF0YQAAAAEFAAAACmJpZERhdGFLZXkEAAAACmJpZERhdGFBcnIIBQAAAA0kdDAxMTY5NjExNzU1AAAAAl8xBAAAAAdhc3NldElkCAUAAAANJHQwMTE2OTYxMTc1NQAAAAJfMgQAAAAHYmlkRGF0YQgFAAAADSR0MDExNjk2MTE3NTUAAAACXzMEAAAABmFtb3VudAkBAAAABXZhbHVlAAAAAQkABLYAAAABCQABkQAAAAIFAAAACmJpZERhdGFBcnIAAAAAAAAAAAEEAAAADWFtb3VudEZvclNpZ24JAABrAAAAAwUAAAAGYW1vdW50BQAAAAdzaWduQ3V0AAAAAAAAAABkBAAAABBhbW91bnRGb3JDcmVhdG9yCQAAawAAAAMFAAAABmFtb3VudAUAAAAKY3JlYXRvckN1dAAAAAAAAAAAZAQAAAAOYW1vdW50Rm9yT3duZXIJAABlAAAAAgUAAAAGYW1vdW50CQAAZAAAAAIFAAAADWFtb3VudEZvclNpZ24FAAAAEGFtb3VudEZvckNyZWF0b3IJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANc2FsZTJuZF9pbmZvXwUAAAAJc2FsZU93bmVyAgAAAAFfBQAAAAVuZnRpZAIAAAABXwUAAAALY3JlYXRvckFkZHICAAAABV9PUEVOCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgUAAAAKYmlkRGF0YUtleQIAAAAFX09QRU4JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPc2FsZTJuZF9zdGF0dXNfBQAAAAlzYWxlT3duZXICAAAAAV8FAAAABW5mdGlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAAKYmlkRGF0YUtleQIAAAAHX0NMT1NFRAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAEZGF0ZQIAAAABXwkAAaQAAAABBQAAAAZhbW91bnQCAAAAAV8JAAJYAAAAAQkBAAAABXZhbHVlAAAAAQUAAAAHYXNzZXRJZAIAAAAEX3RvXwUAAAAKb2ZmZXJPd25lcgIAAAABXwUAAAAHb2ZmZXJJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADXNhbGUybmRfaW5mb18FAAAACXNhbGVPd25lcgIAAAABXwUAAAAFbmZ0aWQCAAAAAV8FAAAAC2NyZWF0b3JBZGRyAgAAAAFfCQABpAAAAAEFAAAABGRhdGUCAAAAAV8FAAAAAmlkAgAAAAdfQ0xPU0VECQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAABGRhdGUCAAAAAV8JAAGkAAAAAQUAAAAGYW1vdW50AgAAAAFfCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAAB2Fzc2V0SWQCAAAABF90b18FAAAACm9mZmVyT3duZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAABZjdXJyZW50X293bmVyX29uX2RhcHBfBQAAAAVuZnRpZAIAAAAEbm9uZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAALZmVlUmVjZWl2ZXIFAAAADWFtb3VudEZvclNpZ24FAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAC2NyZWF0b3JBZGRyBQAAABBhbW91bnRGb3JDcmVhdG9yBQAAAAdhc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABBQAAAAlzYWxlT3duZXIFAAAADmFtb3VudEZvck93bmVyBQAAAAdhc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQABkQAAAAIFAAAACmJpZERhdGFBcnIAAAAAAAAAAAMAAAAAAAAAAAEJAAJZAAAAAQUAAAAFbmZ0aWQFAAAAA25pbAAAAAFpAQAAAAtjYW5jZWxPZmZlcgAAAAIAAAAFbmZ0aWQAAAAHb2ZmZXJJZAQAAAANJHQwMTMxMDcxMzMzNwkBAAAADGlkQ2FsbGVyRGF0ZQAAAAEFAAAAAWkEAAAAAmlkCAUAAAANJHQwMTMxMDcxMzMzNwAAAAJfMQQAAAAGY2FsbGVyCAUAAAANJHQwMTMxMDcxMzMzNwAAAAJfMgQAAAAEZGF0ZQgFAAAADSR0MDEzMTA3MTMzMzcAAAACXzMEAAAACXNhbGVPd25lcgkBAAAAFWdldFNhbGVPd25lckFuZFN0YXR1cwAAAAEFAAAABW5mdGlkBAAAAApiaWREYXRhS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACW9mZmVyMm5kXwUAAAAJc2FsZU93bmVyAgAAAAFfBQAAAAVuZnRpZAIAAAABXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAdvZmZlcklkBAAAAA0kdDAxMzQ3MzEzNTczCQEAAAAKZ2V0QmlkRGF0YQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGb2ZmZXJfBQAAAAVuZnRpZAIAAAABXwUAAAAJc2FsZU93bmVyAgAAAAFfBQAAAAZjYWxsZXICAAAAAV8FAAAAB29mZmVySWQEAAAACmJpZERhdGFBcnIIBQAAAA0kdDAxMzQ3MzEzNTczAAAAAl8xBAAAAAdhc3NldElkCAUAAAANJHQwMTM0NzMxMzU3MwAAAAJfMgQAAAAHYmlkRGF0YQgFAAAADSR0MDEzNDczMTM1NzMAAAACXzMEAAAACWJpZFN0YXR1cwIAAAAJQ0FOQ0VMTEVECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgUAAAAKYmlkRGF0YUtleQIAAAAFX09QRU4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAACmJpZERhdGFLZXkCAAAAAV8FAAAACWJpZFN0YXR1cwkAASwAAAACCQABLAAAAAIFAAAAB2JpZERhdGECAAAAAV8JAAGkAAAAAQUAAAAEZGF0ZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAGY2FsbGVyCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAKYmlkRGF0YUFycgAAAAAAAAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsAAAAAWkBAAAACnNldFJlcXVlc3QAAAABAAAABW5mdGlkBAAAAA0kdDAxNDE3NzE0MjE1CQEAAAAMaWRDYWxsZXJEYXRlAAAAAQUAAAABaQQAAAACaWQIBQAAAA0kdDAxNDE3NzE0MjE1AAAAAl8xBAAAAAZjYWxsZXIIBQAAAA0kdDAxNDE3NzE0MjE1AAAAAl8yBAAAAARkYXRlCAUAAAANJHQwMTQxNzcxNDIxNQAAAAJfMwQAAAANJHQwMTQyMjAxNDI1NgkBAAAACWlzUGF5bWVudAAAAAEFAAAAAWkEAAAAB3BheW1lbnQIBQAAAA0kdDAxNDIyMDE0MjU2AAAAAl8xBAAAAAZhbW91bnQIBQAAAA0kdDAxNDIyMDE0MjU2AAAAAl8yBAAAAAdhc3NldElkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAIAAAAFV0FWRVMJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAMJAQAAAAEhAAAAAQkBAAAAEGFjY2VwdGVkQXNzZXRJZHMAAAABBQAAAAdhc3NldElkCQAAAgAAAAECAAAAEmFzc2V0IG5vdCBhY2NlcHRlZAQAAAANJHQwMTQ0NzcxNDUyOAkBAAAADGNoZWNrTkZUSW5mbwAAAAEFAAAABW5mdGlkBAAAAAppc1ZhbGlkTkZUCAUAAAANJHQwMTQ0NzcxNDUyOAAAAAJfMQQAAAALY3JlYXRvckFkZHIIBQAAAA0kdDAxNDQ3NzE0NTI4AAAAAl8yAwkBAAAAASEAAAABBQAAAAppc1ZhbGlkTkZUCQAAAgAAAAECAAAAFFNvbWV0aGluZyB3ZW50IHdyb25nCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC3JlcXVlc3QybmRfBQAAAAVuZnRpZAIAAAABXwUAAAAGY2FsbGVyAgAAAAFfBQAAAAJpZAIAAAAFX09QRU4JAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhc3NldElkAgAAAAFfCQABpAAAAAEFAAAABmFtb3VudAIAAAABXwkAAaQAAAABBQAAAARkYXRlAgAAAAFfBQAAAAZjYWxsZXICAAAAAV8FAAAAAmlkBQAAAANuaWwAAAABaQEAAAALZGVsZXRlRW50cnkAAAABAAAABWVudHJ5BAAAAAZjYWxsZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AwkAAAAAAAACBQAAAAZjYWxsZXIFAAAABWNocmlzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABWVudHJ5BQAAAANuaWwJAAACAAAAAQIAAAACbm8AAAAAJTDpKg==", "height": 1526576, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HGg1eMwYzcSJ2tYvs9msuRcn5qDTFHg1TGAJMVQNNntj Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let unitTest = false
55
66 let oracleFee = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
77
88 let signDapp = value(addressFromString("3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB"))
99
1010 let artworksDapp = value(addressFromString("3NBynfbXC2KastUxhukcMUaE58K9cBdB9UY"))
1111
1212 let feeReceiver = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
1313
1414 let userDapp = if (unitTest)
1515 then value(addressFromString("3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm"))
1616 else value(addressFromString("3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj"))
1717
1818 let whitelistDapp = value(addressFromString("3N6BaV1dCB4zg43goNNHaCtvR13BcyJ5Gsq"))
1919
2020 let signAssetId = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
2121
2222 let usdnAssetId = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
2323
2424 let wavesAssetId = base58''
2525
2626 let chris = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
2727
2828 let joep = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
2929
3030 let signCut = 3
3131
3232 let creatorCut = 10
3333
3434 let dappRunning = valueOrElse(getBoolean(userDapp, "conf_dapp_is_running"), true)
3535
3636 let maintenanceMSG = valueOrElse(getString(userDapp, "conf_maintenance_msg"), "")
3737
3838 let userSuspended = "SUSPENDED"
3939
4040 let userRemoved = "REMOVED"
4141
4242 let artIllegal = "ILLEGAL"
4343
4444 let artSuspended = "SUSPENDED"
4545
4646 func getUserStrByK (key) = valueOrElse(getString(userDapp, key), "Error")
4747
4848
4949 func getArtStrByK (key) = valueOrElse(getString(artworksDapp, key), "")
5050
5151
5252 func getStrByK (key) = valueOrElse(getString(this, key), "")
5353
5454
5555 func getIntByK (key) = valueOrElse(getInteger(this, key), 0)
5656
5757
5858 func keyUserStatus (addr) = ("user_status_" + addr)
5959
6060
6161 func keySignID (artistAddr,artId) = ((("art_signid_" + artId) + "_") + artistAddr)
6262
6363
6464 func keyFlag (artistAddr,artId) = ((("art_flag_" + artId) + "_") + artistAddr)
6565
6666
6767 func keyNFTData (id) = ("nft_" + id)
6868
6969
7070 func idCallerDate (i) = if (!(dappRunning))
7171 then throw(maintenanceMSG)
7272 else $Tuple3(toBase58String(i.transactionId), toBase58String(i.caller.bytes), lastBlock.timestamp)
7373
7474
7575 func isPayment (i) = if ((size(i.payments) == 0))
7676 then throw("No payment attached")
7777 else {
7878 let payment = value(i.payments[0])
7979 let amount = value(payment.amount)
8080 $Tuple2(payment, amount)
8181 }
8282
8383
8484 func isSignArtNFT (id) = {
8585 let assetDetails = value(assetInfo(id))
8686 if (if (if (if ((assetDetails.quantity != 1))
8787 then true
8888 else (assetDetails.decimals != 0))
8989 then true
9090 else (assetDetails.reissuable != false))
9191 then true
9292 else (assetDetails.issuer != artworksDapp))
9393 then false
9494 else true
9595 }
9696
9797
9898 func acceptedAssetIds (assetId) = if (if (if (if ((assetId != toBase58String(signAssetId)))
9999 then (assetId != toBase58String(wavesAssetId))
100100 else false)
101101 then (assetId != "WAVES")
102102 else false)
103103 then (assetId != toBase58String(usdnAssetId))
104104 else false)
105105 then false
106106 else true
107107
108108
109109 func getBidAssetId (assetId) = if ((assetId == "WAVES"))
110110 then unit
111111 else fromBase58String(assetId)
112112
113113
114114 func getSaleOwnerAndStatus (nftid) = {
115115 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
116116 if ((saleOwner == "none"))
117117 then throw("NFT not found")
118118 else {
119119 let saleStatus = getStrByK(((("sale2nd_status_" + saleOwner) + "_") + nftid))
120120 if ((saleStatus != "OPEN"))
121121 then throw("NFT not for sale")
122122 else saleOwner
123123 }
124124 }
125125
126126
127127 func getBidData (key) = {
128128 let bidData = getStrByK((key + "_OPEN"))
129129 if ((bidData == ""))
130130 then throw("Offer not found")
131131 else {
132132 let bidDataArr = split(bidData, "_")
133133 let assetId = getBidAssetId(bidDataArr[0])
134134 $Tuple3(bidDataArr, assetId, bidData)
135135 }
136136 }
137137
138138
139139 func checkNFTInfo (assetId) = {
140140 let nftData = split(getArtStrByK(keyNFTData(assetId)), "_")
141141 let artSignID = getArtStrByK(keySignID(nftData[6], nftData[5]))
142142 if ((size(artSignID) == 0))
143143 then throw("Artwork not found on SIGN Art")
144144 else {
145145 let artStatus = getArtStrByK(keyFlag(nftData[6], nftData[5]))
146146 if (if ((artStatus == artIllegal))
147147 then true
148148 else (artStatus == artSuspended))
149149 then throw(("Original Artwork flagged as " + artStatus))
150150 else {
151151 let artistStatus = getUserStrByK(keyUserStatus(nftData[6]))
152152 if (containsElement([userSuspended, userRemoved], artistStatus))
153153 then throw(("Original Artist " + artistStatus))
154154 else $Tuple2(true, nftData[6])
155155 }
156156 }
157157 }
158158
159159
160160 @Callable(i)
161161 func sellNFT (price,asset) = {
162162 let $t059215960 = idCallerDate(i)
163163 let id = $t059215960._1
164164 let caller = $t059215960._2
165165 let date = $t059215960._3
166166 let $t059656001 = isPayment(i)
167167 let payment = $t059656001._1
168168 let amount = $t059656001._2
169169 let assetId = if (if (isDefined(payment.assetId))
170170 then isSignArtNFT(value(payment.assetId))
171171 else false)
172172 then payment.assetId
173173 else throw("No NFT found")
174174 if (!(acceptedAssetIds(asset)))
175175 then throw("Only SIGN, USDN or WAVES accepted")
176176 else {
177177 let $t062316307 = checkNFTInfo(toBase58String(value(assetId)))
178178 let isValidNFT = $t062316307._1
179179 let creatorAddr = $t062316307._2
180180 if (!(isValidNFT))
181181 then throw("Something went wrong")
182182 else [StringEntry((((((("sale2nd_info_" + caller) + "_") + toBase58String(value(payment.assetId))) + "_") + creatorAddr) + "_OPEN"), ((((toString(date) + "_") + toString(price)) + "_") + asset)), StringEntry(((("sale2nd_status_" + caller) + "_") + toBase58String(value(payment.assetId))), "OPEN"), StringEntry(("current_owner_on_dapp_" + toBase58String(value(payment.assetId))), caller)]
183183 }
184184 }
185185
186186
187187
188188 @Callable(i)
189189 func cancelSale (nftid) = {
190190 let $t069837022 = idCallerDate(i)
191191 let id = $t069837022._1
192192 let caller = $t069837022._2
193193 let date = $t069837022._3
194194 let saleOwner = getStrByK(("current_owner_on_dapp_" + nftid))
195195 if ((saleOwner != caller))
196196 then throw("You don't own this NFT")
197197 else {
198198 let saleStatus = getStrByK(((("sale2nd_status_" + caller) + "_") + nftid))
199199 if ((saleStatus != "OPEN"))
200200 then throw("Sale not active")
201201 else {
202202 let creatorAddr = split(getArtStrByK(keyNFTData(nftid)), "_")[6]
203203 let saleInfo = getStrByK(((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_") + saleStatus))
204204 [DeleteEntry((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry(((("sale2nd_status_" + caller) + "_") + nftid)), StringEntry((((((((((("sale2nd_info_" + caller) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CANCELLED"), saleInfo), StringEntry(("current_owner_on_dapp_" + nftid), "none"), ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftid))]
205205 }
206206 }
207207 }
208208
209209
210210
211211 @Callable(i)
212212 func buyNFT (nftid) = {
213213 let $t081598230 = idCallerDate(i)
214214 let id = $t081598230._1
215215 let caller = $t081598230._2
216216 let date = $t081598230._3
217217 let saleOwner = getSaleOwnerAndStatus(nftid)
218218 let $t082858336 = checkNFTInfo(nftid)
219219 let isValidNFT = $t082858336._1
220220 let creatorAddr = $t082858336._2
221221 if (!(isValidNFT))
222222 then throw("Something went wrong")
223223 else {
224224 let saleInfo = getStrByK((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN"))
225225 if ((size(saleInfo) == 0))
226226 then throw("Sale Not found!")
227227 else {
228228 let saleInfoArray = split(saleInfo, "_")
229229 let $t086008636 = isPayment(i)
230230 let payment = $t086008636._1
231231 let amount = $t086008636._2
232232 if (if ((saleInfoArray[1] != toString(amount)))
233233 then true
234234 else (saleInfoArray[2] != toBase58String(value(payment.assetId))))
235235 then throw("Payment infos don't match.")
236236 else {
237237 let amountForSign = fraction(amount, signCut, 100)
238238 let amountForCreator = fraction(amount, creatorCut, 100)
239239 let amountForOwner = (amount - (amountForSign + amountForCreator))
240240 [DeleteEntry((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(payment.assetId))) + "_to_") + caller)), StringEntry(("current_owner_on_dapp_" + nftid), "none"), ScriptTransfer(Address(fromBase58String(feeReceiver)), amountForSign, payment.assetId), ScriptTransfer(Address(fromBase58String(creatorAddr)), amountForCreator, payment.assetId), ScriptTransfer(Address(fromBase58String(saleOwner)), amountForOwner, payment.assetId), ScriptTransfer(Address(fromBase58String(caller)), 1, fromBase58String(nftid))]
241241 }
242242 }
243243 }
244244 }
245245
246246
247247
248248 @Callable(i)
249249 func setOffer (nftid) = {
250250 let $t01008310121 = idCallerDate(i)
251251 let id = $t01008310121._1
252252 let caller = $t01008310121._2
253253 let date = $t01008310121._3
254254 let $t01012610162 = isPayment(i)
255255 let payment = $t01012610162._1
256256 let amount = $t01012610162._2
257257 let assetId = if (!(isDefined(payment.assetId)))
258258 then "WAVES"
259259 else toBase58String(value(payment.assetId))
260260 if (!(acceptedAssetIds(assetId)))
261261 then throw("asset not accepted")
262262 else {
263263 let saleOwner = getSaleOwnerAndStatus(nftid)
264264 [StringEntry((((((((("offer2nd_" + saleOwner) + "_") + nftid) + "_") + caller) + "_") + id) + "_OPEN"), ((((((((assetId + "_") + toString(amount)) + "_") + toString(date)) + "_") + caller) + "_") + id))]
265265 }
266266 }
267267
268268
269269
270270 @Callable(i)
271271 func acceptOffer (nftid,offerId,offerOwner) = {
272272 let $t01087210946 = idCallerDate(i)
273273 let id = $t01087210946._1
274274 let caller = $t01087210946._2
275275 let date = $t01087210946._3
276276 let saleOwner = getSaleOwnerAndStatus(nftid)
277277 if ((caller != saleOwner))
278278 then throw("You cannot do this action")
279279 else {
280280 let offerExist = getStrByK((((((((("offer2nd_" + saleOwner) + "_") + nftid) + "_") + offerOwner) + "_") + offerId) + "_OPEN"))
281281 if ((offerExist == ""))
282282 then throw("Offer not found or not for sale")
283283 else {
284284 let $t01125111302 = checkNFTInfo(nftid)
285285 let isValidNFT = $t01125111302._1
286286 let creatorAddr = $t01125111302._2
287287 if (!(isValidNFT))
288288 then throw("Something went wrong")
289289 else {
290290 let saleInfo = getStrByK((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN"))
291291 if ((size(saleInfo) == 0))
292292 then throw("Sale Not found!")
293293 else {
294294 let bidDataKey = ((((((("offer2nd_" + saleOwner) + "_") + nftid) + "_") + offerOwner) + "_") + offerId)
295295 let $t01169611755 = getBidData(bidDataKey)
296296 let bidDataArr = $t01169611755._1
297297 let assetId = $t01169611755._2
298298 let bidData = $t01169611755._3
299299 let amount = value(parseInt(bidDataArr[1]))
300300 let amountForSign = fraction(amount, signCut, 100)
301301 let amountForCreator = fraction(amount, creatorCut, 100)
302302 let amountForOwner = (amount - (amountForSign + amountForCreator))
303303 [DeleteEntry((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_OPEN")), DeleteEntry((bidDataKey + "_OPEN")), DeleteEntry(((("sale2nd_status_" + saleOwner) + "_") + nftid)), StringEntry((bidDataKey + "_CLOSED"), ((((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_to_") + offerOwner) + "_") + offerId)), StringEntry((((((((((("sale2nd_info_" + saleOwner) + "_") + nftid) + "_") + creatorAddr) + "_") + toString(date)) + "_") + id) + "_CLOSED"), ((((((toString(date) + "_") + toString(amount)) + "_") + toBase58String(value(assetId))) + "_to_") + offerOwner)), StringEntry(("current_owner_on_dapp_" + nftid), "none"), ScriptTransfer(Address(fromBase58String(feeReceiver)), amountForSign, assetId), ScriptTransfer(Address(fromBase58String(creatorAddr)), amountForCreator, assetId), ScriptTransfer(Address(fromBase58String(saleOwner)), amountForOwner, assetId), ScriptTransfer(Address(fromBase58String(bidDataArr[3])), 1, fromBase58String(nftid))]
304304 }
305305 }
306306 }
307307 }
308308 }
309309
310310
311311
312312 @Callable(i)
313313 func cancelOffer (nftid,offerId) = {
314314 let $t01310713337 = idCallerDate(i)
315315 let id = $t01310713337._1
316316 let caller = $t01310713337._2
317317 let date = $t01310713337._3
318318 let saleOwner = getSaleOwnerAndStatus(nftid)
319319 let bidDataKey = ((((((("offer2nd_" + saleOwner) + "_") + nftid) + "_") + caller) + "_") + offerId)
320320 let $t01347313573 = getBidData(((((((("offer_" + nftid) + "_") + saleOwner) + "_") + caller) + "_") + offerId))
321321 let bidDataArr = $t01347313573._1
322322 let assetId = $t01347313573._2
323323 let bidData = $t01347313573._3
324324 let bidStatus = "CANCELLED"
325325 [DeleteEntry((bidDataKey + "_OPEN")), StringEntry(((bidDataKey + "_") + bidStatus), ((bidData + "_") + toString(date))), ScriptTransfer(Address(fromBase58String(caller)), parseIntValue(bidDataArr[1]), assetId)]
326326 }
327327
328328
329329
330330 @Callable(i)
331331 func setRequest (nftid) = {
332332 let $t01417714215 = idCallerDate(i)
333333 let id = $t01417714215._1
334334 let caller = $t01417714215._2
335335 let date = $t01417714215._3
336336 let $t01422014256 = isPayment(i)
337337 let payment = $t01422014256._1
338338 let amount = $t01422014256._2
339339 let assetId = if (!(isDefined(payment.assetId)))
340340 then "WAVES"
341341 else toBase58String(value(payment.assetId))
342342 if (!(acceptedAssetIds(assetId)))
343343 then throw("asset not accepted")
344344 else {
345345 let $t01447714528 = checkNFTInfo(nftid)
346346 let isValidNFT = $t01447714528._1
347347 let creatorAddr = $t01447714528._2
348348 if (!(isValidNFT))
349349 then throw("Something went wrong")
350350 else [StringEntry((((((("request2nd_" + nftid) + "_") + caller) + "_") + id) + "_OPEN"), ((((((((assetId + "_") + toString(amount)) + "_") + toString(date)) + "_") + caller) + "_") + id))]
351351 }
352352 }
353353
354354
355355
356356 @Callable(i)
357357 func deleteEntry (entry) = {
358358 let caller = toString(addressFromPublicKey(i.callerPublicKey))
359359 if ((caller == chris))
360360 then [DeleteEntry(entry)]
361361 else throw("no")
362362 }
363363
364364

github/deemru/w8io/873ac7e 
52.14 ms