tx · J5xk3tv5ZG3ejqi8Nb7LUtAzqNrUxLQh2U7ek9ud6Pa3

3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA:  -0.02200000 Waves

2023.02.22 16:30 [2460915] smart account 3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA > SELF 0.00000000 Waves

{ "type": 13, "id": "J5xk3tv5ZG3ejqi8Nb7LUtAzqNrUxLQh2U7ek9ud6Pa3", "fee": 2200000, "feeAssetId": null, "timestamp": 1677072632295, "version": 2, "chainId": 84, "sender": "3Mp3nG9T5fKGziHW8mcCqx3jMFx3towh3WA", "senderPublicKey": "D46gQxzmdzdCTYRg6dMcwFoUrc6ZmxF6GKd5ZoTkvzp1", "proofs": [ "28UzqVpKVegKE7BLExznp5BaifouUrggNrfy17pYJj5PZRQ6bwJ1ncGzq1WfD1f9EfDaQ5zita8JdBNzWvzaD7Db" ], "script": "base64:BgKxFAgCEgMKAQgSABIECgIIARIHCgUICAgIARIECgIICBIFCgMICAESBAoCCAgSAwoBARIDCgEBEgQKAggIEgQKAggEEgASAwoBARIAEgQKAggIEgQKAggIEgQKAggIIglzZXBhcmF0b3IiDnBvb2xXZWlnaHRNdWx0Ig9tYXhEZXB0aERlZmF1bHQiFmZpbmFsaXphdGlvblN0YWdlVG90YWwiF2ZpbmFsaXphdGlvblN0YWdlU2hhcmVzIg5rZXlFcG9jaExlbmd0aCIRa2V5RXBvY2hMZW5ndGhOZXciFWtleUVwb2NoTGVuZ3RoQnlFcG9jaCIFZXBvY2giD2tleUN1cnJlbnRFcG9jaCILa2V5TWF4RGVwdGgiImtleVZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEmtleUZhY3RvcnlDb250cmFjdCITa2V5Qm9vc3RpbmdDb250cmFjdCISa2V5U3Rha2luZ0NvbnRyYWN0IhRrZXlGaW5hbGl6YXRpb25TdGFnZSILa2V5TmV4dFBvb2wiC2tleU5leHRVc2VyIg5rZXlTdGFydEhlaWdodCIRa2V5Q3VycmVudEVwb2NoVWkiEGtleVN0YXJ0SGVpZ2h0VWkiHWtleUZpbmFsaXphdGlvblNob3VsZEJlRm9yY2VkIhVrZXlTdGFydEhlaWdodEJ5RXBvY2giDGtleUZpbmFsaXplZCIJa2V5SW5MaXN0IgRwb29sIgskdDAxNjkzMTczMyINYW1vdW50QXNzZXRJZCIMcHJpY2VBc3NldElkIgdrZXlVc2VkIgdhZGRyZXNzIgdrZXlWb3RlIgskdDAyMDA3MjA0NyIPa2V5Vm90aW5nUmVzdWx0IgskdDAyMjI5MjI2OSIMa2V5UG9vbFNoYXJlIgskdDAyNDM0MjQ3NCINa2V5VG90YWxWb3RlcyIOZ2V0VmFsdWVPckZhaWwiA2tleSIEdHlwZSIFZXJyb3IiByRtYXRjaDAiA3N0ciIDaW50IgxnZXRTdHJPckZhaWwiAUAiDGdldEludE9yRmFpbCIMcG9vbFRvU3RyaW5nIgxzdHJpbmdUb1Bvb2wiBXBhcnRzIhZnZXRMcEFzc2V0QnlQb29sQXNzZXRzIh9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkIgxiYXNlQXNzZXRTdHIiKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzIhhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIiF2ludGVybmFsUHJpY2VBc3NldElkU3RyIh9rZXlNYXBwaW5nUG9vbENvbnRyYWN0VG9MUEFzc2V0IhNwb29sQ29udHJhY3RBZGRyZXNzIg9mYWN0b3J5Q29udHJhY3QiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiCWxwQXNzZXRJZCIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsIgskdDA0NzE2NDc1NiINcG9vbHNMaXN0TmFtZSIQZ2V0Vm90ZXNMaXN0TmFtZSILJHQwNTA1NzUwOTciC2tleUxpc3RIZWFkIghsaXN0TmFtZSIEbWV0YSILa2V5TGlzdFNpemUiC2tleUxpc3RQcmV2IgJpZCILa2V5TGlzdE5leHQiDGNvbnRhaW5zTm9kZSIKaGVhZE9yVW5pdCIKcHJldk9yVW5pdCIKbmV4dE9yVW5pdCIRaW5zZXJ0Tm9kZUFjdGlvbnMiCGxpc3RTaXplIgljaGVja05vZGUiEWRlbGV0ZU5vZGVBY3Rpb25zIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIBcyIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIIbXVzdFRoaXMiAWkiC211c3RNYW5hZ2VyIgJwayIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiC2NoZWNrQ2FsbGVyIhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSILdXNlckFkZHJlc3MiDHRhcmdldEhlaWdodCIXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiD3N0YWtpbmdDb250cmFjdCILZXBvY2hMZW5ndGgiBmNoZWNrcyINaW5MaXN0QWN0aW9ucyIYY3VycmVudEVwb2NoSXNOb3REZWZpbmVkIhJzdGFydEhlaWdodEFjdGlvbnMiBmFtb3VudCILc3RhcnRIZWlnaHQiCWVuZEhlaWdodCIXZmluYWxpemF0aW9uU3RhZ2VPclVuaXQiBHVzZWQiBHZvdGUiCnBvb2xSZXN1bHQiCnRvdGFsVm90ZXMiE2d3eEFtb3VudEF0RW5kVG90YWwiCWF2YWlsYWJsZSIHbmV3Vm90ZSIKd3hFbWlzc2lvbiINdm90ZXNMaXN0TmFtZSIOdXNlckFkZHJlc3NTdHIiEHZvdGVzTGlzdEFjdGlvbnMiDm5ld0Vwb2NoTGVuZ3RoIgtuZXdNYXhEZXB0aCIHcG9vbFN0ciINZXBvY2hQcmV2aW91cyITc3RhcnRIZWlnaHRQcmV2aW91cyITZXBvY2hMZW5ndGhQcmV2aW91cyIRZW5kSGVpZ2h0UHJldmlvdXMiEGNoZWNrVGFyZ2V0RXBvY2giDSR0MDE3NTQ4MTc1ODgiG2d3eEFtb3VudEF0RW5kVG90YWxQcmV2aW91cyIMdm90aW5nUmVzdWx0Igx2b3RlUHJldmlvdXMiB2FjdGlvbnMiBWZvcmNlIgt0YXJnZXRFcG9jaCIMY3VycmVudEVwb2NoIg0kdDAxOTMxNDE5MzU0IgFyIgVzaGFyZSIPbW9kaWZ5V2VpZ2h0SW52IhBwb29sc0xpc3RBY3Rpb25zIg1wcmV2aW91c0Vwb2NoIghuZXdFcG9jaCIUbmV3RXBvY2hMZW5ndGhPcHRpb24iFW5ld0Vwb2NoTGVuZ3RoQWN0aW9ucyIKcG9vbE9yVW5pdCIKdXNlck9yVW5pdCIHJG1hdGNoMSIMcG9vbHNIZWFkU3RyIg5uZXh0VXNlck9yVW5pdCIEdXNlciIEbmV4dCIOcHJvY2Vzc1ZvdGVJbnYiDm5leHRQb29sT3JVbml0IgckbWF0Y2gyIghuZXh0VXNlciILbmV4dFBvb2xTdHIiB2NvdW50ZXIiBnJlc3VsdCIIbWF4RGVwdGgiA2ludiICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5NAABYQICX18AAWIAgMLXLwABYwAKAAFkAAAAAWUAAQABZgkAuQkCCQDMCAICAiVzCQDMCAICC2Vwb2NoTGVuZ3RoBQNuaWwFAWEAAWcJALkJAgkAzAgCAgQlcyVzCQDMCAICEGVwb2NoTGVuZ3RoX19uZXcFA25pbAUBYQEBaAEBaQkAuQkCCQDMCAICBCVzJWQJAMwIAgILZXBvY2hMZW5ndGgJAMwIAgkApAMBBQFpBQNuaWwFAWEAAWoJALkJAgkAzAgCAgIlcwkAzAgCAgxjdXJyZW50RXBvY2gFA25pbAUBYQABawkAuQkCCQDMCAICAiVzCQDMCAICCG1heERlcHRoBQNuaWwFAWEAAWwJALkJAgkAzAgCAgIlcwkAzAgCAh92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQNuaWwFAWEAAW0JALkJAgkAzAgCAgIlcwkAzAgCAg9mYWN0b3J5Q29udHJhY3QFA25pbAUBYQABbgkAuQkCCQDMCAICAiVzCQDMCAICEGJvb3N0aW5nQ29udHJhY3QFA25pbAUBYQABbwkAuQkCCQDMCAICAiVzCQDMCAICD3N0YWtpbmdDb250cmFjdAUDbmlsBQFhAAFwCQC5CQIJAMwIAgICJXMJAMwIAgIRZmluYWxpemF0aW9uU3RhZ2UFA25pbAUBYQABcQkAuQkCCQDMCAICAiVzCQDMCAICCG5leHRQb29sBQNuaWwFAWEAAXIJALkJAgkAzAgCAgIlcwkAzAgCAghuZXh0VXNlcgUDbmlsBQFhAAFzCQC5CQIJAMwIAgICJXMJAMwIAgILc3RhcnRIZWlnaHQFA25pbAUBYQABdAkAuQkCCQDMCAICAiVzCQDMCAICDmN1cnJlbnRFcG9jaFVpBQNuaWwFAWEAAXUJALkJAgkAzAgCAgIlcwkAzAgCAg1zdGFydEhlaWdodFVpBQNuaWwFAWEAAXYJALkJAgkAzAgCAgIlcwkAzAgCAgVmb3JjZQUDbmlsBQFhAQF3AQFpCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtzdGFydEhlaWdodAkAzAgCCQCkAwEFAWkFA25pbAUBYQEBeAEBaQkAuQkCCQDMCAICBCVzJWQJAMwIAgIJZmluYWxpemVkCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQF5AQF6BAFBBQF6BAFCCAUBQQJfMQQBQwgFAUECXzIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGaW5MaXN0CQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFhAQFEAgFFAWkJALkJAgkAzAgCAgYlcyVzJWQJAMwIAgIEdXNlZAkAzAgCCQClCAEFAUUJAMwIAgkApAMBBQFpBQNuaWwFAWEBAUYDAXoBRQFpBAFHBQF6BAFCCAUBRwJfMQQBQwgFAUcCXzIJALkJAgkAzAgCAgolcyVzJXMlcyVkCQDMCAICBHZvdGUJAMwIAgUBQgkAzAgCBQFDCQDMCAIJAKUIAQUBRQkAzAgCCQCkAwEFAWkFA25pbAUBYQEBSAIBegFpBAFJBQF6BAFCCAUBSQJfMQQBQwgFAUkCXzIJALkJAgkAzAgCAgglcyVzJXMlZAkAzAgCAgx2b3RpbmdSZXN1bHQJAMwIAgUBQgkAzAgCBQFDCQDMCAIJAKQDAQUBaQUDbmlsBQFhAQFKAgF6AWkEAUsFAXoEAUIIBQFLAl8xBAFDCAUBSwJfMgkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICCXBvb2xTaGFyZQkAzAgCBQFCCQDMCAIFAUMJAMwIAgkApAMBBQFpBQNuaWwFAWEBAUwBAWkJALkJAgkAzAgCAgQlcyVkCQDMCAICCnRvdGFsVm90ZXMJAMwIAgkApAMBBQFpBQNuaWwFAWEBAU0DAUUBTgFPBAFQCQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFAUUJAMwIAgIBLgkAzAgCBQFOCQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgQBUQUBTwMJAAECBQFRAgZTdHJpbmcEAVIFAVEJAJ0IAgUBRQUBTgMJAAECBQFRAgNJbnQEAVMFAVEJAJoIAgUBRQUBTgkAAgECEmludmFsaWQgZW50cnkgdHlwZQUBUAEBVAIBRQFOCgABVQkBAU0DBQFFBQFOAgADCQABAgUBVQIGU3RyaW5nBQFVCQACAQkArAICCQADAQUBVQIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nAQFWAgFFAU4KAAFVCQEBTQMFAUUFAU4AAAMJAAECBQFVAgNJbnQFAVUJAAIBCQCsAgIJAAMBBQFVAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAVcBAXoJAKwCAgkArAICCAUBegJfMQUBYQgFAXoCXzIBAVgBAVIEAVkJALUJAgUBUgUBYQMJAAACCQCQAwEFAVkAAgkAlAoCCQCRAwIFAVkAAAkAkQMCBQFZAAEJAAIBAhNpbnZhbGlkIHBvb2wgc3RyaW5nAQFaAgFCAUMKAQJhYQECYWIJAKwCAgIoJXMlcyVzX19tYXBwaW5nc19fYmFzZUFzc2V0MmludGVybmFsSWRfXwUCYWIKAQJhYwICYWQCYWUJAKwCAgkArAICCQCsAgIJAKwCAgIKJWQlZCVzJXNfXwkApAMBBQJhZAICX18JAKQDAQUCYWUCI19fbWFwcGluZ3NfX3Bvb2xBc3NldHMyUG9vbENvbnRyYWN0CgECYWYBAmFnCQCsAgIJAKwCAgIIJXMlcyVzX18FAmFnAiBfX21hcHBpbmdzX19wb29sQ29udHJhY3QyTHBBc3NldAQCYWgJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFUAgUEdGhpcwUBbQQCYWkJAQFWAgUCYWgJAQJhYQEFAUIEAmFqCQEBVgIFAmFoCQECYWEBBQFDBAJhZwkBAVQCBQJhaAkBAmFjAgUCYWkFAmFqBAJhawkBAVQCBQJhaAkBAmFmAQUCYWcFAmFrAQJhbAEBegQCYW0FAXoEAUIIBQJhbQJfMQQBQwgFAmFtAl8yBAJhaAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVQCBQR0aGlzBQFtCgABVQkA/AcEBQJhaAIYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQNuaWwDCQABAgUBVQIHQm9vbGVhbgUBVQkAAgEJAKwCAgkAAwEFAVUCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4AAmFuAgVwb29scwECYW8BAXoEAmFwBQF6BAFCCAUCYXACXzEEAUMIBQJhcAJfMgkAuQkCCQDMCAICBXZvdGVzCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFhAQJhcQECYXIEAmFzAwkAAAIFAmFyBQJhbgIEJXMlcwIIJXMlcyVzJXMJALkJAgkAzAgCBQJhcwkAzAgCBQJhcgkAzAgCAgRoZWFkBQNuaWwFAWEBAmF0AQJhcgQCYXMDCQAAAgUCYXIFAmFuAgQlcyVzAgglcyVzJXMlcwkAuQkCCQDMCAIFAmFzCQDMCAIFAmFyCQDMCAICBHNpemUFA25pbAUBYQECYXUCAmFyAmF2BAJhcwMJAAACBQJhcgUCYW4CCCVzJXMlcyVzAgolcyVzJXMlcyVzCQC5CQIJAMwIAgUCYXMJAMwIAgUCYXIJAMwIAgUCYXYJAMwIAgIEcHJldgUDbmlsBQFhAQJhdwICYXICYXYEAmFzAwkAAAIFAmFyBQJhbgIIJXMlcyVzJXMCCiVzJXMlcyVzJXMJALkJAgkAzAgCBQJhcwkAzAgCBQJhcgkAzAgCBQJhdgkAzAgCAgRuZXh0BQNuaWwFAWEBAmF4AgJhcgJhdgQCYXkJAJ0IAgUEdGhpcwkBAmFxAQUCYXIEAmF6CQCdCAIFBHRoaXMJAQJhdQIFAmFyBQJhdgQCYUEJAJ0IAgUEdGhpcwkBAmF3AgUCYXIFAmF2AwMJAAACBQJhdgkBC3ZhbHVlT3JFbHNlAgUCYXkCAAYJAQIhPQIFAmF6BQR1bml0BgkBAiE9AgUCYUEFBHVuaXQBAmFCAgJhcgJhdgQCYXkJAJ0IAgUEdGhpcwkBAmFxAQUCYXIEAmFDCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJhdAEFAmFyAAAEAmFEAwkBASEBCQECYXgCBQJhcgUCYXYGCQACAQILTm9kZSBleGlzdHMDCQAAAgUCYUQFAmFECQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmF0AQUCYXIJAGQCBQJhQwABBQNuaWwDCQECIT0CBQJheQUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYXcCBQJhcgUCYXYJAQV2YWx1ZQEFAmF5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdQIFAmFyCQEFdmFsdWUBBQJheQUCYXYFA25pbAUDbmlsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhcQEFAmFyBQJhdgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJhRQICYXICYXYEAmF5CQCdCAIFBHRoaXMJAQJhcQEFAmFyBAJhQwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYXQBBQJhcgAABAJhegkAnQgCBQR0aGlzCQECYXUCBQJhcgUCYXYEAmFBCQCdCAIFBHRoaXMJAQJhdwIFAmFyBQJhdgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYXQBBQJhcgkAZQIFAmFDAAEFA25pbAMDCQECIT0CBQJhegUEdW5pdAkBAiE9AgUCYUEFBHVuaXQHCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdwIFAmFyCQEFdmFsdWUBBQJhegkBBXZhbHVlAQUCYUEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF1AgUCYXIJAQV2YWx1ZQEFAmFBCQEFdmFsdWUBBQJhegkAzAgCCQELRGVsZXRlRW50cnkBCQECYXUCBQJhcgUCYXYJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF3AgUCYXIFAmF2BQNuaWwDCQECIT0CBQJhQQUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQECYXEBBQJhcgkBBXZhbHVlAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF3AgUCYXIFAmF2CQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhdQIFAmFyCQEFdmFsdWUBBQJhQQUDbmlsAwkBAiE9AgUCYXoFBHVuaXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF1AgUCYXIFAmF2CQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhdwIFAmFyCQEFdmFsdWUBBQJhegUDbmlsAwkAAAIFAmF2CQELdmFsdWVPckVsc2UCBQJheQIACQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhcQEFAmFyBQNuaWwJAAIBCQCsAgIJAKwCAgkArAICAg5pbnZhbGlkIG5vZGU6IAUCYXICAS4FAmF2AQJhRgACFCVzX19tYW5hZ2VyUHVibGljS2V5AQJhRwACGyVzX19wZW5kaW5nTWFuYWdlclB1YmxpY0tleQECYUgABAFRCQCiCAEJAQJhRgADCQABAgUBUQIGU3RyaW5nBAJhSQUBUQkA2QQBBQJhSQMJAAECBQFRAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmFKAAQBUQkAoggBCQECYUcAAwkAAQIFAVECBlN0cmluZwQCYUkFAVEJANkEAQUCYUkDCQABAgUBUQIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAAJhSwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAQJhTAECYU0DCQAAAggFAmFNBmNhbGxlcgUEdGhpcwYFAmFLAQJhTgECYU0EAVEJAQJhSAADCQABAgUBUQIKQnl0ZVZlY3RvcgQCYU8FAVEDCQAAAggFAmFND2NhbGxlclB1YmxpY0tleQUCYU8GBQJhSwMJAAECBQFRAgRVbml0CQECYUwBBQJhTQkAAgECC01hdGNoIGVycm9yEQJhTQEKc2V0TWFuYWdlcgECYVAEAmFRCQECYU4BBQJhTQMJAAACBQJhUQUCYVEEAmFSCQDZBAEFAmFQAwkAAAIFAmFSBQJhUgkAzAgCCQELU3RyaW5nRW50cnkCCQECYUcABQJhUAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQ5jb25maXJtTWFuYWdlcgAEAmFTCQECYUoABAJhVAMJAQlpc0RlZmluZWQBBQJhUwYJAAIBAhJObyBwZW5kaW5nIG1hbmFnZXIDCQAAAgUCYVQFAmFUBAJhVQMJAAACCAUCYU0PY2FsbGVyUHVibGljS2V5CQEFdmFsdWUBBQJhUwYJAAIBAhtZb3UgYXJlIG5vdCBwZW5kaW5nIG1hbmFnZXIDCQAAAgUCYVUFAmFVCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhRgAJANgEAQkBBXZhbHVlAQUCYVMJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFHAAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNARhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQCAmFWAmFXBAJhWAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAQFUAgUEdGhpcwUBbgIhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQCUCgIFA25pbAoAAVUJAPwHBAUCYVgCIGdldFVzZXJHd3hBbW91bnRBdEhlaWdodFJFQURPTkxZCQDMCAIFAmFWCQDMCAIFAmFXBQNuaWwFA25pbAMJAAECBQFVAgNJbnQFAVUJAAIBCQCsAgIJAAMBBQFVAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQCYU0BC2NvbnN0cnVjdG9yBQJhaAJhWQJhWgJiYQJiYgQCYmMJAMwIAgkBAmFOAQUCYU0JAMwIAgMJAQIhPQIJAKYIAQUCYWgFBHVuaXQGAiBpbnZhbGlkIGZhY3RvcnkgY29udHJhY3QgYWRkcmVzcwkAzAgCAwkBAiE9AgkApggBBQJhWQUEdW5pdAYCMmludmFsaWQgdm90aW5nIGVtaXNzaW9uIGNhbmRpZGF0ZSBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmFaBQR1bml0BgIhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQDMCAIDCQECIT0CCQCmCAEFAmJhBQR1bml0BgIgaW52YWxpZCBzdGFraW5nIGNvbnRyYWN0IGFkZHJlc3MJAMwIAgMJAGYCBQJiYgAABgkAAgECFGludmFsaWQgZXBvY2ggbGVuZ3RoBQNuaWwDCQAAAgUCYmMFAmJjCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbQUCYWgJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbAUCYVkJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbgUCYVoJAMwIAgkBC1N0cmluZ0VudHJ5AgUBbwUCYmEJAMwIAgkBDEludGVnZXJFbnRyeQIFAWYFAmJiBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BBmNyZWF0ZQIBQgFDBAJiYwkAzAgCAwkAAAIJANgEAQgIBQJhTQZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUBbAIABgkBAmFOAQUCYU0FA25pbAMJAAACBQJiYwUCYmMEAXoJAJQKAgUBQgUBQwQCYmQJAM4IAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBAXkBBQF6BgUDbmlsCQECYUICBQJhbgkBAVcBBQF6BAJiZQkAAAIJAJoIAgUEdGhpcwUBagUEdW5pdAQCYmYDBQJiZQQBaQAACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFqBQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBdwEFAWkFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcwUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF0BQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQZoZWlnaHQFA25pbAUDbmlsCQCUCgIJAM4IAgUCYmQFAmJmBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQR2b3RlAwFCAUMCYmcEAXoJAJQKAgUBQgUBQwQBaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFqAAAEAmJoCQEBVgIFBHRoaXMJAQF3AQUBaQQCYmIJAQFWAgUEdGhpcwUBZgQCYmkJAGQCBQJiaAUCYmIEAmJqCQCaCAIFBHRoaXMFAXAEAmJrCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFEAggFAmFNBmNhbGxlcgUBaQAABAJibAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBRgMFAXoIBQJhTQZjYWxsZXIFAWkAAAQCYm0JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUgCBQF6BQFpAAAEAmJuCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFMAQUBaQAABAJibwoAAVUJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIJANgEAQgIBQJhTQZjYWxsZXIFYnl0ZXMJAMwIAgUCYmkFA25pbAUDbmlsAwkAAQIFAVUCA0ludAUBVQkAAgEJAKwCAgkAAwEFAVUCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYnAJAGUCBQJibwUCYmsEAmJxCQBkAgUCYmwFAmJnBAJicgkBAmFsAQUBegQCYmMJAMwIAgMJAQIhPQIJAKAIAQkBAXkBBQF6BQR1bml0BgkAAgECDmludmFsaWQgYXNzZXRzCQDMCAIDCQBmAgUCYmkFBmhlaWdodAYJAAIBAg5pbnZhbGlkIGhlaWdodAkAzAgCAwkAAAIFAmJqBQR1bml0BgkAAgECGGZpbmFsaXphdGlvbiBpbiBwcm9ncmVzcwkAzAgCAwkAZgIFAmJvAAAGCQACAQITeW91IGRvIG5vdCBoYXZlIGdXWAkAzAgCAwMJAGYCBQJiZwAACQBnAgUCYnAFAmJnBwYJAAIBAg5pbnZhbGlkIGFtb3VudAkAzAgCAwUCYnIGCQACAQIdcG9vbCBoYXNuJ3QgV1hfRU1JU1NJT04gbGFiZWwFA25pbAMJAAACBQJiYwUCYmMEAmJzCQECYW8BBQF6BAJidAkApQgBCAUCYU0GY2FsbGVyBAJidQMJAQJheAIFAmJzBQJidAUDbmlsCQECYUICBQJicwUCYnQJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRAIIBQJhTQZjYWxsZXIFAWkJAGQCBQJiawUCYmcJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFGAwUBeggFAmFNBmNhbGxlcgUBaQUCYnEJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFIAgUBegUBaQkAZAIFAmJtBQJiZwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUwBBQFpCQBkAgUCYm4FAmJnBQNuaWwFAmJ1BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQpjYW5jZWxWb3RlAgFCAUMEAXoJAJQKAgUBQgUBQwQBaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQFqAAAEAmJoCQEBVgIFBHRoaXMJAQF3AQUBaQQCYmIJAQFWAgUEdGhpcwUBZgQCYmkJAGQCBQJiaAUCYmIEAmJqCQCaCAIFBHRoaXMFAXAEAmJrCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFEAggFAmFNBmNhbGxlcgUBaQAABAJibAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBRgMFAXoIBQJhTQZjYWxsZXIFAWkAAAQCYm0JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUgCBQF6BQFpAAAEAmJuCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFMAQUBaQAABAJiYwkAzAgCAwkBAiE9AgkAoAgBCQEBeQEFAXoFBHVuaXQGCQACAQIOaW52YWxpZCBhc3NldHMJAMwIAgMJAGYCBQJiaQUGaGVpZ2h0BgkAAgECDmludmFsaWQgaGVpZ2h0CQDMCAIDCQAAAgUCYmoFBHVuaXQGCQACAQIYZmluYWxpemF0aW9uIGluIHByb2dyZXNzCQDMCAIDCQBmAgUCYmwAAAYJAAIBAgdubyB2b3RlBQNuaWwDCQAAAgUCYmMFAmJjBAJicwkBAmFvAQUBegQCYnQJAKUIAQgFAmFNBmNhbGxlcgkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFEAggFAmFNBmNhbGxlcgUBaQkAlgMBCQDMCAIJAGUCBQJiawUCYmwJAMwIAgAABQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAUYDBQF6CAUCYU0GY2FsbGVyBQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSAIFAXoFAWkJAGUCBQJibQUCYmwJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFMAQUBaQkAZQIFAmJuBQJibAUDbmlsCQECYUUCBQJicwUCYnQFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BDnNldEVwb2NoTGVuZ3RoAQJidgQCYmMJAMwIAgkBAmFOAQUCYU0JAMwIAgMJAGYCBQJidgAABgkAAgECFGludmFsaWQgZXBvY2ggbGVuZ3RoBQNuaWwDCQAAAgUCYmMFAmJjCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAWcFAmJ2BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BC3NldE1heERlcHRoAQJidwQCYmMJAMwIAgkBAmFOAQUCYU0JAMwIAgMJAGYCBQJidwAABgkAAgECEWludmFsaWQgbWF4IGRlcHRoBQNuaWwDCQAAAgUCYmMFAmJjCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAWsFAmJ3BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BE3Byb2Nlc3NWb3RlSU5URVJOQUwCAmJ4AmJ0BAJhUQkBAmFMAQUCYU0DCQAAAgUCYVEFAmFRBAJhVgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEFAmJ0CQCsAgICKnByb2Nlc3NWb3RlSU5URVJOQUw6IGludmFsaWQgdXNlciBhZGRyZXNzIAUCYnQEAWkJAQFWAgUEdGhpcwUBagQCYnkJAGUCBQFpAAEEAmJiCQEBVgIFBHRoaXMFAWYEAmJoCQEBVgIFBHRoaXMJAQF3AQUBaQQCYmkJAGQCBQJiaAUCYmIEAmJ6CQEBVgIFBHRoaXMJAQF3AQUCYnkEAmJBCQEBVgIFBHRoaXMJAQFoAQUCYnkEAmJCCQBkAgUCYnoFAmJBBAJiQwMJAGcCBQJieQAABgkAAgECK3Byb2Nlc3NWb3RlSU5URVJOQUw6IGludmFsaWQgcHJldmlvdXMgZXBvY2gDCQAAAgUCYkMFAmJDBAF6CQEBWAEFAmJ4BAJiRAUBegQBQggFAmJEAl8xBAFDCAUCYkQCXzIEAmJyCQECYWwBBQF6BAJibwoAAVUJAPwHBAUEdGhpcwIYZ2V0VXNlckd3eEFtb3VudEF0SGVpZ2h0CQDMCAIFAmJ0CQDMCAIFAmJpBQNuaWwFA25pbAMJAAECBQFVAgNJbnQFAVUJAAIBCQCsAgIJAAMBBQFVAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQEAmJFCgABVQkA/AcEBQR0aGlzAhhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQJAMwIAgUCYnQJAMwIAgUCYkIFA25pbAUDbmlsAwkAAQIFAVUCA0ludAUBVQkAAgEJAKwCAgkAAwEFAVUCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYm4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAUwBBQFpAAAEAmJGCQELdmFsdWVPckVsc2UCCQCfCAEJAQFIAgUBegUBaQAABAJiRwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJAQFGAwUBegUCYVYFAmJ5CQCsAgIJAKwCAgkArAICCQCsAgICFHByb2Nlc3NWb3RlSU5URVJOQUwgBQJieAIBIAUCYnQCEjogbm8gcHJldmlvdXMgdm90ZQQCYmsJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUQCBQJhVgUBaQAABAJicQMJAGYCBQJiRQAACQBrAwUCYkcFAmJvBQJiRQAABAJiSAMDCQBmAgUCYnEAAAUCYnIHCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBRgMFAXoFAmFWBQFpBQJicQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAUwBBQFpCQBkAgUCYm4FAmJxCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSAIFAXoFAWkJAGQCBQJiRgUCYnEJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFEAgUCYVYFAWkJAGQCBQJiawUCYnEFA25pbAkBAmFFAgkBAmFvAQUBegUCYnQJAJQKAgUCYkgFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BE3Byb2Nlc3NQb29sSU5URVJOQUwCAmJ4AmJJBAJhUQkBAmFMAQUCYU0DCQAAAgUCYVEFAmFRBAJiSgQCYksJAQFWAgUEdGhpcwUBagMFAmJJBQJiSwkAZQIFAmJLAAEEAmJDAwkAZwIFAmJKAAAGCQACAQIpcHJvY2Vzc1Bvb2xJTlRFUk5BTDogaW52YWxpZCB0YXJnZXQgZXBvY2gDCQAAAgUCYkMFAmJDBAF6CQEBWAEFAmJ4BAJiTAUBegQBQggFAmJMAl8xBAFDCAUCYkwCXzIEAmJhCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBVAIFBHRoaXMFAW8EAmFoCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBVAIFBHRoaXMFAW0EAmFrCQEBWgIFAUIFAUMEAmJNCgABVQkA/AcEBQJiYQISdXNlcnNMaXN0VHJhdmVyc2FsCQDMCAIFAmFrBQNuaWwFA25pbAMJAAECBQFVAgdCb29sZWFuBQFVCQACAQkArAICCQADAQUBVQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJiTQUCYk0DBQJiTQkAlAoCBQNuaWwGBAJicgkBAmFsAQUBegQCYm4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAUwBBQJiSgAABAJiRgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBSAIFAXoFAmJKAAAEAmJOAwMJAAACBQJibgAABgkBASEBBQJicgAACQBrAwUCYkYFAWIFAmJuBAJiTwkA/AcEBQJhaAIMbW9kaWZ5V2VpZ2h0CQDMCAIFAmFrCQDMCAIFAmJOBQNuaWwFA25pbAMJAAACBQJiTwUCYk8EAmJQAwMFAmJyBgUCYkkFA25pbAkAzggCCQDMCAIJAQtEZWxldGVFbnRyeQEJAQF5AQUBegUDbmlsCQECYUUCBQJhbgUCYngJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSgIFAXoFAmJKBQJiTgUDbmlsBQJiUAcJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BDmZpbmFsaXplSGVscGVyAAQCYkkJAQt2YWx1ZU9yRWxzZQIJAKAIAQUBdgcEAWkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUBagAABAJiUQkAZQIFAWkAAQQCYmgJAQFWAgUEdGhpcwkBAXcBBQFpBAJiYgkBAVYCBQR0aGlzBQFmBAJiaQkAZAIFAmJoBQJiYgQCYmoJAJoIAgUEdGhpcwUBcAMDAwkAZwIFBmhlaWdodAUCYmkJAAACBQJiagUEdW5pdAcJAQEhAQUCYkkHBAJiUgkAZAIFAWkAAQQCYlMJAJoIAgUEdGhpcwUBZwQCYlQEAVEFAmJTAwkAAQIFAVECA0ludAQCYnYFAVEJAMwIAgkBDEludGVnZXJFbnRyeQIFAWYFAmJ2CQDMCAIJAQtEZWxldGVFbnRyeQEFAWcFA25pbAMJAAECBQFRAgRVbml0BQNuaWwJAAIBAgtNYXRjaCBlcnJvcgkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQF3AQUCYlIFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcwUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFqBQJiUgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcAUBZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAWgBBQFpBQJiYgUDbmlsBQJiVAYDAwUCYkkJAAACBQJiagUEdW5pdAcJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBcAUBZQUDbmlsBgMJAAACBQJiagUEdW5pdAkAlAoCBQNuaWwHAwkAAAIFAmJqBQFkBAJiVQkAoggBBQFxBAJiVgkAoggBBQFyBAFRBQJiVQMJAAECBQFRAgRVbml0BAJiVwkAoggBCQECYXEBBQJhbgMJAAECBQJiVwIEVW5pdAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQFwBQFlCQDMCAIJAQtEZWxldGVFbnRyeQEFAXEJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcgUDbmlsBgMJAAECBQJiVwIGU3RyaW5nBAJiWAUCYlcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJiWAUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAVECBlN0cmluZwQCYngFAVEEAXoJAQFYAQUCYngEAmJZBAJiVwUCYlYDCQABAgUCYlcCBFVuaXQJAKIIAQkBAmFxAQkBAmFvAQUBegMJAAECBQJiVwIGU3RyaW5nBAJiWgUCYlcEAmNhCQCiCAEJAQJhdwIJAQJhbwEFAXoFAmJaAwkAAAIFAmNhBQJjYQQCY2IJAPwHBAUEdGhpcwITcHJvY2Vzc1ZvdGVJTlRFUk5BTAkAzAgCBQJieAkAzAgCBQJiWgUDbmlsBQNuaWwDCQAAAgUCY2IFAmNiBQJjYQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC01hdGNoIGVycm9yBAJiVwUCYlkDCQABAgUCYlcCBFVuaXQEAmNjCQCiCAEJAQJhdwIFAmFuBQJieAQCY2QFAmNjAwkAAQIFAmNkAgRVbml0CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFAXAFAWUJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQkAzAgCCQELRGVsZXRlRW50cnkBBQFyBQNuaWwGAwkAAQIFAmNkAgZTdHJpbmcEAmFJBQJjZAkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFAXEFAmFJCQDMCAIJAQtEZWxldGVFbnRyeQEFAXIFA25pbAYJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQJiVwIGU3RyaW5nBAJjZQUCYlcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFyBQJjZQUDbmlsBgkAAgECC01hdGNoIGVycm9yCQACAQILTWF0Y2ggZXJyb3IDCQAAAgUCYmoFAWUEAmJVCQCiCAEFAXEEAVEFAmJVAwkAAQIFAVECBFVuaXQEAmJXCQCiCAEJAQJhcQEFAmFuAwkAAQIFAmJXAgRVbml0BAJiSAMFAmJJCQDMCAIJAQtEZWxldGVFbnRyeQEFAXAJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBdgUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEFAXAJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQF4AQUCYlEGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF0BQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQF1BQJiaAUDbmlsCQCUCgIFAmJIBgMJAAECBQJiVwIGU3RyaW5nBAJjZgUCYlcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJjZgUDbmlsBgkAAgECC01hdGNoIGVycm9yAwkAAQIFAVECBlN0cmluZwQCYngFAVEEAmNjCQCiCAEJAQJhdwIFAmFuBQJieAMJAAACBQJjYwUCY2MEAmJNCgABVQkA/AcEBQR0aGlzAhNwcm9jZXNzUG9vbElOVEVSTkFMCQDMCAIFAmJ4CQDMCAIFAmJJBQNuaWwFA25pbAMJAAECBQFVAgdCb29sZWFuBQFVCQACAQkArAICCQADAQUBVQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgMJAAACBQJiTQUCYk0DBQJiTQkAlAoCBQNuaWwGBAJiVwUCY2MDCQABAgUCYlcCBFVuaXQEAmJIAwUCYkkJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcAkAzAgCCQELRGVsZXRlRW50cnkBBQF2CQDMCAIJAQtEZWxldGVFbnRyeQEFAXEFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQFwCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBeAEFAmJRBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdAUBaQkAzAgCCQEMSW50ZWdlckVudHJ5AgUBdQUCYmgJAMwIAgkBC0RlbGV0ZUVudHJ5AQUBcQUDbmlsCQCUCgIFAmJIBgMJAAECBQJiVwIGU3RyaW5nBAJjZgUCYlcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQFxBQJjZgUDbmlsBgkAAgECC01hdGNoIGVycm9yCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQILTWF0Y2ggZXJyb3IJAAIBAhZmaW5hbGl6YXRpb24gaXMgYnJva2VuAmFNAQ9maW5hbGl6ZVdyYXBwZXIBAmNnBAJjaAoAAVUJAPwHBAUEdGhpcwIOZmluYWxpemVIZWxwZXIFA25pbAUDbmlsAwkAAQIFAVUCB0Jvb2xlYW4FAVUJAAIBCQCsAgIJAAMBBQFVAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuAwkAAAIFAmNoBQJjaAMJAQEhAQUCY2gDCQAAAgUCY2cAAAkAAgECHkN1cnJlbnQgdm90aW5nIGlzIG5vdCBvdmVyIHlldAkAlAoCBQNuaWwFBHVuaXQEAmNpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAWsFAWMDCQBmAgUCY2kFAmNnBAJjagkA/AcEBQR0aGlzAg9maW5hbGl6ZVdyYXBwZXIJAMwIAgkAZAIFAmNnAAEFA25pbAUDbmlsAwkAAAIFAmNqBQJjagkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQhmaW5hbGl6ZQAEAmNqCQD8BwQFBHRoaXMCD2ZpbmFsaXplV3JhcHBlcgkAzAgCAAAFA25pbAUDbmlsAwkAAAIFAmNqBQJjagkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYU0BFGNvbnRhaW5zTm9kZVJFQURPTkxZAgJhcgJhdgkAlAoCBQNuaWwJAQJheAIFAmFyBQJhdgJhTQEKaW5zZXJ0Tm9kZQICYXICYXYEAmFRCQECYU4BBQJhTQMJAAACBQJhUQUCYVEJAJQKAgkBAmFCAgUCYXIFAmF2BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFNAQpkZWxldGVOb2RlAgJhcgJhdgQCYVEJAQJhTgEFAmFNAwkAAAIFAmFRBQJhUQkAlAoCCQECYUUCBQJhcgUCYXYFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmNrAQJjbAAEAmNtBAFRCQECYUgAAwkAAQIFAVECCkJ5dGVWZWN0b3IEAmFPBQFRBQJhTwMJAAECBQFRAgRVbml0CAUCY2sPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmNrCWJvZHlCeXRlcwkAkQMCCAUCY2sGcHJvb2ZzAAAFAmNtgymnFQ==", "height": 2460915, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9wNALryRHbvVdvYgPVX7w4vGaoXZQLuQt8cmdKQu1BjK Next: G69cBD6mnqUvtQv7x1MefQPAEzUQs1WqVk9UUc5gCHkd Diff:
OldNewDifferences
8888 func L (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
8989
9090
91-func M (N) = makeString(["voting_emission.ride:", N], " ")
92-
93-
94-func O (N) = throw(M(N))
95-
96-
97-func P (E,Q,R) = {
98- let S = makeString(["mandatory ", toString(E), ".", Q, " is not defined"], "")
91+func M (E,N,O) = {
92+ let P = makeString(["mandatory ", toString(E), ".", N, " is not defined"], "")
9993 valueOrErrorMessage({
100- let T = R
101- if ($isInstanceOf(T, "String"))
94+ let Q = O
95+ if ($isInstanceOf(Q, "String"))
10296 then {
103- let U = T
104- getString(E, Q)
97+ let R = Q
98+ getString(E, N)
10599 }
106- else if ($isInstanceOf(T, "Int"))
100+ else if ($isInstanceOf(Q, "Int"))
107101 then {
108- let V = T
109- getInteger(E, Q)
102+ let S = Q
103+ getInteger(E, N)
110104 }
111105 else throw("invalid entry type")
112- }, S)
106+ }, P)
113107 }
114108
115109
116-func W (E,Q) = {
117- let X = P(E, Q, "")
118- if ($isInstanceOf(X, "String"))
119- then X
120- else throw(($getType(X) + " 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"))
121115 }
122116
123117
124-func Y (E,Q) = {
125- let X = P(E, Q, 0)
126- if ($isInstanceOf(X, "Int"))
127- then X
128- else throw(($getType(X) + " 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"))
129123 }
130124
131125
132-func Z (z) = ((z._1 + a) + z._2)
126+func W (z) = ((z._1 + a) + z._2)
133127
134128
135-func aa (U) = {
136- let ab = split(U, a)
137- if ((size(ab) == 2))
138- then $Tuple2(ab[0], ab[1])
129+func X (R) = {
130+ let Y = split(R, a)
131+ if ((size(Y) == 2))
132+ then $Tuple2(Y[0], Y[1])
139133 else throw("invalid pool string")
140134 }
141135
142136
143-func ac (B,C) = {
144- func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
137+func Z (B,C) = {
138+ func aa (ab) = ("%s%s%s__mappings__baseAsset2internalId__" + ab)
145139
146- func af (ag,ah) = (((("%d%d%s%s__" + toString(ag)) + "__") + toString(ah)) + "__mappings__poolAssets2PoolContract")
140+ func ac (ad,ae) = (((("%d%d%s%s__" + toString(ad)) + "__") + toString(ae)) + "__mappings__poolAssets2PoolContract")
147141
148- func ai (aj) = (("%s%s%s__" + aj) + "__mappings__poolContract2LpAsset")
142+ func af (ag) = (("%s%s%s__" + ag) + "__mappings__poolContract2LpAsset")
149143
150- let ak = addressFromStringValue(W(this, m))
151- let al = Y(ak, ad(B))
152- let am = Y(ak, ad(C))
153- let aj = W(ak, af(al, am))
154- let an = W(ak, ai(aj))
155- an
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
156150 }
157151
152+
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"))
162+ }
163+
164+
165+let an = "pools"
158166
159167 func ao (z) = {
160168 let ap = z
161169 let B = ap._1
162170 let C = ap._2
163- let ak = addressFromStringValue(W(this, m))
164- let X = invoke(ak, "checkWxEmissionPoolLabel", [B, C], nil)
165- if ($isInstanceOf(X, "Boolean"))
166- then X
167- else throw(($getType(X) + " couldn't be cast to Boolean"))
168- }
169-
170-
171-let aq = "pools"
172-
173-func ar (z) = {
174- let as = z
175- let B = as._1
176- let C = as._2
177171 makeString(["votes", B, C], a)
178172 }
179173
180174
181-func at (au) = {
182- let av = if ((au == aq))
175+func aq (ar) = {
176+ let as = if ((ar == an))
183177 then "%s%s"
184178 else "%s%s%s%s"
185- makeString([av, au, "head"], a)
179+ makeString([as, ar, "head"], a)
186180 }
187181
188182
189-func aw (au) = {
190- let av = if ((au == aq))
183+func at (ar) = {
184+ let as = if ((ar == an))
191185 then "%s%s"
192186 else "%s%s%s%s"
193- makeString([av, au, "size"], a)
187+ makeString([as, ar, "size"], a)
194188 }
195189
196190
197-func ax (au,ay) = {
198- let av = if ((au == aq))
191+func au (ar,av) = {
192+ let as = if ((ar == an))
199193 then "%s%s%s%s"
200194 else "%s%s%s%s%s"
201- makeString([av, au, ay, "prev"], a)
195+ makeString([as, ar, av, "prev"], a)
202196 }
203197
204198
205-func az (au,ay) = {
206- let av = if ((au == aq))
199+func aw (ar,av) = {
200+ let as = if ((ar == an))
207201 then "%s%s%s%s"
208202 else "%s%s%s%s%s"
209- makeString([av, au, ay, "next"], a)
203+ makeString([as, ar, av, "next"], a)
210204 }
211205
212206
213-func aA (au,ay) = {
214- let aB = getString(this, at(au))
215- let aC = getString(this, ax(au, ay))
216- let aD = getString(this, az(au, ay))
217- if (if ((ay == valueOrElse(aB, "")))
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, "")))
218212 then true
219- else (aC != unit))
213+ else (az != unit))
220214 then true
221- else (aD != unit)
215+ else (aA != unit)
222216 }
223217
224218
225-func aE (au,ay) = {
226- let aB = getString(this, at(au))
227- let aF = valueOrElse(getInteger(this, aw(au)), 0)
228- let aG = if (!(aA(au, ay)))
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)))
229223 then true
230224 else throw("Node exists")
231- if ((aG == aG))
232- then (([IntegerEntry(aw(au), (aF + 1))] ++ (if ((aB != unit))
233- then [StringEntry(az(au, ay), value(aB)), StringEntry(ax(au, value(aB)), ay)]
234- else nil)) ++ [StringEntry(at(au), ay)])
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)])
235229 else throw("Strict value is not equal to itself.")
236230 }
237231
238232
239-func aH (au,ay) = {
240- let aB = getString(this, at(au))
241- let aF = valueOrElse(getInteger(this, aw(au)), 0)
242- let aC = getString(this, ax(au, ay))
243- let aD = getString(this, az(au, ay))
244- ([IntegerEntry(aw(au), (aF - 1))] ++ (if (if ((aC != unit))
245- then (aD != 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)
246240 else false)
247- then [StringEntry(az(au, value(aC)), value(aD)), StringEntry(ax(au, value(aD)), value(aC)), DeleteEntry(ax(au, ay)), DeleteEntry(az(au, ay))]
248- else if ((aD != unit))
249- then [StringEntry(at(au), value(aD)), DeleteEntry(az(au, ay)), DeleteEntry(ax(au, value(aD)))]
250- else if ((aC != unit))
251- then [DeleteEntry(ax(au, ay)), DeleteEntry(az(au, value(aC)))]
252- else if ((ay == valueOrElse(aB, "")))
253- then [DeleteEntry(at(au))]
254- else throw(((("invalid node: " + au) + ".") + ay))))
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))))
255249 }
256250
257251
258-func aI () = "%s__managerPublicKey"
252+func aF () = "%s__managerPublicKey"
259253
260254
261-func aJ () = "%s__pendingManagerPublicKey"
255+func aG () = "%s__pendingManagerPublicKey"
262256
263257
264-func aK () = {
265- let T = getString(aI())
266- if ($isInstanceOf(T, "String"))
258+func aH () = {
259+ let Q = getString(aF())
260+ if ($isInstanceOf(Q, "String"))
267261 then {
268- let aL = T
269- fromBase58String(aL)
262+ let aI = Q
263+ fromBase58String(aI)
270264 }
271- else if ($isInstanceOf(T, "Unit"))
265+ else if ($isInstanceOf(Q, "Unit"))
272266 then unit
273267 else throw("Match error")
274268 }
275269
276270
277-func aM () = {
278- let T = getString(aJ())
279- if ($isInstanceOf(T, "String"))
271+func aJ () = {
272+ let Q = getString(aG())
273+ if ($isInstanceOf(Q, "String"))
280274 then {
281- let aL = T
282- fromBase58String(aL)
275+ let aI = Q
276+ fromBase58String(aI)
283277 }
284- else if ($isInstanceOf(T, "Unit"))
278+ else if ($isInstanceOf(Q, "Unit"))
285279 then unit
286280 else throw("Match error")
287281 }
288282
289283
290-let aN = throw("Permission denied")
284+let aK = throw("Permission denied")
291285
292-func aO (aP) = if ((aP.caller == this))
286+func aL (aM) = if ((aM.caller == this))
293287 then true
294- else aN
288+ else aK
295289
296290
297-func aQ (aP) = {
298- let T = aK()
299- if ($isInstanceOf(T, "ByteVector"))
291+func aN (aM) = {
292+ let Q = aH()
293+ if ($isInstanceOf(Q, "ByteVector"))
300294 then {
301- let aR = T
302- if ((aP.callerPublicKey == aR))
295+ let aO = Q
296+ if ((aM.callerPublicKey == aO))
303297 then true
304- else aN
298+ else aK
305299 }
306- else if ($isInstanceOf(T, "Unit"))
307- then aO(aP)
300+ else if ($isInstanceOf(Q, "Unit"))
301+ then aL(aM)
308302 else throw("Match error")
309303 }
310304
311305
312-@Callable(aP)
313-func setManager (aS) = {
314- let aT = aQ(aP)
315- if ((aT == aT))
306+@Callable(aM)
307+func setManager (aP) = {
308+ let aQ = aN(aM)
309+ if ((aQ == aQ))
316310 then {
317- let aU = fromBase58String(aS)
318- if ((aU == aU))
319- then [StringEntry(aJ(), aS)]
311+ let aR = fromBase58String(aP)
312+ if ((aR == aR))
313+ then [StringEntry(aG(), aP)]
320314 else throw("Strict value is not equal to itself.")
321315 }
322316 else throw("Strict value is not equal to itself.")
324318
325319
326320
327-@Callable(aP)
321+@Callable(aM)
328322 func confirmManager () = {
329- let aV = aM()
330- let aW = if (isDefined(aV))
323+ let aS = aJ()
324+ let aT = if (isDefined(aS))
331325 then true
332326 else throw("No pending manager")
333- if ((aW == aW))
327+ if ((aT == aT))
334328 then {
335- let aX = if ((aP.callerPublicKey == value(aV)))
329+ let aU = if ((aM.callerPublicKey == value(aS)))
336330 then true
337331 else throw("You are not pending manager")
338- if ((aX == aX))
339- then [StringEntry(aI(), toBase58String(value(aV))), DeleteEntry(aJ())]
332+ if ((aU == aU))
333+ then [StringEntry(aF(), toBase58String(value(aS))), DeleteEntry(aG())]
340334 else throw("Strict value is not equal to itself.")
341335 }
342336 else throw("Strict value is not equal to itself.")
344338
345339
346340
347-@Callable(aP)
348-func getUserGwxAmountAtHeight (aY,aZ) = {
349- let ba = valueOrErrorMessage(addressFromString(W(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")
350344 $Tuple2(nil, {
351- let X = invoke(ba, "getUserGwxAmountAtHeightREADONLY", [aY, aZ], nil)
352- if ($isInstanceOf(X, "Int"))
353- then X
354- else throw(($getType(X) + " 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"))
355349 })
356350 }
357351
358352
359353
360-@Callable(aP)
361-func constructor (ak,bb,bc,bd,be) = {
362- let bf = [aQ(aP), if ((addressFromString(ak) != unit))
354+@Callable(aM)
355+func constructor (ah,aY,aZ,ba,bb) = {
356+ let bc = [aN(aM), if ((addressFromString(ah) != unit))
363357 then true
364- else "invalid factory contract address", if ((addressFromString(bb) != unit))
358+ else "invalid factory contract address", if ((addressFromString(aY) != unit))
365359 then true
366- else "invalid voting emission candidate contract address", if ((addressFromString(bc) != unit))
360+ else "invalid voting emission candidate contract address", if ((addressFromString(aZ) != unit))
367361 then true
368- else "invalid boosting contract address", if ((addressFromString(bd) != unit))
362+ else "invalid boosting contract address", if ((addressFromString(ba) != unit))
369363 then true
370- else "invalid staking contract address", if ((be > 0))
364+ else "invalid staking contract address", if ((bb > 0))
371365 then true
372366 else throw("invalid epoch length")]
373- if ((bf == bf))
374- then $Tuple2([StringEntry(m, ak), StringEntry(l, bb), StringEntry(n, bc), StringEntry(o, bd), IntegerEntry(f, be)], unit)
367+ if ((bc == bc))
368+ then $Tuple2([StringEntry(m, ah), StringEntry(l, aY), StringEntry(n, aZ), StringEntry(o, ba), IntegerEntry(f, bb)], unit)
375369 else throw("Strict value is not equal to itself.")
376370 }
377371
378372
379373
380-@Callable(aP)
374+@Callable(aM)
381375 func create (B,C) = {
382- let bf = [if ((toBase58String(aP.caller.bytes) == valueOrElse(getString(this, l), "")))
376+ let bc = [if ((toBase58String(aM.caller.bytes) == valueOrElse(getString(this, l), "")))
383377 then true
384- else aQ(aP)]
385- if ((bf == bf))
378+ else aN(aM)]
379+ if ((bc == bc))
386380 then {
387381 let z = $Tuple2(B, C)
388- let bg = ([BooleanEntry(y(z), true)] ++ aE(aq, Z(z)))
389- let bh = (getInteger(this, j) == unit)
390- let bi = if (bh)
382+ let bd = ([BooleanEntry(y(z), true)] ++ aB(an, W(z)))
383+ let be = (getInteger(this, j) == unit)
384+ let bf = if (be)
391385 then {
392386 let i = 0
393387 [IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
394388 }
395389 else nil
396- $Tuple2((bg ++ bi), unit)
390+ $Tuple2((bd ++ bf), unit)
397391 }
398392 else throw("Strict value is not equal to itself.")
399393 }
400394
401395
402396
403-@Callable(aP)
404-func vote (B,C,bj) = {
397+@Callable(aM)
398+func vote (B,C,bg) = {
405399 let z = $Tuple2(B, C)
406400 let i = valueOrElse(getInteger(this, j), 0)
407- let bk = Y(this, w(i))
408- let be = Y(this, f)
409- let bl = (bk + be)
410- let bm = getInteger(this, p)
411- let bn = valueOrElse(getInteger(this, D(aP.caller, i)), 0)
412- let bo = valueOrElse(getInteger(this, F(z, aP.caller, i)), 0)
413- let bp = valueOrElse(getInteger(this, H(z, i)), 0)
414- let bq = valueOrElse(getInteger(this, L(i)), 0)
415- let br = {
416- let X = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aP.caller.bytes), bl], nil)
417- if ($isInstanceOf(X, "Int"))
418- then X
419- else throw(($getType(X) + " 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"))
420414 }
421- let bs = (br - bn)
422- let bt = (bo + bj)
423- let bu = ao(z)
424- let bf = [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))
425419 then true
426- else throw("invalid assets"), if ((bl > height))
420+ else throw("invalid assets"), if ((bi > height))
427421 then true
428- else throw("invalid height"), if ((bm == unit))
422+ else throw("invalid height"), if ((bj == unit))
429423 then true
430- else throw("finalization in progress"), if ((br > 0))
424+ else throw("finalization in progress"), if ((bo > 0))
431425 then true
432- else throw("you do not have gWX"), if (if ((bj > 0))
433- then (bs >= bj)
426+ else throw("you do not have gWX"), if (if ((bg > 0))
427+ then (bp >= bg)
434428 else false)
435429 then true
436- else throw("invalid amount"), if (bu)
430+ else throw("invalid amount"), if (br)
437431 then true
438432 else throw("pool hasn't WX_EMISSION label")]
439- if ((bf == bf))
433+ if ((bc == bc))
440434 then {
441- let bv = ar(z)
442- let bw = toString(aP.caller)
443- let bx = if (aA(bv, bw))
435+ let bs = ao(z)
436+ let bt = toString(aM.caller)
437+ let bu = if (ax(bs, bt))
444438 then nil
445- else aE(bv, bw)
446- $Tuple2(([IntegerEntry(D(aP.caller, i), (bn + bj)), IntegerEntry(F(z, aP.caller, i), bt), IntegerEntry(H(z, i), (bp + bj)), IntegerEntry(L(i), (bq + bj))] ++ bx), 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)
447441 }
448442 else throw("Strict value is not equal to itself.")
449443 }
450444
451445
452446
453-@Callable(aP)
447+@Callable(aM)
454448 func cancelVote (B,C) = {
455449 let z = $Tuple2(B, C)
456450 let i = valueOrElse(getInteger(this, j), 0)
457- let bk = Y(this, w(i))
458- let be = Y(this, f)
459- let bl = (bk + be)
460- let bm = getInteger(this, p)
461- let bn = valueOrElse(getInteger(this, D(aP.caller, i)), 0)
462- let bo = valueOrElse(getInteger(this, F(z, aP.caller, i)), 0)
463- let bp = valueOrElse(getInteger(this, H(z, i)), 0)
464- let bq = valueOrElse(getInteger(this, L(i)), 0)
465- let bf = [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))
466460 then true
467- else throw("invalid assets"), if ((bl > height))
461+ else throw("invalid assets"), if ((bi > height))
468462 then true
469- else throw("invalid height"), if ((bm == unit))
463+ else throw("invalid height"), if ((bj == unit))
470464 then true
471- else throw("finalization in progress"), if ((bo > 0))
465+ else throw("finalization in progress"), if ((bl > 0))
472466 then true
473467 else throw("no vote")]
474- if ((bf == bf))
468+ if ((bc == bc))
475469 then {
476- let bv = ar(z)
477- let bw = toString(aP.caller)
478- $Tuple2(([IntegerEntry(D(aP.caller, i), max([(bn - bo), 0])), DeleteEntry(F(z, aP.caller, i)), IntegerEntry(H(z, i), (bp - bo)), IntegerEntry(L(i), (bq - bo))] ++ aH(bv, bw)), 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)
479473 }
480474 else throw("Strict value is not equal to itself.")
481475 }
482476
483477
484478
485-@Callable(aP)
486-func setEpochLength (by) = {
487- let bf = [aQ(aP), if ((by > 0))
479+@Callable(aM)
480+func setEpochLength (bv) = {
481+ let bc = [aN(aM), if ((bv > 0))
488482 then true
489483 else throw("invalid epoch length")]
490- if ((bf == bf))
491- then $Tuple2([IntegerEntry(g, by)], unit)
484+ if ((bc == bc))
485+ then $Tuple2([IntegerEntry(g, bv)], unit)
492486 else throw("Strict value is not equal to itself.")
493487 }
494488
495489
496490
497-@Callable(aP)
498-func setMaxDepth (bz) = {
499- let bf = [aQ(aP), if ((bz > 0))
491+@Callable(aM)
492+func setMaxDepth (bw) = {
493+ let bc = [aN(aM), if ((bw > 0))
500494 then true
501495 else throw("invalid max depth")]
502- if ((bf == bf))
503- then $Tuple2([IntegerEntry(k, bz)], unit)
496+ if ((bc == bc))
497+ then $Tuple2([IntegerEntry(k, bw)], unit)
504498 else throw("Strict value is not equal to itself.")
505499 }
506500
507501
508502
509-@Callable(aP)
510-func processVoteINTERNAL (bA,bw) = {
511- let aT = aO(aP)
512- if ((aT == aT))
503+@Callable(aM)
504+func processVoteINTERNAL (bx,bt) = {
505+ let aQ = aL(aM)
506+ if ((aQ == aQ))
513507 then {
514- let aY = valueOrErrorMessage(addressFromString(bw), ("processVoteINTERNAL: invalid user address " + bw))
515- let i = Y(this, j)
516- let bB = (i - 1)
517- let be = Y(this, f)
518- let bk = Y(this, w(i))
519- let bl = (bk + be)
520- let bC = Y(this, w(bB))
521- let bD = Y(this, h(bB))
522- let bE = (bC + bD)
523- let bF = if ((bB >= 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))
524518 then true
525519 else throw("processVoteINTERNAL: invalid previous epoch")
526- if ((bF == bF))
520+ if ((bC == bC))
527521 then {
528- let z = aa(bA)
529- let bG = z
530- let B = bG._1
531- let C = bG._2
532- let bu = ao(z)
533- let br = {
534- let X = invoke(this, "getUserGwxAmountAtHeight", [bw, bl], nil)
535- if ($isInstanceOf(X, "Int"))
536- then X
537- else throw(($getType(X) + " 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"))
538532 }
539- let bH = {
540- let X = invoke(this, "getUserGwxAmountAtHeight", [bw, bE], nil)
541- if ($isInstanceOf(X, "Int"))
542- then X
543- else throw(($getType(X) + " 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"))
544538 }
545- let bq = valueOrElse(getInteger(L(i)), 0)
546- let bI = valueOrElse(getInteger(H(z, i)), 0)
547- let bJ = valueOrErrorMessage(getInteger(F(z, aY, bB)), (((("processVoteINTERNAL " + bA) + " ") + bw) + ": no previous vote"))
548- let bn = valueOrElse(getInteger(this, D(aY, i)), 0)
549- let bt = if ((bH > 0))
550- then fraction(bJ, br, bH)
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)
551545 else 0
552- let bK = if (if ((bt > 0))
553- then bu
546+ let bH = if (if ((bq > 0))
547+ then br
554548 else false)
555- then [IntegerEntry(F(z, aY, i), bt), IntegerEntry(L(i), (bq + bt)), IntegerEntry(H(z, i), (bI + bt)), IntegerEntry(D(aY, i), (bn + bt))]
556- else aH(ar(z), bw)
557- $Tuple2(bK, 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)
558552 }
559553 else throw("Strict value is not equal to itself.")
560554 }
563557
564558
565559
566-@Callable(aP)
567-func processPoolINTERNAL (bA,bL) = {
568- let aT = aO(aP)
569- if ((aT == aT))
560+@Callable(aM)
561+func processPoolINTERNAL (bx,bI) = {
562+ let aQ = aL(aM)
563+ if ((aQ == aQ))
570564 then {
571- let bM = {
572- let bN = Y(this, j)
573- if (bL)
574- then bN
575- else (bN - 1)
565+ let bJ = {
566+ let bK = V(this, j)
567+ if (bI)
568+ then bK
569+ else (bK - 1)
576570 }
577- let bF = if ((bM >= 0))
571+ let bC = if ((bJ >= 0))
578572 then true
579573 else throw("processPoolINTERNAL: invalid target epoch")
580- if ((bF == bF))
574+ if ((bC == bC))
581575 then {
582- let z = aa(bA)
583- let bO = z
584- let B = bO._1
585- let C = bO._2
586- let bd = addressFromStringValue(W(this, o))
587- let ak = addressFromStringValue(W(this, m))
588- let an = ac(B, C)
589- let bP = {
590- let X = invoke(bd, "usersListTraversal", [an], nil)
591- if ($isInstanceOf(X, "Boolean"))
592- then X
593- else throw(($getType(X) + " 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"))
594588 }
595- if ((bP == bP))
596- then if (bP)
589+ if ((bM == bM))
590+ then if (bM)
597591 then $Tuple2(nil, true)
598592 else {
599- let bu = ao(z)
600- let bq = valueOrElse(getInteger(this, L(bM)), 0)
601- let bI = valueOrElse(getInteger(this, H(z, bM)), 0)
602- let bQ = if (if ((bq == 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))
603597 then true
604- else !(bu))
598+ else !(br))
605599 then 0
606- else fraction(bI, b, bq)
607- let bR = invoke(ak, "modifyWeight", [an, bQ], nil)
608- if ((bR == bR))
600+ else fraction(bF, b, bn)
601+ let bO = invoke(ah, "modifyWeight", [ak, bN], nil)
602+ if ((bO == bO))
609603 then {
610- let bS = if (if (bu)
604+ let bP = if (if (br)
611605 then true
612- else bL)
606+ else bI)
613607 then nil
614- else ([DeleteEntry(y(z))] ++ aH(aq, bA))
615- $Tuple2(([IntegerEntry(J(z, bM), bQ)] ++ bS), false)
608+ else ([DeleteEntry(y(z))] ++ aE(an, bx))
609+ $Tuple2(([IntegerEntry(J(z, bJ), bN)] ++ bP), false)
616610 }
617611 else throw("Strict value is not equal to itself.")
618612 }
625619
626620
627621
628-@Callable(aP)
622+@Callable(aM)
629623 func finalizeHelper () = {
630- let bL = valueOrElse(getBoolean(v), false)
624+ let bI = valueOrElse(getBoolean(v), false)
631625 let i = valueOrElse(getInteger(this, j), 0)
632- let bT = (i - 1)
633- let bk = Y(this, w(i))
634- let be = Y(this, f)
635- let bl = (bk + be)
636- let bm = getInteger(this, p)
637- if (if (if ((height >= bl))
638- then (bm == 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)
639633 else false)
640- then !(bL)
634+ then !(bI)
641635 else false)
642636 then {
643- let bU = (i + 1)
644- let bV = getInteger(this, g)
645- let bW = {
646- let T = bV
647- if ($isInstanceOf(T, "Int"))
637+ let bR = (i + 1)
638+ let bS = getInteger(this, g)
639+ let bT = {
640+ let Q = bS
641+ if ($isInstanceOf(Q, "Int"))
648642 then {
649- let by = T
650-[IntegerEntry(f, by), DeleteEntry(g)]
643+ let bv = Q
644+[IntegerEntry(f, bv), DeleteEntry(g)]
651645 }
652- else if ($isInstanceOf(T, "Unit"))
646+ else if ($isInstanceOf(Q, "Unit"))
653647 then nil
654648 else throw("Match error")
655649 }
656- $Tuple2(([IntegerEntry(w(bU), height), IntegerEntry(s, height), IntegerEntry(j, bU), IntegerEntry(p, d), IntegerEntry(h(i), be)] ++ bW), true)
650+ $Tuple2(([IntegerEntry(w(bR), height), IntegerEntry(s, height), IntegerEntry(j, bR), IntegerEntry(p, d), IntegerEntry(h(i), bb)] ++ bT), true)
657651 }
658- else if (if (bL)
659- then (bm == unit)
652+ else if (if (bI)
653+ then (bj == unit)
660654 else false)
661655 then $Tuple2([IntegerEntry(p, e)], true)
662- else if ((bm == unit))
656+ else if ((bj == unit))
663657 then $Tuple2(nil, false)
664- else if ((bm == d))
658+ else if ((bj == d))
665659 then {
666- let bX = getString(q)
667- let bY = getString(r)
668- let T = bX
669- if ($isInstanceOf(T, "Unit"))
660+ let bU = getString(q)
661+ let bV = getString(r)
662+ let Q = bU
663+ if ($isInstanceOf(Q, "Unit"))
670664 then {
671- let bZ = getString(at(aq))
672- if ($isInstanceOf(bZ, "Unit"))
665+ let bW = getString(aq(an))
666+ if ($isInstanceOf(bW, "Unit"))
673667 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
674- else if ($isInstanceOf(bZ, "String"))
668+ else if ($isInstanceOf(bW, "String"))
675669 then {
676- let ca = bZ
677- $Tuple2([StringEntry(q, ca)], true)
670+ let bX = bW
671+ $Tuple2([StringEntry(q, bX)], true)
678672 }
679673 else throw("Match error")
680674 }
681- else if ($isInstanceOf(T, "String"))
675+ else if ($isInstanceOf(Q, "String"))
682676 then {
683- let bA = T
684- let z = aa(bA)
685- let cb = {
686- let bZ = bY
687- if ($isInstanceOf(bZ, "Unit"))
688- then getString(at(ar(z)))
689- else if ($isInstanceOf(bZ, "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"))
690684 then {
691- let cc = bZ
692- let cd = getString(az(ar(z), cc))
693- if ((cd == cd))
685+ let bZ = bW
686+ let ca = getString(aw(ao(z), bZ))
687+ if ((ca == ca))
694688 then {
695- let ce = invoke(this, "processVoteINTERNAL", [bA, cc], nil)
696- if ((ce == ce))
697- then cd
689+ let cb = invoke(this, "processVoteINTERNAL", [bx, bZ], nil)
690+ if ((cb == cb))
691+ then ca
698692 else throw("Strict value is not equal to itself.")
699693 }
700694 else throw("Strict value is not equal to itself.")
701695 }
702696 else throw("Match error")
703697 }
704- let bZ = cb
705- if ($isInstanceOf(bZ, "Unit"))
698+ let bW = bY
699+ if ($isInstanceOf(bW, "Unit"))
706700 then {
707- let cf = getString(az(aq, bA))
708- let cg = cf
709- if ($isInstanceOf(cg, "Unit"))
701+ let cc = getString(aw(an, bx))
702+ let cd = cc
703+ if ($isInstanceOf(cd, "Unit"))
710704 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
711- else if ($isInstanceOf(cg, "String"))
705+ else if ($isInstanceOf(cd, "String"))
712706 then {
713- let aL = cg
714- $Tuple2([StringEntry(q, aL), DeleteEntry(r)], true)
707+ let aI = cd
708+ $Tuple2([StringEntry(q, aI), DeleteEntry(r)], true)
715709 }
716710 else throw("Match error")
717711 }
718- else if ($isInstanceOf(bZ, "String"))
712+ else if ($isInstanceOf(bW, "String"))
719713 then {
720- let ch = bZ
721- $Tuple2([StringEntry(r, ch)], true)
714+ let ce = bW
715+ $Tuple2([StringEntry(r, ce)], true)
722716 }
723717 else throw("Match error")
724718 }
725719 else throw("Match error")
726720 }
727- else if ((bm == e))
721+ else if ((bj == e))
728722 then {
729- let bX = getString(q)
730- let T = bX
731- if ($isInstanceOf(T, "Unit"))
723+ let bU = getString(q)
724+ let Q = bU
725+ if ($isInstanceOf(Q, "Unit"))
732726 then {
733- let bZ = getString(at(aq))
734- if ($isInstanceOf(bZ, "Unit"))
727+ let bW = getString(aq(an))
728+ if ($isInstanceOf(bW, "Unit"))
735729 then {
736- let bK = if (bL)
730+ let bH = if (bI)
737731 then [DeleteEntry(p), DeleteEntry(v)]
738- else [DeleteEntry(p), BooleanEntry(x(bT), true), IntegerEntry(t, i), IntegerEntry(u, bk)]
739- $Tuple2(bK, true)
732+ else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh)]
733+ $Tuple2(bH, true)
740734 }
741- else if ($isInstanceOf(bZ, "String"))
735+ else if ($isInstanceOf(bW, "String"))
742736 then {
743- let ci = bZ
744- $Tuple2([StringEntry(q, ci)], true)
737+ let cf = bW
738+ $Tuple2([StringEntry(q, cf)], true)
745739 }
746740 else throw("Match error")
747741 }
748- else if ($isInstanceOf(T, "String"))
742+ else if ($isInstanceOf(Q, "String"))
749743 then {
750- let bA = T
751- let cf = getString(az(aq, bA))
752- if ((cf == cf))
744+ let bx = Q
745+ let cc = getString(aw(an, bx))
746+ if ((cc == cc))
753747 then {
754- let bP = {
755- let X = invoke(this, "processPoolINTERNAL", [bA, bL], nil)
756- if ($isInstanceOf(X, "Boolean"))
757- then X
758- else throw(($getType(X) + " 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"))
759753 }
760- if ((bP == bP))
761- then if (bP)
754+ if ((bM == bM))
755+ then if (bM)
762756 then $Tuple2(nil, true)
763757 else {
764- let bZ = cf
765- if ($isInstanceOf(bZ, "Unit"))
758+ let bW = cc
759+ if ($isInstanceOf(bW, "Unit"))
766760 then {
767- let bK = if (bL)
761+ let bH = if (bI)
768762 then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
769- else [DeleteEntry(p), BooleanEntry(x(bT), true), IntegerEntry(t, i), IntegerEntry(u, bk), DeleteEntry(q)]
770- $Tuple2(bK, true)
763+ else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh), DeleteEntry(q)]
764+ $Tuple2(bH, true)
771765 }
772- else if ($isInstanceOf(bZ, "String"))
766+ else if ($isInstanceOf(bW, "String"))
773767 then {
774- let ci = bZ
775- $Tuple2([StringEntry(q, ci)], true)
768+ let cf = bW
769+ $Tuple2([StringEntry(q, cf)], true)
776770 }
777771 else throw("Match error")
778772 }
787781
788782
789783
790-@Callable(aP)
791-func finalizeWrapper (cj) = {
792- let ck = {
793- let X = invoke(this, "finalizeHelper", nil, nil)
794- if ($isInstanceOf(X, "Boolean"))
795- then X
796- else throw(($getType(X) + " 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"))
797791 }
798- if ((ck == ck))
799- then if (!(ck))
800- then if ((cj == 0))
792+ if ((ch == ch))
793+ then if (!(ch))
794+ then if ((cg == 0))
801795 then throw("Current voting is not over yet")
802796 else $Tuple2(nil, unit)
803797 else {
804- let cl = valueOrElse(getInteger(this, k), c)
805- if ((cl > cj))
798+ let ci = valueOrElse(getInteger(this, k), c)
799+ if ((ci > cg))
806800 then {
807- let cm = invoke(this, "finalizeWrapper", [(cj + 1)], nil)
808- if ((cm == cm))
801+ let cj = invoke(this, "finalizeWrapper", [(cg + 1)], nil)
802+ if ((cj == cj))
809803 then $Tuple2(nil, unit)
810804 else throw("Strict value is not equal to itself.")
811805 }
816810
817811
818812
819-@Callable(aP)
813+@Callable(aM)
820814 func finalize () = {
821- let cm = invoke(this, "finalizeWrapper", [0], nil)
822- if ((cm == cm))
815+ let cj = invoke(this, "finalizeWrapper", [0], nil)
816+ if ((cj == cj))
823817 then $Tuple2(nil, unit)
824818 else throw("Strict value is not equal to itself.")
825819 }
826820
827821
828822
829-@Callable(aP)
830-func containsNodeREADONLY (au,ay) = $Tuple2(nil, aA(au, ay))
823+@Callable(aM)
824+func containsNodeREADONLY (ar,av) = $Tuple2(nil, ax(ar, av))
831825
832826
833827
834-@Callable(aP)
835-func insertNode (au,ay) = {
836- let aT = aQ(aP)
837- if ((aT == aT))
838- then $Tuple2(aE(au, ay), 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)
839833 else throw("Strict value is not equal to itself.")
840834 }
841835
842836
843837
844-@Callable(aP)
845-func deleteNode (au,ay) = {
846- let aT = aQ(aP)
847- if ((aT == aT))
848- then $Tuple2(aH(au, ay), 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)
849843 else throw("Strict value is not equal to itself.")
850844 }
851845
852846
853-@Verifier(cn)
854-func co () = {
855- let cp = {
856- let T = aK()
857- if ($isInstanceOf(T, "ByteVector"))
847+@Verifier(ck)
848+func cl () = {
849+ let cm = {
850+ let Q = aH()
851+ if ($isInstanceOf(Q, "ByteVector"))
858852 then {
859- let aR = T
860- aR
853+ let aO = Q
854+ aO
861855 }
862- else if ($isInstanceOf(T, "Unit"))
863- then cn.senderPublicKey
856+ else if ($isInstanceOf(Q, "Unit"))
857+ then ck.senderPublicKey
864858 else throw("Match error")
865859 }
866- sigVerify(cn.bodyBytes, cn.proofs[0], cp)
860+ sigVerify(ck.bodyBytes, ck.proofs[0], cm)
867861 }
868862
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
8080 func J (z,i) = {
8181 let K = z
8282 let B = K._1
8383 let C = K._2
8484 makeString(["%s%s%s%d", "poolShare", B, C, toString(i)], a)
8585 }
8686
8787
8888 func L (i) = makeString(["%s%d", "totalVotes", toString(i)], a)
8989
9090
91-func M (N) = makeString(["voting_emission.ride:", N], " ")
92-
93-
94-func O (N) = throw(M(N))
95-
96-
97-func P (E,Q,R) = {
98- let S = makeString(["mandatory ", toString(E), ".", Q, " is not defined"], "")
91+func M (E,N,O) = {
92+ let P = makeString(["mandatory ", toString(E), ".", N, " is not defined"], "")
9993 valueOrErrorMessage({
100- let T = R
101- if ($isInstanceOf(T, "String"))
94+ let Q = O
95+ if ($isInstanceOf(Q, "String"))
10296 then {
103- let U = T
104- getString(E, Q)
97+ let R = Q
98+ getString(E, N)
10599 }
106- else if ($isInstanceOf(T, "Int"))
100+ else if ($isInstanceOf(Q, "Int"))
107101 then {
108- let V = T
109- getInteger(E, Q)
102+ let S = Q
103+ getInteger(E, N)
110104 }
111105 else throw("invalid entry type")
112- }, S)
106+ }, P)
113107 }
114108
115109
116-func W (E,Q) = {
117- let X = P(E, Q, "")
118- if ($isInstanceOf(X, "String"))
119- then X
120- else throw(($getType(X) + " 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"))
121115 }
122116
123117
124-func Y (E,Q) = {
125- let X = P(E, Q, 0)
126- if ($isInstanceOf(X, "Int"))
127- then X
128- else throw(($getType(X) + " 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"))
129123 }
130124
131125
132-func Z (z) = ((z._1 + a) + z._2)
126+func W (z) = ((z._1 + a) + z._2)
133127
134128
135-func aa (U) = {
136- let ab = split(U, a)
137- if ((size(ab) == 2))
138- then $Tuple2(ab[0], ab[1])
129+func X (R) = {
130+ let Y = split(R, a)
131+ if ((size(Y) == 2))
132+ then $Tuple2(Y[0], Y[1])
139133 else throw("invalid pool string")
140134 }
141135
142136
143-func ac (B,C) = {
144- func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
137+func Z (B,C) = {
138+ func aa (ab) = ("%s%s%s__mappings__baseAsset2internalId__" + ab)
145139
146- func af (ag,ah) = (((("%d%d%s%s__" + toString(ag)) + "__") + toString(ah)) + "__mappings__poolAssets2PoolContract")
140+ func ac (ad,ae) = (((("%d%d%s%s__" + toString(ad)) + "__") + toString(ae)) + "__mappings__poolAssets2PoolContract")
147141
148- func ai (aj) = (("%s%s%s__" + aj) + "__mappings__poolContract2LpAsset")
142+ func af (ag) = (("%s%s%s__" + ag) + "__mappings__poolContract2LpAsset")
149143
150- let ak = addressFromStringValue(W(this, m))
151- let al = Y(ak, ad(B))
152- let am = Y(ak, ad(C))
153- let aj = W(ak, af(al, am))
154- let an = W(ak, ai(aj))
155- an
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
156150 }
157151
152+
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"))
162+ }
163+
164+
165+let an = "pools"
158166
159167 func ao (z) = {
160168 let ap = z
161169 let B = ap._1
162170 let C = ap._2
163- let ak = addressFromStringValue(W(this, m))
164- let X = invoke(ak, "checkWxEmissionPoolLabel", [B, C], nil)
165- if ($isInstanceOf(X, "Boolean"))
166- then X
167- else throw(($getType(X) + " couldn't be cast to Boolean"))
168- }
169-
170-
171-let aq = "pools"
172-
173-func ar (z) = {
174- let as = z
175- let B = as._1
176- let C = as._2
177171 makeString(["votes", B, C], a)
178172 }
179173
180174
181-func at (au) = {
182- let av = if ((au == aq))
175+func aq (ar) = {
176+ let as = if ((ar == an))
183177 then "%s%s"
184178 else "%s%s%s%s"
185- makeString([av, au, "head"], a)
179+ makeString([as, ar, "head"], a)
186180 }
187181
188182
189-func aw (au) = {
190- let av = if ((au == aq))
183+func at (ar) = {
184+ let as = if ((ar == an))
191185 then "%s%s"
192186 else "%s%s%s%s"
193- makeString([av, au, "size"], a)
187+ makeString([as, ar, "size"], a)
194188 }
195189
196190
197-func ax (au,ay) = {
198- let av = if ((au == aq))
191+func au (ar,av) = {
192+ let as = if ((ar == an))
199193 then "%s%s%s%s"
200194 else "%s%s%s%s%s"
201- makeString([av, au, ay, "prev"], a)
195+ makeString([as, ar, av, "prev"], a)
202196 }
203197
204198
205-func az (au,ay) = {
206- let av = if ((au == aq))
199+func aw (ar,av) = {
200+ let as = if ((ar == an))
207201 then "%s%s%s%s"
208202 else "%s%s%s%s%s"
209- makeString([av, au, ay, "next"], a)
203+ makeString([as, ar, av, "next"], a)
210204 }
211205
212206
213-func aA (au,ay) = {
214- let aB = getString(this, at(au))
215- let aC = getString(this, ax(au, ay))
216- let aD = getString(this, az(au, ay))
217- if (if ((ay == valueOrElse(aB, "")))
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, "")))
218212 then true
219- else (aC != unit))
213+ else (az != unit))
220214 then true
221- else (aD != unit)
215+ else (aA != unit)
222216 }
223217
224218
225-func aE (au,ay) = {
226- let aB = getString(this, at(au))
227- let aF = valueOrElse(getInteger(this, aw(au)), 0)
228- let aG = if (!(aA(au, ay)))
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)))
229223 then true
230224 else throw("Node exists")
231- if ((aG == aG))
232- then (([IntegerEntry(aw(au), (aF + 1))] ++ (if ((aB != unit))
233- then [StringEntry(az(au, ay), value(aB)), StringEntry(ax(au, value(aB)), ay)]
234- else nil)) ++ [StringEntry(at(au), ay)])
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)])
235229 else throw("Strict value is not equal to itself.")
236230 }
237231
238232
239-func aH (au,ay) = {
240- let aB = getString(this, at(au))
241- let aF = valueOrElse(getInteger(this, aw(au)), 0)
242- let aC = getString(this, ax(au, ay))
243- let aD = getString(this, az(au, ay))
244- ([IntegerEntry(aw(au), (aF - 1))] ++ (if (if ((aC != unit))
245- then (aD != 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)
246240 else false)
247- then [StringEntry(az(au, value(aC)), value(aD)), StringEntry(ax(au, value(aD)), value(aC)), DeleteEntry(ax(au, ay)), DeleteEntry(az(au, ay))]
248- else if ((aD != unit))
249- then [StringEntry(at(au), value(aD)), DeleteEntry(az(au, ay)), DeleteEntry(ax(au, value(aD)))]
250- else if ((aC != unit))
251- then [DeleteEntry(ax(au, ay)), DeleteEntry(az(au, value(aC)))]
252- else if ((ay == valueOrElse(aB, "")))
253- then [DeleteEntry(at(au))]
254- else throw(((("invalid node: " + au) + ".") + ay))))
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))))
255249 }
256250
257251
258-func aI () = "%s__managerPublicKey"
252+func aF () = "%s__managerPublicKey"
259253
260254
261-func aJ () = "%s__pendingManagerPublicKey"
255+func aG () = "%s__pendingManagerPublicKey"
262256
263257
264-func aK () = {
265- let T = getString(aI())
266- if ($isInstanceOf(T, "String"))
258+func aH () = {
259+ let Q = getString(aF())
260+ if ($isInstanceOf(Q, "String"))
267261 then {
268- let aL = T
269- fromBase58String(aL)
262+ let aI = Q
263+ fromBase58String(aI)
270264 }
271- else if ($isInstanceOf(T, "Unit"))
265+ else if ($isInstanceOf(Q, "Unit"))
272266 then unit
273267 else throw("Match error")
274268 }
275269
276270
277-func aM () = {
278- let T = getString(aJ())
279- if ($isInstanceOf(T, "String"))
271+func aJ () = {
272+ let Q = getString(aG())
273+ if ($isInstanceOf(Q, "String"))
280274 then {
281- let aL = T
282- fromBase58String(aL)
275+ let aI = Q
276+ fromBase58String(aI)
283277 }
284- else if ($isInstanceOf(T, "Unit"))
278+ else if ($isInstanceOf(Q, "Unit"))
285279 then unit
286280 else throw("Match error")
287281 }
288282
289283
290-let aN = throw("Permission denied")
284+let aK = throw("Permission denied")
291285
292-func aO (aP) = if ((aP.caller == this))
286+func aL (aM) = if ((aM.caller == this))
293287 then true
294- else aN
288+ else aK
295289
296290
297-func aQ (aP) = {
298- let T = aK()
299- if ($isInstanceOf(T, "ByteVector"))
291+func aN (aM) = {
292+ let Q = aH()
293+ if ($isInstanceOf(Q, "ByteVector"))
300294 then {
301- let aR = T
302- if ((aP.callerPublicKey == aR))
295+ let aO = Q
296+ if ((aM.callerPublicKey == aO))
303297 then true
304- else aN
298+ else aK
305299 }
306- else if ($isInstanceOf(T, "Unit"))
307- then aO(aP)
300+ else if ($isInstanceOf(Q, "Unit"))
301+ then aL(aM)
308302 else throw("Match error")
309303 }
310304
311305
312-@Callable(aP)
313-func setManager (aS) = {
314- let aT = aQ(aP)
315- if ((aT == aT))
306+@Callable(aM)
307+func setManager (aP) = {
308+ let aQ = aN(aM)
309+ if ((aQ == aQ))
316310 then {
317- let aU = fromBase58String(aS)
318- if ((aU == aU))
319- then [StringEntry(aJ(), aS)]
311+ let aR = fromBase58String(aP)
312+ if ((aR == aR))
313+ then [StringEntry(aG(), aP)]
320314 else throw("Strict value is not equal to itself.")
321315 }
322316 else throw("Strict value is not equal to itself.")
323317 }
324318
325319
326320
327-@Callable(aP)
321+@Callable(aM)
328322 func confirmManager () = {
329- let aV = aM()
330- let aW = if (isDefined(aV))
323+ let aS = aJ()
324+ let aT = if (isDefined(aS))
331325 then true
332326 else throw("No pending manager")
333- if ((aW == aW))
327+ if ((aT == aT))
334328 then {
335- let aX = if ((aP.callerPublicKey == value(aV)))
329+ let aU = if ((aM.callerPublicKey == value(aS)))
336330 then true
337331 else throw("You are not pending manager")
338- if ((aX == aX))
339- then [StringEntry(aI(), toBase58String(value(aV))), DeleteEntry(aJ())]
332+ if ((aU == aU))
333+ then [StringEntry(aF(), toBase58String(value(aS))), DeleteEntry(aG())]
340334 else throw("Strict value is not equal to itself.")
341335 }
342336 else throw("Strict value is not equal to itself.")
343337 }
344338
345339
346340
347-@Callable(aP)
348-func getUserGwxAmountAtHeight (aY,aZ) = {
349- let ba = valueOrErrorMessage(addressFromString(W(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")
350344 $Tuple2(nil, {
351- let X = invoke(ba, "getUserGwxAmountAtHeightREADONLY", [aY, aZ], nil)
352- if ($isInstanceOf(X, "Int"))
353- then X
354- else throw(($getType(X) + " 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"))
355349 })
356350 }
357351
358352
359353
360-@Callable(aP)
361-func constructor (ak,bb,bc,bd,be) = {
362- let bf = [aQ(aP), if ((addressFromString(ak) != unit))
354+@Callable(aM)
355+func constructor (ah,aY,aZ,ba,bb) = {
356+ let bc = [aN(aM), if ((addressFromString(ah) != unit))
363357 then true
364- else "invalid factory contract address", if ((addressFromString(bb) != unit))
358+ else "invalid factory contract address", if ((addressFromString(aY) != unit))
365359 then true
366- else "invalid voting emission candidate contract address", if ((addressFromString(bc) != unit))
360+ else "invalid voting emission candidate contract address", if ((addressFromString(aZ) != unit))
367361 then true
368- else "invalid boosting contract address", if ((addressFromString(bd) != unit))
362+ else "invalid boosting contract address", if ((addressFromString(ba) != unit))
369363 then true
370- else "invalid staking contract address", if ((be > 0))
364+ else "invalid staking contract address", if ((bb > 0))
371365 then true
372366 else throw("invalid epoch length")]
373- if ((bf == bf))
374- then $Tuple2([StringEntry(m, ak), StringEntry(l, bb), StringEntry(n, bc), StringEntry(o, bd), IntegerEntry(f, be)], unit)
367+ if ((bc == bc))
368+ then $Tuple2([StringEntry(m, ah), StringEntry(l, aY), StringEntry(n, aZ), StringEntry(o, ba), IntegerEntry(f, bb)], unit)
375369 else throw("Strict value is not equal to itself.")
376370 }
377371
378372
379373
380-@Callable(aP)
374+@Callable(aM)
381375 func create (B,C) = {
382- let bf = [if ((toBase58String(aP.caller.bytes) == valueOrElse(getString(this, l), "")))
376+ let bc = [if ((toBase58String(aM.caller.bytes) == valueOrElse(getString(this, l), "")))
383377 then true
384- else aQ(aP)]
385- if ((bf == bf))
378+ else aN(aM)]
379+ if ((bc == bc))
386380 then {
387381 let z = $Tuple2(B, C)
388- let bg = ([BooleanEntry(y(z), true)] ++ aE(aq, Z(z)))
389- let bh = (getInteger(this, j) == unit)
390- let bi = if (bh)
382+ let bd = ([BooleanEntry(y(z), true)] ++ aB(an, W(z)))
383+ let be = (getInteger(this, j) == unit)
384+ let bf = if (be)
391385 then {
392386 let i = 0
393387 [IntegerEntry(j, i), IntegerEntry(w(i), height), IntegerEntry(s, height), IntegerEntry(t, i), IntegerEntry(u, height)]
394388 }
395389 else nil
396- $Tuple2((bg ++ bi), unit)
390+ $Tuple2((bd ++ bf), unit)
397391 }
398392 else throw("Strict value is not equal to itself.")
399393 }
400394
401395
402396
403-@Callable(aP)
404-func vote (B,C,bj) = {
397+@Callable(aM)
398+func vote (B,C,bg) = {
405399 let z = $Tuple2(B, C)
406400 let i = valueOrElse(getInteger(this, j), 0)
407- let bk = Y(this, w(i))
408- let be = Y(this, f)
409- let bl = (bk + be)
410- let bm = getInteger(this, p)
411- let bn = valueOrElse(getInteger(this, D(aP.caller, i)), 0)
412- let bo = valueOrElse(getInteger(this, F(z, aP.caller, i)), 0)
413- let bp = valueOrElse(getInteger(this, H(z, i)), 0)
414- let bq = valueOrElse(getInteger(this, L(i)), 0)
415- let br = {
416- let X = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(aP.caller.bytes), bl], nil)
417- if ($isInstanceOf(X, "Int"))
418- then X
419- else throw(($getType(X) + " 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"))
420414 }
421- let bs = (br - bn)
422- let bt = (bo + bj)
423- let bu = ao(z)
424- let bf = [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))
425419 then true
426- else throw("invalid assets"), if ((bl > height))
420+ else throw("invalid assets"), if ((bi > height))
427421 then true
428- else throw("invalid height"), if ((bm == unit))
422+ else throw("invalid height"), if ((bj == unit))
429423 then true
430- else throw("finalization in progress"), if ((br > 0))
424+ else throw("finalization in progress"), if ((bo > 0))
431425 then true
432- else throw("you do not have gWX"), if (if ((bj > 0))
433- then (bs >= bj)
426+ else throw("you do not have gWX"), if (if ((bg > 0))
427+ then (bp >= bg)
434428 else false)
435429 then true
436- else throw("invalid amount"), if (bu)
430+ else throw("invalid amount"), if (br)
437431 then true
438432 else throw("pool hasn't WX_EMISSION label")]
439- if ((bf == bf))
433+ if ((bc == bc))
440434 then {
441- let bv = ar(z)
442- let bw = toString(aP.caller)
443- let bx = if (aA(bv, bw))
435+ let bs = ao(z)
436+ let bt = toString(aM.caller)
437+ let bu = if (ax(bs, bt))
444438 then nil
445- else aE(bv, bw)
446- $Tuple2(([IntegerEntry(D(aP.caller, i), (bn + bj)), IntegerEntry(F(z, aP.caller, i), bt), IntegerEntry(H(z, i), (bp + bj)), IntegerEntry(L(i), (bq + bj))] ++ bx), 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)
447441 }
448442 else throw("Strict value is not equal to itself.")
449443 }
450444
451445
452446
453-@Callable(aP)
447+@Callable(aM)
454448 func cancelVote (B,C) = {
455449 let z = $Tuple2(B, C)
456450 let i = valueOrElse(getInteger(this, j), 0)
457- let bk = Y(this, w(i))
458- let be = Y(this, f)
459- let bl = (bk + be)
460- let bm = getInteger(this, p)
461- let bn = valueOrElse(getInteger(this, D(aP.caller, i)), 0)
462- let bo = valueOrElse(getInteger(this, F(z, aP.caller, i)), 0)
463- let bp = valueOrElse(getInteger(this, H(z, i)), 0)
464- let bq = valueOrElse(getInteger(this, L(i)), 0)
465- let bf = [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))
466460 then true
467- else throw("invalid assets"), if ((bl > height))
461+ else throw("invalid assets"), if ((bi > height))
468462 then true
469- else throw("invalid height"), if ((bm == unit))
463+ else throw("invalid height"), if ((bj == unit))
470464 then true
471- else throw("finalization in progress"), if ((bo > 0))
465+ else throw("finalization in progress"), if ((bl > 0))
472466 then true
473467 else throw("no vote")]
474- if ((bf == bf))
468+ if ((bc == bc))
475469 then {
476- let bv = ar(z)
477- let bw = toString(aP.caller)
478- $Tuple2(([IntegerEntry(D(aP.caller, i), max([(bn - bo), 0])), DeleteEntry(F(z, aP.caller, i)), IntegerEntry(H(z, i), (bp - bo)), IntegerEntry(L(i), (bq - bo))] ++ aH(bv, bw)), 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)
479473 }
480474 else throw("Strict value is not equal to itself.")
481475 }
482476
483477
484478
485-@Callable(aP)
486-func setEpochLength (by) = {
487- let bf = [aQ(aP), if ((by > 0))
479+@Callable(aM)
480+func setEpochLength (bv) = {
481+ let bc = [aN(aM), if ((bv > 0))
488482 then true
489483 else throw("invalid epoch length")]
490- if ((bf == bf))
491- then $Tuple2([IntegerEntry(g, by)], unit)
484+ if ((bc == bc))
485+ then $Tuple2([IntegerEntry(g, bv)], unit)
492486 else throw("Strict value is not equal to itself.")
493487 }
494488
495489
496490
497-@Callable(aP)
498-func setMaxDepth (bz) = {
499- let bf = [aQ(aP), if ((bz > 0))
491+@Callable(aM)
492+func setMaxDepth (bw) = {
493+ let bc = [aN(aM), if ((bw > 0))
500494 then true
501495 else throw("invalid max depth")]
502- if ((bf == bf))
503- then $Tuple2([IntegerEntry(k, bz)], unit)
496+ if ((bc == bc))
497+ then $Tuple2([IntegerEntry(k, bw)], unit)
504498 else throw("Strict value is not equal to itself.")
505499 }
506500
507501
508502
509-@Callable(aP)
510-func processVoteINTERNAL (bA,bw) = {
511- let aT = aO(aP)
512- if ((aT == aT))
503+@Callable(aM)
504+func processVoteINTERNAL (bx,bt) = {
505+ let aQ = aL(aM)
506+ if ((aQ == aQ))
513507 then {
514- let aY = valueOrErrorMessage(addressFromString(bw), ("processVoteINTERNAL: invalid user address " + bw))
515- let i = Y(this, j)
516- let bB = (i - 1)
517- let be = Y(this, f)
518- let bk = Y(this, w(i))
519- let bl = (bk + be)
520- let bC = Y(this, w(bB))
521- let bD = Y(this, h(bB))
522- let bE = (bC + bD)
523- let bF = if ((bB >= 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))
524518 then true
525519 else throw("processVoteINTERNAL: invalid previous epoch")
526- if ((bF == bF))
520+ if ((bC == bC))
527521 then {
528- let z = aa(bA)
529- let bG = z
530- let B = bG._1
531- let C = bG._2
532- let bu = ao(z)
533- let br = {
534- let X = invoke(this, "getUserGwxAmountAtHeight", [bw, bl], nil)
535- if ($isInstanceOf(X, "Int"))
536- then X
537- else throw(($getType(X) + " 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"))
538532 }
539- let bH = {
540- let X = invoke(this, "getUserGwxAmountAtHeight", [bw, bE], nil)
541- if ($isInstanceOf(X, "Int"))
542- then X
543- else throw(($getType(X) + " 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"))
544538 }
545- let bq = valueOrElse(getInteger(L(i)), 0)
546- let bI = valueOrElse(getInteger(H(z, i)), 0)
547- let bJ = valueOrErrorMessage(getInteger(F(z, aY, bB)), (((("processVoteINTERNAL " + bA) + " ") + bw) + ": no previous vote"))
548- let bn = valueOrElse(getInteger(this, D(aY, i)), 0)
549- let bt = if ((bH > 0))
550- then fraction(bJ, br, bH)
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)
551545 else 0
552- let bK = if (if ((bt > 0))
553- then bu
546+ let bH = if (if ((bq > 0))
547+ then br
554548 else false)
555- then [IntegerEntry(F(z, aY, i), bt), IntegerEntry(L(i), (bq + bt)), IntegerEntry(H(z, i), (bI + bt)), IntegerEntry(D(aY, i), (bn + bt))]
556- else aH(ar(z), bw)
557- $Tuple2(bK, 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)
558552 }
559553 else throw("Strict value is not equal to itself.")
560554 }
561555 else throw("Strict value is not equal to itself.")
562556 }
563557
564558
565559
566-@Callable(aP)
567-func processPoolINTERNAL (bA,bL) = {
568- let aT = aO(aP)
569- if ((aT == aT))
560+@Callable(aM)
561+func processPoolINTERNAL (bx,bI) = {
562+ let aQ = aL(aM)
563+ if ((aQ == aQ))
570564 then {
571- let bM = {
572- let bN = Y(this, j)
573- if (bL)
574- then bN
575- else (bN - 1)
565+ let bJ = {
566+ let bK = V(this, j)
567+ if (bI)
568+ then bK
569+ else (bK - 1)
576570 }
577- let bF = if ((bM >= 0))
571+ let bC = if ((bJ >= 0))
578572 then true
579573 else throw("processPoolINTERNAL: invalid target epoch")
580- if ((bF == bF))
574+ if ((bC == bC))
581575 then {
582- let z = aa(bA)
583- let bO = z
584- let B = bO._1
585- let C = bO._2
586- let bd = addressFromStringValue(W(this, o))
587- let ak = addressFromStringValue(W(this, m))
588- let an = ac(B, C)
589- let bP = {
590- let X = invoke(bd, "usersListTraversal", [an], nil)
591- if ($isInstanceOf(X, "Boolean"))
592- then X
593- else throw(($getType(X) + " 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"))
594588 }
595- if ((bP == bP))
596- then if (bP)
589+ if ((bM == bM))
590+ then if (bM)
597591 then $Tuple2(nil, true)
598592 else {
599- let bu = ao(z)
600- let bq = valueOrElse(getInteger(this, L(bM)), 0)
601- let bI = valueOrElse(getInteger(this, H(z, bM)), 0)
602- let bQ = if (if ((bq == 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))
603597 then true
604- else !(bu))
598+ else !(br))
605599 then 0
606- else fraction(bI, b, bq)
607- let bR = invoke(ak, "modifyWeight", [an, bQ], nil)
608- if ((bR == bR))
600+ else fraction(bF, b, bn)
601+ let bO = invoke(ah, "modifyWeight", [ak, bN], nil)
602+ if ((bO == bO))
609603 then {
610- let bS = if (if (bu)
604+ let bP = if (if (br)
611605 then true
612- else bL)
606+ else bI)
613607 then nil
614- else ([DeleteEntry(y(z))] ++ aH(aq, bA))
615- $Tuple2(([IntegerEntry(J(z, bM), bQ)] ++ bS), false)
608+ else ([DeleteEntry(y(z))] ++ aE(an, bx))
609+ $Tuple2(([IntegerEntry(J(z, bJ), bN)] ++ bP), false)
616610 }
617611 else throw("Strict value is not equal to itself.")
618612 }
619613 else throw("Strict value is not equal to itself.")
620614 }
621615 else throw("Strict value is not equal to itself.")
622616 }
623617 else throw("Strict value is not equal to itself.")
624618 }
625619
626620
627621
628-@Callable(aP)
622+@Callable(aM)
629623 func finalizeHelper () = {
630- let bL = valueOrElse(getBoolean(v), false)
624+ let bI = valueOrElse(getBoolean(v), false)
631625 let i = valueOrElse(getInteger(this, j), 0)
632- let bT = (i - 1)
633- let bk = Y(this, w(i))
634- let be = Y(this, f)
635- let bl = (bk + be)
636- let bm = getInteger(this, p)
637- if (if (if ((height >= bl))
638- then (bm == 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)
639633 else false)
640- then !(bL)
634+ then !(bI)
641635 else false)
642636 then {
643- let bU = (i + 1)
644- let bV = getInteger(this, g)
645- let bW = {
646- let T = bV
647- if ($isInstanceOf(T, "Int"))
637+ let bR = (i + 1)
638+ let bS = getInteger(this, g)
639+ let bT = {
640+ let Q = bS
641+ if ($isInstanceOf(Q, "Int"))
648642 then {
649- let by = T
650-[IntegerEntry(f, by), DeleteEntry(g)]
643+ let bv = Q
644+[IntegerEntry(f, bv), DeleteEntry(g)]
651645 }
652- else if ($isInstanceOf(T, "Unit"))
646+ else if ($isInstanceOf(Q, "Unit"))
653647 then nil
654648 else throw("Match error")
655649 }
656- $Tuple2(([IntegerEntry(w(bU), height), IntegerEntry(s, height), IntegerEntry(j, bU), IntegerEntry(p, d), IntegerEntry(h(i), be)] ++ bW), true)
650+ $Tuple2(([IntegerEntry(w(bR), height), IntegerEntry(s, height), IntegerEntry(j, bR), IntegerEntry(p, d), IntegerEntry(h(i), bb)] ++ bT), true)
657651 }
658- else if (if (bL)
659- then (bm == unit)
652+ else if (if (bI)
653+ then (bj == unit)
660654 else false)
661655 then $Tuple2([IntegerEntry(p, e)], true)
662- else if ((bm == unit))
656+ else if ((bj == unit))
663657 then $Tuple2(nil, false)
664- else if ((bm == d))
658+ else if ((bj == d))
665659 then {
666- let bX = getString(q)
667- let bY = getString(r)
668- let T = bX
669- if ($isInstanceOf(T, "Unit"))
660+ let bU = getString(q)
661+ let bV = getString(r)
662+ let Q = bU
663+ if ($isInstanceOf(Q, "Unit"))
670664 then {
671- let bZ = getString(at(aq))
672- if ($isInstanceOf(bZ, "Unit"))
665+ let bW = getString(aq(an))
666+ if ($isInstanceOf(bW, "Unit"))
673667 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
674- else if ($isInstanceOf(bZ, "String"))
668+ else if ($isInstanceOf(bW, "String"))
675669 then {
676- let ca = bZ
677- $Tuple2([StringEntry(q, ca)], true)
670+ let bX = bW
671+ $Tuple2([StringEntry(q, bX)], true)
678672 }
679673 else throw("Match error")
680674 }
681- else if ($isInstanceOf(T, "String"))
675+ else if ($isInstanceOf(Q, "String"))
682676 then {
683- let bA = T
684- let z = aa(bA)
685- let cb = {
686- let bZ = bY
687- if ($isInstanceOf(bZ, "Unit"))
688- then getString(at(ar(z)))
689- else if ($isInstanceOf(bZ, "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"))
690684 then {
691- let cc = bZ
692- let cd = getString(az(ar(z), cc))
693- if ((cd == cd))
685+ let bZ = bW
686+ let ca = getString(aw(ao(z), bZ))
687+ if ((ca == ca))
694688 then {
695- let ce = invoke(this, "processVoteINTERNAL", [bA, cc], nil)
696- if ((ce == ce))
697- then cd
689+ let cb = invoke(this, "processVoteINTERNAL", [bx, bZ], nil)
690+ if ((cb == cb))
691+ then ca
698692 else throw("Strict value is not equal to itself.")
699693 }
700694 else throw("Strict value is not equal to itself.")
701695 }
702696 else throw("Match error")
703697 }
704- let bZ = cb
705- if ($isInstanceOf(bZ, "Unit"))
698+ let bW = bY
699+ if ($isInstanceOf(bW, "Unit"))
706700 then {
707- let cf = getString(az(aq, bA))
708- let cg = cf
709- if ($isInstanceOf(cg, "Unit"))
701+ let cc = getString(aw(an, bx))
702+ let cd = cc
703+ if ($isInstanceOf(cd, "Unit"))
710704 then $Tuple2([IntegerEntry(p, e), DeleteEntry(q), DeleteEntry(r)], true)
711- else if ($isInstanceOf(cg, "String"))
705+ else if ($isInstanceOf(cd, "String"))
712706 then {
713- let aL = cg
714- $Tuple2([StringEntry(q, aL), DeleteEntry(r)], true)
707+ let aI = cd
708+ $Tuple2([StringEntry(q, aI), DeleteEntry(r)], true)
715709 }
716710 else throw("Match error")
717711 }
718- else if ($isInstanceOf(bZ, "String"))
712+ else if ($isInstanceOf(bW, "String"))
719713 then {
720- let ch = bZ
721- $Tuple2([StringEntry(r, ch)], true)
714+ let ce = bW
715+ $Tuple2([StringEntry(r, ce)], true)
722716 }
723717 else throw("Match error")
724718 }
725719 else throw("Match error")
726720 }
727- else if ((bm == e))
721+ else if ((bj == e))
728722 then {
729- let bX = getString(q)
730- let T = bX
731- if ($isInstanceOf(T, "Unit"))
723+ let bU = getString(q)
724+ let Q = bU
725+ if ($isInstanceOf(Q, "Unit"))
732726 then {
733- let bZ = getString(at(aq))
734- if ($isInstanceOf(bZ, "Unit"))
727+ let bW = getString(aq(an))
728+ if ($isInstanceOf(bW, "Unit"))
735729 then {
736- let bK = if (bL)
730+ let bH = if (bI)
737731 then [DeleteEntry(p), DeleteEntry(v)]
738- else [DeleteEntry(p), BooleanEntry(x(bT), true), IntegerEntry(t, i), IntegerEntry(u, bk)]
739- $Tuple2(bK, true)
732+ else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh)]
733+ $Tuple2(bH, true)
740734 }
741- else if ($isInstanceOf(bZ, "String"))
735+ else if ($isInstanceOf(bW, "String"))
742736 then {
743- let ci = bZ
744- $Tuple2([StringEntry(q, ci)], true)
737+ let cf = bW
738+ $Tuple2([StringEntry(q, cf)], true)
745739 }
746740 else throw("Match error")
747741 }
748- else if ($isInstanceOf(T, "String"))
742+ else if ($isInstanceOf(Q, "String"))
749743 then {
750- let bA = T
751- let cf = getString(az(aq, bA))
752- if ((cf == cf))
744+ let bx = Q
745+ let cc = getString(aw(an, bx))
746+ if ((cc == cc))
753747 then {
754- let bP = {
755- let X = invoke(this, "processPoolINTERNAL", [bA, bL], nil)
756- if ($isInstanceOf(X, "Boolean"))
757- then X
758- else throw(($getType(X) + " 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"))
759753 }
760- if ((bP == bP))
761- then if (bP)
754+ if ((bM == bM))
755+ then if (bM)
762756 then $Tuple2(nil, true)
763757 else {
764- let bZ = cf
765- if ($isInstanceOf(bZ, "Unit"))
758+ let bW = cc
759+ if ($isInstanceOf(bW, "Unit"))
766760 then {
767- let bK = if (bL)
761+ let bH = if (bI)
768762 then [DeleteEntry(p), DeleteEntry(v), DeleteEntry(q)]
769- else [DeleteEntry(p), BooleanEntry(x(bT), true), IntegerEntry(t, i), IntegerEntry(u, bk), DeleteEntry(q)]
770- $Tuple2(bK, true)
763+ else [DeleteEntry(p), BooleanEntry(x(bQ), true), IntegerEntry(t, i), IntegerEntry(u, bh), DeleteEntry(q)]
764+ $Tuple2(bH, true)
771765 }
772- else if ($isInstanceOf(bZ, "String"))
766+ else if ($isInstanceOf(bW, "String"))
773767 then {
774- let ci = bZ
775- $Tuple2([StringEntry(q, ci)], true)
768+ let cf = bW
769+ $Tuple2([StringEntry(q, cf)], true)
776770 }
777771 else throw("Match error")
778772 }
779773 else throw("Strict value is not equal to itself.")
780774 }
781775 else throw("Strict value is not equal to itself.")
782776 }
783777 else throw("Match error")
784778 }
785779 else throw("finalization is broken")
786780 }
787781
788782
789783
790-@Callable(aP)
791-func finalizeWrapper (cj) = {
792- let ck = {
793- let X = invoke(this, "finalizeHelper", nil, nil)
794- if ($isInstanceOf(X, "Boolean"))
795- then X
796- else throw(($getType(X) + " 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"))
797791 }
798- if ((ck == ck))
799- then if (!(ck))
800- then if ((cj == 0))
792+ if ((ch == ch))
793+ then if (!(ch))
794+ then if ((cg == 0))
801795 then throw("Current voting is not over yet")
802796 else $Tuple2(nil, unit)
803797 else {
804- let cl = valueOrElse(getInteger(this, k), c)
805- if ((cl > cj))
798+ let ci = valueOrElse(getInteger(this, k), c)
799+ if ((ci > cg))
806800 then {
807- let cm = invoke(this, "finalizeWrapper", [(cj + 1)], nil)
808- if ((cm == cm))
801+ let cj = invoke(this, "finalizeWrapper", [(cg + 1)], nil)
802+ if ((cj == cj))
809803 then $Tuple2(nil, unit)
810804 else throw("Strict value is not equal to itself.")
811805 }
812806 else $Tuple2(nil, unit)
813807 }
814808 else throw("Strict value is not equal to itself.")
815809 }
816810
817811
818812
819-@Callable(aP)
813+@Callable(aM)
820814 func finalize () = {
821- let cm = invoke(this, "finalizeWrapper", [0], nil)
822- if ((cm == cm))
815+ let cj = invoke(this, "finalizeWrapper", [0], nil)
816+ if ((cj == cj))
823817 then $Tuple2(nil, unit)
824818 else throw("Strict value is not equal to itself.")
825819 }
826820
827821
828822
829-@Callable(aP)
830-func containsNodeREADONLY (au,ay) = $Tuple2(nil, aA(au, ay))
823+@Callable(aM)
824+func containsNodeREADONLY (ar,av) = $Tuple2(nil, ax(ar, av))
831825
832826
833827
834-@Callable(aP)
835-func insertNode (au,ay) = {
836- let aT = aQ(aP)
837- if ((aT == aT))
838- then $Tuple2(aE(au, ay), 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)
839833 else throw("Strict value is not equal to itself.")
840834 }
841835
842836
843837
844-@Callable(aP)
845-func deleteNode (au,ay) = {
846- let aT = aQ(aP)
847- if ((aT == aT))
848- then $Tuple2(aH(au, ay), 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)
849843 else throw("Strict value is not equal to itself.")
850844 }
851845
852846
853-@Verifier(cn)
854-func co () = {
855- let cp = {
856- let T = aK()
857- if ($isInstanceOf(T, "ByteVector"))
847+@Verifier(ck)
848+func cl () = {
849+ let cm = {
850+ let Q = aH()
851+ if ($isInstanceOf(Q, "ByteVector"))
858852 then {
859- let aR = T
860- aR
853+ let aO = Q
854+ aO
861855 }
862- else if ($isInstanceOf(T, "Unit"))
863- then cn.senderPublicKey
856+ else if ($isInstanceOf(Q, "Unit"))
857+ then ck.senderPublicKey
864858 else throw("Match error")
865859 }
866- sigVerify(cn.bodyBytes, cn.proofs[0], cp)
860+ sigVerify(ck.bodyBytes, ck.proofs[0], cm)
867861 }
868862

github/deemru/w8io/169f3d6 
284.12 ms