tx · Ee65Gh3Eo4vPVULKuxe6FCWC8yC6pkCbfo5hDMPMt2zc
3N911L1LqZs6xaZsC5skLHrU3XfDYZG8wxz: -0.01400000 Waves
2019.11.15 14:43 [766151] smart account 3N911L1LqZs6xaZsC5skLHrU3XfDYZG8wxz > SELF 0.00000000 Waves
{
"type": 13,
"id": "Ee65Gh3Eo4vPVULKuxe6FCWC8yC6pkCbfo5hDMPMt2zc",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1573818273216,
"version": 1,
"sender": "3N911L1LqZs6xaZsC5skLHrU3XfDYZG8wxz",
"senderPublicKey": "D1q54i7R33U4bjGXmo1FDbSyitrrvUj5dcrLQ493WX9S",
"proofs": [
"CFMyoqd2AqKTqdHMYpvTJCLeDpKRKoaWtHEG2KocSr9BEiCTuQmExhb6Fh3BqbMSVmJ1V1LGa9q3ZWdyHDwv1LR"
],
"script": "base64:AAIDAAAAAAAAAA4IARIDCgEBEgASAwoBCAAAAEEBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAABAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBwEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABZkcm9wRWxlbWVudEluSnNvbkFycmF5AAAAAgAAAAVhcnJheQAAAAdlbGVtZW50BAAAAAxzcGxpdGVkQXJyYXkJAAS1AAAAAgUAAAAFYXJyYXkFAAAAB2VsZW1lbnQDCQAAAAAAAAIJAAEvAAAAAgkAAZEAAAACBQAAAAxzcGxpdGVkQXJyYXkAAAAAAAAAAAEAAAAAAAAAAAECAAAAASwJAAEsAAAAAgkAAZEAAAACBQAAAAxzcGxpdGVkQXJyYXkAAAAAAAAAAAAJAAEwAAAAAgkAAZEAAAACBQAAAAxzcGxpdGVkQXJyYXkAAAAAAAAAAAEAAAAAAAAAAAEJAAEsAAAAAgkBAAAACWRyb3BSaWdodAAAAAIJAAGRAAAAAgUAAAAMc3BsaXRlZEFycmF5AAAAAAAAAAAAAAAAAAAAAAABCQABkQAAAAIFAAAADHNwbGl0ZWRBcnJheQAAAAAAAAAAAQEAAAAWY29udmVydEpzb25BcnJheVRvTGlzdAAAAAEAAAAJanNvbkFycmF5CQAEtQAAAAIFAAAACWpzb25BcnJheQIAAAABLAAAAAAFQkxPQ0sCAAAABWJsb2NrAAAAAAdVTkJMT0NLAgAAAAd1bmJsb2NrAAAAAAZVUERBVEUCAAAABnVwZGF0ZQAAAAAKT3JhY2xlc0tleQIAAAAHb3JhY2xlcwAAAAAJQWRtaW5zS2V5AgAAAAZhZG1pbnMAAAAAD1ZvdGVJbnRlcnZhbEtleQIAAAANdm90ZV9pbnRlcnZhbAAAAAAUQ29lZmZpY2llbnRPcmFjbGVLZXkCAAAAEmNvZWZmaWNpZW50X29yYWNsZQAAAAATQ29lZmZpY2llbnRBZG1pbktleQIAAAARY29lZmZpY2llbnRfYWRtaW4AAAAAF1NjcmlwdFVwZGF0ZUludGVydmFsS2V5AgAAABZzY3JpcHRfdXBkYXRlX2ludGVydmFsAAAAABRQcm92aWRpbmdJbnRlcnZhbEtleQIAAAAScHJvdmlkaW5nX2ludGVydmFsAAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAADlByaWNlT2Zmc2V0S2V5AgAAAAxwcmljZV9vZmZzZXQAAAAAEUlzUHJpY2VQZW5kaW5nS2V5AgAAABBpc19wZW5kaW5nX3ByaWNlAAAAAAxJc0Jsb2NrZWRLZXkCAAAACmlzX2Jsb2NrZWQAAAAAEk9yYWNsZUlzUHJvdmlkZUtleQIAAAASb3JhY2xlX2lzX3Byb3ZpZGVfAAAAABVPcmFjbGVQcm92aWRlUHJpY2VLZXkCAAAAFW9yYWNsZV9wcmljZV9wcm92aWRlXwAAAAAMQWRtaW5Wb3RlS2V5AgAAAAthZG1pbl92b3RlXwAAAAAJQWN0aW9uS2V5AgAAAAZhY3Rpb24AAAAAF0Jsb2NrRXhwaXJlUHJvdmlkaW5nS2V5AgAAABZwcm92aWRpbmdfZXhwaXJlX2Jsb2NrAAAAABJCbGFja1N3YXJtUHJpY2VLZXkCAAAAEWJsYWNrX3N3YXJtX3ByaWNlAAAAABJCbG9ja0V4cGlyZVZvdGVLZXkCAAAAEXZvdGVfZXhwaXJlX2Jsb2NrAAAAABRTY3JpcHRVcGRhdGVCbG9ja0tleQIAAAATc2NyaXB0X3VwZGF0ZV9ibG9jawAAAAANUHJpY2VJbmRleEtleQIAAAALcHJpY2VfaW5kZXgBAAAAFWdldE9yYWNsZUlzUHJvdmlkZUtleQAAAAEAAAAFb3duZXIJAAEsAAAAAgUAAAAST3JhY2xlSXNQcm92aWRlS2V5BQAAAAVvd25lcgEAAAAYZ2V0T3JhY2xlUHJvdmlkZVByaWNlS2V5AAAAAQAAAAVvd25lcgkAASwAAAACBQAAABVPcmFjbGVQcm92aWRlUHJpY2VLZXkFAAAABW93bmVyAQAAAA9nZXRBZG1pblZvdGVLZXkAAAABAAAABW93bmVyCQABLAAAAAIFAAAADEFkbWluVm90ZUtleQUAAAAFb3duZXIBAAAAFWdldEFkbWluVm90ZUFjdGlvbktleQAAAAEAAAAFb3duZXIJAAEsAAAAAgkAASwAAAACCQEAAAAPZ2V0QWRtaW5Wb3RlS2V5AAAAAQUAAAAFb3duZXICAAAAAV8FAAAACUFjdGlvbktleQEAAAAVZ2V0QmxhY2tTd2FybVByaWNlS2V5AAAAAQAAAAVibG9jawkAASwAAAACCQABLAAAAAIFAAAAEkJsYWNrU3dhcm1QcmljZUtleQIAAAABXwkAAaQAAAABBQAAAAVibG9jawEAAAASZ2V0UHJpY2VIaXN0b3J5S2V5AAAAAQAAAAVibG9jawkAASwAAAACCQABLAAAAAIFAAAACFByaWNlS2V5AgAAAAFfCQABpAAAAAEFAAAABWJsb2NrAQAAABhnZXRIZWlnaHRQcmljZUJ5SW5kZXhLZXkAAAABAAAABWluZGV4CQABLAAAAAIJAAEsAAAAAgUAAAANUHJpY2VJbmRleEtleQIAAAABXwkAAaQAAAABBQAAAAVpbmRleAAAAAAFcHJpY2UJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAACFByaWNlS2V5AAAAAApwcmljZUluZGV4CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAAA1QcmljZUluZGV4S2V5AAAAABFwcm92aWRpbmdJbnRlcnZhbAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQUAAAAUUHJvdmlkaW5nSW50ZXJ2YWxLZXkAAAAAFGJsb2NrRXhwaXJlUHJvdmlkaW5nCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABdCbG9ja0V4cGlyZVByb3ZpZGluZ0tleQAAAAAPYmxvY2tFeHBpcmVWb3RlCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABJCbG9ja0V4cGlyZVZvdGVLZXkAAAAAEXNjcmlwdFVwZGF0ZUJsb2NrCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABRTY3JpcHRVcGRhdGVCbG9ja0tleQAAAAAUc2NyaXB0VXBkYXRlSW50ZXJ2YWwJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAAF1NjcmlwdFVwZGF0ZUludGVydmFsS2V5AAAAAA5pc1ByaWNlUGVuZGluZwkBAAAADGdldEJvb2xCeUtleQAAAAEFAAAAEUlzUHJpY2VQZW5kaW5nS2V5AAAAAAlpc0Jsb2NrZWQJAQAAAAxnZXRCb29sQnlLZXkAAAABBQAAAAxJc0Jsb2NrZWRLZXkAAAAAFGJmdENvZWZmaWNpZW50T3JhY2xlCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAABRDb2VmZmljaWVudE9yYWNsZUtleQAAAAATYmZ0Q29lZmZpY2llbnRBZG1pbgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQUAAAATQ29lZmZpY2llbnRBZG1pbktleQAAAAAScGVyY2VudFByaWNlT2Zmc2V0CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAAA5QcmljZU9mZnNldEtleQAAAAAMdm90ZUludGVydmFsCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABBQAAAA9Wb3RlSW50ZXJ2YWxLZXkAAAAAB29yYWNsZXMJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAACk9yYWNsZXNLZXkAAAAABmFkbWlucwkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAJQWRtaW5zS2V5AAAAAAtvcmFjbGVzTGlzdAkBAAAAFmNvbnZlcnRKc29uQXJyYXlUb0xpc3QAAAABBQAAAAdvcmFjbGVzAAAAAAphZG1pbnNMaXN0CQEAAAAWY29udmVydEpzb25BcnJheVRvTGlzdAAAAAEFAAAABmFkbWlucwEAAAASZ2V0QWRtaW5Wb3RlQWN0aW9uAAAAAQAAAAVvd25lcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAFWdldEFkbWluVm90ZUFjdGlvbktleQAAAAEFAAAABW93bmVyAQAAAA9pc09yYWNsZVByb3ZpZGUAAAABAAAABW93bmVyCQEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQkBAAAAFWdldE9yYWNsZUlzUHJvdmlkZUtleQAAAAEFAAAABW93bmVyAQAAABJpc09yYWNsZVByb3ZpZGVJbnQAAAABAAAABW93bmVyAwkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEFAAAABW93bmVyAAAAAAAAAAABAAAAAAAAAAAAAQAAABVnZXRPcmFjbGVQcm92aWRlUHJpY2UAAAABAAAABW93bmVyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAYZ2V0T3JhY2xlUHJvdmlkZVByaWNlS2V5AAAAAQUAAAAFb3duZXIBAAAACGlzT3JhY2xlAAAAAQAAAAdhZGRyZXNzCQEAAAAJaXNEZWZpbmVkAAAAAQkABLMAAAACBQAAAAdvcmFjbGVzBQAAAAdhZGRyZXNzAQAAAAdpc0FkbWluAAAAAQAAAAdhZGRyZXNzCQEAAAAJaXNEZWZpbmVkAAAAAQkABLMAAAACBQAAAAZhZG1pbnMFAAAAB2FkZHJlc3MBAAAADnN1bU9yYWNsZVByaWNlAAAAAgAAAARiYXNlAAAAB2FkZHJlc3MJAABkAAAAAgUAAAAEYmFzZQkAAGgAAAACCQEAAAAVZ2V0T3JhY2xlUHJvdmlkZVByaWNlAAAAAQUAAAAHYWRkcmVzcwkBAAAAEmlzT3JhY2xlUHJvdmlkZUludAAAAAEFAAAAB2FkZHJlc3MBAAAAGGZpbHRlckFkbWluc1ZvdGVCeUFjdGlvbgAAAAMAAAAGcmVzdWx0AAAAB2FkZHJlc3MAAAAGYWN0aW9uCQAETAAAAAIFAAAAB2FkZHJlc3MFAAAABnJlc3VsdAEAAAAdZmlsdGVyQWRtaW5zVm90ZUJ5QmxvY2tBY3Rpb24AAAACAAAABnJlc3VsdAAAAAdhZGRyZXNzCQEAAAAYZmlsdGVyQWRtaW5zVm90ZUJ5QWN0aW9uAAAAAwUAAAAGcmVzdWx0BQAAAAdhZGRyZXNzBQAAAAVCTE9DSwEAAAAfZmlsdGVyQWRtaW5zVm90ZUJ5VW5ibG9ja0FjdGlvbgAAAAIAAAAGcmVzdWx0AAAAB2FkZHJlc3MJAQAAABhmaWx0ZXJBZG1pbnNWb3RlQnlBY3Rpb24AAAADBQAAAAZyZXN1bHQFAAAAB2FkZHJlc3MFAAAAB1VOQkxPQ0sBAAAAHmZpbHRlckFkbWluc1ZvdGVCeVVwZGF0ZUFjdGlvbgAAAAIAAAAGcmVzdWx0AAAAB2FkZHJlc3MJAQAAABhmaWx0ZXJBZG1pbnNWb3RlQnlBY3Rpb24AAAADBQAAAAZyZXN1bHQFAAAAB2FkZHJlc3MFAAAABlVQREFURQAAAAMAAAABaQEAAAAPc2V0Q3VycmVudFByaWNlAAAAAQAAAAhuZXdQcmljZQQAAAAHYWNjb3VudAkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAAJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAEJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAIJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAMJAARMAAAAAgkBAAAAD2lzT3JhY2xlUHJvdmlkZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAQFAAAAA25pbAQAAAATcHJpY2VQcm92aWRpbmdDb3VudAkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIDCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAMAAAAAAAAAAAEAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAAATY29udHJhY3QgaXMgYmxvY2tlZAMJAQAAAAEhAAAAAQkBAAAACGlzT3JhY2xlAAAAAQUAAAAHYWNjb3VudAkAAAIAAAABAgAAABFwZXJtaXNzaW9uIGRlbmllZAMDCQAAZwAAAAIFAAAAFGJsb2NrRXhwaXJlUHJvdmlkaW5nBQAAAAZoZWlnaHQJAQAAAA9pc09yYWNsZVByb3ZpZGUAAAABBQAAAAdhY2NvdW50BwkAAAIAAAABAgAAABlwcmljZSBpcyBhbHJlYWR5IHByb3ZpZGVkAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABRibG9ja0V4cGlyZVByb3ZpZGluZwUAAAAOaXNQcmljZVBlbmRpbmcHCQAAAgAAAAECAAAAGHVzZSBmaW5hbGl6ZUN1cnJlbnRQcmljZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldE9yYWNsZUlzUHJvdmlkZUtleQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAADCQAAZgAAAAIFAAAABmhlaWdodAUAAAAUYmxvY2tFeHBpcmVQcm92aWRpbmcHCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRPcmFjbGVJc1Byb3ZpZGVLZXkAAAABCQABkQAAAAIFAAAAC29yYWNsZXNMaXN0AAAAAAAAAAABAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAFGJsb2NrRXhwaXJlUHJvdmlkaW5nBwkAAZEAAAACBQAAABNpc09yYWNsZVByb3ZpZGVMaXN0AAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0T3JhY2xlSXNQcm92aWRlS2V5AAAAAQkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAgMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABRibG9ja0V4cGlyZVByb3ZpZGluZwcJAAGRAAAAAgUAAAATaXNPcmFjbGVQcm92aWRlTGlzdAAAAAAAAAAAAgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldE9yYWNsZUlzUHJvdmlkZUtleQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAMDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAUYmxvY2tFeHBpcmVQcm92aWRpbmcHCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRPcmFjbGVJc1Byb3ZpZGVLZXkAAAABCQABkQAAAAIFAAAAC29yYWNsZXNMaXN0AAAAAAAAAAAEAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAFGJsb2NrRXhwaXJlUHJvdmlkaW5nBwkAAZEAAAACBQAAABNpc09yYWNsZVByb3ZpZGVMaXN0AAAAAAAAAAAECQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0T3JhY2xlSXNQcm92aWRlS2V5AAAAAQUAAAAHYWNjb3VudAYJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABhnZXRPcmFjbGVQcm92aWRlUHJpY2VLZXkAAAABBQAAAAdhY2NvdW50BQAAAAhuZXdQcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAXQmxvY2tFeHBpcmVQcm92aWRpbmdLZXkDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAUYmxvY2tFeHBpcmVQcm92aWRpbmcJAABkAAAAAgUAAAAGaGVpZ2h0BQAAABFwcm92aWRpbmdJbnRlcnZhbAUAAAAUYmxvY2tFeHBpcmVQcm92aWRpbmcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEUlzUHJpY2VQZW5kaW5nS2V5AwMJAABnAAAAAgUAAAAUYmxvY2tFeHBpcmVQcm92aWRpbmcFAAAABmhlaWdodAkAAGcAAAACBQAAABNwcmljZVByb3ZpZGluZ0NvdW50BQAAABRiZnRDb2VmZmljaWVudE9yYWNsZQcGBQAAAA5pc1ByaWNlUGVuZGluZwUAAAADbmlsAAAAAWkBAAAAFGZpbmFsaXplQ3VycmVudFByaWNlAAAAAAQAAAATaXNPcmFjbGVQcm92aWRlTGlzdAkABEwAAAACCQEAAAAPaXNPcmFjbGVQcm92aWRlAAAAAQkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAAkABEwAAAACCQEAAAAPaXNPcmFjbGVQcm92aWRlAAAAAQkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAQkABEwAAAACCQEAAAAPaXNPcmFjbGVQcm92aWRlAAAAAQkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAgkABEwAAAACCQEAAAAPaXNPcmFjbGVQcm92aWRlAAAAAQkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAAAwkABEwAAAACCQEAAAAPaXNPcmFjbGVQcm92aWRlAAAAAQkAAZEAAAACBQAAAAtvcmFjbGVzTGlzdAAAAAAAAAAABAUAAAADbmlsBAAAABNwcmljZVByb3ZpZGluZ0NvdW50CQAAZAAAAAIJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIDCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAMAAAAAAAAAAAEAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAEAAAACHByaWNlU3VtCQAAZAAAAAIJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIJAABoAAAAAgkBAAAAFWdldE9yYWNsZVByb3ZpZGVQcmljZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAADCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAJAABoAAAAAgkBAAAAFWdldE9yYWNsZVByb3ZpZGVQcmljZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAEDCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAAJAABoAAAAAgkBAAAAFWdldE9yYWNsZVByb3ZpZGVQcmljZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAIDCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAAAAJAABoAAAAAgkBAAAAFWdldE9yYWNsZVByb3ZpZGVQcmljZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAMDCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAMAAAAAAAAAAAEAAAAAAAAAAAAJAABoAAAAAgkBAAAAFWdldE9yYWNsZVByb3ZpZGVQcmljZQAAAAEJAAGRAAAAAgUAAAALb3JhY2xlc0xpc3QAAAAAAAAAAAQDCQABkQAAAAIFAAAAE2lzT3JhY2xlUHJvdmlkZUxpc3QAAAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAEAAAACG5ld1ByaWNlCQAAaQAAAAIFAAAACHByaWNlU3VtBQAAABNwcmljZVByb3ZpZGluZ0NvdW50AwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAE2NvbnRyYWN0IGlzIGJsb2NrZWQDAwkBAAAAASEAAAABBQAAAA5pc1ByaWNlUGVuZGluZwYJAABnAAAAAgUAAAAUYmxvY2tFeHBpcmVQcm92aWRpbmcFAAAABmhlaWdodAkAAAIAAAABAgAAACd3YWl0IGZvciB0aGUgZW5kIG9mIHRoZSBwcmljZSBwcm92aWRpbmcDCQAAZgAAAAIFAAAAFGJmdENvZWZmaWNpZW50T3JhY2xlBQAAABNwcmljZVByb3ZpZGluZ0NvdW50CQAAAgAAAAECAAAAHzMvNSBvcmFjbGVzIG5lZWQgdG8gc2V0IGEgcHJpY2UDAwkAAGcAAAACBQAAAAhuZXdQcmljZQkAAGQAAAACBQAAAAVwcmljZQkAAGkAAAACCQAAaAAAAAIFAAAABXByaWNlBQAAABJwZXJjZW50UHJpY2VPZmZzZXQAAAAAAAAAAGQGCQAAZwAAAAIJAABlAAAAAgUAAAAFcHJpY2UJAABpAAAAAgkAAGgAAAACBQAAAAVwcmljZQUAAAAScGVyY2VudFByaWNlT2Zmc2V0AAAAAAAAAABkBQAAAAhuZXdQcmljZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAMSXNCbG9ja2VkS2V5BgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEJsYWNrU3dhcm1QcmljZUtleQAAAAEFAAAABmhlaWdodAUAAAAIbmV3UHJpY2UFAAAAA25pbAQAAAANbmV3UHJpY2VJbmRleAkAAGQAAAACBQAAAApwcmljZUluZGV4AAAAAAAAAAABCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAhQcmljZUtleQUAAAAIbmV3UHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRQcmljZUhpc3RvcnlLZXkAAAABBQAAAAZoZWlnaHQFAAAACG5ld1ByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABFJc1ByaWNlUGVuZGluZ0tleQcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADVByaWNlSW5kZXhLZXkFAAAADW5ld1ByaWNlSW5kZXgJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABhnZXRIZWlnaHRQcmljZUJ5SW5kZXhLZXkAAAABBQAAAA1uZXdQcmljZUluZGV4BQAAAAZoZWlnaHQFAAAAA25pbAAAAAFpAQAAAAR2b3RlAAAAAQAAAAZhY3Rpb24EAAAAB2FjY291bnQJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABhhZG1pbnNMaXN0V2l0aG91dEFjY291bnQJAQAAABZjb252ZXJ0SnNvbkFycmF5VG9MaXN0AAAAAQkBAAAAFmRyb3BFbGVtZW50SW5Kc29uQXJyYXkAAAACBQAAAAZhZG1pbnMFAAAAB2FjY291bnQEAAAACmxhc3RBY3Rpb24JAQAAABJnZXRBZG1pblZvdGVBY3Rpb24AAAABBQAAAAdhY2NvdW50BAAAAApibG9ja1ZvdGVzBAAAAA0kbGlzdDk4Mjk5ODk3BQAAABhhZG1pbnNMaXN0V2l0aG91dEFjY291bnQEAAAADSRzaXplOTgyOTk4OTcJAAGQAAAAAQUAAAANJGxpc3Q5ODI5OTg5NwQAAAANJGFjYzA5ODI5OTg5NwUAAAADbmlsAwkAAAAAAAACBQAAAA0kc2l6ZTk4Mjk5ODk3AAAAAAAAAAAABQAAAA0kYWNjMDk4Mjk5ODk3BAAAAA0kYWNjMTk4Mjk5ODk3CQEAAAAdZmlsdGVyQWRtaW5zVm90ZUJ5QmxvY2tBY3Rpb24AAAACBQAAAA0kYWNjMDk4Mjk5ODk3CQABkQAAAAIFAAAADSRsaXN0OTgyOTk4OTcAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplOTgyOTk4OTcAAAAAAAAAAAEFAAAADSRhY2MxOTgyOTk4OTcEAAAADSRhY2MyOTgyOTk4OTcJAQAAAB1maWx0ZXJBZG1pbnNWb3RlQnlCbG9ja0FjdGlvbgAAAAIFAAAADSRhY2MxOTgyOTk4OTcJAAGRAAAAAgUAAAANJGxpc3Q5ODI5OTg5NwAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemU5ODI5OTg5NwAAAAAAAAAAAgUAAAANJGFjYzI5ODI5OTg5NwQAAAANJGFjYzM5ODI5OTg5NwkBAAAAHWZpbHRlckFkbWluc1ZvdGVCeUJsb2NrQWN0aW9uAAAAAgUAAAANJGFjYzI5ODI5OTg5NwkAAZEAAAACBQAAAA0kbGlzdDk4Mjk5ODk3AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTk4Mjk5ODk3AAAAAAAAAAADBQAAAA0kYWNjMzk4Mjk5ODk3BAAAAA0kYWNjNDk4Mjk5ODk3CQEAAAAdZmlsdGVyQWRtaW5zVm90ZUJ5QmxvY2tBY3Rpb24AAAACBQAAAA0kYWNjMzk4Mjk5ODk3CQABkQAAAAIFAAAADSRsaXN0OTgyOTk4OTcAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplOTgyOTk4OTcAAAAAAAAAAAQFAAAADSRhY2M0OTgyOTk4OTcEAAAADSRhY2M1OTgyOTk4OTcJAQAAAB1maWx0ZXJBZG1pbnNWb3RlQnlCbG9ja0FjdGlvbgAAAAIFAAAADSRhY2M0OTgyOTk4OTcJAAGRAAAAAgUAAAANJGxpc3Q5ODI5OTg5NwAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemU5ODI5OTg5NwAAAAAAAAAABQUAAAANJGFjYzU5ODI5OTg5NwQAAAANJGFjYzY5ODI5OTg5NwkBAAAAHWZpbHRlckFkbWluc1ZvdGVCeUJsb2NrQWN0aW9uAAAAAgUAAAANJGFjYzU5ODI5OTg5NwkAAZEAAAACBQAAAA0kbGlzdDk4Mjk5ODk3AAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAAMdW5ibG9ja1ZvdGVzBAAAAA0kbGlzdDk5MjE5OTkxBQAAABhhZG1pbnNMaXN0V2l0aG91dEFjY291bnQEAAAADSRzaXplOTkyMTk5OTEJAAGQAAAAAQUAAAANJGxpc3Q5OTIxOTk5MQQAAAANJGFjYzA5OTIxOTk5MQUAAAADbmlsAwkAAAAAAAACBQAAAA0kc2l6ZTk5MjE5OTkxAAAAAAAAAAAABQAAAA0kYWNjMDk5MjE5OTkxBAAAAA0kYWNjMTk5MjE5OTkxCQEAAAAfZmlsdGVyQWRtaW5zVm90ZUJ5VW5ibG9ja0FjdGlvbgAAAAIFAAAADSRhY2MwOTkyMTk5OTEJAAGRAAAAAgUAAAANJGxpc3Q5OTIxOTk5MQAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU5OTIxOTk5MQAAAAAAAAAAAQUAAAANJGFjYzE5OTIxOTk5MQQAAAANJGFjYzI5OTIxOTk5MQkBAAAAH2ZpbHRlckFkbWluc1ZvdGVCeVVuYmxvY2tBY3Rpb24AAAACBQAAAA0kYWNjMTk5MjE5OTkxCQABkQAAAAIFAAAADSRsaXN0OTkyMTk5OTEAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplOTkyMTk5OTEAAAAAAAAAAAIFAAAADSRhY2MyOTkyMTk5OTEEAAAADSRhY2MzOTkyMTk5OTEJAQAAAB9maWx0ZXJBZG1pbnNWb3RlQnlVbmJsb2NrQWN0aW9uAAAAAgUAAAANJGFjYzI5OTIxOTk5MQkAAZEAAAACBQAAAA0kbGlzdDk5MjE5OTkxAAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTk5MjE5OTkxAAAAAAAAAAADBQAAAA0kYWNjMzk5MjE5OTkxBAAAAA0kYWNjNDk5MjE5OTkxCQEAAAAfZmlsdGVyQWRtaW5zVm90ZUJ5VW5ibG9ja0FjdGlvbgAAAAIFAAAADSRhY2MzOTkyMTk5OTEJAAGRAAAAAgUAAAANJGxpc3Q5OTIxOTk5MQAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU5OTIxOTk5MQAAAAAAAAAABAUAAAANJGFjYzQ5OTIxOTk5MQQAAAANJGFjYzU5OTIxOTk5MQkBAAAAH2ZpbHRlckFkbWluc1ZvdGVCeVVuYmxvY2tBY3Rpb24AAAACBQAAAA0kYWNjNDk5MjE5OTkxCQABkQAAAAIFAAAADSRsaXN0OTkyMTk5OTEAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplOTkyMTk5OTEAAAAAAAAAAAUFAAAADSRhY2M1OTkyMTk5OTEEAAAADSRhY2M2OTkyMTk5OTEJAQAAAB9maWx0ZXJBZG1pbnNWb3RlQnlVbmJsb2NrQWN0aW9uAAAAAgUAAAANJGFjYzU5OTIxOTk5MQkAAZEAAAACBQAAAA0kbGlzdDk5MjE5OTkxAAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAALdXBkYXRlVm90ZXMEAAAADyRsaXN0MTAwMTQxMDA4MwUAAAAYYWRtaW5zTGlzdFdpdGhvdXRBY2NvdW50BAAAAA8kc2l6ZTEwMDE0MTAwODMJAAGQAAAAAQUAAAAPJGxpc3QxMDAxNDEwMDgzBAAAAA8kYWNjMDEwMDE0MTAwODMFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxMDAxNDEwMDgzAAAAAAAAAAAABQAAAA8kYWNjMDEwMDE0MTAwODMEAAAADyRhY2MxMTAwMTQxMDA4MwkBAAAAHmZpbHRlckFkbWluc1ZvdGVCeVVwZGF0ZUFjdGlvbgAAAAIFAAAADyRhY2MwMTAwMTQxMDA4MwkAAZEAAAACBQAAAA8kbGlzdDEwMDE0MTAwODMAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTAwMTQxMDA4MwAAAAAAAAAAAQUAAAAPJGFjYzExMDAxNDEwMDgzBAAAAA8kYWNjMjEwMDE0MTAwODMJAQAAAB5maWx0ZXJBZG1pbnNWb3RlQnlVcGRhdGVBY3Rpb24AAAACBQAAAA8kYWNjMTEwMDE0MTAwODMJAAGRAAAAAgUAAAAPJGxpc3QxMDAxNDEwMDgzAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDE0MTAwODMAAAAAAAAAAAIFAAAADyRhY2MyMTAwMTQxMDA4MwQAAAAPJGFjYzMxMDAxNDEwMDgzCQEAAAAeZmlsdGVyQWRtaW5zVm90ZUJ5VXBkYXRlQWN0aW9uAAAAAgUAAAAPJGFjYzIxMDAxNDEwMDgzCQABkQAAAAIFAAAADyRsaXN0MTAwMTQxMDA4MwAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxMDAxNDEwMDgzAAAAAAAAAAADBQAAAA8kYWNjMzEwMDE0MTAwODMEAAAADyRhY2M0MTAwMTQxMDA4MwkBAAAAHmZpbHRlckFkbWluc1ZvdGVCeVVwZGF0ZUFjdGlvbgAAAAIFAAAADyRhY2MzMTAwMTQxMDA4MwkAAZEAAAACBQAAAA8kbGlzdDEwMDE0MTAwODMAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTAwMTQxMDA4MwAAAAAAAAAABAUAAAAPJGFjYzQxMDAxNDEwMDgzBAAAAA8kYWNjNTEwMDE0MTAwODMJAQAAAB5maWx0ZXJBZG1pbnNWb3RlQnlVcGRhdGVBY3Rpb24AAAACBQAAAA8kYWNjNDEwMDE0MTAwODMJAAGRAAAAAgUAAAAPJGxpc3QxMDAxNDEwMDgzAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDE0MTAwODMAAAAAAAAAAAUFAAAADyRhY2M1MTAwMTQxMDA4MwQAAAAPJGFjYzYxMDAxNDEwMDgzCQEAAAAeZmlsdGVyQWRtaW5zVm90ZUJ5VXBkYXRlQWN0aW9uAAAAAgUAAAAPJGFjYzUxMDAxNDEwMDgzCQABkQAAAAIFAAAADyRsaXN0MTAwMTQxMDA4MwAAAAAAAAAABQkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDUEAAAADmJsb2NrVm90ZUNvdW50CQAAZAAAAAIJAAGQAAAAAQUAAAAKYmxvY2tWb3RlcwMJAAAAAAAAAgUAAAAGYWN0aW9uBQAAAAVCTE9DSwAAAAAAAAAAAQAAAAAAAAAAAAQAAAAQdW5ibG9ja1ZvdGVDb3VudAkAAGQAAAACCQABkAAAAAEFAAAADHVuYmxvY2tWb3RlcwMJAAAAAAAAAgUAAAAGYWN0aW9uBQAAAAdVTkJMT0NLAAAAAAAAAAABAAAAAAAAAAAABAAAABB1cGRhdGVWb3Rlc0NvdW50CQAAZAAAAAIJAAGQAAAAAQUAAAALdXBkYXRlVm90ZXMDCQAAAAAAAAIFAAAABmFjdGlvbgUAAAAGVVBEQVRFAAAAAAAAAAABAAAAAAAAAAAABAAAAAtyZXNldFJlc3VsdAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASQmxvY2tFeHBpcmVWb3RlS2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABdCbG9ja0V4cGlyZVByb3ZpZGluZ0tleQAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEFkbWluVm90ZUFjdGlvbktleQAAAAEJAAGRAAAAAgUAAAAYYWRtaW5zTGlzdFdpdGhvdXRBY2NvdW50AAAAAAAAAAAAAgAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRBZG1pblZvdGVBY3Rpb25LZXkAAAABCQABkQAAAAIFAAAAGGFkbWluc0xpc3RXaXRob3V0QWNjb3VudAAAAAAAAAAAAQIAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0QWRtaW5Wb3RlQWN0aW9uS2V5AAAAAQkAAZEAAAACBQAAABhhZG1pbnNMaXN0V2l0aG91dEFjY291bnQAAAAAAAAAAAICAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEFkbWluVm90ZUFjdGlvbktleQAAAAEJAAGRAAAAAgUAAAAYYWRtaW5zTGlzdFdpdGhvdXRBY2NvdW50AAAAAAAAAAADAgAAAAAFAAAAA25pbAMDCQAAZwAAAAIFAAAADmJsb2NrVm90ZUNvdW50BQAAABNiZnRDb2VmZmljaWVudEFkbWluBgkAAGcAAAACBQAAABB1bmJsb2NrVm90ZUNvdW50BQAAABNiZnRDb2VmZmljaWVudEFkbWluCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABFJc1ByaWNlUGVuZGluZ0tleQcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADElzQmxvY2tlZEtleQMJAABnAAAAAgUAAAAOYmxvY2tWb3RlQ291bnQFAAAAE2JmdENvZWZmaWNpZW50QWRtaW4GBwUAAAALcmVzZXRSZXN1bHQDCQAAZgAAAAIFAAAAEHVwZGF0ZVZvdGVzQ291bnQFAAAAE2JmdENvZWZmaWNpZW50QWRtaW4JAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFFNjcmlwdFVwZGF0ZUJsb2NrS2V5AwkAAGYAAAACBQAAABB1cGRhdGVWb3Rlc0NvdW50BQAAABNiZnRDb2VmZmljaWVudEFkbWluCQAAZAAAAAIFAAAABmhlaWdodAUAAAAUc2NyaXB0VXBkYXRlSW50ZXJ2YWwFAAAAEXNjcmlwdFVwZGF0ZUJsb2NrBQAAAAtyZXNldFJlc3VsdAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASQmxvY2tFeHBpcmVWb3RlS2V5AwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAD2Jsb2NrRXhwaXJlVm90ZQkAAGQAAAACBQAAAAZoZWlnaHQFAAAADHZvdGVJbnRlcnZhbAUAAAAPYmxvY2tFeHBpcmVWb3RlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0QWRtaW5Wb3RlQWN0aW9uS2V5AAAAAQUAAAAHYWNjb3VudAUAAAAGYWN0aW9uBQAAAANuaWwAAAAAwuWGFQ==",
"chainId": 84,
"height": 766151,
"spentComplexity": 0
}
View: original | compacted
Prev: 5aK7gfs4gLNyxU8KCWYQe3bqhvMssj8k6GkQU7ZwnDib
Next: 6RG2LFT4BoL7rFLxd2hoNCXuXZZsWL6MsFnRuXg25rK2
Diff:
Old | New | | Differences |
---|
56 | 56 | | } |
---|
57 | 57 | | |
---|
58 | 58 | | |
---|
59 | | - | func j (k) = { |
---|
60 | | - | let c = k |
---|
61 | | - | if ($isInstanceOf(c, "Int")) |
---|
62 | | - | then { |
---|
63 | | - | let d = c |
---|
64 | | - | true |
---|
65 | | - | } |
---|
66 | | - | else false |
---|
| 59 | + | func j (k,l) = { |
---|
| 60 | + | let m = split(k, l) |
---|
| 61 | + | if ((take(m[1], 1) == ",")) |
---|
| 62 | + | then (m[0] + drop(m[1], 1)) |
---|
| 63 | + | else (dropRight(m[0], 1) + m[1]) |
---|
67 | 64 | | } |
---|
68 | 65 | | |
---|
69 | 66 | | |
---|
70 | | - | func l (m,n) = { |
---|
71 | | - | let o = split(m, n) |
---|
72 | | - | if ((take(o[1], 1) == ",")) |
---|
73 | | - | then (o[0] + drop(o[1], 1)) |
---|
74 | | - | else (dropRight(o[0], 1) + o[1]) |
---|
75 | | - | } |
---|
| 67 | + | func n (o) = split(o, ",") |
---|
76 | 68 | | |
---|
77 | 69 | | |
---|
78 | | - | func p (q) = split(q, ",") |
---|
| 70 | + | let p = "block" |
---|
| 71 | + | |
---|
| 72 | + | let q = "unblock" |
---|
| 73 | + | |
---|
| 74 | + | let r = "update" |
---|
| 75 | + | |
---|
| 76 | + | let s = "oracles" |
---|
| 77 | + | |
---|
| 78 | + | let t = "admins" |
---|
| 79 | + | |
---|
| 80 | + | let u = "vote_interval" |
---|
| 81 | + | |
---|
| 82 | + | let v = "coefficient_oracle" |
---|
| 83 | + | |
---|
| 84 | + | let w = "coefficient_admin" |
---|
| 85 | + | |
---|
| 86 | + | let x = "script_update_interval" |
---|
| 87 | + | |
---|
| 88 | + | let y = "providing_interval" |
---|
| 89 | + | |
---|
| 90 | + | let z = "price" |
---|
| 91 | + | |
---|
| 92 | + | let A = "price_offset" |
---|
| 93 | + | |
---|
| 94 | + | let B = "is_pending_price" |
---|
| 95 | + | |
---|
| 96 | + | let C = "is_blocked" |
---|
| 97 | + | |
---|
| 98 | + | let D = "oracle_is_provide_" |
---|
| 99 | + | |
---|
| 100 | + | let E = "oracle_price_provide_" |
---|
| 101 | + | |
---|
| 102 | + | let F = "admin_vote_" |
---|
| 103 | + | |
---|
| 104 | + | let G = "action" |
---|
| 105 | + | |
---|
| 106 | + | let H = "providing_expire_block" |
---|
| 107 | + | |
---|
| 108 | + | let I = "black_swarm_price" |
---|
| 109 | + | |
---|
| 110 | + | let J = "vote_expire_block" |
---|
| 111 | + | |
---|
| 112 | + | let K = "script_update_block" |
---|
| 113 | + | |
---|
| 114 | + | let L = "price_index" |
---|
| 115 | + | |
---|
| 116 | + | func M (N) = (D + N) |
---|
79 | 117 | | |
---|
80 | 118 | | |
---|
81 | | - | let r = "block" |
---|
82 | | - | |
---|
83 | | - | let s = "unblock" |
---|
84 | | - | |
---|
85 | | - | let t = "update" |
---|
86 | | - | |
---|
87 | | - | let u = "oracles" |
---|
88 | | - | |
---|
89 | | - | let v = "admins" |
---|
90 | | - | |
---|
91 | | - | let w = "vote_interval" |
---|
92 | | - | |
---|
93 | | - | let x = "coefficient_oracle" |
---|
94 | | - | |
---|
95 | | - | let y = "coefficient_admin" |
---|
96 | | - | |
---|
97 | | - | let z = "script_update_interval" |
---|
98 | | - | |
---|
99 | | - | let A = "providing_interval" |
---|
100 | | - | |
---|
101 | | - | let B = "price" |
---|
102 | | - | |
---|
103 | | - | let C = "price_offset" |
---|
104 | | - | |
---|
105 | | - | let D = "is_pending_price" |
---|
106 | | - | |
---|
107 | | - | let E = "is_blocked" |
---|
108 | | - | |
---|
109 | | - | let F = "oracle_is_provide_" |
---|
110 | | - | |
---|
111 | | - | let G = "oracle_price_provide_" |
---|
112 | | - | |
---|
113 | | - | let H = "admin_vote_" |
---|
114 | | - | |
---|
115 | | - | let I = "action" |
---|
116 | | - | |
---|
117 | | - | let J = "providing_expire_block" |
---|
118 | | - | |
---|
119 | | - | let K = "black_swarm_price" |
---|
120 | | - | |
---|
121 | | - | let L = "vote_expire_block" |
---|
122 | | - | |
---|
123 | | - | let M = "script_update_block" |
---|
124 | | - | |
---|
125 | | - | let N = "price_index" |
---|
126 | | - | |
---|
127 | | - | func O (P) = (F + P) |
---|
| 119 | + | func O (N) = (E + N) |
---|
128 | 120 | | |
---|
129 | 121 | | |
---|
130 | | - | func Q (P) = (G + P) |
---|
| 122 | + | func P (N) = (F + N) |
---|
131 | 123 | | |
---|
132 | 124 | | |
---|
133 | | - | func R (P) = (H + P) |
---|
| 125 | + | func Q (N) = ((P(N) + "_") + G) |
---|
134 | 126 | | |
---|
135 | 127 | | |
---|
136 | | - | func S (P) = ((R(P) + "_") + I) |
---|
| 128 | + | func R (S) = ((I + "_") + toString(S)) |
---|
137 | 129 | | |
---|
138 | 130 | | |
---|
139 | | - | func T (U) = ((K + "_") + toString(U)) |
---|
| 131 | + | func T (S) = ((z + "_") + toString(S)) |
---|
140 | 132 | | |
---|
141 | 133 | | |
---|
142 | | - | func V (U) = ((B + "_") + toString(U)) |
---|
| 134 | + | func U (V) = ((L + "_") + toString(V)) |
---|
143 | 135 | | |
---|
144 | 136 | | |
---|
145 | | - | func W (X) = ((N + "_") + toString(X)) |
---|
| 137 | + | let W = a(z) |
---|
| 138 | + | |
---|
| 139 | + | let X = a(L) |
---|
| 140 | + | |
---|
| 141 | + | let Y = a(y) |
---|
| 142 | + | |
---|
| 143 | + | let Z = a(H) |
---|
| 144 | + | |
---|
| 145 | + | let aa = a(J) |
---|
| 146 | + | |
---|
| 147 | + | let ab = a(K) |
---|
| 148 | + | |
---|
| 149 | + | let ac = a(x) |
---|
| 150 | + | |
---|
| 151 | + | let ad = f(B) |
---|
| 152 | + | |
---|
| 153 | + | let ae = f(C) |
---|
| 154 | + | |
---|
| 155 | + | let af = a(v) |
---|
| 156 | + | |
---|
| 157 | + | let ag = a(w) |
---|
| 158 | + | |
---|
| 159 | + | let ah = a(A) |
---|
| 160 | + | |
---|
| 161 | + | let ai = a(u) |
---|
| 162 | + | |
---|
| 163 | + | let aj = e(s) |
---|
| 164 | + | |
---|
| 165 | + | let ak = e(t) |
---|
| 166 | + | |
---|
| 167 | + | let al = n(aj) |
---|
| 168 | + | |
---|
| 169 | + | let am = n(ak) |
---|
| 170 | + | |
---|
| 171 | + | func an (N) = e(Q(N)) |
---|
146 | 172 | | |
---|
147 | 173 | | |
---|
148 | | - | let Y = a(B) |
---|
149 | | - | |
---|
150 | | - | let Z = a(N) |
---|
151 | | - | |
---|
152 | | - | let aa = a(A) |
---|
153 | | - | |
---|
154 | | - | let ab = a(J) |
---|
155 | | - | |
---|
156 | | - | let ac = a(L) |
---|
157 | | - | |
---|
158 | | - | let ad = a(M) |
---|
159 | | - | |
---|
160 | | - | let ae = a(z) |
---|
161 | | - | |
---|
162 | | - | let af = f(D) |
---|
163 | | - | |
---|
164 | | - | let ag = f(E) |
---|
165 | | - | |
---|
166 | | - | let ah = a(x) |
---|
167 | | - | |
---|
168 | | - | let ai = a(y) |
---|
169 | | - | |
---|
170 | | - | let aj = a(C) |
---|
171 | | - | |
---|
172 | | - | let ak = a(w) |
---|
173 | | - | |
---|
174 | | - | let al = e(u) |
---|
175 | | - | |
---|
176 | | - | let am = e(v) |
---|
177 | | - | |
---|
178 | | - | let an = p(al) |
---|
179 | | - | |
---|
180 | | - | let ao = p(am) |
---|
181 | | - | |
---|
182 | | - | func ap (P) = e(S(P)) |
---|
| 174 | + | func ao (N) = f(M(N)) |
---|
183 | 175 | | |
---|
184 | 176 | | |
---|
185 | | - | func aq (P) = f(O(P)) |
---|
186 | | - | |
---|
187 | | - | |
---|
188 | | - | func ar (P) = if (aq(P)) |
---|
| 177 | + | func ap (N) = if (ao(N)) |
---|
189 | 178 | | then 1 |
---|
190 | 179 | | else 0 |
---|
191 | 180 | | |
---|
192 | 181 | | |
---|
193 | | - | func as (P) = a(Q(P)) |
---|
| 182 | + | func aq (N) = a(O(N)) |
---|
194 | 183 | | |
---|
195 | 184 | | |
---|
196 | | - | func at (h) = isDefined(indexOf(al, h)) |
---|
| 185 | + | func ar (h) = isDefined(indexOf(aj, h)) |
---|
197 | 186 | | |
---|
198 | 187 | | |
---|
199 | | - | func au (h) = isDefined(indexOf(am, h)) |
---|
| 188 | + | func as (h) = isDefined(indexOf(ak, h)) |
---|
200 | 189 | | |
---|
201 | 190 | | |
---|
202 | | - | func av (aw,h) = (aw + (as(h) * ar(h))) |
---|
| 191 | + | func at (au,h) = (au + (aq(h) * ap(h))) |
---|
203 | 192 | | |
---|
204 | 193 | | |
---|
205 | | - | func ax (ay,h,az) = h :: ay |
---|
| 194 | + | func av (aw,h,ax) = h :: aw |
---|
206 | 195 | | |
---|
207 | 196 | | |
---|
208 | | - | func aA (ay,h) = ax(ay, h, r) |
---|
| 197 | + | func ay (aw,h) = av(aw, h, p) |
---|
209 | 198 | | |
---|
210 | 199 | | |
---|
211 | | - | func aB (ay,h) = ax(ay, h, s) |
---|
| 200 | + | func az (aw,h) = av(aw, h, q) |
---|
212 | 201 | | |
---|
213 | 202 | | |
---|
214 | | - | func aC (ay,h) = ax(ay, h, t) |
---|
| 203 | + | func aA (aw,h) = av(aw, h, r) |
---|
215 | 204 | | |
---|
216 | 205 | | |
---|
217 | | - | @Callable(aD) |
---|
218 | | - | func setCurrentPrice (aE) = { |
---|
219 | | - | let aF = toString(aD.caller) |
---|
220 | | - | let aG = [aq(an[0]), aq(an[1]), aq(an[2]), aq(an[3]), aq(an[4])] |
---|
221 | | - | let aH = ((((((if (aG[0]) |
---|
| 206 | + | @Callable(aB) |
---|
| 207 | + | func setCurrentPrice (aC) = { |
---|
| 208 | + | let aD = toString(aB.caller) |
---|
| 209 | + | let aE = [ao(al[0]), ao(al[1]), ao(al[2]), ao(al[3]), ao(al[4])] |
---|
| 210 | + | let aF = ((((((if (aE[0]) |
---|
222 | 211 | | then 1 |
---|
223 | | - | else 0) + (if (aG[1]) |
---|
| 212 | + | else 0) + (if (aE[1]) |
---|
224 | 213 | | then 1 |
---|
225 | | - | else 0)) + (if (aG[2]) |
---|
| 214 | + | else 0)) + (if (aE[2]) |
---|
226 | 215 | | then 1 |
---|
227 | | - | else 0)) + (if (aG[3]) |
---|
| 216 | + | else 0)) + (if (aE[3]) |
---|
228 | 217 | | then 1 |
---|
229 | | - | else 0)) + (if (aG[4]) |
---|
| 218 | + | else 0)) + (if (aE[4]) |
---|
230 | 219 | | then 1 |
---|
231 | 220 | | else 0)) + 1) |
---|
232 | | - | if (ag) |
---|
| 221 | + | if (ae) |
---|
233 | 222 | | then throw("contract is blocked") |
---|
234 | | - | else if (!(at(aF))) |
---|
| 223 | + | else if (!(ar(aD))) |
---|
235 | 224 | | then throw("permission denied") |
---|
236 | | - | else if (if ((ab >= height)) |
---|
237 | | - | then aq(aF) |
---|
| 225 | + | else if (if ((Z >= height)) |
---|
| 226 | + | then ao(aD) |
---|
238 | 227 | | else false) |
---|
239 | 228 | | then throw("price is already provided") |
---|
240 | | - | else if (if ((height > ab)) |
---|
241 | | - | then af |
---|
| 229 | + | else if (if ((height > Z)) |
---|
| 230 | + | then ad |
---|
242 | 231 | | else false) |
---|
243 | 232 | | then throw("use finalizeCurrentPrice") |
---|
244 | | - | else WriteSet([DataEntry(O(an[0]), if ((height > ab)) |
---|
| 233 | + | else WriteSet([DataEntry(M(al[0]), if ((height > Z)) |
---|
245 | 234 | | then false |
---|
246 | | - | else aG[0]), DataEntry(O(an[1]), if ((height > ab)) |
---|
| 235 | + | else aE[0]), DataEntry(M(al[1]), if ((height > Z)) |
---|
247 | 236 | | then false |
---|
248 | | - | else aG[1]), DataEntry(O(an[2]), if ((height > ab)) |
---|
| 237 | + | else aE[1]), DataEntry(M(al[2]), if ((height > Z)) |
---|
249 | 238 | | then false |
---|
250 | | - | else aG[2]), DataEntry(O(an[3]), if ((height > ab)) |
---|
| 239 | + | else aE[2]), DataEntry(M(al[3]), if ((height > Z)) |
---|
251 | 240 | | then false |
---|
252 | | - | else aG[3]), DataEntry(O(an[4]), if ((height > ab)) |
---|
| 241 | + | else aE[3]), DataEntry(M(al[4]), if ((height > Z)) |
---|
253 | 242 | | then false |
---|
254 | | - | else aG[4]), DataEntry(O(aF), true), DataEntry(Q(aF), aE), DataEntry(J, if ((height > ab)) |
---|
255 | | - | then (height + aa) |
---|
256 | | - | else ab), DataEntry(D, if (if ((ab >= height)) |
---|
257 | | - | then (aH >= ah) |
---|
| 243 | + | else aE[4]), DataEntry(M(aD), true), DataEntry(O(aD), aC), DataEntry(H, if ((height > Z)) |
---|
| 244 | + | then (height + Y) |
---|
| 245 | + | else Z), DataEntry(B, if (if ((Z >= height)) |
---|
| 246 | + | then (aF >= af) |
---|
258 | 247 | | else false) |
---|
259 | 248 | | then true |
---|
260 | | - | else af)]) |
---|
| 249 | + | else ad)]) |
---|
261 | 250 | | } |
---|
262 | 251 | | |
---|
263 | 252 | | |
---|
264 | 253 | | |
---|
265 | | - | @Callable(aD) |
---|
| 254 | + | @Callable(aB) |
---|
266 | 255 | | func finalizeCurrentPrice () = { |
---|
267 | | - | let aG = [aq(an[0]), aq(an[1]), aq(an[2]), aq(an[3]), aq(an[4])] |
---|
268 | | - | let aH = (((((if (aG[0]) |
---|
| 256 | + | let aE = [ao(al[0]), ao(al[1]), ao(al[2]), ao(al[3]), ao(al[4])] |
---|
| 257 | + | let aF = (((((if (aE[0]) |
---|
269 | 258 | | then 1 |
---|
270 | | - | else 0) + (if (aG[1]) |
---|
| 259 | + | else 0) + (if (aE[1]) |
---|
271 | 260 | | then 1 |
---|
272 | | - | else 0)) + (if (aG[2]) |
---|
| 261 | + | else 0)) + (if (aE[2]) |
---|
273 | 262 | | then 1 |
---|
274 | | - | else 0)) + (if (aG[3]) |
---|
| 263 | + | else 0)) + (if (aE[3]) |
---|
275 | 264 | | then 1 |
---|
276 | | - | else 0)) + (if (aG[4]) |
---|
| 265 | + | else 0)) + (if (aE[4]) |
---|
277 | 266 | | then 1 |
---|
278 | 267 | | else 0)) |
---|
279 | | - | let aI = (((((as(an[0]) * (if (aG[0]) |
---|
| 268 | + | let aG = (((((aq(al[0]) * (if (aE[0]) |
---|
280 | 269 | | then 1 |
---|
281 | | - | else 0)) + (as(an[1]) * (if (aG[1]) |
---|
| 270 | + | else 0)) + (aq(al[1]) * (if (aE[1]) |
---|
282 | 271 | | then 1 |
---|
283 | | - | else 0))) + (as(an[2]) * (if (aG[2]) |
---|
| 272 | + | else 0))) + (aq(al[2]) * (if (aE[2]) |
---|
284 | 273 | | then 1 |
---|
285 | | - | else 0))) + (as(an[3]) * (if (aG[3]) |
---|
| 274 | + | else 0))) + (aq(al[3]) * (if (aE[3]) |
---|
286 | 275 | | then 1 |
---|
287 | | - | else 0))) + (as(an[4]) * (if (aG[4]) |
---|
| 276 | + | else 0))) + (aq(al[4]) * (if (aE[4]) |
---|
288 | 277 | | then 1 |
---|
289 | 278 | | else 0))) |
---|
290 | | - | let aE = (aI / aH) |
---|
291 | | - | if (ag) |
---|
| 279 | + | let aC = (aG / aF) |
---|
| 280 | + | if (ae) |
---|
292 | 281 | | then throw("contract is blocked") |
---|
293 | | - | else if (if (!(af)) |
---|
| 282 | + | else if (if (!(ad)) |
---|
294 | 283 | | then true |
---|
295 | | - | else (ab >= height)) |
---|
| 284 | + | else (Z >= height)) |
---|
296 | 285 | | then throw("wait for the end of the price providing") |
---|
297 | | - | else if ((ah > aH)) |
---|
| 286 | + | else if ((af > aF)) |
---|
298 | 287 | | then throw("3/5 oracles need to set a price") |
---|
299 | | - | else if (if ((aE >= (Y + ((Y * aj) / 100)))) |
---|
| 288 | + | else if (if ((aC >= (W + ((W * ah) / 100)))) |
---|
300 | 289 | | then true |
---|
301 | | - | else ((Y - ((Y * aj) / 100)) >= aE)) |
---|
302 | | - | then WriteSet([DataEntry(E, true), DataEntry(T(height), aE)]) |
---|
| 290 | + | else ((W - ((W * ah) / 100)) >= aC)) |
---|
| 291 | + | then WriteSet([DataEntry(C, true), DataEntry(R(height), aC)]) |
---|
303 | 292 | | else { |
---|
304 | | - | let aJ = (Z + 1) |
---|
305 | | - | WriteSet([DataEntry(B, aE), DataEntry(V(height), aE), DataEntry(D, false), DataEntry(N, aJ), DataEntry(W(aJ), height)]) |
---|
| 293 | + | let aH = (X + 1) |
---|
| 294 | + | WriteSet([DataEntry(z, aC), DataEntry(T(height), aC), DataEntry(B, false), DataEntry(L, aH), DataEntry(U(aH), height)]) |
---|
306 | 295 | | } |
---|
307 | 296 | | } |
---|
308 | 297 | | |
---|
309 | 298 | | |
---|
310 | 299 | | |
---|
311 | | - | @Callable(aD) |
---|
312 | | - | func vote (az) = { |
---|
313 | | - | let aF = toString(aD.caller) |
---|
314 | | - | let aK = p(l(am, aF)) |
---|
315 | | - | let aL = ap(aF) |
---|
316 | | - | let aM = { |
---|
317 | | - | let aN = aK |
---|
318 | | - | let aO = size(aN) |
---|
319 | | - | let aP = nil |
---|
320 | | - | if ((aO == 0)) |
---|
321 | | - | then aP |
---|
| 300 | + | @Callable(aB) |
---|
| 301 | + | func vote (ax) = { |
---|
| 302 | + | let aD = toString(aB.caller) |
---|
| 303 | + | let aI = n(j(ak, aD)) |
---|
| 304 | + | let aJ = an(aD) |
---|
| 305 | + | let aK = { |
---|
| 306 | + | let aL = aI |
---|
| 307 | + | let aM = size(aL) |
---|
| 308 | + | let aN = nil |
---|
| 309 | + | if ((aM == 0)) |
---|
| 310 | + | then aN |
---|
322 | 311 | | else { |
---|
323 | | - | let aQ = aA(aP, aN[0]) |
---|
324 | | - | if ((aO == 1)) |
---|
325 | | - | then aQ |
---|
| 312 | + | let aO = ay(aN, aL[0]) |
---|
| 313 | + | if ((aM == 1)) |
---|
| 314 | + | then aO |
---|
326 | 315 | | else { |
---|
327 | | - | let aR = aA(aQ, aN[1]) |
---|
328 | | - | if ((aO == 2)) |
---|
329 | | - | then aR |
---|
| 316 | + | let aP = ay(aO, aL[1]) |
---|
| 317 | + | if ((aM == 2)) |
---|
| 318 | + | then aP |
---|
330 | 319 | | else { |
---|
331 | | - | let aS = aA(aR, aN[2]) |
---|
332 | | - | if ((aO == 3)) |
---|
333 | | - | then aS |
---|
| 320 | + | let aQ = ay(aP, aL[2]) |
---|
| 321 | + | if ((aM == 3)) |
---|
| 322 | + | then aQ |
---|
334 | 323 | | else { |
---|
335 | | - | let aT = aA(aS, aN[3]) |
---|
336 | | - | if ((aO == 4)) |
---|
337 | | - | then aT |
---|
| 324 | + | let aR = ay(aQ, aL[3]) |
---|
| 325 | + | if ((aM == 4)) |
---|
| 326 | + | then aR |
---|
338 | 327 | | else { |
---|
339 | | - | let aU = aA(aT, aN[4]) |
---|
340 | | - | if ((aO == 5)) |
---|
341 | | - | then aU |
---|
| 328 | + | let aS = ay(aR, aL[4]) |
---|
| 329 | + | if ((aM == 5)) |
---|
| 330 | + | then aS |
---|
342 | 331 | | else { |
---|
343 | | - | let aV = aA(aU, aN[5]) |
---|
| 332 | + | let aT = ay(aS, aL[5]) |
---|
344 | 333 | | throw("List size exceed 5") |
---|
345 | 334 | | } |
---|
346 | 335 | | } |
---|
|
349 | 338 | | } |
---|
350 | 339 | | } |
---|
351 | 340 | | } |
---|
352 | | - | let aW = { |
---|
353 | | - | let aX = aK |
---|
354 | | - | let aY = size(aX) |
---|
355 | | - | let aZ = nil |
---|
356 | | - | if ((aY == 0)) |
---|
357 | | - | then aZ |
---|
| 341 | + | let aU = { |
---|
| 342 | + | let aV = aI |
---|
| 343 | + | let aW = size(aV) |
---|
| 344 | + | let aX = nil |
---|
| 345 | + | if ((aW == 0)) |
---|
| 346 | + | then aX |
---|
358 | 347 | | else { |
---|
359 | | - | let ba = aB(aZ, aX[0]) |
---|
360 | | - | if ((aY == 1)) |
---|
361 | | - | then ba |
---|
| 348 | + | let aY = az(aX, aV[0]) |
---|
| 349 | + | if ((aW == 1)) |
---|
| 350 | + | then aY |
---|
362 | 351 | | else { |
---|
363 | | - | let bb = aB(ba, aX[1]) |
---|
364 | | - | if ((aY == 2)) |
---|
365 | | - | then bb |
---|
| 352 | + | let aZ = az(aY, aV[1]) |
---|
| 353 | + | if ((aW == 2)) |
---|
| 354 | + | then aZ |
---|
366 | 355 | | else { |
---|
367 | | - | let bc = aB(bb, aX[2]) |
---|
368 | | - | if ((aY == 3)) |
---|
369 | | - | then bc |
---|
| 356 | + | let ba = az(aZ, aV[2]) |
---|
| 357 | + | if ((aW == 3)) |
---|
| 358 | + | then ba |
---|
370 | 359 | | else { |
---|
371 | | - | let bd = aB(bc, aX[3]) |
---|
372 | | - | if ((aY == 4)) |
---|
373 | | - | then bd |
---|
| 360 | + | let bb = az(ba, aV[3]) |
---|
| 361 | + | if ((aW == 4)) |
---|
| 362 | + | then bb |
---|
374 | 363 | | else { |
---|
375 | | - | let be = aB(bd, aX[4]) |
---|
376 | | - | if ((aY == 5)) |
---|
377 | | - | then be |
---|
| 364 | + | let bc = az(bb, aV[4]) |
---|
| 365 | + | if ((aW == 5)) |
---|
| 366 | + | then bc |
---|
378 | 367 | | else { |
---|
379 | | - | let bf = aB(be, aX[5]) |
---|
| 368 | + | let bd = az(bc, aV[5]) |
---|
380 | 369 | | throw("List size exceed 5") |
---|
381 | 370 | | } |
---|
382 | 371 | | } |
---|
|
385 | 374 | | } |
---|
386 | 375 | | } |
---|
387 | 376 | | } |
---|
388 | | - | let bg = { |
---|
389 | | - | let bh = aK |
---|
390 | | - | let bi = size(bh) |
---|
391 | | - | let bj = nil |
---|
392 | | - | if ((bi == 0)) |
---|
393 | | - | then bj |
---|
| 377 | + | let be = { |
---|
| 378 | + | let bf = aI |
---|
| 379 | + | let bg = size(bf) |
---|
| 380 | + | let bh = nil |
---|
| 381 | + | if ((bg == 0)) |
---|
| 382 | + | then bh |
---|
394 | 383 | | else { |
---|
395 | | - | let bk = aC(bj, bh[0]) |
---|
396 | | - | if ((bi == 1)) |
---|
397 | | - | then bk |
---|
| 384 | + | let bi = aA(bh, bf[0]) |
---|
| 385 | + | if ((bg == 1)) |
---|
| 386 | + | then bi |
---|
398 | 387 | | else { |
---|
399 | | - | let bl = aC(bk, bh[1]) |
---|
400 | | - | if ((bi == 2)) |
---|
401 | | - | then bl |
---|
| 388 | + | let bj = aA(bi, bf[1]) |
---|
| 389 | + | if ((bg == 2)) |
---|
| 390 | + | then bj |
---|
402 | 391 | | else { |
---|
403 | | - | let bm = aC(bl, bh[2]) |
---|
404 | | - | if ((bi == 3)) |
---|
405 | | - | then bm |
---|
| 392 | + | let bk = aA(bj, bf[2]) |
---|
| 393 | + | if ((bg == 3)) |
---|
| 394 | + | then bk |
---|
406 | 395 | | else { |
---|
407 | | - | let bn = aC(bm, bh[3]) |
---|
408 | | - | if ((bi == 4)) |
---|
409 | | - | then bn |
---|
| 396 | + | let bl = aA(bk, bf[3]) |
---|
| 397 | + | if ((bg == 4)) |
---|
| 398 | + | then bl |
---|
410 | 399 | | else { |
---|
411 | | - | let bo = aC(bn, bh[4]) |
---|
412 | | - | if ((bi == 5)) |
---|
413 | | - | then bo |
---|
| 400 | + | let bm = aA(bl, bf[4]) |
---|
| 401 | + | if ((bg == 5)) |
---|
| 402 | + | then bm |
---|
414 | 403 | | else { |
---|
415 | | - | let bp = aC(bo, bh[5]) |
---|
| 404 | + | let bn = aA(bm, bf[5]) |
---|
416 | 405 | | throw("List size exceed 5") |
---|
417 | 406 | | } |
---|
418 | 407 | | } |
---|
|
421 | 410 | | } |
---|
422 | 411 | | } |
---|
423 | 412 | | } |
---|
424 | | - | let bq = (size(aM) + (if ((az == r)) |
---|
| 413 | + | let bo = (size(aK) + (if ((ax == p)) |
---|
425 | 414 | | then 1 |
---|
426 | 415 | | else 0)) |
---|
427 | | - | let br = (size(aW) + (if ((az == s)) |
---|
| 416 | + | let bp = (size(aU) + (if ((ax == q)) |
---|
428 | 417 | | then 1 |
---|
429 | 418 | | else 0)) |
---|
430 | | - | let bs = (size(bg) + (if ((az == t)) |
---|
| 419 | + | let bq = (size(be) + (if ((ax == r)) |
---|
431 | 420 | | then 1 |
---|
432 | 421 | | else 0)) |
---|
433 | | - | let bt = [DataEntry(L, 0), DataEntry(J, 0), DataEntry(S(aK[0]), ""), DataEntry(S(aK[1]), ""), DataEntry(S(aK[2]), ""), DataEntry(S(aK[3]), "")] |
---|
434 | | - | if (if ((bq >= ai)) |
---|
| 422 | + | let br = [DataEntry(J, 0), DataEntry(H, 0), DataEntry(Q(aI[0]), ""), DataEntry(Q(aI[1]), ""), DataEntry(Q(aI[2]), ""), DataEntry(Q(aI[3]), "")] |
---|
| 423 | + | if (if ((bo >= ag)) |
---|
435 | 424 | | then true |
---|
436 | | - | else (br >= ai)) |
---|
437 | | - | then WriteSet([DataEntry(D, false), DataEntry(E, if ((bq >= ai)) |
---|
| 425 | + | else (bp >= ag)) |
---|
| 426 | + | then WriteSet([DataEntry(B, false), DataEntry(C, if ((bo >= ag)) |
---|
438 | 427 | | then true |
---|
439 | | - | else false)] :: bt) |
---|
440 | | - | else if ((bs > ai)) |
---|
441 | | - | then WriteSet(DataEntry(M, if ((bs > ai)) |
---|
442 | | - | then (height + ae) |
---|
443 | | - | else ad) :: bt) |
---|
444 | | - | else WriteSet([DataEntry(L, if ((height > ac)) |
---|
445 | | - | then (height + ak) |
---|
446 | | - | else ac), DataEntry(S(aF), az)]) |
---|
| 428 | + | else false)] :: br) |
---|
| 429 | + | else if ((bq > ag)) |
---|
| 430 | + | then WriteSet(DataEntry(K, if ((bq > ag)) |
---|
| 431 | + | then (height + ac) |
---|
| 432 | + | else ab) :: br) |
---|
| 433 | + | else WriteSet([DataEntry(J, if ((height > aa)) |
---|
| 434 | + | then (height + ai) |
---|
| 435 | + | else aa), DataEntry(Q(aD), ax)]) |
---|
447 | 436 | | } |
---|
448 | 437 | | |
---|
449 | 438 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | func a (b) = { |
---|
5 | 5 | | let c = getInteger(this, b) |
---|
6 | 6 | | if ($isInstanceOf(c, "Int")) |
---|
7 | 7 | | then { |
---|
8 | 8 | | let d = c |
---|
9 | 9 | | d |
---|
10 | 10 | | } |
---|
11 | 11 | | else 0 |
---|
12 | 12 | | } |
---|
13 | 13 | | |
---|
14 | 14 | | |
---|
15 | 15 | | func e (b) = { |
---|
16 | 16 | | let c = getString(this, b) |
---|
17 | 17 | | if ($isInstanceOf(c, "String")) |
---|
18 | 18 | | then { |
---|
19 | 19 | | let d = c |
---|
20 | 20 | | d |
---|
21 | 21 | | } |
---|
22 | 22 | | else "" |
---|
23 | 23 | | } |
---|
24 | 24 | | |
---|
25 | 25 | | |
---|
26 | 26 | | func f (b) = { |
---|
27 | 27 | | let c = getBoolean(this, b) |
---|
28 | 28 | | if ($isInstanceOf(c, "Boolean")) |
---|
29 | 29 | | then { |
---|
30 | 30 | | let d = c |
---|
31 | 31 | | d |
---|
32 | 32 | | } |
---|
33 | 33 | | else false |
---|
34 | 34 | | } |
---|
35 | 35 | | |
---|
36 | 36 | | |
---|
37 | 37 | | func g (h,b) = { |
---|
38 | 38 | | let c = getInteger(h, b) |
---|
39 | 39 | | if ($isInstanceOf(c, "Int")) |
---|
40 | 40 | | then { |
---|
41 | 41 | | let d = c |
---|
42 | 42 | | d |
---|
43 | 43 | | } |
---|
44 | 44 | | else 0 |
---|
45 | 45 | | } |
---|
46 | 46 | | |
---|
47 | 47 | | |
---|
48 | 48 | | func i (h,b) = { |
---|
49 | 49 | | let c = getString(h, b) |
---|
50 | 50 | | if ($isInstanceOf(c, "String")) |
---|
51 | 51 | | then { |
---|
52 | 52 | | let d = c |
---|
53 | 53 | | d |
---|
54 | 54 | | } |
---|
55 | 55 | | else "" |
---|
56 | 56 | | } |
---|
57 | 57 | | |
---|
58 | 58 | | |
---|
59 | | - | func j (k) = { |
---|
60 | | - | let c = k |
---|
61 | | - | if ($isInstanceOf(c, "Int")) |
---|
62 | | - | then { |
---|
63 | | - | let d = c |
---|
64 | | - | true |
---|
65 | | - | } |
---|
66 | | - | else false |
---|
| 59 | + | func j (k,l) = { |
---|
| 60 | + | let m = split(k, l) |
---|
| 61 | + | if ((take(m[1], 1) == ",")) |
---|
| 62 | + | then (m[0] + drop(m[1], 1)) |
---|
| 63 | + | else (dropRight(m[0], 1) + m[1]) |
---|
67 | 64 | | } |
---|
68 | 65 | | |
---|
69 | 66 | | |
---|
70 | | - | func l (m,n) = { |
---|
71 | | - | let o = split(m, n) |
---|
72 | | - | if ((take(o[1], 1) == ",")) |
---|
73 | | - | then (o[0] + drop(o[1], 1)) |
---|
74 | | - | else (dropRight(o[0], 1) + o[1]) |
---|
75 | | - | } |
---|
| 67 | + | func n (o) = split(o, ",") |
---|
76 | 68 | | |
---|
77 | 69 | | |
---|
78 | | - | func p (q) = split(q, ",") |
---|
| 70 | + | let p = "block" |
---|
| 71 | + | |
---|
| 72 | + | let q = "unblock" |
---|
| 73 | + | |
---|
| 74 | + | let r = "update" |
---|
| 75 | + | |
---|
| 76 | + | let s = "oracles" |
---|
| 77 | + | |
---|
| 78 | + | let t = "admins" |
---|
| 79 | + | |
---|
| 80 | + | let u = "vote_interval" |
---|
| 81 | + | |
---|
| 82 | + | let v = "coefficient_oracle" |
---|
| 83 | + | |
---|
| 84 | + | let w = "coefficient_admin" |
---|
| 85 | + | |
---|
| 86 | + | let x = "script_update_interval" |
---|
| 87 | + | |
---|
| 88 | + | let y = "providing_interval" |
---|
| 89 | + | |
---|
| 90 | + | let z = "price" |
---|
| 91 | + | |
---|
| 92 | + | let A = "price_offset" |
---|
| 93 | + | |
---|
| 94 | + | let B = "is_pending_price" |
---|
| 95 | + | |
---|
| 96 | + | let C = "is_blocked" |
---|
| 97 | + | |
---|
| 98 | + | let D = "oracle_is_provide_" |
---|
| 99 | + | |
---|
| 100 | + | let E = "oracle_price_provide_" |
---|
| 101 | + | |
---|
| 102 | + | let F = "admin_vote_" |
---|
| 103 | + | |
---|
| 104 | + | let G = "action" |
---|
| 105 | + | |
---|
| 106 | + | let H = "providing_expire_block" |
---|
| 107 | + | |
---|
| 108 | + | let I = "black_swarm_price" |
---|
| 109 | + | |
---|
| 110 | + | let J = "vote_expire_block" |
---|
| 111 | + | |
---|
| 112 | + | let K = "script_update_block" |
---|
| 113 | + | |
---|
| 114 | + | let L = "price_index" |
---|
| 115 | + | |
---|
| 116 | + | func M (N) = (D + N) |
---|
79 | 117 | | |
---|
80 | 118 | | |
---|
81 | | - | let r = "block" |
---|
82 | | - | |
---|
83 | | - | let s = "unblock" |
---|
84 | | - | |
---|
85 | | - | let t = "update" |
---|
86 | | - | |
---|
87 | | - | let u = "oracles" |
---|
88 | | - | |
---|
89 | | - | let v = "admins" |
---|
90 | | - | |
---|
91 | | - | let w = "vote_interval" |
---|
92 | | - | |
---|
93 | | - | let x = "coefficient_oracle" |
---|
94 | | - | |
---|
95 | | - | let y = "coefficient_admin" |
---|
96 | | - | |
---|
97 | | - | let z = "script_update_interval" |
---|
98 | | - | |
---|
99 | | - | let A = "providing_interval" |
---|
100 | | - | |
---|
101 | | - | let B = "price" |
---|
102 | | - | |
---|
103 | | - | let C = "price_offset" |
---|
104 | | - | |
---|
105 | | - | let D = "is_pending_price" |
---|
106 | | - | |
---|
107 | | - | let E = "is_blocked" |
---|
108 | | - | |
---|
109 | | - | let F = "oracle_is_provide_" |
---|
110 | | - | |
---|
111 | | - | let G = "oracle_price_provide_" |
---|
112 | | - | |
---|
113 | | - | let H = "admin_vote_" |
---|
114 | | - | |
---|
115 | | - | let I = "action" |
---|
116 | | - | |
---|
117 | | - | let J = "providing_expire_block" |
---|
118 | | - | |
---|
119 | | - | let K = "black_swarm_price" |
---|
120 | | - | |
---|
121 | | - | let L = "vote_expire_block" |
---|
122 | | - | |
---|
123 | | - | let M = "script_update_block" |
---|
124 | | - | |
---|
125 | | - | let N = "price_index" |
---|
126 | | - | |
---|
127 | | - | func O (P) = (F + P) |
---|
| 119 | + | func O (N) = (E + N) |
---|
128 | 120 | | |
---|
129 | 121 | | |
---|
130 | | - | func Q (P) = (G + P) |
---|
| 122 | + | func P (N) = (F + N) |
---|
131 | 123 | | |
---|
132 | 124 | | |
---|
133 | | - | func R (P) = (H + P) |
---|
| 125 | + | func Q (N) = ((P(N) + "_") + G) |
---|
134 | 126 | | |
---|
135 | 127 | | |
---|
136 | | - | func S (P) = ((R(P) + "_") + I) |
---|
| 128 | + | func R (S) = ((I + "_") + toString(S)) |
---|
137 | 129 | | |
---|
138 | 130 | | |
---|
139 | | - | func T (U) = ((K + "_") + toString(U)) |
---|
| 131 | + | func T (S) = ((z + "_") + toString(S)) |
---|
140 | 132 | | |
---|
141 | 133 | | |
---|
142 | | - | func V (U) = ((B + "_") + toString(U)) |
---|
| 134 | + | func U (V) = ((L + "_") + toString(V)) |
---|
143 | 135 | | |
---|
144 | 136 | | |
---|
145 | | - | func W (X) = ((N + "_") + toString(X)) |
---|
| 137 | + | let W = a(z) |
---|
| 138 | + | |
---|
| 139 | + | let X = a(L) |
---|
| 140 | + | |
---|
| 141 | + | let Y = a(y) |
---|
| 142 | + | |
---|
| 143 | + | let Z = a(H) |
---|
| 144 | + | |
---|
| 145 | + | let aa = a(J) |
---|
| 146 | + | |
---|
| 147 | + | let ab = a(K) |
---|
| 148 | + | |
---|
| 149 | + | let ac = a(x) |
---|
| 150 | + | |
---|
| 151 | + | let ad = f(B) |
---|
| 152 | + | |
---|
| 153 | + | let ae = f(C) |
---|
| 154 | + | |
---|
| 155 | + | let af = a(v) |
---|
| 156 | + | |
---|
| 157 | + | let ag = a(w) |
---|
| 158 | + | |
---|
| 159 | + | let ah = a(A) |
---|
| 160 | + | |
---|
| 161 | + | let ai = a(u) |
---|
| 162 | + | |
---|
| 163 | + | let aj = e(s) |
---|
| 164 | + | |
---|
| 165 | + | let ak = e(t) |
---|
| 166 | + | |
---|
| 167 | + | let al = n(aj) |
---|
| 168 | + | |
---|
| 169 | + | let am = n(ak) |
---|
| 170 | + | |
---|
| 171 | + | func an (N) = e(Q(N)) |
---|
146 | 172 | | |
---|
147 | 173 | | |
---|
148 | | - | let Y = a(B) |
---|
149 | | - | |
---|
150 | | - | let Z = a(N) |
---|
151 | | - | |
---|
152 | | - | let aa = a(A) |
---|
153 | | - | |
---|
154 | | - | let ab = a(J) |
---|
155 | | - | |
---|
156 | | - | let ac = a(L) |
---|
157 | | - | |
---|
158 | | - | let ad = a(M) |
---|
159 | | - | |
---|
160 | | - | let ae = a(z) |
---|
161 | | - | |
---|
162 | | - | let af = f(D) |
---|
163 | | - | |
---|
164 | | - | let ag = f(E) |
---|
165 | | - | |
---|
166 | | - | let ah = a(x) |
---|
167 | | - | |
---|
168 | | - | let ai = a(y) |
---|
169 | | - | |
---|
170 | | - | let aj = a(C) |
---|
171 | | - | |
---|
172 | | - | let ak = a(w) |
---|
173 | | - | |
---|
174 | | - | let al = e(u) |
---|
175 | | - | |
---|
176 | | - | let am = e(v) |
---|
177 | | - | |
---|
178 | | - | let an = p(al) |
---|
179 | | - | |
---|
180 | | - | let ao = p(am) |
---|
181 | | - | |
---|
182 | | - | func ap (P) = e(S(P)) |
---|
| 174 | + | func ao (N) = f(M(N)) |
---|
183 | 175 | | |
---|
184 | 176 | | |
---|
185 | | - | func aq (P) = f(O(P)) |
---|
186 | | - | |
---|
187 | | - | |
---|
188 | | - | func ar (P) = if (aq(P)) |
---|
| 177 | + | func ap (N) = if (ao(N)) |
---|
189 | 178 | | then 1 |
---|
190 | 179 | | else 0 |
---|
191 | 180 | | |
---|
192 | 181 | | |
---|
193 | | - | func as (P) = a(Q(P)) |
---|
| 182 | + | func aq (N) = a(O(N)) |
---|
194 | 183 | | |
---|
195 | 184 | | |
---|
196 | | - | func at (h) = isDefined(indexOf(al, h)) |
---|
| 185 | + | func ar (h) = isDefined(indexOf(aj, h)) |
---|
197 | 186 | | |
---|
198 | 187 | | |
---|
199 | | - | func au (h) = isDefined(indexOf(am, h)) |
---|
| 188 | + | func as (h) = isDefined(indexOf(ak, h)) |
---|
200 | 189 | | |
---|
201 | 190 | | |
---|
202 | | - | func av (aw,h) = (aw + (as(h) * ar(h))) |
---|
| 191 | + | func at (au,h) = (au + (aq(h) * ap(h))) |
---|
203 | 192 | | |
---|
204 | 193 | | |
---|
205 | | - | func ax (ay,h,az) = h :: ay |
---|
| 194 | + | func av (aw,h,ax) = h :: aw |
---|
206 | 195 | | |
---|
207 | 196 | | |
---|
208 | | - | func aA (ay,h) = ax(ay, h, r) |
---|
| 197 | + | func ay (aw,h) = av(aw, h, p) |
---|
209 | 198 | | |
---|
210 | 199 | | |
---|
211 | | - | func aB (ay,h) = ax(ay, h, s) |
---|
| 200 | + | func az (aw,h) = av(aw, h, q) |
---|
212 | 201 | | |
---|
213 | 202 | | |
---|
214 | | - | func aC (ay,h) = ax(ay, h, t) |
---|
| 203 | + | func aA (aw,h) = av(aw, h, r) |
---|
215 | 204 | | |
---|
216 | 205 | | |
---|
217 | | - | @Callable(aD) |
---|
218 | | - | func setCurrentPrice (aE) = { |
---|
219 | | - | let aF = toString(aD.caller) |
---|
220 | | - | let aG = [aq(an[0]), aq(an[1]), aq(an[2]), aq(an[3]), aq(an[4])] |
---|
221 | | - | let aH = ((((((if (aG[0]) |
---|
| 206 | + | @Callable(aB) |
---|
| 207 | + | func setCurrentPrice (aC) = { |
---|
| 208 | + | let aD = toString(aB.caller) |
---|
| 209 | + | let aE = [ao(al[0]), ao(al[1]), ao(al[2]), ao(al[3]), ao(al[4])] |
---|
| 210 | + | let aF = ((((((if (aE[0]) |
---|
222 | 211 | | then 1 |
---|
223 | | - | else 0) + (if (aG[1]) |
---|
| 212 | + | else 0) + (if (aE[1]) |
---|
224 | 213 | | then 1 |
---|
225 | | - | else 0)) + (if (aG[2]) |
---|
| 214 | + | else 0)) + (if (aE[2]) |
---|
226 | 215 | | then 1 |
---|
227 | | - | else 0)) + (if (aG[3]) |
---|
| 216 | + | else 0)) + (if (aE[3]) |
---|
228 | 217 | | then 1 |
---|
229 | | - | else 0)) + (if (aG[4]) |
---|
| 218 | + | else 0)) + (if (aE[4]) |
---|
230 | 219 | | then 1 |
---|
231 | 220 | | else 0)) + 1) |
---|
232 | | - | if (ag) |
---|
| 221 | + | if (ae) |
---|
233 | 222 | | then throw("contract is blocked") |
---|
234 | | - | else if (!(at(aF))) |
---|
| 223 | + | else if (!(ar(aD))) |
---|
235 | 224 | | then throw("permission denied") |
---|
236 | | - | else if (if ((ab >= height)) |
---|
237 | | - | then aq(aF) |
---|
| 225 | + | else if (if ((Z >= height)) |
---|
| 226 | + | then ao(aD) |
---|
238 | 227 | | else false) |
---|
239 | 228 | | then throw("price is already provided") |
---|
240 | | - | else if (if ((height > ab)) |
---|
241 | | - | then af |
---|
| 229 | + | else if (if ((height > Z)) |
---|
| 230 | + | then ad |
---|
242 | 231 | | else false) |
---|
243 | 232 | | then throw("use finalizeCurrentPrice") |
---|
244 | | - | else WriteSet([DataEntry(O(an[0]), if ((height > ab)) |
---|
| 233 | + | else WriteSet([DataEntry(M(al[0]), if ((height > Z)) |
---|
245 | 234 | | then false |
---|
246 | | - | else aG[0]), DataEntry(O(an[1]), if ((height > ab)) |
---|
| 235 | + | else aE[0]), DataEntry(M(al[1]), if ((height > Z)) |
---|
247 | 236 | | then false |
---|
248 | | - | else aG[1]), DataEntry(O(an[2]), if ((height > ab)) |
---|
| 237 | + | else aE[1]), DataEntry(M(al[2]), if ((height > Z)) |
---|
249 | 238 | | then false |
---|
250 | | - | else aG[2]), DataEntry(O(an[3]), if ((height > ab)) |
---|
| 239 | + | else aE[2]), DataEntry(M(al[3]), if ((height > Z)) |
---|
251 | 240 | | then false |
---|
252 | | - | else aG[3]), DataEntry(O(an[4]), if ((height > ab)) |
---|
| 241 | + | else aE[3]), DataEntry(M(al[4]), if ((height > Z)) |
---|
253 | 242 | | then false |
---|
254 | | - | else aG[4]), DataEntry(O(aF), true), DataEntry(Q(aF), aE), DataEntry(J, if ((height > ab)) |
---|
255 | | - | then (height + aa) |
---|
256 | | - | else ab), DataEntry(D, if (if ((ab >= height)) |
---|
257 | | - | then (aH >= ah) |
---|
| 243 | + | else aE[4]), DataEntry(M(aD), true), DataEntry(O(aD), aC), DataEntry(H, if ((height > Z)) |
---|
| 244 | + | then (height + Y) |
---|
| 245 | + | else Z), DataEntry(B, if (if ((Z >= height)) |
---|
| 246 | + | then (aF >= af) |
---|
258 | 247 | | else false) |
---|
259 | 248 | | then true |
---|
260 | | - | else af)]) |
---|
| 249 | + | else ad)]) |
---|
261 | 250 | | } |
---|
262 | 251 | | |
---|
263 | 252 | | |
---|
264 | 253 | | |
---|
265 | | - | @Callable(aD) |
---|
| 254 | + | @Callable(aB) |
---|
266 | 255 | | func finalizeCurrentPrice () = { |
---|
267 | | - | let aG = [aq(an[0]), aq(an[1]), aq(an[2]), aq(an[3]), aq(an[4])] |
---|
268 | | - | let aH = (((((if (aG[0]) |
---|
| 256 | + | let aE = [ao(al[0]), ao(al[1]), ao(al[2]), ao(al[3]), ao(al[4])] |
---|
| 257 | + | let aF = (((((if (aE[0]) |
---|
269 | 258 | | then 1 |
---|
270 | | - | else 0) + (if (aG[1]) |
---|
| 259 | + | else 0) + (if (aE[1]) |
---|
271 | 260 | | then 1 |
---|
272 | | - | else 0)) + (if (aG[2]) |
---|
| 261 | + | else 0)) + (if (aE[2]) |
---|
273 | 262 | | then 1 |
---|
274 | | - | else 0)) + (if (aG[3]) |
---|
| 263 | + | else 0)) + (if (aE[3]) |
---|
275 | 264 | | then 1 |
---|
276 | | - | else 0)) + (if (aG[4]) |
---|
| 265 | + | else 0)) + (if (aE[4]) |
---|
277 | 266 | | then 1 |
---|
278 | 267 | | else 0)) |
---|
279 | | - | let aI = (((((as(an[0]) * (if (aG[0]) |
---|
| 268 | + | let aG = (((((aq(al[0]) * (if (aE[0]) |
---|
280 | 269 | | then 1 |
---|
281 | | - | else 0)) + (as(an[1]) * (if (aG[1]) |
---|
| 270 | + | else 0)) + (aq(al[1]) * (if (aE[1]) |
---|
282 | 271 | | then 1 |
---|
283 | | - | else 0))) + (as(an[2]) * (if (aG[2]) |
---|
| 272 | + | else 0))) + (aq(al[2]) * (if (aE[2]) |
---|
284 | 273 | | then 1 |
---|
285 | | - | else 0))) + (as(an[3]) * (if (aG[3]) |
---|
| 274 | + | else 0))) + (aq(al[3]) * (if (aE[3]) |
---|
286 | 275 | | then 1 |
---|
287 | | - | else 0))) + (as(an[4]) * (if (aG[4]) |
---|
| 276 | + | else 0))) + (aq(al[4]) * (if (aE[4]) |
---|
288 | 277 | | then 1 |
---|
289 | 278 | | else 0))) |
---|
290 | | - | let aE = (aI / aH) |
---|
291 | | - | if (ag) |
---|
| 279 | + | let aC = (aG / aF) |
---|
| 280 | + | if (ae) |
---|
292 | 281 | | then throw("contract is blocked") |
---|
293 | | - | else if (if (!(af)) |
---|
| 282 | + | else if (if (!(ad)) |
---|
294 | 283 | | then true |
---|
295 | | - | else (ab >= height)) |
---|
| 284 | + | else (Z >= height)) |
---|
296 | 285 | | then throw("wait for the end of the price providing") |
---|
297 | | - | else if ((ah > aH)) |
---|
| 286 | + | else if ((af > aF)) |
---|
298 | 287 | | then throw("3/5 oracles need to set a price") |
---|
299 | | - | else if (if ((aE >= (Y + ((Y * aj) / 100)))) |
---|
| 288 | + | else if (if ((aC >= (W + ((W * ah) / 100)))) |
---|
300 | 289 | | then true |
---|
301 | | - | else ((Y - ((Y * aj) / 100)) >= aE)) |
---|
302 | | - | then WriteSet([DataEntry(E, true), DataEntry(T(height), aE)]) |
---|
| 290 | + | else ((W - ((W * ah) / 100)) >= aC)) |
---|
| 291 | + | then WriteSet([DataEntry(C, true), DataEntry(R(height), aC)]) |
---|
303 | 292 | | else { |
---|
304 | | - | let aJ = (Z + 1) |
---|
305 | | - | WriteSet([DataEntry(B, aE), DataEntry(V(height), aE), DataEntry(D, false), DataEntry(N, aJ), DataEntry(W(aJ), height)]) |
---|
| 293 | + | let aH = (X + 1) |
---|
| 294 | + | WriteSet([DataEntry(z, aC), DataEntry(T(height), aC), DataEntry(B, false), DataEntry(L, aH), DataEntry(U(aH), height)]) |
---|
306 | 295 | | } |
---|
307 | 296 | | } |
---|
308 | 297 | | |
---|
309 | 298 | | |
---|
310 | 299 | | |
---|
311 | | - | @Callable(aD) |
---|
312 | | - | func vote (az) = { |
---|
313 | | - | let aF = toString(aD.caller) |
---|
314 | | - | let aK = p(l(am, aF)) |
---|
315 | | - | let aL = ap(aF) |
---|
316 | | - | let aM = { |
---|
317 | | - | let aN = aK |
---|
318 | | - | let aO = size(aN) |
---|
319 | | - | let aP = nil |
---|
320 | | - | if ((aO == 0)) |
---|
321 | | - | then aP |
---|
| 300 | + | @Callable(aB) |
---|
| 301 | + | func vote (ax) = { |
---|
| 302 | + | let aD = toString(aB.caller) |
---|
| 303 | + | let aI = n(j(ak, aD)) |
---|
| 304 | + | let aJ = an(aD) |
---|
| 305 | + | let aK = { |
---|
| 306 | + | let aL = aI |
---|
| 307 | + | let aM = size(aL) |
---|
| 308 | + | let aN = nil |
---|
| 309 | + | if ((aM == 0)) |
---|
| 310 | + | then aN |
---|
322 | 311 | | else { |
---|
323 | | - | let aQ = aA(aP, aN[0]) |
---|
324 | | - | if ((aO == 1)) |
---|
325 | | - | then aQ |
---|
| 312 | + | let aO = ay(aN, aL[0]) |
---|
| 313 | + | if ((aM == 1)) |
---|
| 314 | + | then aO |
---|
326 | 315 | | else { |
---|
327 | | - | let aR = aA(aQ, aN[1]) |
---|
328 | | - | if ((aO == 2)) |
---|
329 | | - | then aR |
---|
| 316 | + | let aP = ay(aO, aL[1]) |
---|
| 317 | + | if ((aM == 2)) |
---|
| 318 | + | then aP |
---|
330 | 319 | | else { |
---|
331 | | - | let aS = aA(aR, aN[2]) |
---|
332 | | - | if ((aO == 3)) |
---|
333 | | - | then aS |
---|
| 320 | + | let aQ = ay(aP, aL[2]) |
---|
| 321 | + | if ((aM == 3)) |
---|
| 322 | + | then aQ |
---|
334 | 323 | | else { |
---|
335 | | - | let aT = aA(aS, aN[3]) |
---|
336 | | - | if ((aO == 4)) |
---|
337 | | - | then aT |
---|
| 324 | + | let aR = ay(aQ, aL[3]) |
---|
| 325 | + | if ((aM == 4)) |
---|
| 326 | + | then aR |
---|
338 | 327 | | else { |
---|
339 | | - | let aU = aA(aT, aN[4]) |
---|
340 | | - | if ((aO == 5)) |
---|
341 | | - | then aU |
---|
| 328 | + | let aS = ay(aR, aL[4]) |
---|
| 329 | + | if ((aM == 5)) |
---|
| 330 | + | then aS |
---|
342 | 331 | | else { |
---|
343 | | - | let aV = aA(aU, aN[5]) |
---|
| 332 | + | let aT = ay(aS, aL[5]) |
---|
344 | 333 | | throw("List size exceed 5") |
---|
345 | 334 | | } |
---|
346 | 335 | | } |
---|
347 | 336 | | } |
---|
348 | 337 | | } |
---|
349 | 338 | | } |
---|
350 | 339 | | } |
---|
351 | 340 | | } |
---|
352 | | - | let aW = { |
---|
353 | | - | let aX = aK |
---|
354 | | - | let aY = size(aX) |
---|
355 | | - | let aZ = nil |
---|
356 | | - | if ((aY == 0)) |
---|
357 | | - | then aZ |
---|
| 341 | + | let aU = { |
---|
| 342 | + | let aV = aI |
---|
| 343 | + | let aW = size(aV) |
---|
| 344 | + | let aX = nil |
---|
| 345 | + | if ((aW == 0)) |
---|
| 346 | + | then aX |
---|
358 | 347 | | else { |
---|
359 | | - | let ba = aB(aZ, aX[0]) |
---|
360 | | - | if ((aY == 1)) |
---|
361 | | - | then ba |
---|
| 348 | + | let aY = az(aX, aV[0]) |
---|
| 349 | + | if ((aW == 1)) |
---|
| 350 | + | then aY |
---|
362 | 351 | | else { |
---|
363 | | - | let bb = aB(ba, aX[1]) |
---|
364 | | - | if ((aY == 2)) |
---|
365 | | - | then bb |
---|
| 352 | + | let aZ = az(aY, aV[1]) |
---|
| 353 | + | if ((aW == 2)) |
---|
| 354 | + | then aZ |
---|
366 | 355 | | else { |
---|
367 | | - | let bc = aB(bb, aX[2]) |
---|
368 | | - | if ((aY == 3)) |
---|
369 | | - | then bc |
---|
| 356 | + | let ba = az(aZ, aV[2]) |
---|
| 357 | + | if ((aW == 3)) |
---|
| 358 | + | then ba |
---|
370 | 359 | | else { |
---|
371 | | - | let bd = aB(bc, aX[3]) |
---|
372 | | - | if ((aY == 4)) |
---|
373 | | - | then bd |
---|
| 360 | + | let bb = az(ba, aV[3]) |
---|
| 361 | + | if ((aW == 4)) |
---|
| 362 | + | then bb |
---|
374 | 363 | | else { |
---|
375 | | - | let be = aB(bd, aX[4]) |
---|
376 | | - | if ((aY == 5)) |
---|
377 | | - | then be |
---|
| 364 | + | let bc = az(bb, aV[4]) |
---|
| 365 | + | if ((aW == 5)) |
---|
| 366 | + | then bc |
---|
378 | 367 | | else { |
---|
379 | | - | let bf = aB(be, aX[5]) |
---|
| 368 | + | let bd = az(bc, aV[5]) |
---|
380 | 369 | | throw("List size exceed 5") |
---|
381 | 370 | | } |
---|
382 | 371 | | } |
---|
383 | 372 | | } |
---|
384 | 373 | | } |
---|
385 | 374 | | } |
---|
386 | 375 | | } |
---|
387 | 376 | | } |
---|
388 | | - | let bg = { |
---|
389 | | - | let bh = aK |
---|
390 | | - | let bi = size(bh) |
---|
391 | | - | let bj = nil |
---|
392 | | - | if ((bi == 0)) |
---|
393 | | - | then bj |
---|
| 377 | + | let be = { |
---|
| 378 | + | let bf = aI |
---|
| 379 | + | let bg = size(bf) |
---|
| 380 | + | let bh = nil |
---|
| 381 | + | if ((bg == 0)) |
---|
| 382 | + | then bh |
---|
394 | 383 | | else { |
---|
395 | | - | let bk = aC(bj, bh[0]) |
---|
396 | | - | if ((bi == 1)) |
---|
397 | | - | then bk |
---|
| 384 | + | let bi = aA(bh, bf[0]) |
---|
| 385 | + | if ((bg == 1)) |
---|
| 386 | + | then bi |
---|
398 | 387 | | else { |
---|
399 | | - | let bl = aC(bk, bh[1]) |
---|
400 | | - | if ((bi == 2)) |
---|
401 | | - | then bl |
---|
| 388 | + | let bj = aA(bi, bf[1]) |
---|
| 389 | + | if ((bg == 2)) |
---|
| 390 | + | then bj |
---|
402 | 391 | | else { |
---|
403 | | - | let bm = aC(bl, bh[2]) |
---|
404 | | - | if ((bi == 3)) |
---|
405 | | - | then bm |
---|
| 392 | + | let bk = aA(bj, bf[2]) |
---|
| 393 | + | if ((bg == 3)) |
---|
| 394 | + | then bk |
---|
406 | 395 | | else { |
---|
407 | | - | let bn = aC(bm, bh[3]) |
---|
408 | | - | if ((bi == 4)) |
---|
409 | | - | then bn |
---|
| 396 | + | let bl = aA(bk, bf[3]) |
---|
| 397 | + | if ((bg == 4)) |
---|
| 398 | + | then bl |
---|
410 | 399 | | else { |
---|
411 | | - | let bo = aC(bn, bh[4]) |
---|
412 | | - | if ((bi == 5)) |
---|
413 | | - | then bo |
---|
| 400 | + | let bm = aA(bl, bf[4]) |
---|
| 401 | + | if ((bg == 5)) |
---|
| 402 | + | then bm |
---|
414 | 403 | | else { |
---|
415 | | - | let bp = aC(bo, bh[5]) |
---|
| 404 | + | let bn = aA(bm, bf[5]) |
---|
416 | 405 | | throw("List size exceed 5") |
---|
417 | 406 | | } |
---|
418 | 407 | | } |
---|
419 | 408 | | } |
---|
420 | 409 | | } |
---|
421 | 410 | | } |
---|
422 | 411 | | } |
---|
423 | 412 | | } |
---|
424 | | - | let bq = (size(aM) + (if ((az == r)) |
---|
| 413 | + | let bo = (size(aK) + (if ((ax == p)) |
---|
425 | 414 | | then 1 |
---|
426 | 415 | | else 0)) |
---|
427 | | - | let br = (size(aW) + (if ((az == s)) |
---|
| 416 | + | let bp = (size(aU) + (if ((ax == q)) |
---|
428 | 417 | | then 1 |
---|
429 | 418 | | else 0)) |
---|
430 | | - | let bs = (size(bg) + (if ((az == t)) |
---|
| 419 | + | let bq = (size(be) + (if ((ax == r)) |
---|
431 | 420 | | then 1 |
---|
432 | 421 | | else 0)) |
---|
433 | | - | let bt = [DataEntry(L, 0), DataEntry(J, 0), DataEntry(S(aK[0]), ""), DataEntry(S(aK[1]), ""), DataEntry(S(aK[2]), ""), DataEntry(S(aK[3]), "")] |
---|
434 | | - | if (if ((bq >= ai)) |
---|
| 422 | + | let br = [DataEntry(J, 0), DataEntry(H, 0), DataEntry(Q(aI[0]), ""), DataEntry(Q(aI[1]), ""), DataEntry(Q(aI[2]), ""), DataEntry(Q(aI[3]), "")] |
---|
| 423 | + | if (if ((bo >= ag)) |
---|
435 | 424 | | then true |
---|
436 | | - | else (br >= ai)) |
---|
437 | | - | then WriteSet([DataEntry(D, false), DataEntry(E, if ((bq >= ai)) |
---|
| 425 | + | else (bp >= ag)) |
---|
| 426 | + | then WriteSet([DataEntry(B, false), DataEntry(C, if ((bo >= ag)) |
---|
438 | 427 | | then true |
---|
439 | | - | else false)] :: bt) |
---|
440 | | - | else if ((bs > ai)) |
---|
441 | | - | then WriteSet(DataEntry(M, if ((bs > ai)) |
---|
442 | | - | then (height + ae) |
---|
443 | | - | else ad) :: bt) |
---|
444 | | - | else WriteSet([DataEntry(L, if ((height > ac)) |
---|
445 | | - | then (height + ak) |
---|
446 | | - | else ac), DataEntry(S(aF), az)]) |
---|
| 428 | + | else false)] :: br) |
---|
| 429 | + | else if ((bq > ag)) |
---|
| 430 | + | then WriteSet(DataEntry(K, if ((bq > ag)) |
---|
| 431 | + | then (height + ac) |
---|
| 432 | + | else ab) :: br) |
---|
| 433 | + | else WriteSet([DataEntry(J, if ((height > aa)) |
---|
| 434 | + | then (height + ai) |
---|
| 435 | + | else aa), DataEntry(Q(aD), ax)]) |
---|
447 | 436 | | } |
---|
448 | 437 | | |
---|
449 | 438 | | |
---|