tx · 8Dc3rz8vFzdXbt4xEhP8R5gVdE2AksPq7dTmwGAyWKov

3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA:  -0.02100000 Waves

2023.02.10 17:33 [2443665] smart account 3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA > SELF 0.00000000 Waves

{ "type": 13, "id": "8Dc3rz8vFzdXbt4xEhP8R5gVdE2AksPq7dTmwGAyWKov", "fee": 2100000, "feeAssetId": null, "timestamp": 1676039721083, "version": 2, "chainId": 84, "sender": "3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA", "senderPublicKey": "D46gQxzmdzdCTYRg6dMcwFoUrc6ZmxF6GKd5ZoTkvzp1", "proofs": [ "3xQ8eNfJaXsiP8XDtVK7oLkqb5oUNRsx8tfp7KyNxb3VFUrTb4A4VS3U6f3VtTGTdjo1msRbBTR6wiD9NGSBtK9s" ], "script": "base64:BgLFEwgCEgMKAQgSABIECgIIARIHCgUICAgIARIECgIICBIFCgMICAESBAoCCAgSAwoBARIDCgEBEgQKAggIEgQKAggEEgASAwoBARIAEgQKAggIEgQKAggIEgQKAggIIglzZXBhcmF0b3IiDnBvb2xXZWlnaHRNdWx0Ig9tYXhEZXB0aERlZmF1bHQiFmZpbmFsaXphdGlvblN0YWdlVG90YWwiF2ZpbmFsaXphdGlvblN0YWdlU2hhcmVzIg5rZXlFcG9jaExlbmd0aCIPa2V5Q3VycmVudEVwb2NoIgtrZXlNYXhEZXB0aCIia2V5Vm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCISa2V5RmFjdG9yeUNvbnRyYWN0IhNrZXlCb29zdGluZ0NvbnRyYWN0IhJrZXlTdGFraW5nQ29udHJhY3QiFGtleUZpbmFsaXphdGlvblN0YWdlIgtrZXlOZXh0UG9vbCILa2V5TmV4dFVzZXIiDmtleVN0YXJ0SGVpZ2h0IhFrZXlDdXJyZW50RXBvY2hVaSIQa2V5U3RhcnRIZWlnaHRVaSIda2V5RmluYWxpemF0aW9uU2hvdWxkQmVGb3JjZWQiFWtleVN0YXJ0SGVpZ2h0QnlFcG9jaCIFZXBvY2giDGtleUZpbmFsaXplZCIJa2V5SW5MaXN0IgRwb29sIgskdDAxNTExMTU1MSINYW1vdW50QXNzZXRJZCIMcHJpY2VBc3NldElkIgdrZXlVc2VkIgdhZGRyZXNzIgdrZXlWb3RlIgskdDAxODI1MTg2NSIPa2V5Vm90aW5nUmVzdWx0IgskdDAyMDQ3MjA4NyIMa2V5UG9vbFNoYXJlIgskdDAyMjUyMjI5MiINa2V5VG90YWxWb3RlcyIOZ2V0VmFsdWVPckZhaWwiA2tleSIEdHlwZSIFZXJyb3IiByRtYXRjaDAiA3N0ciIDaW50IgxnZXRTdHJPckZhaWwiAUAiDGdldEludE9yRmFpbCIMcG9vbFRvU3RyaW5nIgxzdHJpbmdUb1Bvb2wiBXBhcnRzIhZnZXRMcEFzc2V0QnlQb29sQXNzZXRzIh9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkIgxiYXNlQXNzZXRTdHIiKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzIhhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIiF2ludGVybmFsUHJpY2VBc3NldElkU3RyIh9rZXlNYXBwaW5nUG9vbENvbnRyYWN0VG9MUEFzc2V0IhNwb29sQ29udHJhY3RBZGRyZXNzIg9mYWN0b3J5Q29udHJhY3QiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiCWxwQXNzZXRJZCIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsIgskdDA0NTM0NDU3NCINcG9vbHNMaXN0TmFtZSIQZ2V0Vm90ZXNMaXN0TmFtZSILJHQwNDg3NTQ5MTUiC2tleUxpc3RIZWFkIghsaXN0TmFtZSIEbWV0YSILa2V5TGlzdFNpemUiC2tleUxpc3RQcmV2IgJpZCILa2V5TGlzdE5leHQiDGNvbnRhaW5zTm9kZSIKaGVhZE9yVW5pdCIKcHJldk9yVW5pdCIKbmV4dE9yVW5pdCIRaW5zZXJ0Tm9kZUFjdGlvbnMiCGxpc3RTaXplIgljaGVja05vZGUiEWRlbGV0ZU5vZGVBY3Rpb25zIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIBcyIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIIbXVzdFRoaXMiAWkiC211c3RNYW5hZ2VyIgJwayIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiC2NoZWNrQ2FsbGVyIhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSILdXNlckFkZHJlc3MiDHRhcmdldEhlaWdodCIXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiD3N0YWtpbmdDb250cmFjdCILZXBvY2hMZW5ndGgiBmNoZWNrcyINaW5MaXN0QWN0aW9ucyIYY3VycmVudEVwb2NoSXNOb3REZWZpbmVkIhJzdGFydEhlaWdodEFjdGlvbnMiBmFtb3VudCILc3RhcnRIZWlnaHQiCWVuZEhlaWdodCIXZmluYWxpemF0aW9uU3RhZ2VPclVuaXQiBHVzZWQiBHZvdGUiCnBvb2xSZXN1bHQiCnRvdGFsVm90ZXMiE2d3eEFtb3VudEF0RW5kVG90YWwiCWF2YWlsYWJsZSIHbmV3Vm90ZSIKd3hFbWlzc2lvbiINdm90ZXNMaXN0TmFtZSIOdXNlckFkZHJlc3NTdHIiEHZvdGVzTGlzdEFjdGlvbnMiDm5ld0Vwb2NoTGVuZ3RoIgtuZXdNYXhEZXB0aCIHcG9vbFN0ciINZXBvY2hQcmV2aW91cyITc3RhcnRIZWlnaHRQcmV2aW91cyIRZW5kSGVpZ2h0UHJldmlvdXMiEGNoZWNrVGFyZ2V0RXBvY2giDSR0MDE3MjcwMTczMTAiG2d3eEFtb3VudEF0RW5kVG90YWxQcmV2aW91cyIMdm90aW5nUmVzdWx0Igx2b3RlUHJldmlvdXMiB2FjdGlvbnMiBWZvcmNlIgt0YXJnZXRFcG9jaCIMY3VycmVudEVwb2NoIg0kdDAxOTAzNjE5MDc2IgFyIgVzaGFyZSIPbW9kaWZ5V2VpZ2h0SW52IhBwb29sc0xpc3RBY3Rpb25zIg1wcmV2aW91c0Vwb2NoIghuZXdFcG9jaCIKcG9vbE9yVW5pdCIKdXNlck9yVW5pdCIHJG1hdGNoMSIMcG9vbHNIZWFkU3RyIg5uZXh0VXNlck9yVW5pdCIEdXNlciIEbmV4dCIOcHJvY2Vzc1ZvdGVJbnYiDm5leHRQb29sT3JVbml0IgckbWF0Y2gyIghuZXh0VXNlciILbmV4dFBvb2xTdHIiB2NvdW50ZXIiBnJlc3VsdCIIbWF4RGVwdGgiA2ludiICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5MgABYQICX18AAWIAgMLXLwABYwAKAAFkAAAAAWUAAQABZgkAuQkCCQDMCAICAiVzCQDMCAICC2Vwb2NoTGVuZ3RoBQNuaWwFAWEAAWcJALkJAgkAzAgCAgIlcwkAzAgCAgxjdXJyZW50RXBvY2gFA25pbAUBYQABaAkAuQkCCQDMCAICAiVzCQDMCAICCG1heERlcHRoBQNuaWwFAWEAAWkJALkJAgkAzAgCAgIlcwkAzAgCAh92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQNuaWwFAWEAAWoJALkJAgkAzAgCAgIlcwkAzAgCAg9mYWN0b3J5Q29udHJhY3QFA25pbAUBYQABawkAuQkCCQDMCAICAiVzCQDMCAICEGJvb3N0aW5nQ29udHJhY3QFA25pbAUBYQABbAkAuQkCCQDMCAICAiVzCQDMCAICD3N0YWtpbmdDb250cmFjdAUDbmlsBQFhAAFtCQC5CQIJAMwIAgICJXMJAMwIAgIRZmluYWxpemF0aW9uU3RhZ2UFA25pbAUBYQABbgkAuQkCCQDMCAICAiVzCQDMCAICCG5leHRQb29sBQNuaWwFAWEAAW8JALkJAgkAzAgCAgIlcwkAzAgCAghuZXh0VXNlcgUDbmlsBQFhAAFwCQC5CQIJAMwIAgICJXMJAMwIAgILc3RhcnRIZWlnaHQFA25pbAUBYQABcQkAuQkCCQDMCAICAiVzCQDMCAICDmN1cnJlbnRFcG9jaFVpBQNuaWwFAWEAAXIJALkJAgkAzAgCAgIlcwkAzAgCAg1zdGFydEhlaWdodFVpBQNuaWwFAWEAAXMJALkJAgkAzAgCAgIlcwkAzAgCAgVmb3JjZQUDbmlsBQFhAQF0AQF1CQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtzdGFydEhlaWdodAkAzAgCCQCkAwEFAXUFA25pbAUBYQEBdgEBdQkAuQkCCQDMCAICBCVzJWQJAMwIAgIJZmluYWxpemVkCQDMCAIJAKQDAQUBdQUDbmlsBQFhAQF3AQF4BAF5BQF4BAF6CAUBeQJfMQQBQQgFAXkCXzIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGaW5MaXN0CQDMCAIFAXoJAMwIAgUBQQUDbmlsBQFhAQFCAgFDAXUJALkJAgkAzAgCAgYlcyVzJWQJAMwIAgIEdXNlZAkAzAgCCQClCAEFAUMJAMwIAgkApAMBBQF1BQNuaWwFAWEBAUQDAXgBQwF1BAFFBQF4BAF6CAUBRQJfMQQBQQgFAUUCXzIJALkJAgkAzAgCAgolcyVzJXMlcyVkCQDMCAICBHZvdGUJAMwIAgUBegkAzAgCBQFBCQDMCAIJAKUIAQUBQwkAzAgCCQCkAwEFAXUFA25pbAUBYQEBRgIBeAF1BAFHBQF4BAF6CAUBRwJfMQQBQQgFAUcCXzIJALkJAgkAzAgCAgglcyVzJXMlZAkAzAgCAgx2b3RpbmdSZXN1bHQJAMwIAgUBegkAzAgCBQFBCQDMCAIJAKQDAQUBdQUDbmlsBQFhAQFIAgF4AXUEAUkFAXgEAXoIBQFJAl8xBAFBCAUBSQJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICCXBvb2xTaGFyZQkAzAgCBQF6CQDMCAIFAUEJAMwIAgkApAMBBQF1BQNuaWwFAWEBAUoBAXUJALkJAgkAzAgCAgQlcyVkCQDMCAICCnRvdGFsVm90ZXMJAMwIAgkApAMBBQF1BQNuaWwFAWEBAUsDAUMBTAFNBAFOCQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFAUMJAMwIAgIBLgkAzAgCBQFMCQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgQBTwUBTQMJAAECBQFPAgZTdHJpbmcEAVAFAU8JAJ0IAgUBQwUBTAMJAAECBQFPAgNJbnQEAVEFAU8JAJoIAgUBQwUBTAkAAgECEmludmFsaWQgZW50cnkgdHlwZQUBTgEBUgIBQwFMCgABUwkBAUsDBQFDBQFMAgADCQABAgUBUwIGU3RyaW5nBQFTCQACAQkArAICCQADAQUBUwIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nAQFUAgFDAUwKAAFTCQEBSwMFAUMFAUwAAAMJAAECBQFTAgNJbnQFAVMJAAIBCQCsAgIJAAMBBQFTAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAVUBAXgJAKwCAgkArAICCAUBeAJfMQUBYQgFAXgCXzIBAVYBAVAEAVcJALUJAgUBUAUBYQMJAAACCQCQAwEFAVcAAgkAlAoCCQCRAwIFAVcAAAkAkQMCBQFXAAEJAAIBAhNpbnZhbGlkIHBvb2wgc3RyaW5nAQFYAgF6AUEKAQFZAQFaCQCsAgICKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAVoKAQJhYQICYWICYWMJAKwCAgkArAICCQCsAgIJAKwCAgIKJWQlZCVzJXNfXwkApAMBBQJhYgICX18JAKQDAQUCYWMCI19fbWFwcGluZ3NfX3Bvb2xBc3NldHMyUG9vbENvbnRyYWN0CgECYWQBAmFlCQCsAgIJAKwCAgIIJXMlcyVzX18FAmFlAiBfX21hcHBpbmdzX19wb29sQ29udHJhY3QyTHBBc3NldAQCYWYJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFSAgUEdGhpcwUBagQCYWcJAQFUAgUCYWYJAQFZAQUBegQCYWgJAQFUAgUCYWYJAQFZAQUBQQQCYWUJAQFSAgUCYWYJAQJhYQIFAmFnBQJhaAQCYWkJAQFSAgUCYWYJAQJhZAEFAmFlBQJhaQECYWoBAXgEAmFrBQF4BAF6CAUCYWsCXzEEAUEIBQJhawJfMgQCYWYJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFSAgUEdGhpcwUBagoAAVMJAPwHBAUCYWYCGGNoZWNrV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQF6CQDMCAIFAUEFA25pbAUDbmlsAwkAAQIFAVMCB0Jvb2xlYW4FAVMJAAIBCQCsAgIJAAMBBQFTAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAAJhbAIFcG9vbHMBAmFtAQF4BAJhbgUBeAQBeggFAmFuAl8xBAFBCAUCYW4CXzIJALkJAgkAzAgCAgV2b3RlcwkAzAgCBQF6CQDMCAIFAUEFA25pbAUBYQECYW8BAmFwBAJhcQMJAAACBQJhcAUCYWwCBCVzJXMCCCVzJXMlcyVzCQC5CQIJAMwIAgUCYXEJAMwIAgUCYXAJAMwIAgIEaGVhZAUDbmlsBQFhAQJhcgECYXAEAmFxAwkAAAIFAmFwBQJhbAIEJXMlcwIIJXMlcyVzJXMJALkJAgkAzAgCBQJhcQkAzAgCBQJhcAkAzAgCAgRzaXplBQNuaWwFAWEBAmFzAgJhcAJhdAQCYXEDCQAAAgUCYXAFAmFsAgglcyVzJXMlcwIKJXMlcyVzJXMlcwkAuQkCCQDMCAIFAmFxCQDMCAIFAmFwCQDMCAIFAmF0CQDMCAICBHByZXYFA25pbAUBYQECYXUCAmFwAmF0BAJhcQMJAAACBQJhcAUCYWwCCCVzJXMlcyVzAgolcyVzJXMlcyVzCQC5CQIJAMwIAgUCYXEJAMwIAgUCYXAJAMwIAgUCYXQJAMwIAgIEbmV4dAUDbmlsBQFhAQJhdgICYXACYXQEAmF3CQCdCAIFBHRoaXMJAQJhbwEFAmFwBAJheAkAnQgCBQR0aGlzCQECYXMCBQJhcAUCYXQEAmF5CQCdCAIFBHRoaXMJAQJhdQIFAmFwBQJhdAMDCQAAAgUCYXQJAQt2YWx1ZU9yRWxzZQIFAmF3AgAGCQECIT0CBQJheAUEdW5pdAYJAQIhPQIFAmF5BQR1bml0AQJhegICYXACYXQEAmF3CQCdCAIFBHRoaXMJAQJhbwEFAmFwBAJhQQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYXIBBQJhcAAABAJhQgMJAQEhAQkBAmF2AgUCYXAFAmF0BgkAAgECC05vZGUgZXhpc3RzAwkAAAIFAmFCBQJhQgkAzggCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhcgEFAmFwCQBkAgUCYUEAAQUDbmlsAwkBAiE9AgUCYXcFBHVuaXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF1AgUCYXAFAmF0CQEFdmFsdWUBBQJhdwkAzAgCCQELU3RyaW5nRW50cnkCCQECYXMCBQJhcAkBBXZhbHVlAQUCYXcFAmF0BQNuaWwFA25pbAkAzAgCCQELU3RyaW5nRW50cnkCCQECYW8BBQJhcAUCYXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECYUMCAmFwAmF0BAJhdwkAnQgCBQR0aGlzCQECYW8BBQJhcAQCYUEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmFyAQUCYXAAAAQCYXgJAJ0IAgUEdGhpcwkBAmFzAgUCYXAFAmF0BAJheQkAnQgCBQR0aGlzCQECYXUCBQJhcAUCYXQJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFyAQUCYXAJAGUCBQJhQQABBQNuaWwDAwkBAiE9AgUCYXgFBHVuaXQJAQIhPQIFAmF5BQR1bml0BwkAzAgCCQELU3RyaW5nRW50cnkCCQECYXUCBQJhcAkBBXZhbHVlAQUCYXgJAQV2YWx1ZQEFAmF5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhcwIFAmFwCQEFdmFsdWUBBQJheQkBBXZhbHVlAQUCYXgJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFzAgUCYXAFAmF0CQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhdQIFAmFwBQJhdAUDbmlsAwkBAiE9AgUCYXkFBHVuaXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFvAQUCYXAJAQV2YWx1ZQEFAmF5CQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhdQIFAmFwBQJhdAkAzAgCCQELRGVsZXRlRW50cnkBCQECYXMCBQJhcAkBBXZhbHVlAQUCYXkFA25pbAMJAQIhPQIFAmF4BQR1bml0CQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhcwIFAmFwBQJhdAkAzAgCCQELRGVsZXRlRW50cnkBCQECYXUCBQJhcAkBBXZhbHVlAQUCYXgFA25pbAMJAAACBQJhdAkBC3ZhbHVlT3JFbHNlAgUCYXcCAAkAzAgCCQELRGVsZXRlRW50cnkBCQECYW8BBQJhcAUDbmlsCQACAQkArAICCQCsAgIJAKwCAgIOaW52YWxpZCBub2RlOiAFAmFwAgEuBQJhdAECYUQAAhQlc19fbWFuYWdlclB1YmxpY0tleQECYUUAAhslc19fcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkBAmFGAAQBTwkAoggBCQECYUQAAwkAAQIFAU8CBlN0cmluZwQCYUcFAU8JANkEAQUCYUcDCQABAgUBTwIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJhSAAEAU8JAKIIAQkBAmFFAAMJAAECBQFPAgZTdHJpbmcEAmFHBQFPCQDZBAEFAmFHAwkAAQIFAU8CBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgACYUkJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAECYUoBAmFLAwkAAAIIBQJhSwZjYWxsZXIFBHRoaXMGBQJhSQECYUwBAmFLBAFPCQECYUYAAwkAAQIFAU8CCkJ5dGVWZWN0b3IEAmFNBQFPAwkAAAIIBQJhSw9jYWxsZXJQdWJsaWNLZXkFAmFNBgUCYUkDCQABAgUBTwIEVW5pdAkBAmFKAQUCYUsJAAIBAgtNYXRjaCBlcnJvchECYUsBCnNldE1hbmFnZXIBAmFOBAJhTwkBAmFMAQUCYUsDCQAAAgUCYU8FAmFPBAJhUAkA2QQBBQJhTgMJAAACBQJhUAUCYVAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFFAAUCYU4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSwEOY29uZmlybU1hbmFnZXIABAJhUQkBAmFIAAQCYVIDCQEJaXNEZWZpbmVkAQUCYVEGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmFSBQJhUgQCYVMDCQAAAggFAmFLD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCYVEGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmFTBQJhUwkAzAgCCQELU3RyaW5nRW50cnkCCQECYUQACQDYBAEJAQV2YWx1ZQEFAmFRCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhRQAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSwEYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0AgJhVAJhVQQCYVYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQEBUgIFBHRoaXMFAWsCIWludmFsaWQgYm9vc3RpbmcgY29udHJhY3QgYWRkcmVzcwkAlAoCBQNuaWwKAAFTCQD8BwQFAmFWAiBnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHRSRUFET05MWQkAzAgCBQJhVAkAzAgCBQJhVQUDbmlsBQNuaWwDCQABAgUBUwIDSW50BQFTCQACAQkArAICCQADAQUBUwIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50AmFLAQtjb25zdHJ1Y3RvcgUCYWYCYVcCYVgCYVkCYVoEAmJhCQDMCAIJAQJhTAEFAmFLCQDMCAIDCQECIT0CCQCmCAEFAmFmBQR1bml0BgIgaW52YWxpZCBmYWN0b3J5IGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAQIhPQIJAKYIAQUCYVcFBHVuaXQGAjJpbnZhbGlkIHZvdGluZyBlbWlzc2lvbiBjYW5kaWRhdGUgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJhWAUEdW5pdAYCIWludmFsaWQgYm9vc3RpbmcgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJhWQUEdW5pdAYCIGludmFsaWQgc3Rha2luZyBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQBmAgUCYVoAAAYJAAIBAhRpbnZhbGlkIGVwb2NoIGxlbmd0aAUDbmlsAwkAAAIFAmJhBQJiYQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAWoFAmFmCQDMCAIJAQtTdHJpbmdFbnRyeQIFAWkFAmFXCQDMCAIJAQtTdHJpbmdFbnRyeQIFAWsFAmFYCQDMCAIJAQtTdHJpbmdFbnRyeQIFAWwFAmFZCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFmBQJhWgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFLAQZjcmVhdGUCAXoBQQQCYmEJAMwIAgMJAAACCQDYBAEICAUCYUsGY2FsbGVyBWJ5dGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFAWkCAAYJAQJhTAEFAmFLBQNuaWwDCQAAAgUCYmEFAmJhBAF4CQCUCgIFAXoFAUEEAmJiCQDOCAIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQF3AQUBeAYFA25pbAkBAmF6AgUCYWwJAQFVAQUBeAQCYmMJAAACCQCaCAIFBHRoaXMFAWcFBHVuaXQEAmJkAwUCYmMEAXUAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBZwUBdQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAXQBBQF1BQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAXAFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcQUBdQkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcgUGaGVpZ2h0BQNuaWwFA25pbAkAlAoCCQDOCAIFAmJiBQJiZAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSwEEdm90ZQMBegFBAmJlBAF4CQCUCgIFAXoFAUEEAXUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUBZwAABAJiZgkBAVQCBQR0aGlzCQEBdAEFAXUEAmFaCQEBVAIFBHRoaXMFAWYEAmJnCQBkAgUCYmYFAmFaBAJiaAkAmggCBQR0aGlzBQFtBAJiaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBQgIIBQJhSwZjYWxsZXIFAXUAAAQCYmoJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUQDBQF4CAUCYUsGY2FsbGVyBQF1AAAEAmJrCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFGAgUBeAUBdQAABAJibAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBSgEFAXUAAAQCYm0KAAFTCQD8BwQFBHRoaXMCGGdldFVzZXJHd3hBbW91bnRBdEhlaWdodAkAzAgCCQDYBAEICAUCYUsGY2FsbGVyBWJ5dGVzCQDMCAIFAmJnBQNuaWwFA25pbAMJAAECBQFTAgNJbnQFAVMJAAIBCQCsAgIJAAMBBQFTAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQEAmJuCQBlAgUCYm0FAmJpBAJibwkAZAIFAmJqBQJiZQQCYnAJAQJhagEFAXgEAmJhCQDMCAIDCQECIT0CCQCgCAEJAQF3AQUBeAUEdW5pdAYJAAIBAg5pbnZhbGlkIGFzc2V0cwkAzAgCAwkAZgIFAmJnBQZoZWlnaHQGCQACAQIOaW52YWxpZCBoZWlnaHQJAMwIAgMJAAACBQJiaAUEdW5pdAYJAAIBAhhmaW5hbGl6YXRpb24gaW4gcHJvZ3Jlc3MJAMwIAgMJAGYCBQJibQAABgkAAgECE3lvdSBkbyBub3QgaGF2ZSBnV1gJAMwIAgMDCQBmAgUCYmUAAAkAZwIFAmJuBQJiZQcGCQACAQIOaW52YWxpZCBhbW91bnQJAMwIAgMFAmJwBgkAAgECHXBvb2wgaGFzbid0IFdYX0VNSVNTSU9OIGxhYmVsBQNuaWwDCQAAAgUCYmEFAmJhBAJicQkBAmFtAQUBeAQCYnIJAKUIAQgFAmFLBmNhbGxlcgQCYnMDCQECYXYCBQJicQUCYnIFA25pbAkBAmF6AgUCYnEFAmJyCQCUCgIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUICCAUCYUsGY2FsbGVyBQF1CQBkAgUCYmkFAmJlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRAMFAXgIBQJhSwZjYWxsZXIFAXUFAmJvCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRgIFAXgFAXUJAGQCBQJiawUCYmUJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFKAQUBdQkAZAIFAmJsBQJiZQUDbmlsBQJicwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSwEKY2FuY2VsVm90ZQIBegFBBAF4CQCUCgIFAXoFAUEEAXUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUBZwAABAJiZgkBAVQCBQR0aGlzCQEBdAEFAXUEAmFaCQEBVAIFBHRoaXMFAWYEAmJnCQBkAgUCYmYFAmFaBAJiaAkAmggCBQR0aGlzBQFtBAJiaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBQgIIBQJhSwZjYWxsZXIFAXUAAAQCYmoJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUQDBQF4CAUCYUsGY2FsbGVyBQF1AAAEAmJrCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFGAgUBeAUBdQAABAJibAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBSgEFAXUAAAQCYmEJAMwIAgMJAQIhPQIJAKAIAQkBAXcBBQF4BQR1bml0BgkAAgECDmludmFsaWQgYXNzZXRzCQDMCAIDCQBmAgUCYmcFBmhlaWdodAYJAAIBAg5pbnZhbGlkIGhlaWdodAkAzAgCAwkAAAIFAmJoBQR1bml0BgkAAgECGGZpbmFsaXphdGlvbiBpbiBwcm9ncmVzcwkAzAgCAwkAZgIFAmJqAAAGCQACAQIHbm8gdm90ZQUDbmlsAwkAAAIFAmJhBQJiYQQCYnEJAQJhbQEFAXgEAmJyCQClCAEIBQJhSwZjYWxsZXIJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBQgIIBQJhSwZjYWxsZXIFAXUJAJYDAQkAzAgCCQBlAgUCYmkFAmJqCQDMCAIAAAUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEJAQFEAwUBeAgFAmFLBmNhbGxlcgUBdQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUYCBQF4BQF1CQBlAgUCYmsFAmJqCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSgEFAXUJAGUCBQJibAUCYmoFA25pbAkBAmFDAgUCYnEFAmJyBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFLAQ5zZXRFcG9jaExlbmd0aAECYnQEAmJhCQDMCAIJAQJhTAEFAmFLCQDMCAIDCQBmAgUCYnQAAAYJAAIBAhRpbnZhbGlkIGVwb2NoIGxlbmd0aAUDbmlsAwkAAAIFAmJhBQJiYQkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFmBQJidAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFLAQtzZXRNYXhEZXB0aAECYnUEAmJhCQDMCAIJAQJhTAEFAmFLCQDMCAIDCQBmAgUCYnUAAAYJAAIBAhFpbnZhbGlkIG1heCBkZXB0aAUDbmlsAwkAAAIFAmJhBQJiYQkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFoBQJidQUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFLARNwcm9jZXNzVm90ZUlOVEVSTkFMAgJidgJicgQCYU8JAQJhSgEFAmFLAwkAAAIFAmFPBQJhTwQCYVQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBBQJicgkArAICAipwcm9jZXNzVm90ZUlOVEVSTkFMOiBpbnZhbGlkIHVzZXIgYWRkcmVzcyAFAmJyBAF1CQEBVAIFBHRoaXMFAWcEAmJ3CQBlAgUBdQABBAJhWgkBAVQCBQR0aGlzBQFmBAJiZgkBAVQCBQR0aGlzCQEBdAEFAXUEAmJnCQBkAgUCYmYFAmFaBAJieAkBAVQCBQR0aGlzCQEBdAEFAmJ3BAJieQkAZAIFAmJ4BQJhWgQCYnoDCQBnAgUCYncAAAYJAAIBAitwcm9jZXNzVm90ZUlOVEVSTkFMOiBpbnZhbGlkIHByZXZpb3VzIGVwb2NoAwkAAAIFAmJ6BQJiegQBeAkBAVYBBQJidgQCYkEFAXgEAXoIBQJiQQJfMQQBQQgFAmJBAl8yBAJicAkBAmFqAQUBeAQCYm0KAAFTCQD8BwQFBHRoaXMCGGdldFVzZXJHd3hBbW91bnRBdEhlaWdodAkAzAgCBQJicgkAzAgCBQJiZwUDbmlsBQNuaWwDCQABAgUBUwIDSW50BQFTCQACAQkArAICCQADAQUBUwIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJiQgoAAVMJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIFAmJyCQDMCAIFAmJ5BQNuaWwFA25pbAMJAAECBQFTAgNJbnQFAVMJAAIBCQCsAgIJAAMBBQFTAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQEAmJsCQELdmFsdWVPckVsc2UCCQCfCAEJAQFKAQUBdQAABAJiQwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBRgIFAXgFAXUAAAQCYkQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEBRAMFAXgFAmFUBQJidwkArAICCQCsAgIJAKwCAgkArAICAhRwcm9jZXNzVm90ZUlOVEVSTkFMIAUCYnYCASAFAmJyAhI6IG5vIHByZXZpb3VzIHZvdGUEAmJpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFCAgUCYVQFAXUAAAQCYm8DCQBmAgUCYkIAAAkAawMFAmJEBQJibQUCYkIAAAQCYkUDAwkAZgIFAmJvAAAFAmJwBwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUQDBQF4BQJhVAUBdQUCYm8JAMwIAgkBDEludGVnZXJFbnRyeQIJAQFKAQUBdQkAZAIFAmJsBQJibwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUYCBQF4BQF1CQBkAgUCYkMFAmJvCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBQgIFAmFUBQF1CQBkAgUCYmkFAmJvBQNuaWwJAQJhQwIJAQJhbQEFAXgFAmJyCQCUCgIFAmJFBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFLARNwcm9jZXNzUG9vbElOVEVSTkFMAgJidgJiRgQCYU8JAQJhSgEFAmFLAwkAAAIFAmFPBQJhTwQCYkcEAmJICQEBVAIFBHRoaXMFAWcDBQJiRgUCYkgJAGUCBQJiSAABBAJiegMJAGcCBQJiRwAABgkAAgECKXByb2Nlc3NQb29sSU5URVJOQUw6IGludmFsaWQgdGFyZ2V0IGVwb2NoAwkAAAIFAmJ6BQJiegQBeAkBAVYBBQJidgQCYkkFAXgEAXoIBQJiSQJfMQQBQQgFAmJJAl8yBAJhWQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVICBQR0aGlzBQFsBAJhZgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVICBQR0aGlzBQFqBAJhaQkBAVgCBQF6BQFBBAJiSgoAAVMJAPwHBAUCYVkCEnVzZXJzTGlzdFRyYXZlcnNhbAkAzAgCBQJhaQUDbmlsBQNuaWwDCQABAgUBUwIHQm9vbGVhbgUBUwkAAgEJAKwCAgkAAwEFAVMCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4DCQAAAgUCYkoFAmJKAwUCYkoJAJQKAgUDbmlsBgQCYnAJAQJhagEFAXgEAmJsCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFKAQUCYkcAAAQCYkMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUYCBQF4BQJiRwAABAJiSwMDCQAAAgUCYmwAAAYJAQEhAQUCYnAAAAkAawMFAmJDBQFiBQJibAQCYkwJAPwHBAUCYWYCDG1vZGlmeVdlaWdodAkAzAgCBQJhaQkAzAgCBQJiSwUDbmlsBQNuaWwDCQAAAgUCYkwFAmJMBAJiTQMDBQJicAYFAmJGBQNuaWwJAM4IAgkAzAgCCQELRGVsZXRlRW50cnkBCQEBdwEFAXgFA25pbAkBAmFDAgUCYWwFAmJ2CQCUCgIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUgCBQF4BQJiRwUCYksFA25pbAUCYk0HCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFLAQ5maW5hbGl6ZUhlbHBlcgAEAmJGCQELdmFsdWVPckVsc2UCCQCgCAEFAXMHBAF1CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWcAAAQCYk4JAGUCBQF1AAEEAmJmCQEBVAIFBHRoaXMJAQF0AQUBdQQCYVoJAQFUAgUEdGhpcwUBZgQCYmcJAGQCBQJiZgUCYVoEAmJoCQCaCAIFBHRoaXMFAW0DAwMJAGcCBQZoZWlnaHQFAmJnCQAAAgUCYmgFBHVuaXQHCQEBIQEFAmJGBwQCYk8JAGQCBQF1AAEJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAXQBBQJiTwUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFwBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAWcFAmJPCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFtBQFkBQNuaWwGAwMFAmJGCQAAAgUCYmgFBHVuaXQHCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAW0FAWUFA25pbAYDCQAAAgUCYmgFBHVuaXQJAJQKAgUDbmlsBwMJAAACBQJiaAUBZAQCYlAJAKIIAQUBbgQCYlEJAKIIAQUBbwQBTwUCYlADCQABAgUBTwIEVW5pdAQCYlIJAKIIAQkBAmFvAQUCYWwDCQABAgUCYlICBFVuaXQJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBbQUBZQkAzAgCCQELRGVsZXRlRW50cnkBBQFuCQDMCAIJAQtEZWxldGVFbnRyeQEFAW8FA25pbAYDCQABAgUCYlICBlN0cmluZwQCYlMFAmJSCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbgUCYlMFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQFPAgZTdHJpbmcEAmJ2BQFPBAF4CQEBVgEFAmJ2BAJiVAQCYlIFAmJRAwkAAQIFAmJSAgRVbml0CQCiCAEJAQJhbwEJAQJhbQEFAXgDCQABAgUCYlICBlN0cmluZwQCYlUFAmJSBAJiVgkAoggBCQECYXUCCQECYW0BBQF4BQJiVQMJAAACBQJiVgUCYlYEAmJXCQD8BwQFBHRoaXMCE3Byb2Nlc3NWb3RlSU5URVJOQUwJAMwIAgUCYnYJAMwIAgUCYlUFA25pbAUDbmlsAwkAAAIFAmJXBQJiVwUCYlYJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAgtNYXRjaCBlcnJvcgQCYlIFAmJUAwkAAQIFAmJSAgRVbml0BAJiWAkAoggBCQECYXUCBQJhbAUCYnYEAmJZBQJiWAMJAAECBQJiWQIEVW5pdAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFtBQFlCQDMCAIJAQtEZWxldGVFbnRyeQEFAW4JAMwIAgkBC0RlbGV0ZUVudHJ5AQUBbwUDbmlsBgMJAAECBQJiWQIGU3RyaW5nBAJhRwUCYlkJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFuBQJhRwkAzAgCCQELRGVsZXRlRW50cnkBBQFvBQNuaWwGCQACAQILTWF0Y2ggZXJyb3IDCQABAgUCYlICBlN0cmluZwQCYloFAmJSCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbwUCYloFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgkAAgECC01hdGNoIGVycm9yAwkAAAIFAmJoBQFlBAJiUAkAoggBBQFuBAFPBQJiUAMJAAECBQFPAgRVbml0BAJiUgkAoggBCQECYW8BBQJhbAMJAAECBQJiUgIEVW5pdAQCYkUDBQJiRgkAzAgCCQELRGVsZXRlRW50cnkBBQFtCQDMCAIJAQtEZWxldGVFbnRyeQEFAXMFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQFtCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBdgEFAmJOBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcQUBdQkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcgUCYmYFA25pbAkAlAoCBQJiRQYDCQABAgUCYlICBlN0cmluZwQCY2EFAmJSCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbgUCY2EFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQFPAgZTdHJpbmcEAmJ2BQFPBAJiWAkAoggBCQECYXUCBQJhbAUCYnYDCQAAAgUCYlgFAmJYBAJiSgoAAVMJAPwHBAUEdGhpcwITcHJvY2Vzc1Bvb2xJTlRFUk5BTAkAzAgCBQJidgkAzAgCBQJiRgUDbmlsBQNuaWwDCQABAgUBUwIHQm9vbGVhbgUBUwkAAgEJAKwCAgkAAwEFAVMCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4DCQAAAgUCYkoFAmJKAwUCYkoJAJQKAgUDbmlsBgQCYlIFAmJYAwkAAQIFAmJSAgRVbml0BAJiRQMFAmJGCQDMCAIJAQtEZWxldGVFbnRyeQEFAW0JAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcwkAzAgCCQELRGVsZXRlRW50cnkBBQFuBQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBbQkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBAXYBBQJiTgYJAMwIAgkBDEludGVnZXJFbnRyeQIFAXEFAXUJAMwIAgkBDEludGVnZXJFbnRyeQIFAXIFAmJmCQDMCAIJAQtEZWxldGVFbnRyeQEFAW4FA25pbAkAlAoCBQJiRQYDCQABAgUCYlICBlN0cmluZwQCY2EFAmJSCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbgUCY2EFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC01hdGNoIGVycm9yCQACAQIWZmluYWxpemF0aW9uIGlzIGJyb2tlbgJhSwEPZmluYWxpemVXcmFwcGVyAQJjYgQCY2MKAAFTCQD8BwQFBHRoaXMCDmZpbmFsaXplSGVscGVyBQNuaWwFA25pbAMJAAECBQFTAgdCb29sZWFuBQFTCQACAQkArAICCQADAQUBUwIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJjYwUCY2MDCQEBIQEFAmNjAwkAAAIFAmNiAAAJAAIBAh5DdXJyZW50IHZvdGluZyBpcyBub3Qgb3ZlciB5ZXQJAJQKAgUDbmlsBQR1bml0BAJjZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFoBQFjAwkAZgIFAmNkBQJjYgQCY2UJAPwHBAUEdGhpcwIPZmluYWxpemVXcmFwcGVyCQDMCAIJAGQCBQJjYgABBQNuaWwFA25pbAMJAAACBQJjZQUCY2UJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSwEIZmluYWxpemUABAJjZQkA/AcEBQR0aGlzAg9maW5hbGl6ZVdyYXBwZXIJAMwIAgAABQNuaWwFA25pbAMJAAACBQJjZQUCY2UJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFLARRjb250YWluc05vZGVSRUFET05MWQICYXACYXQJAJQKAgUDbmlsCQECYXYCBQJhcAUCYXQCYUsBCmluc2VydE5vZGUCAmFwAmF0BAJhTwkBAmFMAQUCYUsDCQAAAgUCYU8FAmFPCQCUCgIJAQJhegIFAmFwBQJhdAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSwEKZGVsZXRlTm9kZQICYXACYXQEAmFPCQECYUwBBQJhSwMJAAACBQJhTwUCYU8JAJQKAgkBAmFDAgUCYXAFAmF0BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjZgECY2cABAJjaAQBTwkBAmFGAAMJAAECBQFPAgpCeXRlVmVjdG9yBAJhTQUBTwUCYU0DCQABAgUBTwIEVW5pdAgFAmNmD3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJjZglib2R5Qnl0ZXMJAJEDAggFAmNmBnByb29mcwAABQJjaE88kmM=", "height": 2443665, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Bjrq5ZKKTXBH7kVYjFrqip8Zue5XQsyunE7JCEV1FkxF Next: 4d48DX79RHiMBkrhVVg99FWTNgDaHMUTCcioPXAm5TuM Diff:
OldNewDifferences
1313
1414 let f = makeString(["%s", "epochLength"], a)
1515
16-let g = makeString(["%s%s", "epochLength__new"], a)
16+let g = makeString(["%s", "currentEpoch"], a)
1717
18-func h (i) = makeString(["%s%d", "epochLength", toString(i)], a)
18+let h = makeString(["%s", "maxDepth"], a)
19+
20+let i = makeString(["%s", "votingEmissionCandidateContract"], a)
21+
22+let j = makeString(["%s", "factoryContract"], a)
23+
24+let k = makeString(["%s", "boostingContract"], a)
25+
26+let l = makeString(["%s", "stakingContract"], a)
27+
28+let m = makeString(["%s", "finalizationStage"], a)
29+
30+let n = makeString(["%s", "nextPool"], a)
31+
32+let o = makeString(["%s", "nextUser"], a)
33+
34+let p = makeString(["%s", "startHeight"], a)
35+
36+let q = makeString(["%s", "currentEpochUi"], a)
37+
38+let r = makeString(["%s", "startHeightUi"], a)
39+
40+let s = makeString(["%s", "force"], a)
41+
42+func t (u) = makeString(["%s%d", "startHeight", toString(u)], a)
1943
2044
21-let j = makeString(["%s", "currentEpoch"], a)
22-
23-let k = makeString(["%s", "maxDepth"], a)
24-
25-let l = makeString(["%s", "votingEmissionCandidateContract"], a)
26-
27-let m = makeString(["%s", "factoryContract"], a)
28-
29-let n = makeString(["%s", "boostingContract"], a)
30-
31-let o = makeString(["%s", "stakingContract"], a)
32-
33-let p = makeString(["%s", "finalizationStage"], a)
34-
35-let q = makeString(["%s", "nextPool"], a)
36-
37-let r = makeString(["%s", "nextUser"], a)
38-
39-let s = makeString(["%s", "startHeight"], a)
40-
41-let t = makeString(["%s", "currentEpochUi"], a)
42-
43-let u = makeString(["%s", "startHeightUi"], a)
44-
45-let v = makeString(["%s", "force"], a)
46-
47-func w (i) = makeString(["%s%d", "startHeight", toString(i)], a)
45+func v (u) = makeString(["%s%d", "finalized", toString(u)], a)
4846
4947
50-func x (i) = makeString(["%s%d", "finalized", toString(i)], a)
51-
52-
53-func y (z) = {
54- let A = z
55- let B = A._1
56- let C = A._2
57- makeString(["%s%s%s", "inList", B, C], a)
48+func w (x) = {
49+ let y = x
50+ let z = y._1
51+ let A = y._2
52+ makeString(["%s%s%s", "inList", z, A], a)
5853 }
5954
6055
61-func D (E,i) = makeString(["%s%s%d", "used", toString(E), toString(i)], a)
56+func B (C,u) = makeString(["%s%s%d", "used", toString(C), toString(u)], a)
6257
6358
64-func F (z,E,i) = {
65- let G = z
66- let B = G._1
67- let C = G._2
68- makeString(["%s%s%s%s%d", "vote", B, C, toString(E), toString(i)], a)
59+func D (x,C,u) = {
60+ let E = x
61+ let z = E._1
62+ let A = E._2
63+ makeString(["%s%s%s%s%d", "vote", z, A, toString(C), toString(u)], a)
6964 }
7065
7166
72-func H (z,i) = {
73- let I = z
74- let B = I._1
75- let C = I._2
76- makeString(["%s%s%s%d", "votingResult", B, C, toString(i)], a)
67+func F (x,u) = {
68+ let G = x
69+ let z = G._1
70+ let A = G._2
71+ makeString(["%s%s%s%d", "votingResult", z, A, toString(u)], a)
7772 }
7873
7974
80-func J (z,i) = {
81- let K = z
82- let B = K._1
83- let C = K._2
84- makeString(["%s%s%s%d", "poolShare", B, C, toString(i)], a)
75+func H (x,u) = {
76+ let I = x
77+ let z = I._1
78+ let A = I._2
79+ makeString(["%s%s%s%d", "poolShare", z, A, toString(u)], a)
8580 }
8681
8782
88-func L (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
83+func J (u) = makeString(["%s%d", "totalVotes", toString(u)], a)
8984
9085
91-func M (E,N,O) = {
92- let P = makeString(["mandatory ", toString(E), ".", N, " is not defined"], "")
86+func K (C,L,M) = {
87+ let N = makeString(["mandatory ", toString(C), ".", L, " is not defined"], "")
9388 valueOrErrorMessage({
94- let Q = O
95- if ($isInstanceOf(Q, "String"))
89+ let O = M
90+ if ($isInstanceOf(O, "String"))
9691 then {
97- let R = Q
98- getString(E, N)
92+ let P = O
93+ getString(C, L)
9994 }
100- else if ($isInstanceOf(Q, "Int"))
95+ else if ($isInstanceOf(O, "Int"))
10196 then {
102- let S = Q
103- getInteger(E, N)
97+ let Q = O
98+ getInteger(C, L)
10499 }
105100 else throw("invalid entry type")
106- }, P)
101+ }, N)
107102 }
108103
109104
110-func T (E,N) = {
111- let U = M(E, N, "")
112- if ($isInstanceOf(U, "String"))
113- then U
114- else throw(($getType(U) + " couldn't be cast to String"))
105+func R (C,L) = {
106+ let S = K(C, L, "")
107+ if ($isInstanceOf(S, "String"))
108+ then S
109+ else throw(($getType(S) + " couldn't be cast to String"))
115110 }
116111
117112
118-func V (E,N) = {
119- let U = M(E, N, 0)
120- if ($isInstanceOf(U, "Int"))
121- then U
122- else throw(($getType(U) + " couldn't be cast to Int"))
113+func T (C,L) = {
114+ let S = K(C, L, 0)
115+ if ($isInstanceOf(S, "Int"))
116+ then S
117+ else throw(($getType(S) + " couldn't be cast to Int"))
123118 }
124119
125120
126-func W (z) = ((z._1 + a) + z._2)
121+func U (x) = ((x._1 + a) + x._2)
127122
128123
129-func X (R) = {
130- let Y = split(R, a)
131- if ((size(Y) == 2))
132- then $Tuple2(Y[0], Y[1])
124+func V (P) = {
125+ let W = split(P, a)
126+ if ((size(W) == 2))
127+ then $Tuple2(W[0], W[1])
133128 else throw("invalid pool string")
134129 }
135130
136131
137-func Z (B,C) = {
138- func aa (ab) = ("%s%s%s__mappings__baseAsset2internalId__" + ab)
132+func X (z,A) = {
133+ func Y (Z) = ("%s%s%s__mappings__baseAsset2internalId__" + Z)
139134
140- func ac (ad,ae) = (((("%d%d%s%s__" + toString(ad)) + "__") + toString(ae)) + "__mappings__poolAssets2PoolContract")
135+ func aa (ab,ac) = (((("%d%d%s%s__" + toString(ab)) + "__") + toString(ac)) + "__mappings__poolAssets2PoolContract")
141136
142- func af (ag) = (("%s%s%s__" + ag) + "__mappings__poolContract2LpAsset")
137+ func ad (ae) = (("%s%s%s__" + ae) + "__mappings__poolContract2LpAsset")
143138
144- let ah = addressFromStringValue(T(this, m))
145- let ai = V(ah, aa(B))
146- let aj = V(ah, aa(C))
147- let ag = T(ah, ac(ai, aj))
148- let ak = T(ah, af(ag))
149- ak
139+ let af = addressFromStringValue(R(this, j))
140+ let ag = T(af, Y(z))
141+ let ah = T(af, Y(A))
142+ let ae = R(af, aa(ag, ah))
143+ let ai = R(af, ad(ae))
144+ ai
150145 }
151146
152147
153-func al (z) = {
154- let am = z
155- let B = am._1
156- let C = am._2
157- let ah = addressFromStringValue(T(this, m))
158- let U = invoke(ah, "checkWxEmissionPoolLabel", [B, C], nil)
159- if ($isInstanceOf(U, "Boolean"))
160- then U
161- else throw(($getType(U) + " couldn't be cast to Boolean"))
148+func aj (x) = {
149+ let ak = x
150+ let z = ak._1
151+ let A = ak._2
152+ let af = addressFromStringValue(R(this, j))
153+ let S = invoke(af, "checkWxEmissionPoolLabel", [z, A], nil)
154+ if ($isInstanceOf(S, "Boolean"))
155+ then S
156+ else throw(($getType(S) + " couldn't be cast to Boolean"))
162157 }
163158
164159
165-let an = "pools"
160+let al = "pools"
166161
167-func ao (z) = {
168- let ap = z
169- let B = ap._1
170- let C = ap._2
171- makeString(["votes", B, C], a)
162+func am (x) = {
163+ let an = x
164+ let z = an._1
165+ let A = an._2
166+ makeString(["votes", z, A], a)
172167 }
173168
174169
175-func aq (ar) = {
176- let as = if ((ar == an))
170+func ao (ap) = {
171+ let aq = if ((ap == al))
177172 then "%s%s"
178173 else "%s%s%s%s"
179- makeString([as, ar, "head"], a)
174+ makeString([aq, ap, "head"], a)
180175 }
181176
182177
183-func at (ar) = {
184- let as = if ((ar == an))
178+func ar (ap) = {
179+ let aq = if ((ap == al))
185180 then "%s%s"
186181 else "%s%s%s%s"
187- makeString([as, ar, "size"], a)
182+ makeString([aq, ap, "size"], a)
188183 }
189184
190185
191-func au (ar,av) = {
192- let as = if ((ar == an))
186+func as (ap,at) = {
187+ let aq = if ((ap == al))
193188 then "%s%s%s%s"
194189 else "%s%s%s%s%s"
195- makeString([as, ar, av, "prev"], a)
190+ makeString([aq, ap, at, "prev"], a)
196191 }
197192
198193
199-func aw (ar,av) = {
200- let as = if ((ar == an))
194+func au (ap,at) = {
195+ let aq = if ((ap == al))
201196 then "%s%s%s%s"
202197 else "%s%s%s%s%s"
203- makeString([as, ar, av, "next"], a)
198+ makeString([aq, ap, at, "next"], a)
204199 }
205200
206201
207-func ax (ar,av) = {
208- let ay = getString(this, aq(ar))
209- let az = getString(this, au(ar, av))
210- let aA = getString(this, aw(ar, av))
211- if (if ((av == valueOrElse(ay, "")))
202+func av (ap,at) = {
203+ let aw = getString(this, ao(ap))
204+ let ax = getString(this, as(ap, at))
205+ let ay = getString(this, au(ap, at))
206+ if (if ((at == valueOrElse(aw, "")))
212207 then true
213- else (az != unit))
208+ else (ax != unit))
214209 then true
215- else (aA != unit)
210+ else (ay != unit)
216211 }
217212
218213
219-func aB (ar,av) = {
220- let ay = getString(this, aq(ar))
221- let aC = valueOrElse(getInteger(this, at(ar)), 0)
222- let aD = if (!(ax(ar, av)))
214+func az (ap,at) = {
215+ let aw = getString(this, ao(ap))
216+ let aA = valueOrElse(getInteger(this, ar(ap)), 0)
217+ let aB = if (!(av(ap, at)))
223218 then true
224219 else throw("Node exists")
225- if ((aD == aD))
226- then (([IntegerEntry(at(ar), (aC + 1))] ++ (if ((ay != unit))
227- then [StringEntry(aw(ar, av), value(ay)), StringEntry(au(ar, value(ay)), av)]
228- else nil)) ++ [StringEntry(aq(ar), av)])
220+ if ((aB == aB))
221+ then (([IntegerEntry(ar(ap), (aA + 1))] ++ (if ((aw != unit))
222+ then [StringEntry(au(ap, at), value(aw)), StringEntry(as(ap, value(aw)), at)]
223+ else nil)) ++ [StringEntry(ao(ap), at)])
229224 else throw("Strict value is not equal to itself.")
230225 }
231226
232227
233-func aE (ar,av) = {
234- let ay = getString(this, aq(ar))
235- let aC = valueOrElse(getInteger(this, at(ar)), 0)
236- let az = getString(this, au(ar, av))
237- let aA = getString(this, aw(ar, av))
238- ([IntegerEntry(at(ar), (aC - 1))] ++ (if (if ((az != unit))
239- then (aA != unit)
228+func aC (ap,at) = {
229+ let aw = getString(this, ao(ap))
230+ let aA = valueOrElse(getInteger(this, ar(ap)), 0)
231+ let ax = getString(this, as(ap, at))
232+ let ay = getString(this, au(ap, at))
233+ ([IntegerEntry(ar(ap), (aA - 1))] ++ (if (if ((ax != unit))
234+ then (ay != unit)
240235 else false)
241- then [StringEntry(aw(ar, value(az)), value(aA)), StringEntry(au(ar, value(aA)), value(az)), DeleteEntry(au(ar, av)), DeleteEntry(aw(ar, av))]
242- else if ((aA != unit))
243- then [StringEntry(aq(ar), value(aA)), DeleteEntry(aw(ar, av)), DeleteEntry(au(ar, value(aA)))]
244- else if ((az != unit))
245- then [DeleteEntry(au(ar, av)), DeleteEntry(aw(ar, value(az)))]
246- else if ((av == valueOrElse(ay, "")))
247- then [DeleteEntry(aq(ar))]
248- else throw(((("invalid node: " + ar) + ".") + av))))
236+ then [StringEntry(au(ap, value(ax)), value(ay)), StringEntry(as(ap, value(ay)), value(ax)), DeleteEntry(as(ap, at)), DeleteEntry(au(ap, at))]
237+ else if ((ay != unit))
238+ then [StringEntry(ao(ap), value(ay)), DeleteEntry(au(ap, at)), DeleteEntry(as(ap, value(ay)))]
239+ else if ((ax != unit))
240+ then [DeleteEntry(as(ap, at)), DeleteEntry(au(ap, value(ax)))]
241+ else if ((at == valueOrElse(aw, "")))
242+ then [DeleteEntry(ao(ap))]
243+ else throw(((("invalid node: " + ap) + ".") + at))))
249244 }
250245
251246
252-func aF () = "%s__managerPublicKey"
247+func aD () = "%s__managerPublicKey"
253248
254249
255-func aG () = "%s__pendingManagerPublicKey"
250+func aE () = "%s__pendingManagerPublicKey"
256251
257252
258-func aH () = {
259- let Q = getString(aF())
260- if ($isInstanceOf(Q, "String"))
253+func aF () = {
254+ let O = getString(aD())
255+ if ($isInstanceOf(O, "String"))
261256 then {
262- let aI = Q
263- fromBase58String(aI)
257+ let aG = O
258+ fromBase58String(aG)
264259 }
265- else if ($isInstanceOf(Q, "Unit"))
260+ else if ($isInstanceOf(O, "Unit"))
266261 then unit
267262 else throw("Match error")
268263 }
269264
270265
271-func aJ () = {
272- let Q = getString(aG())
273- if ($isInstanceOf(Q, "String"))
266+func aH () = {
267+ let O = getString(aE())
268+ if ($isInstanceOf(O, "String"))
274269 then {
275- let aI = Q
276- fromBase58String(aI)
270+ let aG = O
271+ fromBase58String(aG)
277272 }
278- else if ($isInstanceOf(Q, "Unit"))
273+ else if ($isInstanceOf(O, "Unit"))
279274 then unit
280275 else throw("Match error")
281276 }
282277
283278
284-let aK = throw("Permission denied")
279+let aI = throw("Permission denied")
285280
286-func aL (aM) = if ((aM.caller == this))
281+func aJ (aK) = if ((aK.caller == this))
287282 then true
288- else aK
283+ else aI
289284
290285
291-func aN (aM) = {
292- let Q = aH()
293- if ($isInstanceOf(Q, "ByteVector"))
286+func aL (aK) = {
287+ let O = aF()
288+ if ($isInstanceOf(O, "ByteVector"))
294289 then {
295- let aO = Q
296- if ((aM.callerPublicKey == aO))
290+ let aM = O
291+ if ((aK.callerPublicKey == aM))
297292 then true
298- else aK
293+ else aI
299294 }
300- else if ($isInstanceOf(Q, "Unit"))
301- then aL(aM)
295+ else if ($isInstanceOf(O, "Unit"))
296+ then aJ(aK)
302297 else throw("Match error")
303298 }
304299
305300
306-@Callable(aM)
307-func setManager (aP) = {
308- let aQ = aN(aM)
309- if ((aQ == aQ))
301+@Callable(aK)
302+func setManager (aN) = {
303+ let aO = aL(aK)
304+ if ((aO == aO))
310305 then {
311- let aR = fromBase58String(aP)
312- if ((aR == aR))
313- then [StringEntry(aG(), aP)]
306+ let aP = fromBase58String(aN)
307+ if ((aP == aP))
308+ then [StringEntry(aE(), aN)]
314309 else throw("Strict value is not equal to itself.")
315310 }
316311 else throw("Strict value is not equal to itself.")
318313
319314
320315
321-@Callable(aM)
316+@Callable(aK)
322317 func confirmManager () = {
323- let aS = aJ()
324- let aT = if (isDefined(aS))
318+ let aQ = aH()
319+ let aR = if (isDefined(aQ))
325320 then true
326321 else throw("No pending manager")
327- if ((aT == aT))
322+ if ((aR == aR))
328323 then {
329- let aU = if ((aM.callerPublicKey == value(aS)))
324+ let aS = if ((aK.callerPublicKey == value(aQ)))
330325 then true
331326 else throw("You are not pending manager")
332- if ((aU == aU))
333- then [StringEntry(aF(), toBase58String(value(aS))), DeleteEntry(aG())]
327+ if ((aS == aS))
328+ then [StringEntry(aD(), toBase58String(value(aQ))), DeleteEntry(aE())]
334329 else throw("Strict value is not equal to itself.")
335330 }
336331 else throw("Strict value is not equal to itself.")
338333
339334
340335
341-@Callable(aM)
342-func getUserGwxAmountAtHeight (aV,aW) = {
343- let aX = valueOrErrorMessage(addressFromString(T(this, n)), "invalid boosting contract address")
336+@Callable(aK)
337+func getUserGwxAmountAtHeight (aT,aU) = {
338+ let aV = valueOrErrorMessage(addressFromString(R(this, k)), "invalid boosting contract address")
344339 $Tuple2(nil, {
345- let U = invoke(aX, "getUserGwxAmountAtHeightREADONLY", [aV, aW], nil)
346- if ($isInstanceOf(U, "Int"))
347- then U
348- else throw(($getType(U) + " couldn't be cast to Int"))
340+ let S = invoke(aV, "getUserGwxAmountAtHeightREADONLY", [aT, aU], nil)
341+ if ($isInstanceOf(S, "Int"))
342+ then S
343+ else throw(($getType(S) + " couldn't be cast to Int"))
349344 })
350345 }
351346
352347
353348
354-@Callable(aM)
355-func constructor (ah,aY,aZ,ba,bb) = {
356- let bc = [aN(aM), if ((addressFromString(ah) != unit))
349+@Callable(aK)
350+func constructor (af,aW,aX,aY,aZ) = {
351+ let ba = [aL(aK), if ((addressFromString(af) != unit))
357352 then true
358- else "invalid factory contract address", if ((addressFromString(aY) != unit))
353+ else "invalid factory contract address", if ((addressFromString(aW) != unit))
359354 then true
360- else "invalid voting emission candidate contract address", if ((addressFromString(aZ) != unit))
355+ else "invalid voting emission candidate contract address", if ((addressFromString(aX) != unit))
361356 then true
362- else "invalid boosting contract address", if ((addressFromString(ba) != unit))
357+ else "invalid boosting contract address", if ((addressFromString(aY) != unit))
363358 then true
364- else "invalid staking contract address", if ((bb > 0))
359+ else "invalid staking contract address", if ((aZ > 0))
365360 then true
366361 else throw("invalid epoch length")]
367- if ((bc == bc))
368- then $Tuple2([StringEntry(m, ah), StringEntry(l, aY), StringEntry(n, aZ), StringEntry(o, ba), IntegerEntry(f, bb)], unit)
362+ if ((ba == ba))
363+ then $Tuple2([StringEntry(j, af), StringEntry(i, aW), StringEntry(k, aX), StringEntry(l, aY), IntegerEntry(f, aZ)], unit)
369364 else throw("Strict value is not equal to itself.")
370365 }
371366
372367
373368
374-@Callable(aM)
375-func create (B,C) = {
376- let bc = [if ((toBase58String(aM.caller.bytes) == valueOrElse(getString(this, l), "")))
369+@Callable(aK)
370+func create (z,A) = {
371+ let ba = [if ((toBase58String(aK.caller.bytes) == valueOrElse(getString(this, i), "")))
377372 then true
378- else aN(aM)]
379- if ((bc == bc))
373+ else aL(aK)]
374+ if ((ba == ba))
380375 then {
381- let z = $Tuple2(B, C)
382- let bd = ([BooleanEntry(y(z), true)] ++ aB(an, W(z)))
383- let be = (getInteger(this, j) == unit)
384- let bf = if (be)
376+ let x = $Tuple2(z, A)
377+ let bb = ([BooleanEntry(w(x), true)] ++ az(al, U(x)))
378+ let bc = (getInteger(this, g) == unit)
379+ let bd = if (bc)
385380 then {
386- let i = 0
387-[IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
381+ let u = 0
382+[IntegerEntry(g, u), IntegerEntry(t(u), height), IntegerEntry(p, height), IntegerEntry(q, u), IntegerEntry(r, height)]
388383 }
389384 else nil
390- $Tuple2((bd ++ bf), unit)
385+ $Tuple2((bb ++ bd), unit)
391386 }
392387 else throw("Strict value is not equal to itself.")
393388 }
394389
395390
396391
397-@Callable(aM)
398-func vote (B,C,bg) = {
399- let z = $Tuple2(B, C)
400- let i = valueOrElse(getInteger(this, j), 0)
401- let bh = V(this, w(i))
402- let bb = V(this, f)
403- let bi = (bh + bb)
404- let bj = getInteger(this, p)
405- let bk = valueOrElse(getInteger(this, D(aM.caller, i)), 0)
406- let bl = valueOrElse(getInteger(this, F(z, aM.caller, i)), 0)
407- let bm = valueOrElse(getInteger(this, H(z, i)), 0)
408- let bn = valueOrElse(getInteger(this, L(i)), 0)
409- let bo = {
410- let U = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aM.caller.bytes), bi], nil)
411- if ($isInstanceOf(U, "Int"))
412- then U
413- else throw(($getType(U) + " couldn't be cast to Int"))
392+@Callable(aK)
393+func vote (z,A,be) = {
394+ let x = $Tuple2(z, A)
395+ let u = valueOrElse(getInteger(this, g), 0)
396+ let bf = T(this, t(u))
397+ let aZ = T(this, f)
398+ let bg = (bf + aZ)
399+ let bh = getInteger(this, m)
400+ let bi = valueOrElse(getInteger(this, B(aK.caller, u)), 0)
401+ let bj = valueOrElse(getInteger(this, D(x, aK.caller, u)), 0)
402+ let bk = valueOrElse(getInteger(this, F(x, u)), 0)
403+ let bl = valueOrElse(getInteger(this, J(u)), 0)
404+ let bm = {
405+ let S = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aK.caller.bytes), bg], nil)
406+ if ($isInstanceOf(S, "Int"))
407+ then S
408+ else throw(($getType(S) + " couldn't be cast to Int"))
414409 }
415- let bp = (bo - bk)
416- let bq = (bl + bg)
417- let br = al(z)
418- let bc = [if ((getBoolean(y(z)) != unit))
410+ let bn = (bm - bi)
411+ let bo = (bj + be)
412+ let bp = aj(x)
413+ let ba = [if ((getBoolean(w(x)) != unit))
419414 then true
420- else throw("invalid assets"), if ((bi > height))
415+ else throw("invalid assets"), if ((bg > height))
421416 then true
422- else throw("invalid height"), if ((bj == unit))
417+ else throw("invalid height"), if ((bh == unit))
423418 then true
424- else throw("finalization in progress"), if ((bo > 0))
419+ else throw("finalization in progress"), if ((bm > 0))
425420 then true
426- else throw("you do not have gWX"), if (if ((bg > 0))
427- then (bp >= bg)
421+ else throw("you do not have gWX"), if (if ((be > 0))
422+ then (bn >= be)
428423 else false)
429424 then true
430- else throw("invalid amount"), if (br)
425+ else throw("invalid amount"), if (bp)
431426 then true
432427 else throw("pool hasn't WX_EMISSION label")]
433- if ((bc == bc))
428+ if ((ba == ba))
434429 then {
435- let bs = ao(z)
436- let bt = toString(aM.caller)
437- let bu = if (ax(bs, bt))
430+ let bq = am(x)
431+ let br = toString(aK.caller)
432+ let bs = if (av(bq, br))
438433 then nil
439- else aB(bs, bt)
440- $Tuple2(([IntegerEntry(D(aM.caller, i), (bk + bg)), IntegerEntry(F(z, aM.caller, i), bq), IntegerEntry(H(z, i), (bm + bg)), IntegerEntry(L(i), (bn + bg))] ++ bu), unit)
434+ else az(bq, br)
435+ $Tuple2(([IntegerEntry(B(aK.caller, u), (bi + be)), IntegerEntry(D(x, aK.caller, u), bo), IntegerEntry(F(x, u), (bk + be)), IntegerEntry(J(u), (bl + be))] ++ bs), unit)
441436 }
442437 else throw("Strict value is not equal to itself.")
443438 }
444439
445440
446441
447-@Callable(aM)
448-func cancelVote (B,C) = {
449- let z = $Tuple2(B, C)
450- let i = valueOrElse(getInteger(this, j), 0)
451- let bh = V(this, w(i))
452- let bb = V(this, f)
453- let bi = (bh + bb)
454- let bj = getInteger(this, p)
455- let bk = valueOrElse(getInteger(this, D(aM.caller, i)), 0)
456- let bl = valueOrElse(getInteger(this, F(z, aM.caller, i)), 0)
457- let bm = valueOrElse(getInteger(this, H(z, i)), 0)
458- let bn = valueOrElse(getInteger(this, L(i)), 0)
459- let bc = [if ((getBoolean(y(z)) != unit))
442+@Callable(aK)
443+func cancelVote (z,A) = {
444+ let x = $Tuple2(z, A)
445+ let u = valueOrElse(getInteger(this, g), 0)
446+ let bf = T(this, t(u))
447+ let aZ = T(this, f)
448+ let bg = (bf + aZ)
449+ let bh = getInteger(this, m)
450+ let bi = valueOrElse(getInteger(this, B(aK.caller, u)), 0)
451+ let bj = valueOrElse(getInteger(this, D(x, aK.caller, u)), 0)
452+ let bk = valueOrElse(getInteger(this, F(x, u)), 0)
453+ let bl = valueOrElse(getInteger(this, J(u)), 0)
454+ let ba = [if ((getBoolean(w(x)) != unit))
460455 then true
461- else throw("invalid assets"), if ((bi > height))
456+ else throw("invalid assets"), if ((bg > height))
462457 then true
463- else throw("invalid height"), if ((bj == unit))
458+ else throw("invalid height"), if ((bh == unit))
464459 then true
465- else throw("finalization in progress"), if ((bl > 0))
460+ else throw("finalization in progress"), if ((bj > 0))
466461 then true
467462 else throw("no vote")]
468- if ((bc == bc))
463+ if ((ba == ba))
469464 then {
470- let bs = ao(z)
471- let bt = toString(aM.caller)
472- $Tuple2(([IntegerEntry(D(aM.caller, i), max([(bk - bl), 0])), DeleteEntry(F(z, aM.caller, i)), IntegerEntry(H(z, i), (bm - bl)), IntegerEntry(L(i), (bn - bl))] ++ aE(bs, bt)), unit)
465+ let bq = am(x)
466+ let br = toString(aK.caller)
467+ $Tuple2(([IntegerEntry(B(aK.caller, u), max([(bi - bj), 0])), DeleteEntry(D(x, aK.caller, u)), IntegerEntry(F(x, u), (bk - bj)), IntegerEntry(J(u), (bl - bj))] ++ aC(bq, br)), unit)
473468 }
474469 else throw("Strict value is not equal to itself.")
475470 }
476471
477472
478473
479-@Callable(aM)
480-func setEpochLength (bv) = {
481- let bc = [aN(aM), if ((bv > 0))
474+@Callable(aK)
475+func setEpochLength (bt) = {
476+ let ba = [aL(aK), if ((bt > 0))
482477 then true
483478 else throw("invalid epoch length")]
484- if ((bc == bc))
485- then $Tuple2([IntegerEntry(g, bv)], unit)
479+ if ((ba == ba))
480+ then $Tuple2([IntegerEntry(f, bt)], unit)
486481 else throw("Strict value is not equal to itself.")
487482 }
488483
489484
490485
491-@Callable(aM)
492-func setMaxDepth (bw) = {
493- let bc = [aN(aM), if ((bw > 0))
486+@Callable(aK)
487+func setMaxDepth (bu) = {
488+ let ba = [aL(aK), if ((bu > 0))
494489 then true
495490 else throw("invalid max depth")]
496- if ((bc == bc))
497- then $Tuple2([IntegerEntry(k, bw)], unit)
491+ if ((ba == ba))
492+ then $Tuple2([IntegerEntry(h, bu)], unit)
498493 else throw("Strict value is not equal to itself.")
499494 }
500495
501496
502497
503-@Callable(aM)
504-func processVoteINTERNAL (bx,bt) = {
505- let aQ = aL(aM)
506- if ((aQ == aQ))
498+@Callable(aK)
499+func processVoteINTERNAL (bv,br) = {
500+ let aO = aJ(aK)
501+ if ((aO == aO))
507502 then {
508- let aV = valueOrErrorMessage(addressFromString(bt), ("processVoteINTERNAL: invalid user address " + bt))
509- let i = V(this, j)
510- let by = (i - 1)
511- let bb = V(this, f)
512- let bh = V(this, w(i))
513- let bi = (bh + bb)
514- let bz = V(this, w(by))
515- let bA = V(this, h(by))
516- let bB = (bz + bA)
517- let bC = if ((by >= 0))
503+ let aT = valueOrErrorMessage(addressFromString(br), ("processVoteINTERNAL: invalid user address " + br))
504+ let u = T(this, g)
505+ let bw = (u - 1)
506+ let aZ = T(this, f)
507+ let bf = T(this, t(u))
508+ let bg = (bf + aZ)
509+ let bx = T(this, t(bw))
510+ let by = (bx + aZ)
511+ let bz = if ((bw >= 0))
518512 then true
519513 else throw("processVoteINTERNAL: invalid previous epoch")
520- if ((bC == bC))
514+ if ((bz == bz))
521515 then {
522- let z = X(bx)
523- let bD = z
524- let B = bD._1
525- let C = bD._2
526- let br = al(z)
527- let bo = {
528- let U = invoke(this, "getUserGwxAmountAtHeight", [bt, bi], nil)
529- if ($isInstanceOf(U, "Int"))
530- then U
531- else throw(($getType(U) + " couldn't be cast to Int"))
516+ let x = V(bv)
517+ let bA = x
518+ let z = bA._1
519+ let A = bA._2
520+ let bp = aj(x)
521+ let bm = {
522+ let S = invoke(this, "getUserGwxAmountAtHeight", [br, bg], nil)
523+ if ($isInstanceOf(S, "Int"))
524+ then S
525+ else throw(($getType(S) + " couldn't be cast to Int"))
532526 }
533- let bE = {
534- let U = invoke(this, "getUserGwxAmountAtHeight", [bt, bB], nil)
535- if ($isInstanceOf(U, "Int"))
536- then U
537- else throw(($getType(U) + " couldn't be cast to Int"))
527+ let bB = {
528+ let S = invoke(this, "getUserGwxAmountAtHeight", [br, by], nil)
529+ if ($isInstanceOf(S, "Int"))
530+ then S
531+ else throw(($getType(S) + " couldn't be cast to Int"))
538532 }
539- let bn = valueOrElse(getInteger(L(i)), 0)
540- let bF = valueOrElse(getInteger(H(z, i)), 0)
541- let bG = valueOrErrorMessage(getInteger(F(z, aV, by)), (((("processVoteINTERNAL " + bx) + " ") + bt) + ": no previous vote"))
542- let bk = valueOrElse(getInteger(this, D(aV, i)), 0)
543- let bq = if ((bE > 0))
544- then fraction(bG, bo, bE)
533+ let bl = valueOrElse(getInteger(J(u)), 0)
534+ let bC = valueOrElse(getInteger(F(x, u)), 0)
535+ let bD = valueOrErrorMessage(getInteger(D(x, aT, bw)), (((("processVoteINTERNAL " + bv) + " ") + br) + ": no previous vote"))
536+ let bi = valueOrElse(getInteger(this, B(aT, u)), 0)
537+ let bo = if ((bB > 0))
538+ then fraction(bD, bm, bB)
545539 else 0
546- let bH = if (if ((bq > 0))
547- then br
540+ let bE = if (if ((bo > 0))
541+ then bp
548542 else false)
549- then [IntegerEntry(F(z, aV, i), bq), IntegerEntry(L(i), (bn + bq)), IntegerEntry(H(z, i), (bF + bq)), IntegerEntry(D(aV, i), (bk + bq))]
550- else aE(ao(z), bt)
551- $Tuple2(bH, unit)
543+ then [IntegerEntry(D(x, aT, u), bo), IntegerEntry(J(u), (bl + bo)), IntegerEntry(F(x, u), (bC + bo)), IntegerEntry(B(aT, u), (bi + bo))]
544+ else aC(am(x), br)
545+ $Tuple2(bE, unit)
552546 }
553547 else throw("Strict value is not equal to itself.")
554548 }
557551
558552
559553
560-@Callable(aM)
561-func processPoolINTERNAL (bx,bI) = {
562- let aQ = aL(aM)
563- if ((aQ == aQ))
554+@Callable(aK)
555+func processPoolINTERNAL (bv,bF) = {
556+ let aO = aJ(aK)
557+ if ((aO == aO))
564558 then {
565- let bJ = {
566- let bK = V(this, j)
567- if (bI)
568- then bK
569- else (bK - 1)
559+ let bG = {
560+ let bH = T(this, g)
561+ if (bF)
562+ then bH
563+ else (bH - 1)
570564 }
571- let bC = if ((bJ >= 0))
565+ let bz = if ((bG >= 0))
572566 then true
573567 else throw("processPoolINTERNAL: invalid target epoch")
574- if ((bC == bC))
568+ if ((bz == bz))
575569 then {
576- let z = X(bx)
577- let bL = z
578- let B = bL._1
579- let C = bL._2
580- let ba = addressFromStringValue(T(this, o))
581- let ah = addressFromStringValue(T(this, m))
582- let ak = Z(B, C)
583- let bM = {
584- let U = invoke(ba, "usersListTraversal", [ak], nil)
585- if ($isInstanceOf(U, "Boolean"))
586- then U
587- else throw(($getType(U) + " couldn't be cast to Boolean"))
570+ let x = V(bv)
571+ let bI = x
572+ let z = bI._1
573+ let A = bI._2
574+ let aY = addressFromStringValue(R(this, l))
575+ let af = addressFromStringValue(R(this, j))
576+ let ai = X(z, A)
577+ let bJ = {
578+ let S = invoke(aY, "usersListTraversal", [ai], nil)
579+ if ($isInstanceOf(S, "Boolean"))
580+ then S
581+ else throw(($getType(S) + " couldn't be cast to Boolean"))
588582 }
589- if ((bM == bM))
590- then if (bM)
583+ if ((bJ == bJ))
584+ then if (bJ)
591585 then $Tuple2(nil, true)
592586 else {
593- let br = al(z)
594- let bn = valueOrElse(getInteger(this, L(bJ)), 0)
595- let bF = valueOrElse(getInteger(this, H(z, bJ)), 0)
596- let bN = if (if ((bn == 0))
587+ let bp = aj(x)
588+ let bl = valueOrElse(getInteger(this, J(bG)), 0)
589+ let bC = valueOrElse(getInteger(this, F(x, bG)), 0)
590+ let bK = if (if ((bl == 0))
597591 then true
598- else !(br))
592+ else !(bp))
599593 then 0
600- else fraction(bF, b, bn)
601- let bO = invoke(ah, "modifyWeight", [ak, bN], nil)
602- if ((bO == bO))
594+ else fraction(bC, b, bl)
595+ let bL = invoke(af, "modifyWeight", [ai, bK], nil)
596+ if ((bL == bL))
603597 then {
604- let bP = if (if (br)
598+ let bM = if (if (bp)
605599 then true
606- else bI)
600+ else bF)
607601 then nil
608- else ([DeleteEntry(y(z))] ++ aE(an, bx))
609- $Tuple2(([IntegerEntry(J(z, bJ), bN)] ++ bP), false)
602+ else ([DeleteEntry(w(x))] ++ aC(al, bv))
603+ $Tuple2(([IntegerEntry(H(x, bG), bK)] ++ bM), false)
610604 }
611605 else throw("Strict value is not equal to itself.")
612606 }
619613
620614
621615
622-@Callable(aM)
616+@Callable(aK)
623617 func finalizeHelper () = {
624- let bI = valueOrElse(getBoolean(v), false)
625- let i = valueOrElse(getInteger(this, j), 0)
626- let bQ = (i - 1)
627- let bh = V(this, w(i))
628- let bb = V(this, f)
629- let bi = (bh + bb)
630- let bj = getInteger(this, p)
631- if (if (if ((height >= bi))
632- then (bj == unit)
618+ let bF = valueOrElse(getBoolean(s), false)
619+ let u = valueOrElse(getInteger(this, g), 0)
620+ let bN = (u - 1)
621+ let bf = T(this, t(u))
622+ let aZ = T(this, f)
623+ let bg = (bf + aZ)
624+ let bh = getInteger(this, m)
625+ if (if (if ((height >= bg))
626+ then (bh == unit)
633627 else false)
634- then !(bI)
628+ then !(bF)
635629 else false)
636630 then {
637- let bR = (i + 1)
638- let bS = getInteger(this, g)
639- let bT = {
640- let Q = bS
641- if ($isInstanceOf(Q, "Int"))
631+ let bO = (u + 1)
632+ $Tuple2([IntegerEntry(t(bO), height), IntegerEntry(p, height), IntegerEntry(g, bO), IntegerEntry(m, d)], true)
633+ }
634+ else if (if (bF)
635+ then (bh == unit)
636+ else false)
637+ then $Tuple2([IntegerEntry(m, e)], true)
638+ else if ((bh == unit))
639+ then $Tuple2(nil, false)
640+ else if ((bh == d))
642641 then {
643- let bv = Q
644-[IntegerEntry(f, bv), DeleteEntry(g)]
645- }
646- else if ($isInstanceOf(Q, "Unit"))
647- then nil
648- else throw("Match error")
649- }
650- $Tuple2(([IntegerEntry(w(bR), height), IntegerEntry(s, height), IntegerEntry(j, bR), IntegerEntry(p, d), IntegerEntry(h(i), bb)] ++ bT), true)
651- }
652- else if (if (bI)
653- then (bj == unit)
654- else false)
655- then $Tuple2([IntegerEntry(p, e)], true)
656- else if ((bj == unit))
657- then $Tuple2(nil, false)
658- else if ((bj == d))
659- then {
660- let bU = getString(q)
661- let bV = getString(r)
662- let Q = bU
663- if ($isInstanceOf(Q, "Unit"))
642+ let bP = getString(n)
643+ let bQ = getString(o)
644+ let O = bP
645+ if ($isInstanceOf(O, "Unit"))
664646 then {
665- let bW = getString(aq(an))
666- if ($isInstanceOf(bW, "Unit"))
667- then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
668- else if ($isInstanceOf(bW, "String"))
647+ let bR = getString(ao(al))
648+ if ($isInstanceOf(bR, "Unit"))
649+ then $Tuple2([IntegerEntry(m, e), DeleteEntry(n), DeleteEntry(o)], true)
650+ else if ($isInstanceOf(bR, "String"))
669651 then {
670- let bX = bW
671- $Tuple2([StringEntry(q, bX)], true)
652+ let bS = bR
653+ $Tuple2([StringEntry(n, bS)], true)
672654 }
673655 else throw("Match error")
674656 }
675- else if ($isInstanceOf(Q, "String"))
657+ else if ($isInstanceOf(O, "String"))
676658 then {
677- let bx = Q
678- let z = X(bx)
679- let bY = {
680- let bW = bV
681- if ($isInstanceOf(bW, "Unit"))
682- then getString(aq(ao(z)))
683- else if ($isInstanceOf(bW, "String"))
659+ let bv = O
660+ let x = V(bv)
661+ let bT = {
662+ let bR = bQ
663+ if ($isInstanceOf(bR, "Unit"))
664+ then getString(ao(am(x)))
665+ else if ($isInstanceOf(bR, "String"))
684666 then {
685- let bZ = bW
686- let ca = getString(aw(ao(z), bZ))
687- if ((ca == ca))
667+ let bU = bR
668+ let bV = getString(au(am(x), bU))
669+ if ((bV == bV))
688670 then {
689- let cb = invoke(this, "processVoteINTERNAL", [bx, bZ], nil)
690- if ((cb == cb))
691- then ca
671+ let bW = invoke(this, "processVoteINTERNAL", [bv, bU], nil)
672+ if ((bW == bW))
673+ then bV
692674 else throw("Strict value is not equal to itself.")
693675 }
694676 else throw("Strict value is not equal to itself.")
695677 }
696678 else throw("Match error")
697679 }
698- let bW = bY
699- if ($isInstanceOf(bW, "Unit"))
680+ let bR = bT
681+ if ($isInstanceOf(bR, "Unit"))
700682 then {
701- let cc = getString(aw(an, bx))
702- let cd = cc
703- if ($isInstanceOf(cd, "Unit"))
704- then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
705- else if ($isInstanceOf(cd, "String"))
683+ let bX = getString(au(al, bv))
684+ let bY = bX
685+ if ($isInstanceOf(bY, "Unit"))
686+ then $Tuple2([IntegerEntry(m, e), DeleteEntry(n), DeleteEntry(o)], true)
687+ else if ($isInstanceOf(bY, "String"))
706688 then {
707- let aI = cd
708- $Tuple2([StringEntry(q, aI), DeleteEntry(r)], true)
689+ let aG = bY
690+ $Tuple2([StringEntry(n, aG), DeleteEntry(o)], true)
709691 }
710692 else throw("Match error")
711693 }
712- else if ($isInstanceOf(bW, "String"))
694+ else if ($isInstanceOf(bR, "String"))
713695 then {
714- let ce = bW
715- $Tuple2([StringEntry(r, ce)], true)
696+ let bZ = bR
697+ $Tuple2([StringEntry(o, bZ)], true)
716698 }
717699 else throw("Match error")
718700 }
719701 else throw("Match error")
720702 }
721- else if ((bj == e))
703+ else if ((bh == e))
722704 then {
723- let bU = getString(q)
724- let Q = bU
725- if ($isInstanceOf(Q, "Unit"))
705+ let bP = getString(n)
706+ let O = bP
707+ if ($isInstanceOf(O, "Unit"))
726708 then {
727- let bW = getString(aq(an))
728- if ($isInstanceOf(bW, "Unit"))
709+ let bR = getString(ao(al))
710+ if ($isInstanceOf(bR, "Unit"))
729711 then {
730- let bH = if (bI)
731- then [DeleteEntry(p), DeleteEntry(v)]
732- else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh)]
733- $Tuple2(bH, true)
712+ let bE = if (bF)
713+ then [DeleteEntry(m), DeleteEntry(s)]
714+ else [DeleteEntry(m), BooleanEntry(v(bN), true), IntegerEntry(q, u), IntegerEntry(r, bf)]
715+ $Tuple2(bE, true)
734716 }
735- else if ($isInstanceOf(bW, "String"))
717+ else if ($isInstanceOf(bR, "String"))
736718 then {
737- let cf = bW
738- $Tuple2([StringEntry(q, cf)], true)
719+ let ca = bR
720+ $Tuple2([StringEntry(n, ca)], true)
739721 }
740722 else throw("Match error")
741723 }
742- else if ($isInstanceOf(Q, "String"))
724+ else if ($isInstanceOf(O, "String"))
743725 then {
744- let bx = Q
745- let cc = getString(aw(an, bx))
746- if ((cc == cc))
726+ let bv = O
727+ let bX = getString(au(al, bv))
728+ if ((bX == bX))
747729 then {
748- let bM = {
749- let U = invoke(this, "processPoolINTERNAL", [bx, bI], nil)
750- if ($isInstanceOf(U, "Boolean"))
751- then U
752- else throw(($getType(U) + " couldn't be cast to Boolean"))
730+ let bJ = {
731+ let S = invoke(this, "processPoolINTERNAL", [bv, bF], nil)
732+ if ($isInstanceOf(S, "Boolean"))
733+ then S
734+ else throw(($getType(S) + " couldn't be cast to Boolean"))
753735 }
754- if ((bM == bM))
755- then if (bM)
736+ if ((bJ == bJ))
737+ then if (bJ)
756738 then $Tuple2(nil, true)
757739 else {
758- let bW = cc
759- if ($isInstanceOf(bW, "Unit"))
740+ let bR = bX
741+ if ($isInstanceOf(bR, "Unit"))
760742 then {
761- let bH = if (bI)
762- then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
763- else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh), DeleteEntry(q)]
764- $Tuple2(bH, true)
743+ let bE = if (bF)
744+ then [DeleteEntry(m), DeleteEntry(s), DeleteEntry(n)]
745+ else [DeleteEntry(m), BooleanEntry(v(bN), true), IntegerEntry(q, u), IntegerEntry(r, bf), DeleteEntry(n)]
746+ $Tuple2(bE, true)
765747 }
766- else if ($isInstanceOf(bW, "String"))
748+ else if ($isInstanceOf(bR, "String"))
767749 then {
768- let cf = bW
769- $Tuple2([StringEntry(q, cf)], true)
750+ let ca = bR
751+ $Tuple2([StringEntry(n, ca)], true)
770752 }
771753 else throw("Match error")
772754 }
781763
782764
783765
784-@Callable(aM)
785-func finalizeWrapper (cg) = {
786- let ch = {
787- let U = invoke(this, "finalizeHelper", nil, nil)
788- if ($isInstanceOf(U, "Boolean"))
789- then U
790- else throw(($getType(U) + " couldn't be cast to Boolean"))
766+@Callable(aK)
767+func finalizeWrapper (cb) = {
768+ let cc = {
769+ let S = invoke(this, "finalizeHelper", nil, nil)
770+ if ($isInstanceOf(S, "Boolean"))
771+ then S
772+ else throw(($getType(S) + " couldn't be cast to Boolean"))
791773 }
792- if ((ch == ch))
793- then if (!(ch))
794- then if ((cg == 0))
774+ if ((cc == cc))
775+ then if (!(cc))
776+ then if ((cb == 0))
795777 then throw("Current voting is not over yet")
796778 else $Tuple2(nil, unit)
797779 else {
798- let ci = valueOrElse(getInteger(this, k), c)
799- if ((ci > cg))
780+ let cd = valueOrElse(getInteger(this, h), c)
781+ if ((cd > cb))
800782 then {
801- let cj = invoke(this, "finalizeWrapper", [(cg + 1)], nil)
802- if ((cj == cj))
783+ let ce = invoke(this, "finalizeWrapper", [(cb + 1)], nil)
784+ if ((ce == ce))
803785 then $Tuple2(nil, unit)
804786 else throw("Strict value is not equal to itself.")
805787 }
810792
811793
812794
813-@Callable(aM)
795+@Callable(aK)
814796 func finalize () = {
815- let cj = invoke(this, "finalizeWrapper", [0], nil)
816- if ((cj == cj))
797+ let ce = invoke(this, "finalizeWrapper", [0], nil)
798+ if ((ce == ce))
817799 then $Tuple2(nil, unit)
818800 else throw("Strict value is not equal to itself.")
819801 }
820802
821803
822804
823-@Callable(aM)
824-func containsNodeREADONLY (ar,av) = $Tuple2(nil, ax(ar, av))
805+@Callable(aK)
806+func containsNodeREADONLY (ap,at) = $Tuple2(nil, av(ap, at))
825807
826808
827809
828-@Callable(aM)
829-func insertNode (ar,av) = {
830- let aQ = aN(aM)
831- if ((aQ == aQ))
832- then $Tuple2(aB(ar, av), unit)
810+@Callable(aK)
811+func insertNode (ap,at) = {
812+ let aO = aL(aK)
813+ if ((aO == aO))
814+ then $Tuple2(az(ap, at), unit)
833815 else throw("Strict value is not equal to itself.")
834816 }
835817
836818
837819
838-@Callable(aM)
839-func deleteNode (ar,av) = {
840- let aQ = aN(aM)
841- if ((aQ == aQ))
842- then $Tuple2(aE(ar, av), unit)
820+@Callable(aK)
821+func deleteNode (ap,at) = {
822+ let aO = aL(aK)
823+ if ((aO == aO))
824+ then $Tuple2(aC(ap, at), unit)
843825 else throw("Strict value is not equal to itself.")
844826 }
845827
846828
847-@Verifier(ck)
848-func cl () = {
849- let cm = {
850- let Q = aH()
851- if ($isInstanceOf(Q, "ByteVector"))
829+@Verifier(cf)
830+func cg () = {
831+ let ch = {
832+ let O = aF()
833+ if ($isInstanceOf(O, "ByteVector"))
852834 then {
853- let aO = Q
854- aO
835+ let aM = O
836+ aM
855837 }
856- else if ($isInstanceOf(Q, "Unit"))
857- then ck.senderPublicKey
838+ else if ($isInstanceOf(O, "Unit"))
839+ then cf.senderPublicKey
858840 else throw("Match error")
859841 }
860- sigVerify(ck.bodyBytes, ck.proofs[0], cm)
842+ sigVerify(cf.bodyBytes, cf.proofs[0], ch)
861843 }
862844
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 100000000
77
88 let c = 10
99
1010 let d = 0
1111
1212 let e = 1
1313
1414 let f = makeString(["%s", "epochLength"], a)
1515
16-let g = makeString(["%s%s", "epochLength__new"], a)
16+let g = makeString(["%s", "currentEpoch"], a)
1717
18-func h (i) = makeString(["%s%d", "epochLength", toString(i)], a)
18+let h = makeString(["%s", "maxDepth"], a)
19+
20+let i = makeString(["%s", "votingEmissionCandidateContract"], a)
21+
22+let j = makeString(["%s", "factoryContract"], a)
23+
24+let k = makeString(["%s", "boostingContract"], a)
25+
26+let l = makeString(["%s", "stakingContract"], a)
27+
28+let m = makeString(["%s", "finalizationStage"], a)
29+
30+let n = makeString(["%s", "nextPool"], a)
31+
32+let o = makeString(["%s", "nextUser"], a)
33+
34+let p = makeString(["%s", "startHeight"], a)
35+
36+let q = makeString(["%s", "currentEpochUi"], a)
37+
38+let r = makeString(["%s", "startHeightUi"], a)
39+
40+let s = makeString(["%s", "force"], a)
41+
42+func t (u) = makeString(["%s%d", "startHeight", toString(u)], a)
1943
2044
21-let j = makeString(["%s", "currentEpoch"], a)
22-
23-let k = makeString(["%s", "maxDepth"], a)
24-
25-let l = makeString(["%s", "votingEmissionCandidateContract"], a)
26-
27-let m = makeString(["%s", "factoryContract"], a)
28-
29-let n = makeString(["%s", "boostingContract"], a)
30-
31-let o = makeString(["%s", "stakingContract"], a)
32-
33-let p = makeString(["%s", "finalizationStage"], a)
34-
35-let q = makeString(["%s", "nextPool"], a)
36-
37-let r = makeString(["%s", "nextUser"], a)
38-
39-let s = makeString(["%s", "startHeight"], a)
40-
41-let t = makeString(["%s", "currentEpochUi"], a)
42-
43-let u = makeString(["%s", "startHeightUi"], a)
44-
45-let v = makeString(["%s", "force"], a)
46-
47-func w (i) = makeString(["%s%d", "startHeight", toString(i)], a)
45+func v (u) = makeString(["%s%d", "finalized", toString(u)], a)
4846
4947
50-func x (i) = makeString(["%s%d", "finalized", toString(i)], a)
51-
52-
53-func y (z) = {
54- let A = z
55- let B = A._1
56- let C = A._2
57- makeString(["%s%s%s", "inList", B, C], a)
48+func w (x) = {
49+ let y = x
50+ let z = y._1
51+ let A = y._2
52+ makeString(["%s%s%s", "inList", z, A], a)
5853 }
5954
6055
61-func D (E,i) = makeString(["%s%s%d", "used", toString(E), toString(i)], a)
56+func B (C,u) = makeString(["%s%s%d", "used", toString(C), toString(u)], a)
6257
6358
64-func F (z,E,i) = {
65- let G = z
66- let B = G._1
67- let C = G._2
68- makeString(["%s%s%s%s%d", "vote", B, C, toString(E), toString(i)], a)
59+func D (x,C,u) = {
60+ let E = x
61+ let z = E._1
62+ let A = E._2
63+ makeString(["%s%s%s%s%d", "vote", z, A, toString(C), toString(u)], a)
6964 }
7065
7166
72-func H (z,i) = {
73- let I = z
74- let B = I._1
75- let C = I._2
76- makeString(["%s%s%s%d", "votingResult", B, C, toString(i)], a)
67+func F (x,u) = {
68+ let G = x
69+ let z = G._1
70+ let A = G._2
71+ makeString(["%s%s%s%d", "votingResult", z, A, toString(u)], a)
7772 }
7873
7974
80-func J (z,i) = {
81- let K = z
82- let B = K._1
83- let C = K._2
84- makeString(["%s%s%s%d", "poolShare", B, C, toString(i)], a)
75+func H (x,u) = {
76+ let I = x
77+ let z = I._1
78+ let A = I._2
79+ makeString(["%s%s%s%d", "poolShare", z, A, toString(u)], a)
8580 }
8681
8782
88-func L (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
83+func J (u) = makeString(["%s%d", "totalVotes", toString(u)], a)
8984
9085
91-func M (E,N,O) = {
92- let P = makeString(["mandatory ", toString(E), ".", N, " is not defined"], "")
86+func K (C,L,M) = {
87+ let N = makeString(["mandatory ", toString(C), ".", L, " is not defined"], "")
9388 valueOrErrorMessage({
94- let Q = O
95- if ($isInstanceOf(Q, "String"))
89+ let O = M
90+ if ($isInstanceOf(O, "String"))
9691 then {
97- let R = Q
98- getString(E, N)
92+ let P = O
93+ getString(C, L)
9994 }
100- else if ($isInstanceOf(Q, "Int"))
95+ else if ($isInstanceOf(O, "Int"))
10196 then {
102- let S = Q
103- getInteger(E, N)
97+ let Q = O
98+ getInteger(C, L)
10499 }
105100 else throw("invalid entry type")
106- }, P)
101+ }, N)
107102 }
108103
109104
110-func T (E,N) = {
111- let U = M(E, N, "")
112- if ($isInstanceOf(U, "String"))
113- then U
114- else throw(($getType(U) + " couldn't be cast to String"))
105+func R (C,L) = {
106+ let S = K(C, L, "")
107+ if ($isInstanceOf(S, "String"))
108+ then S
109+ else throw(($getType(S) + " couldn't be cast to String"))
115110 }
116111
117112
118-func V (E,N) = {
119- let U = M(E, N, 0)
120- if ($isInstanceOf(U, "Int"))
121- then U
122- else throw(($getType(U) + " couldn't be cast to Int"))
113+func T (C,L) = {
114+ let S = K(C, L, 0)
115+ if ($isInstanceOf(S, "Int"))
116+ then S
117+ else throw(($getType(S) + " couldn't be cast to Int"))
123118 }
124119
125120
126-func W (z) = ((z._1 + a) + z._2)
121+func U (x) = ((x._1 + a) + x._2)
127122
128123
129-func X (R) = {
130- let Y = split(R, a)
131- if ((size(Y) == 2))
132- then $Tuple2(Y[0], Y[1])
124+func V (P) = {
125+ let W = split(P, a)
126+ if ((size(W) == 2))
127+ then $Tuple2(W[0], W[1])
133128 else throw("invalid pool string")
134129 }
135130
136131
137-func Z (B,C) = {
138- func aa (ab) = ("%s%s%s__mappings__baseAsset2internalId__" + ab)
132+func X (z,A) = {
133+ func Y (Z) = ("%s%s%s__mappings__baseAsset2internalId__" + Z)
139134
140- func ac (ad,ae) = (((("%d%d%s%s__" + toString(ad)) + "__") + toString(ae)) + "__mappings__poolAssets2PoolContract")
135+ func aa (ab,ac) = (((("%d%d%s%s__" + toString(ab)) + "__") + toString(ac)) + "__mappings__poolAssets2PoolContract")
141136
142- func af (ag) = (("%s%s%s__" + ag) + "__mappings__poolContract2LpAsset")
137+ func ad (ae) = (("%s%s%s__" + ae) + "__mappings__poolContract2LpAsset")
143138
144- let ah = addressFromStringValue(T(this, m))
145- let ai = V(ah, aa(B))
146- let aj = V(ah, aa(C))
147- let ag = T(ah, ac(ai, aj))
148- let ak = T(ah, af(ag))
149- ak
139+ let af = addressFromStringValue(R(this, j))
140+ let ag = T(af, Y(z))
141+ let ah = T(af, Y(A))
142+ let ae = R(af, aa(ag, ah))
143+ let ai = R(af, ad(ae))
144+ ai
150145 }
151146
152147
153-func al (z) = {
154- let am = z
155- let B = am._1
156- let C = am._2
157- let ah = addressFromStringValue(T(this, m))
158- let U = invoke(ah, "checkWxEmissionPoolLabel", [B, C], nil)
159- if ($isInstanceOf(U, "Boolean"))
160- then U
161- else throw(($getType(U) + " couldn't be cast to Boolean"))
148+func aj (x) = {
149+ let ak = x
150+ let z = ak._1
151+ let A = ak._2
152+ let af = addressFromStringValue(R(this, j))
153+ let S = invoke(af, "checkWxEmissionPoolLabel", [z, A], nil)
154+ if ($isInstanceOf(S, "Boolean"))
155+ then S
156+ else throw(($getType(S) + " couldn't be cast to Boolean"))
162157 }
163158
164159
165-let an = "pools"
160+let al = "pools"
166161
167-func ao (z) = {
168- let ap = z
169- let B = ap._1
170- let C = ap._2
171- makeString(["votes", B, C], a)
162+func am (x) = {
163+ let an = x
164+ let z = an._1
165+ let A = an._2
166+ makeString(["votes", z, A], a)
172167 }
173168
174169
175-func aq (ar) = {
176- let as = if ((ar == an))
170+func ao (ap) = {
171+ let aq = if ((ap == al))
177172 then "%s%s"
178173 else "%s%s%s%s"
179- makeString([as, ar, "head"], a)
174+ makeString([aq, ap, "head"], a)
180175 }
181176
182177
183-func at (ar) = {
184- let as = if ((ar == an))
178+func ar (ap) = {
179+ let aq = if ((ap == al))
185180 then "%s%s"
186181 else "%s%s%s%s"
187- makeString([as, ar, "size"], a)
182+ makeString([aq, ap, "size"], a)
188183 }
189184
190185
191-func au (ar,av) = {
192- let as = if ((ar == an))
186+func as (ap,at) = {
187+ let aq = if ((ap == al))
193188 then "%s%s%s%s"
194189 else "%s%s%s%s%s"
195- makeString([as, ar, av, "prev"], a)
190+ makeString([aq, ap, at, "prev"], a)
196191 }
197192
198193
199-func aw (ar,av) = {
200- let as = if ((ar == an))
194+func au (ap,at) = {
195+ let aq = if ((ap == al))
201196 then "%s%s%s%s"
202197 else "%s%s%s%s%s"
203- makeString([as, ar, av, "next"], a)
198+ makeString([aq, ap, at, "next"], a)
204199 }
205200
206201
207-func ax (ar,av) = {
208- let ay = getString(this, aq(ar))
209- let az = getString(this, au(ar, av))
210- let aA = getString(this, aw(ar, av))
211- if (if ((av == valueOrElse(ay, "")))
202+func av (ap,at) = {
203+ let aw = getString(this, ao(ap))
204+ let ax = getString(this, as(ap, at))
205+ let ay = getString(this, au(ap, at))
206+ if (if ((at == valueOrElse(aw, "")))
212207 then true
213- else (az != unit))
208+ else (ax != unit))
214209 then true
215- else (aA != unit)
210+ else (ay != unit)
216211 }
217212
218213
219-func aB (ar,av) = {
220- let ay = getString(this, aq(ar))
221- let aC = valueOrElse(getInteger(this, at(ar)), 0)
222- let aD = if (!(ax(ar, av)))
214+func az (ap,at) = {
215+ let aw = getString(this, ao(ap))
216+ let aA = valueOrElse(getInteger(this, ar(ap)), 0)
217+ let aB = if (!(av(ap, at)))
223218 then true
224219 else throw("Node exists")
225- if ((aD == aD))
226- then (([IntegerEntry(at(ar), (aC + 1))] ++ (if ((ay != unit))
227- then [StringEntry(aw(ar, av), value(ay)), StringEntry(au(ar, value(ay)), av)]
228- else nil)) ++ [StringEntry(aq(ar), av)])
220+ if ((aB == aB))
221+ then (([IntegerEntry(ar(ap), (aA + 1))] ++ (if ((aw != unit))
222+ then [StringEntry(au(ap, at), value(aw)), StringEntry(as(ap, value(aw)), at)]
223+ else nil)) ++ [StringEntry(ao(ap), at)])
229224 else throw("Strict value is not equal to itself.")
230225 }
231226
232227
233-func aE (ar,av) = {
234- let ay = getString(this, aq(ar))
235- let aC = valueOrElse(getInteger(this, at(ar)), 0)
236- let az = getString(this, au(ar, av))
237- let aA = getString(this, aw(ar, av))
238- ([IntegerEntry(at(ar), (aC - 1))] ++ (if (if ((az != unit))
239- then (aA != unit)
228+func aC (ap,at) = {
229+ let aw = getString(this, ao(ap))
230+ let aA = valueOrElse(getInteger(this, ar(ap)), 0)
231+ let ax = getString(this, as(ap, at))
232+ let ay = getString(this, au(ap, at))
233+ ([IntegerEntry(ar(ap), (aA - 1))] ++ (if (if ((ax != unit))
234+ then (ay != unit)
240235 else false)
241- then [StringEntry(aw(ar, value(az)), value(aA)), StringEntry(au(ar, value(aA)), value(az)), DeleteEntry(au(ar, av)), DeleteEntry(aw(ar, av))]
242- else if ((aA != unit))
243- then [StringEntry(aq(ar), value(aA)), DeleteEntry(aw(ar, av)), DeleteEntry(au(ar, value(aA)))]
244- else if ((az != unit))
245- then [DeleteEntry(au(ar, av)), DeleteEntry(aw(ar, value(az)))]
246- else if ((av == valueOrElse(ay, "")))
247- then [DeleteEntry(aq(ar))]
248- else throw(((("invalid node: " + ar) + ".") + av))))
236+ then [StringEntry(au(ap, value(ax)), value(ay)), StringEntry(as(ap, value(ay)), value(ax)), DeleteEntry(as(ap, at)), DeleteEntry(au(ap, at))]
237+ else if ((ay != unit))
238+ then [StringEntry(ao(ap), value(ay)), DeleteEntry(au(ap, at)), DeleteEntry(as(ap, value(ay)))]
239+ else if ((ax != unit))
240+ then [DeleteEntry(as(ap, at)), DeleteEntry(au(ap, value(ax)))]
241+ else if ((at == valueOrElse(aw, "")))
242+ then [DeleteEntry(ao(ap))]
243+ else throw(((("invalid node: " + ap) + ".") + at))))
249244 }
250245
251246
252-func aF () = "%s__managerPublicKey"
247+func aD () = "%s__managerPublicKey"
253248
254249
255-func aG () = "%s__pendingManagerPublicKey"
250+func aE () = "%s__pendingManagerPublicKey"
256251
257252
258-func aH () = {
259- let Q = getString(aF())
260- if ($isInstanceOf(Q, "String"))
253+func aF () = {
254+ let O = getString(aD())
255+ if ($isInstanceOf(O, "String"))
261256 then {
262- let aI = Q
263- fromBase58String(aI)
257+ let aG = O
258+ fromBase58String(aG)
264259 }
265- else if ($isInstanceOf(Q, "Unit"))
260+ else if ($isInstanceOf(O, "Unit"))
266261 then unit
267262 else throw("Match error")
268263 }
269264
270265
271-func aJ () = {
272- let Q = getString(aG())
273- if ($isInstanceOf(Q, "String"))
266+func aH () = {
267+ let O = getString(aE())
268+ if ($isInstanceOf(O, "String"))
274269 then {
275- let aI = Q
276- fromBase58String(aI)
270+ let aG = O
271+ fromBase58String(aG)
277272 }
278- else if ($isInstanceOf(Q, "Unit"))
273+ else if ($isInstanceOf(O, "Unit"))
279274 then unit
280275 else throw("Match error")
281276 }
282277
283278
284-let aK = throw("Permission denied")
279+let aI = throw("Permission denied")
285280
286-func aL (aM) = if ((aM.caller == this))
281+func aJ (aK) = if ((aK.caller == this))
287282 then true
288- else aK
283+ else aI
289284
290285
291-func aN (aM) = {
292- let Q = aH()
293- if ($isInstanceOf(Q, "ByteVector"))
286+func aL (aK) = {
287+ let O = aF()
288+ if ($isInstanceOf(O, "ByteVector"))
294289 then {
295- let aO = Q
296- if ((aM.callerPublicKey == aO))
290+ let aM = O
291+ if ((aK.callerPublicKey == aM))
297292 then true
298- else aK
293+ else aI
299294 }
300- else if ($isInstanceOf(Q, "Unit"))
301- then aL(aM)
295+ else if ($isInstanceOf(O, "Unit"))
296+ then aJ(aK)
302297 else throw("Match error")
303298 }
304299
305300
306-@Callable(aM)
307-func setManager (aP) = {
308- let aQ = aN(aM)
309- if ((aQ == aQ))
301+@Callable(aK)
302+func setManager (aN) = {
303+ let aO = aL(aK)
304+ if ((aO == aO))
310305 then {
311- let aR = fromBase58String(aP)
312- if ((aR == aR))
313- then [StringEntry(aG(), aP)]
306+ let aP = fromBase58String(aN)
307+ if ((aP == aP))
308+ then [StringEntry(aE(), aN)]
314309 else throw("Strict value is not equal to itself.")
315310 }
316311 else throw("Strict value is not equal to itself.")
317312 }
318313
319314
320315
321-@Callable(aM)
316+@Callable(aK)
322317 func confirmManager () = {
323- let aS = aJ()
324- let aT = if (isDefined(aS))
318+ let aQ = aH()
319+ let aR = if (isDefined(aQ))
325320 then true
326321 else throw("No pending manager")
327- if ((aT == aT))
322+ if ((aR == aR))
328323 then {
329- let aU = if ((aM.callerPublicKey == value(aS)))
324+ let aS = if ((aK.callerPublicKey == value(aQ)))
330325 then true
331326 else throw("You are not pending manager")
332- if ((aU == aU))
333- then [StringEntry(aF(), toBase58String(value(aS))), DeleteEntry(aG())]
327+ if ((aS == aS))
328+ then [StringEntry(aD(), toBase58String(value(aQ))), DeleteEntry(aE())]
334329 else throw("Strict value is not equal to itself.")
335330 }
336331 else throw("Strict value is not equal to itself.")
337332 }
338333
339334
340335
341-@Callable(aM)
342-func getUserGwxAmountAtHeight (aV,aW) = {
343- let aX = valueOrErrorMessage(addressFromString(T(this, n)), "invalid boosting contract address")
336+@Callable(aK)
337+func getUserGwxAmountAtHeight (aT,aU) = {
338+ let aV = valueOrErrorMessage(addressFromString(R(this, k)), "invalid boosting contract address")
344339 $Tuple2(nil, {
345- let U = invoke(aX, "getUserGwxAmountAtHeightREADONLY", [aV, aW], nil)
346- if ($isInstanceOf(U, "Int"))
347- then U
348- else throw(($getType(U) + " couldn't be cast to Int"))
340+ let S = invoke(aV, "getUserGwxAmountAtHeightREADONLY", [aT, aU], nil)
341+ if ($isInstanceOf(S, "Int"))
342+ then S
343+ else throw(($getType(S) + " couldn't be cast to Int"))
349344 })
350345 }
351346
352347
353348
354-@Callable(aM)
355-func constructor (ah,aY,aZ,ba,bb) = {
356- let bc = [aN(aM), if ((addressFromString(ah) != unit))
349+@Callable(aK)
350+func constructor (af,aW,aX,aY,aZ) = {
351+ let ba = [aL(aK), if ((addressFromString(af) != unit))
357352 then true
358- else "invalid factory contract address", if ((addressFromString(aY) != unit))
353+ else "invalid factory contract address", if ((addressFromString(aW) != unit))
359354 then true
360- else "invalid voting emission candidate contract address", if ((addressFromString(aZ) != unit))
355+ else "invalid voting emission candidate contract address", if ((addressFromString(aX) != unit))
361356 then true
362- else "invalid boosting contract address", if ((addressFromString(ba) != unit))
357+ else "invalid boosting contract address", if ((addressFromString(aY) != unit))
363358 then true
364- else "invalid staking contract address", if ((bb > 0))
359+ else "invalid staking contract address", if ((aZ > 0))
365360 then true
366361 else throw("invalid epoch length")]
367- if ((bc == bc))
368- then $Tuple2([StringEntry(m, ah), StringEntry(l, aY), StringEntry(n, aZ), StringEntry(o, ba), IntegerEntry(f, bb)], unit)
362+ if ((ba == ba))
363+ then $Tuple2([StringEntry(j, af), StringEntry(i, aW), StringEntry(k, aX), StringEntry(l, aY), IntegerEntry(f, aZ)], unit)
369364 else throw("Strict value is not equal to itself.")
370365 }
371366
372367
373368
374-@Callable(aM)
375-func create (B,C) = {
376- let bc = [if ((toBase58String(aM.caller.bytes) == valueOrElse(getString(this, l), "")))
369+@Callable(aK)
370+func create (z,A) = {
371+ let ba = [if ((toBase58String(aK.caller.bytes) == valueOrElse(getString(this, i), "")))
377372 then true
378- else aN(aM)]
379- if ((bc == bc))
373+ else aL(aK)]
374+ if ((ba == ba))
380375 then {
381- let z = $Tuple2(B, C)
382- let bd = ([BooleanEntry(y(z), true)] ++ aB(an, W(z)))
383- let be = (getInteger(this, j) == unit)
384- let bf = if (be)
376+ let x = $Tuple2(z, A)
377+ let bb = ([BooleanEntry(w(x), true)] ++ az(al, U(x)))
378+ let bc = (getInteger(this, g) == unit)
379+ let bd = if (bc)
385380 then {
386- let i = 0
387-[IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
381+ let u = 0
382+[IntegerEntry(g, u), IntegerEntry(t(u), height), IntegerEntry(p, height), IntegerEntry(q, u), IntegerEntry(r, height)]
388383 }
389384 else nil
390- $Tuple2((bd ++ bf), unit)
385+ $Tuple2((bb ++ bd), unit)
391386 }
392387 else throw("Strict value is not equal to itself.")
393388 }
394389
395390
396391
397-@Callable(aM)
398-func vote (B,C,bg) = {
399- let z = $Tuple2(B, C)
400- let i = valueOrElse(getInteger(this, j), 0)
401- let bh = V(this, w(i))
402- let bb = V(this, f)
403- let bi = (bh + bb)
404- let bj = getInteger(this, p)
405- let bk = valueOrElse(getInteger(this, D(aM.caller, i)), 0)
406- let bl = valueOrElse(getInteger(this, F(z, aM.caller, i)), 0)
407- let bm = valueOrElse(getInteger(this, H(z, i)), 0)
408- let bn = valueOrElse(getInteger(this, L(i)), 0)
409- let bo = {
410- let U = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aM.caller.bytes), bi], nil)
411- if ($isInstanceOf(U, "Int"))
412- then U
413- else throw(($getType(U) + " couldn't be cast to Int"))
392+@Callable(aK)
393+func vote (z,A,be) = {
394+ let x = $Tuple2(z, A)
395+ let u = valueOrElse(getInteger(this, g), 0)
396+ let bf = T(this, t(u))
397+ let aZ = T(this, f)
398+ let bg = (bf + aZ)
399+ let bh = getInteger(this, m)
400+ let bi = valueOrElse(getInteger(this, B(aK.caller, u)), 0)
401+ let bj = valueOrElse(getInteger(this, D(x, aK.caller, u)), 0)
402+ let bk = valueOrElse(getInteger(this, F(x, u)), 0)
403+ let bl = valueOrElse(getInteger(this, J(u)), 0)
404+ let bm = {
405+ let S = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aK.caller.bytes), bg], nil)
406+ if ($isInstanceOf(S, "Int"))
407+ then S
408+ else throw(($getType(S) + " couldn't be cast to Int"))
414409 }
415- let bp = (bo - bk)
416- let bq = (bl + bg)
417- let br = al(z)
418- let bc = [if ((getBoolean(y(z)) != unit))
410+ let bn = (bm - bi)
411+ let bo = (bj + be)
412+ let bp = aj(x)
413+ let ba = [if ((getBoolean(w(x)) != unit))
419414 then true
420- else throw("invalid assets"), if ((bi > height))
415+ else throw("invalid assets"), if ((bg > height))
421416 then true
422- else throw("invalid height"), if ((bj == unit))
417+ else throw("invalid height"), if ((bh == unit))
423418 then true
424- else throw("finalization in progress"), if ((bo > 0))
419+ else throw("finalization in progress"), if ((bm > 0))
425420 then true
426- else throw("you do not have gWX"), if (if ((bg > 0))
427- then (bp >= bg)
421+ else throw("you do not have gWX"), if (if ((be > 0))
422+ then (bn >= be)
428423 else false)
429424 then true
430- else throw("invalid amount"), if (br)
425+ else throw("invalid amount"), if (bp)
431426 then true
432427 else throw("pool hasn't WX_EMISSION label")]
433- if ((bc == bc))
428+ if ((ba == ba))
434429 then {
435- let bs = ao(z)
436- let bt = toString(aM.caller)
437- let bu = if (ax(bs, bt))
430+ let bq = am(x)
431+ let br = toString(aK.caller)
432+ let bs = if (av(bq, br))
438433 then nil
439- else aB(bs, bt)
440- $Tuple2(([IntegerEntry(D(aM.caller, i), (bk + bg)), IntegerEntry(F(z, aM.caller, i), bq), IntegerEntry(H(z, i), (bm + bg)), IntegerEntry(L(i), (bn + bg))] ++ bu), unit)
434+ else az(bq, br)
435+ $Tuple2(([IntegerEntry(B(aK.caller, u), (bi + be)), IntegerEntry(D(x, aK.caller, u), bo), IntegerEntry(F(x, u), (bk + be)), IntegerEntry(J(u), (bl + be))] ++ bs), unit)
441436 }
442437 else throw("Strict value is not equal to itself.")
443438 }
444439
445440
446441
447-@Callable(aM)
448-func cancelVote (B,C) = {
449- let z = $Tuple2(B, C)
450- let i = valueOrElse(getInteger(this, j), 0)
451- let bh = V(this, w(i))
452- let bb = V(this, f)
453- let bi = (bh + bb)
454- let bj = getInteger(this, p)
455- let bk = valueOrElse(getInteger(this, D(aM.caller, i)), 0)
456- let bl = valueOrElse(getInteger(this, F(z, aM.caller, i)), 0)
457- let bm = valueOrElse(getInteger(this, H(z, i)), 0)
458- let bn = valueOrElse(getInteger(this, L(i)), 0)
459- let bc = [if ((getBoolean(y(z)) != unit))
442+@Callable(aK)
443+func cancelVote (z,A) = {
444+ let x = $Tuple2(z, A)
445+ let u = valueOrElse(getInteger(this, g), 0)
446+ let bf = T(this, t(u))
447+ let aZ = T(this, f)
448+ let bg = (bf + aZ)
449+ let bh = getInteger(this, m)
450+ let bi = valueOrElse(getInteger(this, B(aK.caller, u)), 0)
451+ let bj = valueOrElse(getInteger(this, D(x, aK.caller, u)), 0)
452+ let bk = valueOrElse(getInteger(this, F(x, u)), 0)
453+ let bl = valueOrElse(getInteger(this, J(u)), 0)
454+ let ba = [if ((getBoolean(w(x)) != unit))
460455 then true
461- else throw("invalid assets"), if ((bi > height))
456+ else throw("invalid assets"), if ((bg > height))
462457 then true
463- else throw("invalid height"), if ((bj == unit))
458+ else throw("invalid height"), if ((bh == unit))
464459 then true
465- else throw("finalization in progress"), if ((bl > 0))
460+ else throw("finalization in progress"), if ((bj > 0))
466461 then true
467462 else throw("no vote")]
468- if ((bc == bc))
463+ if ((ba == ba))
469464 then {
470- let bs = ao(z)
471- let bt = toString(aM.caller)
472- $Tuple2(([IntegerEntry(D(aM.caller, i), max([(bk - bl), 0])), DeleteEntry(F(z, aM.caller, i)), IntegerEntry(H(z, i), (bm - bl)), IntegerEntry(L(i), (bn - bl))] ++ aE(bs, bt)), unit)
465+ let bq = am(x)
466+ let br = toString(aK.caller)
467+ $Tuple2(([IntegerEntry(B(aK.caller, u), max([(bi - bj), 0])), DeleteEntry(D(x, aK.caller, u)), IntegerEntry(F(x, u), (bk - bj)), IntegerEntry(J(u), (bl - bj))] ++ aC(bq, br)), unit)
473468 }
474469 else throw("Strict value is not equal to itself.")
475470 }
476471
477472
478473
479-@Callable(aM)
480-func setEpochLength (bv) = {
481- let bc = [aN(aM), if ((bv > 0))
474+@Callable(aK)
475+func setEpochLength (bt) = {
476+ let ba = [aL(aK), if ((bt > 0))
482477 then true
483478 else throw("invalid epoch length")]
484- if ((bc == bc))
485- then $Tuple2([IntegerEntry(g, bv)], unit)
479+ if ((ba == ba))
480+ then $Tuple2([IntegerEntry(f, bt)], unit)
486481 else throw("Strict value is not equal to itself.")
487482 }
488483
489484
490485
491-@Callable(aM)
492-func setMaxDepth (bw) = {
493- let bc = [aN(aM), if ((bw > 0))
486+@Callable(aK)
487+func setMaxDepth (bu) = {
488+ let ba = [aL(aK), if ((bu > 0))
494489 then true
495490 else throw("invalid max depth")]
496- if ((bc == bc))
497- then $Tuple2([IntegerEntry(k, bw)], unit)
491+ if ((ba == ba))
492+ then $Tuple2([IntegerEntry(h, bu)], unit)
498493 else throw("Strict value is not equal to itself.")
499494 }
500495
501496
502497
503-@Callable(aM)
504-func processVoteINTERNAL (bx,bt) = {
505- let aQ = aL(aM)
506- if ((aQ == aQ))
498+@Callable(aK)
499+func processVoteINTERNAL (bv,br) = {
500+ let aO = aJ(aK)
501+ if ((aO == aO))
507502 then {
508- let aV = valueOrErrorMessage(addressFromString(bt), ("processVoteINTERNAL: invalid user address " + bt))
509- let i = V(this, j)
510- let by = (i - 1)
511- let bb = V(this, f)
512- let bh = V(this, w(i))
513- let bi = (bh + bb)
514- let bz = V(this, w(by))
515- let bA = V(this, h(by))
516- let bB = (bz + bA)
517- let bC = if ((by >= 0))
503+ let aT = valueOrErrorMessage(addressFromString(br), ("processVoteINTERNAL: invalid user address " + br))
504+ let u = T(this, g)
505+ let bw = (u - 1)
506+ let aZ = T(this, f)
507+ let bf = T(this, t(u))
508+ let bg = (bf + aZ)
509+ let bx = T(this, t(bw))
510+ let by = (bx + aZ)
511+ let bz = if ((bw >= 0))
518512 then true
519513 else throw("processVoteINTERNAL: invalid previous epoch")
520- if ((bC == bC))
514+ if ((bz == bz))
521515 then {
522- let z = X(bx)
523- let bD = z
524- let B = bD._1
525- let C = bD._2
526- let br = al(z)
527- let bo = {
528- let U = invoke(this, "getUserGwxAmountAtHeight", [bt, bi], nil)
529- if ($isInstanceOf(U, "Int"))
530- then U
531- else throw(($getType(U) + " couldn't be cast to Int"))
516+ let x = V(bv)
517+ let bA = x
518+ let z = bA._1
519+ let A = bA._2
520+ let bp = aj(x)
521+ let bm = {
522+ let S = invoke(this, "getUserGwxAmountAtHeight", [br, bg], nil)
523+ if ($isInstanceOf(S, "Int"))
524+ then S
525+ else throw(($getType(S) + " couldn't be cast to Int"))
532526 }
533- let bE = {
534- let U = invoke(this, "getUserGwxAmountAtHeight", [bt, bB], nil)
535- if ($isInstanceOf(U, "Int"))
536- then U
537- else throw(($getType(U) + " couldn't be cast to Int"))
527+ let bB = {
528+ let S = invoke(this, "getUserGwxAmountAtHeight", [br, by], nil)
529+ if ($isInstanceOf(S, "Int"))
530+ then S
531+ else throw(($getType(S) + " couldn't be cast to Int"))
538532 }
539- let bn = valueOrElse(getInteger(L(i)), 0)
540- let bF = valueOrElse(getInteger(H(z, i)), 0)
541- let bG = valueOrErrorMessage(getInteger(F(z, aV, by)), (((("processVoteINTERNAL " + bx) + " ") + bt) + ": no previous vote"))
542- let bk = valueOrElse(getInteger(this, D(aV, i)), 0)
543- let bq = if ((bE > 0))
544- then fraction(bG, bo, bE)
533+ let bl = valueOrElse(getInteger(J(u)), 0)
534+ let bC = valueOrElse(getInteger(F(x, u)), 0)
535+ let bD = valueOrErrorMessage(getInteger(D(x, aT, bw)), (((("processVoteINTERNAL " + bv) + " ") + br) + ": no previous vote"))
536+ let bi = valueOrElse(getInteger(this, B(aT, u)), 0)
537+ let bo = if ((bB > 0))
538+ then fraction(bD, bm, bB)
545539 else 0
546- let bH = if (if ((bq > 0))
547- then br
540+ let bE = if (if ((bo > 0))
541+ then bp
548542 else false)
549- then [IntegerEntry(F(z, aV, i), bq), IntegerEntry(L(i), (bn + bq)), IntegerEntry(H(z, i), (bF + bq)), IntegerEntry(D(aV, i), (bk + bq))]
550- else aE(ao(z), bt)
551- $Tuple2(bH, unit)
543+ then [IntegerEntry(D(x, aT, u), bo), IntegerEntry(J(u), (bl + bo)), IntegerEntry(F(x, u), (bC + bo)), IntegerEntry(B(aT, u), (bi + bo))]
544+ else aC(am(x), br)
545+ $Tuple2(bE, unit)
552546 }
553547 else throw("Strict value is not equal to itself.")
554548 }
555549 else throw("Strict value is not equal to itself.")
556550 }
557551
558552
559553
560-@Callable(aM)
561-func processPoolINTERNAL (bx,bI) = {
562- let aQ = aL(aM)
563- if ((aQ == aQ))
554+@Callable(aK)
555+func processPoolINTERNAL (bv,bF) = {
556+ let aO = aJ(aK)
557+ if ((aO == aO))
564558 then {
565- let bJ = {
566- let bK = V(this, j)
567- if (bI)
568- then bK
569- else (bK - 1)
559+ let bG = {
560+ let bH = T(this, g)
561+ if (bF)
562+ then bH
563+ else (bH - 1)
570564 }
571- let bC = if ((bJ >= 0))
565+ let bz = if ((bG >= 0))
572566 then true
573567 else throw("processPoolINTERNAL: invalid target epoch")
574- if ((bC == bC))
568+ if ((bz == bz))
575569 then {
576- let z = X(bx)
577- let bL = z
578- let B = bL._1
579- let C = bL._2
580- let ba = addressFromStringValue(T(this, o))
581- let ah = addressFromStringValue(T(this, m))
582- let ak = Z(B, C)
583- let bM = {
584- let U = invoke(ba, "usersListTraversal", [ak], nil)
585- if ($isInstanceOf(U, "Boolean"))
586- then U
587- else throw(($getType(U) + " couldn't be cast to Boolean"))
570+ let x = V(bv)
571+ let bI = x
572+ let z = bI._1
573+ let A = bI._2
574+ let aY = addressFromStringValue(R(this, l))
575+ let af = addressFromStringValue(R(this, j))
576+ let ai = X(z, A)
577+ let bJ = {
578+ let S = invoke(aY, "usersListTraversal", [ai], nil)
579+ if ($isInstanceOf(S, "Boolean"))
580+ then S
581+ else throw(($getType(S) + " couldn't be cast to Boolean"))
588582 }
589- if ((bM == bM))
590- then if (bM)
583+ if ((bJ == bJ))
584+ then if (bJ)
591585 then $Tuple2(nil, true)
592586 else {
593- let br = al(z)
594- let bn = valueOrElse(getInteger(this, L(bJ)), 0)
595- let bF = valueOrElse(getInteger(this, H(z, bJ)), 0)
596- let bN = if (if ((bn == 0))
587+ let bp = aj(x)
588+ let bl = valueOrElse(getInteger(this, J(bG)), 0)
589+ let bC = valueOrElse(getInteger(this, F(x, bG)), 0)
590+ let bK = if (if ((bl == 0))
597591 then true
598- else !(br))
592+ else !(bp))
599593 then 0
600- else fraction(bF, b, bn)
601- let bO = invoke(ah, "modifyWeight", [ak, bN], nil)
602- if ((bO == bO))
594+ else fraction(bC, b, bl)
595+ let bL = invoke(af, "modifyWeight", [ai, bK], nil)
596+ if ((bL == bL))
603597 then {
604- let bP = if (if (br)
598+ let bM = if (if (bp)
605599 then true
606- else bI)
600+ else bF)
607601 then nil
608- else ([DeleteEntry(y(z))] ++ aE(an, bx))
609- $Tuple2(([IntegerEntry(J(z, bJ), bN)] ++ bP), false)
602+ else ([DeleteEntry(w(x))] ++ aC(al, bv))
603+ $Tuple2(([IntegerEntry(H(x, bG), bK)] ++ bM), false)
610604 }
611605 else throw("Strict value is not equal to itself.")
612606 }
613607 else throw("Strict value is not equal to itself.")
614608 }
615609 else throw("Strict value is not equal to itself.")
616610 }
617611 else throw("Strict value is not equal to itself.")
618612 }
619613
620614
621615
622-@Callable(aM)
616+@Callable(aK)
623617 func finalizeHelper () = {
624- let bI = valueOrElse(getBoolean(v), false)
625- let i = valueOrElse(getInteger(this, j), 0)
626- let bQ = (i - 1)
627- let bh = V(this, w(i))
628- let bb = V(this, f)
629- let bi = (bh + bb)
630- let bj = getInteger(this, p)
631- if (if (if ((height >= bi))
632- then (bj == unit)
618+ let bF = valueOrElse(getBoolean(s), false)
619+ let u = valueOrElse(getInteger(this, g), 0)
620+ let bN = (u - 1)
621+ let bf = T(this, t(u))
622+ let aZ = T(this, f)
623+ let bg = (bf + aZ)
624+ let bh = getInteger(this, m)
625+ if (if (if ((height >= bg))
626+ then (bh == unit)
633627 else false)
634- then !(bI)
628+ then !(bF)
635629 else false)
636630 then {
637- let bR = (i + 1)
638- let bS = getInteger(this, g)
639- let bT = {
640- let Q = bS
641- if ($isInstanceOf(Q, "Int"))
631+ let bO = (u + 1)
632+ $Tuple2([IntegerEntry(t(bO), height), IntegerEntry(p, height), IntegerEntry(g, bO), IntegerEntry(m, d)], true)
633+ }
634+ else if (if (bF)
635+ then (bh == unit)
636+ else false)
637+ then $Tuple2([IntegerEntry(m, e)], true)
638+ else if ((bh == unit))
639+ then $Tuple2(nil, false)
640+ else if ((bh == d))
642641 then {
643- let bv = Q
644-[IntegerEntry(f, bv), DeleteEntry(g)]
645- }
646- else if ($isInstanceOf(Q, "Unit"))
647- then nil
648- else throw("Match error")
649- }
650- $Tuple2(([IntegerEntry(w(bR), height), IntegerEntry(s, height), IntegerEntry(j, bR), IntegerEntry(p, d), IntegerEntry(h(i), bb)] ++ bT), true)
651- }
652- else if (if (bI)
653- then (bj == unit)
654- else false)
655- then $Tuple2([IntegerEntry(p, e)], true)
656- else if ((bj == unit))
657- then $Tuple2(nil, false)
658- else if ((bj == d))
659- then {
660- let bU = getString(q)
661- let bV = getString(r)
662- let Q = bU
663- if ($isInstanceOf(Q, "Unit"))
642+ let bP = getString(n)
643+ let bQ = getString(o)
644+ let O = bP
645+ if ($isInstanceOf(O, "Unit"))
664646 then {
665- let bW = getString(aq(an))
666- if ($isInstanceOf(bW, "Unit"))
667- then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
668- else if ($isInstanceOf(bW, "String"))
647+ let bR = getString(ao(al))
648+ if ($isInstanceOf(bR, "Unit"))
649+ then $Tuple2([IntegerEntry(m, e), DeleteEntry(n), DeleteEntry(o)], true)
650+ else if ($isInstanceOf(bR, "String"))
669651 then {
670- let bX = bW
671- $Tuple2([StringEntry(q, bX)], true)
652+ let bS = bR
653+ $Tuple2([StringEntry(n, bS)], true)
672654 }
673655 else throw("Match error")
674656 }
675- else if ($isInstanceOf(Q, "String"))
657+ else if ($isInstanceOf(O, "String"))
676658 then {
677- let bx = Q
678- let z = X(bx)
679- let bY = {
680- let bW = bV
681- if ($isInstanceOf(bW, "Unit"))
682- then getString(aq(ao(z)))
683- else if ($isInstanceOf(bW, "String"))
659+ let bv = O
660+ let x = V(bv)
661+ let bT = {
662+ let bR = bQ
663+ if ($isInstanceOf(bR, "Unit"))
664+ then getString(ao(am(x)))
665+ else if ($isInstanceOf(bR, "String"))
684666 then {
685- let bZ = bW
686- let ca = getString(aw(ao(z), bZ))
687- if ((ca == ca))
667+ let bU = bR
668+ let bV = getString(au(am(x), bU))
669+ if ((bV == bV))
688670 then {
689- let cb = invoke(this, "processVoteINTERNAL", [bx, bZ], nil)
690- if ((cb == cb))
691- then ca
671+ let bW = invoke(this, "processVoteINTERNAL", [bv, bU], nil)
672+ if ((bW == bW))
673+ then bV
692674 else throw("Strict value is not equal to itself.")
693675 }
694676 else throw("Strict value is not equal to itself.")
695677 }
696678 else throw("Match error")
697679 }
698- let bW = bY
699- if ($isInstanceOf(bW, "Unit"))
680+ let bR = bT
681+ if ($isInstanceOf(bR, "Unit"))
700682 then {
701- let cc = getString(aw(an, bx))
702- let cd = cc
703- if ($isInstanceOf(cd, "Unit"))
704- then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
705- else if ($isInstanceOf(cd, "String"))
683+ let bX = getString(au(al, bv))
684+ let bY = bX
685+ if ($isInstanceOf(bY, "Unit"))
686+ then $Tuple2([IntegerEntry(m, e), DeleteEntry(n), DeleteEntry(o)], true)
687+ else if ($isInstanceOf(bY, "String"))
706688 then {
707- let aI = cd
708- $Tuple2([StringEntry(q, aI), DeleteEntry(r)], true)
689+ let aG = bY
690+ $Tuple2([StringEntry(n, aG), DeleteEntry(o)], true)
709691 }
710692 else throw("Match error")
711693 }
712- else if ($isInstanceOf(bW, "String"))
694+ else if ($isInstanceOf(bR, "String"))
713695 then {
714- let ce = bW
715- $Tuple2([StringEntry(r, ce)], true)
696+ let bZ = bR
697+ $Tuple2([StringEntry(o, bZ)], true)
716698 }
717699 else throw("Match error")
718700 }
719701 else throw("Match error")
720702 }
721- else if ((bj == e))
703+ else if ((bh == e))
722704 then {
723- let bU = getString(q)
724- let Q = bU
725- if ($isInstanceOf(Q, "Unit"))
705+ let bP = getString(n)
706+ let O = bP
707+ if ($isInstanceOf(O, "Unit"))
726708 then {
727- let bW = getString(aq(an))
728- if ($isInstanceOf(bW, "Unit"))
709+ let bR = getString(ao(al))
710+ if ($isInstanceOf(bR, "Unit"))
729711 then {
730- let bH = if (bI)
731- then [DeleteEntry(p), DeleteEntry(v)]
732- else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh)]
733- $Tuple2(bH, true)
712+ let bE = if (bF)
713+ then [DeleteEntry(m), DeleteEntry(s)]
714+ else [DeleteEntry(m), BooleanEntry(v(bN), true), IntegerEntry(q, u), IntegerEntry(r, bf)]
715+ $Tuple2(bE, true)
734716 }
735- else if ($isInstanceOf(bW, "String"))
717+ else if ($isInstanceOf(bR, "String"))
736718 then {
737- let cf = bW
738- $Tuple2([StringEntry(q, cf)], true)
719+ let ca = bR
720+ $Tuple2([StringEntry(n, ca)], true)
739721 }
740722 else throw("Match error")
741723 }
742- else if ($isInstanceOf(Q, "String"))
724+ else if ($isInstanceOf(O, "String"))
743725 then {
744- let bx = Q
745- let cc = getString(aw(an, bx))
746- if ((cc == cc))
726+ let bv = O
727+ let bX = getString(au(al, bv))
728+ if ((bX == bX))
747729 then {
748- let bM = {
749- let U = invoke(this, "processPoolINTERNAL", [bx, bI], nil)
750- if ($isInstanceOf(U, "Boolean"))
751- then U
752- else throw(($getType(U) + " couldn't be cast to Boolean"))
730+ let bJ = {
731+ let S = invoke(this, "processPoolINTERNAL", [bv, bF], nil)
732+ if ($isInstanceOf(S, "Boolean"))
733+ then S
734+ else throw(($getType(S) + " couldn't be cast to Boolean"))
753735 }
754- if ((bM == bM))
755- then if (bM)
736+ if ((bJ == bJ))
737+ then if (bJ)
756738 then $Tuple2(nil, true)
757739 else {
758- let bW = cc
759- if ($isInstanceOf(bW, "Unit"))
740+ let bR = bX
741+ if ($isInstanceOf(bR, "Unit"))
760742 then {
761- let bH = if (bI)
762- then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
763- else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh), DeleteEntry(q)]
764- $Tuple2(bH, true)
743+ let bE = if (bF)
744+ then [DeleteEntry(m), DeleteEntry(s), DeleteEntry(n)]
745+ else [DeleteEntry(m), BooleanEntry(v(bN), true), IntegerEntry(q, u), IntegerEntry(r, bf), DeleteEntry(n)]
746+ $Tuple2(bE, true)
765747 }
766- else if ($isInstanceOf(bW, "String"))
748+ else if ($isInstanceOf(bR, "String"))
767749 then {
768- let cf = bW
769- $Tuple2([StringEntry(q, cf)], true)
750+ let ca = bR
751+ $Tuple2([StringEntry(n, ca)], true)
770752 }
771753 else throw("Match error")
772754 }
773755 else throw("Strict value is not equal to itself.")
774756 }
775757 else throw("Strict value is not equal to itself.")
776758 }
777759 else throw("Match error")
778760 }
779761 else throw("finalization is broken")
780762 }
781763
782764
783765
784-@Callable(aM)
785-func finalizeWrapper (cg) = {
786- let ch = {
787- let U = invoke(this, "finalizeHelper", nil, nil)
788- if ($isInstanceOf(U, "Boolean"))
789- then U
790- else throw(($getType(U) + " couldn't be cast to Boolean"))
766+@Callable(aK)
767+func finalizeWrapper (cb) = {
768+ let cc = {
769+ let S = invoke(this, "finalizeHelper", nil, nil)
770+ if ($isInstanceOf(S, "Boolean"))
771+ then S
772+ else throw(($getType(S) + " couldn't be cast to Boolean"))
791773 }
792- if ((ch == ch))
793- then if (!(ch))
794- then if ((cg == 0))
774+ if ((cc == cc))
775+ then if (!(cc))
776+ then if ((cb == 0))
795777 then throw("Current voting is not over yet")
796778 else $Tuple2(nil, unit)
797779 else {
798- let ci = valueOrElse(getInteger(this, k), c)
799- if ((ci > cg))
780+ let cd = valueOrElse(getInteger(this, h), c)
781+ if ((cd > cb))
800782 then {
801- let cj = invoke(this, "finalizeWrapper", [(cg + 1)], nil)
802- if ((cj == cj))
783+ let ce = invoke(this, "finalizeWrapper", [(cb + 1)], nil)
784+ if ((ce == ce))
803785 then $Tuple2(nil, unit)
804786 else throw("Strict value is not equal to itself.")
805787 }
806788 else $Tuple2(nil, unit)
807789 }
808790 else throw("Strict value is not equal to itself.")
809791 }
810792
811793
812794
813-@Callable(aM)
795+@Callable(aK)
814796 func finalize () = {
815- let cj = invoke(this, "finalizeWrapper", [0], nil)
816- if ((cj == cj))
797+ let ce = invoke(this, "finalizeWrapper", [0], nil)
798+ if ((ce == ce))
817799 then $Tuple2(nil, unit)
818800 else throw("Strict value is not equal to itself.")
819801 }
820802
821803
822804
823-@Callable(aM)
824-func containsNodeREADONLY (ar,av) = $Tuple2(nil, ax(ar, av))
805+@Callable(aK)
806+func containsNodeREADONLY (ap,at) = $Tuple2(nil, av(ap, at))
825807
826808
827809
828-@Callable(aM)
829-func insertNode (ar,av) = {
830- let aQ = aN(aM)
831- if ((aQ == aQ))
832- then $Tuple2(aB(ar, av), unit)
810+@Callable(aK)
811+func insertNode (ap,at) = {
812+ let aO = aL(aK)
813+ if ((aO == aO))
814+ then $Tuple2(az(ap, at), unit)
833815 else throw("Strict value is not equal to itself.")
834816 }
835817
836818
837819
838-@Callable(aM)
839-func deleteNode (ar,av) = {
840- let aQ = aN(aM)
841- if ((aQ == aQ))
842- then $Tuple2(aE(ar, av), unit)
820+@Callable(aK)
821+func deleteNode (ap,at) = {
822+ let aO = aL(aK)
823+ if ((aO == aO))
824+ then $Tuple2(aC(ap, at), unit)
843825 else throw("Strict value is not equal to itself.")
844826 }
845827
846828
847-@Verifier(ck)
848-func cl () = {
849- let cm = {
850- let Q = aH()
851- if ($isInstanceOf(Q, "ByteVector"))
829+@Verifier(cf)
830+func cg () = {
831+ let ch = {
832+ let O = aF()
833+ if ($isInstanceOf(O, "ByteVector"))
852834 then {
853- let aO = Q
854- aO
835+ let aM = O
836+ aM
855837 }
856- else if ($isInstanceOf(Q, "Unit"))
857- then ck.senderPublicKey
838+ else if ($isInstanceOf(O, "Unit"))
839+ then cf.senderPublicKey
858840 else throw("Match error")
859841 }
860- sigVerify(ck.bodyBytes, ck.proofs[0], cm)
842+ sigVerify(cf.bodyBytes, cf.proofs[0], ch)
861843 }
862844

github/deemru/w8io/169f3d6 
333.63 ms