tx · G6zdX3s4KRXW1iiQ64xhAMiSkBfUvrdye3VzUSgtNBzT

3PKsKQ4ceZwse9sadJjVh1tpw5L2QUsCxtP:  -0.01400000 Waves

2020.04.07 17:32 [2007253] smart account 3PKsKQ4ceZwse9sadJjVh1tpw5L2QUsCxtP > SELF 0.00000000 Waves

{ "type": 13, "id": "G6zdX3s4KRXW1iiQ64xhAMiSkBfUvrdye3VzUSgtNBzT", "fee": 1400000, "feeAssetId": null, "timestamp": 1586269973873, "version": 1, "sender": "3PKsKQ4ceZwse9sadJjVh1tpw5L2QUsCxtP", "senderPublicKey": "ETJuWBsfS3jy9CBF6BkmGVz1RNHaD8Mxy3jWq5Vkrbpa", "proofs": [ "44kN6DdHQJNgDx8E8uAZB7qzbvgpqWinytyeVbBYJmaHKduJcc1phfcfdTxV9Ex9BqdVY7WXfDWkH57NRC5uZ3nL" ], "script": "base64:AAIDAAAAAAAAABcIARIECgIICBIECgIBCBIAEgMKAQgSAAAAADcBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAABAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAWZ2V0Qm9vbEJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBwEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAAAAAAdXQVZFTEVUAAAAAAAF9eEAAAAAAAVQQVVMSQAAAAAAAA9CQAAAAAAIQ0FOQ0VMRUQCAAAACGNhbmNlbGVkAAAAAANORVcCAAAAA25ldwAAAAAGRklMTEVEAgAAAAZmaWxsZWQAAAAAE05ldXRyaW5vQ29udHJhY3RLZXkCAAAAEW5ldXRyaW5vX2NvbnRyYWN0AAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAADkJvbmRBc3NldElkS2V5AgAAAA1ib25kX2Fzc2V0X2lkAAAAABJOZXV0cmlub0Fzc2V0SWRLZXkCAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAAAAABJDb250cm9sQ29udHJhY3RLZXkCAAAAEGNvbnRyb2xfY29udHJhY3QAAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAA1iYWxhbmNlX2xvY2tfAAAAABVXYXZlc0xvY2tlZEJhbGFuY2VLZXkJAAEsAAAAAgUAAAARQmFsYW5jZUxvY2tlZGtLZXkCAAAABXdhdmVzAAAAABhOZXV0cmlub0xvY2tlZEJhbGFuY2VLZXkJAAEsAAAAAgUAAAARQmFsYW5jZUxvY2tlZGtLZXkCAAAACG5ldXRyaW5vAAAAAA1GaXJzdE9yZGVyS2V5AgAAAAtvcmRlcl9maXJzdAAAAAAWQ3VycmVudERlZmF1bHRPcmRlcktleQIAAAANb3JkZXJfZGVmYXVsdAEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAxvcmRlcl9wcmljZV8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfdG90YWxfBQAAAAdvcmRlcklkAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX293bmVyXwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJIZWlnaHRLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfaGVpZ2h0XwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfc3RhdHVzXwUAAAAHb3JkZXJJZAEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAABNvcmRlcl9maWxsZWRfdG90YWxfBQAAAAdvcmRlcklkAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAALb3JkZXJfcHJldl8FAAAAB29yZGVySWQBAAAAD2dldE5leHRPcmRlcktleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAtvcmRlcl9uZXh0XwUAAAAHb3JkZXJJZAEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQAAawAAAAMJAABrAAAAAwUAAAAGYW1vdW50AAAAAAAAAABkBQAAAAVwcmljZQUAAAAHV0FWRUxFVAUAAAAFUEFVTEkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACAAAABmFtb3VudAAAAAVwcmljZQkAAGsAAAADCQAAawAAAAMFAAAABmFtb3VudAUAAAAFcHJpY2UAAAAAAAAAAGQFAAAABVBBVUxJBQAAAAdXQVZFTEVUAQAAABJjb252ZXJ0V2F2ZXNUb0JvbmQAAAACAAAABmFtb3VudAAAAAVwcmljZQkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAAAZhbW91bnQFAAAABXByaWNlAAAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAE05ldXRyaW5vQ29udHJhY3RLZXkAAAAAD2NvbnRyb2xDb250cmFjdAkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAASQ29udHJvbENvbnRyYWN0S2V5AAAAABNsaXF1aWRhdGlvbkNvbnRyYWN0BQAAAAR0aGlzAAAAAA9uZXV0cmlub0Fzc2V0SWQJAAJZAAAAAQkBAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAEk5ldXRyaW5vQXNzZXRJZEtleQAAAAALYm9uZEFzc2V0SWQJAAJZAAAAAQIAAAAsNm5TcFZ5Tkg3eU02OWVnNDQ2d3JRUjk0aXBiYmNtWk1VMUVOUHdhbkM5N2cAAAAACmZpcnN0T3JkZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAADUZpcnN0T3JkZXJLZXkAAAAACWlzQmxvY2tlZAkBAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QCAAAACmlzX2Jsb2NrZWQAAAAADGN1cnJlbnRQcmljZQkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAD2NvbnRyb2xDb250cmFjdAUAAAAIUHJpY2VLZXkAAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQAAAAAAAAAAAAAAAAASd2F2ZXNMb2NrZWRCYWxhbmNlAAAAAAAAAAAAAAAAAAdyZXNlcnZlAAAAAAA7msoAAAAAAA5uZXV0cmlub1N1cHBseQAAAAAABfXhAAAAAAAHc3VycGx1cwkAAGUAAAACBQAAAAdyZXNlcnZlBQAAAA5uZXV0cmlub1N1cHBseQEAAAANZ2V0T3JkZXJQcmljZQAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQUAAAACaWQBAAAADWdldE9yZGVyVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAAAmlkAQAAAA1nZXRPcmRlck93bmVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAJpZAEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAJpZAEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAACaWQBAAAADmdldE9yZGVySGVpZ2h0AAAAAQAAAAJpZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQUAAAACaWQBAAAADGdldFByZXZPcmRlcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAJpZAEAAAAMZ2V0TmV4dE9yZGVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAD2dldE5leHRPcmRlcktleQAAAAEFAAAAAmlkAAAAABNjdXJyZW50RGVmYXVsdE9yZGVyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABZDdXJyZW50RGVmYXVsdE9yZGVyS2V5AQAAABtpbnRlcm5hbEFkZExpcXVpZGF0aW9uT3JkZXIAAAADAAAAAWkAAAAFcHJpY2UAAAAJcHJldk9yZGVyBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAKbmV3T3JkZXJJZAkAAlgAAAABCQAB9QAAAAEJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAAGaAAAAAQgFAAAAA3BtdAAAAAZhbW91bnQICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMJAAGaAAAAAQUAAAAGaGVpZ2h0CAUAAAABaQAAAA10cmFuc2FjdGlvbklkAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwYJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMbmV3T3JkZXJJZDogBQAAAApuZXdPcmRlcklkAgAAAA07IHByZXZPcmRlcjogBQAAAAlwcmV2T3JkZXIDCQAAZgAAAAIFAAAABVBBVUxJCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAACdvcmRlciBhbW91bnQgbXVzdCBiZSBoaWdoZXIgdGhhbiAxIE5TQlQDCQAAZgAAAAIAAAAAAAAAAGQFAAAABXByaWNlCQAAAgAAAAEJAAEsAAAAAgIAAABMcHJpY2Ugc2hvdWxkIGJlIGVxdWFsIG9yIGhpZ2hlciB0aGFuIDEgbnNidCBmb3IgMSB1c2RuLiBpLmUuID49IDEwMDsgcHJpY2U6IAkAAaQAAAABBQAAAAVwcmljZQMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALYm9uZEFzc2V0SWQJAAACAAAAAQIAAAA0Y2FuIHVzZSBhcHByb3ByaWF0ZSBuZXV0cmlubyBiYXNlIHRva2VucyAobnNidCkgb25seQMJAQAAAAIhPQAAAAIJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAKbmV3T3JkZXJJZAIAAAAACQAAAgAAAAECAAAAGmFuIG9yZGVyIGlzIGFscmVhZHkgZXhpc3RzAwMJAQAAAAIhPQAAAAIFAAAACXByZXZPcmRlcgIAAAAACQEAAAACIT0AAAACCQEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABBQAAAAlwcmV2T3JkZXIFAAAAA05FVwcJAAACAAAAAQIAAAAccHJldiBvcmRlciBzdGF0dXMgaXMgbm90IG5ldwQAAAAFb3duZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAluZXh0T3JkZXIDCQAAAAAAAAIFAAAACXByZXZPcmRlcgIAAAAABQAAAApmaXJzdE9yZGVyCQEAAAAMZ2V0TmV4dE9yZGVyAAAAAQUAAAAJcHJldk9yZGVyBAAAAA5uZXh0T3JkZXJQcmljZQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAluZXh0T3JkZXIEAAAAEGlzTmV4dE9yZGVyRXJyb3IDAwkBAAAAAiE9AAAAAgUAAAAJbmV4dE9yZGVyAgAAAAAJAABmAAAAAgUAAAAFcHJpY2UFAAAADm5leHRPcmRlclByaWNlBwYHBAAAAA5wcmV2T3JkZXJQcmljZQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAlwcmV2T3JkZXIEAAAAEGlzUHJldk9yZGVyRXJyb3IDAwkBAAAAAiE9AAAAAgUAAAAJcHJldk9yZGVyAgAAAAAJAABnAAAAAgUAAAAOcHJldk9yZGVyUHJpY2UFAAAABXByaWNlBwYHAwMFAAAAEGlzTmV4dE9yZGVyRXJyb3IGBQAAABBpc1ByZXZPcmRlckVycm9yCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAH2ludmFsaWQgb3JkZXIgaXNQcmV2T3JkZXJFcnJvcjoJAAGlAAAAAQUAAAAQaXNQcmV2T3JkZXJFcnJvcgIAAAASIGlzTmV4dE9yZGVyRXJyb3I6CQABpQAAAAEFAAAAEGlzTmV4dE9yZGVyRXJyb3IJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAApuZXdPcmRlcklkBQAAAAlwcmV2T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXROZXh0T3JkZXJLZXkAAAABBQAAAApuZXdPcmRlcklkBQAAAAluZXh0T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXROZXh0T3JkZXJLZXkAAAABBQAAAAlwcmV2T3JkZXIDCQAAAAAAAAIFAAAACXByZXZPcmRlcgIAAAAAAgAAAAAFAAAACm5ld09yZGVySWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAluZXh0T3JkZXIDCQAAAAAAAAIFAAAACW5leHRPcmRlcgIAAAAAAgAAAAAFAAAACm5ld09yZGVySWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkDAwkAAAAAAAACBQAAAApmaXJzdE9yZGVyAgAAAAAGCQAAAAAAAAIFAAAACmZpcnN0T3JkZXIFAAAACW5leHRPcmRlcgUAAAAKbmV3T3JkZXJJZAUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAApuZXdPcmRlcklkBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAApuZXdPcmRlcklkCAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAApuZXdPcmRlcklkBQAAAAVvd25lcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQUAAAAKbmV3T3JkZXJJZAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAApuZXdPcmRlcklkBQAAAANORVcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAZZGVidWdfb3JkZXJfY3VycmVudFByaWNlXwUAAAAKbmV3T3JkZXJJZAUAAAAMY3VycmVudFByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABZDdXJyZW50RGVmYXVsdE9yZGVyS2V5AwkAAAAAAAACBQAAAAVwcmljZQAAAAAAAAAAZAUAAAAKbmV3T3JkZXJJZAUAAAATY3VycmVudERlZmF1bHRPcmRlcgUAAAADbmlsAQAAABpjb21wdXRlQ3VycmVudERlZmF1bHRPcmRlcgAAAAEAAAACaWQDCQEAAAACIT0AAAACBQAAAAJpZAUAAAATY3VycmVudERlZmF1bHRPcmRlcgUAAAATY3VycmVudERlZmF1bHRPcmRlcgkBAAAADGdldFByZXZPcmRlcgAAAAEFAAAAAmlkAAAABQAAAAFpAQAAABNkZWd1Z0tleVZhbHVlV3JpdGVyAAAAAgAAAANrZXkAAAADdmFsCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAANrZXkFAAAAA3ZhbAUAAAADbmlsAAAAAWkBAAAAHGFkZExpcXVpZGF0aW9uT3JkZXJXaXRoUHJpY2UAAAACAAAABXByaWNlAAAACXByZXZPcmRlcgkBAAAAG2ludGVybmFsQWRkTGlxdWlkYXRpb25PcmRlcgAAAAMFAAAAAWkFAAAABXByaWNlBQAAAAlwcmV2T3JkZXIAAAABaQEAAAATYWRkTGlxdWlkYXRpb25PcmRlcgAAAAAJAQAAABtpbnRlcm5hbEFkZExpcXVpZGF0aW9uT3JkZXIAAAADBQAAAAFpAAAAAAAAAABkBQAAABNjdXJyZW50RGVmYXVsdE9yZGVyAAAAAWkBAAAAC2NhbmNlbE9yZGVyAAAAAQAAAAdvcmRlcklkBAAAAAVvd25lcgkBAAAADWdldE9yZGVyT3duZXIAAAABBQAAAAdvcmRlcklkBAAAAAZhbW91bnQJAABlAAAAAgkBAAAADWdldE9yZGVyVG90YWwAAAABBQAAAAdvcmRlcklkCQEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEFAAAAB29yZGVySWQEAAAABmNhbGxlcgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAACW5leHRPcmRlcgkBAAAADGdldE5leHRPcmRlcgAAAAEFAAAAB29yZGVySWQEAAAACXByZXZPcmRlcgkBAAAADGdldFByZXZPcmRlcgAAAAEFAAAAB29yZGVySWQDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABZY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQEAAAACIT0AAAACBQAAAAVvd25lcgUAAAAGY2FsbGVyCQAAAgAAAAECAAAAEXBlcm1pc3Npb24gZGVuaWVkAwkBAAAAAiE9AAAAAgkBAAAADmdldE9yZGVyU3RhdHVzAAAAAQUAAAAHb3JkZXJJZAUAAAADTkVXCQAAAgAAAAECAAAAFGludmFsaWQgb3JkZXIgc3RhdHVzCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAWQ3VycmVudERlZmF1bHRPcmRlcktleQkBAAAAGmNvbXB1dGVDdXJyZW50RGVmYXVsdE9yZGVyAAAAAQUAAAAHb3JkZXJJZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANRmlyc3RPcmRlcktleQMJAAAAAAAAAgUAAAAKZmlyc3RPcmRlcgUAAAAHb3JkZXJJZAUAAAAJbmV4dE9yZGVyBQAAAApmaXJzdE9yZGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAAJcHJldk9yZGVyBQAAAAluZXh0T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAluZXh0T3JkZXIFAAAACXByZXZPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAIQ0FOQ0VMRUQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmFtb3VudAUAAAALYm9uZEFzc2V0SWQFAAAAA25pbAAAAAFpAQAAAA1saXF1aWRhdGVCb25kAAAAAAQAAAASbGlxdWlkYXRpb25CYWxhbmNlCQAD6wAAAAIFAAAABHRoaXMFAAAAD25ldXRyaW5vQXNzZXRJZAQAAAAPc3VycGx1c1Bvc2l0aXZlAwkAAGcAAAACAAAAAAAAAAAABQAAAAdzdXJwbHVzAAAAAAAAAAAABQAAAAdzdXJwbHVzBAAAAAp1c2RuQW1vdW50AwkAAGcAAAACBQAAAA9zdXJwbHVzUG9zaXRpdmUFAAAAEmxpcXVpZGF0aW9uQmFsYW5jZQUAAAASbGlxdWlkYXRpb25CYWxhbmNlBQAAAA9zdXJwbHVzUG9zaXRpdmUEAAAADHJldHVybkFtb3VudAMJAABnAAAAAgUAAAAPc3VycGx1c1Bvc2l0aXZlBQAAABJsaXF1aWRhdGlvbkJhbGFuY2UAAAAAAAAAAAAJAABlAAAAAgUAAAASbGlxdWlkYXRpb25CYWxhbmNlBQAAAA9zdXJwbHVzUG9zaXRpdmUDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABZY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQAAAAAAAAIFAAAAEmxpcXVpZGF0aW9uQmFsYW5jZQAAAAAAAAAAAAkAAAIAAAABAgAAACB3aXRob3V0IGJhc2UgdG9rZW5zIHRvIGxpcXVpZGF0ZQMJAABmAAAAAgUAAAAMcmV0dXJuQW1vdW50AAAAAAAAAAAACQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAADHJldHVybkFtb3VudAUAAAAPbmV1dHJpbm9Bc3NldElkBQAAAANuaWwDCQAAAAAAAAIFAAAACmZpcnN0T3JkZXICAAAAAAkAAAIAAAABAgAAAA9lbXB0eSBvcmRlcmJvb2sEAAAACW5leHRPcmRlcgkBAAAADGdldE5leHRPcmRlcgAAAAEFAAAACmZpcnN0T3JkZXIEAAAAC2ZpbGxlZFRvdGFsCQEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEFAAAACmZpcnN0T3JkZXIEAAAACm9yZGVyUHJpY2UJAQAAAA1nZXRPcmRlclByaWNlAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAANcmVtYWluZWRUb3RhbAkAAGUAAAACCQEAAAANZ2V0T3JkZXJUb3RhbAAAAAEFAAAACmZpcnN0T3JkZXIFAAAAC2ZpbGxlZFRvdGFsBAAAABJmaWxsT3JkZXJDb25kaXRpb24JAABnAAAAAgUAAAAKdXNkbkFtb3VudAUAAAANcmVtYWluZWRUb3RhbAQAAAATZmlsbGFibGVPcmRlckFtb3VudAMFAAAAEmZpbGxPcmRlckNvbmRpdGlvbgUAAAANcmVtYWluZWRUb3RhbAUAAAAKdXNkbkFtb3VudAQAAAAabmJUb2tlbnNMaXF1aWRhdGVDb25kaXRpb24JAABnAAAAAgkAAGsAAAADCQAAZAAAAAIFAAAAB3N1cnBsdXMFAAAADm5ldXRyaW5vU3VwcGx5AAAAAAAAAABkBQAAAA5uZXV0cmlub1N1cHBseQUAAAAKb3JkZXJQcmljZQMJAQAAAAEhAAAAAQUAAAAabmJUb2tlbnNMaXF1aWRhdGVDb25kaXRpb24JAAACAAAAAQkAASwAAAACAgAAABdpbm5hcHJvcHJpYXRlIHN1cnBsdXM6IAkAAaQAAAABBQAAAAdzdXJwbHVzBAAAAAluZXdTdGF0dXMDAwUAAAASZmlsbE9yZGVyQ29uZGl0aW9uCQAAAAAAAAIFAAAADXJlbWFpbmVkVG90YWwAAAAAAAAAAAAHBQAAAAZGSUxMRUQFAAAAA05FVwkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAluZXh0T3JkZXIDCQAAAAAAAAIFAAAACW5ld1N0YXR1cwUAAAAGRklMTEVEAgAAAAAFAAAACmZpcnN0T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkDCQAAAAAAAAIFAAAACW5ld1N0YXR1cwUAAAAGRklMTEVEBQAAAAluZXh0T3JkZXIFAAAACmZpcnN0T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAAKZmlyc3RPcmRlcgkAAGQAAAACBQAAAAtmaWxsZWRUb3RhbAUAAAATZmlsbGFibGVPcmRlckFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAAKZmlyc3RPcmRlcgUAAAAJbmV3U3RhdHVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABZDdXJyZW50RGVmYXVsdE9yZGVyS2V5CQEAAAAaY29tcHV0ZUN1cnJlbnREZWZhdWx0T3JkZXIAAAABBQAAAApmaXJzdE9yZGVyBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQEAAAANZ2V0T3JkZXJPd25lcgAAAAEFAAAACmZpcnN0T3JkZXIFAAAAE2ZpbGxhYmxlT3JkZXJBbW91bnQFAAAAD25ldXRyaW5vQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABNmaWxsYWJsZU9yZGVyQW1vdW50BQAAAAtib25kQXNzZXRJZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXn3pl/f", "chainId": 87, "height": 2007253, "spentComplexity": 0 } View: original | compacted Prev: AuKPDUdgY5ninz1XCw4T5PuLgo9dSwNg9jXeDrtg22Wu Next: C9cktzk9h3pRs7vVSzbc3UEJbxDwJrwhXgfB7qDUqWcC Diff:
OldNewDifferences
176176 let an = toBase58String(keccak256((((toBytes(am.amount) + ak.caller.bytes) + toBytes(height)) + ak.transactionId)))
177177 if (S)
178178 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
179- else if ((k > am.amount))
180- then throw("order amount must be higher than 1 NSBT")
181- else if (true)
182- then throw(((("newOrderId: " + an) + "; prevOrder: ") + al))
179+ else if (true)
180+ then throw(((("newOrderId: " + an) + "; prevOrder: ") + al))
181+ else if ((k > am.amount))
182+ then throw("order amount must be higher than 1 NSBT")
183183 else if ((100 > J))
184184 then throw(("price should be equal or higher than 1 nsbt for 1 usdn. i.e. >= 100; price: " + toString(J)))
185185 else if ((am.assetId != Q))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = {
55 let c = getInteger(this, b)
66 if ($isInstanceOf(c, "Int"))
77 then {
88 let d = c
99 d
1010 }
1111 else 0
1212 }
1313
1414
1515 func e (b) = {
1616 let c = getString(this, b)
1717 if ($isInstanceOf(c, "String"))
1818 then {
1919 let d = c
2020 d
2121 }
2222 else ""
2323 }
2424
2525
2626 func f (g,b) = {
2727 let c = getBoolean(g, b)
2828 if ($isInstanceOf(c, "Boolean"))
2929 then {
3030 let d = c
3131 d
3232 }
3333 else false
3434 }
3535
3636
3737 func h (g,b) = {
3838 let c = getString(g, b)
3939 if ($isInstanceOf(c, "String"))
4040 then {
4141 let d = c
4242 d
4343 }
4444 else ""
4545 }
4646
4747
4848 func i (g,b) = {
4949 let c = getInteger(g, b)
5050 if ($isInstanceOf(c, "Int"))
5151 then {
5252 let d = c
5353 d
5454 }
5555 else 0
5656 }
5757
5858
5959 let j = 100000000
6060
6161 let k = 1000000
6262
6363 let l = "canceled"
6464
6565 let m = "new"
6666
6767 let n = "filled"
6868
6969 let o = "neutrino_contract"
7070
7171 let p = "price"
7272
7373 let q = "bond_asset_id"
7474
7575 let r = "neutrino_asset_id"
7676
7777 let s = "control_contract"
7878
7979 let t = "balance_lock_"
8080
8181 let u = (t + "waves")
8282
8383 let v = (t + "neutrino")
8484
8585 let w = "order_first"
8686
8787 let x = "order_default"
8888
8989 func y (z) = ("order_price_" + z)
9090
9191
9292 func A (z) = ("order_total_" + z)
9393
9494
9595 func B (z) = ("order_owner_" + z)
9696
9797
9898 func C (z) = ("order_height_" + z)
9999
100100
101101 func D (z) = ("order_status_" + z)
102102
103103
104104 func E (z) = ("order_filled_total_" + z)
105105
106106
107107 func F (z) = ("order_prev_" + z)
108108
109109
110110 func G (z) = ("order_next_" + z)
111111
112112
113113 func H (I,J) = fraction(fraction(I, 100, J), j, k)
114114
115115
116116 func K (I,J) = fraction(fraction(I, J, 100), k, j)
117117
118118
119119 func L (I,J) = K(I, J)
120120
121121
122122 let M = addressFromStringValue(e(o))
123123
124124 let N = addressFromStringValue(h(M, s))
125125
126126 let O = this
127127
128128 let P = fromBase58String(h(M, r))
129129
130130 let Q = fromBase58String("6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g")
131131
132132 let R = e(w)
133133
134134 let S = f(N, "is_blocked")
135135
136136 let T = i(N, p)
137137
138138 let U = 0
139139
140140 let V = 0
141141
142142 let W = 1000000000
143143
144144 let X = 100000000
145145
146146 let Y = (W - X)
147147
148148 func Z (aa) = a(y(aa))
149149
150150
151151 func ab (aa) = a(A(aa))
152152
153153
154154 func ac (aa) = e(B(aa))
155155
156156
157157 func ad (aa) = e(D(aa))
158158
159159
160160 func ae (aa) = a(E(aa))
161161
162162
163163 func af (aa) = a(C(aa))
164164
165165
166166 func ag (aa) = e(F(aa))
167167
168168
169169 func ah (aa) = e(G(aa))
170170
171171
172172 let ai = e(x)
173173
174174 func aj (ak,J,al) = {
175175 let am = extract(ak.payment)
176176 let an = toBase58String(keccak256((((toBytes(am.amount) + ak.caller.bytes) + toBytes(height)) + ak.transactionId)))
177177 if (S)
178178 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
179- else if ((k > am.amount))
180- then throw("order amount must be higher than 1 NSBT")
181- else if (true)
182- then throw(((("newOrderId: " + an) + "; prevOrder: ") + al))
179+ else if (true)
180+ then throw(((("newOrderId: " + an) + "; prevOrder: ") + al))
181+ else if ((k > am.amount))
182+ then throw("order amount must be higher than 1 NSBT")
183183 else if ((100 > J))
184184 then throw(("price should be equal or higher than 1 nsbt for 1 usdn. i.e. >= 100; price: " + toString(J)))
185185 else if ((am.assetId != Q))
186186 then throw("can use appropriate neutrino base tokens (nsbt) only")
187187 else if ((ac(an) != ""))
188188 then throw("an order is already exists")
189189 else if (if ((al != ""))
190190 then (ad(al) != m)
191191 else false)
192192 then throw("prev order status is not new")
193193 else {
194194 let ao = toString(ak.caller)
195195 let ap = if ((al == ""))
196196 then R
197197 else ah(al)
198198 let aq = a(y(ap))
199199 let ar = if (if ((ap != ""))
200200 then (J > aq)
201201 else false)
202202 then true
203203 else false
204204 let as = a(y(al))
205205 let at = if (if ((al != ""))
206206 then (as >= J)
207207 else false)
208208 then true
209209 else false
210210 if (if (ar)
211211 then true
212212 else at)
213213 then throw(((("invalid order isPrevOrderError:" + toString(at)) + " isNextOrderError:") + toString(ar)))
214214 else WriteSet([DataEntry(F(an), al), DataEntry(G(an), ap), DataEntry(G(al), if ((al == ""))
215215 then ""
216216 else an), DataEntry(F(ap), if ((ap == ""))
217217 then ""
218218 else an), DataEntry(w, if (if ((R == ""))
219219 then true
220220 else (R == ap))
221221 then an
222222 else R), DataEntry(y(an), J), DataEntry(A(an), am.amount), DataEntry(B(an), ao), DataEntry(C(an), height), DataEntry(D(an), m), DataEntry(("debug_order_currentPrice_" + an), T), DataEntry(x, if ((J == 100))
223223 then an
224224 else ai)])
225225 }
226226 }
227227
228228
229229 func au (aa) = if ((aa != ai))
230230 then ai
231231 else ag(aa)
232232
233233
234234 @Callable(ak)
235235 func degugKeyValueWriter (b,av) = WriteSet([DataEntry(b, av)])
236236
237237
238238
239239 @Callable(ak)
240240 func addLiquidationOrderWithPrice (J,al) = aj(ak, J, al)
241241
242242
243243
244244 @Callable(ak)
245245 func addLiquidationOrder () = aj(ak, 100, ai)
246246
247247
248248
249249 @Callable(ak)
250250 func cancelOrder (z) = {
251251 let ao = ac(z)
252252 let I = (ab(z) - ae(z))
253253 let aw = toString(ak.caller)
254254 let ap = ah(z)
255255 let al = ag(z)
256256 if (S)
257257 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
258258 else if ((ao != aw))
259259 then throw("permission denied")
260260 else if ((ad(z) != m))
261261 then throw("invalid order status")
262262 else ScriptResult(WriteSet([DataEntry(x, au(z)), DataEntry(w, if ((R == z))
263263 then ap
264264 else R), DataEntry(G(al), ap), DataEntry(F(ap), al), DataEntry(D(z), l)]), TransferSet([ScriptTransfer(ak.caller, I, Q)]))
265265 }
266266
267267
268268
269269 @Callable(ak)
270270 func liquidateBond () = {
271271 let ax = assetBalance(this, P)
272272 let ay = if ((0 >= Y))
273273 then 0
274274 else Y
275275 let az = if ((ay >= ax))
276276 then ax
277277 else ay
278278 let aA = if ((ay >= ax))
279279 then 0
280280 else (ax - ay)
281281 if (S)
282282 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
283283 else if ((ax == 0))
284284 then throw("without base tokens to liquidate")
285285 else if ((aA > 0))
286286 then TransferSet([ScriptTransfer(M, aA, P)])
287287 else if ((R == ""))
288288 then throw("empty orderbook")
289289 else {
290290 let ap = ah(R)
291291 let aB = ae(R)
292292 let aC = Z(R)
293293 let aD = (ab(R) - aB)
294294 let aE = (az >= aD)
295295 let aF = if (aE)
296296 then aD
297297 else az
298298 let aG = (fraction((Y + X), 100, X) >= aC)
299299 if (!(aG))
300300 then throw(("innapropriate surplus: " + toString(Y)))
301301 else {
302302 let aH = if (if (aE)
303303 then (aD == 0)
304304 else false)
305305 then n
306306 else m
307307 ScriptResult(WriteSet([DataEntry(F(ap), if ((aH == n))
308308 then ""
309309 else R), DataEntry(w, if ((aH == n))
310310 then ap
311311 else R), DataEntry(E(R), (aB + aF)), DataEntry(D(R), aH), DataEntry(x, au(R))]), TransferSet([ScriptTransfer(addressFromStringValue(ac(R)), aF, P), ScriptTransfer(M, aF, Q)]))
312312 }
313313 }
314314 }
315315
316316
317317 @Verifier(aI)
318318 func aJ () = sigVerify(aI.bodyBytes, aI.proofs[0], aI.senderPublicKey)
319319

github/deemru/w8io/0e76f2f 
84.03 ms