tx · H4LQmMncV7dwbL8CV8rZAKwJkf8QLoRGnsoBFSjZ1u84 3N3aUG5QcUWpdw2CAk27aAjQ5PNcYpadfYz: -0.01000000 Waves 2020.03.20 06:21 [917100] smart account 3N3aUG5QcUWpdw2CAk27aAjQ5PNcYpadfYz > SELF 0.00000000 Waves
{ "type": 13, "id": "H4LQmMncV7dwbL8CV8rZAKwJkf8QLoRGnsoBFSjZ1u84", "fee": 1000000, "feeAssetId": null, "timestamp": 1584674506256, "version": 1, "sender": "3N3aUG5QcUWpdw2CAk27aAjQ5PNcYpadfYz", "senderPublicKey": "92T9Zu1myGRhSB7GrnydNfJTUa3RyrcvueeoKsaoU634", "proofs": [ "5mfqJHkLdLgu7omaibjNtBAbdjTpT2cxUCQRrj8JQuKobe7zWVLTqWnUm4uiMvPLTb1F1or1X4rQCdxDBZTViDL" ], "script": "base64:AAIDAAAAAAAAAA8IARIECgIBCBIDCgEIEgAAAAA5AQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQcBAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAAAAAAHV0FWRUxFVAAAAAAABfXhAAAAAAAFUEFVTEkAAAAAAAAPQkAAAAAAD1BFUkNFTlRBQ0NVUkFDWQAAAAAAAAAD6AAAAAANTUlOT1JERVJUT1RBTAkAAGgAAAACAAAAAAAAAAAKBQAAAAdXQVZFTEVUAAAAAAZNQVhST0kAAAAAAAAAAGQAAAAACENBTkNFTEVEAgAAAAhjYW5jZWxlZAAAAAADTkVXAgAAAANuZXcAAAAABkZJTExFRAIAAAAGZmlsbGVkAAAAABNOZXV0cmlub0NvbnRyYWN0S2V5AgAAABFuZXV0cmlub19jb250cmFjdAAAAAAIUHJpY2VLZXkCAAAABXByaWNlAAAAAA5Cb25kQXNzZXRJZEtleQIAAAANYm9uZF9hc3NldF9pZAAAAAASTmV1dHJpbm9Bc3NldElkS2V5AgAAABFuZXV0cmlub19hc3NldF9pZAAAAAASQ29udHJvbENvbnRyYWN0S2V5AgAAABBjb250cm9sX2NvbnRyYWN0AAAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAANYmFsYW5jZV9sb2NrXwAAAAAVV2F2ZXNMb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAV3YXZlcwAAAAAYTmV1dHJpbm9Mb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAhuZXV0cmlubwAAAAAWTGlxdWlkYXRpb25Db250cmFjdEtleQIAAAAUbGlxdWlkYXRpb25fY29udHJhY3QAAAAADUZpcnN0T3JkZXJLZXkCAAAAC29yZGVyX2ZpcnN0AQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAQZGVidWdfb3JkZXJfcm9pXwUAAAAHb3JkZXJJZAEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAxvcmRlcl9wcmljZV8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfdG90YWxfBQAAAAdvcmRlcklkAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX293bmVyXwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJIZWlnaHRLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfaGVpZ2h0XwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfc3RhdHVzXwUAAAAHb3JkZXJJZAEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAABNvcmRlcl9maWxsZWRfdG90YWxfBQAAAAdvcmRlcklkAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAALb3JkZXJfcHJldl8FAAAAB29yZGVySWQBAAAAD2dldE5leHRPcmRlcktleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAtvcmRlcl9uZXh0XwUAAAAHb3JkZXJJZAEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQAAawAAAAMJAABrAAAAAwUAAAAGYW1vdW50AAAAAAAAAABkBQAAAAVwcmljZQUAAAAHV0FWRUxFVAUAAAAFUEFVTEkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACAAAABmFtb3VudAAAAAVwcmljZQkAAGsAAAADCQAAawAAAAMFAAAABmFtb3VudAUAAAAFcHJpY2UAAAAAAAAAAGQFAAAABVBBVUxJBQAAAAdXQVZFTEVUAQAAABVjb252ZXJ0TmV1dHJpbm9Ub0JvbmQAAAABAAAABmFtb3VudAkAAGkAAAACBQAAAAZhbW91bnQFAAAABVBBVUxJAQAAABVjb252ZXJ0Qm9uZFRvTmV1dHJpbm8AAAABAAAABmFtb3VudAkAAGgAAAACBQAAAAZhbW91bnQFAAAABVBBVUxJAQAAABJjb252ZXJ0V2F2ZXNUb0JvbmQAAAACAAAABmFtb3VudAAAAAVwcmljZQkBAAAAFWNvbnZlcnROZXV0cmlub1RvQm9uZAAAAAEJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAGYW1vdW50BQAAAAVwcmljZQEAAAASY29udmVydEJvbmRUb1dhdmVzAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgkBAAAAFWNvbnZlcnRCb25kVG9OZXV0cmlubwAAAAEFAAAABmFtb3VudAUAAAAFcHJpY2UAAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM1BDOUJmUndKV1dpdzlBUkVFMkIzZVd6Q2tzM0NZdGc0eW8AAAAAD2NvbnRyb2xDb250cmFjdAkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABAgAAACMzUDVCZmQ1OFBQZk52Qk0ySHk4UWZiY0RxTWVOdHpnN0tmUAAAAAATbGlxdWlkYXRpb25Db250cmFjdAkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABAgAAACMzUDRQQ3hzSnFNelFCQUxvOHpBTkh0QkRaUlJxdW9iSFFwNwAAAAAPbmV1dHJpbm9Bc3NldElkCQACWQAAAAECAAAALERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwAAAAAAtib25kQXNzZXRJZAkAAlkAAAABAgAAACw5NzVha1pCZm5NajUxM1U3TVphSEt6UXJtc0V4NWFFM3dkV0tUckhCaGJqRgAAAAAJaXNCbG9ja2VkCQEAAAAWZ2V0Qm9vbEJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAD2NvbnRyb2xDb250cmFjdAIAAAAKaXNfYmxvY2tlZAAAAAAMY3VycmVudFByaWNlCQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0BQAAAAhQcmljZUtleQAAAAAVbmV1dHJpbm9Mb2NrZWRCYWxhbmNlCQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAYTmV1dHJpbm9Mb2NrZWRCYWxhbmNlS2V5AAAAAAdyZXNlcnZlCQAAZQAAAAIJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAVV2F2ZXNMb2NrZWRCYWxhbmNlS2V5AAAAAA5uZXV0cmlub1N1cHBseQkAAGUAAAACCQAAZQAAAAIJAABkAAAAAgUAAAAVbmV1dHJpbm9Mb2NrZWRCYWxhbmNlCAkBAAAAB2V4dHJhY3QAAAABCQAD7AAAAAEFAAAAD25ldXRyaW5vQXNzZXRJZAAAAAhxdWFudGl0eQkAA+sAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAAA9uZXV0cmlub0Fzc2V0SWQJAAPrAAAAAgUAAAATbGlxdWlkYXRpb25Db250cmFjdAUAAAAPbmV1dHJpbm9Bc3NldElkAAAAAAdkZWZpY2l0CQAAZQAAAAIFAAAADm5ldXRyaW5vU3VwcGx5CQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAAB3Jlc2VydmUFAAAADGN1cnJlbnRQcmljZQAAAAAKZmlyc3RPcmRlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAANRmlyc3RPcmRlcktleQEAAAANZ2V0T3JkZXJQcmljZQAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQUAAAACaWQBAAAADWdldE9yZGVyVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAAAmlkAQAAAA1nZXRPcmRlck93bmVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAJpZAEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAJpZAEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAACaWQBAAAADGdldFByZXZPcmRlcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAJpZAEAAAAMZ2V0TmV4dE9yZGVy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ZXJLZXkAAAABBQAAAAdvcmRlcklkBQAAAAVvd25lcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAdvcmRlcklkBQAAAANORVcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAZZGVidWdfb3JkZXJfY3VycmVudFByaWNlXwUAAAAHb3JkZXJJZAUAAAAMY3VycmVudFByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAADcm9pBQAAAANuaWwAAAABaQEAAAALY2FuY2VsT3JkZXIAAAABAAAAB29yZGVySWQEAAAABW93bmVyCQEAAAANZ2V0T3JkZXJPd25lcgAAAAEFAAAAB29yZGVySWQEAAAABmFtb3VudAkAAGUAAAACCQEAAAANZ2V0T3JkZXJUb3RhbAAAAAEFAAAAB29yZGVySWQJAQAAABNnZXRPcmRlckZpbGxlZFRvdGFsAAAAAQUAAAAHb3JkZXJJZAQAAAAGY2FsbGVyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAJbmV4dE9yZGVyCQEAAAAMZ2V0TmV4dE9yZGVyAAAAAQUAAAAHb3JkZXJJZAQAAAAJcHJldk9yZGVyCQEAAAAMZ2V0UHJldk9yZGVyAAAAAQUAAAAHb3JkZXJJZAMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFpjb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQEAAAACIT0AAAACBQAAAAVvd25lcgUAAAAGY2FsbGVyCQAAAgAAAAECAAAAEXBlcm1pc3Npb24gZGVuaWVkAwkBAAAAAiE9AAAAAgkBAAAADmdldE9yZGVyU3RhdHVzAAAAAQUAAAAHb3JkZXJJZAUAAAADTkVXCQAAAgAAAAECAAAAFGludmFsaWQgb3JkZXIgc3RhdHVzCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANRmlyc3RPcmRlcktleQMJAAAAAAAAAgUAAAAKZmlyc3RPcmRlcgUAAAAHb3JkZXJJZAUAAAAJbmV4dE9yZGVyBQAAAApmaXJzdE9yZGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAAJcHJldk9yZGVyBQAAAAluZXh0T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAluZXh0T3JkZXIFAAAACXByZXZPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAIQ0FOQ0VMRUQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAWkBAAAACHNlbGxCb25kAAAAAAQAAAALYm9uZEJhbGFuY2UJAAPrAAAAAgUAAAAEdGhpcwUAAAALYm9uZEFzc2V0SWQEAAAAD2RlZmljaXRQb3NpdGl2ZQMJAABnAAAAAgAAAAAAAAAAAAUAAAAHZGVmaWNpdAAAAAAAAAAAAAkAAGkAAAACBQAAAAdkZWZpY2l0BQAAAAVQQVVMSQQAAAAKYm9uZEFtb3VudAMJAABnAAAAAgUAAAAPZGVmaWNpdFBvc2l0aXZlBQAAAAtib25kQmFsYW5jZQUAAAALYm9uZEJhbGFuY2UFAAAAD2RlZmljaXRQb3NpdGl2ZQQAAAAMcmV0dXJuQW1vdW50AwkAAGcAAAACBQAAAA9kZWZpY2l0UG9zaXRpdmUFAAAAC2JvbmRCYWxhbmNlAAAAAAAAAAAACQAAZQAAAAIFAAAAC2JvbmRCYWxhbmNlBQAAAA9kZWZpY2l0UG9zaXRpdmUDAwkAAAAAAAACBQAAAA9kZWZpY2l0UG9zaXRpdmUAAAAAAAAAAAAJAAAAAAAAAgUAAAALYm9uZEJhbGFuY2UAAAAAAAAAAAAHCQAAAgAAAAECAAAAD3dpdGhvdXQgZGVmaWNpdAMJAAAAAAAAAgUAAAALYm9uZEJhbGFuY2UAAAAAAAAAAAAJAAACAAAAAQIAAAAVd2l0aG91dCBib25kcyB0byBzZWxsAwkAAGYAAAACBQAAAAxyZXR1cm5BbW91bnQAAAAAAAAAAAAJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAMcmV0dXJuQW1vdW50BQAAAAtib25kQXNzZXRJZAUAAAADbmlsAwkAAAAAAAACBQAAAApmaXJzdE9yZGVyAgAAAAAJAAACAAAAAQIAAAAPZW1wdHkgb3JkZXJib29rBAAAAAluZXh0T3JkZXIJAQAAAAxnZXROZXh0T3JkZXIAAAABBQAAAApmaXJzdE9yZGVyBAAAAAtmaWxsZWRUb3RhbAkBAAAAE2dldE9yZGVyRmlsbGVkVG90YWwAAAABBQAAAApmaXJzdE9yZGVyBAAAAApvcmRlclByaWNlCQEAAAANZ2V0T3JkZXJQcmljZQAAAAEFAAAACmZpcnN0T3JkZXIEAAAAFXByaWNlV2F2ZXNCeUJvbmRDZW50cwkAAGsAAAADAAAAAAAAAABkAAAAAAAAAABkBQAAAApvcmRlclByaWNlBAAAAANyb2kJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABBQAAAApmaXJzdE9yZGVyBAAAAA1yZW1haW5lZFRvdGFsCQAAZQAAAAIJAQAAAA1nZXRPcmRlclRvdGFsAAAAAQUAAAAKZmlyc3RPcmRlcgUAAAALZmlsbGVkVG90YWwEAAAAFGFtb3VudFRvRXhlY3V0ZU9yZGVyCQEAAAASY29udmVydFdhdmVzVG9Cb25kAAAAAgUAAAANcmVtYWluZWRUb3RhbAUAAAAVcHJpY2VXYXZlc0J5Qm9uZENlbnRzBAAAABJmaWxsT3JkZXJDb25kaXRpb24JAABnAAAAAgUAAAAKYm9uZEFtb3VudAUAAAAUYW1vdW50VG9FeGVjdXRlT3JkZXIEAAAAE2ZpbGxhYmxlT3JkZXJBbW91bnQDBQAAABJmaWxsT3JkZXJDb25kaXRpb24FAAAAFGFtb3VudFRvRXhlY3V0ZU9yZGVyBQAAAApib25kQW1vdW50BAAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQJAQAAABJjb252ZXJ0Qm9uZFRvV2F2ZXMAAAACBQAAABNmaWxsYWJsZU9yZGVyQW1vdW50BQAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMDAwkAAGYAAAACBQAAAANyb2kJAABrAAAAAwUAAAAHZGVmaWNpdAAAAAAAAAAAZAUAAAAObmV1dHJpbm9TdXBwbHkGCQAAZwAAAAIAAAAAAAAAAAAFAAAAD2RlZmljaXRQb3NpdGl2ZQkAAAIAAAABCQABLAAAAAICAAAALWRlZmljaXQgc2hvdWxkIGJlIGhpZ3RoZXIgb3IgZXF1YWwgdGhhbiByb2k6IAkAAaQAAAABBQAAAANyb2kDCQAAAAAAAAIFAAAAFGFtb3VudFRvRXhlY3V0ZU9yZGVyAAAAAAAAAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANRmlyc3RPcmRlcktleQUAAAAJbmV4dE9yZGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0UHJldk9yZGVyS2V5AAAAAQUAAAAJbmV4dE9yZGVyAgAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkFAAAACW5leHRPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAAKZmlyc3RPcmRlcgUAAAAGRklMTEVEBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQEAAAANZ2V0T3JkZXJPd25lcgAAAAEFAAAACmZpcnN0T3JkZXIFAAAADXJlbWFpbmVkVG90YWwFAAAABHVuaXQFAAAAA25pbAMJAAAAAAAAAgUAAAAbdG90YWxPcmRlcldhdmVsZXRlc1JlcXVpcmVkAAAAAAAAAAAACQAAAgAAAAECAAAAH2Nhbm5vdCBmaWxsIG9yZGVyIGF0IHRoZSBtb21lbnQEAAAACW5ld1N0YXR1cwMDBQAAABJmaWxsT3JkZXJDb25kaXRpb24JAAAAAAAAAgUAAAANcmVtYWluZWRUb3RhbAAAAAAAAAAAAAcFAAAABkZJTExFRAUAAAADTkVXCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACW5leHRPcmRlcgMJAAAAAAAAAgUAAAAJbmV3U3RhdHVzBQAAAAZGSUxMRUQCAAAAAAUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANRmlyc3RPcmRlcktleQMJAAAAAAAAAgUAAAAJbmV3U3RhdHVzBQAAAAZGSUxMRUQFAAAACW5leHRPcmRlcgUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFmdldE9yZGVyRmlsbGVkVG90YWxLZXkAAAABBQAAAApmaXJzdE9yZGVyCQAAZAAAAAIFAAAAC2ZpbGxlZFRvdGFsBQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAACmZpcnN0T3JkZXIFAAAACW5ld1N0YXR1cwUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQkBAAAADWdldE9yZGVyT3duZXIAAAABBQAAAApmaXJzdE9yZGVyBQAAABNmaWxsYWJsZU9yZGVyQW1vdW50BQAAAAtib25kQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQFAAAABHVuaXQFAAAAA25pbAAAAABSHl0X", "chainId": 84, "height": 917100, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# 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 | |
12 | + | } | |
13 | + | ||
14 | + | ||
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 = 1000 | |
64 | + | ||
65 | + | let m = (10 * j) | |
66 | + | ||
67 | + | let n = 100 | |
68 | + | ||
69 | + | let o = "canceled" | |
70 | + | ||
71 | + | let p = "new" | |
72 | + | ||
73 | + | let q = "filled" | |
74 | + | ||
75 | + | let r = "neutrino_contract" | |
76 | + | ||
77 | + | let s = "price" | |
78 | + | ||
79 | + | let t = "bond_asset_id" | |
80 | + | ||
81 | + | let u = "neutrino_asset_id" | |
82 | + | ||
83 | + | let v = "control_contract" | |
84 | + | ||
85 | + | let w = "balance_lock_" | |
86 | + | ||
87 | + | let x = (w + "waves") | |
88 | + | ||
89 | + | let y = (w + "neutrino") | |
90 | + | ||
91 | + | let z = "liquidation_contract" | |
92 | + | ||
93 | + | let A = "order_first" | |
94 | + | ||
95 | + | func B (C) = ("debug_order_roi_" + C) | |
96 | + | ||
97 | + | ||
98 | + | func D (C) = ("order_price_" + C) | |
99 | + | ||
100 | + | ||
101 | + | func E (C) = ("order_total_" + C) | |
102 | + | ||
103 | + | ||
104 | + | func F (C) = ("order_owner_" + C) | |
105 | + | ||
106 | + | ||
107 | + | func G (C) = ("order_height_" + C) | |
108 | + | ||
109 | + | ||
110 | + | func H (C) = ("order_status_" + C) | |
111 | + | ||
112 | + | ||
113 | + | func I (C) = ("order_filled_total_" + C) | |
114 | + | ||
115 | + | ||
116 | + | func J (C) = ("order_prev_" + C) | |
117 | + | ||
118 | + | ||
119 | + | func K (C) = ("order_next_" + C) | |
120 | + | ||
121 | + | ||
122 | + | func L (M,N) = fraction(fraction(M, 100, N), j, k) | |
123 | + | ||
124 | + | ||
125 | + | func O (M,N) = fraction(fraction(M, N, 100), k, j) | |
126 | + | ||
127 | + | ||
128 | + | func P (M) = (M / k) | |
129 | + | ||
130 | + | ||
131 | + | func Q (M) = (M * k) | |
132 | + | ||
133 | + | ||
134 | + | func R (M,N) = P(O(M, N)) | |
135 | + | ||
136 | + | ||
137 | + | func S (M,N) = L(Q(M), N) | |
138 | + | ||
139 | + | ||
140 | + | let T = addressFromStringValue("3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo") | |
141 | + | ||
142 | + | let U = addressFromStringValue("3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP") | |
143 | + | ||
144 | + | let V = addressFromStringValue("3P4PCxsJqMzQBALo8zANHtBDZRRquobHQp7") | |
145 | + | ||
146 | + | let W = fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p") | |
147 | + | ||
148 | + | let X = fromBase58String("975akZBfnMj513U7MZaHKzQrmsEx5aE3wdWKTrHBhbjF") | |
149 | + | ||
150 | + | let Y = f(U, "is_blocked") | |
151 | + | ||
152 | + | let Z = i(U, s) | |
153 | + | ||
154 | + | let aa = i(T, y) | |
155 | + | ||
156 | + | let ab = (wavesBalance(T) - i(T, x)) | |
157 | + | ||
158 | + | let ac = (((aa + extract(assetInfo(W)).quantity) - assetBalance(T, W)) - assetBalance(V, W)) | |
159 | + | ||
160 | + | let ad = (ac - O(ab, Z)) | |
161 | + | ||
162 | + | let ae = e(A) | |
163 | + | ||
164 | + | func af (ag) = a(D(ag)) | |
165 | + | ||
166 | + | ||
167 | + | func ah (ag) = a(E(ag)) | |
168 | + | ||
169 | + | ||
170 | + | func ai (ag) = e(F(ag)) | |
171 | + | ||
172 | + | ||
173 | + | func aj (ag) = e(H(ag)) | |
174 | + | ||
175 | + | ||
176 | + | func ak (ag) = a(I(ag)) | |
177 | + | ||
178 | + | ||
179 | + | func al (ag) = e(J(ag)) | |
180 | + | ||
181 | + | ||
182 | + | func am (ag) = e(K(ag)) | |
183 | + | ||
184 | + | ||
185 | + | @Callable(an) | |
186 | + | func addBuyBondOrder (N,ao) = { | |
187 | + | let ap = extract(an.payment) | |
188 | + | let C = toBase58String(keccak256(((((toBytes(N) + toBytes(ap.amount)) + an.caller.bytes) + toBytes(height)) + an.transactionId))) | |
189 | + | let aq = fraction(100, 100, N) | |
190 | + | let ar = fraction((aq - Z), 100, Z) | |
191 | + | if (Y) | |
192 | + | then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles") | |
193 | + | else if ((0 >= ad)) | |
194 | + | then throw("there is no ability to add order during proficit") | |
195 | + | else if ((m > ap.amount)) | |
196 | + | then throw(("min order total equals " + toString(m))) | |
197 | + | else if ((ar > n)) | |
198 | + | then throw("max setOrder ROI is 100%") | |
199 | + | else if ((0 >= ar)) | |
200 | + | then throw("min setOrder ROI is more than 0%") | |
201 | + | else if (isDefined(ap.assetId)) | |
202 | + | then throw("can use waves only") | |
203 | + | else if ((0 >= N)) | |
204 | + | then throw("price less zero") | |
205 | + | else if ((ai(C) != "")) | |
206 | + | then throw("order exists") | |
207 | + | else if (if ((ao != "")) | |
208 | + | then (aj(ao) != p) | |
209 | + | else false) | |
210 | + | then throw("prev order status is not new") | |
211 | + | else { | |
212 | + | let as = toString(an.caller) | |
213 | + | let at = if ((ao == "")) | |
214 | + | then ae | |
215 | + | else am(ao) | |
216 | + | let au = a(B(at)) | |
217 | + | let av = if (if ((at != "")) | |
218 | + | then (ar >= au) | |
219 | + | else false) | |
220 | + | then true | |
221 | + | else false | |
222 | + | let aw = a(B(ao)) | |
223 | + | let ax = if (if ((ao != "")) | |
224 | + | then (aw > ar) | |
225 | + | else false) | |
226 | + | then true | |
227 | + | else false | |
228 | + | if (if (av) | |
229 | + | then true | |
230 | + | else ax) | |
231 | + | then throw(((("invalid order isPrevOrderError:" + toString(ax)) + " isNextOrderError:") + toString(av))) | |
232 | + | else WriteSet([DataEntry(J(C), ao), DataEntry(K(C), at), DataEntry(K(ao), if ((ao == "")) | |
233 | + | then "" | |
234 | + | else C), DataEntry(J(at), if ((at == "")) | |
235 | + | then "" | |
236 | + | else C), DataEntry(A, if (if ((ae == "")) | |
237 | + | then true | |
238 | + | else (ae == at)) | |
239 | + | then C | |
240 | + | else ae), DataEntry(D(C), N), DataEntry(E(C), ap.amount), DataEntry(F(C), as), DataEntry(G(C), height), DataEntry(H(C), p), DataEntry(("debug_order_currentPrice_" + C), Z), DataEntry(B(C), ar)]) | |
241 | + | } | |
242 | + | } | |
243 | + | ||
244 | + | ||
245 | + | ||
246 | + | @Callable(an) | |
247 | + | func cancelOrder (C) = { | |
248 | + | let as = ai(C) | |
249 | + | let M = (ah(C) - ak(C)) | |
250 | + | let ay = toString(an.caller) | |
251 | + | let at = am(C) | |
252 | + | let ao = al(C) | |
253 | + | if (Y) | |
254 | + | then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles") | |
255 | + | else if ((as != ay)) | |
256 | + | then throw("permission denied") | |
257 | + | else if ((aj(C) != p)) | |
258 | + | then throw("invalid order status") | |
259 | + | else ScriptResult(WriteSet([DataEntry(A, if ((ae == C)) | |
260 | + | then at | |
261 | + | else ae), DataEntry(K(ao), at), DataEntry(J(at), ao), DataEntry(H(C), o)]), TransferSet([ScriptTransfer(an.caller, M, unit)])) | |
262 | + | } | |
263 | + | ||
264 | + | ||
265 | + | ||
266 | + | @Callable(an) | |
267 | + | func sellBond () = { | |
268 | + | let az = assetBalance(this, X) | |
269 | + | let aA = if ((0 >= ad)) | |
270 | + | then 0 | |
271 | + | else (ad / k) | |
272 | + | let aB = if ((aA >= az)) | |
273 | + | then az | |
274 | + | else aA | |
275 | + | let aC = if ((aA >= az)) | |
276 | + | then 0 | |
277 | + | else (az - aA) | |
278 | + | if (if ((aA == 0)) | |
279 | + | then (az == 0) | |
280 | + | else false) | |
281 | + | then throw("without deficit") | |
282 | + | else if ((az == 0)) | |
283 | + | then throw("without bonds to sell") | |
284 | + | else if ((aC > 0)) | |
285 | + | then TransferSet([ScriptTransfer(T, aC, X)]) | |
286 | + | else if ((ae == "")) | |
287 | + | then throw("empty orderbook") | |
288 | + | else { | |
289 | + | let at = am(ae) | |
290 | + | let aD = ak(ae) | |
291 | + | let aE = af(ae) | |
292 | + | let aq = fraction(100, 100, aE) | |
293 | + | let ar = a(B(ae)) | |
294 | + | let aF = (ah(ae) - aD) | |
295 | + | let aG = R(aF, aq) | |
296 | + | let aH = (aB >= aG) | |
297 | + | let aI = if (aH) | |
298 | + | then aG | |
299 | + | else aB | |
300 | + | let aJ = S(aI, aq) | |
301 | + | if (if ((ar > fraction(ad, 100, ac))) | |
302 | + | then true | |
303 | + | else (0 >= aA)) | |
304 | + | then throw(("deficit should be higther or equal than roi: " + toString(ar))) | |
305 | + | else if ((aG == 0)) | |
306 | + | then ScriptResult(WriteSet([DataEntry(A, at), DataEntry(J(at), ""), DataEntry(A, at), DataEntry(H(ae), q)]), TransferSet([ScriptTransfer(addressFromStringValue(ai(ae)), aF, unit)])) | |
307 | + | else if ((aJ == 0)) | |
308 | + | then throw("cannot fill order at the moment") | |
309 | + | else { | |
310 | + | let aK = if (if (aH) | |
311 | + | then (aF == 0) | |
312 | + | else false) | |
313 | + | then q | |
314 | + | else p | |
315 | + | ScriptResult(WriteSet([DataEntry(J(at), if ((aK == q)) | |
316 | + | then "" | |
317 | + | else ae), DataEntry(A, if ((aK == q)) | |
318 | + | then at | |
319 | + | else ae), DataEntry(I(ae), (aD + aJ)), DataEntry(H(ae), aK)]), TransferSet([ScriptTransfer(addressFromStringValue(ai(ae)), aI, X), ScriptTransfer(T, aJ, unit)])) | |
320 | + | } | |
321 | + | } | |
322 | + | } | |
323 | + | ||
324 | + |
github/deemru/w8io/169f3d6 30.28 ms ◑