tx · 9Cvyt7LMYP1L3mKk9fnXu3PpPL53nWo5MiTmP4wtVJeD

3MpSmqMhKBgK7D3xFAYrQFuwYVgcB9PpgWL:  -0.01000000 Waves

2019.11.16 00:01 [766734] smart account 3MpSmqMhKBgK7D3xFAYrQFuwYVgcB9PpgWL > SELF 0.00000000 Waves

{ "type": 13, "id": "9Cvyt7LMYP1L3mKk9fnXu3PpPL53nWo5MiTmP4wtVJeD", "fee": 1000000, "feeAssetId": null, "timestamp": 1573851679653, "version": 1, "sender": "3MpSmqMhKBgK7D3xFAYrQFuwYVgcB9PpgWL", "senderPublicKey": "F8w3Fx1bBR68fYWynD9hgM8w1ztdTAZhJhNyu3BmPXvq", "proofs": [ "3QBsgQcJfWrdTkD7XTfvwbFiGkNx9NnP1TgWSvTmPZaUBagXLoUrfWHJB4vSTxgfX6pqG91mbULWVy6GeArgSqsy" ], "script": "base64:AAIDAAAAAAAAAA4IARIDCgEBEgASAwoBCAAAAEEBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAABAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBwEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABZkcm9wRWxlbWVudEluSnNvbkFycmF5AAAAAgAAAAVhcnJheQAAAAdlbGVtZW50BAAAAAxzcGxpdGVkQXJyYXkJAAS1AAAAAgUAAAAFYXJyYXkFAAAAB2VsZW1lbnQDCQAAAAAAAAIJAAEvAAAAAgkAAZEAAAACBQAAAAxzcGxpdGVkQXJyYXkAAAAAAAAAAAEAAAAAAAAAAAECAAAAASwJAAEsAAAAAgkAAZEAAAACBQAAAAxzcGxpdGVkQXJyYXkAAAAAAAAAAAAJAAEwAAAAAgkAAZEAAAACBQAAAAxzcGxpdGVkQXJyYXkAAAAAAAAAAAEAAAAAAAAAAAEJAAEsAAAAAgkBAAAACWRyb3BSaWdodAAAAAIJAAGRAAAAAgUAAAAMc3BsaXRlZEFycmF5AAAAAAAAAAAAAAAAAAAAAAABCQABkQAAAAIFAAAADHNwbGl0ZWRBcnJheQAAAAAAAAAAAQEAAAAWY29udmVydEpzb25BcnJheVRvTGlzdAAAAAEAAAAJanNvbkFycmF5CQAEtQAAAAIFAAAACWpzb25BcnJheQIAAAABLAAAAAAFQkxPQ0sCAAAABWJsb2NrAAAAAAdVTkJMT0NLAgAAAAd1bmJsb2NrAAAAAAZVUERBVEUCAAAABnVwZGF0ZQAAAAAKT3JhY2xlc0tleQIAAAAHb3JhY2xlcwAAAAAJQWRtaW5zS2V5AgAAAAZhZG1pbnMAAAAAD1ZvdGVJbnRlcnZhbEtleQIAAAANdm90ZV9pbnRlcnZhbAAAAAAUQ29lZmZpY2llbnRPcmFjbGVLZXkCAAAAEmNvZWZmaWNpZW50X29yYWNsZQAAAAATQ29lZmZpY2llbnRBZG1pbktleQIAAAARY29lZmZpY2llbnRfYWRtaW4AAAAAF1NjcmlwdFVwZGF0ZUludGVydmFsS2V5AgAAABZzY3JpcHRfdXBkYXRlX2ludGVydmFsAAAAABRQcm92aWRpbmdJbnRlcnZhbEtleQIAAAAScHJvdmlkaW5nX2ludGVydmFsAAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAADlByaWNlT2Zmc2V0S2V5AgAAAAxwcmljZV9vZmZzZXQAAAAAEUlzUHJpY2VQZW5kaW5nS2V5AgAAABBpc19wZW5kaW5nX3ByaWNlAAAAAAxJc0Jsb2NrZWRLZXkCAAAACmlzX2Jsb2NrZWQAAAAAEk9yYWNsZUlzUHJvdmlkZUtleQIAAAASb3JhY2xlX2lzX3Byb3ZpZGVfAAAAABVPcmFjbGVQcm92aWRlUHJpY2VLZXkCAAAAFW9yYWNsZV9wcmljZV9wcm92aWRlXwAAAAAMQWRtaW5Wb3RlS2V5AgAAAAthZG1pbl92b3RlXwAAAAAJQWN0aW9uS2V5AgAAAAZhY3Rpb24AAAAAF0Jsb2NrRXhwaXJlUHJvdmlkaW5nS2V5AgAAABZwcm92aWRpbmdfZXhwaXJlX2Jsb2NrAAAAABJCbGFja1N3YXJtUHJpY2VLZXkCAAAAEWJsYWNrX3N3YXJtX3ByaWNlAAAAABJCbG9ja0V4cGlyZVZvdGVLZXkCAAAAEXZvdGVfZXhwaXJlX2Jsb2NrAAAAABRTY3JpcHRVcGRhdGVCbG9ja0tleQIAAAATc2NyaXB0X3VwZGF0ZV9ibG9jawAAAAANUHJpY2VJbmRleEtleQIAAAALcHJpY2VfaW5kZXgBAAAAFWdldE9yYWNsZUlzUHJvdmlkZUtleQAAAAEAAAAFb3duZXIJAAEsAAAAAgUAAAAST3JhY2xlSXNQcm92aWRlS2V5BQAAAAVvd25lcgEAAAAYZ2V0T3JhY2xlUHJvdmlkZVByaWNlS2V5AAAAAQAAAAVvd25lcgkAASwAAAACBQAAABVPcmFjbGVQcm92aWRlUHJpY2VLZXkFAAAABW93bmVyAQAAAA9nZXRBZG1pblZvdGVLZXkAAAABAAAABW93bmVyCQABLAAAAAIFAAAADEFkbWluVm90ZUtleQUAAAAFb3duZXIBAAAAFWdldEFkbWluVm90ZUFjdGlvbktleQAAAAEAAAAFb3duZXIJAAEsAAAAAgkAASwAAAACCQEAAAAPZ2V0QWRtaW5Wb3RlS2V5AAAAAQUAAAAFb3duZXICAAAAAV8FAAAACUFjdGlvbktleQEAAAAVZ2V0QmxhY2tTd2FybVByaWNlS2V5AAAAAQAAAAVibG9jawkAASwAAAACCQABLAAAAAIFAAAAEkJsYWNrU3dhcm1QcmljZUtleQIAAAABXwkAAaQAAAABBQAAAAVibG9jawEAAAASZ2V0UHJpY2VIaXN0b3J5S2V5AAAAAQAAAAVibG9jawkAASwAAAACCQABLAAAAAIFAAAACFByaWNlS2V5AgAAAAFfCQABpAAAAAEFAAAABWJsb2NrAQAAABhnZXRIZWlnaHRQcmljZUJ5SW5kZXhLZXkAAAABAAAABWluZGV4CQABLAAAAAIJAAEsAAAAAgUAAAANUHJpY2VJbmRleEtleQIAAAABXwkAAaQAAAABBQAAAAVpbmRleAAAAAAFcHJpY2UJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAACFByaWNlS2V5AAAAAApwcmljZUluZGV4CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAAA1QcmljZUluZGV4S2V5AAAAABFwcm92aWRpbmdJbnRlcnZhbAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQUAAAAUUHJvdmlkaW5nSW50ZXJ2YWxLZXkAAAAAFGJsb2NrRXhwaXJlUHJvdmlkaW5nCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABdCbG9ja0V4cGlyZVByb3ZpZGluZ0tleQAAAAAPYmxvY2tFeHBpcmVWb3RlCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABJCbG9ja0V4cGlyZVZvdGVLZXkAAAAAEXNjcmlwdFVwZGF0ZUJsb2NrCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABRTY3JpcHRVcGRhdGVCbG9ja0tleQAAAAAUc2NyaXB0VXBkYXRlSW50ZXJ2YWwJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAAF1NjcmlwdFVwZGF0ZUludGVydmFsS2V5AAAAAA5pc1ByaWNlUGVuZGluZwkBAAAADGdldEJvb2xCeUtleQAAAAEFAAAAEUlzUHJpY2VQZW5kaW5nS2V5AAAAAAlpc0Jsb2NrZWQJAQAAAAxnZXRCb29sQnlLZXkAAAABBQAAAAxJc0Jsb2NrZWRLZXkAAAAAFGJmdENvZWZmaWNpZW50T3JhY2xlCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABRDb2VmZmljaWVudE9yYWNsZUtleQAAAAATYmZ0Q29lZmZpY2llbnRBZG1pbgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQUAAAATQ29lZmZpY2llbnRBZG1pbktleQAAAAAScGVyY2VudFByaWNlT2Zmc2V0CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAAA5QcmljZU9mZnNldEtleQAAAAAMdm90ZUludGVydmFsCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAAA9Wb3RlSW50ZXJ2YWxLZXkAAAAAB29yYWNsZXMJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAACk9yYWNsZXNLZXkAAAAABmFkbWlucwkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAJQWRtaW5zS2V5AAAAAAtvcmFjbGVzTGlzdAkBAAAAFmNvbnZlcnRKc29uQXJyYXlUb0xpc3QAAAABBQAAAAdvcmFjbGVzAAAAAAphZG1pbnNMaXN0CQEAAAAWY29udmVydEpzb25BcnJheVRvTGlzdAAAAAEFAAAABmFkbWlucwEAAAASZ2V0QWRtaW5Wb3RlQWN0aW9uAAAAAQAAAAVvd25lcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAFWdldEFkbWluVm90ZUFjdGlvbktleQAAAAEFAAAABW93bmVyAQAAAA9pc09yYWNsZVByb3ZpZGUAAAABAAAABW93bmVyCQEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQkBAAAAFWdldE9yYWNsZUlzUHJvdmlkZUtleQAAAAEFAAAABW93bmVyAQAAABJpc09yYWNsZVByb3ZpZGVJbnQAAAABAAAABW93bmVyAwkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEFAAAABW93bmVyAAAAAAAAAAABAAAAAAAAAAAAAQAAABVnZXRPcmFjbGVQcm92aWRlUHJpY2UAAAABAAAABW93bmVyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAYZ2V0T3JhY2xlUHJvdmlkZVByaWNlS2V5AAAAAQUAAAAFb3duZXIBAAAACGlzT3JhY2xlAAAAAQAAAAdhZGRyZXNzCQEAAAAJaXNEZWZpbmVkAAAAAQkABLMAAAACBQAAAAdvcmFjbGVzBQAAAAdhZGRyZXNzAQAAAAdpc0FkbWluAAAAAQAAAAdhZGRyZXNzCQEAAAAJaXNEZWZpbmVkAAAAAQkABLMAAAACBQAAAAZhZG1pbnMFAAAAB2FkZHJlc3MBAAAADnN1bU9yYWNsZVByaWNlAAAAAgAAAARiYXNlAAAAB2FkZHJlc3MJAABkAAAAAgUAAAAEYmFzZQkAAGgAAAACCQEAAAAVZ2V0T3JhY2xlUHJvdmlkZVByaWNlAAAAAQUAAAAHYWRkcmVzcwkBAAAAEmlzT3JhY2xlUHJvdmlkZUludAAAAAEFAAAAB2FkZHJlc3MBAAAAGGZpbHRlckFkbWluc1ZvdGVCeUFjdGlvbgAAAAMAAAAGcmVzdWx0AAAAB2FkZHJlc3MAAAAGYWN0aW9uCQAETAAAAAIFAAAAB2FkZHJlc3MFAAAABnJlc3VsdAEAAAAdZmlsdGVyQWRtaW5zVm90ZUJ5QmxvY2tBY3Rpb24AAAACAAAABnJlc3VsdAAAAAdhZGRyZXNzCQEAAAAYZmlsdGVyQWRtaW5zVm90ZUJ5QWN0aW9uAAAAAwUAAAAGcmVzdWx0BQAAAAdhZGRyZXNzBQAAAAVCTE9DSwEAAAAfZmlsdGVyQWRtaW5zVm90ZUJ5VW5ibG9ja0FjdGlvbgAAAAIAAAAGcmVzdWx0AAAAB2FkZHJlc3MJAQAAABhmaWx0ZXJBZG1pbnNWb3RlQnlBY3Rpb24AAAADBQAAAAZyZXN1bHQFAAAAB2FkZHJlc3MFAAAAB1VOQkxPQ0sBAAAAHmZpbHRlckFkbWluc1ZvdGVCeVVwZGF0ZUFjdGlvbgAAAAIAAAAGcmVzdWx0AAAAB2FkZHJlc3MJAQAAABhmaWx0ZXJBZG1pbnNWb3RlQnlBY3Rpb24AAAADBQAAAAZyZXN1bHQFAAAAB2FkZHJlc3MFAAAABlVQREFURQAAAAMAAAABaQEAAAAPc2V0Q3VycmVudFByaWNlAAAAAQAAAAhuZXdQcmljZQQAAAAHYWNjb3VudAkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAAJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAEJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAIJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAMJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAQFAAAAA25pbAQAAAATcHJpY2VQcm92aWRpbmdDb3VudAkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgkA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AAAADVByaWNlSW5kZXhLZXkFAAAADW5ld1ByaWNlSW5kZXgJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABhnZXRIZWlnaHRQcmljZUJ5SW5kZXhLZXkAAAABBQAAAA1uZXdQcmljZUluZGV4BQAAAAZoZWlnaHQFAAAAA25pbAAAAAFpAQAAAAR2b3RlAAAAAQAAAAZhY3Rpb24EAAAAB2FjY291bnQJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABhhZG1pbnNMaXN0V2l0aG91dEFjY291bnQJAQAAABZjb252ZXJ0SnNvbkFycmF5VG9MaXN0AAAAAQkBAAAAFmRyb3BFbGVtZW50SW5Kc29uQXJyYXkAAAACBQAAAAZhZG1pbnMFAAAAB2FjY291bnQEAAAACmxhc3RBY3Rpb24JAQAAABJnZXRBZG1pblZvdGVBY3Rpb24AAAABBQAAAAdhY2NvdW50BAAAAApibG9ja1ZvdGVzBAAAAA0kbGlzdDk4Mjk5ODk3BQAAABhhZG1pbnNMaXN0V2l0aG91dEFjY291bnQEAAAADSRzaXplOTgyOTk4OTcJAAGQAAAAAQUAAAANJGxpc3Q5ODI5OTg5NwQAAAANJGFjYzA5ODI5OTg5NwUAAAADbmlsAwkAAAAAAAACBQAAAA0kc2l6ZTk4Mjk5ODk3AAAAAAAAAAAABQAAAA0kYWNjMDk4Mjk5ODk3BAAAAA0kYWNjMTk4Mjk5ODk3CQEAAAAdZmlsdGVyQWRtaW5zVm90ZUJ5QmxvY2tBY3Rpb24AAAACBQAAAA0kYWNjMDk4Mjk5ODk3CQABkQAAAAIFAAAADSRsaXN0OTgyOTk4OTcAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplOTgyOTk4OTcAAAAAAAAAAAEFAAAADSRhY2MxOTgyOTk4OTcEAAAADSRhY2MyOTgyOTk4OTcJAQAAAB1maWx0ZXJBZG1pbnNWb3RlQnlCbG9ja0FjdGlvbgAAAAIFAAAADSRhY2MxOTgyOTk4OTcJAAGRAAAAAgUAAAANJGxpc3Q5ODI5OTg5NwAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemU5ODI5OTg5NwAAAAAAAAAAAgUAAAANJGFjYzI5ODI5OTg5NwQAAAANJGFjYzM5ODI5OTg5NwkBAAAAHWZpbHRlckFkbWluc1ZvdGVCeUJsb2NrQWN0aW9uAAAAAgUAAAANJGFjYzI5ODI5OTg5NwkAAZEAAAACBQAAAA0kbGlzdDk4Mjk5ODk3AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTk4Mjk5ODk3AAAAAAAAAAADBQAAAA0kYWNjMzk4Mjk5ODk3BAAAAA0kYWNjNDk4Mjk5ODk3CQEAAAAdZmlsdGVyQWRtaW5zVm90ZUJ5QmxvY2tBY3Rpb24AAAACBQAAAA0kYWNjMzk4Mjk5ODk3CQABkQAAAAIFAAAADSRsaXN0OTgyOTk4OTcAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplOTgyOTk4OTcAAAAAAAAAAAQFAAAADSRhY2M0OTgyOTk4OTcEAAAADSRhY2M1OTgyOTk4OTcJAQAAAB1maWx0ZXJBZG1pbnNWb3RlQnlCbG9ja0FjdGlvbgAAAAIFAAAADSRhY2M0OTgyOTk4OTcJAAGRAAAAAgUAAAANJGxpc3Q5ODI5OTg5NwAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemU5ODI5OTg5NwAAAAAAAAAABQUAAAANJGFjYzU5ODI5OTg5NwQAAAANJGFjYzY5ODI5OTg5NwkBAAAAHWZpbHRlckFkbWluc1ZvdGVCeUJsb2NrQWN0aW9uAAAAAgUAAAANJGFjYzU5ODI5OTg5NwkAAZEAAAACBQAAAA0kbGlzdDk4Mjk5ODk3AAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAAMdW5ibG9ja1ZvdGVzBAAAAA0kbGlzdDk5MjE5OTkxBQAAABhhZG1pbnNMaXN0V2l0aG91dEFjY291bnQEAAAADSRzaXplOTkyMTk5OTEJAAGQAAAAAQUAAAANJGxpc3Q5OTIxOTk5MQQAAAANJGFjYzA5OTIxOTk5MQUAAAADbmlsAwkAAAAAAAACBQAAAA0kc2l6ZTk5MjE5OTkxAAAAAAAAAAAABQAAAA0kYWNjMDk5MjE5OTkxBAAAAA0kYWNjMTk5MjE5OTkxCQEAAAAfZmlsdGVyQWRtaW5zVm90ZUJ5VW5ibG9ja0FjdGlvbgAAAAIFAAAADSRhY2MwOTkyMTk5OTEJAAGRAAAAAgUAAAANJGxpc3Q5OTIxOTk5MQAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU5OTIxOTk5MQAAAAAAAAAAAQUAAAANJGFjYzE5OTIxOTk5MQQAAAANJGFjYzI5OTIxOTk5MQkBAAAAH2ZpbHRlckFkbWluc1ZvdGVCeVVuYmxvY2tBY3Rpb24AAAACBQAAAA0kYWNjMTk5MjE5OTkxCQABkQAAAAIFAAAADSRsaXN0OTkyMTk5OTEAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplOTkyMTk5OTEAAAAAAAAAAAIFAAAADSRhY2MyOTkyMTk5OTEEAAAADSRhY2MzOTkyMTk5OTEJAQAAAB9maWx0ZXJBZG1pbnNWb3RlQnlVbmJsb2NrQWN0aW9uAAAAAgUAAAANJGFjYzI5OTIxOTk5MQkAAZEAAAACBQAAAA0kbGlzdDk5MjE5OTkxAAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTk5MjE5OTkxAAAAAAAAAAADBQAAAA0kYWNjMzk5MjE5OTkxBAAAAA0kYWNjNDk5MjE5OTkxCQEAAAAfZmlsdGVyQWRtaW5zVm90ZUJ5VW5ibG9ja0FjdGlvbgAAAAIFAAAADSRhY2MzOTkyMTk5OTEJAAGRAAAAAgUAAAANJGxpc3Q5OTIxOTk5MQAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU5OTIxOTk5MQAAAAAAAAAABAUAAAANJGFjYzQ5OTIxOTk5MQQAAAANJGFjYzU5OTIxOTk5MQkBAAAAH2ZpbHRlckFkbWluc1ZvdGVCeVVuYmxvY2tBY3Rpb24AAAACBQAAAA0kYWNjNDk5MjE5OTkxCQABkQAAAAIFAAAADSRsaXN0OTkyMTk5OTEAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplOTkyMTk5OTEAAAAAAAAAAAUFAAAADSRhY2M1OTkyMTk5OTEEAAAADSRhY2M2OTkyMTk5OTEJAQAAAB9maWx0ZXJBZG1pbnNWb3RlQnlVbmJsb2NrQWN0aW9uAAAAAgUAAAANJGFjYzU5OTIxOTk5MQkAAZEAAAACBQAAAA0kbGlzdDk5MjE5OTkxAAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAALdXBkYXRlVm90ZXMEAAAADyRsaXN0MTAwMTQxMDA4MwUAAAAYYWRtaW5zTGlzdFdpdGhvdXRBY2NvdW50BAAAAA8kc2l6ZTEwMDE0MTAwODMJAAGQAAAAAQUAAAAPJGxpc3QxMDAxNDEwMDgzBAAAAA8kYWNjMDEwMDE0MTAwODMFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxMDAxNDEwMDgzAAAAAAAAAAAABQAAAA8kYWNjMDEwMDE0MTAwODMEAAAADyRhY2MxMTAwMTQxMDA4MwkBAAAAHmZpbHRlckFkbWluc1ZvdGVCeVVwZGF0ZUFjdGlvbgAAAAIFAAAADyRhY2MwMTAwMTQxMDA4MwkAAZEAAAACBQAAAA8kbGlzdDEwMDE0MTAwODMAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTAwMTQxMDA4MwAAAAAAAAAAAQUAAAAPJGFjYzExMDAxNDEwMDgzBAAAAA8kYWNjMjEwMDE0MTAwODMJAQAAAB5maWx0ZXJBZG1pbnNWb3RlQnlVcGRhdGVBY3Rpb24AAAACBQAAAA8kYWNjMTEwMDE0MTAwODMJAAGRAAAAAgUAAAAPJGxpc3QxMDAxNDEwMDgzAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDE0MTAwODMAAAAAAAAAAAIFAAAADyRhY2MyMTAwMTQxMDA4MwQAAAAPJGFjYzMxMDAxNDEwMDgzCQEAAAAeZmlsdGVyQWRtaW5zVm90ZUJ5VXBkYXRlQWN0aW9uAAAAAgUAAAAPJGFjYzIxMDAxNDEwMDgzCQABkQAAAAIFAAAADyRsaXN0MTAwMTQxMDA4MwAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxMDAxNDEwMDgzAAAAAAAAAAADBQAAAA8kYWNjMzEwMDE0MTAwODMEAAAADyRhY2M0MTAwMTQxMDA4MwkBAAAAHmZpbHRlckFkbWluc1ZvdGVCeVVwZGF0ZUFjdGlvbgAAAAIFAAAADyRhY2MzMTAwMTQxMDA4MwkAAZEAAAACBQAAAA8kbGlzdDEwMDE0MTAwODMAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTAwMTQxMDA4MwAAAAAAAAAABAUAAAAPJGFjYzQxMDAxNDEwMDgzBAAAAA8kYWNjNTEwMDE0MTAwODMJAQAAAB5maWx0ZXJBZG1pbnNWb3RlQnlVcGRhdGVBY3Rpb24AAAACBQAAAA8kYWNjNDEwMDE0MTAwODMJAAGRAAAAAgUAAAAPJGxpc3QxMDAxNDEwMDgzAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDE0MTAwODMAAAAAAAAAAAUFAAAADyRhY2M1MTAwMTQxMDA4MwQAAAAPJGFjYzYxMDAxNDEwMDgzCQEAAAAeZmlsdGVyQWRtaW5zVm90ZUJ5VXBkYXRlQWN0aW9uAAAAAgUAAAAPJGFjYzUxMDAxNDEwMDgzCQABkQAAAAIFAAAADyRsaXN0MTAwMTQxMDA4MwAAAAAAAAAABQkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDUEAAAADmJsb2NrVm90ZUNvdW50CQAAZAAAAAIJAAGQAAAAAQUAAAAKYmxvY2tWb3RlcwMJAAAAAAAAAgUAAAAGYWN0aW9uBQAAAAVCTE9DSwAAAAAAAAAAAQAAAAAAAAAAAAQAAAAQdW5ibG9ja1ZvdGVDb3VudAkAAGQAAAACCQABkAAAAAEFAAAADHVuYmxvY2tWb3RlcwMJAAAAAAAAAgUAAAAGYWN0aW9uBQAAAAdVTkJMT0NLAAAAAAAAAAABAAAAAAAAAAAABAAAABB1cGRhdGVWb3Rlc0NvdW50CQAAZAAAAAIJAAGQAAAAAQUAAAALdXBkYXRlVm90ZXMDCQAAAAAAAAIFAAAABmFjdGlvbgUAAAAGVVBEQVRFAAAAAAAAAAABAAAAAAAAAAAABAAAAAtyZXNldFJlc3VsdAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASQmxvY2tFeHBpcmVWb3RlS2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABdCbG9ja0V4cGlyZVByb3ZpZGluZ0tleQAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEFkbWluVm90ZUFjdGlvbktleQAAAAEJAAGRAAAAAgUAAAAYYWRtaW5zTGlzdFdpdGhvdXRBY2NvdW50AAAAAAAAAAAAAgAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRBZG1pblZvdGVBY3Rpb25LZXkAAAABCQABkQAAAAIFAAAAGGFkbWluc0xpc3RXaXRob3V0QWNjb3VudAAAAAAAAAAAAQIAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0QWRtaW5Wb3RlQWN0aW9uS2V5AAAAAQkAAZEAAAACBQAAABhhZG1pbnNMaXN0V2l0aG91dEFjY291bnQAAAAAAAAAAAICAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEFkbWluVm90ZUFjdGlvbktleQAAAAEJAAGRAAAAAgUAAAAYYWRtaW5zTGlzdFdpdGhvdXRBY2NvdW50AAAAAAAAAAADAgAAAAAFAAAAA25pbAMDCQAAZwAAAAIFAAAADmJsb2NrVm90ZUNvdW50BQAAABNiZnRDb2VmZmljaWVudEFkbWluBgkAAGcAAAACBQAAABB1bmJsb2NrVm90ZUNvdW50BQAAABNiZnRDb2VmZmljaWVudEFkbWluCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABFJc1ByaWNlUGVuZGluZ0tleQcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADElzQmxvY2tlZEtleQMJAABnAAAAAgUAAAAOYmxvY2tWb3RlQ291bnQFAAAAE2JmdENvZWZmaWNpZW50QWRtaW4GBwUAAAALcmVzZXRSZXN1bHQDCQAAZgAAAAIFAAAAEHVwZGF0ZVZvdGVzQ291bnQFAAAAE2JmdENvZWZmaWNpZW50QWRtaW4JAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFFNjcmlwdFVwZGF0ZUJsb2NrS2V5AwkAAGYAAAACBQAAABB1cGRhdGVWb3Rlc0NvdW50BQAAABNiZnRDb2VmZmljaWVudEFkbWluCQAAZAAAAAIFAAAABmhlaWdodAUAAAAUc2NyaXB0VXBkYXRlSW50ZXJ2YWwFAAAAEXNjcmlwdFVwZGF0ZUJsb2NrBQAAAAtyZXNldFJlc3VsdAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASQmxvY2tFeHBpcmVWb3RlS2V5AwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAD2Jsb2NrRXhwaXJlVm90ZQkAAGQAAAACBQAAAAZoZWlnaHQFAAAADHZvdGVJbnRlcnZhbAUAAAAPYmxvY2tFeHBpcmVWb3RlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0QWRtaW5Wb3RlQWN0aW9uS2V5AAAAAQUAAAAHYWNjb3VudAUAAAAGYWN0aW9uBQAAAANuaWwAAAAAwuWGFQ==", "chainId": 84, "height": 766734, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func getNumberByKey (key) = match getInteger(this, key) {
5+ case a: Int =>
6+ a
7+ case _ =>
8+ 0
9+}
10+
11+
12+func getStringByKey (key) = match getString(this, key) {
13+ case a: String =>
14+ a
15+ case _ =>
16+ ""
17+}
18+
19+
20+func getBoolByKey (key) = match getBoolean(this, key) {
21+ case a: Boolean =>
22+ a
23+ case _ =>
24+ false
25+}
26+
27+
28+func getNumberByAddressAndKey (address,key) = match getInteger(address, key) {
29+ case a: Int =>
30+ a
31+ case _ =>
32+ 0
33+}
34+
35+
36+func getStringByAddressAndKey (address,key) = match getString(address, key) {
37+ case a: String =>
38+ a
39+ case _ =>
40+ ""
41+}
42+
43+
44+func dropElementInJsonArray (array,element) = {
45+ let splitedArray = split(array, element)
46+ if ((take(splitedArray[1], 1) == ","))
47+ then (splitedArray[0] + drop(splitedArray[1], 1))
48+ else (dropRight(splitedArray[0], 1) + splitedArray[1])
49+ }
50+
51+
52+func convertJsonArrayToList (jsonArray) = split(jsonArray, ",")
53+
54+
55+let BLOCK = "block"
56+
57+let UNBLOCK = "unblock"
58+
59+let UPDATE = "update"
60+
61+let OraclesKey = "oracles"
62+
63+let AdminsKey = "admins"
64+
65+let VoteIntervalKey = "vote_interval"
66+
67+let CoefficientOracleKey = "coefficient_oracle"
68+
69+let CoefficientAdminKey = "coefficient_admin"
70+
71+let ScriptUpdateIntervalKey = "script_update_interval"
72+
73+let ProvidingIntervalKey = "providing_interval"
74+
75+let PriceKey = "price"
76+
77+let PriceOffsetKey = "price_offset"
78+
79+let IsPricePendingKey = "is_pending_price"
80+
81+let IsBlockedKey = "is_blocked"
82+
83+let OracleIsProvideKey = "oracle_is_provide_"
84+
85+let OracleProvidePriceKey = "oracle_price_provide_"
86+
87+let AdminVoteKey = "admin_vote_"
88+
89+let ActionKey = "action"
90+
91+let BlockExpireProvidingKey = "providing_expire_block"
92+
93+let BlackSwarmPriceKey = "black_swarm_price"
94+
95+let BlockExpireVoteKey = "vote_expire_block"
96+
97+let ScriptUpdateBlockKey = "script_update_block"
98+
99+let PriceIndexKey = "price_index"
100+
101+func getOracleIsProvideKey (owner) = (OracleIsProvideKey + owner)
102+
103+
104+func getOracleProvidePriceKey (owner) = (OracleProvidePriceKey + owner)
105+
106+
107+func getAdminVoteKey (owner) = (AdminVoteKey + owner)
108+
109+
110+func getAdminVoteActionKey (owner) = ((getAdminVoteKey(owner) + "_") + ActionKey)
111+
112+
113+func getBlackSwarmPriceKey (block) = ((BlackSwarmPriceKey + "_") + toString(block))
114+
115+
116+func getPriceHistoryKey (block) = ((PriceKey + "_") + toString(block))
117+
118+
119+func getHeightPriceByIndexKey (index) = ((PriceIndexKey + "_") + toString(index))
120+
121+
122+let price = getNumberByKey(PriceKey)
123+
124+let priceIndex = getNumberByKey(PriceIndexKey)
125+
126+let providingInterval = getNumberByKey(ProvidingIntervalKey)
127+
128+let blockExpireProviding = getNumberByKey(BlockExpireProvidingKey)
129+
130+let blockExpireVote = getNumberByKey(BlockExpireVoteKey)
131+
132+let scriptUpdateBlock = getNumberByKey(ScriptUpdateBlockKey)
133+
134+let scriptUpdateInterval = getNumberByKey(ScriptUpdateIntervalKey)
135+
136+let isPricePending = getBoolByKey(IsPricePendingKey)
137+
138+let isBlocked = getBoolByKey(IsBlockedKey)
139+
140+let bftCoefficientOracle = getNumberByKey(CoefficientOracleKey)
141+
142+let bftCoefficientAdmin = getNumberByKey(CoefficientAdminKey)
143+
144+let percentPriceOffset = getNumberByKey(PriceOffsetKey)
145+
146+let voteInterval = getNumberByKey(VoteIntervalKey)
147+
148+let oracles = getStringByKey(OraclesKey)
149+
150+let admins = getStringByKey(AdminsKey)
151+
152+let oraclesList = convertJsonArrayToList(oracles)
153+
154+let adminsList = convertJsonArrayToList(admins)
155+
156+func getAdminVoteAction (owner) = getStringByKey(getAdminVoteActionKey(owner))
157+
158+
159+func isOracleProvide (owner) = getBoolByKey(getOracleIsProvideKey(owner))
160+
161+
162+func isOracleProvideInt (owner) = if (isOracleProvide(owner))
163+ then 1
164+ else 0
165+
166+
167+func getOracleProvidePrice (owner) = getNumberByKey(getOracleProvidePriceKey(owner))
168+
169+
170+func isOracle (address) = isDefined(indexOf(oracles, address))
171+
172+
173+func isAdmin (address) = isDefined(indexOf(admins, address))
174+
175+
176+func sumOraclePrice (base,address) = (base + (getOracleProvidePrice(address) * isOracleProvideInt(address)))
177+
178+
179+func filterAdminsVoteByAction (result,address,action) = address :: result
180+
181+
182+func filterAdminsVoteByBlockAction (result,address) = filterAdminsVoteByAction(result, address, BLOCK)
183+
184+
185+func filterAdminsVoteByUnblockAction (result,address) = filterAdminsVoteByAction(result, address, UNBLOCK)
186+
187+
188+func filterAdminsVoteByUpdateAction (result,address) = filterAdminsVoteByAction(result, address, UPDATE)
189+
190+
191+@Callable(i)
192+func setCurrentPrice (newPrice) = {
193+ let account = toString(i.caller)
194+ let isOracleProvideList = [isOracleProvide(oraclesList[0]), isOracleProvide(oraclesList[1]), isOracleProvide(oraclesList[2]), isOracleProvide(oraclesList[3]), isOracleProvide(oraclesList[4])]
195+ let priceProvidingCount = ((((((if (isOracleProvideList[0])
196+ then 1
197+ else 0) + (if (isOracleProvideList[1])
198+ then 1
199+ else 0)) + (if (isOracleProvideList[2])
200+ then 1
201+ else 0)) + (if (isOracleProvideList[3])
202+ then 1
203+ else 0)) + (if (isOracleProvideList[4])
204+ then 1
205+ else 0)) + 1)
206+ if (isBlocked)
207+ then throw("contract is blocked")
208+ else if (!(isOracle(account)))
209+ then throw("permission denied")
210+ else if (if ((blockExpireProviding >= height))
211+ then isOracleProvide(account)
212+ else false)
213+ then throw("price is already provided")
214+ else if (if ((height > blockExpireProviding))
215+ then isPricePending
216+ else false)
217+ then throw("use finalizeCurrentPrice")
218+ else WriteSet([DataEntry(getOracleIsProvideKey(oraclesList[0]), if ((height > blockExpireProviding))
219+ then false
220+ else isOracleProvideList[0]), DataEntry(getOracleIsProvideKey(oraclesList[1]), if ((height > blockExpireProviding))
221+ then false
222+ else isOracleProvideList[1]), DataEntry(getOracleIsProvideKey(oraclesList[2]), if ((height > blockExpireProviding))
223+ then false
224+ else isOracleProvideList[2]), DataEntry(getOracleIsProvideKey(oraclesList[3]), if ((height > blockExpireProviding))
225+ then false
226+ else isOracleProvideList[3]), DataEntry(getOracleIsProvideKey(oraclesList[4]), if ((height > blockExpireProviding))
227+ then false
228+ else isOracleProvideList[4]), DataEntry(getOracleIsProvideKey(account), true), DataEntry(getOracleProvidePriceKey(account), newPrice), DataEntry(BlockExpireProvidingKey, if ((height > blockExpireProviding))
229+ then (height + providingInterval)
230+ else blockExpireProviding), DataEntry(IsPricePendingKey, if (if ((blockExpireProviding >= height))
231+ then (priceProvidingCount >= bftCoefficientOracle)
232+ else false)
233+ then true
234+ else isPricePending)])
235+ }
236+
237+
238+
239+@Callable(i)
240+func finalizeCurrentPrice () = {
241+ let isOracleProvideList = [isOracleProvide(oraclesList[0]), isOracleProvide(oraclesList[1]), isOracleProvide(oraclesList[2]), isOracleProvide(oraclesList[3]), isOracleProvide(oraclesList[4])]
242+ let priceProvidingCount = (((((if (isOracleProvideList[0])
243+ then 1
244+ else 0) + (if (isOracleProvideList[1])
245+ then 1
246+ else 0)) + (if (isOracleProvideList[2])
247+ then 1
248+ else 0)) + (if (isOracleProvideList[3])
249+ then 1
250+ else 0)) + (if (isOracleProvideList[4])
251+ then 1
252+ else 0))
253+ let priceSum = (((((getOracleProvidePrice(oraclesList[0]) * (if (isOracleProvideList[0])
254+ then 1
255+ else 0)) + (getOracleProvidePrice(oraclesList[1]) * (if (isOracleProvideList[1])
256+ then 1
257+ else 0))) + (getOracleProvidePrice(oraclesList[2]) * (if (isOracleProvideList[2])
258+ then 1
259+ else 0))) + (getOracleProvidePrice(oraclesList[3]) * (if (isOracleProvideList[3])
260+ then 1
261+ else 0))) + (getOracleProvidePrice(oraclesList[4]) * (if (isOracleProvideList[4])
262+ then 1
263+ else 0)))
264+ let newPrice = (priceSum / priceProvidingCount)
265+ if (isBlocked)
266+ then throw("contract is blocked")
267+ else if (if (!(isPricePending))
268+ then true
269+ else (blockExpireProviding >= height))
270+ then throw("wait for the end of the price providing")
271+ else if ((bftCoefficientOracle > priceProvidingCount))
272+ then throw("3/5 oracles need to set a price")
273+ else if (if ((newPrice >= (price + ((price * percentPriceOffset) / 100))))
274+ then true
275+ else ((price - ((price * percentPriceOffset) / 100)) >= newPrice))
276+ then WriteSet([DataEntry(IsBlockedKey, true), DataEntry(getBlackSwarmPriceKey(height), newPrice)])
277+ else {
278+ let newPriceIndex = (priceIndex + 1)
279+ WriteSet([DataEntry(PriceKey, newPrice), DataEntry(getPriceHistoryKey(height), newPrice), DataEntry(IsPricePendingKey, false), DataEntry(PriceIndexKey, newPriceIndex), DataEntry(getHeightPriceByIndexKey(newPriceIndex), height)])
280+ }
281+ }
282+
283+
284+
285+@Callable(i)
286+func vote (action) = {
287+ let account = toString(i.caller)
288+ let adminsListWithoutAccount = convertJsonArrayToList(dropElementInJsonArray(admins, account))
289+ let lastAction = getAdminVoteAction(account)
290+ let blockVotes = {
291+ let $list98299897 = adminsListWithoutAccount
292+ let $size98299897 = size($list98299897)
293+ let $acc098299897 = nil
294+ if (($size98299897 == 0))
295+ then $acc098299897
296+ else {
297+ let $acc198299897 = filterAdminsVoteByBlockAction($acc098299897, $list98299897[0])
298+ if (($size98299897 == 1))
299+ then $acc198299897
300+ else {
301+ let $acc298299897 = filterAdminsVoteByBlockAction($acc198299897, $list98299897[1])
302+ if (($size98299897 == 2))
303+ then $acc298299897
304+ else {
305+ let $acc398299897 = filterAdminsVoteByBlockAction($acc298299897, $list98299897[2])
306+ if (($size98299897 == 3))
307+ then $acc398299897
308+ else {
309+ let $acc498299897 = filterAdminsVoteByBlockAction($acc398299897, $list98299897[3])
310+ if (($size98299897 == 4))
311+ then $acc498299897
312+ else {
313+ let $acc598299897 = filterAdminsVoteByBlockAction($acc498299897, $list98299897[4])
314+ if (($size98299897 == 5))
315+ then $acc598299897
316+ else {
317+ let $acc698299897 = filterAdminsVoteByBlockAction($acc598299897, $list98299897[5])
318+ throw("List size exceed 5")
319+ }
320+ }
321+ }
322+ }
323+ }
324+ }
325+ }
326+ let unblockVotes = {
327+ let $list99219991 = adminsListWithoutAccount
328+ let $size99219991 = size($list99219991)
329+ let $acc099219991 = nil
330+ if (($size99219991 == 0))
331+ then $acc099219991
332+ else {
333+ let $acc199219991 = filterAdminsVoteByUnblockAction($acc099219991, $list99219991[0])
334+ if (($size99219991 == 1))
335+ then $acc199219991
336+ else {
337+ let $acc299219991 = filterAdminsVoteByUnblockAction($acc199219991, $list99219991[1])
338+ if (($size99219991 == 2))
339+ then $acc299219991
340+ else {
341+ let $acc399219991 = filterAdminsVoteByUnblockAction($acc299219991, $list99219991[2])
342+ if (($size99219991 == 3))
343+ then $acc399219991
344+ else {
345+ let $acc499219991 = filterAdminsVoteByUnblockAction($acc399219991, $list99219991[3])
346+ if (($size99219991 == 4))
347+ then $acc499219991
348+ else {
349+ let $acc599219991 = filterAdminsVoteByUnblockAction($acc499219991, $list99219991[4])
350+ if (($size99219991 == 5))
351+ then $acc599219991
352+ else {
353+ let $acc699219991 = filterAdminsVoteByUnblockAction($acc599219991, $list99219991[5])
354+ throw("List size exceed 5")
355+ }
356+ }
357+ }
358+ }
359+ }
360+ }
361+ }
362+ let updateVotes = {
363+ let $list1001410083 = adminsListWithoutAccount
364+ let $size1001410083 = size($list1001410083)
365+ let $acc01001410083 = nil
366+ if (($size1001410083 == 0))
367+ then $acc01001410083
368+ else {
369+ let $acc11001410083 = filterAdminsVoteByUpdateAction($acc01001410083, $list1001410083[0])
370+ if (($size1001410083 == 1))
371+ then $acc11001410083
372+ else {
373+ let $acc21001410083 = filterAdminsVoteByUpdateAction($acc11001410083, $list1001410083[1])
374+ if (($size1001410083 == 2))
375+ then $acc21001410083
376+ else {
377+ let $acc31001410083 = filterAdminsVoteByUpdateAction($acc21001410083, $list1001410083[2])
378+ if (($size1001410083 == 3))
379+ then $acc31001410083
380+ else {
381+ let $acc41001410083 = filterAdminsVoteByUpdateAction($acc31001410083, $list1001410083[3])
382+ if (($size1001410083 == 4))
383+ then $acc41001410083
384+ else {
385+ let $acc51001410083 = filterAdminsVoteByUpdateAction($acc41001410083, $list1001410083[4])
386+ if (($size1001410083 == 5))
387+ then $acc51001410083
388+ else {
389+ let $acc61001410083 = filterAdminsVoteByUpdateAction($acc51001410083, $list1001410083[5])
390+ throw("List size exceed 5")
391+ }
392+ }
393+ }
394+ }
395+ }
396+ }
397+ }
398+ let blockVoteCount = (size(blockVotes) + (if ((action == BLOCK))
399+ then 1
400+ else 0))
401+ let unblockVoteCount = (size(unblockVotes) + (if ((action == UNBLOCK))
402+ then 1
403+ else 0))
404+ let updateVotesCount = (size(updateVotes) + (if ((action == UPDATE))
405+ then 1
406+ else 0))
407+ let resetResult = [DataEntry(BlockExpireVoteKey, 0), DataEntry(BlockExpireProvidingKey, 0), DataEntry(getAdminVoteActionKey(adminsListWithoutAccount[0]), ""), DataEntry(getAdminVoteActionKey(adminsListWithoutAccount[1]), ""), DataEntry(getAdminVoteActionKey(adminsListWithoutAccount[2]), ""), DataEntry(getAdminVoteActionKey(adminsListWithoutAccount[3]), "")]
408+ if (if ((blockVoteCount >= bftCoefficientAdmin))
409+ then true
410+ else (unblockVoteCount >= bftCoefficientAdmin))
411+ then WriteSet([DataEntry(IsPricePendingKey, false), DataEntry(IsBlockedKey, if ((blockVoteCount >= bftCoefficientAdmin))
412+ then true
413+ else false)] :: resetResult)
414+ else if ((updateVotesCount > bftCoefficientAdmin))
415+ then WriteSet(DataEntry(ScriptUpdateBlockKey, if ((updateVotesCount > bftCoefficientAdmin))
416+ then (height + scriptUpdateInterval)
417+ else scriptUpdateBlock) :: resetResult)
418+ else WriteSet([DataEntry(BlockExpireVoteKey, if ((height > blockExpireVote))
419+ then (height + voteInterval)
420+ else blockExpireVote), DataEntry(getAdminVoteActionKey(account), action)])
421+ }
422+
423+

github/deemru/w8io/c3f4982 
24.45 ms