tx · A4Y8NgoKZAi6bn8LtwQQ2u2MaLzM4gE5GEyU9V4s5CAm

3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA:  -0.02200000 Waves

2023.03.14 10:11 [2489390] smart account 3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA > SELF 0.00000000 Waves

{ "type": 13, "id": "A4Y8NgoKZAi6bn8LtwQQ2u2MaLzM4gE5GEyU9V4s5CAm", "fee": 2200000, "feeAssetId": null, "timestamp": 1678777905356, "version": 2, "chainId": 84, "sender": "3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA", "senderPublicKey": "D46gQxzmdzdCTYRg6dMcwFoUrc6ZmxF6GKd5ZoTkvzp1", "proofs": [ "5LruKQ1oTQs8b3wF34XjuCdF3tJsbX7en2F5GPj7yPyjou14autn4oiQ9W47LBHPYSuYBZsaZRo2Q3QGuBvoQiYZ" ], "script": "base64:BgKxFAgCEgMKAQgSABIECgIIARIHCgUICAgIARIECgIICBIFCgMICAESBAoCCAgSAwoBARIDCgEBEgQKAggIEgQKAggEEgASAwoBARIAEgQKAggIEgQKAggIEgQKAggIIglzZXBhcmF0b3IiDnBvb2xXZWlnaHRNdWx0Ig9tYXhEZXB0aERlZmF1bHQiFmZpbmFsaXphdGlvblN0YWdlVG90YWwiF2ZpbmFsaXphdGlvblN0YWdlU2hhcmVzIg5rZXlFcG9jaExlbmd0aCIRa2V5RXBvY2hMZW5ndGhOZXciFWtleUVwb2NoTGVuZ3RoQnlFcG9jaCIFZXBvY2giD2tleUN1cnJlbnRFcG9jaCILa2V5TWF4RGVwdGgiImtleVZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEmtleUZhY3RvcnlDb250cmFjdCITa2V5Qm9vc3RpbmdDb250cmFjdCISa2V5U3Rha2luZ0NvbnRyYWN0IhRrZXlGaW5hbGl6YXRpb25TdGFnZSILa2V5TmV4dFBvb2wiC2tleU5leHRVc2VyIg5rZXlTdGFydEhlaWdodCIRa2V5Q3VycmVudEVwb2NoVWkiEGtleVN0YXJ0SGVpZ2h0VWkiHWtleUZpbmFsaXphdGlvblNob3VsZEJlRm9yY2VkIhVrZXlTdGFydEhlaWdodEJ5RXBvY2giDGtleUZpbmFsaXplZCIJa2V5SW5MaXN0IgRwb29sIgskdDAxNjkzMTczMyINYW1vdW50QXNzZXRJZCIMcHJpY2VBc3NldElkIgdrZXlVc2VkIgdhZGRyZXNzIgdrZXlWb3RlIgskdDAyMDA3MjA0NyIPa2V5Vm90aW5nUmVzdWx0IgskdDAyMjI5MjI2OSIMa2V5UG9vbFNoYXJlIgskdDAyNDM0MjQ3NCINa2V5VG90YWxWb3RlcyIOZ2V0VmFsdWVPckZhaWwiA2tleSIEdHlwZSIFZXJyb3IiByRtYXRjaDAiA3N0ciIDaW50IgxnZXRTdHJPckZhaWwiAUAiDGdldEludE9yRmFpbCIMcG9vbFRvU3RyaW5nIgxzdHJpbmdUb1Bvb2wiBXBhcnRzIhZnZXRMcEFzc2V0QnlQb29sQXNzZXRzIh9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkIgxiYXNlQXNzZXRTdHIiKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzIhhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIiF2ludGVybmFsUHJpY2VBc3NldElkU3RyIh9rZXlNYXBwaW5nUG9vbENvbnRyYWN0VG9MUEFzc2V0IhNwb29sQ29udHJhY3RBZGRyZXNzIg9mYWN0b3J5Q29udHJhY3QiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiCWxwQXNzZXRJZCIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsIgskdDA0NzE2NDc1NiINcG9vbHNMaXN0TmFtZSIQZ2V0Vm90ZXNMaXN0TmFtZSILJHQwNTA1NzUwOTciC2tleUxpc3RIZWFkIghsaXN0TmFtZSIEbWV0YSILa2V5TGlzdFNpemUiC2tleUxpc3RQcmV2IgJpZCILa2V5TGlzdE5leHQiDGNvbnRhaW5zTm9kZSIKaGVhZE9yVW5pdCIKcHJldk9yVW5pdCIKbmV4dE9yVW5pdCIRaW5zZXJ0Tm9kZUFjdGlvbnMiCGxpc3RTaXplIgljaGVja05vZGUiEWRlbGV0ZU5vZGVBY3Rpb25zIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIBcyIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIIbXVzdFRoaXMiAWkiC211c3RNYW5hZ2VyIgJwayIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiC2NoZWNrQ2FsbGVyIhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSILdXNlckFkZHJlc3MiDHRhcmdldEhlaWdodCIXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiD3N0YWtpbmdDb250cmFjdCILZXBvY2hMZW5ndGgiBmNoZWNrcyINaW5MaXN0QWN0aW9ucyIYY3VycmVudEVwb2NoSXNOb3REZWZpbmVkIhJzdGFydEhlaWdodEFjdGlvbnMiBmFtb3VudCILc3RhcnRIZWlnaHQiCWVuZEhlaWdodCIXZmluYWxpemF0aW9uU3RhZ2VPclVuaXQiBHVzZWQiBHZvdGUiCnBvb2xSZXN1bHQiCnRvdGFsVm90ZXMiE2d3eEFtb3VudEF0RW5kVG90YWwiCWF2YWlsYWJsZSIHbmV3Vm90ZSIKd3hFbWlzc2lvbiINdm90ZXNMaXN0TmFtZSIOdXNlckFkZHJlc3NTdHIiEHZvdGVzTGlzdEFjdGlvbnMiDm5ld0Vwb2NoTGVuZ3RoIgtuZXdNYXhEZXB0aCIHcG9vbFN0ciINZXBvY2hQcmV2aW91cyITc3RhcnRIZWlnaHRQcmV2aW91cyITZXBvY2hMZW5ndGhQcmV2aW91cyIRZW5kSGVpZ2h0UHJldmlvdXMiEGNoZWNrVGFyZ2V0RXBvY2giDSR0MDE3NTQ4MTc1ODgiG2d3eEFtb3VudEF0RW5kVG90YWxQcmV2aW91cyIMdm90aW5nUmVzdWx0Igx2b3RlUHJldmlvdXMiB2FjdGlvbnMiBWZvcmNlIgt0YXJnZXRFcG9jaCIMY3VycmVudEVwb2NoIg0kdDAxOTMxNDE5MzU0IgFyIgVzaGFyZSIPbW9kaWZ5V2VpZ2h0SW52IhBwb29sc0xpc3RBY3Rpb25zIg1wcmV2aW91c0Vwb2NoIghuZXdFcG9jaCIUbmV3RXBvY2hMZW5ndGhPcHRpb24iFW5ld0Vwb2NoTGVuZ3RoQWN0aW9ucyIKcG9vbE9yVW5pdCIKdXNlck9yVW5pdCIHJG1hdGNoMSIMcG9vbHNIZWFkU3RyIg5uZXh0VXNlck9yVW5pdCIEdXNlciIEbmV4dCIOcHJvY2Vzc1ZvdGVJbnYiDm5leHRQb29sT3JVbml0IgckbWF0Y2gyIghuZXh0VXNlciILbmV4dFBvb2xTdHIiB2NvdW50ZXIiBnJlc3VsdCIIbWF4RGVwdGgiA2ludiICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5NAABYQICX18AAWIAgMLXLwABYwAKAAFkAAAAAWUAAQABZgkAuQkCCQDMCAICAiVzCQDMCAICC2Vwb2NoTGVuZ3RoBQNuaWwFAWEAAWcJALkJAgkAzAgCAgQlcyVzCQDMCAICEGVwb2NoTGVuZ3RoX19uZXcFA25pbAUBYQEBaAEBaQkAuQkCCQDMCAICBCVzJWQJAMwIAgILZXBvY2hMZW5ndGgJAMwIAgkApAMBBQFpBQNuaWwFAWEAAWoJALkJAgkAzAgCAgIlcwkAzAgCAgxjdXJyZW50RXBvY2gFA25pbAUBYQABawkAuQkCCQDMCAICAiVzCQDMCAICCG1heERlcHRoBQNuaWwFAWEAAWwJALkJAgkAzAgCAgIlcwkAzAgCAh92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQNuaWwFAWEAAW0JALkJAgkAzAgCAgIlcwkAzAgCAg9mYWN0b3J5Q29udHJhY3QFA25pbAUBYQABbgkAuQkCCQDMCAICAiVzCQDMCAICEGJvb3N0aW5nQ29udHJhY3QFA25pbAUBYQABbwkAuQkCCQDMCAICAiVzCQDMCAICD3N0YWtpbmdDb250cmFjdAUDbmlsBQFhAAFwCQC5CQIJAMwIAgICJXMJAMwIAgIRZmluYWxpemF0aW9uU3RhZ2UFA25pbAUBYQABcQkAuQkCCQDMCAICAiVzCQDMCAICCG5leHRQb29sBQNuaWwFAWEAAXIJALkJAgkAzAgCAgIlcwkAzAgCAghuZXh0VXNlcgUDbmlsBQFhAAFzCQC5CQIJAMwIAgICJXMJAMwIAgILc3RhcnRIZWlnaHQFA25pbAUBYQABdAkAuQkCCQDMCAICAiVzCQDMCAICDmN1cnJlbnRFcG9jaFVpBQNuaWwFAWEAAXUJALkJAgkAzAgCAgIlcwkAzAgCAg1zdGFydEhlaWdodFVpBQNuaWwFAWEAAXYJALkJAgkAzAgCAgIlcwkAzAgCAgVmb3JjZQUDbmlsBQFhAQF3AQFpCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtzdGFydEhlaWdodAkAzAgCCQCkAwEFAWkFA25pbAUBYQEBeAEBaQkAuQkCCQDMCAICBCVzJWQJAMwIAgIJZmluYWxpemVkCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQF5AQF6BAFBBQF6BAFCCAUBQQJfMQQBQwgFAUECXzIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGaW5MaXN0CQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFhAQFEAgFFAWkJALkJAgkAzAgCAgYlcyVzJWQJAMwIAgIEdXNlZAkAzAgCCQClCAEFAUUJAMwIAgkApAMBBQFpBQNuaWwFAWEBAUYDAXoBRQFpBAFHBQF6BAFCCAUBRwJfMQQBQwgFAUcCXzIJALkJAgkAzAgCAgolcyVzJXMlcyVkCQDMCAICBHZvdGUJAMwIAgUBQgkAzAgCBQFDCQDMCAIJAKUIAQUBRQkAzAgCCQCkAwEFAWkFA25pbAUBYQEBSAIBegFpBAFJBQF6BAFCCAUBSQJfMQQBQwgFAUkCXzIJALkJAgkAzAgCAgglcyVzJXMlZAkAzAgCAgx2b3RpbmdSZXN1bHQJAMwIAgUBQgkAzAgCBQFDCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFKAgF6AWkEAUsFAXoEAUIIBQFLAl8xBAFDCAUBSwJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICCXBvb2xTaGFyZQkAzAgCBQFCCQDMCAIFAUMJAMwIAgkApAMBBQFpBQNuaWwFAWEBAUwBAWkJALkJAgkAzAgCAgQlcyVkCQDMCAICCnRvdGFsVm90ZXMJAMwIAgkApAMBBQFpBQNuaWwFAWEBAU0DAUUBTgFPBAFQCQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFAUUJAMwIAgIBLgkAzAgCBQFOCQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgQBUQUBTwMJAAECBQFRAgZTdHJpbmcEAVIFAVEJAJ0IAgUBRQUBTgMJAAECBQFRAgNJbnQEAVMFAVEJAJoIAgUBRQUBTgkAAgECEmludmFsaWQgZW50cnkgdHlwZQUBUAEBVAIBRQFOCgABVQkBAU0DBQFFBQFOAgADCQABAgUBVQIGU3RyaW5nBQFVCQACAQkArAICCQADAQUBVQIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nAQFWAgFFAU4KAAFVCQEBTQMFAUUFAU4AAAMJAAECBQFVAgNJbnQFAVUJAAIBCQCsAgIJAAMBBQFVAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAVcBAXoJAKwCAgkArAICCAUBegJfMQUBYQgFAXoCXzIBAVgBAVIEAVkJALUJAgUBUgUBYQMJAAACCQCQAwEFAVkAAgkAlAoCCQCRAwIFAVkAAAkAkQMCBQFZAAEJAAIBAhNpbnZhbGlkIHBvb2wgc3RyaW5nAQFaAgFCAUMKAQJhYQECYWIJAKwCAgIoJXMlcyVzX19tYXBwaW5nc19fYmFzZUFzc2V0MmludGVybmFsSWRfXwUCYWIKAQJhYwICYWQCYWUJAKwCAgkArAICCQCsAgIJAKwCAgIKJWQlZCVzJXNfXwkApAMBBQJhZAICX18JAKQDAQUCYWUCI19fbWFwcGluZ3NfX3Bvb2xBc3NldHMyUG9vbENvbnRyYWN0CgECYWYBAmFnCQCsAgIJAKwCAgIIJXMlcyVzX18FAmFnAiBfX21hcHBpbmdzX19wb29sQ29udHJhY3QyTHBBc3NldAQCYWgJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFUAgUEdGhpcwUBbQQCYWkJAQFWAgUCYWgJAQJhYQEFAUIEAmFqCQEBVgIFAmFoCQECYWEBBQFDBAJhZwkBAVQCBQJhaAkBAmFjAgUCYWkFAmFqBAJhawkBAVQCBQJhaAkBAmFmAQUCYWcFAmFrAQJhbAEBegQCYW0FAXoEAUIIBQJhbQJfMQQBQwgFAmFtAl8yBAJhaAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVQCBQR0aGlzBQFtCgABVQkA/AcEBQJhaAIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQNuaWwDCQABAgUBVQIHQm9vbGVhbgUBVQkAAgEJAKwCAgkAAwEFAVUCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4AAmFuAgVwb29scwECYW8BAXoEAmFwBQF6BAFCCAUCYXACXzEEAUMIBQJhcAJfMgkAuQkCCQDMCAICBXZvdGVzCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFhAQJhcQECYXIEAmFzAwkAAAIFAmFyBQJhbgIEJXMlcwIIJXMlcyVzJXMJALkJAgkAzAgCBQJhcwkAzAgCBQJhcgkAzAgCAgRoZWFkBQNuaWwFAWEBAmF0AQJhcgQCYXMDCQAAAgUCYXIFAmFuAgQlcyVzAgglcyVzJXMlcwkAuQkCCQDMCAIFAmFzCQDMCAIFAmFyCQDMCAICBHNpemUFA25pbAUBYQECYXUCAmFyAmF2BAJhcwMJAAACBQJhcgUCYW4CCCVzJXMlcyVzAgolcyVzJXMlcyVzCQC5CQIJAMwIAgUCYXMJAMwIAgUCYXIJAMwIAgUCYXYJAMwIAgIEcHJldgUDbmlsBQFhAQJhdwICYXICYXYEAmFzAwkAAAIFAmFyBQJhbgIIJXMlcyVzJXMCCiVzJXMlcyVzJXMJALkJAgkAzAgCBQJhcwkAzAgCBQJhcgkAzAgCBQJhdgkAzAgCAgRuZXh0BQNuaWwFAWEBAmF4AgJhcgJhdgQCYXkJAJ0IAgUEdGhpcwkBAmFxAQUCYXIEAmF6CQCdCAIFBHRoaXMJAQJhdQIFAmFyBQJhdgQCYUEJAJ0IAgUEdGhpcwkBAmF3AgUCYXIFAmF2AwMJAAACBQJhdgkBC3ZhbHVlT3JFbHNlAgUCYXkCAAYJAQIhPQIFAmF6BQR1bml0BgkBAiE9AgUCYUEFBHVuaXQBAmFCAgJhcgJhdgQCYXkJAJ0IAgUEdGhpcwkBAmFxAQUCYXIEAmFDCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJhdAEFAmFyAAAEAmFEAwkBASEBCQECYXgCBQJhcgUCYXYGCQACAQILTm9kZSBleGlzdHMDCQAAAgUCYUQFAmFECQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmF0AQUCYXIJAGQCBQJhQwABBQNuaWwDCQECIT0CBQJheQUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYXcCBQJhcgUCYXYJAQV2YWx1ZQEFAmF5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdQIFAmFyCQEFdmFsdWUBBQJheQUCYXYFA25pbAUDbmlsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhcQEFAmFyBQJhdgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJhRQICYXICYXYEAmF5CQCdCAIFBHRoaXMJAQJhcQEFAmFyBAJhQwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYXQBBQJhcgAABAJhegkAnQgCBQR0aGlzCQECYXUCBQJhcgUCYXYEAmFBCQCdCAIFBHRoaXMJAQJhdwIFAmFyBQJhdgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYXQBBQJhcgkAZQIFAmFDAAEFA25pbAMDCQECIT0CBQJhegUEdW5pdAkBAiE9AgUCYUEFBHVuaXQHCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdwIFAmFyCQEFdmFsdWUBBQJhegkBBXZhbHVlAQUCYUEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF1AgUCYXIJAQV2YWx1ZQEFAmFBCQEFdmFsdWUBBQJhegkAzAgCCQELRGVsZXRlRW50cnkBCQECYXUCBQJhcgUCYXYJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF3AgUCYXIFAmF2BQNuaWwDCQECIT0CBQJhQQUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYXEBBQJhcgkBBXZhbHVlAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF3AgUCYXIFAmF2CQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhdQIFAmFyCQEFdmFsdWUBBQJhQQUDbmlsAwkBAiE9AgUCYXoFBHVuaXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF1AgUCYXIFAmF2CQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhdwIFAmFyCQEFdmFsdWUBBQJhegUDbmlsAwkAAAIFAmF2CQELdmFsdWVPckVsc2UCBQJheQIACQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhcQEFAmFyBQNuaWwJAAIBCQCsAgIJAKwCAgkArAICAg5pbnZhbGlkIG5vZGU6IAUCYXICAS4FAmF2AQJhRgACFCVzX19tYW5hZ2VyUHVibGljS2V5AQJhRwACGyVzX19wZW5kaW5nTWFuYWdlclB1YmxpY0tleQECYUgABAFRCQCiCAEJAQJhRgADCQABAgUBUQIGU3RyaW5nBAJhSQUBUQkA2QQBBQJhSQMJAAECBQFRAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmFKAAQBUQkAoggBCQECYUcAAwkAAQIFAVECBlN0cmluZwQCYUkFAVEJANkEAQUCYUkDCQABAgUBUQIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAAJhSwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAQJhTAECYU0DCQAAAggFAmFNBmNhbGxlcgUEdGhpcwYFAmFLAQJhTgECYU0EAVEJAQJhSAADCQABAgUBUQIKQnl0ZVZlY3RvcgQCYU8FAVEDCQAAAggFAmFND2NhbGxlclB1YmxpY0tleQUCYU8GBQJhSwMJAAECBQFRAgRVbml0CQECYUwBBQJhTQkAAgECC01hdGNoIGVycm9yEQJhTQEKc2V0TWFuYWdlcgECYVAEAmFRCQECYU4BBQJhTQMJAAACBQJhUQUCYVEEAmFSCQDZBAEFAmFQAwkAAAIFAmFSBQJhUgkAzAgCCQELU3RyaW5nRW50cnkCCQECYUcABQJhUAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQ5jb25maXJtTWFuYWdlcgAEAmFTCQECYUoABAJhVAMJAQlpc0RlZmluZWQBBQJhUwYJAAIBAhJObyBwZW5kaW5nIG1hbmFnZXIDCQAAAgUCYVQFAmFUBAJhVQMJAAACCAUCYU0PY2FsbGVyUHVibGljS2V5CQEFdmFsdWUBBQJhUwYJAAIBAhtZb3UgYXJlIG5vdCBwZW5kaW5nIG1hbmFnZXIDCQAAAgUCYVUFAmFVCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhRgAJANgEAQkBBXZhbHVlAQUCYVMJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFHAAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNARhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQCAmFWAmFXBAJhWAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAQFUAgUEdGhpcwUBbgIhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQCUCgIFA25pbAoAAVUJAPwHBAUCYVgCIGdldFVzZXJHd3hBbW91bnRBdEhlaWdodFJFQURPTkxZCQDMCAIFAmFWCQDMCAIFAmFXBQNuaWwFA25pbAMJAAECBQFVAgNJbnQFAVUJAAIBCQCsAgIJAAMBBQFVAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQCYU0BC2NvbnN0cnVjdG9yBQJhaAJhWQJhWgJiYQJiYgQCYmMJAMwIAgkBAmFOAQUCYU0JAMwIAgMJAQIhPQIJAKYIAQUCYWgFBHVuaXQGAiBpbnZhbGlkIGZhY3RvcnkgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJhWQUEdW5pdAYCMmludmFsaWQgdm90aW5nIGVtaXNzaW9uIGNhbmRpZGF0ZSBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmFaBQR1bml0BgIhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmJhBQR1bml0BgIgaW52YWxpZCBzdGFraW5nIGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAGYCBQJiYgAABgkAAgECFGludmFsaWQgZXBvY2ggbGVuZ3RoBQNuaWwDCQAAAgUCYmMFAmJjCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbQUCYWgJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbAUCYVkJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbgUCYVoJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbwUCYmEJAMwIAgkBDEludGVnZXJFbnRyeQIFAWYFAmJiBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BBmNyZWF0ZQIBQgFDBAJiYwkAzAgCAwkAAAIJANgEAQgIBQJhTQZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUBbAIABgkBAmFOAQUCYU0FA25pbAMJAAACBQJiYwUCYmMEAXoJAJQKAgUBQgUBQwQCYmQJAM4IAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBAXkBBQF6BgUDbmlsCQECYUICBQJhbgkBAVcBBQF6BAJiZQkAAAIJAJoIAgUEdGhpcwUBagUEdW5pdAQCYmYDBQJiZQQBaQAACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFqBQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBdwEFAWkFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcwUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF0BQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQZoZWlnaHQFA25pbAUDbmlsCQCUCgIJAM4IAgUCYmQFAmJmBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQR2b3RlAwFCAUMCYmcEAXoJAJQKAgUBQgUBQwQBaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFqAAAEAmJoCQEBVgIFBHRoaXMJAQF3AQUBaQQCYmIJAQFWAgUEdGhpcwUBZgQCYmkJAGQCBQJiaAUCYmIEAmJqCQCaCAIFBHRoaXMFAXAEAmJrCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFEAggFAmFNBmNhbGxlcgUBaQAABAJibAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBRgMFAXoIBQJhTQZjYWxsZXIFAWkAAAQCYm0JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUgCBQF6BQFpAAAEAmJuCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFMAQUBaQAABAJibwoAAVUJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIJANgEAQgIBQJhTQZjYWxsZXIFYnl0ZXMJAMwIAgUCYmkFA25pbAUDbmlsAwkAAQIFAVUCA0ludAUBVQkAAgEJAKwCAgkAAwEFAVUCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYnAJAGUCBQJibwUCYmsEAmJxCQBkAgUCYmwFAmJnBAJicgkBAmFsAQUBegQCYmMJAMwIAgMJAQIhPQIJAKAIAQkBAXkBBQF6BQR1bml0BgkAAgECDmludmFsaWQgYXNzZXRzCQDMCAIDCQBmAgUCYmkFBmhlaWdodAYJAAIBAg5pbnZhbGlkIGhlaWdodAkAzAgCAwkAAAIFAmJqBQR1bml0BgkAAgECGGZpbmFsaXphdGlvbiBpbiBwcm9ncmVzcwkAzAgCAwkAZgIFAmJvAAAGCQACAQITeW91IGRvIG5vdCBoYXZlIGdXWAkAzAgCAwMJAGYCBQJiZwAACQBnAgUCYnAFAmJnBwYJAAIBAg5pbnZhbGlkIGFtb3VudAkAzAgCAwUCYnIGCQACAQIdcG9vbCBoYXNuJ3QgV1hfRU1JU1NJT04gbGFiZWwFA25pbAMJAAACBQJiYwUCYmMEAmJzCQECYW8BBQF6BAJidAkApQgBCAUCYU0GY2FsbGVyBAJidQMJAQJheAIFAmJzBQJidAUDbmlsCQECYUICBQJicwUCYnQJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRAIIBQJhTQZjYWxsZXIFAWkJAGQCBQJiawUCYmcJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFGAwUBeggFAmFNBmNhbGxlcgUBaQUCYnEJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFIAgUBegUBaQkAZAIFAmJtBQJiZwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUwBBQFpCQBkAgUCYm4FAmJnBQNuaWwFAmJ1BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQpjYW5jZWxWb3RlAgFCAUMEAXoJAJQKAgUBQgUBQwQBaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFqAAAEAmJoCQEBVgIFBHRoaXMJAQF3AQUBaQQCYmIJAQFWAgUEdGhpcwUBZgQCYmkJAGQCBQJiaAUCYmIEAmJqCQCaCAIFBHRoaXMFAXAEAmJrCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFEAggFAmFNBmNhbGxlcgUBaQAABAJibAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBRgMFAXoIBQJhTQZjYWxsZXIFAWkAAAQCYm0JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUgCBQF6BQFpAAAEAmJuCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFMAQUBaQAABAJiYwkAzAgCAwkBAiE9AgkAoAgBCQEBeQEFAXoFBHVuaXQGCQACAQIOaW52YWxpZCBhc3NldHMJAMwIAgMJAGYCBQJiaQUGaGVpZ2h0BgkAAgECDmludmFsaWQgaGVpZ2h0CQDMCAIDCQAAAgUCYmoFBHVuaXQGCQACAQIYZmluYWxpemF0aW9uIGluIHByb2dyZXNzCQDMCAIDCQBmAgUCYmwAAAYJAAIBAgdubyB2b3RlBQNuaWwDCQAAAgUCYmMFAmJjBAJicwkBAmFvAQUBegQCYnQJAKUIAQgFAmFNBmNhbGxlcgkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFEAggFAmFNBmNhbGxlcgUBaQkAlgMBCQDMCAIJAGUCBQJiawUCYmwJAMwIAgAABQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAUYDBQF6CAUCYU0GY2FsbGVyBQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSAIFAXoFAWkJAGUCBQJibQUCYmwJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFMAQUBaQkAZQIFAmJuBQJibAUDbmlsCQECYUUCBQJicwUCYnQFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BDnNldEVwb2NoTGVuZ3RoAQJidgQCYmMJAMwIAgkBAmFOAQUCYU0JAMwIAgMJAGYCBQJidgAABgkAAgECFGludmFsaWQgZXBvY2ggbGVuZ3RoBQNuaWwDCQAAAgUCYmMFAmJjCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAWcFAmJ2BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BC3NldE1heERlcHRoAQJidwQCYmMJAMwIAgkBAmFOAQUCYU0JAMwIAgMJAGYCBQJidwAABgkAAgECEWludmFsaWQgbWF4IGRlcHRoBQNuaWwDCQAAAgUCYmMFAmJjCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAWsFAmJ3BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BE3Byb2Nlc3NWb3RlSU5URVJOQUwCAmJ4AmJ0BAJhUQkBAmFMAQUCYU0DCQAAAgUCYVEFAmFRBAJhVgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEFAmJ0CQCsAgICKnByb2Nlc3NWb3RlSU5URVJOQUw6IGludmFsaWQgdXNlciBhZGRyZXNzIAUCYnQEAWkJAQFWAgUEdGhpcwUBagQCYnkJAGUCBQFpAAEEAmJiCQEBVgIFBHRoaXMFAWYEAmJoCQEBVgIFBHRoaXMJAQF3AQUBaQQCYmkJAGQCBQJiaAUCYmIEAmJ6CQEBVgIFBHRoaXMJAQF3AQUCYnkEAmJBCQEBVgIFBHRoaXMJAQFoAQUCYnkEAmJCCQBkAgUCYnoFAmJBBAJiQwMJAGcCBQJieQAABgkAAgECK3Byb2Nlc3NWb3RlSU5URVJOQUw6IGludmFsaWQgcHJldmlvdXMgZXBvY2gDCQAAAgUCYkMFAmJDBAF6CQEBWAEFAmJ4BAJiRAUBegQBQggFAmJEAl8xBAFDCAUCYkQCXzIEAmJyCQECYWwBBQF6BAJibwoAAVUJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIFAmJ0CQDMCAIFAmJpBQNuaWwFA25pbAMJAAECBQFVAgNJbnQFAVUJAAIBCQCsAgIJAAMBBQFVAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQEAmJFCgABVQkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgUCYnQJAMwIAgUCYkIFA25pbAUDbmlsAwkAAQIFAVUCA0ludAUBVQkAAgEJAKwCAgkAAwEFAVUCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYm4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAUwBBQFpAAAEAmJGCQELdmFsdWVPckVsc2UCCQCfCAEJAQFIAgUBegUBaQAABAJiRwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJAQFGAwUBegUCYVYFAmJ5CQCsAgIJAKwCAgkArAICCQCsAgICFHByb2Nlc3NWb3RlSU5URVJOQUwgBQJieAIBIAUCYnQCEjogbm8gcHJldmlvdXMgdm90ZQQCYmsJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUQCBQJhVgUBaQAABAJicQMJAGYCBQJiRQAACQBrAwUCYkcFAmJvBQJiRQAABAJiSAMDCQBmAgUCYnEAAAUCYnIHCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRgMFAXoFAmFWBQFpBQJicQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUwBBQFpCQBkAgUCYm4FAmJxCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSAIFAXoFAWkJAGQCBQJiRgUCYnEJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFEAgUCYVYFAWkJAGQCBQJiawUCYnEFA25pbAkBAmFFAgkBAmFvAQUBegUCYnQJAJQKAgUCYkgFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BE3Byb2Nlc3NQb29sSU5URVJOQUwCAmJ4AmJJBAJhUQkBAmFMAQUCYU0DCQAAAgUCYVEFAmFRBAJiSgQCYksJAQFWAgUEdGhpcwUBagMFAmJJBQJiSwkAZQIFAmJLAAEEAmJDAwkAZwIFAmJKAAAGCQACAQIpcHJvY2Vzc1Bvb2xJTlRFUk5BTDogaW52YWxpZCB0YXJnZXQgZXBvY2gDCQAAAgUCYkMFAmJDBAF6CQEBWAEFAmJ4BAJiTAUBegQBQggFAmJMAl8xBAFDCAUCYkwCXzIEAmJhCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBVAIFBHRoaXMFAW8EAmFoCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBVAIFBHRoaXMFAW0EAmFrCQEBWgIFAUIFAUMEAmJNCgABVQkA/AcEBQJiYQISdXNlcnNMaXN0VHJhdmVyc2FsCQDMCAIFAmFrBQNuaWwFA25pbAMJAAECBQFVAgdCb29sZWFuBQFVCQACAQkArAICCQADAQUBVQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJiTQUCYk0DBQJiTQkAlAoCBQNuaWwGBAJicgkBAmFsAQUBegQCYm4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUwBBQJiSgAABAJiRgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBSAIFAXoFAmJKAAAEAmJOAwMJAAACBQJibgAABgkBASEBBQJicgAACQBrAwUCYkYFAWIFAmJuBAJiTwkA/AcEBQJhaAIMbW9kaWZ5V2VpZ2h0CQDMCAIFAmFrCQDMCAIFAmJOBQNuaWwFA25pbAMJAAACBQJiTwUCYk8EAmJQAwMFAmJyBgUCYkkFA25pbAkAzggCCQDMCAIJAQtEZWxldGVFbnRyeQEJAQF5AQUBegUDbmlsCQECYUUCBQJhbgUCYngJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSgIFAXoFAmJKBQJiTgUDbmlsBQJiUAcJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BDmZpbmFsaXplSGVscGVyAAQCYkkJAQt2YWx1ZU9yRWxzZQIJAKAIAQUBdgcEAWkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUBagAABAJiUQkAZQIFAWkAAQQCYmgJAQFWAgUEdGhpcwkBAXcBBQFpBAJiYgkBAVYCBQR0aGlzBQFmBAJiaQkAZAIFAmJoBQJiYgQCYmoJAJoIAgUEdGhpcwUBcAMDAwkAZwIFBmhlaWdodAUCYmkJAAACBQJiagUEdW5pdAcJAQEhAQUCYkkHBAJiUgkAZAIFAWkAAQQCYlMJAJoIAgUEdGhpcwUBZwQCYlQEAVEFAmJTAwkAAQIFAVECA0ludAQCYnYFAVEJAMwIAgkBDEludGVnZXJFbnRyeQIFAWYFAmJ2CQDMCAIJAQtEZWxldGVFbnRyeQEFAWcFA25pbAMJAAECBQFRAgRVbml0BQNuaWwJAAIBAgtNYXRjaCBlcnJvcgkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQF3AQUCYlIFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcwUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFqBQJiUgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcAUBZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAWgBBQFpBQJiYgUDbmlsBQJiVAYDAwUCYkkJAAACBQJiagUEdW5pdAcJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcAUBZQUDbmlsBgMJAAACBQJiagUEdW5pdAkAlAoCBQNuaWwHAwkAAAIFAmJqBQFkBAJiVQkAoggBBQFxBAJiVgkAoggBBQFyBAFRBQJiVQMJAAECBQFRAgRVbml0BAJiVwkAoggBCQECYXEBBQJhbgMJAAECBQJiVwIEVW5pdAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFwBQFlCQDMCAIJAQtEZWxldGVFbnRyeQEFAXEJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcgUDbmlsBgMJAAECBQJiVwIGU3RyaW5nBAJiWAUCYlcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJiWAUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAVECBlN0cmluZwQCYngFAVEEAXoJAQFYAQUCYngEAmJZBAJiVwUCYlYDCQABAgUCYlcCBFVuaXQJAKIIAQkBAmFxAQkBAmFvAQUBegMJAAECBQJiVwIGU3RyaW5nBAJiWgUCYlcEAmNhCQCiCAEJAQJhdwIJAQJhbwEFAXoFAmJaAwkAAAIFAmNhBQJjYQQCY2IJAPwHBAUEdGhpcwITcHJvY2Vzc1ZvdGVJTlRFUk5BTAkAzAgCBQJieAkAzAgCBQJiWgUDbmlsBQNuaWwDCQAAAgUCY2IFAmNiBQJjYQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC01hdGNoIGVycm9yBAJiVwUCYlkDCQABAgUCYlcCBFVuaXQEAmNjCQCiCAEJAQJhdwIFAmFuBQJieAQCY2QFAmNjAwkAAQIFAmNkAgRVbml0CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXAFAWUJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQkAzAgCCQELRGVsZXRlRW50cnkBBQFyBQNuaWwGAwkAAQIFAmNkAgZTdHJpbmcEAmFJBQJjZAkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXEFAmFJCQDMCAIJAQtEZWxldGVFbnRyeQEFAXIFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQJiVwIGU3RyaW5nBAJjZQUCYlcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFyBQJjZQUDbmlsBgkAAgECC01hdGNoIGVycm9yCQACAQILTWF0Y2ggZXJyb3IDCQAAAgUCYmoFAWUEAmJVCQCiCAEFAXEEAVEFAmJVAwkAAQIFAVECBFVuaXQEAmJXCQCiCAEJAQJhcQEFAmFuAwkAAQIFAmJXAgRVbml0BAJiSAMFAmJJCQDMCAIJAQtEZWxldGVFbnRyeQEFAXAJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdgUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEFAXAJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQF4AQUCYlEGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF0BQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQJiaAUDbmlsCQCUCgIFAmJIBgMJAAECBQJiVwIGU3RyaW5nBAJjZgUCYlcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJjZgUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAVECBlN0cmluZwQCYngFAVEEAmNjCQCiCAEJAQJhdwIFAmFuBQJieAMJAAACBQJjYwUCY2MEAmJNCgABVQkA/AcEBQR0aGlzAhNwcm9jZXNzUG9vbElOVEVSTkFMCQDMCAIFAmJ4CQDMCAIFAmJJBQNuaWwFA25pbAMJAAECBQFVAgdCb29sZWFuBQFVCQACAQkArAICCQADAQUBVQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJiTQUCYk0DBQJiTQkAlAoCBQNuaWwGBAJiVwUCY2MDCQABAgUCYlcCBFVuaXQEAmJIAwUCYkkJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcAkAzAgCCQELRGVsZXRlRW50cnkBBQF2CQDMCAIJAQtEZWxldGVFbnRyeQEFAXEFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQFwCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBeAEFAmJRBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdAUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdQUCYmgJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQUDbmlsCQCUCgIFAmJIBgMJAAECBQJiVwIGU3RyaW5nBAJjZgUCYlcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJjZgUDbmlsBgkAAgECC01hdGNoIGVycm9yCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQILTWF0Y2ggZXJyb3IJAAIBAhZmaW5hbGl6YXRpb24gaXMgYnJva2VuAmFNAQ9maW5hbGl6ZVdyYXBwZXIBAmNnBAJjaAoAAVUJAPwHBAUEdGhpcwIOZmluYWxpemVIZWxwZXIFA25pbAUDbmlsAwkAAQIFAVUCB0Jvb2xlYW4FAVUJAAIBCQCsAgIJAAMBBQFVAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAwkAAAIFAmNoBQJjaAMJAQEhAQUCY2gDCQAAAgUCY2cAAAkAAgECHkN1cnJlbnQgdm90aW5nIGlzIG5vdCBvdmVyIHlldAkAlAoCBQNuaWwFBHVuaXQEAmNpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWsFAWMDCQBmAgUCY2kFAmNnBAJjagkA/AcEBQR0aGlzAg9maW5hbGl6ZVdyYXBwZXIJAMwIAgkAZAIFAmNnAAEFA25pbAUDbmlsAwkAAAIFAmNqBQJjagkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQhmaW5hbGl6ZQAEAmNqCQD8BwQFBHRoaXMCD2ZpbmFsaXplV3JhcHBlcgkAzAgCAAAFA25pbAUDbmlsAwkAAAIFAmNqBQJjagkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BFGNvbnRhaW5zTm9kZVJFQURPTkxZAgJhcgJhdgkAlAoCBQNuaWwJAQJheAIFAmFyBQJhdgJhTQEKaW5zZXJ0Tm9kZQICYXICYXYEAmFRCQECYU4BBQJhTQMJAAACBQJhUQUCYVEJAJQKAgkBAmFCAgUCYXIFAmF2BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQpkZWxldGVOb2RlAgJhcgJhdgQCYVEJAQJhTgEFAmFNAwkAAAIFAmFRBQJhUQkAlAoCCQECYUUCBQJhcgUCYXYFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmNrAQJjbAAEAmNtBAFRCQECYUgAAwkAAQIFAVECCkJ5dGVWZWN0b3IEAmFPBQFRBQJhTwMJAAECBQFRAgRVbml0CAUCY2sPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmNrCWJvZHlCeXRlcwkAkQMCCAUCY2sGcHJvb2ZzAAAFAmNtgymnFQ==", "height": 2489390, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C6SXkLNGTKA1vfzzZVy9qK9W7MrDUyE3LgE6DEFxQS3P Next: 7dm32yV1cPE9e3ZdD3TSp1K33oSUkK7YTN4DwLjue5mU Diff:
OldNewDifferences
7777 }
7878
7979
80-func J (K,i) = makeString(["%s%s%d", "votingResultStaked", K, toString(i)], a)
81-
82-
83-func L (z,i) = {
84- let M = z
85- let B = M._1
86- let C = M._2
80+func J (z,i) = {
81+ let K = z
82+ let B = K._1
83+ let C = K._2
8784 makeString(["%s%s%s%d", "poolShare", B, C, toString(i)], a)
8885 }
8986
9087
91-func N (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
88+func L (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
9289
9390
94-func O (K,P) = makeString(["%s%s%s", "staked", P, K], a)
95-
96-
97-func Q (R) = makeString(["voting_emission.ride:", R], " ")
98-
99-
100-func S (R) = throw(Q(R))
101-
102-
103-func T (E,U,V) = {
104- let W = makeString(["mandatory ", toString(E), ".", U, " is not defined"], "")
91+func M (E,N,O) = {
92+ let P = makeString(["mandatory ", toString(E), ".", N, " is not defined"], "")
10593 valueOrErrorMessage({
106- let X = V
107- if ($isInstanceOf(X, "String"))
94+ let Q = O
95+ if ($isInstanceOf(Q, "String"))
10896 then {
109- let Y = X
110- getString(E, U)
97+ let R = Q
98+ getString(E, N)
11199 }
112- else if ($isInstanceOf(X, "Int"))
100+ else if ($isInstanceOf(Q, "Int"))
113101 then {
114- let Z = X
115- getInteger(E, U)
102+ let S = Q
103+ getInteger(E, N)
116104 }
117105 else throw("invalid entry type")
118- }, W)
106+ }, P)
119107 }
120108
121109
122-func aa (E,U) = {
123- let ab = T(E, U, "")
124- if ($isInstanceOf(ab, "String"))
125- then ab
126- else throw(($getType(ab) + " couldn't be cast to String"))
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"))
127115 }
128116
129117
130-func ac (E,U) = {
131- let ab = T(E, U, 0)
132- if ($isInstanceOf(ab, "Int"))
133- then ab
134- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
135123 }
136124
137125
138-func ad (z) = ((z._1 + a) + z._2)
126+func W (z) = ((z._1 + a) + z._2)
139127
140128
141-func ae (Y) = {
142- let af = split(Y, a)
143- if ((size(af) == 2))
144- then $Tuple2(af[0], af[1])
129+func X (R) = {
130+ let Y = split(R, a)
131+ if ((size(Y) == 2))
132+ then $Tuple2(Y[0], Y[1])
145133 else throw("invalid pool string")
146134 }
147135
148136
149-func ag (B,C) = {
150- func ah (ai) = ("%s%s%s__mappings__baseAsset2internalId__" + ai)
137+func Z (B,C) = {
138+ func aa (ab) = ("%s%s%s__mappings__baseAsset2internalId__" + ab)
151139
152- func aj (ak,al) = (((("%d%d%s%s__" + toString(ak)) + "__") + toString(al)) + "__mappings__poolAssets2PoolContract")
140+ func ac (ad,ae) = (((("%d%d%s%s__" + toString(ad)) + "__") + toString(ae)) + "__mappings__poolAssets2PoolContract")
153141
154- func am (an) = (("%s%s%s__" + an) + "__mappings__poolContract2LpAsset")
142+ func af (ag) = (("%s%s%s__" + ag) + "__mappings__poolContract2LpAsset")
155143
156- let ao = addressFromStringValue(aa(this, m))
157- let ap = ac(ao, ah(B))
158- let aq = ac(ao, ah(C))
159- let an = aa(ao, aj(ap, aq))
160- let ar = aa(ao, am(an))
161- ar
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
162150 }
163151
164152
165-func as (z) = {
166- let at = z
167- let B = at._1
168- let C = at._2
169- let ao = addressFromStringValue(aa(this, m))
170- let ab = invoke(ao, "checkWxEmissionPoolLabel", [B, C], nil)
171- if ($isInstanceOf(ab, "Boolean"))
172- then ab
173- else throw(($getType(ab) + " couldn't be cast to Boolean"))
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"))
174162 }
175163
176164
177-let au = "pools"
165+let an = "pools"
178166
179-func av (z) = {
180- let aw = z
181- let B = aw._1
182- let C = aw._2
167+func ao (z) = {
168+ let ap = z
169+ let B = ap._1
170+ let C = ap._2
183171 makeString(["votes", B, C], a)
184172 }
185173
186174
187-func ax (ay) = {
188- let az = if ((ay == au))
175+func aq (ar) = {
176+ let as = if ((ar == an))
189177 then "%s%s"
190178 else "%s%s%s%s"
191- makeString([az, ay, "head"], a)
179+ makeString([as, ar, "head"], a)
192180 }
193181
194182
195-func aA (ay) = {
196- let az = if ((ay == au))
183+func at (ar) = {
184+ let as = if ((ar == an))
197185 then "%s%s"
198186 else "%s%s%s%s"
199- makeString([az, ay, "size"], a)
187+ makeString([as, ar, "size"], a)
200188 }
201189
202190
203-func aB (ay,aC) = {
204- let az = if ((ay == au))
191+func au (ar,av) = {
192+ let as = if ((ar == an))
205193 then "%s%s%s%s"
206194 else "%s%s%s%s%s"
207- makeString([az, ay, aC, "prev"], a)
195+ makeString([as, ar, av, "prev"], a)
208196 }
209197
210198
211-func aD (ay,aC) = {
212- let az = if ((ay == au))
199+func aw (ar,av) = {
200+ let as = if ((ar == an))
213201 then "%s%s%s%s"
214202 else "%s%s%s%s%s"
215- makeString([az, ay, aC, "next"], a)
203+ makeString([as, ar, av, "next"], a)
216204 }
217205
218206
219-func aE (ay,aC) = {
220- let aF = getString(this, ax(ay))
221- let aG = getString(this, aB(ay, aC))
222- let aH = getString(this, aD(ay, aC))
223- if (if ((aC == valueOrElse(aF, "")))
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, "")))
224212 then true
225- else (aG != unit))
213+ else (az != unit))
226214 then true
227- else (aH != unit)
215+ else (aA != unit)
228216 }
229217
230218
231-func aI (ay,aC) = {
232- let aF = getString(this, ax(ay))
233- let aJ = valueOrElse(getInteger(this, aA(ay)), 0)
234- let aK = if (!(aE(ay, aC)))
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)))
235223 then true
236224 else throw("Node exists")
237- if ((aK == aK))
238- then (([IntegerEntry(aA(ay), (aJ + 1))] ++ (if ((aF != unit))
239- then [StringEntry(aD(ay, aC), value(aF)), StringEntry(aB(ay, value(aF)), aC)]
240- else nil)) ++ [StringEntry(ax(ay), aC)])
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)])
241229 else throw("Strict value is not equal to itself.")
242230 }
243231
244232
245-func aL (ay,aC) = {
246- let aF = getString(this, ax(ay))
247- let aJ = valueOrElse(getInteger(this, aA(ay)), 0)
248- let aG = getString(this, aB(ay, aC))
249- let aH = getString(this, aD(ay, aC))
250- ([IntegerEntry(aA(ay), (aJ - 1))] ++ (if (if ((aG != unit))
251- then (aH != unit)
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)
252240 else false)
253- then [StringEntry(aD(ay, value(aG)), value(aH)), StringEntry(aB(ay, value(aH)), value(aG)), DeleteEntry(aB(ay, aC)), DeleteEntry(aD(ay, aC))]
254- else if ((aH != unit))
255- then [StringEntry(ax(ay), value(aH)), DeleteEntry(aD(ay, aC)), DeleteEntry(aB(ay, value(aH)))]
256- else if ((aG != unit))
257- then [DeleteEntry(aB(ay, aC)), DeleteEntry(aD(ay, value(aG)))]
258- else if ((aC == valueOrElse(aF, "")))
259- then [DeleteEntry(ax(ay))]
260- else throw(((("invalid node: " + ay) + ".") + aC))))
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))))
261249 }
262250
263251
264-func aM () = "%s__managerPublicKey"
252+func aF () = "%s__managerPublicKey"
265253
266254
267-func aN () = "%s__pendingManagerPublicKey"
255+func aG () = "%s__pendingManagerPublicKey"
268256
269257
270-func aO () = {
271- let X = getString(aM())
272- if ($isInstanceOf(X, "String"))
258+func aH () = {
259+ let Q = getString(aF())
260+ if ($isInstanceOf(Q, "String"))
273261 then {
274- let aP = X
275- fromBase58String(aP)
262+ let aI = Q
263+ fromBase58String(aI)
276264 }
277- else if ($isInstanceOf(X, "Unit"))
265+ else if ($isInstanceOf(Q, "Unit"))
278266 then unit
279267 else throw("Match error")
280268 }
281269
282270
283-func aQ () = {
284- let X = getString(aN())
285- if ($isInstanceOf(X, "String"))
271+func aJ () = {
272+ let Q = getString(aG())
273+ if ($isInstanceOf(Q, "String"))
286274 then {
287- let aP = X
288- fromBase58String(aP)
275+ let aI = Q
276+ fromBase58String(aI)
289277 }
290- else if ($isInstanceOf(X, "Unit"))
278+ else if ($isInstanceOf(Q, "Unit"))
291279 then unit
292280 else throw("Match error")
293281 }
294282
295283
296-let aR = throw("Permission denied")
284+let aK = throw("Permission denied")
297285
298-func aS (aT) = if ((aT.caller == this))
286+func aL (aM) = if ((aM.caller == this))
299287 then true
300- else aR
288+ else aK
301289
302290
303-func aU (aT) = {
304- let X = aO()
305- if ($isInstanceOf(X, "ByteVector"))
291+func aN (aM) = {
292+ let Q = aH()
293+ if ($isInstanceOf(Q, "ByteVector"))
306294 then {
307- let aV = X
308- if ((aT.callerPublicKey == aV))
295+ let aO = Q
296+ if ((aM.callerPublicKey == aO))
309297 then true
310- else aR
298+ else aK
311299 }
312- else if ($isInstanceOf(X, "Unit"))
313- then aS(aT)
300+ else if ($isInstanceOf(Q, "Unit"))
301+ then aL(aM)
314302 else throw("Match error")
315303 }
316304
317305
318-@Callable(aT)
319-func setManager (aW) = {
320- let aX = aU(aT)
321- if ((aX == aX))
306+@Callable(aM)
307+func setManager (aP) = {
308+ let aQ = aN(aM)
309+ if ((aQ == aQ))
322310 then {
323- let aY = fromBase58String(aW)
324- if ((aY == aY))
325- then [StringEntry(aN(), aW)]
311+ let aR = fromBase58String(aP)
312+ if ((aR == aR))
313+ then [StringEntry(aG(), aP)]
326314 else throw("Strict value is not equal to itself.")
327315 }
328316 else throw("Strict value is not equal to itself.")
330318
331319
332320
333-@Callable(aT)
321+@Callable(aM)
334322 func confirmManager () = {
335- let aZ = aQ()
336- let ba = if (isDefined(aZ))
323+ let aS = aJ()
324+ let aT = if (isDefined(aS))
337325 then true
338326 else throw("No pending manager")
339- if ((ba == ba))
327+ if ((aT == aT))
340328 then {
341- let bb = if ((aT.callerPublicKey == value(aZ)))
329+ let aU = if ((aM.callerPublicKey == value(aS)))
342330 then true
343331 else throw("You are not pending manager")
344- if ((bb == bb))
345- then [StringEntry(aM(), toBase58String(value(aZ))), DeleteEntry(aN())]
332+ if ((aU == aU))
333+ then [StringEntry(aF(), toBase58String(value(aS))), DeleteEntry(aG())]
346334 else throw("Strict value is not equal to itself.")
347335 }
348336 else throw("Strict value is not equal to itself.")
350338
351339
352340
353-@Callable(aT)
354-func getUserGwxAmountAtHeight (bc,bd) = {
355- let be = valueOrErrorMessage(addressFromString(aa(this, n)), "invalid boosting contract address")
341+@Callable(aM)
342+func getUserGwxAmountAtHeight (aV,aW) = {
343+ let aX = valueOrErrorMessage(addressFromString(T(this, n)), "invalid boosting contract address")
356344 $Tuple2(nil, {
357- let ab = invoke(be, "getUserGwxAmountAtHeightREADONLY", [bc, bd], nil)
358- if ($isInstanceOf(ab, "Int"))
359- then ab
360- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
361349 })
362350 }
363351
364352
365353
366-@Callable(aT)
367-func constructor (ao,bf,bg,bh,bi) = {
368- let bj = [aU(aT), if ((addressFromString(ao) != unit))
354+@Callable(aM)
355+func constructor (ah,aY,aZ,ba,bb) = {
356+ let bc = [aN(aM), if ((addressFromString(ah) != unit))
369357 then true
370- else "invalid factory contract address", if ((addressFromString(bf) != unit))
358+ else "invalid factory contract address", if ((addressFromString(aY) != unit))
371359 then true
372- else "invalid voting emission candidate contract address", if ((addressFromString(bg) != unit))
360+ else "invalid voting emission candidate contract address", if ((addressFromString(aZ) != unit))
373361 then true
374- else "invalid boosting contract address", if ((addressFromString(bh) != unit))
362+ else "invalid boosting contract address", if ((addressFromString(ba) != unit))
375363 then true
376- else "invalid staking contract address", if ((bi > 0))
364+ else "invalid staking contract address", if ((bb > 0))
377365 then true
378366 else throw("invalid epoch length")]
379- if ((bj == bj))
380- then $Tuple2([StringEntry(m, ao), StringEntry(l, bf), StringEntry(n, bg), StringEntry(o, bh), IntegerEntry(f, bi)], unit)
367+ if ((bc == bc))
368+ then $Tuple2([StringEntry(m, ah), StringEntry(l, aY), StringEntry(n, aZ), StringEntry(o, ba), IntegerEntry(f, bb)], unit)
381369 else throw("Strict value is not equal to itself.")
382370 }
383371
384372
385373
386-@Callable(aT)
374+@Callable(aM)
387375 func create (B,C) = {
388- let bj = [if ((toBase58String(aT.caller.bytes) == valueOrElse(getString(this, l), "")))
376+ let bc = [if ((toBase58String(aM.caller.bytes) == valueOrElse(getString(this, l), "")))
389377 then true
390- else aU(aT)]
391- if ((bj == bj))
378+ else aN(aM)]
379+ if ((bc == bc))
392380 then {
393381 let z = $Tuple2(B, C)
394- let bk = ([BooleanEntry(y(z), true)] ++ aI(au, ad(z)))
395- let bl = (getInteger(this, j) == unit)
396- let bm = if (bl)
382+ let bd = ([BooleanEntry(y(z), true)] ++ aB(an, W(z)))
383+ let be = (getInteger(this, j) == unit)
384+ let bf = if (be)
397385 then {
398386 let i = 0
399387 [IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
400388 }
401389 else nil
402- $Tuple2((bk ++ bm), unit)
390+ $Tuple2((bd ++ bf), unit)
403391 }
404392 else throw("Strict value is not equal to itself.")
405393 }
406394
407395
408396
409-@Callable(aT)
410-func vote (B,C,bn) = {
397+@Callable(aM)
398+func vote (B,C,bg) = {
411399 let z = $Tuple2(B, C)
412400 let i = valueOrElse(getInteger(this, j), 0)
413- let bo = ac(this, w(i))
414- let bi = ac(this, f)
415- let bp = (bo + bi)
416- let bq = getInteger(this, p)
417- let br = valueOrElse(getInteger(this, D(aT.caller, i)), 0)
418- let bs = valueOrElse(getInteger(this, F(z, aT.caller, i)), 0)
419- let bt = valueOrElse(getInteger(this, H(z, i)), 0)
420- let bu = valueOrElse(getInteger(this, N(i)), 0)
421- let bv = {
422- let ab = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aT.caller.bytes), bp], nil)
423- if ($isInstanceOf(ab, "Int"))
424- then ab
425- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
426414 }
427- let bw = (bv - br)
428- let bx = (bs + bn)
429- let by = as(z)
430- let bj = [if ((getBoolean(y(z)) != unit))
415+ let bp = (bo - bk)
416+ let bq = (bl + bg)
417+ let br = al(z)
418+ let bc = [if ((getBoolean(y(z)) != unit))
431419 then true
432- else throw("invalid assets"), if ((bp > height))
420+ else throw("invalid assets"), if ((bi > height))
433421 then true
434- else throw("invalid height"), if ((bq == unit))
422+ else throw("invalid height"), if ((bj == unit))
435423 then true
436- else throw("finalization in progress"), if ((bv > 0))
424+ else throw("finalization in progress"), if ((bo > 0))
437425 then true
438- else throw("you do not have gWX"), if (if ((bn > 0))
439- then (bw >= bn)
426+ else throw("you do not have gWX"), if (if ((bg > 0))
427+ then (bp >= bg)
440428 else false)
441429 then true
442- else throw("invalid amount"), if (by)
430+ else throw("invalid amount"), if (br)
443431 then true
444432 else throw("pool hasn't WX_EMISSION label")]
445- if ((bj == bj))
433+ if ((bc == bc))
446434 then {
447- let bz = av(z)
448- let P = toString(aT.caller)
449- let bA = if (aE(bz, P))
435+ let bs = ao(z)
436+ let bt = toString(aM.caller)
437+ let bu = if (ax(bs, bt))
450438 then nil
451- else aI(bz, P)
452- $Tuple2(([IntegerEntry(D(aT.caller, i), (br + bn)), IntegerEntry(F(z, aT.caller, i), bx), IntegerEntry(H(z, i), (bt + bn)), IntegerEntry(N(i), (bu + bn))] ++ bA), unit)
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)
453441 }
454442 else throw("Strict value is not equal to itself.")
455443 }
456444
457445
458446
459-@Callable(aT)
447+@Callable(aM)
460448 func cancelVote (B,C) = {
461449 let z = $Tuple2(B, C)
462450 let i = valueOrElse(getInteger(this, j), 0)
463- let bo = ac(this, w(i))
464- let bi = ac(this, f)
465- let bp = (bo + bi)
466- let bq = getInteger(this, p)
467- let br = valueOrElse(getInteger(this, D(aT.caller, i)), 0)
468- let bs = valueOrElse(getInteger(this, F(z, aT.caller, i)), 0)
469- let bt = valueOrElse(getInteger(this, H(z, i)), 0)
470- let bu = valueOrElse(getInteger(this, N(i)), 0)
471- let bj = [if ((getBoolean(y(z)) != unit))
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))
472460 then true
473- else throw("invalid assets"), if ((bp > height))
461+ else throw("invalid assets"), if ((bi > height))
474462 then true
475- else throw("invalid height"), if ((bq == unit))
463+ else throw("invalid height"), if ((bj == unit))
476464 then true
477- else throw("finalization in progress"), if ((bs > 0))
465+ else throw("finalization in progress"), if ((bl > 0))
478466 then true
479467 else throw("no vote")]
480- if ((bj == bj))
468+ if ((bc == bc))
481469 then {
482- let bz = av(z)
483- let P = toString(aT.caller)
484- $Tuple2(([IntegerEntry(D(aT.caller, i), max([(br - bs), 0])), DeleteEntry(F(z, aT.caller, i)), IntegerEntry(H(z, i), (bt - bs)), IntegerEntry(N(i), (bu - bs))] ++ aL(bz, P)), unit)
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)
485473 }
486474 else throw("Strict value is not equal to itself.")
487475 }
488476
489477
490478
491-@Callable(aT)
492-func setEpochLength (bB) = {
493- let bj = [aU(aT), if ((bB > 0))
479+@Callable(aM)
480+func setEpochLength (bv) = {
481+ let bc = [aN(aM), if ((bv > 0))
494482 then true
495483 else throw("invalid epoch length")]
496- if ((bj == bj))
497- then $Tuple2([IntegerEntry(g, bB)], unit)
484+ if ((bc == bc))
485+ then $Tuple2([IntegerEntry(g, bv)], unit)
498486 else throw("Strict value is not equal to itself.")
499487 }
500488
501489
502490
503-@Callable(aT)
504-func setMaxDepth (bC) = {
505- let bj = [aU(aT), if ((bC > 0))
491+@Callable(aM)
492+func setMaxDepth (bw) = {
493+ let bc = [aN(aM), if ((bw > 0))
506494 then true
507495 else throw("invalid max depth")]
508- if ((bj == bj))
509- then $Tuple2([IntegerEntry(k, bC)], unit)
496+ if ((bc == bc))
497+ then $Tuple2([IntegerEntry(k, bw)], unit)
510498 else throw("Strict value is not equal to itself.")
511499 }
512500
513501
514502
515-@Callable(aT)
516-func processVoteINTERNAL (bD,P) = {
517- let aX = aS(aT)
518- if ((aX == aX))
503+@Callable(aM)
504+func processVoteINTERNAL (bx,bt) = {
505+ let aQ = aL(aM)
506+ if ((aQ == aQ))
519507 then {
520- let bc = valueOrErrorMessage(addressFromString(P), ("processVoteINTERNAL: invalid user address " + P))
521- let i = ac(this, j)
522- let bE = (i - 1)
523- let bi = ac(this, f)
524- let bo = ac(this, w(i))
525- let bp = (bo + bi)
526- let bF = ac(this, w(bE))
527- let bG = ac(this, h(bE))
528- let bH = (bF + bG)
529- let bI = if ((bE >= 0))
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))
530518 then true
531519 else throw("processVoteINTERNAL: invalid previous epoch")
532- if ((bI == bI))
520+ if ((bC == bC))
533521 then {
534- let z = ae(bD)
535- let bJ = z
536- let B = bJ._1
537- let C = bJ._2
538- let by = as(z)
539- let bv = {
540- let ab = invoke(this, "getUserGwxAmountAtHeight", [P, bp], nil)
541- if ($isInstanceOf(ab, "Int"))
542- then ab
543- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
544532 }
545- let bK = {
546- let ab = invoke(this, "getUserGwxAmountAtHeight", [P, bH], nil)
547- if ($isInstanceOf(ab, "Int"))
548- then ab
549- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
550538 }
551- let bu = valueOrElse(getInteger(N(i)), 0)
552- let bL = valueOrElse(getInteger(H(z, i)), 0)
553- let bM = valueOrErrorMessage(getInteger(F(z, bc, bE)), (((("processVoteINTERNAL " + bD) + " ") + P) + ": no previous vote"))
554- let br = valueOrElse(getInteger(this, D(bc, i)), 0)
555- let K = ag(B, C)
556- let bN = valueOrElse(getInteger(J(K, bE)), 0)
557- let bh = addressFromStringValue(aa(this, o))
558- let bO = valueOrElse(getInteger(bh, O(K, P)), 0)
559- let bP = if ((bO == 0))
560- then nil
561- else [IntegerEntry(J(K, bE), (bN + bM))]
562- let bx = if ((bK > 0))
563- then fraction(bM, bv, bK)
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)
564545 else 0
565- let bQ = if (if ((bx > 0))
566- then by
546+ let bH = if (if ((bq > 0))
547+ then br
567548 else false)
568- then [IntegerEntry(F(z, bc, i), bx), IntegerEntry(N(i), (bu + bx)), IntegerEntry(H(z, i), (bL + bx)), IntegerEntry(D(bc, i), (br + bx))]
569- else aL(av(z), P)
570- $Tuple2((bQ ++ bP), unit)
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)
571552 }
572553 else throw("Strict value is not equal to itself.")
573554 }
576557
577558
578559
579-@Callable(aT)
580-func processPoolINTERNAL (bD,bR) = {
581- let aX = aS(aT)
582- if ((aX == aX))
560+@Callable(aM)
561+func processPoolINTERNAL (bx,bI) = {
562+ let aQ = aL(aM)
563+ if ((aQ == aQ))
583564 then {
584- let bS = {
585- let bT = ac(this, j)
586- if (bR)
587- then bT
588- else (bT - 1)
565+ let bJ = {
566+ let bK = V(this, j)
567+ if (bI)
568+ then bK
569+ else (bK - 1)
589570 }
590- let bI = if ((bS >= 0))
571+ let bC = if ((bJ >= 0))
591572 then true
592573 else throw("processPoolINTERNAL: invalid target epoch")
593- if ((bI == bI))
574+ if ((bC == bC))
594575 then {
595- let z = ae(bD)
596- let bU = z
597- let B = bU._1
598- let C = bU._2
599- let bh = addressFromStringValue(aa(this, o))
600- let ao = addressFromStringValue(aa(this, m))
601- let ar = ag(B, C)
602- let bV = {
603- let ab = invoke(bh, "usersListTraversal", [ar], nil)
604- if ($isInstanceOf(ab, "Boolean"))
605- then ab
606- else throw(($getType(ab) + " couldn't be cast to Boolean"))
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"))
607588 }
608- if ((bV == bV))
609- then if (bV)
589+ if ((bM == bM))
590+ then if (bM)
610591 then $Tuple2(nil, true)
611592 else {
612- let by = as(z)
613- let bu = valueOrElse(getInteger(this, N(bS)), 0)
614- let bL = valueOrElse(getInteger(this, H(z, bS)), 0)
615- let bW = if (if ((bu == 0))
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))
616597 then true
617- else !(by))
598+ else !(br))
618599 then 0
619- else fraction(bL, b, bu)
620- let bX = invoke(ao, "modifyWeight", [ar, bW], nil)
621- if ((bX == bX))
600+ else fraction(bF, b, bn)
601+ let bO = invoke(ah, "modifyWeight", [ak, bN], nil)
602+ if ((bO == bO))
622603 then {
623- let bY = if (if (by)
604+ let bP = if (if (br)
624605 then true
625- else bR)
606+ else bI)
626607 then nil
627- else ([DeleteEntry(y(z))] ++ aL(au, bD))
628- $Tuple2(([IntegerEntry(L(z, bS), bW)] ++ bY), false)
608+ else ([DeleteEntry(y(z))] ++ aE(an, bx))
609+ $Tuple2(([IntegerEntry(J(z, bJ), bN)] ++ bP), false)
629610 }
630611 else throw("Strict value is not equal to itself.")
631612 }
638619
639620
640621
641-@Callable(aT)
622+@Callable(aM)
642623 func finalizeHelper () = {
643- let bR = valueOrElse(getBoolean(v), false)
624+ let bI = valueOrElse(getBoolean(v), false)
644625 let i = valueOrElse(getInteger(this, j), 0)
645- let bZ = (i - 1)
646- let bo = ac(this, w(i))
647- let bi = ac(this, f)
648- let bp = (bo + bi)
649- let bq = getInteger(this, p)
650- if (if (if ((height >= bp))
651- then (bq == unit)
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)
652633 else false)
653- then !(bR)
634+ then !(bI)
654635 else false)
655636 then {
656- let ca = (i + 1)
657- let cb = getInteger(this, g)
658- let cc = {
659- let X = cb
660- if ($isInstanceOf(X, "Int"))
637+ let bR = (i + 1)
638+ let bS = getInteger(this, g)
639+ let bT = {
640+ let Q = bS
641+ if ($isInstanceOf(Q, "Int"))
661642 then {
662- let bB = X
663-[IntegerEntry(f, bB), DeleteEntry(g)]
643+ let bv = Q
644+[IntegerEntry(f, bv), DeleteEntry(g)]
664645 }
665- else if ($isInstanceOf(X, "Unit"))
646+ else if ($isInstanceOf(Q, "Unit"))
666647 then nil
667648 else throw("Match error")
668649 }
669- $Tuple2(([IntegerEntry(w(ca), height), IntegerEntry(s, height), IntegerEntry(j, ca), IntegerEntry(p, d), IntegerEntry(h(i), bi)] ++ cc), true)
650+ $Tuple2(([IntegerEntry(w(bR), height), IntegerEntry(s, height), IntegerEntry(j, bR), IntegerEntry(p, d), IntegerEntry(h(i), bb)] ++ bT), true)
670651 }
671- else if (if (bR)
672- then (bq == unit)
652+ else if (if (bI)
653+ then (bj == unit)
673654 else false)
674655 then $Tuple2([IntegerEntry(p, e)], true)
675- else if ((bq == unit))
656+ else if ((bj == unit))
676657 then $Tuple2(nil, false)
677- else if ((bq == d))
658+ else if ((bj == d))
678659 then {
679- let cd = getString(q)
680- let ce = getString(r)
681- let X = cd
682- if ($isInstanceOf(X, "Unit"))
660+ let bU = getString(q)
661+ let bV = getString(r)
662+ let Q = bU
663+ if ($isInstanceOf(Q, "Unit"))
683664 then {
684- let cf = getString(ax(au))
685- if ($isInstanceOf(cf, "Unit"))
665+ let bW = getString(aq(an))
666+ if ($isInstanceOf(bW, "Unit"))
686667 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
687- else if ($isInstanceOf(cf, "String"))
668+ else if ($isInstanceOf(bW, "String"))
688669 then {
689- let cg = cf
690- $Tuple2([StringEntry(q, cg)], true)
670+ let bX = bW
671+ $Tuple2([StringEntry(q, bX)], true)
691672 }
692673 else throw("Match error")
693674 }
694- else if ($isInstanceOf(X, "String"))
675+ else if ($isInstanceOf(Q, "String"))
695676 then {
696- let bD = X
697- let z = ae(bD)
698- let ch = {
699- let cf = ce
700- if ($isInstanceOf(cf, "Unit"))
701- then getString(ax(av(z)))
702- else if ($isInstanceOf(cf, "String"))
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"))
703684 then {
704- let ci = cf
705- let cj = getString(aD(av(z), ci))
706- if ((cj == cj))
685+ let bZ = bW
686+ let ca = getString(aw(ao(z), bZ))
687+ if ((ca == ca))
707688 then {
708- let ck = invoke(this, "processVoteINTERNAL", [bD, ci], nil)
709- if ((ck == ck))
710- then cj
689+ let cb = invoke(this, "processVoteINTERNAL", [bx, bZ], nil)
690+ if ((cb == cb))
691+ then ca
711692 else throw("Strict value is not equal to itself.")
712693 }
713694 else throw("Strict value is not equal to itself.")
714695 }
715696 else throw("Match error")
716697 }
717- let cf = ch
718- if ($isInstanceOf(cf, "Unit"))
698+ let bW = bY
699+ if ($isInstanceOf(bW, "Unit"))
719700 then {
720- let cl = getString(aD(au, bD))
721- let cm = cl
722- if ($isInstanceOf(cm, "Unit"))
701+ let cc = getString(aw(an, bx))
702+ let cd = cc
703+ if ($isInstanceOf(cd, "Unit"))
723704 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
724- else if ($isInstanceOf(cm, "String"))
705+ else if ($isInstanceOf(cd, "String"))
725706 then {
726- let aP = cm
727- $Tuple2([StringEntry(q, aP), DeleteEntry(r)], true)
707+ let aI = cd
708+ $Tuple2([StringEntry(q, aI), DeleteEntry(r)], true)
728709 }
729710 else throw("Match error")
730711 }
731- else if ($isInstanceOf(cf, "String"))
712+ else if ($isInstanceOf(bW, "String"))
732713 then {
733- let cn = cf
734- $Tuple2([StringEntry(r, cn)], true)
714+ let ce = bW
715+ $Tuple2([StringEntry(r, ce)], true)
735716 }
736717 else throw("Match error")
737718 }
738719 else throw("Match error")
739720 }
740- else if ((bq == e))
721+ else if ((bj == e))
741722 then {
742- let cd = getString(q)
743- let X = cd
744- if ($isInstanceOf(X, "Unit"))
723+ let bU = getString(q)
724+ let Q = bU
725+ if ($isInstanceOf(Q, "Unit"))
745726 then {
746- let cf = getString(ax(au))
747- if ($isInstanceOf(cf, "Unit"))
727+ let bW = getString(aq(an))
728+ if ($isInstanceOf(bW, "Unit"))
748729 then {
749- let bQ = if (bR)
730+ let bH = if (bI)
750731 then [DeleteEntry(p), DeleteEntry(v)]
751- else [DeleteEntry(p), BooleanEntry(x(bZ), true), IntegerEntry(t, i), IntegerEntry(u, bo)]
752- $Tuple2(bQ, true)
732+ else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh)]
733+ $Tuple2(bH, true)
753734 }
754- else if ($isInstanceOf(cf, "String"))
735+ else if ($isInstanceOf(bW, "String"))
755736 then {
756- let co = cf
757- $Tuple2([StringEntry(q, co)], true)
737+ let cf = bW
738+ $Tuple2([StringEntry(q, cf)], true)
758739 }
759740 else throw("Match error")
760741 }
761- else if ($isInstanceOf(X, "String"))
742+ else if ($isInstanceOf(Q, "String"))
762743 then {
763- let bD = X
764- let cl = getString(aD(au, bD))
765- if ((cl == cl))
744+ let bx = Q
745+ let cc = getString(aw(an, bx))
746+ if ((cc == cc))
766747 then {
767- let bV = {
768- let ab = invoke(this, "processPoolINTERNAL", [bD, bR], nil)
769- if ($isInstanceOf(ab, "Boolean"))
770- then ab
771- else throw(($getType(ab) + " couldn't be cast to Boolean"))
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"))
772753 }
773- if ((bV == bV))
774- then if (bV)
754+ if ((bM == bM))
755+ then if (bM)
775756 then $Tuple2(nil, true)
776757 else {
777- let cf = cl
778- if ($isInstanceOf(cf, "Unit"))
758+ let bW = cc
759+ if ($isInstanceOf(bW, "Unit"))
779760 then {
780- let bQ = if (bR)
761+ let bH = if (bI)
781762 then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
782- else [DeleteEntry(p), BooleanEntry(x(bZ), true), IntegerEntry(t, i), IntegerEntry(u, bo), DeleteEntry(q)]
783- $Tuple2(bQ, true)
763+ else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh), DeleteEntry(q)]
764+ $Tuple2(bH, true)
784765 }
785- else if ($isInstanceOf(cf, "String"))
766+ else if ($isInstanceOf(bW, "String"))
786767 then {
787- let co = cf
788- $Tuple2([StringEntry(q, co)], true)
768+ let cf = bW
769+ $Tuple2([StringEntry(q, cf)], true)
789770 }
790771 else throw("Match error")
791772 }
800781
801782
802783
803-@Callable(aT)
804-func finalizeWrapper (cp) = {
805- let cq = {
806- let ab = invoke(this, "finalizeHelper", nil, nil)
807- if ($isInstanceOf(ab, "Boolean"))
808- then ab
809- else throw(($getType(ab) + " couldn't be cast to Boolean"))
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"))
810791 }
811- if ((cq == cq))
812- then if (!(cq))
813- then if ((cp == 0))
792+ if ((ch == ch))
793+ then if (!(ch))
794+ then if ((cg == 0))
814795 then throw("Current voting is not over yet")
815796 else $Tuple2(nil, unit)
816797 else {
817- let cr = valueOrElse(getInteger(this, k), c)
818- if ((cr > cp))
798+ let ci = valueOrElse(getInteger(this, k), c)
799+ if ((ci > cg))
819800 then {
820- let cs = invoke(this, "finalizeWrapper", [(cp + 1)], nil)
821- if ((cs == cs))
801+ let cj = invoke(this, "finalizeWrapper", [(cg + 1)], nil)
802+ if ((cj == cj))
822803 then $Tuple2(nil, unit)
823804 else throw("Strict value is not equal to itself.")
824805 }
829810
830811
831812
832-@Callable(aT)
813+@Callable(aM)
833814 func finalize () = {
834- let cs = invoke(this, "finalizeWrapper", [0], nil)
835- if ((cs == cs))
815+ let cj = invoke(this, "finalizeWrapper", [0], nil)
816+ if ((cj == cj))
836817 then $Tuple2(nil, unit)
837818 else throw("Strict value is not equal to itself.")
838819 }
839820
840821
841822
842-@Callable(aT)
843-func containsNodeREADONLY (ay,aC) = $Tuple2(nil, aE(ay, aC))
823+@Callable(aM)
824+func containsNodeREADONLY (ar,av) = $Tuple2(nil, ax(ar, av))
844825
845826
846827
847-@Callable(aT)
848-func insertNode (ay,aC) = {
849- let aX = aU(aT)
850- if ((aX == aX))
851- then $Tuple2(aI(ay, aC), unit)
828+@Callable(aM)
829+func insertNode (ar,av) = {
830+ let aQ = aN(aM)
831+ if ((aQ == aQ))
832+ then $Tuple2(aB(ar, av), unit)
852833 else throw("Strict value is not equal to itself.")
853834 }
854835
855836
856837
857-@Callable(aT)
858-func deleteNode (ay,aC) = {
859- let aX = aU(aT)
860- if ((aX == aX))
861- then $Tuple2(aL(ay, aC), unit)
838+@Callable(aM)
839+func deleteNode (ar,av) = {
840+ let aQ = aN(aM)
841+ if ((aQ == aQ))
842+ then $Tuple2(aE(ar, av), unit)
862843 else throw("Strict value is not equal to itself.")
863844 }
864845
865846
866-@Verifier(ct)
867-func cu () = {
868- let cv = {
869- let X = aO()
870- if ($isInstanceOf(X, "ByteVector"))
847+@Verifier(ck)
848+func cl () = {
849+ let cm = {
850+ let Q = aH()
851+ if ($isInstanceOf(Q, "ByteVector"))
871852 then {
872- let aV = X
873- aV
853+ let aO = Q
854+ aO
874855 }
875- else if ($isInstanceOf(X, "Unit"))
876- then ct.senderPublicKey
856+ else if ($isInstanceOf(Q, "Unit"))
857+ then ck.senderPublicKey
877858 else throw("Match error")
878859 }
879- sigVerify(ct.bodyBytes, ct.proofs[0], cv)
860+ sigVerify(ck.bodyBytes, ck.proofs[0], cm)
880861 }
881862
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
1616 let g = makeString(["%s%s", "epochLength__new"], a)
1717
1818 func h (i) = makeString(["%s%d", "epochLength", toString(i)], a)
1919
2020
2121 let j = makeString(["%s", "currentEpoch"], a)
2222
2323 let k = makeString(["%s", "maxDepth"], a)
2424
2525 let l = makeString(["%s", "votingEmissionCandidateContract"], a)
2626
2727 let m = makeString(["%s", "factoryContract"], a)
2828
2929 let n = makeString(["%s", "boostingContract"], a)
3030
3131 let o = makeString(["%s", "stakingContract"], a)
3232
3333 let p = makeString(["%s", "finalizationStage"], a)
3434
3535 let q = makeString(["%s", "nextPool"], a)
3636
3737 let r = makeString(["%s", "nextUser"], a)
3838
3939 let s = makeString(["%s", "startHeight"], a)
4040
4141 let t = makeString(["%s", "currentEpochUi"], a)
4242
4343 let u = makeString(["%s", "startHeightUi"], a)
4444
4545 let v = makeString(["%s", "force"], a)
4646
4747 func w (i) = makeString(["%s%d", "startHeight", toString(i)], a)
4848
4949
5050 func x (i) = makeString(["%s%d", "finalized", toString(i)], a)
5151
5252
5353 func y (z) = {
5454 let A = z
5555 let B = A._1
5656 let C = A._2
5757 makeString(["%s%s%s", "inList", B, C], a)
5858 }
5959
6060
6161 func D (E,i) = makeString(["%s%s%d", "used", toString(E), toString(i)], a)
6262
6363
6464 func F (z,E,i) = {
6565 let G = z
6666 let B = G._1
6767 let C = G._2
6868 makeString(["%s%s%s%s%d", "vote", B, C, toString(E), toString(i)], a)
6969 }
7070
7171
7272 func H (z,i) = {
7373 let I = z
7474 let B = I._1
7575 let C = I._2
7676 makeString(["%s%s%s%d", "votingResult", B, C, toString(i)], a)
7777 }
7878
7979
80-func J (K,i) = makeString(["%s%s%d", "votingResultStaked", K, toString(i)], a)
81-
82-
83-func L (z,i) = {
84- let M = z
85- let B = M._1
86- let C = M._2
80+func J (z,i) = {
81+ let K = z
82+ let B = K._1
83+ let C = K._2
8784 makeString(["%s%s%s%d", "poolShare", B, C, toString(i)], a)
8885 }
8986
9087
91-func N (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
88+func L (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
9289
9390
94-func O (K,P) = makeString(["%s%s%s", "staked", P, K], a)
95-
96-
97-func Q (R) = makeString(["voting_emission.ride:", R], " ")
98-
99-
100-func S (R) = throw(Q(R))
101-
102-
103-func T (E,U,V) = {
104- let W = makeString(["mandatory ", toString(E), ".", U, " is not defined"], "")
91+func M (E,N,O) = {
92+ let P = makeString(["mandatory ", toString(E), ".", N, " is not defined"], "")
10593 valueOrErrorMessage({
106- let X = V
107- if ($isInstanceOf(X, "String"))
94+ let Q = O
95+ if ($isInstanceOf(Q, "String"))
10896 then {
109- let Y = X
110- getString(E, U)
97+ let R = Q
98+ getString(E, N)
11199 }
112- else if ($isInstanceOf(X, "Int"))
100+ else if ($isInstanceOf(Q, "Int"))
113101 then {
114- let Z = X
115- getInteger(E, U)
102+ let S = Q
103+ getInteger(E, N)
116104 }
117105 else throw("invalid entry type")
118- }, W)
106+ }, P)
119107 }
120108
121109
122-func aa (E,U) = {
123- let ab = T(E, U, "")
124- if ($isInstanceOf(ab, "String"))
125- then ab
126- else throw(($getType(ab) + " couldn't be cast to String"))
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"))
127115 }
128116
129117
130-func ac (E,U) = {
131- let ab = T(E, U, 0)
132- if ($isInstanceOf(ab, "Int"))
133- then ab
134- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
135123 }
136124
137125
138-func ad (z) = ((z._1 + a) + z._2)
126+func W (z) = ((z._1 + a) + z._2)
139127
140128
141-func ae (Y) = {
142- let af = split(Y, a)
143- if ((size(af) == 2))
144- then $Tuple2(af[0], af[1])
129+func X (R) = {
130+ let Y = split(R, a)
131+ if ((size(Y) == 2))
132+ then $Tuple2(Y[0], Y[1])
145133 else throw("invalid pool string")
146134 }
147135
148136
149-func ag (B,C) = {
150- func ah (ai) = ("%s%s%s__mappings__baseAsset2internalId__" + ai)
137+func Z (B,C) = {
138+ func aa (ab) = ("%s%s%s__mappings__baseAsset2internalId__" + ab)
151139
152- func aj (ak,al) = (((("%d%d%s%s__" + toString(ak)) + "__") + toString(al)) + "__mappings__poolAssets2PoolContract")
140+ func ac (ad,ae) = (((("%d%d%s%s__" + toString(ad)) + "__") + toString(ae)) + "__mappings__poolAssets2PoolContract")
153141
154- func am (an) = (("%s%s%s__" + an) + "__mappings__poolContract2LpAsset")
142+ func af (ag) = (("%s%s%s__" + ag) + "__mappings__poolContract2LpAsset")
155143
156- let ao = addressFromStringValue(aa(this, m))
157- let ap = ac(ao, ah(B))
158- let aq = ac(ao, ah(C))
159- let an = aa(ao, aj(ap, aq))
160- let ar = aa(ao, am(an))
161- ar
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
162150 }
163151
164152
165-func as (z) = {
166- let at = z
167- let B = at._1
168- let C = at._2
169- let ao = addressFromStringValue(aa(this, m))
170- let ab = invoke(ao, "checkWxEmissionPoolLabel", [B, C], nil)
171- if ($isInstanceOf(ab, "Boolean"))
172- then ab
173- else throw(($getType(ab) + " couldn't be cast to Boolean"))
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"))
174162 }
175163
176164
177-let au = "pools"
165+let an = "pools"
178166
179-func av (z) = {
180- let aw = z
181- let B = aw._1
182- let C = aw._2
167+func ao (z) = {
168+ let ap = z
169+ let B = ap._1
170+ let C = ap._2
183171 makeString(["votes", B, C], a)
184172 }
185173
186174
187-func ax (ay) = {
188- let az = if ((ay == au))
175+func aq (ar) = {
176+ let as = if ((ar == an))
189177 then "%s%s"
190178 else "%s%s%s%s"
191- makeString([az, ay, "head"], a)
179+ makeString([as, ar, "head"], a)
192180 }
193181
194182
195-func aA (ay) = {
196- let az = if ((ay == au))
183+func at (ar) = {
184+ let as = if ((ar == an))
197185 then "%s%s"
198186 else "%s%s%s%s"
199- makeString([az, ay, "size"], a)
187+ makeString([as, ar, "size"], a)
200188 }
201189
202190
203-func aB (ay,aC) = {
204- let az = if ((ay == au))
191+func au (ar,av) = {
192+ let as = if ((ar == an))
205193 then "%s%s%s%s"
206194 else "%s%s%s%s%s"
207- makeString([az, ay, aC, "prev"], a)
195+ makeString([as, ar, av, "prev"], a)
208196 }
209197
210198
211-func aD (ay,aC) = {
212- let az = if ((ay == au))
199+func aw (ar,av) = {
200+ let as = if ((ar == an))
213201 then "%s%s%s%s"
214202 else "%s%s%s%s%s"
215- makeString([az, ay, aC, "next"], a)
203+ makeString([as, ar, av, "next"], a)
216204 }
217205
218206
219-func aE (ay,aC) = {
220- let aF = getString(this, ax(ay))
221- let aG = getString(this, aB(ay, aC))
222- let aH = getString(this, aD(ay, aC))
223- if (if ((aC == valueOrElse(aF, "")))
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, "")))
224212 then true
225- else (aG != unit))
213+ else (az != unit))
226214 then true
227- else (aH != unit)
215+ else (aA != unit)
228216 }
229217
230218
231-func aI (ay,aC) = {
232- let aF = getString(this, ax(ay))
233- let aJ = valueOrElse(getInteger(this, aA(ay)), 0)
234- let aK = if (!(aE(ay, aC)))
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)))
235223 then true
236224 else throw("Node exists")
237- if ((aK == aK))
238- then (([IntegerEntry(aA(ay), (aJ + 1))] ++ (if ((aF != unit))
239- then [StringEntry(aD(ay, aC), value(aF)), StringEntry(aB(ay, value(aF)), aC)]
240- else nil)) ++ [StringEntry(ax(ay), aC)])
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)])
241229 else throw("Strict value is not equal to itself.")
242230 }
243231
244232
245-func aL (ay,aC) = {
246- let aF = getString(this, ax(ay))
247- let aJ = valueOrElse(getInteger(this, aA(ay)), 0)
248- let aG = getString(this, aB(ay, aC))
249- let aH = getString(this, aD(ay, aC))
250- ([IntegerEntry(aA(ay), (aJ - 1))] ++ (if (if ((aG != unit))
251- then (aH != unit)
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)
252240 else false)
253- then [StringEntry(aD(ay, value(aG)), value(aH)), StringEntry(aB(ay, value(aH)), value(aG)), DeleteEntry(aB(ay, aC)), DeleteEntry(aD(ay, aC))]
254- else if ((aH != unit))
255- then [StringEntry(ax(ay), value(aH)), DeleteEntry(aD(ay, aC)), DeleteEntry(aB(ay, value(aH)))]
256- else if ((aG != unit))
257- then [DeleteEntry(aB(ay, aC)), DeleteEntry(aD(ay, value(aG)))]
258- else if ((aC == valueOrElse(aF, "")))
259- then [DeleteEntry(ax(ay))]
260- else throw(((("invalid node: " + ay) + ".") + aC))))
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))))
261249 }
262250
263251
264-func aM () = "%s__managerPublicKey"
252+func aF () = "%s__managerPublicKey"
265253
266254
267-func aN () = "%s__pendingManagerPublicKey"
255+func aG () = "%s__pendingManagerPublicKey"
268256
269257
270-func aO () = {
271- let X = getString(aM())
272- if ($isInstanceOf(X, "String"))
258+func aH () = {
259+ let Q = getString(aF())
260+ if ($isInstanceOf(Q, "String"))
273261 then {
274- let aP = X
275- fromBase58String(aP)
262+ let aI = Q
263+ fromBase58String(aI)
276264 }
277- else if ($isInstanceOf(X, "Unit"))
265+ else if ($isInstanceOf(Q, "Unit"))
278266 then unit
279267 else throw("Match error")
280268 }
281269
282270
283-func aQ () = {
284- let X = getString(aN())
285- if ($isInstanceOf(X, "String"))
271+func aJ () = {
272+ let Q = getString(aG())
273+ if ($isInstanceOf(Q, "String"))
286274 then {
287- let aP = X
288- fromBase58String(aP)
275+ let aI = Q
276+ fromBase58String(aI)
289277 }
290- else if ($isInstanceOf(X, "Unit"))
278+ else if ($isInstanceOf(Q, "Unit"))
291279 then unit
292280 else throw("Match error")
293281 }
294282
295283
296-let aR = throw("Permission denied")
284+let aK = throw("Permission denied")
297285
298-func aS (aT) = if ((aT.caller == this))
286+func aL (aM) = if ((aM.caller == this))
299287 then true
300- else aR
288+ else aK
301289
302290
303-func aU (aT) = {
304- let X = aO()
305- if ($isInstanceOf(X, "ByteVector"))
291+func aN (aM) = {
292+ let Q = aH()
293+ if ($isInstanceOf(Q, "ByteVector"))
306294 then {
307- let aV = X
308- if ((aT.callerPublicKey == aV))
295+ let aO = Q
296+ if ((aM.callerPublicKey == aO))
309297 then true
310- else aR
298+ else aK
311299 }
312- else if ($isInstanceOf(X, "Unit"))
313- then aS(aT)
300+ else if ($isInstanceOf(Q, "Unit"))
301+ then aL(aM)
314302 else throw("Match error")
315303 }
316304
317305
318-@Callable(aT)
319-func setManager (aW) = {
320- let aX = aU(aT)
321- if ((aX == aX))
306+@Callable(aM)
307+func setManager (aP) = {
308+ let aQ = aN(aM)
309+ if ((aQ == aQ))
322310 then {
323- let aY = fromBase58String(aW)
324- if ((aY == aY))
325- then [StringEntry(aN(), aW)]
311+ let aR = fromBase58String(aP)
312+ if ((aR == aR))
313+ then [StringEntry(aG(), aP)]
326314 else throw("Strict value is not equal to itself.")
327315 }
328316 else throw("Strict value is not equal to itself.")
329317 }
330318
331319
332320
333-@Callable(aT)
321+@Callable(aM)
334322 func confirmManager () = {
335- let aZ = aQ()
336- let ba = if (isDefined(aZ))
323+ let aS = aJ()
324+ let aT = if (isDefined(aS))
337325 then true
338326 else throw("No pending manager")
339- if ((ba == ba))
327+ if ((aT == aT))
340328 then {
341- let bb = if ((aT.callerPublicKey == value(aZ)))
329+ let aU = if ((aM.callerPublicKey == value(aS)))
342330 then true
343331 else throw("You are not pending manager")
344- if ((bb == bb))
345- then [StringEntry(aM(), toBase58String(value(aZ))), DeleteEntry(aN())]
332+ if ((aU == aU))
333+ then [StringEntry(aF(), toBase58String(value(aS))), DeleteEntry(aG())]
346334 else throw("Strict value is not equal to itself.")
347335 }
348336 else throw("Strict value is not equal to itself.")
349337 }
350338
351339
352340
353-@Callable(aT)
354-func getUserGwxAmountAtHeight (bc,bd) = {
355- let be = valueOrErrorMessage(addressFromString(aa(this, n)), "invalid boosting contract address")
341+@Callable(aM)
342+func getUserGwxAmountAtHeight (aV,aW) = {
343+ let aX = valueOrErrorMessage(addressFromString(T(this, n)), "invalid boosting contract address")
356344 $Tuple2(nil, {
357- let ab = invoke(be, "getUserGwxAmountAtHeightREADONLY", [bc, bd], nil)
358- if ($isInstanceOf(ab, "Int"))
359- then ab
360- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
361349 })
362350 }
363351
364352
365353
366-@Callable(aT)
367-func constructor (ao,bf,bg,bh,bi) = {
368- let bj = [aU(aT), if ((addressFromString(ao) != unit))
354+@Callable(aM)
355+func constructor (ah,aY,aZ,ba,bb) = {
356+ let bc = [aN(aM), if ((addressFromString(ah) != unit))
369357 then true
370- else "invalid factory contract address", if ((addressFromString(bf) != unit))
358+ else "invalid factory contract address", if ((addressFromString(aY) != unit))
371359 then true
372- else "invalid voting emission candidate contract address", if ((addressFromString(bg) != unit))
360+ else "invalid voting emission candidate contract address", if ((addressFromString(aZ) != unit))
373361 then true
374- else "invalid boosting contract address", if ((addressFromString(bh) != unit))
362+ else "invalid boosting contract address", if ((addressFromString(ba) != unit))
375363 then true
376- else "invalid staking contract address", if ((bi > 0))
364+ else "invalid staking contract address", if ((bb > 0))
377365 then true
378366 else throw("invalid epoch length")]
379- if ((bj == bj))
380- then $Tuple2([StringEntry(m, ao), StringEntry(l, bf), StringEntry(n, bg), StringEntry(o, bh), IntegerEntry(f, bi)], unit)
367+ if ((bc == bc))
368+ then $Tuple2([StringEntry(m, ah), StringEntry(l, aY), StringEntry(n, aZ), StringEntry(o, ba), IntegerEntry(f, bb)], unit)
381369 else throw("Strict value is not equal to itself.")
382370 }
383371
384372
385373
386-@Callable(aT)
374+@Callable(aM)
387375 func create (B,C) = {
388- let bj = [if ((toBase58String(aT.caller.bytes) == valueOrElse(getString(this, l), "")))
376+ let bc = [if ((toBase58String(aM.caller.bytes) == valueOrElse(getString(this, l), "")))
389377 then true
390- else aU(aT)]
391- if ((bj == bj))
378+ else aN(aM)]
379+ if ((bc == bc))
392380 then {
393381 let z = $Tuple2(B, C)
394- let bk = ([BooleanEntry(y(z), true)] ++ aI(au, ad(z)))
395- let bl = (getInteger(this, j) == unit)
396- let bm = if (bl)
382+ let bd = ([BooleanEntry(y(z), true)] ++ aB(an, W(z)))
383+ let be = (getInteger(this, j) == unit)
384+ let bf = if (be)
397385 then {
398386 let i = 0
399387 [IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
400388 }
401389 else nil
402- $Tuple2((bk ++ bm), unit)
390+ $Tuple2((bd ++ bf), unit)
403391 }
404392 else throw("Strict value is not equal to itself.")
405393 }
406394
407395
408396
409-@Callable(aT)
410-func vote (B,C,bn) = {
397+@Callable(aM)
398+func vote (B,C,bg) = {
411399 let z = $Tuple2(B, C)
412400 let i = valueOrElse(getInteger(this, j), 0)
413- let bo = ac(this, w(i))
414- let bi = ac(this, f)
415- let bp = (bo + bi)
416- let bq = getInteger(this, p)
417- let br = valueOrElse(getInteger(this, D(aT.caller, i)), 0)
418- let bs = valueOrElse(getInteger(this, F(z, aT.caller, i)), 0)
419- let bt = valueOrElse(getInteger(this, H(z, i)), 0)
420- let bu = valueOrElse(getInteger(this, N(i)), 0)
421- let bv = {
422- let ab = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aT.caller.bytes), bp], nil)
423- if ($isInstanceOf(ab, "Int"))
424- then ab
425- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
426414 }
427- let bw = (bv - br)
428- let bx = (bs + bn)
429- let by = as(z)
430- let bj = [if ((getBoolean(y(z)) != unit))
415+ let bp = (bo - bk)
416+ let bq = (bl + bg)
417+ let br = al(z)
418+ let bc = [if ((getBoolean(y(z)) != unit))
431419 then true
432- else throw("invalid assets"), if ((bp > height))
420+ else throw("invalid assets"), if ((bi > height))
433421 then true
434- else throw("invalid height"), if ((bq == unit))
422+ else throw("invalid height"), if ((bj == unit))
435423 then true
436- else throw("finalization in progress"), if ((bv > 0))
424+ else throw("finalization in progress"), if ((bo > 0))
437425 then true
438- else throw("you do not have gWX"), if (if ((bn > 0))
439- then (bw >= bn)
426+ else throw("you do not have gWX"), if (if ((bg > 0))
427+ then (bp >= bg)
440428 else false)
441429 then true
442- else throw("invalid amount"), if (by)
430+ else throw("invalid amount"), if (br)
443431 then true
444432 else throw("pool hasn't WX_EMISSION label")]
445- if ((bj == bj))
433+ if ((bc == bc))
446434 then {
447- let bz = av(z)
448- let P = toString(aT.caller)
449- let bA = if (aE(bz, P))
435+ let bs = ao(z)
436+ let bt = toString(aM.caller)
437+ let bu = if (ax(bs, bt))
450438 then nil
451- else aI(bz, P)
452- $Tuple2(([IntegerEntry(D(aT.caller, i), (br + bn)), IntegerEntry(F(z, aT.caller, i), bx), IntegerEntry(H(z, i), (bt + bn)), IntegerEntry(N(i), (bu + bn))] ++ bA), unit)
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)
453441 }
454442 else throw("Strict value is not equal to itself.")
455443 }
456444
457445
458446
459-@Callable(aT)
447+@Callable(aM)
460448 func cancelVote (B,C) = {
461449 let z = $Tuple2(B, C)
462450 let i = valueOrElse(getInteger(this, j), 0)
463- let bo = ac(this, w(i))
464- let bi = ac(this, f)
465- let bp = (bo + bi)
466- let bq = getInteger(this, p)
467- let br = valueOrElse(getInteger(this, D(aT.caller, i)), 0)
468- let bs = valueOrElse(getInteger(this, F(z, aT.caller, i)), 0)
469- let bt = valueOrElse(getInteger(this, H(z, i)), 0)
470- let bu = valueOrElse(getInteger(this, N(i)), 0)
471- let bj = [if ((getBoolean(y(z)) != unit))
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))
472460 then true
473- else throw("invalid assets"), if ((bp > height))
461+ else throw("invalid assets"), if ((bi > height))
474462 then true
475- else throw("invalid height"), if ((bq == unit))
463+ else throw("invalid height"), if ((bj == unit))
476464 then true
477- else throw("finalization in progress"), if ((bs > 0))
465+ else throw("finalization in progress"), if ((bl > 0))
478466 then true
479467 else throw("no vote")]
480- if ((bj == bj))
468+ if ((bc == bc))
481469 then {
482- let bz = av(z)
483- let P = toString(aT.caller)
484- $Tuple2(([IntegerEntry(D(aT.caller, i), max([(br - bs), 0])), DeleteEntry(F(z, aT.caller, i)), IntegerEntry(H(z, i), (bt - bs)), IntegerEntry(N(i), (bu - bs))] ++ aL(bz, P)), unit)
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)
485473 }
486474 else throw("Strict value is not equal to itself.")
487475 }
488476
489477
490478
491-@Callable(aT)
492-func setEpochLength (bB) = {
493- let bj = [aU(aT), if ((bB > 0))
479+@Callable(aM)
480+func setEpochLength (bv) = {
481+ let bc = [aN(aM), if ((bv > 0))
494482 then true
495483 else throw("invalid epoch length")]
496- if ((bj == bj))
497- then $Tuple2([IntegerEntry(g, bB)], unit)
484+ if ((bc == bc))
485+ then $Tuple2([IntegerEntry(g, bv)], unit)
498486 else throw("Strict value is not equal to itself.")
499487 }
500488
501489
502490
503-@Callable(aT)
504-func setMaxDepth (bC) = {
505- let bj = [aU(aT), if ((bC > 0))
491+@Callable(aM)
492+func setMaxDepth (bw) = {
493+ let bc = [aN(aM), if ((bw > 0))
506494 then true
507495 else throw("invalid max depth")]
508- if ((bj == bj))
509- then $Tuple2([IntegerEntry(k, bC)], unit)
496+ if ((bc == bc))
497+ then $Tuple2([IntegerEntry(k, bw)], unit)
510498 else throw("Strict value is not equal to itself.")
511499 }
512500
513501
514502
515-@Callable(aT)
516-func processVoteINTERNAL (bD,P) = {
517- let aX = aS(aT)
518- if ((aX == aX))
503+@Callable(aM)
504+func processVoteINTERNAL (bx,bt) = {
505+ let aQ = aL(aM)
506+ if ((aQ == aQ))
519507 then {
520- let bc = valueOrErrorMessage(addressFromString(P), ("processVoteINTERNAL: invalid user address " + P))
521- let i = ac(this, j)
522- let bE = (i - 1)
523- let bi = ac(this, f)
524- let bo = ac(this, w(i))
525- let bp = (bo + bi)
526- let bF = ac(this, w(bE))
527- let bG = ac(this, h(bE))
528- let bH = (bF + bG)
529- let bI = if ((bE >= 0))
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))
530518 then true
531519 else throw("processVoteINTERNAL: invalid previous epoch")
532- if ((bI == bI))
520+ if ((bC == bC))
533521 then {
534- let z = ae(bD)
535- let bJ = z
536- let B = bJ._1
537- let C = bJ._2
538- let by = as(z)
539- let bv = {
540- let ab = invoke(this, "getUserGwxAmountAtHeight", [P, bp], nil)
541- if ($isInstanceOf(ab, "Int"))
542- then ab
543- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
544532 }
545- let bK = {
546- let ab = invoke(this, "getUserGwxAmountAtHeight", [P, bH], nil)
547- if ($isInstanceOf(ab, "Int"))
548- then ab
549- else throw(($getType(ab) + " couldn't be cast to Int"))
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"))
550538 }
551- let bu = valueOrElse(getInteger(N(i)), 0)
552- let bL = valueOrElse(getInteger(H(z, i)), 0)
553- let bM = valueOrErrorMessage(getInteger(F(z, bc, bE)), (((("processVoteINTERNAL " + bD) + " ") + P) + ": no previous vote"))
554- let br = valueOrElse(getInteger(this, D(bc, i)), 0)
555- let K = ag(B, C)
556- let bN = valueOrElse(getInteger(J(K, bE)), 0)
557- let bh = addressFromStringValue(aa(this, o))
558- let bO = valueOrElse(getInteger(bh, O(K, P)), 0)
559- let bP = if ((bO == 0))
560- then nil
561- else [IntegerEntry(J(K, bE), (bN + bM))]
562- let bx = if ((bK > 0))
563- then fraction(bM, bv, bK)
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)
564545 else 0
565- let bQ = if (if ((bx > 0))
566- then by
546+ let bH = if (if ((bq > 0))
547+ then br
567548 else false)
568- then [IntegerEntry(F(z, bc, i), bx), IntegerEntry(N(i), (bu + bx)), IntegerEntry(H(z, i), (bL + bx)), IntegerEntry(D(bc, i), (br + bx))]
569- else aL(av(z), P)
570- $Tuple2((bQ ++ bP), unit)
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)
571552 }
572553 else throw("Strict value is not equal to itself.")
573554 }
574555 else throw("Strict value is not equal to itself.")
575556 }
576557
577558
578559
579-@Callable(aT)
580-func processPoolINTERNAL (bD,bR) = {
581- let aX = aS(aT)
582- if ((aX == aX))
560+@Callable(aM)
561+func processPoolINTERNAL (bx,bI) = {
562+ let aQ = aL(aM)
563+ if ((aQ == aQ))
583564 then {
584- let bS = {
585- let bT = ac(this, j)
586- if (bR)
587- then bT
588- else (bT - 1)
565+ let bJ = {
566+ let bK = V(this, j)
567+ if (bI)
568+ then bK
569+ else (bK - 1)
589570 }
590- let bI = if ((bS >= 0))
571+ let bC = if ((bJ >= 0))
591572 then true
592573 else throw("processPoolINTERNAL: invalid target epoch")
593- if ((bI == bI))
574+ if ((bC == bC))
594575 then {
595- let z = ae(bD)
596- let bU = z
597- let B = bU._1
598- let C = bU._2
599- let bh = addressFromStringValue(aa(this, o))
600- let ao = addressFromStringValue(aa(this, m))
601- let ar = ag(B, C)
602- let bV = {
603- let ab = invoke(bh, "usersListTraversal", [ar], nil)
604- if ($isInstanceOf(ab, "Boolean"))
605- then ab
606- else throw(($getType(ab) + " couldn't be cast to Boolean"))
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"))
607588 }
608- if ((bV == bV))
609- then if (bV)
589+ if ((bM == bM))
590+ then if (bM)
610591 then $Tuple2(nil, true)
611592 else {
612- let by = as(z)
613- let bu = valueOrElse(getInteger(this, N(bS)), 0)
614- let bL = valueOrElse(getInteger(this, H(z, bS)), 0)
615- let bW = if (if ((bu == 0))
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))
616597 then true
617- else !(by))
598+ else !(br))
618599 then 0
619- else fraction(bL, b, bu)
620- let bX = invoke(ao, "modifyWeight", [ar, bW], nil)
621- if ((bX == bX))
600+ else fraction(bF, b, bn)
601+ let bO = invoke(ah, "modifyWeight", [ak, bN], nil)
602+ if ((bO == bO))
622603 then {
623- let bY = if (if (by)
604+ let bP = if (if (br)
624605 then true
625- else bR)
606+ else bI)
626607 then nil
627- else ([DeleteEntry(y(z))] ++ aL(au, bD))
628- $Tuple2(([IntegerEntry(L(z, bS), bW)] ++ bY), false)
608+ else ([DeleteEntry(y(z))] ++ aE(an, bx))
609+ $Tuple2(([IntegerEntry(J(z, bJ), bN)] ++ bP), false)
629610 }
630611 else throw("Strict value is not equal to itself.")
631612 }
632613 else throw("Strict value is not equal to itself.")
633614 }
634615 else throw("Strict value is not equal to itself.")
635616 }
636617 else throw("Strict value is not equal to itself.")
637618 }
638619
639620
640621
641-@Callable(aT)
622+@Callable(aM)
642623 func finalizeHelper () = {
643- let bR = valueOrElse(getBoolean(v), false)
624+ let bI = valueOrElse(getBoolean(v), false)
644625 let i = valueOrElse(getInteger(this, j), 0)
645- let bZ = (i - 1)
646- let bo = ac(this, w(i))
647- let bi = ac(this, f)
648- let bp = (bo + bi)
649- let bq = getInteger(this, p)
650- if (if (if ((height >= bp))
651- then (bq == unit)
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)
652633 else false)
653- then !(bR)
634+ then !(bI)
654635 else false)
655636 then {
656- let ca = (i + 1)
657- let cb = getInteger(this, g)
658- let cc = {
659- let X = cb
660- if ($isInstanceOf(X, "Int"))
637+ let bR = (i + 1)
638+ let bS = getInteger(this, g)
639+ let bT = {
640+ let Q = bS
641+ if ($isInstanceOf(Q, "Int"))
661642 then {
662- let bB = X
663-[IntegerEntry(f, bB), DeleteEntry(g)]
643+ let bv = Q
644+[IntegerEntry(f, bv), DeleteEntry(g)]
664645 }
665- else if ($isInstanceOf(X, "Unit"))
646+ else if ($isInstanceOf(Q, "Unit"))
666647 then nil
667648 else throw("Match error")
668649 }
669- $Tuple2(([IntegerEntry(w(ca), height), IntegerEntry(s, height), IntegerEntry(j, ca), IntegerEntry(p, d), IntegerEntry(h(i), bi)] ++ cc), true)
650+ $Tuple2(([IntegerEntry(w(bR), height), IntegerEntry(s, height), IntegerEntry(j, bR), IntegerEntry(p, d), IntegerEntry(h(i), bb)] ++ bT), true)
670651 }
671- else if (if (bR)
672- then (bq == unit)
652+ else if (if (bI)
653+ then (bj == unit)
673654 else false)
674655 then $Tuple2([IntegerEntry(p, e)], true)
675- else if ((bq == unit))
656+ else if ((bj == unit))
676657 then $Tuple2(nil, false)
677- else if ((bq == d))
658+ else if ((bj == d))
678659 then {
679- let cd = getString(q)
680- let ce = getString(r)
681- let X = cd
682- if ($isInstanceOf(X, "Unit"))
660+ let bU = getString(q)
661+ let bV = getString(r)
662+ let Q = bU
663+ if ($isInstanceOf(Q, "Unit"))
683664 then {
684- let cf = getString(ax(au))
685- if ($isInstanceOf(cf, "Unit"))
665+ let bW = getString(aq(an))
666+ if ($isInstanceOf(bW, "Unit"))
686667 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
687- else if ($isInstanceOf(cf, "String"))
668+ else if ($isInstanceOf(bW, "String"))
688669 then {
689- let cg = cf
690- $Tuple2([StringEntry(q, cg)], true)
670+ let bX = bW
671+ $Tuple2([StringEntry(q, bX)], true)
691672 }
692673 else throw("Match error")
693674 }
694- else if ($isInstanceOf(X, "String"))
675+ else if ($isInstanceOf(Q, "String"))
695676 then {
696- let bD = X
697- let z = ae(bD)
698- let ch = {
699- let cf = ce
700- if ($isInstanceOf(cf, "Unit"))
701- then getString(ax(av(z)))
702- else if ($isInstanceOf(cf, "String"))
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"))
703684 then {
704- let ci = cf
705- let cj = getString(aD(av(z), ci))
706- if ((cj == cj))
685+ let bZ = bW
686+ let ca = getString(aw(ao(z), bZ))
687+ if ((ca == ca))
707688 then {
708- let ck = invoke(this, "processVoteINTERNAL", [bD, ci], nil)
709- if ((ck == ck))
710- then cj
689+ let cb = invoke(this, "processVoteINTERNAL", [bx, bZ], nil)
690+ if ((cb == cb))
691+ then ca
711692 else throw("Strict value is not equal to itself.")
712693 }
713694 else throw("Strict value is not equal to itself.")
714695 }
715696 else throw("Match error")
716697 }
717- let cf = ch
718- if ($isInstanceOf(cf, "Unit"))
698+ let bW = bY
699+ if ($isInstanceOf(bW, "Unit"))
719700 then {
720- let cl = getString(aD(au, bD))
721- let cm = cl
722- if ($isInstanceOf(cm, "Unit"))
701+ let cc = getString(aw(an, bx))
702+ let cd = cc
703+ if ($isInstanceOf(cd, "Unit"))
723704 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
724- else if ($isInstanceOf(cm, "String"))
705+ else if ($isInstanceOf(cd, "String"))
725706 then {
726- let aP = cm
727- $Tuple2([StringEntry(q, aP), DeleteEntry(r)], true)
707+ let aI = cd
708+ $Tuple2([StringEntry(q, aI), DeleteEntry(r)], true)
728709 }
729710 else throw("Match error")
730711 }
731- else if ($isInstanceOf(cf, "String"))
712+ else if ($isInstanceOf(bW, "String"))
732713 then {
733- let cn = cf
734- $Tuple2([StringEntry(r, cn)], true)
714+ let ce = bW
715+ $Tuple2([StringEntry(r, ce)], true)
735716 }
736717 else throw("Match error")
737718 }
738719 else throw("Match error")
739720 }
740- else if ((bq == e))
721+ else if ((bj == e))
741722 then {
742- let cd = getString(q)
743- let X = cd
744- if ($isInstanceOf(X, "Unit"))
723+ let bU = getString(q)
724+ let Q = bU
725+ if ($isInstanceOf(Q, "Unit"))
745726 then {
746- let cf = getString(ax(au))
747- if ($isInstanceOf(cf, "Unit"))
727+ let bW = getString(aq(an))
728+ if ($isInstanceOf(bW, "Unit"))
748729 then {
749- let bQ = if (bR)
730+ let bH = if (bI)
750731 then [DeleteEntry(p), DeleteEntry(v)]
751- else [DeleteEntry(p), BooleanEntry(x(bZ), true), IntegerEntry(t, i), IntegerEntry(u, bo)]
752- $Tuple2(bQ, true)
732+ else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh)]
733+ $Tuple2(bH, true)
753734 }
754- else if ($isInstanceOf(cf, "String"))
735+ else if ($isInstanceOf(bW, "String"))
755736 then {
756- let co = cf
757- $Tuple2([StringEntry(q, co)], true)
737+ let cf = bW
738+ $Tuple2([StringEntry(q, cf)], true)
758739 }
759740 else throw("Match error")
760741 }
761- else if ($isInstanceOf(X, "String"))
742+ else if ($isInstanceOf(Q, "String"))
762743 then {
763- let bD = X
764- let cl = getString(aD(au, bD))
765- if ((cl == cl))
744+ let bx = Q
745+ let cc = getString(aw(an, bx))
746+ if ((cc == cc))
766747 then {
767- let bV = {
768- let ab = invoke(this, "processPoolINTERNAL", [bD, bR], nil)
769- if ($isInstanceOf(ab, "Boolean"))
770- then ab
771- else throw(($getType(ab) + " couldn't be cast to Boolean"))
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"))
772753 }
773- if ((bV == bV))
774- then if (bV)
754+ if ((bM == bM))
755+ then if (bM)
775756 then $Tuple2(nil, true)
776757 else {
777- let cf = cl
778- if ($isInstanceOf(cf, "Unit"))
758+ let bW = cc
759+ if ($isInstanceOf(bW, "Unit"))
779760 then {
780- let bQ = if (bR)
761+ let bH = if (bI)
781762 then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
782- else [DeleteEntry(p), BooleanEntry(x(bZ), true), IntegerEntry(t, i), IntegerEntry(u, bo), DeleteEntry(q)]
783- $Tuple2(bQ, true)
763+ else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh), DeleteEntry(q)]
764+ $Tuple2(bH, true)
784765 }
785- else if ($isInstanceOf(cf, "String"))
766+ else if ($isInstanceOf(bW, "String"))
786767 then {
787- let co = cf
788- $Tuple2([StringEntry(q, co)], true)
768+ let cf = bW
769+ $Tuple2([StringEntry(q, cf)], true)
789770 }
790771 else throw("Match error")
791772 }
792773 else throw("Strict value is not equal to itself.")
793774 }
794775 else throw("Strict value is not equal to itself.")
795776 }
796777 else throw("Match error")
797778 }
798779 else throw("finalization is broken")
799780 }
800781
801782
802783
803-@Callable(aT)
804-func finalizeWrapper (cp) = {
805- let cq = {
806- let ab = invoke(this, "finalizeHelper", nil, nil)
807- if ($isInstanceOf(ab, "Boolean"))
808- then ab
809- else throw(($getType(ab) + " couldn't be cast to Boolean"))
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"))
810791 }
811- if ((cq == cq))
812- then if (!(cq))
813- then if ((cp == 0))
792+ if ((ch == ch))
793+ then if (!(ch))
794+ then if ((cg == 0))
814795 then throw("Current voting is not over yet")
815796 else $Tuple2(nil, unit)
816797 else {
817- let cr = valueOrElse(getInteger(this, k), c)
818- if ((cr > cp))
798+ let ci = valueOrElse(getInteger(this, k), c)
799+ if ((ci > cg))
819800 then {
820- let cs = invoke(this, "finalizeWrapper", [(cp + 1)], nil)
821- if ((cs == cs))
801+ let cj = invoke(this, "finalizeWrapper", [(cg + 1)], nil)
802+ if ((cj == cj))
822803 then $Tuple2(nil, unit)
823804 else throw("Strict value is not equal to itself.")
824805 }
825806 else $Tuple2(nil, unit)
826807 }
827808 else throw("Strict value is not equal to itself.")
828809 }
829810
830811
831812
832-@Callable(aT)
813+@Callable(aM)
833814 func finalize () = {
834- let cs = invoke(this, "finalizeWrapper", [0], nil)
835- if ((cs == cs))
815+ let cj = invoke(this, "finalizeWrapper", [0], nil)
816+ if ((cj == cj))
836817 then $Tuple2(nil, unit)
837818 else throw("Strict value is not equal to itself.")
838819 }
839820
840821
841822
842-@Callable(aT)
843-func containsNodeREADONLY (ay,aC) = $Tuple2(nil, aE(ay, aC))
823+@Callable(aM)
824+func containsNodeREADONLY (ar,av) = $Tuple2(nil, ax(ar, av))
844825
845826
846827
847-@Callable(aT)
848-func insertNode (ay,aC) = {
849- let aX = aU(aT)
850- if ((aX == aX))
851- then $Tuple2(aI(ay, aC), unit)
828+@Callable(aM)
829+func insertNode (ar,av) = {
830+ let aQ = aN(aM)
831+ if ((aQ == aQ))
832+ then $Tuple2(aB(ar, av), unit)
852833 else throw("Strict value is not equal to itself.")
853834 }
854835
855836
856837
857-@Callable(aT)
858-func deleteNode (ay,aC) = {
859- let aX = aU(aT)
860- if ((aX == aX))
861- then $Tuple2(aL(ay, aC), unit)
838+@Callable(aM)
839+func deleteNode (ar,av) = {
840+ let aQ = aN(aM)
841+ if ((aQ == aQ))
842+ then $Tuple2(aE(ar, av), unit)
862843 else throw("Strict value is not equal to itself.")
863844 }
864845
865846
866-@Verifier(ct)
867-func cu () = {
868- let cv = {
869- let X = aO()
870- if ($isInstanceOf(X, "ByteVector"))
847+@Verifier(ck)
848+func cl () = {
849+ let cm = {
850+ let Q = aH()
851+ if ($isInstanceOf(Q, "ByteVector"))
871852 then {
872- let aV = X
873- aV
853+ let aO = Q
854+ aO
874855 }
875- else if ($isInstanceOf(X, "Unit"))
876- then ct.senderPublicKey
856+ else if ($isInstanceOf(Q, "Unit"))
857+ then ck.senderPublicKey
877858 else throw("Match error")
878859 }
879- sigVerify(ct.bodyBytes, ct.proofs[0], cv)
860+ sigVerify(ck.bodyBytes, ck.proofs[0], cm)
880861 }
881862

github/deemru/w8io/169f3d6 
285.09 ms