tx · 5kHRp32F3b637u9B6u1V5pWj8fL7zxzXf5wmZo6PXs4e

3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP:  -0.01400000 Waves

2020.02.14 18:57 [1929851] smart account 3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP > SELF 0.00000000 Waves

{ "type": 13, "id": "5kHRp32F3b637u9B6u1V5pWj8fL7zxzXf5wmZo6PXs4e", "fee": 1400000, "feeAssetId": null, "timestamp": 1581695554646, "version": 1, "sender": "3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP", "senderPublicKey": "GqXuX2WHNr3WUqTaeH2YCySFY45NAJoE9RmY9bEWkzh", "proofs": [ "cgXmVhTvge5oLPeK85HELsY4cxa61c1hHAH2t7U3EimrCBsn85guicdFrUmvxPfeGhGt9bR81DE1YnUEmunQMUv", "3uzdXQnPuhpvazbRC5cD6QsZhCHowdo9yC7rZVEApzyucBkgXFoNG24X4WmGHGJUncBJviFsoKUSkDFZSfuyXqey", "YE7Eh8DBnYGA1kewWgvJzHAoqJetng9ydDoBUba45riiJqzbTfB66v1MDra5bdY3qfGCYAkyXTrTYP1B8tye9P9" ], "script": "base64:AAIDAAAAAAAAAAkIARIDCgEIEgAAAAAmAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAADGdldEJvb2xCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQcBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAABAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAWZHJvcEVsZW1lbnRJbkpzb25BcnJheQAAAAIAAAAFYXJyYXkAAAAHZWxlbWVudAQAAAAMc3BsaXRlZEFycmF5CQAEtQAAAAIFAAAABWFycmF5BQAAAAdlbGVtZW50AwkAAAAAAAACCQABLwAAAAIJAAGRAAAAAgUAAAAMc3BsaXRlZEFycmF5AAAAAAAAAAABAAAAAAAAAAABAgAAAAEsCQABLAAAAAIJAAGRAAAAAgUAAAAMc3BsaXRlZEFycmF5AAAAAAAAAAAACQABMAAAAAIJAAGRAAAAAgUAAAAMc3BsaXRlZEFycmF5AAAAAAAAAAABAAAAAAAAAAABCQABLAAAAAIJAQAAAAlkcm9wUmlnaHQAAAACCQABkQAAAAIFAAAADHNwbGl0ZWRBcnJheQAAAAAAAAAAAAAAAAAAAAAAAQkAAZEAAAACBQAAAAxzcGxpdGVkQXJyYXkAAAAAAAAAAAEBAAAAFmNvbnZlcnRKc29uQXJyYXlUb0xpc3QAAAABAAAACWpzb25BcnJheQkABLUAAAACBQAAAAlqc29uQXJyYXkCAAAAASwAAAAABUJMT0NLAgAAAAVibG9jawAAAAAHVU5CTE9DSwIAAAAHdW5ibG9jawAAAAAGVVBEQVRFAgAAAAZ1cGRhdGUAAAAACk9yYWNsZXNLZXkCAAAAB29yYWNsZXMAAAAADlByaWNlT2Zmc2V0S2V5AgAAAAxwcmljZV9vZmZzZXQAAAAAGkF1dG9FbWVyZ2VuY3lPcmFjbGVBZGRyZXNzAgAAACMzUDdpaEZWeEJOYkhLMjM3VE5kUHhUMXhIRXU4cEhleFhUcgAAAAAIUHJpY2VLZXkCAAAABXByaWNlAAAAAAxJc0Jsb2NrZWRLZXkCAAAACmlzX2Jsb2NrZWQAAAAAEklzQmxvY2tlZENhbGxlcktleQIAAAARaXNfYmxvY2tlZF9jYWxsZXIAAAAAEklzQmxvY2tlZFJlYXNvbktleQIAAAARaXNfYmxvY2tlZF9yZWFzb24AAAAADVByaWNlSW5kZXhLZXkCAAAAC3ByaWNlX2luZGV4AQAAABVnZXRCbGFja1N3YXJtUHJpY2VLZXkAAAABAAAABWJsb2NrCQABLAAAAAIJAAEsAAAAAgIAAAARYmxhY2tfc3dhcm1fcHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAFYmxvY2sBAAAAEmdldFByaWNlSGlzdG9yeUtleQAAAAEAAAAFYmxvY2sJAAEsAAAAAgkAASwAAAACBQAAAAhQcmljZUtleQIAAAABXwkAAaQAAAABBQAAAAVibG9jawEAAAAYZ2V0SGVpZ2h0UHJpY2VCeUluZGV4S2V5AAAAAQAAAAVpbmRleAkAASwAAAACCQABLAAAAAIFAAAADVByaWNlSW5kZXhLZXkCAAAAAV8JAAGkAAAAAQUAAAAFaW5kZXgBAAAAGGdldE9yYWNsZVByb3ZpZGVQcmljZUtleQAAAAEAAAAGaGVpZ2h0CQABLAAAAAICAAAABnByaWNlXwkAAaQAAAABBQAAAAZoZWlnaHQAAAAABXByaWNlCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAAAhQcmljZUtleQAAAAAKcHJpY2VJbmRleAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQUAAAANUHJpY2VJbmRleEtleQAAAAAJaXNCbG9ja2VkCQEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQUAAAAMSXNCbG9ja2VkS2V5AAAAAA9pc0Jsb2NrZWRDYWxsZXIJAQAAAAxnZXRCb29sQnlLZXkAAAABBQAAABJJc0Jsb2NrZWRDYWxsZXJLZXkAAAAAFGJmdENvZWZmaWNpZW50T3JhY2xlAAAAAAAAAAADAAAAABJwZXJjZW50UHJpY2VPZmZzZXQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAADlByaWNlT2Zmc2V0S2V5AAAAAAdvcmFjbGVzCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAAApPcmFjbGVzS2V5AAAAAAtvcmFjbGVzTGlzdAkBAAAAFmNvbnZlcnRKc29uQXJyYXlUb0xpc3QAAAABBQAAAAdvcmFjbGVzAQAAABZnZXRPcmFjbGVQcm92aWRlSGVpZ2h0AAAAAgAAAAVvd25lcgAAAAZoZWlnaHQJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAABW93bmVyCQEAAAAYZ2V0T3JhY2xlUHJvdmlkZVByaWNlS2V5AAAAAQUAAAAGaGVpZ2h0AQAAAA9nZXRQcmljZUhpc3RvcnkAAAABAAAABmhlaWdodAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEmdldFByaWNlSGlzdG9yeUtleQAAAAEFAAAABmhlaWdodAEAAAAIaXNPcmFjbGUAAAABAAAAB2FkZHJlc3MJAQAAAAlpc0RlZmluZWQAAAABCQAEswAAAAIFAAAAB29yYWNsZXMFAAAAB2FkZHJlc3MBAAAAGGZpbHRlckFkbWluc1ZvdGVCeUFjdGlvbgAAAAMAAAAGcmVzdWx0AAAAB2FkZHJlc3MAAAAGYWN0aW9uCQAETAAAAAIFAAAAB2FkZHJlc3MFAAAABnJlc3VsdAEAAAAdZmlsdGVyQWRtaW5zVm90ZUJ5QmxvY2tBY3Rpb24AAAACAAAABnJlc3VsdAAAAAdhZGRyZXNzCQEAAAAYZmlsdGVyQWRtaW5zVm90ZUJ5QWN0aW9uAAAAAwUAAAAGcmVzdWx0BQAAAAdhZGRyZXNzBQAAAAVCTE9DSwEAAAAfZmlsdGVyQWRtaW5zVm90ZUJ5VW5ibG9ja0FjdGlvbgAAAAIAAAAGcmVzdWx0AAAAB2FkZHJlc3MJAQAAABhmaWx0ZXJBZG1pbnNWb3RlQnlBY3Rpb24AAAADBQAAAAZyZXN1bHQFAAAAB2FkZHJlc3MFAAAAB1VOQkxPQ0sBAAAAHmZpbHRlckFkbWluc1ZvdGVCeVVwZGF0ZUFjdGlvbgAAAAIAAAAGcmVzdWx0AAAAB2FkZHJlc3MJAQAAABhmaWx0ZXJBZG1pbnNWb3RlQnlBY3Rpb24AAAADBQAAAAZyZXN1bHQFAAAAB2FkZHJlc3MFAAAABlVQREFURQEAAAARZmluZFByaWNlc0luUmFuZ2UAAAABAAAABnByaWNlcwQAAAAPbWluUGVyY2VudEJvdW5kAAAAAAAAAABaBAAAAA9tYXhQZXJjZW50Qm91bmQAAAAAAAAAAG4EAAAAAnAwCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAAQAAAAGY2hlY2swAwkAAGcAAAACAAAAAAAAAAAACQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAAkABEwAAAACAAAAAAAAAAAABQAAAANuaWwEAAAAA3AwMQkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAABAAAAAAAAAABkBQAAAAJwMAQAAAADcDAyCQAAaQAAAAIJAABoAAAAAgkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAIAAAAAAAAAAGQFAAAAAnAwBAAAAANwMDMJAABpAAAAAgkAAGgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAwAAAAAAAAAAZAUAAAACcDAEAAAAA3AwNAkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAEAAAAAAAAAABkBQAAAAJwMAQAAAAGYXJyYXkxAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwMDEJAABmAAAAAgUAAAADcDAxBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAEJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAQAAAAGYXJyYXkyAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwMDIJAABmAAAAAgUAAAADcDAyBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAIFAAAABmFycmF5MQUAAAAGYXJyYXkxBAAAAAZhcnJheTMDAwkAAGYAAAACBQAAAA9tYXhQZXJjZW50Qm91bmQFAAAAA3AwMwkAAGYAAAACBQAAAANwMDMFAAAAD21pblBlcmNlbnRCb3VuZAcJAARMAAAAAgAAAAAAAAAAAwUAAAAGYXJyYXkyBQAAAAZhcnJheTIDAwkAAGYAAAACBQAAAA9tYXhQZXJjZW50Qm91bmQFAAAAA3AwNAkAAGYAAAACBQAAAANwMDQFAAAAD21pblBlcmNlbnRCb3VuZAcJAARMAAAAAgAAAAAAAAAABAUAAAAGYXJyYXkzBQAAAAZhcnJheTMEAAAABmNoZWNrMQMJAABnAAAAAgkAAZAAAAABBQAAAAZjaGVjazAAAAAAAAAAAAMFAAAABmNoZWNrMAQAAAACcDEJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAABAwkAAGcAAAACAAAAAAAAAAAABQAAAAJwMQkABEwAAAACAAAAAAAAAAABBQAAAANuaWwEAAAAA3AxMAkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAAAAAAAAAAAABkBQAAAAJwMQQAAAADcDEyCQAAaQAAAAIJAABoAAAAAgkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAIAAAAAAAAAAGQFAAAAAnAxBAAAAANwMTMJAABpAAAAAgkAAGgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAwAAAAAAAAAAZAUAAAACcDEEAAAAA3AxNAkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAEAAAAAAAAAABkBQAAAAJwMQQAAAAGYXJyYXkxAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwMTAJAABmAAAAAgUAAAADcDEwBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgAAAAAAAAAAAQUAAAADbmlsCQAETAAAAAIAAAAAAAAAAAEFAAAAA25pbAQAAAAGYXJyYXkyAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwMTIJAABmAAAAAgUAAAADcDEyBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAIFAAAABmFycmF5MQUAAAAGYXJyYXkxBAAAAAZhcnJheTMDAwkAAGYAAAACBQAAAA9tYXhQZXJjZW50Qm91bmQFAAAAA3AxMwkAAGYAAAACBQAAAANwMTMFAAAAD21pblBlcmNlbnRCb3VuZAcJAARMAAAAAgAAAAAAAAAAAwUAAAAGYXJyYXkyBQAAAAZhcnJheTIDAwkAAGYAAAACBQAAAA9tYXhQZXJjZW50Qm91bmQFAAAAA3AxNAkAAGYAAAACBQAAAANwMTQFAAAAD21pblBlcmNlbnRCb3VuZAcJAARMAAAAAgAAAAAAAAAABAUAAAAGYXJyYXkzBQAAAAZhcnJheTMEAAAABmNoZWNrMgMJAABnAAAAAgkAAZAAAAABBQAAAAZjaGVjazEAAAAAAAAAAAMFAAAABmNoZWNrMQQAAAACcDIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAACAwkAAGcAAAACAAAAAAAAAAAABQAAAAJwMgkABEwAAAACAAAAAAAAAAACBQAAAANuaWwEAAAAA3AyMAkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAAAAAAAAAAAABkBQAAAAJwMgQAAAADcDIxCQAAaQAAAAIJAABoAAAAAgkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAEAAAAAAAAAAGQFAAAAAnAyBAAAAANwMjMJAABpAAAAAgkAAGgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAwAAAAAAAAAAZAUAAAACcDIEAAAAA3AyNAkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAEAAAAAAAAAABkBQAAAAJwMgQAAAAGYXJyYXkxAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwMjAJAABmAAAAAgUAAAADcDIwBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgAAAAAAAAAAAgUAAAADbmlsCQAETAAAAAIAAAAAAAAAAAIFAAAAA25pbAQAAAAGYXJyYXkyAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwMjEJAABmAAAAAgUAAAADcDIxBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAEFAAAABmFycmF5MQUAAAAGYXJyYXkxBAAAAAZhcnJheTMDAwkAAGYAAAACBQAAAA9tYXhQZXJjZW50Qm91bmQFAAAAA3AyMwkAAGYAAAACBQAAAANwMjMFAAAAD21pblBlcmNlbnRCb3VuZAcJAARMAAAAAgAAAAAAAAAAAwUAAAAGYXJyYXkyBQAAAAZhcnJheTIDAwkAAGYAAAACBQAAAA9tYXhQZXJjZW50Qm91bmQFAAAAA3AyNAkAAGYAAAACBQAAAANwMjQFAAAAD21pblBlcmNlbnRCb3VuZAcJAARMAAAAAgAAAAAAAAAABAUAAAAGYXJyYXkzBQAAAAZhcnJheTMEAAAABmNoZWNrMwMJAABnAAAAAgkAAZAAAAABBQAAAAZjaGVjazIAAAAAAAAAAAMFAAAABmNoZWNrMgQAAAACcDMJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAADAwkAAGcAAAACAAAAAAAAAAAABQAAAAJwMwkABEwAAAACAAAAAAAAAAADBQAAAANuaWwEAAAAA3AzMAkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAAAAAAAAAAAABkBQAAAAJwMwQAAAADcDMxCQAAaQAAAAIJAABoAAAAAgkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAEAAAAAAAAAAGQFAAAAAnAzBAAAAANwMzIJAABpAAAAAgkAAGgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAgAAAAAAAAAAZAUAAAACcDMEAAAAA3AzNAkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAEAAAAAAAAAABkBQAAAAJwMwQAAAAGYXJyYXkxAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwMzAJAABmAAAAAgUAAAADcDMwBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgAAAAAAAAAAAwUAAAADbmlsCQAETAAAAAIAAAAAAAAAAAMFAAAAA25pbAQAAAAGYXJyYXkyAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwMzEJAABmAAAAAgUAAAADcDMxBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAEFAAAABmFycmF5MQUAAAAGYXJyYXkxBAAAAAZhcnJheTMDAwkAAGYAAAACBQAAAA9tYXhQZXJjZW50Qm91bmQFAAAAA3AzMgkAAGYAAAACBQAAAANwMzIFAAAAD21pblBlcmNlbnRCb3VuZAcJAARMAAAAAgAAAAAAAAAAAgUAAAAGYXJyYXkyBQAAAAZhcnJheTIDAwkAAGYAAAACBQAAAA9tYXhQZXJjZW50Qm91bmQFAAAAA3AzNAkAAGYAAAACBQAAAANwMzQFAAAAD21pblBlcmNlbnRCb3VuZAcJAARMAAAAAgAAAAAAAAAABAUAAAAGYXJyYXkzBQAAAAZhcnJheTMDCQAAZwAAAAIJAAGQAAAAAQUAAAAGY2hlY2szAAAAAAAAAAADBQAAAAZjaGVjazMEAAAAAnA0CQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAABAMJAABnAAAAAgAAAAAAAAAAAAUAAAACcDQJAARMAAAAAgAAAAAAAAAABAUAAAADbmlsBAAAAANwNDAJAABpAAAAAgkAAGgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAAAAAAAAAAAAZAUAAAACcDQEAAAAA3A0MQkAAGkAAAACCQAAaAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAABAAAAAAAAAABkBQAAAAJwNAQAAAADcDQyCQAAaQAAAAIJAABoAAAAAgkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAIAAAAAAAAAAGQFAAAAAnA0BAAAAANwNDMJAABpAAAAAgkAAGgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAwAAAAAAAAAAZAUAAAACcDQEAAAABmFycmF5MQMDCQAAZgAAAAIFAAAAD21heFBlcmNlbnRCb3VuZAUAAAADcDQwCQAAZgAAAAIFAAAAA3A0MAUAAAAPbWluUGVyY2VudEJvdW5kBwkABEwAAAACAAAAAAAAAAAACQAETAAAAAIAAAAAAAAAAAQFAAAAA25pbAkABEwAAAACAAAAAAAAAAAEBQAAAANuaWwEAAAABmFycmF5MgMDCQAAZgAAAAIFAAAAD21heFBlcmNlbnRCb3VuZAUAAAADcDQxCQAAZgAAAAIFAAAAA3A0MQUAAAAPbWluUGVyY2VudEJvdW5kBwkABEwAAAACAAAAAAAAAAABBQAAAAZhcnJheTEFAAAABmFycmF5MQQAAAAGYXJyYXkzAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwNDIJAABmAAAAAgUAAAADcDQyBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAIFAAAABmFycmF5MgUAAAAGYXJyYXkyAwMJAABmAAAAAgUAAAAPbWF4UGVyY2VudEJvdW5kBQAAAANwNDMJAABmAAAAAgUAAAADcDQzBQAAAA9taW5QZXJjZW50Qm91bmQHCQAETAAAAAIAAAAAAAAAAAMFAAAABmFycmF5MwUAAAAGYXJyYXkzAAAAAgAAAAFpAQAAABVjYWxsRW1lcmdlbmN5U2h1dGRvd24AAAABAAAABnJlYXNvbgQAAAANY2FsbGVyQWRkcmVzcwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIDCQEAAAACIT0AAAACBQAAABpBdXRvRW1lcmdlbmN5T3JhY2xlQWRkcmVzcwUAAAANY2FsbGVyQWRkcmVzcwkAAAIAAAABAgAAACZjYWxsZXIgbXVzdCBiZSBvbmUgYW4gZW1lcmdlbmN5IG9yYWNsZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAMSXNCbG9ja2VkS2V5BgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASSXNCbG9ja2VkQ2FsbGVyS2V5BQAAAA1jYWxsZXJBZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABJJc0Jsb2NrZWRSZWFzb25LZXkFAAAABnJlYXNvbgUAAAADbmlsAAAAAWkBAAAAFGZpbmFsaXplQ3VycmVudFByaWNlAAAAAAMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFpjb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQEAAAACIT0AAAACCQEAAAAPZ2V0UHJpY2VIaXN0b3J5AAAAAQUAAAAGaGVpZ2h0AAAAAAAAAAAACQAAAgAAAAECAAAAD3dhaXQgbmV4dCBibG9jawQAAAAGcHJpY2VzCQAETAAAAAIJAQAAABZnZXRPcmFjbGVQcm92aWRlSGVpZ2h0AAAAAgkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAABZnZXRPcmFjbGVQcm92aWRlSGVpZ2h0AAAAAgkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAQUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAABZnZXRPcmFjbGVQcm92aWRlSGVpZ2h0AAAAAgkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAgUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAABZnZXRPcmFjbGVQcm92aWRlSGVpZ2h0AAAAAgkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAwUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAABZnZXRPcmFjbGVQcm92aWRlSGVpZ2h0AAAAAgkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAABAUAAAAGaGVpZ2h0BQAAAANuaWwEAAAADXByaWNlc0luUmFuZ2UJAQAAABFmaW5kUHJpY2VzSW5SYW5n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", "chainId": 87, "height": 1929851, "spentComplexity": 0 } View: original | compacted Prev: 5AtmaD7Vre1AMSxEh6JvXbKZSv8QeSFoK39n8gK1iXD4 Next: HEUQwFTosusBuQ6C6rj9ZAKDBD49rus4e1aotDZwurZc Diff:
OldNewDifferences
316316
317317
318318 @Callable(aJ)
319-func finalizeCurrentPrice () = {
320- let aa = [P(O[0], height), P(O[1], height), P(O[2], height), P(O[3], height), P(O[4], height)]
321- let aM = Z(aa)
322- let aN = size(aM)
323- if ((3 > aN))
324- then throw("Could not finalize price because of big variation")
319+func finalizeCurrentPrice () = if (J)
320+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
321+ else if ((R(height) != 0))
322+ then throw("wait next block")
325323 else {
326- let aO = ((aa[aM[0]] + aa[aM[1]]) + aa[aM[2]])
327- let aP = if ((aN >= 4))
328- then (aO + aa[aM[3]])
329- else aO
330- let aQ = if ((aN >= 5))
331- then (aP + aa[aM[4]])
332- else aP
333- if ((aN >= 6))
334- then throw("Invalid pricesInRange creation")
324+ let aa = [P(O[0], height), P(O[1], height), P(O[2], height), P(O[3], height), P(O[4], height)]
325+ let aM = Z(aa)
326+ let aN = size(aM)
327+ if ((3 > aN))
328+ then throw(((((((((((((((((((((("Could not finalize price because of big variation: height=" + toString(height)) + "
329+") + O[0]) + "=") + toString(aa[0])) + "
330+") + O[1]) + "=") + toString(aa[1])) + "
331+") + O[2]) + "=") + toString(aa[2])) + "
332+") + O[3]) + "=") + toString(aa[3])) + "
333+") + O[4]) + "=") + toString(aa[4])))
335334 else {
336- let aR = (aQ / aN)
337- if (J)
338- then throw("contract is blocked")
339- else if ((R(height) != 0))
340- then throw("wait next block")
341- else if ((L > aN))
342- then throw((((toString(L) + "/5 oracles need to set a price (") + toString(aN)) + ")"))
343- else if (if ((aR >= (H + ((H * M) / 100))))
344- then true
345- else ((H - ((H * M) / 100)) >= aR))
346- then WriteSet([DataEntry(w, true), DataEntry(A(height), aR)])
347- else {
348- let aS = (I + 1)
349- WriteSet([DataEntry(v, aR), DataEntry(C(height), aR), DataEntry(z, aS), DataEntry(D(aS), height)])
350- }
335+ let aO = ((aa[aM[0]] + aa[aM[1]]) + aa[aM[2]])
336+ let aP = if ((aN >= 4))
337+ then (aO + aa[aM[3]])
338+ else aO
339+ let aQ = if ((aN >= 5))
340+ then (aP + aa[aM[4]])
341+ else aP
342+ if ((aN >= 6))
343+ then throw("Invalid pricesInRange creation")
344+ else {
345+ let aR = (aQ / aN)
346+ if (if ((aR >= (H + ((H * M) / 100))))
347+ then true
348+ else ((H - ((H * M) / 100)) >= aR))
349+ then WriteSet([DataEntry(w, true), DataEntry(A(height), aR)])
350+ else {
351+ let aS = (I + 1)
352+ WriteSet([DataEntry(v, aR), DataEntry(C(height), aR), DataEntry(z, aS), DataEntry(D(aS), height)])
353+ }
354+ }
351355 }
352356 }
353- }
354357
355358
356359 @Verifier(aT)
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 (b) = {
2727 let c = getBoolean(this, b)
2828 if ($isInstanceOf(c, "Boolean"))
2929 then {
3030 let d = c
3131 d
3232 }
3333 else false
3434 }
3535
3636
3737 func g (h,b) = {
3838 let c = getInteger(h, b)
3939 if ($isInstanceOf(c, "Int"))
4040 then {
4141 let d = c
4242 d
4343 }
4444 else 0
4545 }
4646
4747
4848 func i (h,b) = {
4949 let c = getString(h, b)
5050 if ($isInstanceOf(c, "String"))
5151 then {
5252 let d = c
5353 d
5454 }
5555 else ""
5656 }
5757
5858
5959 func j (k,l) = {
6060 let m = split(k, l)
6161 if ((take(m[1], 1) == ","))
6262 then (m[0] + drop(m[1], 1))
6363 else (dropRight(m[0], 1) + m[1])
6464 }
6565
6666
6767 func n (o) = split(o, ",")
6868
6969
7070 let p = "block"
7171
7272 let q = "unblock"
7373
7474 let r = "update"
7575
7676 let s = "oracles"
7777
7878 let t = "price_offset"
7979
8080 let u = "3P7ihFVxBNbHK237TNdPxT1xHEu8pHexXTr"
8181
8282 let v = "price"
8383
8484 let w = "is_blocked"
8585
8686 let x = "is_blocked_caller"
8787
8888 let y = "is_blocked_reason"
8989
9090 let z = "price_index"
9191
9292 func A (B) = (("black_swarm_price" + "_") + toString(B))
9393
9494
9595 func C (B) = ((v + "_") + toString(B))
9696
9797
9898 func D (E) = ((z + "_") + toString(E))
9999
100100
101101 func F (G) = ("price_" + toString(G))
102102
103103
104104 let H = a(v)
105105
106106 let I = a(z)
107107
108108 let J = f(w)
109109
110110 let K = f(x)
111111
112112 let L = 3
113113
114114 let M = a(t)
115115
116116 let N = e(s)
117117
118118 let O = n(N)
119119
120120 func P (Q,G) = g(addressFromStringValue(Q), F(G))
121121
122122
123123 func R (G) = a(C(G))
124124
125125
126126 func S (h) = isDefined(indexOf(N, h))
127127
128128
129129 func T (U,h,V) = h :: U
130130
131131
132132 func W (U,h) = T(U, h, p)
133133
134134
135135 func X (U,h) = T(U, h, q)
136136
137137
138138 func Y (U,h) = T(U, h, r)
139139
140140
141141 func Z (aa) = {
142142 let ab = 90
143143 let ac = 110
144144 let ad = aa[0]
145145 let ae = if ((0 >= aa[0]))
146146 then [0]
147147 else {
148148 let af = ((aa[1] * 100) / ad)
149149 let ag = ((aa[2] * 100) / ad)
150150 let ah = ((aa[3] * 100) / ad)
151151 let ai = ((aa[4] * 100) / ad)
152152 let aj = if (if ((ac > af))
153153 then (af > ab)
154154 else false)
155155 then [1, 0]
156156 else [0]
157157 let ak = if (if ((ac > ag))
158158 then (ag > ab)
159159 else false)
160160 then 2 :: aj
161161 else aj
162162 let al = if (if ((ac > ah))
163163 then (ah > ab)
164164 else false)
165165 then 3 :: ak
166166 else ak
167167 if (if ((ac > ai))
168168 then (ai > ab)
169169 else false)
170170 then 4 :: al
171171 else al
172172 }
173173 let am = if ((size(ae) >= 3))
174174 then ae
175175 else {
176176 let an = aa[1]
177177 if ((0 >= an))
178178 then [1]
179179 else {
180180 let ao = ((aa[0] * 100) / an)
181181 let ap = ((aa[2] * 100) / an)
182182 let aq = ((aa[3] * 100) / an)
183183 let ar = ((aa[4] * 100) / an)
184184 let aj = if (if ((ac > ao))
185185 then (ao > ab)
186186 else false)
187187 then [0, 1]
188188 else [1]
189189 let ak = if (if ((ac > ap))
190190 then (ap > ab)
191191 else false)
192192 then 2 :: aj
193193 else aj
194194 let al = if (if ((ac > aq))
195195 then (aq > ab)
196196 else false)
197197 then 3 :: ak
198198 else ak
199199 if (if ((ac > ar))
200200 then (ar > ab)
201201 else false)
202202 then 4 :: al
203203 else al
204204 }
205205 }
206206 let as = if ((size(am) >= 3))
207207 then am
208208 else {
209209 let at = aa[2]
210210 if ((0 >= at))
211211 then [2]
212212 else {
213213 let au = ((aa[0] * 100) / at)
214214 let av = ((aa[1] * 100) / at)
215215 let aw = ((aa[3] * 100) / at)
216216 let ax = ((aa[4] * 100) / at)
217217 let aj = if (if ((ac > au))
218218 then (au > ab)
219219 else false)
220220 then [0, 2]
221221 else [2]
222222 let ak = if (if ((ac > av))
223223 then (av > ab)
224224 else false)
225225 then 1 :: aj
226226 else aj
227227 let al = if (if ((ac > aw))
228228 then (aw > ab)
229229 else false)
230230 then 3 :: ak
231231 else ak
232232 if (if ((ac > ax))
233233 then (ax > ab)
234234 else false)
235235 then 4 :: al
236236 else al
237237 }
238238 }
239239 let ay = if ((size(as) >= 3))
240240 then as
241241 else {
242242 let az = aa[3]
243243 if ((0 >= az))
244244 then [3]
245245 else {
246246 let aA = ((aa[0] * 100) / az)
247247 let aB = ((aa[1] * 100) / az)
248248 let aC = ((aa[2] * 100) / az)
249249 let aD = ((aa[4] * 100) / az)
250250 let aj = if (if ((ac > aA))
251251 then (aA > ab)
252252 else false)
253253 then [0, 3]
254254 else [3]
255255 let ak = if (if ((ac > aB))
256256 then (aB > ab)
257257 else false)
258258 then 1 :: aj
259259 else aj
260260 let al = if (if ((ac > aC))
261261 then (aC > ab)
262262 else false)
263263 then 2 :: ak
264264 else ak
265265 if (if ((ac > aD))
266266 then (aD > ab)
267267 else false)
268268 then 4 :: al
269269 else al
270270 }
271271 }
272272 if ((size(ay) >= 3))
273273 then ay
274274 else {
275275 let aE = aa[4]
276276 if ((0 >= aE))
277277 then [4]
278278 else {
279279 let aF = ((aa[0] * 100) / aE)
280280 let aG = ((aa[1] * 100) / aE)
281281 let aH = ((aa[2] * 100) / aE)
282282 let aI = ((aa[3] * 100) / aE)
283283 let aj = if (if ((ac > aF))
284284 then (aF > ab)
285285 else false)
286286 then [0, 4]
287287 else [4]
288288 let ak = if (if ((ac > aG))
289289 then (aG > ab)
290290 else false)
291291 then 1 :: aj
292292 else aj
293293 let al = if (if ((ac > aH))
294294 then (aH > ab)
295295 else false)
296296 then 2 :: ak
297297 else ak
298298 if (if ((ac > aI))
299299 then (aI > ab)
300300 else false)
301301 then 3 :: al
302302 else al
303303 }
304304 }
305305 }
306306
307307
308308 @Callable(aJ)
309309 func callEmergencyShutdown (aK) = {
310310 let aL = toString(aJ.caller)
311311 if ((u != aL))
312312 then throw("caller must be one an emergency oracle")
313313 else WriteSet([DataEntry(w, true), DataEntry(x, aL), DataEntry(y, aK)])
314314 }
315315
316316
317317
318318 @Callable(aJ)
319-func finalizeCurrentPrice () = {
320- let aa = [P(O[0], height), P(O[1], height), P(O[2], height), P(O[3], height), P(O[4], height)]
321- let aM = Z(aa)
322- let aN = size(aM)
323- if ((3 > aN))
324- then throw("Could not finalize price because of big variation")
319+func finalizeCurrentPrice () = if (J)
320+ then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
321+ else if ((R(height) != 0))
322+ then throw("wait next block")
325323 else {
326- let aO = ((aa[aM[0]] + aa[aM[1]]) + aa[aM[2]])
327- let aP = if ((aN >= 4))
328- then (aO + aa[aM[3]])
329- else aO
330- let aQ = if ((aN >= 5))
331- then (aP + aa[aM[4]])
332- else aP
333- if ((aN >= 6))
334- then throw("Invalid pricesInRange creation")
324+ let aa = [P(O[0], height), P(O[1], height), P(O[2], height), P(O[3], height), P(O[4], height)]
325+ let aM = Z(aa)
326+ let aN = size(aM)
327+ if ((3 > aN))
328+ then throw(((((((((((((((((((((("Could not finalize price because of big variation: height=" + toString(height)) + "
329+") + O[0]) + "=") + toString(aa[0])) + "
330+") + O[1]) + "=") + toString(aa[1])) + "
331+") + O[2]) + "=") + toString(aa[2])) + "
332+") + O[3]) + "=") + toString(aa[3])) + "
333+") + O[4]) + "=") + toString(aa[4])))
335334 else {
336- let aR = (aQ / aN)
337- if (J)
338- then throw("contract is blocked")
339- else if ((R(height) != 0))
340- then throw("wait next block")
341- else if ((L > aN))
342- then throw((((toString(L) + "/5 oracles need to set a price (") + toString(aN)) + ")"))
343- else if (if ((aR >= (H + ((H * M) / 100))))
344- then true
345- else ((H - ((H * M) / 100)) >= aR))
346- then WriteSet([DataEntry(w, true), DataEntry(A(height), aR)])
347- else {
348- let aS = (I + 1)
349- WriteSet([DataEntry(v, aR), DataEntry(C(height), aR), DataEntry(z, aS), DataEntry(D(aS), height)])
350- }
335+ let aO = ((aa[aM[0]] + aa[aM[1]]) + aa[aM[2]])
336+ let aP = if ((aN >= 4))
337+ then (aO + aa[aM[3]])
338+ else aO
339+ let aQ = if ((aN >= 5))
340+ then (aP + aa[aM[4]])
341+ else aP
342+ if ((aN >= 6))
343+ then throw("Invalid pricesInRange creation")
344+ else {
345+ let aR = (aQ / aN)
346+ if (if ((aR >= (H + ((H * M) / 100))))
347+ then true
348+ else ((H - ((H * M) / 100)) >= aR))
349+ then WriteSet([DataEntry(w, true), DataEntry(A(height), aR)])
350+ else {
351+ let aS = (I + 1)
352+ WriteSet([DataEntry(v, aR), DataEntry(C(height), aR), DataEntry(z, aS), DataEntry(D(aS), height)])
353+ }
354+ }
351355 }
352356 }
353- }
354357
355358
356359 @Verifier(aT)
357360 func aU () = {
358361 let aV = ["BLEoguzPVKVTfXxxT3W7Rqf8aUm2ggC9Vemd2MQawM2G", "FWVffYr2ALmHMejZm3WqeLz6Sdym3gLFGtJn4KTwyU5x", "3Wh2LaWcb5gg7K2pPcW3Ep6EAuRBzYkAgrdpt43jTDFa", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
359362 let aW = ((((if (sigVerify(aT.bodyBytes, aT.proofs[0], fromBase58String(aV[0])))
360363 then 1
361364 else 0) + (if (sigVerify(aT.bodyBytes, aT.proofs[1], fromBase58String(aV[1])))
362365 then 1
363366 else 0)) + (if (sigVerify(aT.bodyBytes, aT.proofs[2], fromBase58String(aV[2])))
364367 then 1
365368 else 0)) + (if (sigVerify(aT.bodyBytes, aT.proofs[3], fromBase58String(aV[3])))
366369 then 2
367370 else 0))
368371 (aW >= 3)
369372 }
370373

github/deemru/w8io/6500d08 
61.51 ms