tx · D7VgU9j62reDEHokTuj67449V5P1TRpvZWdGUrueMCUP

3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez:  -0.01400000 Waves

2023.11.12 12:36 [2839956] smart account 3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez > SELF 0.00000000 Waves

{ "type": 13, "id": "D7VgU9j62reDEHokTuj67449V5P1TRpvZWdGUrueMCUP", "fee": 1400000, "feeAssetId": null, "timestamp": 1699781858929, "version": 2, "chainId": 84, "sender": "3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez", "senderPublicKey": "Brp6cacBXyKUcZr5Uc6VDKsnFcaEeQ8nQzrZQyobDsuf", "proofs": [ "3yPT628LHq1JrBprwEsxHNUJnoMgo3jMc4aQjVpQcVYQ3ekcCqyV9AZJo9dBrP2QiFgCFNpnWZeKrGYJyfNJkgRp" ], "script": "base64:BgISCAISABIAEgASABIAEgASABIAFgACZDgAgMLXLwAScmVnaXN0cmF0aW9uQ2xvc2VkAAEAF3JlZ2lzdHJhdGlvblJlcXVpcmVtZW50CQBoAgDAuAIFAmQ4AQ10cnlHZXRJbnRlZ2VyAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAmggCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABDHRyeUdldFN0cmluZwIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJ0IAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYgUHJG1hdGNoMAUBYgIAAAdidXJueHRuASAkT3V5an4zObj7DP+EqXFcXsot3jOgxF1p+epEEexMVAAJd2hpcmxwb29sASBZ443cwrUjukoU3MTQrxQJ5mTmBL4lBgsmTuVQbZdZxwADUFoxARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgADUFoyARoBV/VGaCeADWjfTiZ1erSh0ygx4Am/9Xl5NwADUFozARoBV2tSHeFnXWIznET2mm8K7tVVyNog/OzmxwADUFo0ARoBV3y58iQseR35wgthXaflS34+Zvgx2eQg4gADUFo1ARoBV3MzW4tWeScsR41xkPYsILP5P0KX/ZxF0gADUFo2ARoBV0cdZvqwlGFolgcyrrZA46H/c85PJthHugAHV1hzdGFrZQEaAVfrO+d+bgUYwpGkmBYX4WbXRScg7iVJVqgAA1dYMQEaAVcr4q5xe33JMLUgeecWxWttV0CBpTgWPT4AA0xQMQIsR3lpSGRjTjU5c1o0NmJhRnZqNjhydUxuZ3JUUEV2V0R0c2Q2akhtNG80Nm4AA1dYMgEaAVfBF8tIQs4FU0OKR1yIZ5T0F9XHwtTUw1IAA0xQMgIsM01QSE1KVndZR3llQkxSc0gxUnNZaHJUbWVtdjc1MkFFQnd1RkZWN2c0OVoBBVBaYmFsAgtQb29sYWRkcmVzcwdhZGRyZXNzBAtidXJueHRuSW5QWgkBDXRyeUdldEludGVnZXICCQEHQWRkcmVzcwEFC1Bvb2xhZGRyZXNzCQCsAgIJAKwCAgIHZ2xvYmFsXwkA2AQBBQdidXJueHRuAghfYmFsYW5jZQQOYWRkcmVzc1N0YWtlUFoJAQ10cnlHZXRJbnRlZ2VyAgkBB0FkZHJlc3MBBQtQb29sYWRkcmVzcwkArAICCQClCAEFB2FkZHJlc3MCDF9pbmRleFN0YWtlZAQMdG90YWxTdGFrZVBaCQENdHJ5R2V0SW50ZWdlcgIJAQdBZGRyZXNzAQULUG9vbGFkZHJlc3MCF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50CQBrAwULYnVybnh0bkluUFoFDmFkZHJlc3NTdGFrZVBaBQx0b3RhbFN0YWtlUFoBBVdYYmFsAwtQb29sYWRkcmVzcwdhZGRyZXNzBUxQc3RyBAtidXJueHRuSW5XWAkA8AcCCQEHQWRkcmVzcwEFC1Bvb2xhZGRyZXNzBQdidXJueHRuBA5hZGRyZXNzU3Rha2VXWAkBDXRyeUdldEludGVnZXICCQEHQWRkcmVzcwEFB1dYc3Rha2UJAKwCAgkArAICCQCsAgICECVzJXMlc19fc3Rha2VkX18JAKUIAQUHYWRkcmVzcwICX18FBUxQc3RyBAx0b3RhbFN0YWtlV1gJAQ10cnlHZXRJbnRlZ2VyAgkBB0FkZHJlc3MBBQdXWHN0YWtlCQCsAgICFyVzJXMlc19fc3Rha2VkX190b3RhbF9fBQVMUHN0cgkAawMFC2J1cm54dG5JbldYBQ5hZGRyZXNzU3Rha2VXWAUMdG90YWxTdGFrZVdYAQx0b3RhbEJhbGFuY2UBB2FkZHJlc3MEDmJ1cm54dG5CYWxhbmNlCQDwBwIFB2FkZHJlc3MFB2J1cm54dG4EClBaMWJhbGFuY2UJAQVQWmJhbAIFA1BaMQUHYWRkcmVzcwQKUFoyYmFsYW5jZQkBBVBaYmFsAgUDUFoyBQdhZGRyZXNzBApQWjNiYWxhbmNlCQEFUFpiYWwCBQNQWjMFB2FkZHJlc3MEClBaNGJhbGFuY2UJAQVQWmJhbAIFA1BaNAUHYWRkcmVzcwQKUFo1YmFsYW5jZQkBBVBaYmFsAgUDUFo1BQdhZGRyZXNzBApQWjZiYWxhbmNlCQEFUFpiYWwCBQNQWjYFB2FkZHJlc3MECldYMWJhbGFuY2UJAQVXWGJhbAMFA1dYMQUHYWRkcmVzcwUDTFAxBApXWDJiYWxhbmNlCQEFV1hiYWwDBQNXWDIFB2FkZHJlc3MFA0xQMgQFdG90YWwJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgUOYnVybnh0bkJhbGFuY2UFClBaMWJhbGFuY2UFClBaMmJhbGFuY2UFClBaM2JhbGFuY2UFClBaNGJhbGFuY2UFClBaNWJhbGFuY2UFClBaNmJhbGFuY2UFCldYMWJhbGFuY2UFCldYMmJhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQICDmJ1cm54dG5CYWxhbmNlBQ5idXJueHRuQmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFoxYmFsYW5jZQUKUFoxYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFoyYmFsYW5jZQUKUFoyYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFozYmFsYW5jZQUKUFozYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFo0YmFsYW5jZQUKUFo0YmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFo1YmFsYW5jZQUKUFo1YmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFo2YmFsYW5jZQUKUFo2YmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKV1gxYmFsYW5jZQUKV1gxYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKV1gyYmFsYW5jZQUKV1gyYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIFdG90YWwFBXRvdGFsBQNuaWwBDXRvdGFsQmFsYW5jZTIBB2FkZHJlc3MEDmJ1cm54dG5CYWxhbmNlCQDwBwIFB2FkZHJlc3MFB2J1cm54dG4EClBaMWJhbGFuY2UJAQVQWmJhbAIFA1BaMQUHYWRkcmVzcwQKUFoyYmFsYW5jZQkBBVBaYmFsAgUDUFoyBQdhZGRyZXNzBApQWjNiYWxhbmNlCQEFUFpiYWwCBQNQWjMFB2FkZHJlc3MEClBaNGJhbGFuY2UJAQVQWmJhbAIFA1BaNAUHYWRkcmVzcwQKUFo1YmFsYW5jZQkBBVBaYmFsAgUDUFo1BQdhZGRyZXNzBApQWjZiYWxhbmNlCQEFUFpiYWwCBQNQWjYFB2FkZHJlc3MECldYMWJhbGFuY2UJAQVXWGJhbAMFA1dYMQUHYWRkcmVzcwUDTFAxBApXWDJiYWxhbmNlCQEFV1hiYWwDBQNXWDIFB2FkZHJlc3MFA0xQMgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCBQ5idXJueHRuQmFsYW5jZQUKUFoxYmFsYW5jZQUKUFoyYmFsYW5jZQUKUFozYmFsYW5jZQUKUFo0YmFsYW5jZQUKUFo1YmFsYW5jZQUKUFo2YmFsYW5jZQUKV1gxYmFsYW5jZQUKV1gyYmFsYW5jZQgBaQEIcmVnaXN0ZXIAAwkBCGNvbnRhaW5zAgkBDHRyeUdldFN0cmluZwIFBHRoaXMCEkFkZHJlc3MgcmVnaXN0ZXJlZAkApQgBCAUBaQZjYWxsZXIJAAIBAhJhbHJlYWR5IHJlZ2lzdGVyZWQDCQBmAgUGaGVpZ2h0BRJyZWdpc3RyYXRpb25DbG9zZWQJAAIBAhNyZWdpc3RyYXRpb24gY2xvc2VkAwkAZgIFF3JlZ2lzdHJhdGlvblJlcXVpcmVtZW50CQENdG90YWxCYWxhbmNlMgEIBQFpBmNhbGxlcgkAAgECN2hhdmUgYXRsZWFzdCA0MGsgQlVSTi1YVE4gaW4gd2FsbGV0IGFuZCBsaXF1aWRpdHkgcG9vbHMDCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzAhFBbW91bnQgUmVnaXN0ZXJlZABjCQACAQITcmVnaXN0cmF0aW9uIGNsb3NlZAkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhFBbW91bnQgUmVnaXN0ZXJlZAkAZAIJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwIRQW1vdW50IFJlZ2lzdGVyZWQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgICElJlZ2lzdGVyIGFkZHJlc3M6IAkApAMBCQBkAgkBDXRyeUdldEludGVnZXICBQR0aGlzAhFBbW91bnQgUmVnaXN0ZXJlZAABCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCAhJBZGRyZXNzIHJlZ2lzdGVyZWQJAKwCAgkArAICCQEMdHJ5R2V0U3RyaW5nAgUEdGhpcwISQWRkcmVzcyByZWdpc3RlcmVkCQClCAEIBQFpBmNhbGxlcgIBLAUDbmlsCQEMdG90YWxCYWxhbmNlAQgFAWkGY2Fs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ZWRzIDk4CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgkAzggCBQNuaWwFCGVudGVyRGlmAWkBB3dpbm5lcnMAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQGZmlsdGVyCQD8BwQFBHRoaXMCBmZpbHRlcgUDbmlsBQNuaWwDCQAAAgUGZmlsdGVyBQZmaWx0ZXIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQZmaWx0ZXIAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQJYWRkcmVzc2VzCQCzAgIJAQx0cnlHZXRTdHJpbmcCBQR0aGlzAhJBZGRyZXNzIHJlZ2lzdGVyZWQAAQQEbGlzdAkAtQkCBQlhZGRyZXNzZXMCASwECGxpc3RTaXplCQCQAwEFBGxpc3QEC3JlcXVpcmVtZW50AAEKAQVmTGlzdAIFYWNjdW0HYWRkcmVzcwMJAGYCBQtyZXF1aXJlbWVudAkBDXRyeUdldEludGVnZXICBQR0aGlzCQCsAgICBXN0b3AgBQdhZGRyZXNzBQNuaWwJAM0IAgUFYWNjdW0FB2FkZHJlc3MECmZpbHRlckxpc3QKAAIkbAUEbGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFZkxpc3QCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDk4CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQAS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", "height": 2839956, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GPq8cq65kwMz5RA5rcmu962ESQGi52KxXaGvXuE14BBz Next: CUpLHDJ29EMLobR2zYb97anpekYoF9fFWU267VAiYVLm Diff:
OldNewDifferences
44 let d8 = 100000000
55
66 let registrationClosed = 1
7+
8+let registrationRequirement = (40000 * d8)
79
810 func tryGetInteger (address,key) = match getInteger(address, key) {
911 case b: Int =>
6365 }
6466
6567
68+func totalBalance (address) = {
69+ let burnxtnBalance = assetBalance(address, burnxtn)
70+ let PZ1balance = PZbal(PZ1, address)
71+ let PZ2balance = PZbal(PZ2, address)
72+ let PZ3balance = PZbal(PZ3, address)
73+ let PZ4balance = PZbal(PZ4, address)
74+ let PZ5balance = PZbal(PZ5, address)
75+ let PZ6balance = PZbal(PZ6, address)
76+ let WX1balance = WXbal(WX1, address, LP1)
77+ let WX2balance = WXbal(WX2, address, LP2)
78+ let total = ((((((((burnxtnBalance + PZ1balance) + PZ2balance) + PZ3balance) + PZ4balance) + PZ5balance) + PZ6balance) + WX1balance) + WX2balance)
79+[IntegerEntry("burnxtnBalance", burnxtnBalance), IntegerEntry("PZ1balance", PZ1balance), IntegerEntry("PZ2balance", PZ2balance), IntegerEntry("PZ3balance", PZ3balance), IntegerEntry("PZ4balance", PZ4balance), IntegerEntry("PZ5balance", PZ5balance), IntegerEntry("PZ6balance", PZ6balance), IntegerEntry("WX1balance", WX1balance), IntegerEntry("WX2balance", WX2balance), IntegerEntry("total", total)]
80+ }
81+
82+
6683 func totalBalance2 (address) = {
6784 let burnxtnBalance = assetBalance(address, burnxtn)
6885 let PZ1balance = PZbal(PZ1, address)
8299 then throw("already registered")
83100 else if ((height > registrationClosed))
84101 then throw("registration closed")
85- else if ((tryGetInteger(this, "Amount Registered") == 99))
86- then throw("registration closed")
87- else [IntegerEntry("Amount Registered", (tryGetInteger(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger(this, "Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString(this, "Address registered") + toString(i.caller)) + ","))]
102+ else if ((registrationRequirement > totalBalance2(i.caller)))
103+ then throw("have atleast 40k BURN-XTN in wallet and liquidity pools")
104+ else if ((tryGetInteger(this, "Amount Registered") == 99))
105+ then throw("registration closed")
106+ else ([IntegerEntry("Amount Registered", (tryGetInteger(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger(this, "Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString(this, "Address registered") + toString(i.caller)) + ","))] ++ totalBalance(i.caller))
88107
89108
90109
171190 func winners () = if ((i.caller != this))
172191 then throw("access only by project owner")
173192 else {
193+ let filter = invoke(this, "filter", nil, nil)
194+ if ((filter == filter))
195+ then nil
196+ else throw("Strict value is not equal to itself.")
197+ }
198+
199+
200+
201+@Callable(i)
202+func filter () = if ((i.caller != this))
203+ then throw("access only by project owner")
204+ else {
174205 let addresses = dropRight(tryGetString(this, "Address registered"), 1)
175206 let list = split(addresses, ",")
176207 let listSize = size(list)
177208 let requirement = 1
178- func filter (accum,address) = if ((requirement > tryGetInteger(this, ("stop " + address))))
209+ func fList (accum,address) = if ((requirement > tryGetInteger(this, ("stop " + address))))
179210 then nil
180211 else (accum :+ address)
181212
185216 let $acc0 = nil
186217 func $f0_1 ($a,$i) = if (($i >= $s))
187218 then $a
188- else filter($a, $l[$i])
219+ else fList($a, $l[$i])
189220
190221 func $f0_2 ($a,$i) = if (($i >= $s))
191222 then $a
194225 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98)
195226 }
196227 let filterListSize = size(filterList)
197- let diff = tryGetInteger(this, ("stop " + "3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez"))
198- let diff2 = tryGetInteger(this, ("stop " + "3N3y7nQfqDc7rBUExjKQi5ZbspWRh9q8PYH"))
199- let diff3 = tryGetInteger(this, ("stop " + "3N8ueTAufEUYDKWJDbfK7aZ4HHxBkX4DXA6"))
200228 let cullSize = fraction(filterListSize, 80, 100, DOWN)
201- let amountCull = (filterListSize - cullSize)
202-[IntegerEntry("list size filterList", filterListSize), IntegerEntry("diff 3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez", diff), IntegerEntry("diff 3N3y7nQfqDc7rBUExjKQi5ZbspWRh9q8PYH", diff2), IntegerEntry("diff 3N8ueTAufEUYDKWJDbfK7aZ4HHxBkX4DXA6", diff3), IntegerEntry("cullSize", cullSize), IntegerEntry("amountCull", amountCull)]
229+ func fAddress (accum,address) = if ((requirement > tryGetInteger(this, ("stop " + address))))
230+ then nil
231+ else (accum + (address + ","))
232+
233+ let filter = {
234+ let $l = list
235+ let $s = size($l)
236+ let $acc0 = ""
237+ func $f1_1 ($a,$i) = if (($i >= $s))
238+ then $a
239+ else fAddress($a, $l[$i])
240+
241+ func $f1_2 ($a,$i) = if (($i >= $s))
242+ then $a
243+ else throw("List size exceeds 98")
244+
245+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98)
246+ }
247+[StringEntry("Filter", filter), IntegerEntry("list size filterList", filterListSize), IntegerEntry("cullSize", cullSize)]
203248 }
204249
205250
206251
207252 @Callable(i)
208-func startNext () = if ((i.caller != this))
253+func remove () = if ((i.caller != this))
209254 then throw("access only by project owner")
210- else {
211- let addresses = dropRight(tryGetString(this, "winners"), 1)
212- let list = split(addresses, ",")
213- func nextBal (accum,address) = (accum ++ [IntegerEntry(address, wavesBalance(addressFromStringValue(address)).available)])
214-
215- let enterNextBal = {
216- let $l = list
217- let $s = size($l)
218- let $acc0 = nil
219- func $f0_1 ($a,$i) = if (($i >= $s))
220- then $a
221- else nextBal($a, $l[$i])
222-
223- func $f0_2 ($a,$i) = if (($i >= $s))
224- then $a
225- else throw("List size exceeds 100")
226-
227- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
228- }
229- func n (accum,address) = (accum + (address + ","))
230-
231- let next = {
232- let $l = list
233- let $s = size($l)
234- let $acc0 = ""
235- func $f1_1 ($a,$i) = if (($i >= $s))
236- then $a
237- else n($a, $l[$i])
238-
239- func $f1_2 ($a,$i) = if (($i >= $s))
240- then $a
241- else throw("List size exceeds 100")
242-
243- $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
244- }
245- ([StringEntry("next round", next)] ++ enterNextBal)
246- }
255+ else nil
247256
248257
249258
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let d8 = 100000000
55
66 let registrationClosed = 1
7+
8+let registrationRequirement = (40000 * d8)
79
810 func tryGetInteger (address,key) = match getInteger(address, key) {
911 case b: Int =>
1012 b
1113 case _ =>
1214 0
1315 }
1416
1517
1618 func tryGetString (address,key) = match getString(address, key) {
1719 case b: String =>
1820 b
1921 case _ =>
2022 ""
2123 }
2224
2325
2426 let burnxtn = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
2527
2628 let whirlpool = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi'
2729
2830 let PZ1 = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
2931
3032 let PZ2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
3133
3234 let PZ3 = base58'3PBiMQLnX8wd4bssXCgF8KuUqHv1H4zWHGi'
3335
3436 let PZ4 = base58'3PDJPGn6vBEBqWN4E3fNcxoKBoDXbsmoaM7'
3537
3638 let PZ5 = base58'3PCS1xhGQi2eM5mYcCBhUSHvB31Kk5gZoCm'
3739
3840 let PZ6 = base58'3P8Quvmgt3VEWAjBR3bsfgCqzUh7zTmTC4q'
3941
4042 let WXstake = base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV'
4143
4244 let WX1 = base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5'
4345
4446 let LP1 = "GyiHdcN59sZ46baFvj68ruLngrTPEvWDtsd6jHm4o46n"
4547
4648 let WX2 = base58'3PKXseWa31VUSWUvm2YiRKxW2VM9RsVk3ry'
4749
4850 let LP2 = "3MPHMJVwYGyeBLRsH1RsYhrTmemv752AEBwuFFV7g49Z"
4951
5052 func PZbal (Pooladdress,address) = {
5153 let burnxtnInPZ = tryGetInteger(Address(Pooladdress), (("global_" + toBase58String(burnxtn)) + "_balance"))
5254 let addressStakePZ = tryGetInteger(Address(Pooladdress), (toString(address) + "_indexStaked"))
5355 let totalStakePZ = tryGetInteger(Address(Pooladdress), "global_poolToken_amount")
5456 fraction(burnxtnInPZ, addressStakePZ, totalStakePZ)
5557 }
5658
5759
5860 func WXbal (Pooladdress,address,LPstr) = {
5961 let burnxtnInWX = assetBalance(Address(Pooladdress), burnxtn)
6062 let addressStakeWX = tryGetInteger(Address(WXstake), ((("%s%s%s__staked__" + toString(address)) + "__") + LPstr))
6163 let totalStakeWX = tryGetInteger(Address(WXstake), ("%s%s%s__staked__total__" + LPstr))
6264 fraction(burnxtnInWX, addressStakeWX, totalStakeWX)
6365 }
6466
6567
68+func totalBalance (address) = {
69+ let burnxtnBalance = assetBalance(address, burnxtn)
70+ let PZ1balance = PZbal(PZ1, address)
71+ let PZ2balance = PZbal(PZ2, address)
72+ let PZ3balance = PZbal(PZ3, address)
73+ let PZ4balance = PZbal(PZ4, address)
74+ let PZ5balance = PZbal(PZ5, address)
75+ let PZ6balance = PZbal(PZ6, address)
76+ let WX1balance = WXbal(WX1, address, LP1)
77+ let WX2balance = WXbal(WX2, address, LP2)
78+ let total = ((((((((burnxtnBalance + PZ1balance) + PZ2balance) + PZ3balance) + PZ4balance) + PZ5balance) + PZ6balance) + WX1balance) + WX2balance)
79+[IntegerEntry("burnxtnBalance", burnxtnBalance), IntegerEntry("PZ1balance", PZ1balance), IntegerEntry("PZ2balance", PZ2balance), IntegerEntry("PZ3balance", PZ3balance), IntegerEntry("PZ4balance", PZ4balance), IntegerEntry("PZ5balance", PZ5balance), IntegerEntry("PZ6balance", PZ6balance), IntegerEntry("WX1balance", WX1balance), IntegerEntry("WX2balance", WX2balance), IntegerEntry("total", total)]
80+ }
81+
82+
6683 func totalBalance2 (address) = {
6784 let burnxtnBalance = assetBalance(address, burnxtn)
6885 let PZ1balance = PZbal(PZ1, address)
6986 let PZ2balance = PZbal(PZ2, address)
7087 let PZ3balance = PZbal(PZ3, address)
7188 let PZ4balance = PZbal(PZ4, address)
7289 let PZ5balance = PZbal(PZ5, address)
7390 let PZ6balance = PZbal(PZ6, address)
7491 let WX1balance = WXbal(WX1, address, LP1)
7592 let WX2balance = WXbal(WX2, address, LP2)
7693 ((((((((burnxtnBalance + PZ1balance) + PZ2balance) + PZ3balance) + PZ4balance) + PZ5balance) + PZ6balance) + WX1balance) + WX2balance)
7794 }
7895
7996
8097 @Callable(i)
8198 func register () = if (contains(tryGetString(this, "Address registered"), toString(i.caller)))
8299 then throw("already registered")
83100 else if ((height > registrationClosed))
84101 then throw("registration closed")
85- else if ((tryGetInteger(this, "Amount Registered") == 99))
86- then throw("registration closed")
87- else [IntegerEntry("Amount Registered", (tryGetInteger(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger(this, "Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString(this, "Address registered") + toString(i.caller)) + ","))]
102+ else if ((registrationRequirement > totalBalance2(i.caller)))
103+ then throw("have atleast 40k BURN-XTN in wallet and liquidity pools")
104+ else if ((tryGetInteger(this, "Amount Registered") == 99))
105+ then throw("registration closed")
106+ else ([IntegerEntry("Amount Registered", (tryGetInteger(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger(this, "Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString(this, "Address registered") + toString(i.caller)) + ","))] ++ totalBalance(i.caller))
88107
89108
90109
91110 @Callable(i)
92111 func start () = if ((i.caller != this))
93112 then throw("access only by project owner")
94113 else {
95114 let addresses = dropRight(tryGetString(this, "Address registered"), 1)
96115 let list = split(addresses, ",")
97116 func bal (accum,address) = (accum ++ [IntegerEntry(address, wavesBalance(addressFromStringValue(address)).available)])
98117
99118 let enterIntegers = {
100119 let $l = list
101120 let $s = size($l)
102121 let $acc0 = nil
103122 func $f0_1 ($a,$i) = if (($i >= $s))
104123 then $a
105124 else bal($a, $l[$i])
106125
107126 func $f0_2 ($a,$i) = if (($i >= $s))
108127 then $a
109128 else throw("List size exceeds 100")
110129
111130 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
112131 }
113132 (nil ++ enterIntegers)
114133 }
115134
116135
117136
118137 @Callable(i)
119138 func currentPosition () = {
120139 let addresses = dropRight(tryGetString(this, "Address registered"), 1)
121140 let list = split(addresses, ",")
122141 func dif (accum,address) = (accum ++ [IntegerEntry(("increase " + address), (wavesBalance(addressFromStringValue(address)).available - tryGetInteger(this, address)))])
123142
124143 let enterDif = {
125144 let $l = list
126145 let $s = size($l)
127146 let $acc0 = nil
128147 func $f0_1 ($a,$i) = if (($i >= $s))
129148 then $a
130149 else dif($a, $l[$i])
131150
132151 func $f0_2 ($a,$i) = if (($i >= $s))
133152 then $a
134153 else throw("List size exceeds 98")
135154
136155 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98)
137156 }
138157 (nil ++ enterDif)
139158 }
140159
141160
142161
143162 @Callable(i)
144163 func stop () = if ((i.caller != this))
145164 then throw("access only by project owner")
146165 else {
147166 let addresses = dropRight(tryGetString(this, "Address registered"), 1)
148167 let list = split(addresses, ",")
149168 func dif (accum,address) = (accum ++ [IntegerEntry(("stop " + address), (wavesBalance(addressFromStringValue(address)).available - tryGetInteger(this, address)))])
150169
151170 let enterDif = {
152171 let $l = list
153172 let $s = size($l)
154173 let $acc0 = nil
155174 func $f0_1 ($a,$i) = if (($i >= $s))
156175 then $a
157176 else dif($a, $l[$i])
158177
159178 func $f0_2 ($a,$i) = if (($i >= $s))
160179 then $a
161180 else throw("List size exceeds 98")
162181
163182 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98)
164183 }
165184 (nil ++ enterDif)
166185 }
167186
168187
169188
170189 @Callable(i)
171190 func winners () = if ((i.caller != this))
172191 then throw("access only by project owner")
173192 else {
193+ let filter = invoke(this, "filter", nil, nil)
194+ if ((filter == filter))
195+ then nil
196+ else throw("Strict value is not equal to itself.")
197+ }
198+
199+
200+
201+@Callable(i)
202+func filter () = if ((i.caller != this))
203+ then throw("access only by project owner")
204+ else {
174205 let addresses = dropRight(tryGetString(this, "Address registered"), 1)
175206 let list = split(addresses, ",")
176207 let listSize = size(list)
177208 let requirement = 1
178- func filter (accum,address) = if ((requirement > tryGetInteger(this, ("stop " + address))))
209+ func fList (accum,address) = if ((requirement > tryGetInteger(this, ("stop " + address))))
179210 then nil
180211 else (accum :+ address)
181212
182213 let filterList = {
183214 let $l = list
184215 let $s = size($l)
185216 let $acc0 = nil
186217 func $f0_1 ($a,$i) = if (($i >= $s))
187218 then $a
188- else filter($a, $l[$i])
219+ else fList($a, $l[$i])
189220
190221 func $f0_2 ($a,$i) = if (($i >= $s))
191222 then $a
192223 else throw("List size exceeds 98")
193224
194225 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98)
195226 }
196227 let filterListSize = size(filterList)
197- let diff = tryGetInteger(this, ("stop " + "3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez"))
198- let diff2 = tryGetInteger(this, ("stop " + "3N3y7nQfqDc7rBUExjKQi5ZbspWRh9q8PYH"))
199- let diff3 = tryGetInteger(this, ("stop " + "3N8ueTAufEUYDKWJDbfK7aZ4HHxBkX4DXA6"))
200228 let cullSize = fraction(filterListSize, 80, 100, DOWN)
201- let amountCull = (filterListSize - cullSize)
202-[IntegerEntry("list size filterList", filterListSize), IntegerEntry("diff 3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez", diff), IntegerEntry("diff 3N3y7nQfqDc7rBUExjKQi5ZbspWRh9q8PYH", diff2), IntegerEntry("diff 3N8ueTAufEUYDKWJDbfK7aZ4HHxBkX4DXA6", diff3), IntegerEntry("cullSize", cullSize), IntegerEntry("amountCull", amountCull)]
229+ func fAddress (accum,address) = if ((requirement > tryGetInteger(this, ("stop " + address))))
230+ then nil
231+ else (accum + (address + ","))
232+
233+ let filter = {
234+ let $l = list
235+ let $s = size($l)
236+ let $acc0 = ""
237+ func $f1_1 ($a,$i) = if (($i >= $s))
238+ then $a
239+ else fAddress($a, $l[$i])
240+
241+ func $f1_2 ($a,$i) = if (($i >= $s))
242+ then $a
243+ else throw("List size exceeds 98")
244+
245+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98)
246+ }
247+[StringEntry("Filter", filter), IntegerEntry("list size filterList", filterListSize), IntegerEntry("cullSize", cullSize)]
203248 }
204249
205250
206251
207252 @Callable(i)
208-func startNext () = if ((i.caller != this))
253+func remove () = if ((i.caller != this))
209254 then throw("access only by project owner")
210- else {
211- let addresses = dropRight(tryGetString(this, "winners"), 1)
212- let list = split(addresses, ",")
213- func nextBal (accum,address) = (accum ++ [IntegerEntry(address, wavesBalance(addressFromStringValue(address)).available)])
214-
215- let enterNextBal = {
216- let $l = list
217- let $s = size($l)
218- let $acc0 = nil
219- func $f0_1 ($a,$i) = if (($i >= $s))
220- then $a
221- else nextBal($a, $l[$i])
222-
223- func $f0_2 ($a,$i) = if (($i >= $s))
224- then $a
225- else throw("List size exceeds 100")
226-
227- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
228- }
229- func n (accum,address) = (accum + (address + ","))
230-
231- let next = {
232- let $l = list
233- let $s = size($l)
234- let $acc0 = ""
235- func $f1_1 ($a,$i) = if (($i >= $s))
236- then $a
237- else n($a, $l[$i])
238-
239- func $f1_2 ($a,$i) = if (($i >= $s))
240- then $a
241- else throw("List size exceeds 100")
242-
243- $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
244- }
245- ([StringEntry("next round", next)] ++ enterNextBal)
246- }
255+ else nil
247256
248257
249258
250259 @Callable(i)
251260 func transfer () = if ((i.caller != this))
252261 then throw("access only by project owner")
253262 else {
254263 let assetId = whirlpool
255264 let amount = (2 * d8)
256265 let addresses = dropRight(tryGetString(this, "winners"), 1)
257266 let list = split(addresses, ",")
258267 let amountPerAddress = (amount / size(list))
259268 func f (accum,address) = (accum ++ [ScriptTransfer(addressFromStringValue(address), amountPerAddress, assetId)])
260269
261270 let $l = list
262271 let $s = size($l)
263272 let $acc0 = nil
264273 func $f0_1 ($a,$i) = if (($i >= $s))
265274 then $a
266275 else f($a, $l[$i])
267276
268277 func $f0_2 ($a,$i) = if (($i >= $s))
269278 then $a
270279 else throw("List size exceeds 100")
271280
272281 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
273282 }
274283
275284

github/deemru/w8io/026f985 
58.84 ms