tx · BsKGvZso6JoBp7NubG1FPi6m6m7JHCKBJBVEmGeXv8c

3N4LqYvK8toVfW83bVrzvm4VoA55PB21Bmy:  -0.14000000 Waves

2021.11.09 12:04 [1783264] smart account 3N4LqYvK8toVfW83bVrzvm4VoA55PB21Bmy > SELF 0.00000000 Waves

{ "type": 13, "id": "BsKGvZso6JoBp7NubG1FPi6m6m7JHCKBJBVEmGeXv8c", "fee": 14000000, "feeAssetId": null, "timestamp": 1636448690947, "version": 2, "chainId": 84, "sender": "3N4LqYvK8toVfW83bVrzvm4VoA55PB21Bmy", "senderPublicKey": "9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq", "proofs": [ "56oNzEikcUcgtK37amtfZrKNgqQoAJB41y24F9V3NznmienjgujSK7mxVrG6qw3gAqdMhQjhedF1vijwQzdkiHeL", "3uTMSmjDbK9tKFRw9gDnqwhQP1bXvj98CrXU77zXxrSeV3UuQXKoA8WoaM1Jk7StS85ZDxZEPsE6TSHe3U8Uu6Bd" ], "script": "base64:AAIFAAAAAAAAAB4IAhIAEgQKAgEBEgMKAQESABIDCgEBEgASABIAEgAAAAAeAAAAAAxhZG1pblB1YktleTEBAAAAIHxYa3tSxaWNZxxr9KlqtCKnmcTlLLl7jg3ENEFozVB4AAAAAAxhZG1pblB1YktleTIBAAAAIHxYa3tSxaWNZxxr9KlqtCKnmcTlLLl7jg3ENEFozVB4AAAAAAxhZG1pblB1YktleTMBAAAAIHxYa3tSxaWNZxxr9KlqtCKnmcTlLLl7jg3ENEFozVB4AAAAABRhZG1pblB1YktleVN0YXJ0U3RvcAEAAAAgfFhre1LFpY1nHGv0qWq0IqeZxOUsuXuODcQ0QWjNUHgAAAAACWtleUFjdGl2ZQIAAAAGYWN0aXZlAAAAAAhrZXlDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAADGtleVZvdGVTdGFydAIAAAARdm90ZV9zdGFydF9oZWlnaHQAAAAACmtleVZvdGVFbmQCAAAAD3ZvdGVfZW5kX2hlaWdodAAAAAAKa2V5Vm90ZVllcwIAAAAKeWVzX2Ftb3VudAAAAAAQa2V5VXNlckVOTk9Wb3RlZAIAAAAKX0VOTk9fdm90ZQAAAAAWa2V5VXNlckVOTk9Wb3RlZEhlaWdodAIAAAARX0VOTk9fdm90ZV9oZWlnaHQAAAAAFWtleVVzZXJFTk5PVm90ZWRWYWx1ZQIAAAAQX0VOTk9fdm90ZV92YWx1ZQAAAAAYa2V5VXNlckVOTk9Wb3RlZFlFU1ZhbHVlAgAAABRfRU5OT192b3RlX3llc19zaGFyZQAAAAAQa2V5VG90YWxZZXNWb3RlZAIAAAATdG90YWxfRU5OT192b3RlX3llcwAAAAARa2V5VXNlckVOTk9Mb2NrZWQCAAAADF9FTk5PX2Ftb3VudAAAAAASa2V5VG90YWxFTk5PTG9ja2VkAgAAABF0b3RhbF9FTk5PX2Ftb3VudAAAAAAYa2V5VXNlckVOTk9DbGFpbWVkQW1vdW50AgAAABRfRU5OT19jbGFpbWVkX2Ftb3VudAAAAAAca2V5VXNlckVOTk9MYXN0Q2xhaW1lZEFtb3VudAIAAAAZX0VOTk9fbGFzdF9jbGFpbWVkX2Ftb3VudAAAAAAUa2V5VXNlckVOTk9Mb2NrZWRUYWcCAAAABnNoYXJlXwAA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T1ZvdGVkCQEAAAAPZ2V0VXNlclZvdGVEYXRhAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABBrZXlVc2VyRU5OT1ZvdGVkBAAAAA51c2VyRU5OT0xvY2tlZAkBAAAAD2dldFVzZXJWb3RlRGF0YQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlckVOTk9Mb2NrZWQEAAAAEHVzZXJFTk5PVm90ZWROZXcJAABkAAAAAgUAAAANdXNlckVOTk9Wb3RlZAUAAAAKdm90ZUFtb3VudAMJAABmAAAAAgAAAAAAAAAAAAUAAAAQdXNlckVOTk9Wb3RlZE5ldwkAAAIAAAABAgAAACNWb3RlIGFtb3VudCBpcyBtb3JlIHRoYW4gYXZhaWxhYmxlLgQAAAANYXZhaWxhYmxlVm90ZQkAAGUAAAACBQAAAA51c2VyRU5OT0xvY2tlZAUAAAANdXNlckVOTk9Wb3RlZAQAAAANdXNlclZvdGVWYWx1ZQkBAAAACHNldFNoYXJlAAAAAQUAAAAKdm90ZUFtb3VudAMJAABmAAAAAgUAAAAKdm90ZUFtb3VudAUAAAANYXZhaWxhYmxlVm90ZQkAAAIAAAABAgAAACNWb3RlIGFtb3VudCBpcyBtb3JlIHRoYW4gYXZhaWxhYmxlLgQAAAAVdXNlckVOTk9Wb3RlZE5ld1NoYXJlCQAAZAAAAAIFAAAADHVzZXJWb3RlZFllcwUAAAANdXNlclZvdGVWYWx1ZQQAAAAQbmV3VG90YWxZZXNWb3RlZAkAAGQAAAACBQAAAAh0b3RhbFllcwUAAAAVdXNlckVOTk9Wb3RlZE5ld1NoYXJlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyRU5OT1ZvdGVkWUVTVmFsdWUFAAAAFXVzZXJFTk5PVm90ZWROZXdTaGFyZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAQa2V5VXNlckVOTk9Wb3RlZAUAAAAQdXNlckVOTk9Wb3RlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa2V5VG90YWxZZXNWb3RlZAUAAAAQbmV3VG90YWxZZXNWb3RlZAUAAAADbmlsAAAAAWkBAAAACGxvY2tFTk5PAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwNDY3NDQ3NDkJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA0Njc0NDc0OQAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDQ2NzQ0NzQ5AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAERU5OTwkAAAIAAAABAgAAADRJbmNvcnJlY3QgcGF5bWVudCBhc3NldElkIG9ubHkgRW5ubyBDYXNoIGlzIGFsbG93ZWQuBAAAAA51c2VyRU5OT0xvY2tlZAkBAAAAEWdldFVzZXJFTk5PTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABF1c2VyRU5OT0xvY2tlZE5ldwkAAGQAAAACBQAAAA51c2VyRU5OT0xvY2tlZAUAAAAJcG10QW1vdW50BAAAAA90b3RhbEVOTk9Mb2NrZWQJAQAAABJnZXRUb3RhbEVOTk9Mb2NrZWQAAAAABAAAABJ0b3RhbEVOTk9Mb2NrZWROZXcJAABkAAAAAgUAAAAPdG90YWxFTk5PTG9ja2VkBQAAAAlwbXRBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJFTk5PTG9ja2VkBQAAABF1c2VyRU5OT0xvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxFTk5PTG9ja2VkBQAAABJ0b3RhbEVOTk9Mb2NrZWROZXcFAAAAA25pbAAAAAFpAQAAAAx3aXRoZHJhd0VOTk8AAAABAAAADndpdGhkcmF3QW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGcAAAACAAAAAAAAAAAABQAAAA53aXRoZHJhd0Ftb3VudAkAAAIAAAABAgAAABN3aXRoZHJhd0Ftb3VudCA8PSAwBAAAAA90b3RhbEVOTk9Mb2NrZWQJAQAAABJnZXRUb3RhbEVOTk9Mb2NrZWQAAAAABAAAAA51c2VyRU5OT0xvY2tlZAkBAAAAEWdldFVzZXJFTk5PTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyAwkAAGYAAAACBQAAAA53aXRoZHJhd0Ftb3VudAUAAAAPdG90YWxFTk5PTG9ja2VkCQAAAgAAAAECAAAAMXdpdGhkcmF3QW1vdW50IGlzIG1vcmUgdGhhbiBhdmFpbGFibGUgdG8gd2l0aGRyYXcDCQAAZgAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAAA51c2VyRU5OT0xvY2tlZAkAAAIAAAABAgAAADRZb3UgYXJlIHRyeWluZyB0byB1bnN0YWtlIG1vcmUgdGhhbiB5b3UgaGF2ZSBzdGFrZWQuBAAAABJ0b3RhbEVOTk9Mb2NrZWROZXcJAABlAAAAAgUAAAAPdG90YWxFTk5PTG9ja2VkBQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlckVOTk9hbW91bnROZXcJAABlAAAAAgUAAAAOdXNlckVOTk9Mb2NrZWQFAAAADndpdGhkcmF3QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyRU5OT0xvY2tlZAUAAAARdXNlckVOTk9hbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsRU5OT0xvY2tlZAUAAAASdG90YWxFTk5PTG9ja2VkTmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQFAAAABEVOTk8FAAAAA25pbAAAAAFpAQAAABRjbGFpbUFuZFdpdGhkcmF3RU5OTwAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACXVzZXJTaGFyZQkBAAAADmdldENhbGxlclNoYXJlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAEGdldENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIEAAAAC2NsYWltQW1vdW50CQAAZQAAAAIFAAAACXVzZXJTaGFyZQUAAAARdXNlckNsYWltZWRBbW91bnQEAAAAD3RvdGFsRU5OT0xvY2tlZAkBAAAAEmdldFRvdGFsRU5OT0xvY2tlZAAAAAADCQAAZgAAAAIFAAAAC2NsYWltQW1vdW50BQAAAA90b3RhbEVOTk9Mb2NrZWQJAAACAAAAAQIAAAAuY2xhaW1BbW91bnQgaXMgbW9yZSB0aGFuIGF2YWlsYWJsZSB0byB3aXRoZHJhdwMJAABnAAAAAgAAAAAAAAAAAAUAAAALY2xhaW1BbW91bnQJAAACAAAAAQIAAAAiQ2xhaW0gYW1vdW50IG11c3QgYmUgYmlnZ2VyIHRoYW4gMAQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBQAAABhrZXlVc2VyRU5OT0NsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBQAAABxrZXlVc2VyRU5OT0xhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAARFTk5PBQAAAANuaWwAAAABaQEAAAARY2xhaW1BbmRTdGFrZUVOTk8AAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAl1c2VyU2hhcmUJAQAAAA5nZXRDYWxsZXJTaGFyZQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABBnZXRDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBAAAAAtjbGFpbUFtb3VudAkAAGUAAAACBQAAAAl1c2VyU2hhcmUFAAAAEXVzZXJDbGFpbWVkQW1vdW50AwkAAGcAAAACAAAAAAAAAAAABQAAAAtjbGFpbUFtb3VudAkAAAIAAAABAgAAACJDbGFpbSBhbW91bnQgbXVzdCBiZSBiaWdnZXIgdGhhbiAwBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAADnVzZXJFTk5PTG9ja2VkCQEAAAARZ2V0VXNlckVOTk9Mb2NrZWQAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIEAAAAEXVzZXJFTk5PTG9ja2VkTmV3CQAAZAAAAAIFAAAADnVzZXJFTk5PTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAAPdG90YWxFTk5PTG9ja2VkCQEAAAASZ2V0VG90YWxFTk5PTG9ja2VkAAAAAAQAAAASdG90YWxFTk5PTG9ja2VkTmV3CQAAZAAAAAIFAAAAD3RvdGFsRU5OT0xvY2tlZAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIFAAAAEWtleVVzZXJFTk5PTG9ja2VkBQAAABF1c2VyRU5OT0xvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgUAAAAYa2V5VXNlckVOTk9DbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgUAAAAca2V5VXNlckVOTk9MYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsRU5OT0xvY2tlZAUAAAASdG90YWxFTk5PTG9ja2VkTmV3BQAAAANuaWwAAAABaQEAAAAIc2h1dGRvd24AAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABCQABLAAAAAICAAAAIkRBcHAgaXMgYWxyZWFkeSBzdXNwZW5kZWQuIENhdXNlOiAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAIa2V5Q2F1c2UCAAAAGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQEAAAAHc3VzcGVuZAAAAAECAAAAD1BhdXNlZCBieSBhZG1pbgAAAAFpAQAAAAhhY3RpdmF0ZQAAAAADBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAABZEQXBwIGlzIGFscmVhZHkgYWN0aXZlAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAACGtleUNhdXNlBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAABJhZG1pblB1YktleTFTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAMYWRtaW5QdWJLZXkxAAAAAAAAAAABAAAAAAAAAAAABAAAABJhZG1pblB1YktleTJTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAMYWRtaW5QdWJLZXkyAAAAAAAAAAABAAAAAAAAAAAABAAAABJhZG1pblB1YktleTNTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAMYWRtaW5QdWJLZXkzAAAAAAAAAAABAAAAAAAAAAAACQAAZwAAAAIJAABkAAAAAgkAAGQAAAACBQAAABJhZG1pblB1YktleTFTaWduZWQFAAAAEmFkbWluUHViS2V5MlNpZ25lZAUAAAASYWRtaW5QdWJLZXkzU2lnbmVkAAAAAAAAAAACnKgR4w==", "height": 1783264, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3HnUh8ntpaoWexXQJ6Df9NTGZSBHmph5usMR3R3p2peJ Next: 641TTH9Y9VbZBCMbcXjn6UNfKYhMqos6Z6WTci6F1qUQ Diff:
OldNewDifferences
3333
3434 let p = "total_ENNO_amount"
3535
36-let q = "total_ENNO_vote"
36+let q = "_ENNO_claimed_amount"
3737
38-let r = "_ENNO_claimed_amount"
38+let r = "_ENNO_last_claimed_amount"
3939
40-let s = "_ENNO_last_claimed_amount"
40+let s = "share_"
4141
42-let t = "share_"
42+let t = valueOrElse(getBoolean(this, e), true)
4343
44-let u = valueOrElse(getBoolean(this, e), true)
44+let u = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
4545
46-let v = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
46+let v = base58'6TmLfry3GRQoVSaesGSnp6NtZKveYgEopTLsjaGgXoso'
4747
48-let w = base58'6TmLfry3GRQoVSaesGSnp6NtZKveYgEopTLsjaGgXoso'
49-
50-func x (y) = [BooleanEntry(e, false), StringEntry(f, y)]
48+func w (x) = [BooleanEntry(e, false), StringEntry(f, x)]
5149
5250
53-func z (A) = valueOrElse(getInteger(this, (toString(A) + o)), 0)
51+func y (z) = valueOrElse(getInteger(this, (toString(z) + o)), 0)
5452
5553
56-func B () = valueOrElse(getInteger(this, p), 0)
54+func A () = valueOrElse(getInteger(this, p), 0)
5755
5856
59-func C (A,D) = valueOrElse(getInteger(this, (toString(A) + D)), 0)
57+func B (z,C) = valueOrElse(getInteger(this, (toString(z) + C)), 0)
6058
6159
62-func E (D) = valueOrElse(getInteger(this, D), 0)
60+func D (C) = valueOrElse(getInteger(this, C), 0)
6361
6462
65-func F (G) = {
66- let H = getInteger(addressFromPublicKey(v), (t + toString(G)))
67- let I = {
68- let J = H
69- if ($isInstanceOf(J, "Int"))
63+func E (F) = {
64+ let G = getInteger(addressFromPublicKey(u), (s + toString(F)))
65+ let H = {
66+ let I = G
67+ if ($isInstanceOf(I, "Int"))
7068 then {
71- let K = J
72- K
69+ let J = I
70+ J
7371 }
74- else if ($isInstanceOf(J, "Unit"))
72+ else if ($isInstanceOf(I, "Unit"))
7573 then {
76- let K = J
74+ let J = I
7775 throw("Only governance qualifiers can call this function.")
7876 }
7977 else throw("Match error")
8078 }
81- I
79+ H
8280 }
8381
8482
85-func L (G) = {
86- let M = getInteger(this, (toString(G) + r))
87- let N = {
88- let J = M
89- if ($isInstanceOf(J, "Int"))
83+func K (F) = {
84+ let L = getInteger(this, (toString(F) + q))
85+ let M = {
86+ let I = L
87+ if ($isInstanceOf(I, "Int"))
9088 then {
91- let K = J
92- K
89+ let J = I
90+ J
9391 }
94- else if ($isInstanceOf(J, "Unit"))
92+ else if ($isInstanceOf(I, "Unit"))
9593 then {
96- let K = J
94+ let J = I
9795 0
9896 }
9997 else throw("Match error")
10098 }
101- N
99+ M
102100 }
103101
104102
105-func O (P) = {
106- let Q = (E(h) - height)
107- let K = fraction(P, Q, 100000000)
108- K
103+func N (O) = {
104+ let P = (D(h) - height)
105+ let J = fraction(O, P, 100000000)
106+ J
109107 }
110108
111109
112-@Callable(R)
113-func claimAirdrop () = if (!(u))
110+@Callable(Q)
111+func claimAirdrop () = if (!(t))
114112 then throw("DApp is inactive at this moment")
115- else [DeleteEntry((toString(R.caller) + m)), DeleteEntry((toString(R.caller) + j))]
113+ else [DeleteEntry((toString(Q.caller) + m)), DeleteEntry((toString(Q.caller) + j)), DeleteEntry("total_ENNO_vote")]
116114
117115
118116
119-@Callable(R)
120-func initVote (S,T) = if (!(u))
117+@Callable(Q)
118+func initVote (R,S) = if (!(t))
121119 then throw("DApp is inactive at this moment")
122- else [IntegerEntry(g, S), IntegerEntry(h, T), IntegerEntry(q, 0), IntegerEntry(n, 0)]
120+ else [IntegerEntry(g, R), IntegerEntry(h, S), IntegerEntry(n, 0)]
123121
124122
125123
126-@Callable(R)
127-func vote (U) = if (!(u))
124+@Callable(Q)
125+func vote (T) = if (!(t))
128126 then throw("DApp is inactive at this moment")
129- else if ((E(g) > height))
127+ else if ((D(g) > height))
130128 then throw("Voting has not started yet.")
131- else if ((height > E(h)))
129+ else if ((height > D(h)))
132130 then throw("Voting has already ended.")
133131 else {
134- let V = E(n)
135- let W = C(R.caller, m)
136- let X = C(R.caller, j)
137- let Y = C(R.caller, o)
138- let Z = (X + U)
139- if ((0 > Z))
132+ let U = D(n)
133+ let V = B(Q.caller, m)
134+ let W = B(Q.caller, j)
135+ let X = B(Q.caller, o)
136+ let Y = (W + T)
137+ if ((0 > Y))
140138 then throw("Vote amount is more than available.")
141139 else {
142- let aa = (Y - X)
143- let ab = O(U)
144- if ((U > aa))
140+ let Z = (X - W)
141+ let aa = N(T)
142+ if ((T > Z))
145143 then throw("Vote amount is more than available.")
146144 else {
147- let ac = (W + ab)
148- let ad = (V + ac)
149- let ae = E(q)
150- let af = (ae + ab)
151-[IntegerEntry((toString(R.caller) + m), ac), IntegerEntry((toString(R.caller) + j), Z), IntegerEntry(q, af), IntegerEntry(n, ad)]
145+ let ab = (V + aa)
146+ let ac = (U + ab)
147+[IntegerEntry((toString(Q.caller) + m), ab), IntegerEntry((toString(Q.caller) + j), Y), IntegerEntry(n, ac)]
152148 }
153149 }
154150 }
155151
156152
157153
158-@Callable(R)
159-func lockENNO () = if (!(u))
154+@Callable(Q)
155+func lockENNO () = if (!(t))
160156 then throw("DApp is inactive at this moment")
161157 else {
162- let ag = $Tuple2(R.payments[0].amount, R.payments[0].assetId)
163- let ah = ag._1
164- let ai = ag._2
165- if ((ai != w))
158+ let ad = $Tuple2(Q.payments[0].amount, Q.payments[0].assetId)
159+ let ae = ad._1
160+ let af = ad._2
161+ if ((af != v))
166162 then throw("Incorrect payment assetId only Enno Cash is allowed.")
167163 else {
168- let Y = z(R.caller)
169- let aj = (Y + ah)
170- let ak = B()
171- let al = (ak + ah)
172-[IntegerEntry((toString(R.caller) + o), aj), IntegerEntry(p, al)]
164+ let X = y(Q.caller)
165+ let ag = (X + ae)
166+ let ah = A()
167+ let ai = (ah + ae)
168+[IntegerEntry((toString(Q.caller) + o), ag), IntegerEntry(p, ai)]
173169 }
174170 }
175171
176172
177173
178-@Callable(R)
179-func withdrawENNO (am) = if (!(u))
174+@Callable(Q)
175+func withdrawENNO (aj) = if (!(t))
180176 then throw("DApp is inactive at this moment")
181- else if ((0 >= am))
177+ else if ((0 >= aj))
182178 then throw("withdrawAmount <= 0")
183179 else {
184- let ak = B()
185- let Y = z(R.caller)
186- if ((am > ak))
180+ let ah = A()
181+ let X = y(Q.caller)
182+ if ((aj > ah))
187183 then throw("withdrawAmount is more than available to withdraw")
188- else if ((am > Y))
184+ else if ((aj > X))
189185 then throw("You are trying to unstake more than you have staked.")
190186 else {
191- let al = (ak - am)
192- let an = (Y - am)
193-[IntegerEntry((toString(R.caller) + o), an), IntegerEntry(p, al), ScriptTransfer(R.caller, am, w)]
187+ let ai = (ah - aj)
188+ let ak = (X - aj)
189+[IntegerEntry((toString(Q.caller) + o), ak), IntegerEntry(p, ai), ScriptTransfer(Q.caller, aj, v)]
194190 }
195191 }
196192
197193
198194
199-@Callable(R)
200-func claimAndWithdrawENNO () = if (!(u))
195+@Callable(Q)
196+func claimAndWithdrawENNO () = if (!(t))
201197 then throw("DApp is inactive at this moment")
202198 else {
203- let ao = F(R.originCaller)
204- let ap = L(R.originCaller)
205- let aq = (ao - ap)
206- let ak = B()
207- if ((aq > ak))
199+ let al = E(Q.originCaller)
200+ let am = K(Q.originCaller)
201+ let an = (al - am)
202+ let ah = A()
203+ if ((an > ah))
208204 then throw("claimAmount is more than available to withdraw")
209- else if ((0 >= aq))
205+ else if ((0 >= an))
210206 then throw("Claim amount must be bigger than 0")
211207 else {
212- let ar = (ap + aq)
213-[IntegerEntry((toString(R.originCaller) + r), ar), IntegerEntry((toString(R.originCaller) + s), aq), ScriptTransfer(R.originCaller, aq, w)]
208+ let ao = (am + an)
209+[IntegerEntry((toString(Q.originCaller) + q), ao), IntegerEntry((toString(Q.originCaller) + r), an), ScriptTransfer(Q.originCaller, an, v)]
214210 }
215211 }
216212
217213
218214
219-@Callable(R)
220-func claimAndStakeENNO () = if (!(u))
215+@Callable(Q)
216+func claimAndStakeENNO () = if (!(t))
221217 then throw("DApp is inactive at this moment")
222218 else {
223- let ao = F(R.originCaller)
224- let ap = L(R.originCaller)
225- let aq = (ao - ap)
226- if ((0 >= aq))
219+ let al = E(Q.originCaller)
220+ let am = K(Q.originCaller)
221+ let an = (al - am)
222+ if ((0 >= an))
227223 then throw("Claim amount must be bigger than 0")
228224 else {
229- let ar = (ap + aq)
230- let Y = z(R.originCaller)
231- let aj = (Y + aq)
232- let ak = B()
233- let al = (ak + aq)
234-[IntegerEntry((toString(R.originCaller) + o), aj), IntegerEntry((toString(R.originCaller) + r), ar), IntegerEntry((toString(R.originCaller) + s), aq), IntegerEntry(p, al)]
225+ let ao = (am + an)
226+ let X = y(Q.originCaller)
227+ let ag = (X + an)
228+ let ah = A()
229+ let ai = (ah + an)
230+[IntegerEntry((toString(Q.originCaller) + o), ag), IntegerEntry((toString(Q.originCaller) + q), ao), IntegerEntry((toString(Q.originCaller) + r), an), IntegerEntry(p, ai)]
235231 }
236232 }
237233
238234
239235
240-@Callable(R)
241-func shutdown () = if (!(u))
236+@Callable(Q)
237+func shutdown () = if (!(t))
242238 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, f), "the cause wasn't specified")))
243- else if (!(containsElement([a, b, c, d], R.callerPublicKey)))
239+ else if (!(containsElement([a, b, c, d], Q.callerPublicKey)))
244240 then throw("Only admin can call this function")
245- else x("Paused by admin")
241+ else w("Paused by admin")
246242
247243
248244
249-@Callable(R)
250-func activate () = if (u)
245+@Callable(Q)
246+func activate () = if (t)
251247 then throw("DApp is already active")
252- else if (!(containsElement([a, b, c, d], R.callerPublicKey)))
248+ else if (!(containsElement([a, b, c, d], Q.callerPublicKey)))
253249 then throw("Only admin can call this function")
254250 else [BooleanEntry(e, true), DeleteEntry(f)]
255251
256252
257-@Verifier(as)
258-func at () = {
259- let au = if (sigVerify(as.bodyBytes, as.proofs[0], a))
253+@Verifier(ap)
254+func aq () = {
255+ let ar = if (sigVerify(ap.bodyBytes, ap.proofs[0], a))
260256 then 1
261257 else 0
262- let av = if (sigVerify(as.bodyBytes, as.proofs[1], b))
258+ let as = if (sigVerify(ap.bodyBytes, ap.proofs[1], b))
263259 then 1
264260 else 0
265- let aw = if (sigVerify(as.bodyBytes, as.proofs[2], c))
261+ let at = if (sigVerify(ap.bodyBytes, ap.proofs[2], c))
266262 then 1
267263 else 0
268- (((au + av) + aw) >= 2)
264+ (((ar + as) + at) >= 2)
269265 }
270266
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
55
66 let b = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
77
88 let c = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
99
1010 let d = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
1111
1212 let e = "active"
1313
1414 let f = "shutdown_cause"
1515
1616 let g = "vote_start_height"
1717
1818 let h = "vote_end_height"
1919
2020 let i = "yes_amount"
2121
2222 let j = "_ENNO_vote"
2323
2424 let k = "_ENNO_vote_height"
2525
2626 let l = "_ENNO_vote_value"
2727
2828 let m = "_ENNO_vote_yes_share"
2929
3030 let n = "total_ENNO_vote_yes"
3131
3232 let o = "_ENNO_amount"
3333
3434 let p = "total_ENNO_amount"
3535
36-let q = "total_ENNO_vote"
36+let q = "_ENNO_claimed_amount"
3737
38-let r = "_ENNO_claimed_amount"
38+let r = "_ENNO_last_claimed_amount"
3939
40-let s = "_ENNO_last_claimed_amount"
40+let s = "share_"
4141
42-let t = "share_"
42+let t = valueOrElse(getBoolean(this, e), true)
4343
44-let u = valueOrElse(getBoolean(this, e), true)
44+let u = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
4545
46-let v = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
46+let v = base58'6TmLfry3GRQoVSaesGSnp6NtZKveYgEopTLsjaGgXoso'
4747
48-let w = base58'6TmLfry3GRQoVSaesGSnp6NtZKveYgEopTLsjaGgXoso'
49-
50-func x (y) = [BooleanEntry(e, false), StringEntry(f, y)]
48+func w (x) = [BooleanEntry(e, false), StringEntry(f, x)]
5149
5250
53-func z (A) = valueOrElse(getInteger(this, (toString(A) + o)), 0)
51+func y (z) = valueOrElse(getInteger(this, (toString(z) + o)), 0)
5452
5553
56-func B () = valueOrElse(getInteger(this, p), 0)
54+func A () = valueOrElse(getInteger(this, p), 0)
5755
5856
59-func C (A,D) = valueOrElse(getInteger(this, (toString(A) + D)), 0)
57+func B (z,C) = valueOrElse(getInteger(this, (toString(z) + C)), 0)
6058
6159
62-func E (D) = valueOrElse(getInteger(this, D), 0)
60+func D (C) = valueOrElse(getInteger(this, C), 0)
6361
6462
65-func F (G) = {
66- let H = getInteger(addressFromPublicKey(v), (t + toString(G)))
67- let I = {
68- let J = H
69- if ($isInstanceOf(J, "Int"))
63+func E (F) = {
64+ let G = getInteger(addressFromPublicKey(u), (s + toString(F)))
65+ let H = {
66+ let I = G
67+ if ($isInstanceOf(I, "Int"))
7068 then {
71- let K = J
72- K
69+ let J = I
70+ J
7371 }
74- else if ($isInstanceOf(J, "Unit"))
72+ else if ($isInstanceOf(I, "Unit"))
7573 then {
76- let K = J
74+ let J = I
7775 throw("Only governance qualifiers can call this function.")
7876 }
7977 else throw("Match error")
8078 }
81- I
79+ H
8280 }
8381
8482
85-func L (G) = {
86- let M = getInteger(this, (toString(G) + r))
87- let N = {
88- let J = M
89- if ($isInstanceOf(J, "Int"))
83+func K (F) = {
84+ let L = getInteger(this, (toString(F) + q))
85+ let M = {
86+ let I = L
87+ if ($isInstanceOf(I, "Int"))
9088 then {
91- let K = J
92- K
89+ let J = I
90+ J
9391 }
94- else if ($isInstanceOf(J, "Unit"))
92+ else if ($isInstanceOf(I, "Unit"))
9593 then {
96- let K = J
94+ let J = I
9795 0
9896 }
9997 else throw("Match error")
10098 }
101- N
99+ M
102100 }
103101
104102
105-func O (P) = {
106- let Q = (E(h) - height)
107- let K = fraction(P, Q, 100000000)
108- K
103+func N (O) = {
104+ let P = (D(h) - height)
105+ let J = fraction(O, P, 100000000)
106+ J
109107 }
110108
111109
112-@Callable(R)
113-func claimAirdrop () = if (!(u))
110+@Callable(Q)
111+func claimAirdrop () = if (!(t))
114112 then throw("DApp is inactive at this moment")
115- else [DeleteEntry((toString(R.caller) + m)), DeleteEntry((toString(R.caller) + j))]
113+ else [DeleteEntry((toString(Q.caller) + m)), DeleteEntry((toString(Q.caller) + j)), DeleteEntry("total_ENNO_vote")]
116114
117115
118116
119-@Callable(R)
120-func initVote (S,T) = if (!(u))
117+@Callable(Q)
118+func initVote (R,S) = if (!(t))
121119 then throw("DApp is inactive at this moment")
122- else [IntegerEntry(g, S), IntegerEntry(h, T), IntegerEntry(q, 0), IntegerEntry(n, 0)]
120+ else [IntegerEntry(g, R), IntegerEntry(h, S), IntegerEntry(n, 0)]
123121
124122
125123
126-@Callable(R)
127-func vote (U) = if (!(u))
124+@Callable(Q)
125+func vote (T) = if (!(t))
128126 then throw("DApp is inactive at this moment")
129- else if ((E(g) > height))
127+ else if ((D(g) > height))
130128 then throw("Voting has not started yet.")
131- else if ((height > E(h)))
129+ else if ((height > D(h)))
132130 then throw("Voting has already ended.")
133131 else {
134- let V = E(n)
135- let W = C(R.caller, m)
136- let X = C(R.caller, j)
137- let Y = C(R.caller, o)
138- let Z = (X + U)
139- if ((0 > Z))
132+ let U = D(n)
133+ let V = B(Q.caller, m)
134+ let W = B(Q.caller, j)
135+ let X = B(Q.caller, o)
136+ let Y = (W + T)
137+ if ((0 > Y))
140138 then throw("Vote amount is more than available.")
141139 else {
142- let aa = (Y - X)
143- let ab = O(U)
144- if ((U > aa))
140+ let Z = (X - W)
141+ let aa = N(T)
142+ if ((T > Z))
145143 then throw("Vote amount is more than available.")
146144 else {
147- let ac = (W + ab)
148- let ad = (V + ac)
149- let ae = E(q)
150- let af = (ae + ab)
151-[IntegerEntry((toString(R.caller) + m), ac), IntegerEntry((toString(R.caller) + j), Z), IntegerEntry(q, af), IntegerEntry(n, ad)]
145+ let ab = (V + aa)
146+ let ac = (U + ab)
147+[IntegerEntry((toString(Q.caller) + m), ab), IntegerEntry((toString(Q.caller) + j), Y), IntegerEntry(n, ac)]
152148 }
153149 }
154150 }
155151
156152
157153
158-@Callable(R)
159-func lockENNO () = if (!(u))
154+@Callable(Q)
155+func lockENNO () = if (!(t))
160156 then throw("DApp is inactive at this moment")
161157 else {
162- let ag = $Tuple2(R.payments[0].amount, R.payments[0].assetId)
163- let ah = ag._1
164- let ai = ag._2
165- if ((ai != w))
158+ let ad = $Tuple2(Q.payments[0].amount, Q.payments[0].assetId)
159+ let ae = ad._1
160+ let af = ad._2
161+ if ((af != v))
166162 then throw("Incorrect payment assetId only Enno Cash is allowed.")
167163 else {
168- let Y = z(R.caller)
169- let aj = (Y + ah)
170- let ak = B()
171- let al = (ak + ah)
172-[IntegerEntry((toString(R.caller) + o), aj), IntegerEntry(p, al)]
164+ let X = y(Q.caller)
165+ let ag = (X + ae)
166+ let ah = A()
167+ let ai = (ah + ae)
168+[IntegerEntry((toString(Q.caller) + o), ag), IntegerEntry(p, ai)]
173169 }
174170 }
175171
176172
177173
178-@Callable(R)
179-func withdrawENNO (am) = if (!(u))
174+@Callable(Q)
175+func withdrawENNO (aj) = if (!(t))
180176 then throw("DApp is inactive at this moment")
181- else if ((0 >= am))
177+ else if ((0 >= aj))
182178 then throw("withdrawAmount <= 0")
183179 else {
184- let ak = B()
185- let Y = z(R.caller)
186- if ((am > ak))
180+ let ah = A()
181+ let X = y(Q.caller)
182+ if ((aj > ah))
187183 then throw("withdrawAmount is more than available to withdraw")
188- else if ((am > Y))
184+ else if ((aj > X))
189185 then throw("You are trying to unstake more than you have staked.")
190186 else {
191- let al = (ak - am)
192- let an = (Y - am)
193-[IntegerEntry((toString(R.caller) + o), an), IntegerEntry(p, al), ScriptTransfer(R.caller, am, w)]
187+ let ai = (ah - aj)
188+ let ak = (X - aj)
189+[IntegerEntry((toString(Q.caller) + o), ak), IntegerEntry(p, ai), ScriptTransfer(Q.caller, aj, v)]
194190 }
195191 }
196192
197193
198194
199-@Callable(R)
200-func claimAndWithdrawENNO () = if (!(u))
195+@Callable(Q)
196+func claimAndWithdrawENNO () = if (!(t))
201197 then throw("DApp is inactive at this moment")
202198 else {
203- let ao = F(R.originCaller)
204- let ap = L(R.originCaller)
205- let aq = (ao - ap)
206- let ak = B()
207- if ((aq > ak))
199+ let al = E(Q.originCaller)
200+ let am = K(Q.originCaller)
201+ let an = (al - am)
202+ let ah = A()
203+ if ((an > ah))
208204 then throw("claimAmount is more than available to withdraw")
209- else if ((0 >= aq))
205+ else if ((0 >= an))
210206 then throw("Claim amount must be bigger than 0")
211207 else {
212- let ar = (ap + aq)
213-[IntegerEntry((toString(R.originCaller) + r), ar), IntegerEntry((toString(R.originCaller) + s), aq), ScriptTransfer(R.originCaller, aq, w)]
208+ let ao = (am + an)
209+[IntegerEntry((toString(Q.originCaller) + q), ao), IntegerEntry((toString(Q.originCaller) + r), an), ScriptTransfer(Q.originCaller, an, v)]
214210 }
215211 }
216212
217213
218214
219-@Callable(R)
220-func claimAndStakeENNO () = if (!(u))
215+@Callable(Q)
216+func claimAndStakeENNO () = if (!(t))
221217 then throw("DApp is inactive at this moment")
222218 else {
223- let ao = F(R.originCaller)
224- let ap = L(R.originCaller)
225- let aq = (ao - ap)
226- if ((0 >= aq))
219+ let al = E(Q.originCaller)
220+ let am = K(Q.originCaller)
221+ let an = (al - am)
222+ if ((0 >= an))
227223 then throw("Claim amount must be bigger than 0")
228224 else {
229- let ar = (ap + aq)
230- let Y = z(R.originCaller)
231- let aj = (Y + aq)
232- let ak = B()
233- let al = (ak + aq)
234-[IntegerEntry((toString(R.originCaller) + o), aj), IntegerEntry((toString(R.originCaller) + r), ar), IntegerEntry((toString(R.originCaller) + s), aq), IntegerEntry(p, al)]
225+ let ao = (am + an)
226+ let X = y(Q.originCaller)
227+ let ag = (X + an)
228+ let ah = A()
229+ let ai = (ah + an)
230+[IntegerEntry((toString(Q.originCaller) + o), ag), IntegerEntry((toString(Q.originCaller) + q), ao), IntegerEntry((toString(Q.originCaller) + r), an), IntegerEntry(p, ai)]
235231 }
236232 }
237233
238234
239235
240-@Callable(R)
241-func shutdown () = if (!(u))
236+@Callable(Q)
237+func shutdown () = if (!(t))
242238 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, f), "the cause wasn't specified")))
243- else if (!(containsElement([a, b, c, d], R.callerPublicKey)))
239+ else if (!(containsElement([a, b, c, d], Q.callerPublicKey)))
244240 then throw("Only admin can call this function")
245- else x("Paused by admin")
241+ else w("Paused by admin")
246242
247243
248244
249-@Callable(R)
250-func activate () = if (u)
245+@Callable(Q)
246+func activate () = if (t)
251247 then throw("DApp is already active")
252- else if (!(containsElement([a, b, c, d], R.callerPublicKey)))
248+ else if (!(containsElement([a, b, c, d], Q.callerPublicKey)))
253249 then throw("Only admin can call this function")
254250 else [BooleanEntry(e, true), DeleteEntry(f)]
255251
256252
257-@Verifier(as)
258-func at () = {
259- let au = if (sigVerify(as.bodyBytes, as.proofs[0], a))
253+@Verifier(ap)
254+func aq () = {
255+ let ar = if (sigVerify(ap.bodyBytes, ap.proofs[0], a))
260256 then 1
261257 else 0
262- let av = if (sigVerify(as.bodyBytes, as.proofs[1], b))
258+ let as = if (sigVerify(ap.bodyBytes, ap.proofs[1], b))
263259 then 1
264260 else 0
265- let aw = if (sigVerify(as.bodyBytes, as.proofs[2], c))
261+ let at = if (sigVerify(ap.bodyBytes, ap.proofs[2], c))
266262 then 1
267263 else 0
268- (((au + av) + aw) >= 2)
264+ (((ar + as) + at) >= 2)
269265 }
270266

github/deemru/w8io/873ac7e 
110.16 ms