tx · 51vNC5dKpKsd6aahk5aZbbZKKMT5vHpbDmz9JV6frXRv

3N5nmMvMH8o3RPEyCKCaoWahBTYTexnZy62:  -0.02000000 Waves

2020.09.16 13:50 [1179731] smart account 3N5nmMvMH8o3RPEyCKCaoWahBTYTexnZy62 > SELF 0.00000000 Waves

{ "type": 13, "id": "51vNC5dKpKsd6aahk5aZbbZKKMT5vHpbDmz9JV6frXRv", "fee": 2000000, "feeAssetId": null, "timestamp": 1600253457273, "version": 1, "sender": "3N5nmMvMH8o3RPEyCKCaoWahBTYTexnZy62", "senderPublicKey": "6PBV8fVJwLaUQbCyG7iqoKR3x1nqFRZFNeuN9qodoiTu", "proofs": [ "3sD7ZtB3iCwVttk3nyqCv6qFqUgkEXGzegP5SHg3C9fgLEfP1CkiTK2YC1QU48iGzB4w4H2WBCNmVzSHR88pw3UZ", "5J9V2hVFhogFGjbp3Node7AZ5EJVti1cYFqBJdSUBMZu5Q41kipxoX5sL4Z9P9R3qwhx5d4skmmMVhVsgwu11BPi", "2V9jqNgQNgKdfCJBXtLzjkgkhsTwabtYAYmao3p3rgK9dLwDjS3D8AFG4j5LTcJ2VAq5mbsXUE5h2L89BzjAghMv" ], "script": "base64:AAIEAAAAAAAAABEIAhIECgIBCBIAEgMKAQgSAAAAADkBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAAAAAAAAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQIAAAAAAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkHAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQIAAAAAAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQAAAAAAAAAAAAAAAAAHV0FWRUxFVAAAAAAABfXhAAAAAAAFUEFVTEkAAAAAAAAPQkAAAAAACFBSSUNFTEVUAAAAAAAAD0JAAAAAAAhDQU5DRUxFRAIAAAAIY2FuY2VsZWQAAAAAA05FVwIAAAADbmV3AAAAAAZGSUxMRUQCAAAABmZpbGxlZAAAAAATTmV1dHJpbm9Db250cmFjdEtleQIAAAARbmV1dHJpbm9fY29udHJhY3QAAAAACFByaWNlS2V5AgAAAAVwcmljZQAAAAAOQm9uZEFzc2V0SWRLZXkCAAAADWJvbmRfYXNzZXRfaWQAAAAAEk5ldXRyaW5vQXNzZXRJZEtleQIAAAARbmV1dHJpbm9fYXNzZXRfaWQAAAAAEkNvbnRyb2xDb250cmFjdEtleQIAAAAQY29udHJvbF9jb250cmFjdAAAAAARQmFsYW5jZUxvY2tlZGtLZXkCAAAADWJhbGFuY2VfbG9ja18AAAAAFVdhdmVzTG9ja2VkQmFsYW5jZUtleQkAASwAAAACBQAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAAFd2F2ZXMAAAAAGE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQkAASwAAAACBQAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAAIbmV1dHJpbm8AAAAADUZpcnN0T3JkZXJLZXkCAAAAC29yZGVyX2ZpcnN0AAAAABZDdXJyZW50RGVmYXVsdE9yZGVyS2V5AgAAAA1vcmRlcl9kZWZhdWx0AQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX3ByaWNlXwUAAAAHb3JkZXJJZAEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAxvcmRlcl90b3RhbF8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfb3duZXJfBQAAAAdvcmRlcklkAQAAABFnZXRPcmRlckhlaWdodEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAA1vcmRlcl9oZWlnaHRfBQAAAAdvcmRlcklkAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAA1vcmRlcl9zdGF0dXNfBQAAAAdvcmRlcklkAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAAE29yZGVyX2ZpbGxlZF90b3RhbF8FAAAAB29yZGVySWQBAAAAD2dldFByZXZPcmRlcktleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAtvcmRlcl9wcmV2XwUAAAAHb3JkZXJJZAEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAAC29yZGVyX25leHRfBQAAAAdvcmRlcklkAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAABrAAAAAwkAAGsAAAADBQAAAAZhbW91bnQFAAAACFBSSUNFTEVUBQAAAAVwcmljZQUAAAAHV0FWRUxFVAUAAAAFUEFVTEkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACAAAABmFtb3VudAAAAAVwcmljZQkAAGsAAAADCQAAawAAAAMFAAAABmFtb3VudAUAAAAFcHJpY2UFAAAACFBSSUNFTEVUBQAAAAVQQVVMSQUAAAAHV0FWRUxFVAEAAAASY29udmVydFdhdmVzVG9Cb25kAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAGYW1vdW50BQAAAAVwcmljZQAAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAATTmV1dHJpbm9Db250cmFjdEtleQAAAAAPY29udHJvbENvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAASQ29udHJvbENvbnRyYWN0S2V5AAAAABNsaXF1aWRhdGlvbkNvbnRyYWN0BQAAAAR0aGlzAAAAAA9uZXV0cmlub0Fzc2V0SWQJAAJZAAAAAQkBAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAEk5ldXRyaW5vQXNzZXRJZEtleQAAAAALYm9uZEFzc2V0SWQJAAJZAAAAAQIAAAAsQkdoUFlxdVhTSzZVWWpuUExFbjk0Z0ZoZXRwNEp2Zjd0b2VrRVk0eDFWREgAAAAACmZpcnN0T3JkZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAADUZpcnN0T3JkZXJLZXkAAAAACWlzQmxvY2tlZAkBAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QCAAAACmlzX2Jsb2NrZWQAAAAADGN1cnJlbnRQcmljZQkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAD2NvbnRyb2xDb250cmFjdAUAAAAIUHJpY2VLZXkAAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAGE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQAAAAASd2F2ZXNMb2NrZWRCYWxhbmNlCQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAVV2F2ZXNMb2NrZWRCYWxhbmNlS2V5AAAAAAdyZXNlcnZlCQAAZQAAAAIICQAD7wAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QAAAAHcmVndWxhcgUAAAASd2F2ZXNMb2NrZWRCYWxhbmNlAAAAAA5uZXV0cmlub1N1cHBseQkAAGUAAAACCQAAZQAAAAIJAABkAAAAAgUAAAAVbmV1dHJpbm9Mb2NrZWRCYWxhbmNlCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAA9uZXV0cmlub0Fzc2V0SWQAAAAIcXVhbnRpdHkJAAPwAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAPbmV1dHJpbm9Bc3NldElkCQAD8AAAAAIFAAAAE2xpcXVpZGF0aW9uQ29udHJhY3QFAAAAD25ldXRyaW5vQXNzZXRJZAAAAAAHc3VycGx1cwkAAGUAAAACCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAAB3Jlc2VydmUFAAAADGN1cnJlbnRQcmljZQUAAAAObmV1dHJpbm9TdXBwbHkBAAAADWdldE9yZGVyUHJpY2UAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEFAAAAAmlkAQAAAA1nZXRPcmRlclRvdGFsAAAAAQAAAAJpZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAAJpZAEAAAANZ2V0T3JkZXJPd25lcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQUAAAACaWQBAAAADmdldE9yZGVyU3RhdHVzAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAACaWQBAAAAE2dldE9yZGVyRmlsbGVkVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEFAAAAAmlkAQAAAA5nZXRPcmRlckhlaWdodAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABFnZXRPcmRlckhlaWdodEtleQAAAAEFAAAAAmlkAQAAAAxnZXRQcmV2T3JkZXIAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAPZ2V0UHJldk9yZGVyS2V5AAAAAQUAAAACaWQBAAAADGdldE5leHRPcmRlcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXROZXh0T3JkZXJLZXkAAAABBQAAAAJpZAAAAAATY3VycmVudERlZmF1bHRPcmRlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAWQ3VycmVudERlZmF1bHRPcmRlcktleQEAAAAbZ2VuZXJhdGVEYXRhRW50cnlUb0FkZE9yZGVyAAAABgAAAAVwcmljZQAAAApuZXdPcmRlcklkAAAAAWkAAAAJcHJldk9yZGVyAAAACW5leHRPcmRlcgAAAApmaXJzdE9yZGVyBAAAAAZhbW91bnQICQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAAQaXNPbmVGb3JPbmVPcmRlcgkAAAAAAAACBQAAAAVwcmljZQAAAAAAAAAAZAQAAAAQaXNGaXJzdE9yZGVyRW10eQkAAAAAAAACBQAAAApmaXJzdE9yZGVyAgAAAAAEAAAAKWlzTmV3T3JkZXJQcmljZUxvd2VyVGhhbkN1cnJlbnRGaXJzdE9yZGVyCQAAZgAAAAIJAQAAAA1nZXRPcmRlclByaWNlAAAAAQUAAAAKZmlyc3RPcmRlcgUAAAAFcHJpY2UEAAAADW5ld0ZpcnN0T3JkZXIDBQAAABBpc0ZpcnN0T3JkZXJFbXR5BQAAAApuZXdPcmRlcklkAwUAAAApaXNOZXdPcmRlclByaWNlTG93ZXJUaGFuQ3VycmVudEZpcnN0T3JkZXIFAAAACm5ld09yZGVySWQFAAAACmZpcnN0T3JkZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACm5ld09yZGVySWQFAAAACXByZXZPcmRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAAKbmV3T3JkZXJJZAUAAAAJbmV4dE9yZGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA9nZXROZXh0T3JkZXJLZXkAAAABBQAAAAlwcmV2T3JkZXIDCQAAAAAAAAIFAAAACXByZXZPcmRlcgIAAAAABQAAAAlwcmV2T3JkZXIFAAAACm5ld09yZGVySWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACW5leHRPcmRlcgMJAAAAAAAAAgUAAAAJbmV4dE9yZGVyAgAAAAAFAAAACW5leHRPcmRlcgUAAAAKbmV3T3JkZXJJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1GaXJzdE9yZGVyS2V5BQAAAA1uZXdGaXJzdE9yZGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEFAAAACm5ld09yZGVySWQFAAAABXByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAACm5ld09yZGVySWQFAAAABmFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJPd25lcktleQAAAAEFAAAACm5ld09yZGVySWQJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARZ2V0T3JkZXJIZWlnaHRLZXkAAAABBQAAAApuZXdPcmRlcklkBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAAKbmV3T3JkZXJJZAUAAAADTkVXCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAFkN1cnJlbnREZWZhdWx0T3JkZXJLZXkDBQAAABBpc09uZUZvck9uZU9yZGVyBQAAAApuZXdPcmRlcklkBQAAABNjdXJyZW50RGVmYXVsdE9yZGVyBQAAAANuaWwBAAAAG2ludGVybmFsQWRkTGlxdWlkYXRpb25PcmRlcgAAAAMAAAABaQAAAAVwcmljZQAAAAlwcmV2T3JkZXIEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAKbmV3T3JkZXJJZAkAAlgAAAABCQAB9QAAAAEJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAAGaAAAAAQgFAAAAA3BtdAAAAAZhbW91bnQICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMJAAGaAAAAAQUAAAAGaGVpZ2h0CAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAAVvd25lcgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAEGlzRW1wdHlQcmV2T3JkZXIJAAAAAAAAAgUAAAAJcHJldk9yZGVyAgAAAAAEAAAAEWlzRW1wdHlGaXJzdE9yZGVyCQAAAAAAAAIFAAAACmZpcnN0T3JkZXICAAAAAAMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFljb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsIHJlYWN0aXZhdGlvbiBieSBlbWVyZ2VuY3kgb3JhY2xlcwMJAABmAAAAAgUAAAAFUEFVTEkIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAAKW9yZGVyIGFtb3VudCBzaG91bGQgYmUgaGlnaGVyIHRoYW4gMSBOU0JUAwkAAGYAAAACAAAAAAAAAABkBQAAAAVwcmljZQkAAAIAAAABCQABLAAAAAICAAAATHByaWNlIHNob3VsZCBiZSBlcXVhbCBvciBoaWdoZXIgdGhhbiAxIG5zYnQgZm9yIDEgdXNkbi4gaS5lLiA+PSAxMDA7IHByaWNlOiAJAAGkAAAAAQUAAAAFcHJpY2UDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC2JvbmRBc3NldElkCQAAAgAAAAECAAAANGNhbiB1c2UgYXBwcm9wcmlhdGUgbmV1dHJpbm8gYmFzZSB0b2tlbnMgKG5zYnQpIG9ubHkDCQEAAAACIT0AAAACCQEAAAANZ2V0T3JkZXJPd25lcgAAAAEFAAAACm5ld09yZGVySWQCAAAAAAkAAAIAAAABAgAAABh0aGUgb3JkZXIgYWxyZWFkeSBleGlzdHMDAwkBAAAAASEAAAABBQAAABBpc0VtcHR5UHJldk9yZGVyCQEAAAACIT0AAAACCQEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABBQAAAAlwcmV2T3JkZXIFAAAAA05FVwcJAAACAAAAAQIAAAAccHJldiBvcmRlciBzdGF0dXMgaXMgbm90IG5ldwMDBQAAABFpc0VtcHR5Rmlyc3RPcmRlcgkBAAAAASEAAAABBQAAABBpc0VtcHR5UHJldk9yZGVyBwkAAAIAAAABAgAAABp3cm9uZyBwcmV2IG9yZGVyIHBhcmFtZXRlcgQAAAAJbmV4dE9yZGVyAwUAAAAQaXNFbXB0eVByZXZPcmRlcgUAAAAKZmlyc3RPcmRlcgkBAAAADGdldE5leHRPcmRlcgAAAAEFAAAACXByZXZPcmRlcgQAAAAQaXNFbXB0eU5leHRPcmRlcgkAAAAAAAACBQAAAAluZXh0T3JkZXICAAAAAAMFAAAAEWlzRW1wdHlGaXJzdE9yZGVyCQEAAAAbZ2VuZXJhdGVEYXRhRW50cnlUb0FkZE9yZGVyAAAABgUAAAAFcHJpY2UFAAAACm5ld09yZGVySWQFAAAAAWkFAAAACXByZXZPcmRlcgUAAAAJbmV4dE9yZGVyBQAAAApmaXJzdE9yZGVyBAAAAA5uZXh0T3JkZXJQcmljZQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAluZXh0T3JkZXIEAAAADnByZXZPcmRlclByaWNlCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEFAAAACXByZXZPcmRlcgQAAAAQaXNOZXh0T3JkZXJFcnJvcgMJAQAAAAEhAAAAAQUAAAAQaXNFbXB0eU5leHRPcmRlcgkAAGcAAAACBQAAAAVwcmljZQUAAAAObmV4dE9yZGVyUHJpY2UHBAAAABBpc1ByZXZPcmRlckVycm9yAwkBAAAAASEAAAABBQAAABBpc0VtcHR5UHJldk9yZGVyCQAAZgAAAAIFAAAADnByZXZPcmRlclByaWNlBQAAAAVwcmljZQcDAwUAAAAQaXNOZXh0T3JkZXJFcnJvcgYFAAAAEGlzUHJldk9yZGVyRXJyb3IJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAfaW52YWxpZCBvcmRlciBpc1ByZXZPcmRlckVycm9yOgkAAaUAAAABBQAAABBpc1ByZXZPcmRlckVycm9yAgAAABIgaXNOZXh0T3JkZXJFcnJvcjoJAAGlAAAAAQUAAAAQaXNOZXh0T3JkZXJFcnJvcgkBAAAAG2dlbmVyYXRlRGF0YUVudHJ5VG9BZGRPcmRlcgAAAAYFAAAABXByaWNlBQAAAApuZXdPcmRlcklkBQAAAAFpBQAAAAlwcmV2T3JkZXIFAAAACW5leHRPcmRlcgUAAAAKZmlyc3RPcmRlcgEAAAAaY29tcHV0ZUN1cnJlbnREZWZhdWx0T3JkZXIAAAABAAAAAmlkAwkBAAAAAiE9AAAAAgUAAAACaWQFAAAAE2N1cnJlbnREZWZhdWx0T3JkZXIFAAAAE2N1cnJlbnREZWZhdWx0T3JkZXICAAAAAAAAAAQAAAABaQEAAAAcYWRkTGlxdWlkYXRpb25PcmRlcldpdGhQcmljZQAAAAIAAAAFcHJpY2UAAAAJcHJldk9yZGVyCQAAAgAAAAECAAAAVE1ldGhvZCBoYXMgYmVlbiBkZXByZWNhdGVkOiBwbGVhc2UgdXNlIGFkZExpcXVpZGF0aW9uT3JkZXIgbWV0aG9kIHdpdGhvdXQgcGFyYW1ldGVycwAAAAFpAQAAABNhZGRMaXF1aWRhdGlvbk9yZGVyAAAAAAkBAAAAG2ludGVybmFsQWRkTGlxdWlkYXRpb25PcmRlcgAAAAMFAAAAAWkAAAAAAAAAAGQFAAAAE2N1cnJlbnREZWZhdWx0T3JkZXIAAAABaQEAAAALY2FuY2VsT3JkZXIAAAABAAAAB29yZGVySWQEAAAABW93bmVyCQEAAAANZ2V0T3JkZXJPd25lcgAAAAEFAAAAB29yZGVySWQEAAAABmFtb3VudAkAAGUAAAACCQEAAAANZ2V0T3JkZXJUb3RhbAAAAAEFAAAAB29yZGVySWQJAQAAABNnZXRPcmRlckZpbGxlZFRvdGFsAAAAAQUAAAAHb3JkZXJJZAQAAAAGY2FsbGVyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAJbmV4dE9yZGVyCQEAAAAMZ2V0TmV4dE9yZGVyAAAAAQUAAAAHb3JkZXJJZAQAAAAJcHJldk9yZGVyCQEAAAAMZ2V0UHJldk9yZGVyAAAAAQUAAAAHb3JkZXJJZAQAAAAOaXNEZWZhdWx0T3JkZXIJAAAAAAAAAgUAAAAHb3JkZXJJZAUAAAATY3VycmVudERlZmF1bHRPcmRlcgQAAAAWaXNQcmV2Q2FuQmVjb21lRGVmYXVsdAkAAAAAAAACCQEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABBQAAAAlwcmV2T3JkZXIFAAAAA05FVwQAAAAPbmV3RGVmYXVsdE9yZGVyAwUAAAAOaXNEZWZhdWx0T3JkZXIDBQAAABZpc1ByZXZDYW5CZWNvbWVEZWZhdWx0BQAAAAlwcmV2T3JkZXICAAAAAAUAAAATY3VycmVudERlZmF1bHRPcmRlcgMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFljb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsIHJlYWN0aXZhdGlvbiBieSBlbWVyZ2VuY3kgb3JhY2xlcwMJAQAAAAIhPQAAAAIFAAAABW93bmVyBQAAAAZjYWxsZXIJAAACAAAAAQIAAAARcGVybWlzc2lvbiBkZW5pZWQDCQEAAAACIT0AAAACCQEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABBQAAAAdvcmRlcklkBQAAAANORVcJAAACAAAAAQIAAAAUaW52YWxpZCBvcmRlciBzdGF0dXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAWQ3VycmVudERlZmF1bHRPcmRlcktleQUAAAAPbmV3RGVmYXVsdE9yZGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkDCQAAAAAAAAIFAAAACmZpcnN0T3JkZXIFAAAAB29yZGVySWQFAAAACW5leHRPcmRlcgUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAAJcHJldk9yZGVyBQAAAAluZXh0T3JkZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACW5leHRPcmRlcgUAAAAJcHJldk9yZGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAB29yZGVySWQFAAAACENBTkNFTEVECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAtib25kQXNzZXRJZAUAAAADbmlsAAAAAWkBAAAADWxpcXVpZGF0ZUJvbmQAAAAABAAAABJsaXF1aWRhdGlvbkJhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAPbmV1dHJpbm9Bc3NldElkBAAAAA9zdXJwbHVzUG9zaXRpdmUDCQAAZwAAAAIAAAAAAAAAAAAFAAAAB3N1cnBsdXMAAAAAAAAAAAAFAAAAB3N1cnBsdXMEAAAACnVzZG5BbW91bnQDCQAAZwAAAAIFAAAAD3N1cnBsdXNQb3NpdGl2ZQUAAAASbGlxdWlkYXRpb25CYWxhbmNlBQAAABJsaXF1aWRhdGlvbkJhbGFuY2UFAAAAD3N1cnBsdXNQb3NpdGl2ZQQAAAAMcmV0dXJuQW1vdW50AwkAAGcAAAACBQAAAA9zdXJwbHVzUG9zaXRpdmUFAAAAEmxpcXVpZGF0aW9uQmFsYW5jZQAAAAAAAAAAAAkAAGUAAAACBQAAABJsaXF1aWRhdGlvbkJhbGFuY2UFAAAAD3N1cnBsdXNQb3NpdGl2ZQMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFljb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsIHJlYWN0aXZhdGlvbiBieSBlbWVyZ2VuY3kgb3JhY2xlcwMJAAAAAAAAAgUAAAASbGlxdWlkYXRpb25CYWxhbmNlAAAAAAAAAAAACQAAAgAAAAECAAAAIHdpdGhvdXQgYmFzZSB0b2tlbnMgdG8gbGlxdWlkYXRlAwkAAGYAAAACBQAAAAxyZXR1cm5BbW91bnQAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAMcmV0dXJuQW1vdW50BQAAAA9uZXV0cmlub0Fzc2V0SWQFAAAAA25pbAMJAAAAAAAAAgUAAAAKZmlyc3RPcmRlcgIAAAAACQAAAgAAAAECAAAAD2VtcHR5IG9yZGVyYm9vawQAAAAJbmV4dE9yZGVyCQEAAAAMZ2V0TmV4dE9yZGVyAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAALZmlsbGVkVG90YWwJAQAAABNnZXRPcmRlckZpbGxlZFRvdGFsAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAAObnNidDJVc2RuUHJpY2UJAQAAAA1nZXRPcmRlclByaWNlAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAANcmVtYWluZWRUb3RhbAkAAGUAAAACCQEAAAANZ2V0T3JkZXJUb3RhbAAAAAEFAAAACmZpcnN0T3JkZXIFAAAAC2ZpbGxlZFRvdGFsBAAAACB0b3RhbFVTRE5SZXF1aXJlZFRvRmlsbE9yZGVyWDEwMAkAAGsAAAADBQAAAA1yZW1haW5lZFRvdGFsBQAAAA5uc2J0MlVzZG5QcmljZQAAAAAAAAAAAQQAAAAcdG90YWxVU0ROUmVxdWlyZWRUb0ZpbGxPcmRlcgkAAGkAAAACBQAAACB0b3RhbFVTRE5SZXF1aXJlZFRvRmlsbE9yZGVyWDEwMAAAAAAAAAAAZAQAAAATaXNPcmRlckZ1bGx5RmlsYWJsZQkAAGcAAAACBQAAAAp1c2RuQW1vdW50BQAAABx0b3RhbFVTRE5SZXF1aXJlZFRvRmlsbE9yZGVyBAAAABdmaWxsYWJsZU9yZGVyQW1vdW50WDEwMAMFAAAAE2lzT3JkZXJGdWxseUZpbGFibGUFAAAAIHRvdGFsVVNETlJlcXVpcmVkVG9GaWxsT3JkZXJYMTAwCQAAaAAAAAIFAAAACnVzZG5BbW91bnQAAAAAAAAAAGQEAAAAEGZpbmFsTkJURmlsbGFibGUJAABrAAAAAwUAAAAXZmlsbGFibGVPcmRlckFtb3VudFgxMDAAAAAAAAAAAAEFAAAADm5zYnQyVXNkblByaWNlBAAAABNmaWxsYWJsZU9yZGVyQW1vdW50CQAAaQAAAAIFAAAAF2ZpbGxhYmxlT3JkZXJBbW91bnRYMTAwAAAAAAAAAABkBAAAABpuYlRva2Vuc0xpcXVpZGF0ZUNvbmRpdGlvbgkAAGcAAAACCQAAawAAAAMJAABkAAAAAgUAAAAHc3VycGx1cwUAAAAObmV1dHJpbm9TdXBwbHkAAAAAAAAAAGQFAAAADm5ldXRyaW5vU3VwcGx5BQAAAA5uc2J0MlVzZG5QcmljZQMJAQAAAAEhAAAAAQUAAAAabmJUb2tlbnNMaXF1aWRhdGVDb25kaXRpb24JAAACAAAAAQkAASwAAAACAgAAABdpbm5hcHJvcHJpYXRlIHN1cnBsdXM6IAkAAaQAAAABBQAAAAdzdXJwbHVzBAAAABJpc05vdGhpbmdUb0ZpbGxOb3cJAAAAAAAAAgUAAAANcmVtYWluZWRUb3RhbAAAAAAAAAAAAAQAAAAUaXNOb3RoaW5nVG9GaWxsQXRBbGwJAAAAAAAAAgkAAGQAAAACBQAAAAtmaWxsZWRUb3RhbAUAAAAQZmluYWxOQlRGaWxsYWJsZQkBAAAADWdldE9yZGVyVG90YWwAAAABBQAAAApmaXJzdE9yZGVyBAAAAAluZXdTdGF0dXMDAwUAAAATaXNPcmRlckZ1bGx5RmlsYWJsZQMFAAAAEmlzTm90aGluZ1RvRmlsbE5vdwYFAAAAFGlzTm90aGluZ1RvRmlsbEF0QWxsBwUAAAAGRklMTEVEBQAAAANORVcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACW5leHRPcmRlcgMJAAAAAAAAAgUAAAAJbmV3U3RhdHVzBQAAAAZGSUxMRUQCAAAAAAUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1GaXJzdE9yZGVyS2V5AwkAAAAAAAACBQAAAAluZXdTdGF0dXMFAAAABkZJTExFRAUAAAAJbmV4dE9yZGVyBQAAAApmaXJzdE9yZGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEFAAAACmZpcnN0T3JkZXIJAABkAAAAAgUAAAALZmlsbGVkVG90YWwFAAAAEGZpbmFsTkJURmlsbGFibGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAAKZmlyc3RPcmRlcgUAAAAJbmV3U3RhdHVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAFkN1cnJlbnREZWZhdWx0T3JkZXJLZXkDCQAAAAAAAAIFAAAACW5ld1N0YXR1cwUAAAADTkVXBQAAABNjdXJyZW50RGVmYXVsdE9yZGVyCQEAAAAaY29tcHV0ZUN1cnJlbnREZWZhdWx0T3JkZXIAAAABBQAAAApmaXJzdE9yZGVyCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAKZmlyc3RPcmRlcgUAAAATZmlsbGFibGVPcmRlckFtb3VudAUAAAAPbmV1dHJpbm9Bc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAEGZpbmFsTkJURmlsbGFibGUFAAAAC2JvbmRBc3NldElkBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAABBwdWJLZXlBZG1pbnNMaXN0CQAETAAAAAICAAAALEdYeG1aYUNpZ1BnSnNUNmQxY0xyOG5VWEE2NW5HWDhWN0Z1QXp6clk4d1FFCQAETAAAAAICAAAALDN4dW14NGhyUHBlZW9vNzlITEdiWkNnZno5NUwzOVpGZHh4d1dlU1VDMlB1CQAETAAAAAICAAAALEQ0Q3F0SzVmQnNuelJvMzNaTWhyTTduaUxzZURIMnVSb0s2d2VCcTJKUTNBCQAETAAAAAICAAAALDVXUlhGU2p3Y1RiTmZLY0pzOFpxWG1TU1dZc1NWSlV0TXZNcVpqNWhINE5jBQAAAANuaWwEAAAABWNvdW50CQAAZAAAAAIJAABkAAAAAgkAAGQAAAACAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAAJZAAAAAQkAAZEAAAACBQAAABBwdWJLZXlBZG1pbnNMaXN0AAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEJAAJZAAAAAQkAAZEAAAACBQAAABBwdWJLZXlBZG1pbnNMaXN0AAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIJAAJZAAAAAQkAAZEAAAACBQAAABBwdWJLZXlBZG1pbnNMaXN0AAAAAAAAAAACAAAAAAAAAAABAAAAAAAAAAAAAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAMJAAJZAAAAAQkAAZEAAAACBQAAABBwdWJLZXlBZG1pbnNMaXN0AAAAAAAAAAADAAAAAAAAAAACAAAAAAAAAAAACQAAZwAAAAIFAAAABWNvdW50AAAAAAAAAAADuYCNkg==", "chainId": 84, "height": 1179731, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BEbxrNz7J4F1dE5LjzhQQ6oDh2h6Vwo16zsoTRa4GsKF Next: CbuxTXgujJpCcxsWrCB5c8yy6653gmqZrQPpTe6hQc3q Full:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a (b) = {
5- let c = getInteger(this, b)
6- if ($isInstanceOf(c, "Int"))
7- then {
8- let d = c
9- d
10- }
11- else 0
4+func a (b) = valueOrElse(getInteger(this, b), 0)
5+
6+
7+func c (b) = valueOrElse(getString(this, b), "")
8+
9+
10+func d (e,b) = valueOrElse(getBoolean(e, b), false)
11+
12+
13+func f (e,b) = valueOrElse(getString(e, b), "")
14+
15+
16+func g (e,b) = valueOrElse(getInteger(e, b), 0)
17+
18+
19+let h = 100000000
20+
21+let i = 1000000
22+
23+let j = 1000000
24+
25+let k = "canceled"
26+
27+let l = "new"
28+
29+let m = "filled"
30+
31+let n = "neutrino_contract"
32+
33+let o = "price"
34+
35+let p = "bond_asset_id"
36+
37+let q = "neutrino_asset_id"
38+
39+let r = "control_contract"
40+
41+let s = "balance_lock_"
42+
43+let t = (s + "waves")
44+
45+let u = (s + "neutrino")
46+
47+let v = "order_first"
48+
49+let w = "order_default"
50+
51+func x (y) = ("order_price_" + y)
52+
53+
54+func z (y) = ("order_total_" + y)
55+
56+
57+func A (y) = ("order_owner_" + y)
58+
59+
60+func B (y) = ("order_height_" + y)
61+
62+
63+func C (y) = ("order_status_" + y)
64+
65+
66+func D (y) = ("order_filled_total_" + y)
67+
68+
69+func E (y) = ("order_prev_" + y)
70+
71+
72+func F (y) = ("order_next_" + y)
73+
74+
75+func G (H,I) = fraction(fraction(H, j, I), h, i)
76+
77+
78+func J (H,I) = fraction(fraction(H, I, j), i, h)
79+
80+
81+func K (H,I) = J(H, I)
82+
83+
84+let L = addressFromStringValue(c(n))
85+
86+let M = addressFromStringValue(f(L, r))
87+
88+let N = this
89+
90+let O = fromBase58String(f(L, q))
91+
92+let P = fromBase58String("BGhPYquXSK6UYjnPLEn94gFhetp4Jvf7toekEY4x1VDH")
93+
94+let Q = c(v)
95+
96+let R = d(M, "is_blocked")
97+
98+let S = g(M, o)
99+
100+let T = g(L, u)
101+
102+let U = g(L, t)
103+
104+let V = (wavesBalance(L).regular - U)
105+
106+let W = (((T + value(assetInfo(O)).quantity) - assetBalance(L, O)) - assetBalance(N, O))
107+
108+let X = (J(V, S) - W)
109+
110+func Y (Z) = a(x(Z))
111+
112+
113+func aa (Z) = a(z(Z))
114+
115+
116+func ab (Z) = c(A(Z))
117+
118+
119+func ac (Z) = c(C(Z))
120+
121+
122+func ad (Z) = a(D(Z))
123+
124+
125+func ae (Z) = a(B(Z))
126+
127+
128+func af (Z) = c(E(Z))
129+
130+
131+func ag (Z) = c(F(Z))
132+
133+
134+let ah = c(w)
135+
136+func ai (I,aj,ak,al,am,Q) = {
137+ let H = value(ak.payments[0]).amount
138+ let an = (I == 100)
139+ let ao = (Q == "")
140+ let ap = (Y(Q) > I)
141+ let aq = if (ao)
142+ then aj
143+ else if (ap)
144+ then aj
145+ else Q
146+[StringEntry(E(aj), al), StringEntry(F(aj), am), StringEntry(F(al), if ((al == ""))
147+ then al
148+ else aj), StringEntry(E(am), if ((am == ""))
149+ then am
150+ else aj), StringEntry(v, aq), IntegerEntry(x(aj), I), IntegerEntry(z(aj), H), StringEntry(A(aj), toString(ak.caller)), IntegerEntry(B(aj), height), StringEntry(C(aj), l), StringEntry(w, if (an)
151+ then aj
152+ else ah)]
12153 }
13154
14155
15-func e (b) = {
16- let c = getString(this, b)
17- if ($isInstanceOf(c, "String"))
18- then {
19- let d = c
20- d
21- }
22- else ""
23- }
24-
25-
26-func f (g,b) = {
27- let c = getBoolean(g, b)
28- if ($isInstanceOf(c, "Boolean"))
29- then {
30- let d = c
31- d
32- }
33- else false
34- }
35-
36-
37-func h (g,b) = {
38- let c = getString(g, b)
39- if ($isInstanceOf(c, "String"))
40- then {
41- let d = c
42- d
43- }
44- else ""
45- }
46-
47-
48-func i (g,b) = {
49- let c = getInteger(g, b)
50- if ($isInstanceOf(c, "Int"))
51- then {
52- let d = c
53- d
54- }
55- else 0
56- }
57-
58-
59-let j = 100000000
60-
61-let k = 1000000
62-
63-let l = 1000000
64-
65-let m = "canceled"
66-
67-let n = "new"
68-
69-let o = "filled"
70-
71-let p = "neutrino_contract"
72-
73-let q = "price"
74-
75-let r = "bond_asset_id"
76-
77-let s = "neutrino_asset_id"
78-
79-let t = "control_contract"
80-
81-let u = "balance_lock_"
82-
83-let v = (u + "waves")
84-
85-let w = (u + "neutrino")
86-
87-let x = "order_first"
88-
89-let y = "order_default"
90-
91-func z (A) = ("order_price_" + A)
92-
93-
94-func B (A) = ("order_total_" + A)
95-
96-
97-func C (A) = ("order_owner_" + A)
98-
99-
100-func D (A) = ("order_height_" + A)
101-
102-
103-func E (A) = ("order_status_" + A)
104-
105-
106-func F (A) = ("order_filled_total_" + A)
107-
108-
109-func G (A) = ("order_prev_" + A)
110-
111-
112-func H (A) = ("order_next_" + A)
113-
114-
115-func I (J,K) = fraction(fraction(J, l, K), j, k)
116-
117-
118-func L (J,K) = fraction(fraction(J, K, l), k, j)
119-
120-
121-func M (J,K) = L(J, K)
122-
123-
124-let N = addressFromStringValue(e(p))
125-
126-let O = addressFromStringValue(h(N, t))
127-
128-let P = this
129-
130-let Q = fromBase58String(h(N, s))
131-
132-let R = fromBase58String("BGhPYquXSK6UYjnPLEn94gFhetp4Jvf7toekEY4x1VDH")
133-
134-let S = e(x)
135-
136-let T = f(O, "is_blocked")
137-
138-let U = i(O, q)
139-
140-let V = i(N, w)
141-
142-let W = i(N, v)
143-
144-let X = (wavesBalance(N) - W)
145-
146-let Y = (((V + extract(assetInfo(Q)).quantity) - assetBalance(N, Q)) - assetBalance(P, Q))
147-
148-let Z = (L(X, U) - Y)
149-
150-func aa (ab) = a(z(ab))
151-
152-
153-func ac (ab) = a(B(ab))
154-
155-
156-func ad (ab) = e(C(ab))
157-
158-
159-func ae (ab) = e(E(ab))
160-
161-
162-func af (ab) = a(F(ab))
163-
164-
165-func ag (ab) = a(D(ab))
166-
167-
168-func ah (ab) = e(G(ab))
169-
170-
171-func ai (ab) = e(H(ab))
172-
173-
174-let aj = e(y)
175-
176-func ak (K,al,am,an,ao,S) = {
177- let J = extract(am.payment).amount
178- let ap = (K == 100)
179- let aq = (S == "")
180- let ar = (aa(S) > K)
181- let as = if (aq)
182- then al
183- else if (ar)
184- then al
185- else S
186-[DataEntry(G(al), an), DataEntry(H(al), ao), DataEntry(H(an), if ((an == ""))
187- then an
188- else al), DataEntry(G(ao), if ((ao == ""))
189- then ao
190- else al), DataEntry(x, as), DataEntry(z(al), K), DataEntry(B(al), J), DataEntry(C(al), toString(am.caller)), DataEntry(D(al), height), DataEntry(E(al), n), DataEntry(y, if (ap)
191- then al
192- else aj)]
193- }
194-
195-
196-func at (am,K,an) = {
197- let au = extract(am.payment)
198- let al = toBase58String(keccak256((((toBytes(au.amount) + am.caller.bytes) + toBytes(height)) + am.transactionId)))
199- let av = toString(am.caller)
200- let aw = (an == "")
201- let ax = (S == "")
202- if (T)
156+func ar (ak,I,al) = {
157+ let as = value(ak.payments[0])
158+ let aj = toBase58String(keccak256((((toBytes(as.amount) + ak.caller.bytes) + toBytes(height)) + ak.transactionId)))
159+ let at = toString(ak.caller)
160+ let au = (al == "")
161+ let av = (Q == "")
162+ if (R)
203163 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
204- else if ((k > au.amount))
164+ else if ((i > as.amount))
205165 then throw("order amount should be higher than 1 NSBT")
206- else if ((100 > K))
207- then throw(("price should be equal or higher than 1 nsbt for 1 usdn. i.e. >= 100; price: " + toString(K)))
208- else if ((au.assetId != R))
166+ else if ((100 > I))
167+ then throw(("price should be equal or higher than 1 nsbt for 1 usdn. i.e. >= 100; price: " + toString(I)))
168+ else if ((as.assetId != P))
209169 then throw("can use appropriate neutrino base tokens (nsbt) only")
210- else if ((ad(al) != ""))
170+ else if ((ab(aj) != ""))
211171 then throw("the order already exists")
212- else if (if (!(aw))
213- then (ae(an) != n)
172+ else if (if (!(au))
173+ then (ac(al) != l)
214174 else false)
215175 then throw("prev order status is not new")
216- else if (if (ax)
217- then !(aw)
176+ else if (if (av)
177+ then !(au)
218178 else false)
219179 then throw("wrong prev order parameter")
220180 else {
221- let ao = if (aw)
222- then S
223- else ai(an)
224- let ay = (ao == "")
225- if (ax)
226- then WriteSet(ak(K, al, am, an, ao, S))
181+ let am = if (au)
182+ then Q
183+ else ag(al)
184+ let aw = (am == "")
185+ if (av)
186+ then ai(I, aj, ak, al, am, Q)
227187 else {
228- let az = a(z(ao))
229- let aA = a(z(an))
230- let aB = if (!(ay))
231- then (K >= az)
188+ let ax = a(x(am))
189+ let ay = a(x(al))
190+ let az = if (!(aw))
191+ then (I >= ax)
232192 else false
233- let aC = if (!(aw))
234- then (aA > K)
193+ let aA = if (!(au))
194+ then (ay > I)
235195 else false
236- if (if (aB)
196+ if (if (az)
237197 then true
238- else aC)
239- then throw(((("invalid order isPrevOrderError:" + toString(aC)) + " isNextOrderError:") + toString(aB)))
240- else WriteSet(ak(K, al, am, an, ao, S))
198+ else aA)
199+ then throw(((("invalid order isPrevOrderError:" + toString(aA)) + " isNextOrderError:") + toString(az)))
200+ else ai(I, aj, ak, al, am, Q)
241201 }
242202 }
243203 }
244204
245205
246-func aD (ab) = if ((ab != aj))
247- then aj
206+func aB (Z) = if ((Z != ah))
207+ then ah
248208 else ""
249209
250210
251-@Callable(am)
252-func addLiquidationOrderWithPrice (K,an) = at(am, K, an)
211+@Callable(ak)
212+func addLiquidationOrderWithPrice (I,al) = throw("Method has been deprecated: please use addLiquidationOrder method without parameters")
253213
254214
255215
256-@Callable(am)
257-func addLiquidationOrder () = at(am, 100, aj)
216+@Callable(ak)
217+func addLiquidationOrder () = ar(ak, 100, ah)
258218
259219
260220
261-@Callable(am)
262-func cancelOrder (A) = {
263- let av = ad(A)
264- let J = (ac(A) - af(A))
265- let aE = toString(am.caller)
266- let ao = ai(A)
267- let an = ah(A)
268- let aF = (A == aj)
269- let aG = (ae(an) == n)
270- let aH = if (aF)
271- then if (aG)
272- then an
221+@Callable(ak)
222+func cancelOrder (y) = {
223+ let at = ab(y)
224+ let H = (aa(y) - ad(y))
225+ let aC = toString(ak.caller)
226+ let am = ag(y)
227+ let al = af(y)
228+ let aD = (y == ah)
229+ let aE = (ac(al) == l)
230+ let aF = if (aD)
231+ then if (aE)
232+ then al
273233 else ""
274- else aj
275- if (T)
234+ else ah
235+ if (R)
276236 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
277- else if ((av != aE))
237+ else if ((at != aC))
278238 then throw("permission denied")
279- else if ((ae(A) != n))
239+ else if ((ac(y) != l))
280240 then throw("invalid order status")
281- else ScriptResult(WriteSet([DataEntry(y, aH), DataEntry(x, if ((S == A))
282- then ao
283- else S), DataEntry(H(an), ao), DataEntry(G(ao), an), DataEntry(E(A), m)]), TransferSet([ScriptTransfer(am.caller, J, R)]))
241+ else [StringEntry(w, aF), StringEntry(v, if ((Q == y))
242+ then am
243+ else Q), StringEntry(F(al), am), StringEntry(E(am), al), StringEntry(C(y), k), ScriptTransfer(ak.caller, H, P)]
284244 }
285245
286246
287247
288-@Callable(am)
248+@Callable(ak)
289249 func liquidateBond () = {
290- let aI = assetBalance(this, Q)
291- let aJ = if ((0 >= Z))
250+ let aG = assetBalance(this, O)
251+ let aH = if ((0 >= X))
292252 then 0
293- else Z
294- let aK = if ((aJ >= aI))
295- then aI
296- else aJ
297- let aL = if ((aJ >= aI))
253+ else X
254+ let aI = if ((aH >= aG))
255+ then aG
256+ else aH
257+ let aJ = if ((aH >= aG))
298258 then 0
299- else (aI - aJ)
300- if (T)
259+ else (aG - aH)
260+ if (R)
301261 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
302- else if ((aI == 0))
262+ else if ((aG == 0))
303263 then throw("without base tokens to liquidate")
304- else if ((aL > 0))
305- then TransferSet([ScriptTransfer(N, aL, Q)])
306- else if ((S == ""))
264+ else if ((aJ > 0))
265+ then [ScriptTransfer(L, aJ, O)]
266+ else if ((Q == ""))
307267 then throw("empty orderbook")
308268 else {
309- let ao = ai(S)
310- let aM = af(S)
311- let aN = aa(S)
312- let aO = (ac(S) - aM)
313- let aP = fraction(aO, aN, 100)
314- let aQ = (aK >= aP)
315- let aR = if (aQ)
316- then aP
317- else aK
318- let aS = fraction(aR, 100, aN)
319- let aT = (fraction((Z + Y), 100, Y) >= aN)
269+ let am = ag(Q)
270+ let aK = ad(Q)
271+ let aL = Y(Q)
272+ let aM = (aa(Q) - aK)
273+ let aN = fraction(aM, aL, 1)
274+ let aO = (aN / 100)
275+ let aP = (aI >= aO)
276+ let aQ = if (aP)
277+ then aN
278+ else (aI * 100)
279+ let aR = fraction(aQ, 1, aL)
280+ let aS = (aQ / 100)
281+ let aT = (fraction((X + W), 100, W) >= aL)
320282 if (!(aT))
321- then throw(("innapropriate surplus: " + toString(Z)))
283+ then throw(("innapropriate surplus: " + toString(X)))
322284 else {
323- let aU = (aO == 0)
324- let aV = ((aM + aS) == ac(S))
325- let aW = if (if (aQ)
285+ let aU = (aM == 0)
286+ let aV = ((aK + aR) == aa(Q))
287+ let aW = if (if (aP)
326288 then if (aU)
327289 then true
328290 else aV
329291 else false)
330- then o
331- else n
332- ScriptResult(WriteSet([DataEntry(G(ao), if ((aW == o))
292+ then m
293+ else l
294+[StringEntry(E(am), if ((aW == m))
333295 then ""
334- else S), DataEntry(x, if ((aW == o))
335- then ao
336- else S), DataEntry(F(S), (aM + aS)), DataEntry(E(S), aW), DataEntry(y, if ((aW == n))
337- then aj
338- else aD(S))]), TransferSet([ScriptTransfer(addressFromStringValue(ad(S)), aR, Q), ScriptTransfer(N, aS, R)]))
296+ else Q), StringEntry(v, if ((aW == m))
297+ then am
298+ else Q), IntegerEntry(D(Q), (aK + aR)), StringEntry(C(Q), aW), StringEntry(w, if ((aW == l))
299+ then ah
300+ else aB(Q)), ScriptTransfer(addressFromStringValue(ab(Q)), aS, O), ScriptTransfer(L, aR, P)]
339301 }
340302 }
341303 }
342304
343305
344-
345-@Callable(am)
346-func updateReservesAndNeutrinoSupply () = {
347- func aX (b) = {
348- let c = getInteger(this, b)
349- if ($isInstanceOf(c, "Int"))
350- then {
351- let d = c
352- d
353- }
354- else 0
355- }
356-
357- let aY = aX("updateReservesAndNeutrinoSupplyIdx")
358- let aZ = (aY + 1)
359- WriteSet([DataEntry("updateReservesAndNeutrinoSupplyIdx", aZ), DataEntry("reserve", X), DataEntry("neutrinoSupply", Y), DataEntry("surplus", Z)])
360- }
361-
362-
363-@Verifier(ba)
364-func bb () = {
365- let bc = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
366- let bd = ((((if (sigVerify(ba.bodyBytes, ba.proofs[0], fromBase58String(bc[0])))
306+@Verifier(aX)
307+func aY () = {
308+ let aZ = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
309+ let ba = ((((if (sigVerify(aX.bodyBytes, aX.proofs[0], fromBase58String(aZ[0])))
367310 then 1
368- else 0) + (if (sigVerify(ba.bodyBytes, ba.proofs[1], fromBase58String(bc[1])))
311+ else 0) + (if (sigVerify(aX.bodyBytes, aX.proofs[1], fromBase58String(aZ[1])))
369312 then 1
370- else 0)) + (if (sigVerify(ba.bodyBytes, ba.proofs[2], fromBase58String(bc[2])))
313+ else 0)) + (if (sigVerify(aX.bodyBytes, aX.proofs[2], fromBase58String(aZ[2])))
371314 then 1
372- else 0)) + (if (sigVerify(ba.bodyBytes, ba.proofs[3], fromBase58String(bc[3])))
315+ else 0)) + (if (sigVerify(aX.bodyBytes, aX.proofs[3], fromBase58String(aZ[3])))
373316 then 2
374317 else 0))
375- (bd >= 3)
318+ (ba >= 3)
376319 }
377320

github/deemru/w8io/3ef1775 
136.77 ms