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:
Old | New | Differences | |
---|---|---|---|
5 | 5 | ||
6 | 6 | let b = 1 | |
7 | 7 | ||
8 | - | func c (d,e) = { | |
9 | - | let f = getInteger(d, e) | |
10 | - | if ($isInstanceOf(f, "Int")) | |
8 | + | let c = (40000 * a) | |
9 | + | ||
10 | + | func d (e,f) = { | |
11 | + | let g = getInteger(e, f) | |
12 | + | if ($isInstanceOf(g, "Int")) | |
11 | 13 | then { | |
12 | - | let | |
13 | - | | |
14 | + | let h = g | |
15 | + | h | |
14 | 16 | } | |
15 | 17 | else 0 | |
16 | 18 | } | |
17 | 19 | ||
18 | 20 | ||
19 | - | func | |
20 | - | let | |
21 | - | if ($isInstanceOf( | |
21 | + | func i (e,f) = { | |
22 | + | let g = getString(e, f) | |
23 | + | if ($isInstanceOf(g, "String")) | |
22 | 24 | then { | |
23 | - | let | |
24 | - | | |
25 | + | let h = g | |
26 | + | h | |
25 | 27 | } | |
26 | 28 | else "" | |
27 | 29 | } | |
28 | 30 | ||
29 | 31 | ||
30 | - | let | |
32 | + | let j = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns' | |
31 | 33 | ||
32 | - | let | |
34 | + | let k = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi' | |
33 | 35 | ||
34 | - | let | |
36 | + | let l = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB' | |
35 | 37 | ||
36 | - | let | |
38 | + | let m = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx' | |
37 | 39 | ||
38 | - | let | |
40 | + | let n = base58'3PBiMQLnX8wd4bssXCgF8KuUqHv1H4zWHGi' | |
39 | 41 | ||
40 | - | let | |
42 | + | let o = base58'3PDJPGn6vBEBqWN4E3fNcxoKBoDXbsmoaM7' | |
41 | 43 | ||
42 | - | let | |
44 | + | let p = base58'3PCS1xhGQi2eM5mYcCBhUSHvB31Kk5gZoCm' | |
43 | 45 | ||
44 | - | let | |
46 | + | let q = base58'3P8Quvmgt3VEWAjBR3bsfgCqzUh7zTmTC4q' | |
45 | 47 | ||
46 | - | let | |
48 | + | let r = base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV' | |
47 | 49 | ||
48 | - | let | |
50 | + | let s = base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5' | |
49 | 51 | ||
50 | - | let | |
52 | + | let t = "GyiHdcN59sZ46baFvj68ruLngrTPEvWDtsd6jHm4o46n" | |
51 | 53 | ||
52 | - | let | |
54 | + | let u = base58'3PKXseWa31VUSWUvm2YiRKxW2VM9RsVk3ry' | |
53 | 55 | ||
54 | - | let | |
56 | + | let v = "3MPHMJVwYGyeBLRsH1RsYhrTmemv752AEBwuFFV7g49Z" | |
55 | 57 | ||
56 | - | func | |
57 | - | let | |
58 | - | let | |
59 | - | let | |
60 | - | fraction( | |
58 | + | func w (x,e) = { | |
59 | + | let y = d(Address(x), (("global_" + toBase58String(j)) + "_balance")) | |
60 | + | let z = d(Address(x), (toString(e) + "_indexStaked")) | |
61 | + | let A = d(Address(x), "global_poolToken_amount") | |
62 | + | fraction(y, z, A) | |
61 | 63 | } | |
62 | 64 | ||
63 | 65 | ||
64 | - | func | |
65 | - | let | |
66 | - | let | |
67 | - | let | |
68 | - | fraction( | |
66 | + | func B (x,e,C) = { | |
67 | + | let D = assetBalance(Address(x), j) | |
68 | + | let E = d(Address(r), ((("%s%s%s__staked__" + toString(e)) + "__") + C)) | |
69 | + | let F = d(Address(r), ("%s%s%s__staked__total__" + C)) | |
70 | + | fraction(D, E, F) | |
69 | 71 | } | |
70 | 72 | ||
71 | 73 | ||
72 | - | func F (d) = { | |
73 | - | let G = assetBalance(d, i) | |
74 | - | let H = v(k, d) | |
75 | - | let I = v(l, d) | |
76 | - | let J = v(m, d) | |
77 | - | let K = v(n, d) | |
78 | - | let L = v(o, d) | |
79 | - | let M = v(p, d) | |
80 | - | let N = A(r, d, s) | |
81 | - | let O = A(t, d, u) | |
82 | - | ((((((((G + H) + I) + J) + K) + L) + M) + N) + O) | |
74 | + | func G (e) = { | |
75 | + | let H = assetBalance(e, j) | |
76 | + | let I = w(l, e) | |
77 | + | let J = w(m, e) | |
78 | + | let K = w(n, e) | |
79 | + | let L = w(o, e) | |
80 | + | let M = w(p, e) | |
81 | + | let N = w(q, e) | |
82 | + | let O = B(s, e, t) | |
83 | + | let P = B(u, e, v) | |
84 | + | let Q = ((((((((H + I) + J) + K) + L) + M) + N) + O) + P) | |
85 | + | [IntegerEntry("burnxtnBalance", H), IntegerEntry("PZ1balance", I), IntegerEntry("PZ2balance", J), IntegerEntry("PZ3balance", K), IntegerEntry("PZ4balance", L), IntegerEntry("PZ5balance", M), IntegerEntry("PZ6balance", N), IntegerEntry("WX1balance", O), IntegerEntry("WX2balance", P), IntegerEntry("total", Q)] | |
83 | 86 | } | |
84 | 87 | ||
85 | 88 | ||
86 | - | @Callable(P) | |
87 | - | func register () = if (contains(h(this, "Address registered"), toString(P.caller))) | |
89 | + | func R (e) = { | |
90 | + | let H = assetBalance(e, j) | |
91 | + | let I = w(l, e) | |
92 | + | let J = w(m, e) | |
93 | + | let K = w(n, e) | |
94 | + | let L = w(o, e) | |
95 | + | let M = w(p, e) | |
96 | + | let N = w(q, e) | |
97 | + | let O = B(s, e, t) | |
98 | + | let P = B(u, e, v) | |
99 | + | ((((((((H + I) + J) + K) + L) + M) + N) + O) + P) | |
100 | + | } | |
101 | + | ||
102 | + | ||
103 | + | @Callable(S) | |
104 | + | func register () = if (contains(i(this, "Address registered"), toString(S.caller))) | |
88 | 105 | then throw("already registered") | |
89 | 106 | else if ((height > b)) | |
90 | 107 | then throw("registration closed") | |
91 | - | else if ((c(this, "Amount Registered") == 99)) | |
92 | - | then throw("registration closed") | |
93 | - | else [IntegerEntry("Amount Registered", (c(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((c(this, "Amount Registered") + 1))), toString(P.caller)), StringEntry("Address registered", ((h(this, "Address registered") + toString(P.caller)) + ","))] | |
108 | + | else if ((c > R(S.caller))) | |
109 | + | then throw("have atleast 40k BURN-XTN in wallet and liquidity pools") | |
110 | + | else if ((d(this, "Amount Registered") == 99)) | |
111 | + | then throw("registration closed") | |
112 | + | else ([IntegerEntry("Amount Registered", (d(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((d(this, "Amount Registered") + 1))), toString(S.caller)), StringEntry("Address registered", ((i(this, "Address registered") + toString(S.caller)) + ","))] ++ G(S.caller)) | |
94 | 113 | ||
95 | 114 | ||
96 | 115 | ||
97 | - | @Callable( | |
98 | - | func start () = if (( | |
116 | + | @Callable(S) | |
117 | + | func start () = if ((S.caller != this)) | |
99 | 118 | then throw("access only by project owner") | |
100 | 119 | else { | |
101 | - | let | |
102 | - | let | |
103 | - | func | |
120 | + | let T = dropRight(i(this, "Address registered"), 1) | |
121 | + | let U = split(T, ",") | |
122 | + | func V (W,e) = (W ++ [IntegerEntry(e, wavesBalance(addressFromStringValue(e)).available)]) | |
104 | 123 | ||
105 | - | let | |
106 | - | let | |
107 | - | let | |
108 | - | let | |
109 | - | func | |
110 | - | then | |
111 | - | else | |
124 | + | let X = { | |
125 | + | let Y = U | |
126 | + | let Z = size(Y) | |
127 | + | let aa = nil | |
128 | + | func ab (ac,ad) = if ((ad >= Z)) | |
129 | + | then ac | |
130 | + | else V(ac, Y[ad]) | |
112 | 131 | ||
113 | - | func | |
114 | - | then | |
132 | + | func ae (ac,ad) = if ((ad >= Z)) | |
133 | + | then ac | |
115 | 134 | else throw("List size exceeds 100") | |
116 | 135 | ||
117 | - | ab( | |
136 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
118 | 137 | } | |
119 | - | (nil ++ | |
138 | + | (nil ++ X) | |
120 | 139 | } | |
121 | 140 | ||
122 | 141 | ||
123 | 142 | ||
124 | - | @Callable( | |
143 | + | @Callable(S) | |
125 | 144 | func currentPosition () = { | |
126 | - | let | |
127 | - | let | |
128 | - | func | |
145 | + | let T = dropRight(i(this, "Address registered"), 1) | |
146 | + | let U = split(T, ",") | |
147 | + | func af (W,e) = (W ++ [IntegerEntry(("increase " + e), (wavesBalance(addressFromStringValue(e)).available - d(this, e)))]) | |
129 | 148 | ||
130 | - | let | |
131 | - | let | |
132 | - | let | |
133 | - | let | |
134 | - | func | |
135 | - | then | |
136 | - | else ac | |
149 | + | let ag = { | |
150 | + | let Y = U | |
151 | + | let Z = size(Y) | |
152 | + | let aa = nil | |
153 | + | func ab (ac,ad) = if ((ad >= Z)) | |
154 | + | then ac | |
155 | + | else af(ac, Y[ad]) | |
137 | 156 | ||
138 | - | func | |
139 | - | then | |
157 | + | func ae (ac,ad) = if ((ad >= Z)) | |
158 | + | then ac | |
140 | 159 | else throw("List size exceeds 98") | |
141 | 160 | ||
142 | - | ab( | |
161 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
143 | 162 | } | |
144 | - | (nil ++ | |
163 | + | (nil ++ ag) | |
145 | 164 | } | |
146 | 165 | ||
147 | 166 | ||
148 | 167 | ||
149 | - | @Callable( | |
150 | - | func stop () = if (( | |
168 | + | @Callable(S) | |
169 | + | func stop () = if ((S.caller != this)) | |
151 | 170 | then throw("access only by project owner") | |
152 | 171 | else { | |
153 | - | let | |
154 | - | let | |
155 | - | func | |
172 | + | let T = dropRight(i(this, "Address registered"), 1) | |
173 | + | let U = split(T, ",") | |
174 | + | func af (W,e) = (W ++ [IntegerEntry(("stop " + e), (wavesBalance(addressFromStringValue(e)).available - d(this, e)))]) | |
156 | 175 | ||
157 | - | let | |
158 | - | let | |
159 | - | let | |
160 | - | let | |
161 | - | func | |
162 | - | then | |
163 | - | else ac | |
176 | + | let ag = { | |
177 | + | let Y = U | |
178 | + | let Z = size(Y) | |
179 | + | let aa = nil | |
180 | + | func ab (ac,ad) = if ((ad >= Z)) | |
181 | + | then ac | |
182 | + | else af(ac, Y[ad]) | |
164 | 183 | ||
165 | - | func | |
166 | - | then | |
184 | + | func ae (ac,ad) = if ((ad >= Z)) | |
185 | + | then ac | |
167 | 186 | else throw("List size exceeds 98") | |
168 | 187 | ||
169 | - | ab( | |
188 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
170 | 189 | } | |
171 | - | (nil ++ | |
190 | + | (nil ++ ag) | |
172 | 191 | } | |
173 | 192 | ||
174 | 193 | ||
175 | 194 | ||
176 | - | @Callable( | |
177 | - | func winners () = if (( | |
195 | + | @Callable(S) | |
196 | + | func winners () = if ((S.caller != this)) | |
178 | 197 | then throw("access only by project owner") | |
179 | 198 | else { | |
180 | - | let Q = dropRight(h(this, "Address registered"), 1) | |
181 | - | let R = split(Q, ",") | |
182 | - | let ae = size(R) | |
183 | - | let af = 1 | |
184 | - | func ag (T,d) = if ((af > c(this, ("stop " + d)))) | |
199 | + | let ah = invoke(this, "filter", nil, nil) | |
200 | + | if ((ah == ah)) | |
185 | 201 | then nil | |
186 | - | else (T :+ d) | |
187 | - | ||
188 | - | let ah = { | |
189 | - | let V = R | |
190 | - | let W = size(V) | |
191 | - | let X = nil | |
192 | - | func Y (Z,aa) = if ((aa >= W)) | |
193 | - | then Z | |
194 | - | else ag(Z, V[aa]) | |
195 | - | ||
196 | - | func ab (Z,aa) = if ((aa >= W)) | |
197 | - | then Z | |
198 | - | else throw("List size exceeds 98") | |
199 | - | ||
200 | - | ab(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(X, 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) | |
201 | - | } | |
202 | - | let ai = size(ah) | |
203 | - | let aj = c(this, ("stop " + "3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez")) | |
204 | - | let ak = c(this, ("stop " + "3N3y7nQfqDc7rBUExjKQi5ZbspWRh9q8PYH")) | |
205 | - | let al = c(this, ("stop " + "3N8ueTAufEUYDKWJDbfK7aZ4HHxBkX4DXA6")) | |
206 | - | let am = fraction(ai, 80, 100, DOWN) | |
207 | - | let an = (ai - am) | |
208 | - | [IntegerEntry("list size filterList", ai), IntegerEntry("diff 3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez", aj), IntegerEntry("diff 3N3y7nQfqDc7rBUExjKQi5ZbspWRh9q8PYH", ak), IntegerEntry("diff 3N8ueTAufEUYDKWJDbfK7aZ4HHxBkX4DXA6", al), IntegerEntry("cullSize", am), IntegerEntry("amountCull", an)] | |
202 | + | else throw("Strict value is not equal to itself.") | |
209 | 203 | } | |
210 | 204 | ||
211 | 205 | ||
212 | 206 | ||
213 | - | @Callable( | |
214 | - | func | |
207 | + | @Callable(S) | |
208 | + | func filter () = if ((S.caller != this)) | |
215 | 209 | then throw("access only by project owner") | |
216 | 210 | else { | |
217 | - | let Q = dropRight(h(this, "winners"), 1) | |
218 | - | let R = split(Q, ",") | |
219 | - | func ao (T,d) = (T ++ [IntegerEntry(d, wavesBalance(addressFromStringValue(d)).available)]) | |
211 | + | let T = dropRight(i(this, "Address registered"), 1) | |
212 | + | let U = split(T, ",") | |
213 | + | let ai = size(U) | |
214 | + | let aj = 1 | |
215 | + | func ak (W,e) = if ((aj > d(this, ("stop " + e)))) | |
216 | + | then nil | |
217 | + | else (W :+ e) | |
220 | 218 | ||
221 | - | let | |
222 | - | let | |
223 | - | let | |
224 | - | let | |
225 | - | func | |
226 | - | then | |
227 | - | else | |
219 | + | let al = { | |
220 | + | let Y = U | |
221 | + | let Z = size(Y) | |
222 | + | let aa = nil | |
223 | + | func ab (ac,ad) = if ((ad >= Z)) | |
224 | + | then ac | |
225 | + | else ak(ac, Y[ad]) | |
228 | 226 | ||
229 | - | func | |
230 | - | then | |
231 | - | else throw("List size exceeds | |
227 | + | func ae (ac,ad) = if ((ad >= Z)) | |
228 | + | then ac | |
229 | + | else throw("List size exceeds 98") | |
232 | 230 | ||
233 | - | ab( | |
231 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
234 | 232 | } | |
235 | - | func aq (T,d) = (T + (d + ",")) | |
233 | + | let am = size(al) | |
234 | + | let an = fraction(am, 80, 100, DOWN) | |
235 | + | func ao (W,e) = if ((aj > d(this, ("stop " + e)))) | |
236 | + | then nil | |
237 | + | else (W + (e + ",")) | |
236 | 238 | ||
237 | - | let | |
238 | - | let | |
239 | - | let | |
240 | - | let | |
241 | - | func | |
242 | - | then | |
243 | - | else | |
239 | + | let ah = { | |
240 | + | let Y = U | |
241 | + | let Z = size(Y) | |
242 | + | let aa = "" | |
243 | + | func ap (ac,ad) = if ((ad >= Z)) | |
244 | + | then ac | |
245 | + | else ao(ac, Y[ad]) | |
244 | 246 | ||
245 | - | func | |
246 | - | then | |
247 | - | else throw("List size exceeds | |
247 | + | func aq (ac,ad) = if ((ad >= Z)) | |
248 | + | then ac | |
249 | + | else throw("List size exceeds 98") | |
248 | 250 | ||
249 | - | | |
251 | + | aq(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(aa, 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) | |
250 | 252 | } | |
251 | - | ||
253 | + | [StringEntry("Filter", ah), IntegerEntry("list size filterList", am), IntegerEntry("cullSize", an)] | |
252 | 254 | } | |
253 | 255 | ||
254 | 256 | ||
255 | 257 | ||
256 | - | @Callable(P) | |
257 | - | func transfer () = if ((P.caller != this)) | |
258 | + | @Callable(S) | |
259 | + | func remove () = if ((S.caller != this)) | |
260 | + | then throw("access only by project owner") | |
261 | + | else nil | |
262 | + | ||
263 | + | ||
264 | + | ||
265 | + | @Callable(S) | |
266 | + | func transfer () = if ((S.caller != this)) | |
258 | 267 | then throw("access only by project owner") | |
259 | 268 | else { | |
260 | - | let | |
261 | - | let | |
262 | - | let | |
263 | - | let | |
264 | - | let | |
265 | - | func | |
269 | + | let ar = k | |
270 | + | let as = (2 * a) | |
271 | + | let T = dropRight(i(this, "winners"), 1) | |
272 | + | let U = split(T, ",") | |
273 | + | let at = (as / size(U)) | |
274 | + | func au (W,e) = (W ++ [ScriptTransfer(addressFromStringValue(e), at, ar)]) | |
266 | 275 | ||
267 | - | let | |
268 | - | let | |
269 | - | let | |
270 | - | func | |
271 | - | then | |
272 | - | else | |
276 | + | let Y = U | |
277 | + | let Z = size(Y) | |
278 | + | let aa = nil | |
279 | + | func ab (ac,ad) = if ((ad >= Z)) | |
280 | + | then ac | |
281 | + | else au(ac, Y[ad]) | |
273 | 282 | ||
274 | - | func | |
275 | - | then | |
283 | + | func ae (ac,ad) = if ((ad >= Z)) | |
284 | + | then ac | |
276 | 285 | else throw("List size exceeds 100") | |
277 | 286 | ||
278 | - | ab( | |
287 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
279 | 288 | } | |
280 | 289 | ||
281 | 290 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = 100000000 | |
5 | 5 | ||
6 | 6 | let b = 1 | |
7 | 7 | ||
8 | - | func c (d,e) = { | |
9 | - | let f = getInteger(d, e) | |
10 | - | if ($isInstanceOf(f, "Int")) | |
8 | + | let c = (40000 * a) | |
9 | + | ||
10 | + | func d (e,f) = { | |
11 | + | let g = getInteger(e, f) | |
12 | + | if ($isInstanceOf(g, "Int")) | |
11 | 13 | then { | |
12 | - | let | |
13 | - | | |
14 | + | let h = g | |
15 | + | h | |
14 | 16 | } | |
15 | 17 | else 0 | |
16 | 18 | } | |
17 | 19 | ||
18 | 20 | ||
19 | - | func | |
20 | - | let | |
21 | - | if ($isInstanceOf( | |
21 | + | func i (e,f) = { | |
22 | + | let g = getString(e, f) | |
23 | + | if ($isInstanceOf(g, "String")) | |
22 | 24 | then { | |
23 | - | let | |
24 | - | | |
25 | + | let h = g | |
26 | + | h | |
25 | 27 | } | |
26 | 28 | else "" | |
27 | 29 | } | |
28 | 30 | ||
29 | 31 | ||
30 | - | let | |
32 | + | let j = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns' | |
31 | 33 | ||
32 | - | let | |
34 | + | let k = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi' | |
33 | 35 | ||
34 | - | let | |
36 | + | let l = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB' | |
35 | 37 | ||
36 | - | let | |
38 | + | let m = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx' | |
37 | 39 | ||
38 | - | let | |
40 | + | let n = base58'3PBiMQLnX8wd4bssXCgF8KuUqHv1H4zWHGi' | |
39 | 41 | ||
40 | - | let | |
42 | + | let o = base58'3PDJPGn6vBEBqWN4E3fNcxoKBoDXbsmoaM7' | |
41 | 43 | ||
42 | - | let | |
44 | + | let p = base58'3PCS1xhGQi2eM5mYcCBhUSHvB31Kk5gZoCm' | |
43 | 45 | ||
44 | - | let | |
46 | + | let q = base58'3P8Quvmgt3VEWAjBR3bsfgCqzUh7zTmTC4q' | |
45 | 47 | ||
46 | - | let | |
48 | + | let r = base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV' | |
47 | 49 | ||
48 | - | let | |
50 | + | let s = base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5' | |
49 | 51 | ||
50 | - | let | |
52 | + | let t = "GyiHdcN59sZ46baFvj68ruLngrTPEvWDtsd6jHm4o46n" | |
51 | 53 | ||
52 | - | let | |
54 | + | let u = base58'3PKXseWa31VUSWUvm2YiRKxW2VM9RsVk3ry' | |
53 | 55 | ||
54 | - | let | |
56 | + | let v = "3MPHMJVwYGyeBLRsH1RsYhrTmemv752AEBwuFFV7g49Z" | |
55 | 57 | ||
56 | - | func | |
57 | - | let | |
58 | - | let | |
59 | - | let | |
60 | - | fraction( | |
58 | + | func w (x,e) = { | |
59 | + | let y = d(Address(x), (("global_" + toBase58String(j)) + "_balance")) | |
60 | + | let z = d(Address(x), (toString(e) + "_indexStaked")) | |
61 | + | let A = d(Address(x), "global_poolToken_amount") | |
62 | + | fraction(y, z, A) | |
61 | 63 | } | |
62 | 64 | ||
63 | 65 | ||
64 | - | func | |
65 | - | let | |
66 | - | let | |
67 | - | let | |
68 | - | fraction( | |
66 | + | func B (x,e,C) = { | |
67 | + | let D = assetBalance(Address(x), j) | |
68 | + | let E = d(Address(r), ((("%s%s%s__staked__" + toString(e)) + "__") + C)) | |
69 | + | let F = d(Address(r), ("%s%s%s__staked__total__" + C)) | |
70 | + | fraction(D, E, F) | |
69 | 71 | } | |
70 | 72 | ||
71 | 73 | ||
72 | - | func F (d) = { | |
73 | - | let G = assetBalance(d, i) | |
74 | - | let H = v(k, d) | |
75 | - | let I = v(l, d) | |
76 | - | let J = v(m, d) | |
77 | - | let K = v(n, d) | |
78 | - | let L = v(o, d) | |
79 | - | let M = v(p, d) | |
80 | - | let N = A(r, d, s) | |
81 | - | let O = A(t, d, u) | |
82 | - | ((((((((G + H) + I) + J) + K) + L) + M) + N) + O) | |
74 | + | func G (e) = { | |
75 | + | let H = assetBalance(e, j) | |
76 | + | let I = w(l, e) | |
77 | + | let J = w(m, e) | |
78 | + | let K = w(n, e) | |
79 | + | let L = w(o, e) | |
80 | + | let M = w(p, e) | |
81 | + | let N = w(q, e) | |
82 | + | let O = B(s, e, t) | |
83 | + | let P = B(u, e, v) | |
84 | + | let Q = ((((((((H + I) + J) + K) + L) + M) + N) + O) + P) | |
85 | + | [IntegerEntry("burnxtnBalance", H), IntegerEntry("PZ1balance", I), IntegerEntry("PZ2balance", J), IntegerEntry("PZ3balance", K), IntegerEntry("PZ4balance", L), IntegerEntry("PZ5balance", M), IntegerEntry("PZ6balance", N), IntegerEntry("WX1balance", O), IntegerEntry("WX2balance", P), IntegerEntry("total", Q)] | |
83 | 86 | } | |
84 | 87 | ||
85 | 88 | ||
86 | - | @Callable(P) | |
87 | - | func register () = if (contains(h(this, "Address registered"), toString(P.caller))) | |
89 | + | func R (e) = { | |
90 | + | let H = assetBalance(e, j) | |
91 | + | let I = w(l, e) | |
92 | + | let J = w(m, e) | |
93 | + | let K = w(n, e) | |
94 | + | let L = w(o, e) | |
95 | + | let M = w(p, e) | |
96 | + | let N = w(q, e) | |
97 | + | let O = B(s, e, t) | |
98 | + | let P = B(u, e, v) | |
99 | + | ((((((((H + I) + J) + K) + L) + M) + N) + O) + P) | |
100 | + | } | |
101 | + | ||
102 | + | ||
103 | + | @Callable(S) | |
104 | + | func register () = if (contains(i(this, "Address registered"), toString(S.caller))) | |
88 | 105 | then throw("already registered") | |
89 | 106 | else if ((height > b)) | |
90 | 107 | then throw("registration closed") | |
91 | - | else if ((c(this, "Amount Registered") == 99)) | |
92 | - | then throw("registration closed") | |
93 | - | else [IntegerEntry("Amount Registered", (c(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((c(this, "Amount Registered") + 1))), toString(P.caller)), StringEntry("Address registered", ((h(this, "Address registered") + toString(P.caller)) + ","))] | |
108 | + | else if ((c > R(S.caller))) | |
109 | + | then throw("have atleast 40k BURN-XTN in wallet and liquidity pools") | |
110 | + | else if ((d(this, "Amount Registered") == 99)) | |
111 | + | then throw("registration closed") | |
112 | + | else ([IntegerEntry("Amount Registered", (d(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((d(this, "Amount Registered") + 1))), toString(S.caller)), StringEntry("Address registered", ((i(this, "Address registered") + toString(S.caller)) + ","))] ++ G(S.caller)) | |
94 | 113 | ||
95 | 114 | ||
96 | 115 | ||
97 | - | @Callable( | |
98 | - | func start () = if (( | |
116 | + | @Callable(S) | |
117 | + | func start () = if ((S.caller != this)) | |
99 | 118 | then throw("access only by project owner") | |
100 | 119 | else { | |
101 | - | let | |
102 | - | let | |
103 | - | func | |
120 | + | let T = dropRight(i(this, "Address registered"), 1) | |
121 | + | let U = split(T, ",") | |
122 | + | func V (W,e) = (W ++ [IntegerEntry(e, wavesBalance(addressFromStringValue(e)).available)]) | |
104 | 123 | ||
105 | - | let | |
106 | - | let | |
107 | - | let | |
108 | - | let | |
109 | - | func | |
110 | - | then | |
111 | - | else | |
124 | + | let X = { | |
125 | + | let Y = U | |
126 | + | let Z = size(Y) | |
127 | + | let aa = nil | |
128 | + | func ab (ac,ad) = if ((ad >= Z)) | |
129 | + | then ac | |
130 | + | else V(ac, Y[ad]) | |
112 | 131 | ||
113 | - | func | |
114 | - | then | |
132 | + | func ae (ac,ad) = if ((ad >= Z)) | |
133 | + | then ac | |
115 | 134 | else throw("List size exceeds 100") | |
116 | 135 | ||
117 | - | ab( | |
136 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
118 | 137 | } | |
119 | - | (nil ++ | |
138 | + | (nil ++ X) | |
120 | 139 | } | |
121 | 140 | ||
122 | 141 | ||
123 | 142 | ||
124 | - | @Callable( | |
143 | + | @Callable(S) | |
125 | 144 | func currentPosition () = { | |
126 | - | let | |
127 | - | let | |
128 | - | func | |
145 | + | let T = dropRight(i(this, "Address registered"), 1) | |
146 | + | let U = split(T, ",") | |
147 | + | func af (W,e) = (W ++ [IntegerEntry(("increase " + e), (wavesBalance(addressFromStringValue(e)).available - d(this, e)))]) | |
129 | 148 | ||
130 | - | let | |
131 | - | let | |
132 | - | let | |
133 | - | let | |
134 | - | func | |
135 | - | then | |
136 | - | else ac | |
149 | + | let ag = { | |
150 | + | let Y = U | |
151 | + | let Z = size(Y) | |
152 | + | let aa = nil | |
153 | + | func ab (ac,ad) = if ((ad >= Z)) | |
154 | + | then ac | |
155 | + | else af(ac, Y[ad]) | |
137 | 156 | ||
138 | - | func | |
139 | - | then | |
157 | + | func ae (ac,ad) = if ((ad >= Z)) | |
158 | + | then ac | |
140 | 159 | else throw("List size exceeds 98") | |
141 | 160 | ||
142 | - | ab( | |
161 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
143 | 162 | } | |
144 | - | (nil ++ | |
163 | + | (nil ++ ag) | |
145 | 164 | } | |
146 | 165 | ||
147 | 166 | ||
148 | 167 | ||
149 | - | @Callable( | |
150 | - | func stop () = if (( | |
168 | + | @Callable(S) | |
169 | + | func stop () = if ((S.caller != this)) | |
151 | 170 | then throw("access only by project owner") | |
152 | 171 | else { | |
153 | - | let | |
154 | - | let | |
155 | - | func | |
172 | + | let T = dropRight(i(this, "Address registered"), 1) | |
173 | + | let U = split(T, ",") | |
174 | + | func af (W,e) = (W ++ [IntegerEntry(("stop " + e), (wavesBalance(addressFromStringValue(e)).available - d(this, e)))]) | |
156 | 175 | ||
157 | - | let | |
158 | - | let | |
159 | - | let | |
160 | - | let | |
161 | - | func | |
162 | - | then | |
163 | - | else ac | |
176 | + | let ag = { | |
177 | + | let Y = U | |
178 | + | let Z = size(Y) | |
179 | + | let aa = nil | |
180 | + | func ab (ac,ad) = if ((ad >= Z)) | |
181 | + | then ac | |
182 | + | else af(ac, Y[ad]) | |
164 | 183 | ||
165 | - | func | |
166 | - | then | |
184 | + | func ae (ac,ad) = if ((ad >= Z)) | |
185 | + | then ac | |
167 | 186 | else throw("List size exceeds 98") | |
168 | 187 | ||
169 | - | ab( | |
188 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
170 | 189 | } | |
171 | - | (nil ++ | |
190 | + | (nil ++ ag) | |
172 | 191 | } | |
173 | 192 | ||
174 | 193 | ||
175 | 194 | ||
176 | - | @Callable( | |
177 | - | func winners () = if (( | |
195 | + | @Callable(S) | |
196 | + | func winners () = if ((S.caller != this)) | |
178 | 197 | then throw("access only by project owner") | |
179 | 198 | else { | |
180 | - | let Q = dropRight(h(this, "Address registered"), 1) | |
181 | - | let R = split(Q, ",") | |
182 | - | let ae = size(R) | |
183 | - | let af = 1 | |
184 | - | func ag (T,d) = if ((af > c(this, ("stop " + d)))) | |
199 | + | let ah = invoke(this, "filter", nil, nil) | |
200 | + | if ((ah == ah)) | |
185 | 201 | then nil | |
186 | - | else (T :+ d) | |
187 | - | ||
188 | - | let ah = { | |
189 | - | let V = R | |
190 | - | let W = size(V) | |
191 | - | let X = nil | |
192 | - | func Y (Z,aa) = if ((aa >= W)) | |
193 | - | then Z | |
194 | - | else ag(Z, V[aa]) | |
195 | - | ||
196 | - | func ab (Z,aa) = if ((aa >= W)) | |
197 | - | then Z | |
198 | - | else throw("List size exceeds 98") | |
199 | - | ||
200 | - | ab(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(X, 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) | |
201 | - | } | |
202 | - | let ai = size(ah) | |
203 | - | let aj = c(this, ("stop " + "3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez")) | |
204 | - | let ak = c(this, ("stop " + "3N3y7nQfqDc7rBUExjKQi5ZbspWRh9q8PYH")) | |
205 | - | let al = c(this, ("stop " + "3N8ueTAufEUYDKWJDbfK7aZ4HHxBkX4DXA6")) | |
206 | - | let am = fraction(ai, 80, 100, DOWN) | |
207 | - | let an = (ai - am) | |
208 | - | [IntegerEntry("list size filterList", ai), IntegerEntry("diff 3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez", aj), IntegerEntry("diff 3N3y7nQfqDc7rBUExjKQi5ZbspWRh9q8PYH", ak), IntegerEntry("diff 3N8ueTAufEUYDKWJDbfK7aZ4HHxBkX4DXA6", al), IntegerEntry("cullSize", am), IntegerEntry("amountCull", an)] | |
202 | + | else throw("Strict value is not equal to itself.") | |
209 | 203 | } | |
210 | 204 | ||
211 | 205 | ||
212 | 206 | ||
213 | - | @Callable( | |
214 | - | func | |
207 | + | @Callable(S) | |
208 | + | func filter () = if ((S.caller != this)) | |
215 | 209 | then throw("access only by project owner") | |
216 | 210 | else { | |
217 | - | let Q = dropRight(h(this, "winners"), 1) | |
218 | - | let R = split(Q, ",") | |
219 | - | func ao (T,d) = (T ++ [IntegerEntry(d, wavesBalance(addressFromStringValue(d)).available)]) | |
211 | + | let T = dropRight(i(this, "Address registered"), 1) | |
212 | + | let U = split(T, ",") | |
213 | + | let ai = size(U) | |
214 | + | let aj = 1 | |
215 | + | func ak (W,e) = if ((aj > d(this, ("stop " + e)))) | |
216 | + | then nil | |
217 | + | else (W :+ e) | |
220 | 218 | ||
221 | - | let | |
222 | - | let | |
223 | - | let | |
224 | - | let | |
225 | - | func | |
226 | - | then | |
227 | - | else | |
219 | + | let al = { | |
220 | + | let Y = U | |
221 | + | let Z = size(Y) | |
222 | + | let aa = nil | |
223 | + | func ab (ac,ad) = if ((ad >= Z)) | |
224 | + | then ac | |
225 | + | else ak(ac, Y[ad]) | |
228 | 226 | ||
229 | - | func | |
230 | - | then | |
231 | - | else throw("List size exceeds | |
227 | + | func ae (ac,ad) = if ((ad >= Z)) | |
228 | + | then ac | |
229 | + | else throw("List size exceeds 98") | |
232 | 230 | ||
233 | - | ab( | |
231 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
234 | 232 | } | |
235 | - | func aq (T,d) = (T + (d + ",")) | |
233 | + | let am = size(al) | |
234 | + | let an = fraction(am, 80, 100, DOWN) | |
235 | + | func ao (W,e) = if ((aj > d(this, ("stop " + e)))) | |
236 | + | then nil | |
237 | + | else (W + (e + ",")) | |
236 | 238 | ||
237 | - | let | |
238 | - | let | |
239 | - | let | |
240 | - | let | |
241 | - | func | |
242 | - | then | |
243 | - | else | |
239 | + | let ah = { | |
240 | + | let Y = U | |
241 | + | let Z = size(Y) | |
242 | + | let aa = "" | |
243 | + | func ap (ac,ad) = if ((ad >= Z)) | |
244 | + | then ac | |
245 | + | else ao(ac, Y[ad]) | |
244 | 246 | ||
245 | - | func | |
246 | - | then | |
247 | - | else throw("List size exceeds | |
247 | + | func aq (ac,ad) = if ((ad >= Z)) | |
248 | + | then ac | |
249 | + | else throw("List size exceeds 98") | |
248 | 250 | ||
249 | - | | |
251 | + | aq(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(aa, 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) | |
250 | 252 | } | |
251 | - | ||
253 | + | [StringEntry("Filter", ah), IntegerEntry("list size filterList", am), IntegerEntry("cullSize", an)] | |
252 | 254 | } | |
253 | 255 | ||
254 | 256 | ||
255 | 257 | ||
256 | - | @Callable(P) | |
257 | - | func transfer () = if ((P.caller != this)) | |
258 | + | @Callable(S) | |
259 | + | func remove () = if ((S.caller != this)) | |
260 | + | then throw("access only by project owner") | |
261 | + | else nil | |
262 | + | ||
263 | + | ||
264 | + | ||
265 | + | @Callable(S) | |
266 | + | func transfer () = if ((S.caller != this)) | |
258 | 267 | then throw("access only by project owner") | |
259 | 268 | else { | |
260 | - | let | |
261 | - | let | |
262 | - | let | |
263 | - | let | |
264 | - | let | |
265 | - | func | |
269 | + | let ar = k | |
270 | + | let as = (2 * a) | |
271 | + | let T = dropRight(i(this, "winners"), 1) | |
272 | + | let U = split(T, ",") | |
273 | + | let at = (as / size(U)) | |
274 | + | func au (W,e) = (W ++ [ScriptTransfer(addressFromStringValue(e), at, ar)]) | |
266 | 275 | ||
267 | - | let | |
268 | - | let | |
269 | - | let | |
270 | - | func | |
271 | - | then | |
272 | - | else | |
276 | + | let Y = U | |
277 | + | let Z = size(Y) | |
278 | + | let aa = nil | |
279 | + | func ab (ac,ad) = if ((ad >= Z)) | |
280 | + | then ac | |
281 | + | else au(ac, Y[ad]) | |
273 | 282 | ||
274 | - | func | |
275 | - | then | |
283 | + | func ae (ac,ad) = if ((ad >= Z)) | |
284 | + | then ac | |
276 | 285 | else throw("List size exceeds 100") | |
277 | 286 | ||
278 | - | ab( | |
287 | + | ae(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(aa, 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) | |
279 | 288 | } | |
280 | 289 | ||
281 | 290 |
github/deemru/w8io/026f985 727.15 ms ◑