tx · F1CtiBMh5o2FxEiNM1pSobsrtP98N9R1JW5sxkJFuTx5

3MyVvNfXht9piazyf1e5BVFsqv1R7z5cWJL:  -0.03200000 Waves

2022.06.20 11:22 [2104454] smart account 3MyVvNfXht9piazyf1e5BVFsqv1R7z5cWJL > SELF 0.00000000 Waves

{ "type": 13, "id": "F1CtiBMh5o2FxEiNM1pSobsrtP98N9R1JW5sxkJFuTx5", "fee": 3200000, "feeAssetId": null, "timestamp": 1655713467561, "version": 1, "sender": "3MyVvNfXht9piazyf1e5BVFsqv1R7z5cWJL", "senderPublicKey": "DnPyGWCgpQChvoQrnXQRcC9FtN32mPGrcog2wcKHdkVn", "proofs": [ "2UVDqkTSPkAcL6K914VkbgrXeDNWRdNG97Pk8KYEyArAGT6eU3sXqJ3MCH2xog3oPCCnyCSVUzPJcrNpeHcskBNg" ], "script": "base64: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bmFnZXJQdWJsaWNLZXkEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQkAAlkAAAABBQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQMJAAAAAAAAAgUAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5BQAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAUAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADmNvbmZpcm1NYW5hZ2VyAAAAAAQAAAACcG0JAQAAAB1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAAEAAAABWhhc1BNAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAAnBtBgkAAAIAAAABAgAAABJObyBwZW5kaW5nIG1hbmFnZXIDCQAAAAAAAAIFAAAABWhhc1BNBQAAAAVoYXNQTQQAAAAHY2hlY2tQTQMJAAAAAAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQEAAAAFdmFsdWUAAAABBQAAAAJwbQYJAAACAAAAAQIAAAAbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAAAAAACBQAAAAdjaGVja1BNBQAAAAdjaGVja1BNCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAJwbQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAABQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQAAAACAAAAC3VzZXJBZGRyZXNzAAAADHRhcmdldEhlaWdodAQAAAAXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAAMZ2V0U3RyT3JGYWlsAAAAAgUAAAAEdGhpcwUAAAATa2V5Qm9vc3RpbmdDb250cmFjdAIAAAAhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQAFFAAAAAIFAAAAA25pbAoAAAAAAUAJAAP8AAAABAUAAAAXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MCAAAAIGdldFVzZXJHd3hBbW91bnRBdEhlaWdodFJFQURPTkxZCQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzCQAETAAAAAIFAAAADHRhcmdldEhlaWdodAUAAAADbmlsBQAAAANuaWwDCQAAAQAAAAIFAAAAAUACAAAAA0ludAUAAAABQAkAAAIAAAABAgAAABhDb3VsZG4ndCBjYXN0IEFueSB0byBJbnQAAAABaQEAAAALY29uc3RydWN0b3IAAAADAAAAH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QAAAAQYm9vc3RpbmdDb250cmFjdAAAAAtlcG9jaExlbmd0aAQAAAAFY2hla3MJAARMAAAAAgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQkABEwAAAACAwkBAAAAAiE9AAAAAgkABCYAAAABBQAAAB92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQAAAAR1bml0BgIAAAAyaW52YWxpZCB2b3RpbmcgZW1pc3Npb24gY2FuZGlkYXRlIGNvbnRyYWN0IGFkZHJlc3MJAARMAAAAAgMJAQAAAAIhPQAAAAIJAAQmAAAAAQUAAAAQYm9vc3RpbmdDb250cmFjdAUAAAAEdW5pdAYCAAAAIWludmFsaWQgYm9vc3RpbmcgY29udHJhY3QgYWRkcmVzcwkABEwAAAACAwkAAGYAAAACBQAAAAtlcG9jaExlbmd0aAAAAAAAAAAAAAYJAAACAAAAAQIAAAAUaW52YWxpZCBlcG9jaCBsZW5ndGgFAAAAA25pbAMJAAAAAAAAAgUAAAAFY2hla3MFAAAABWNoZWtzCQAFFAAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAia2V5Vm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAUAAAAfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABNrZXlCb29zdGluZ0NvbnRyYWN0BQAAABBib29zdGluZ0NvbnRyYWN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rZXlFcG9jaExlbmd0aAUAAAALZXBvY2hMZW5ndGgFAAAAA25pbAUAAAAEdW5pdAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAGY3JlYXRlAAAAAgAAAA1hbW91bnRBc3NldElkAAAADHByaWNlQXNzZXRJZAQAAAAGY2hlY2tzCQAETAAAAAIDCQAAAAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAACJrZXlWb3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0AgAAAAAGCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpBQAAAANuaWwDCQAAAAAAAAIFAAAABmNoZWNrcwUAAAAGY2hlY2tzBAAAAARwb29sCQAFFAAAAAIFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAQAAAANaW5MaXN0QWN0aW9ucwkABE4AAAACCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAAJa2V5SW5MaXN0AAAAAQUAAAAEcG9vbAYFAAAAA25pbAkBAAAAEWluc2VydE5vZGVBY3Rpb25zAAAAAgUAAAANcG9vbHNMaXN0TmFtZQkBAAAADHBvb2xUb1N0cmluZwAAAAEFAAAABHBvb2wEAAAAGGN1cnJlbnRFcG9jaElzTm90RGVmaW5lZAkAAAAAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD2tleUN1cnJlbnRFcG9jaAUAAAAEdW5pdAQAAAASc3RhcnRIZWlnaHRBY3Rpb25zAwUAAAAYY3VycmVudEVwb2NoSXNOb3REZWZpbmVkBAAAAAVlcG9jaAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5Q3VycmVudEVwb2NoBQAAAAVlcG9jaAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWtleVN0YXJ0SGVpZ2h0QnlFcG9jaAAAAAEFAAAABWVwb2NoBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVN0YXJ0SGVpZ2h0BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleUN1cnJlbnRFcG9jaFVpBQAAAAVlcG9jaAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa2V5U3RhcnRIZWlnaHRVaQUAAAAGaGVpZ2h0BQAAAANuaWwFAAAAA25pbAkABRQAAAACCQAETgAAAAIFAAAADWluTGlzdEFjdGlvbnMFAAAAEnN0YXJ0SGVpZ2h0QWN0aW9ucwUAAAAEdW5pdAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAEdm90ZQAAAAMAAAANYW1vdW50QXNzZXRJZAAAAAxwcmljZUFzc2V0SWQAAAAGYW1vdW50BAAAAARwb29sCQAFFAAAAAIFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAQAAAAFZXBvY2gJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5Q3VycmVudEVwb2NoAAAAAAAAAAAABAAAAAtzdGFydEhlaWdodAkBAAAADGdldEludE9yRmFpbAAAAAIFAAAABHRoaXMJAQAAABVrZXlTdGFydEhlaWdo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BEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAB2tleVZvdGUAAAADBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIFAAAABWVwb2NoBQAAAAduZXdWb3RlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPa2V5Vm90aW5nUmVzdWx0AAAAAgUAAAAEcG9vbAUAAAAFZXBvY2gJAABkAAAAAgUAAAAKcG9vbFJlc3VsdAUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAANa2V5VG90YWxWb3RlcwAAAAEFAAAABWVwb2NoCQAAZAAAAAIFAAAACnRvdGFsVm90ZXMFAAAABmFtb3VudAUAAAADbmlsBQAAABB2b3Rlc0xpc3RBY3Rpb25zBQAAAAR1bml0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAApjYW5jZWxWb3RlAAAAAgAAAA1hbW91bnRBc3NldElkAAAADHByaWNlQXNzZXRJZAQAAAAEcG9vbAkABRQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQEAAAABWVwb2NoCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD2tleUN1cnJlbnRFcG9jaAAAAAAAAAAAAAQAAAALc3RhcnRIZWlnaHQJAQAAAAxnZXRJbnRPckZhaWwAAAACBQAAAAR0aGlzCQEAAAAVa2V5U3RhcnRIZWlnaHRCeUVwb2NoAAAAAQUAAAAFZXBvY2gEAAAAC2Vwb2NoTGVuZ3RoCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAEdGhpcwUAAAAOa2V5RXBvY2hMZW5ndGgEAAAACWVuZEhlaWdodAkAAGQAAAACBQAAAAtzdGFydEhlaWdodAUAAAALZXBvY2hMZW5ndGgEAAAAF2ZpbmFsaXphdGlvblN0YWdlT3JVbml0CQAEGgAAAAIFAAAABHRoaXMFAAAAFGtleUZpbmFsaXphdGlvblN0YWdlBAAAAAR1c2VkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAA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C211c3RNYW5hZ2VyAAAAAQUAAAABaQkABEwAAAACAwkAAGYAAAACBQAAAAtuZXdNYXhEZXB0aAAAAAAAAAAAAAYJAAACAAAAAQIAAAARaW52YWxpZCBtYXggZGVwdGgFAAAAA25pbAMJAAAAAAAAAgUAAAAFY2hla3MFAAAABWNoZWtzCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAC2tleU1heERlcHRoBQAAAAtuZXdNYXhEZXB0aAUAAAADbmlsBQAAAAR1bml0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABNwcm9jZXNzVm90ZUlOVEVSTkFMAAAAAgAAAAdwb29sU3RyAAAADnVzZXJBZGRyZXNzU3RyBAAAAAtjaGVja0NhbGxlcgkBAAAACG11c3RUaGlzAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAAAt1c2VyQWRkcmVzcwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEFAAAADnVzZXJBZGRyZXNzU3RyCQABLAAAAAICAAAAKnByb2Nlc3NWb3RlSU5URVJOQUw6IGludmFsaWQgdXNlciBhZGRyZXNzIAUAAAAOdXNlckFkZHJlc3NTdHIEAAAABWVwb2NoCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAEdGhpcwUAAAAPa2V5Q3VycmVudEVwb2NoBAAAAA1lcG9jaFByZXZpb3VzCQAAZQAAAAIFAAAABWVwb2NoAAAAAAAAAAABBAAAAAtlcG9jaExlbmd0aAkBAAAADGdldEludE9yRmFpbAAAAAIFAAAABHRoaXMFAAAADmtleUVwb2NoTGVuZ3RoBAAAAAtzdGFydEhlaWdodAkBAAAADGdldEludE9yRmFpbAAAAAIFAAAABHRoaXMJAQAAABVrZXlTdGFydEhlaWdodEJ5RXBvY2gAAAABBQAAAAVlcG9jaAQAAAAJZW5kSGVpZ2h0CQAAZAAAAAIFAAAAC3N0YXJ0SGVpZ2h0BQAAAAtlcG9jaExlbmd0aAQAAAATc3RhcnRIZWlnaHRQcmV2aW91cwkBAAAADGdldEludE9yRmFpbAAAAAIFAAAABHRoaXMJAQAAABVrZXlTdGFydEhlaWdodEJ5RXBvY2gAAAABBQAAAA1lcG9jaFByZXZpb3VzBAAAABFlbmRIZWlnaHRQcmV2aW91cwkAAGQAAAACBQAAABNzdGFydEhlaWdodFByZXZpb3VzBQAAAAtlcG9jaExlbmd0aAQAAAAQY2hlY2tUYXJnZXRFcG9jaAMJAABnAAAAAgUAAAANZXBvY2hQcmV2aW91cwAAAAAAAAAAAAYJAAACAAAAAQIAAAArcHJvY2Vzc1ZvdGVJTlRFUk5BTDogaW52YWxpZCBwcmV2aW91cyBlcG9jaAMJAAAAAAAAAgUAAAAQY2hlY2tUYXJnZXRFcG9jaAUAAAAQY2hlY2tUYXJnZXRFcG9jaAQAAAAEcG9vbAkBAAAADHN0cmluZ1RvUG9vbAAAAAEFAAAAB3Bvb2xTdHIEAAAAE2d3eEFtb3VudEF0RW5kVG90YWwKAAAAAAFACQAD/AAAAAQFAAAABHRoaXMCAAAAGGdldFVzZXJHd3hBbW91bnRBdEhlaWdodAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACBQAAAAllbmRIZWlnaHQFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAFAAgAAAANJbnQFAAAAAUAJAAACAAAAAQIAAAAYQ291bGRuJ3QgY2FzdCBBbnkgdG8gSW50BAAAABtnd3hBbW91bnRBdEVuZFRvdGFsUHJldmlvdXMKAAAAAAFACQAD/AAAAAQFAAAABHRoaXMCAAAAGGdldFVzZXJHd3hBbW91bnRBdEhlaWdodAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACBQAAABFlbmRIZWlnaHRQcmV2aW91cwUAAAADbmlsBQAAAANuaWwDCQAAAQAAAAIFAAAAAUACAAAAA0ludAUAAAABQAkAAAIAAAABAgAAABhDb3VsZG4ndCBjYXN0IEFueSB0byBJbnQEAAAACnRvdGFsVm90ZXMJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQfAAAAAQkBAAAADWtleVRvdGFsVm90ZXMAAAABBQAAAAVlcG9jaAAAAAAAAAAAAAQAAAAMdm90aW5nUmVzdWx0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHwAAAAEJAQAAAA9rZXlWb3RpbmdSZXN1bHQAAAACBQAAAARwb29sBQAAAAVlcG9jaAAAAAAAAAAAAAQAAAAMdm90ZVByZXZpb3VzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQfAAAAAQkBAAAAB2tleVZvdGUAAAADBQAAAARwb29sBQAAAAt1c2VyQWRkcmVzcwUAAAANZXBvY2hQcmV2aW91cwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRwcm9jZXNzVm90ZUlOVEVSTkFMIAUAAAAHcG9vbFN0cgIAAAABIAUAAAAOdXNlckFkZHJlc3NTdHICAAAAEjogbm8gcHJldmlvdXMgdm90ZQQAAAAEdXNlZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAHa2V5VXNlZAAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAAVlcG9jaAAAAAAAAAAAAAQAAAAHbmV3Vm90ZQkAAGsAAAADBQAAAAx2b3RlUHJldmlvdXMFAAAAE2d3eEFtb3VudEF0RW5kVG90YWwFAAAAG2d3eEFtb3VudEF0RW5kVG90YWxQcmV2aW91cwQAAAAHYWN0aW9ucwMJAABmAAAAAgUAAAAHbmV3Vm90ZQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAB2tleVZvdGUAAAADBQAAAARwb29sBQAAAAt1c2VyQWRkcmVzcwUAAAAFZXBvY2gFAAAAB25ld1ZvdGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA1rZXlUb3RhbFZvdGVzAAAAAQUAAAAFZXBvY2gJAABkAAAAAgUAAAAKdG90YWxWb3RlcwUAAAAHbmV3Vm90ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2tleVZvdGluZ1Jlc3VsdAAAAAIFAAAABHBvb2wFAAAABWVwb2NoCQAAZAAAAAIFAAAADHZvdGluZ1Jlc3VsdAUAAAAHbmV3Vm90ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAB2tleVVzZWQAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAFZXBvY2gJAABkAAAAAgUAAAAEdXNlZAUAAAAHbmV3Vm90ZQUAAAADbmlsCQEAAAARZGVsZXRlTm9kZUFjdGlvbnMAAAACCQEAAAAQZ2V0Vm90ZXNMaXN0TmFtZQAAAAEFAAAABHBvb2wFAAAADnVzZXJBZGRyZXNzU3RyCQAFFAAAAAIFAAAAB2FjdGlvbnMFAAAABHVuaXQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABNwcm9jZXNzUG9vbElOVEVSTkFMAAAAAQAAAAdwb29sU3RyBAAAAAtjaGVja0NhbGxlcgkBAAAACG11c3RUaGlzAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAAAt0YXJnZXRFcG9jaAkAAGUAAAACCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAEdGhpcwUAAAAPa2V5Q3VycmVudEVwb2NoAAAAAAAAAAABBAAAABBjaGVja1RhcmdldEVwb2NoAwkAAGcAAAACBQAAAAt0YXJnZXRFcG9jaAAAAAAAAAAAAAYJAAACAAAAAQIAAAApcHJvY2Vzc1Bvb2xJTlRFUk5BTDogaW52YWxpZCB0YXJnZXQgZXBvY2gDCQAAAAAAAAIFAAAAEGNoZWNrVGFyZ2V0RXBvY2gFAAAAEGNoZWNrVGFyZ2V0RXBvY2gEAAAABHBvb2wJAQAAAAxzdHJpbmdUb1Bvb2wAAAABBQAAAAdwb29sU3RyBAAAAAp0b3RhbFZvdGVzCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAAA1rZXlUb3RhbFZvdGVzAAAAAQUAAAALdGFyZ2V0RXBvY2gAAAAAAAAAAAAEAAAADHZvdGluZ1Jlc3VsdAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAPa2V5Vm90aW5nUmVzdWx0AAAAAgUAAAAEcG9vbAUAAAALdGFyZ2V0RXBvY2gAAAAAAAAAAAAEAAAABXNoYXJlAwkAAAAAAAACBQAAAAp0b3RhbFZvdGVzAAAAAAAAAAAAAAAAAAAAAAAACQAAawAAAAMFAAAADHZvdGluZ1Jlc3VsdAUAAAAOcG9vbFdlaWdodE11bHQFAAAACnRvdGFsVm90ZXMJAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleVBvb2xTaGFyZQAAAAIFAAAABHBvb2wFAAAAC3RhcmdldEVwb2NoBQAAAAVzaGFyZQUAAAADbmlsBQAAAAR1bml0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAOZmluYWxpemVIZWxwZXIAAAAABAAAAAVlcG9jaAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA9rZXlDdXJyZW50RXBvY2gAAAAAAAAAAAAEAAAADXByZXZpb3VzRXBvY2gJAABlAAAAAgUAAAAFZXBvY2gAAAAAAAAAAAEEAAAAC3N0YXJ0SGVpZ2h0CQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAEdGhpcwkBAAAAFWtleVN0YXJ0SGVpZ2h0QnlFcG9jaAAAAAEFAAAABWVwb2NoBAAAAAtlcG9jaExlbmd0aAkBAAAADGdldEludE9yRmFpbAAAAAIFAAAABHRoaXMFAAAADmtleUVwb2NoTGVuZ3RoBAAAAAllbmRIZWlnaHQJAABkAAAAAgUAAAALc3RhcnRIZWlnaHQFAAAAC2Vwb2NoTGVuZ3RoBAAAABdmaW5hbGl6YXRpb25TdGFnZU9yVW5pdAkABBoAAAACBQAAAAR0aGlzBQAAABRrZXlGaW5hbGl6YXRpb25TdGFnZQMJAABnAAAAAgUAAAAGaGVpZ2h0BQAAAAllbmRIZWlnaHQEAAAACG5ld0Vwb2NoCQAAZAAAAAIFAAAABWVwb2NoAAAAAAAAAAABCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVrZXlTdGFydEhlaWdodEJ5RXBvY2gAAAABBQAAAAhuZXdFcG9jaAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rZXlTdGFydEhlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlDdXJyZW50RXBvY2gFAAAACG5ld0Vwb2NoCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrZXlGaW5hbGl6YXRpb25TdGFnZQUAAAAWZmluYWxpemF0aW9uU3RhZ2VUb3RhbAUAAAADbmlsBgMJAAAAAAAAAgUAAAAXZmluYWxpemF0aW9uU3RhZ2VPclVuaXQFAAAABHVuaXQJAAUUAAAAAgUAAAADbmlsBwMJAAAAAAAAAgUAAAAXZmluYWxpemF0aW9uU3RhZ2VPclVuaXQFAAAAFmZpbmFsaXphdGlvblN0YWdlVG90YWwEAAAACnBvb2xPclVuaXQJAAQiAAAAAQUAAAALa2V5TmV4dFBvb2wEAAAACnVzZXJPclVuaXQJAAQiAAAAAQUAAAALa2V5TmV4dFVzZXIEAAAAByRtYXRjaDAFAAAACnBvb2xPclVuaXQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAAByRtYXRjaDEJAAQiAAAAAQkBAAAAC2tleUxpc3RIZWFkAAAAAQUAAAANcG9vbHNMaXN0TmFtZQMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAAEVW5pdAkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrZXlGaW5hbGl6YXRpb25TdGFnZQUAAAAXZmluYWxpemF0aW9uU3RhZ2VTaGFyZXMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAALa2V5TmV4dFBvb2wJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAALa2V5TmV4dFVzZXIFAAAAA25pbAYDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAABlN0cmluZwQAAAAMcG9vbHNIZWFkU3RyBQAAAAckbWF0Y2gxCQAFFAAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAALa2V5TmV4dFBvb2wFAAAADHBvb2xzSGVhZFN0cgUAAAADbmlsBgkAAAIA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bnRFcG9jaFVpBQAAAAVlcG9jaAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa2V5U3RhcnRIZWlnaHRVaQUAAAALc3RhcnRIZWlnaHQFAAAAA25pbAYDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAABlN0cmluZwQAAAALbmV4dFBvb2xTdHIFAAAAByRtYXRjaDEJAAUUAAAAAgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAtrZXlOZXh0UG9vbAUAAAALbmV4dFBvb2xTdHIFAAAAA25pbAYJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAHcG9vbFN0cgUAAAAHJG1hdGNoMAQAAAAOcHJvY2Vzc1Bvb2xJbnYJAAP8AAAABAUAAAAEdGhpcwIAAAATcHJvY2Vzc1Bvb2xJTlRFUk5BTAkABEwAAAACBQAAAAdwb29sU3RyBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAOcHJvY2Vzc1Bvb2xJbnYFAAAADnByb2Nlc3NQb29sSW52BAAAAA5uZXh0UG9vbE9yVW5pdAkABCIAAAABCQEAAAALa2V5TGlzdE5leHQAAAACBQAAAA1wb29sc0xpc3ROYW1lBQAAAAdwb29sU3RyBAAAAAckbWF0Y2gxBQAAAA5uZXh0UG9vbE9yVW5pdAMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAAEVW5pdAkABRQAAAACCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAFGtleUZpbmFsaXphdGlvblN0YWdlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAAMa2V5RmluYWxpemVkAAAAAQUAAAANcHJldmlvdXNFcG9jaAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleUN1cnJlbnRFcG9jaFVpBQAAAAVlcG9jaAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa2V5U3RhcnRIZWlnaHRVaQUAAAALc3RhcnRIZWlnaHQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAALa2V5TmV4dFBv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", "chainId": 84, "height": 2104454, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: B1djKxLP76VofK9fCEDdr7KAX7THRFb4a8d2MLeusKV3 Next: 7rodGGGNeBx6DZ5H97unpj5vRfr3HFt9mb4C1Mnkn7Eg Diff:
OldNewDifferences
180180 func ai (Y,ac) = {
181181 let af = getString(this, X(Y))
182182 let aj = valueOrElse(getInteger(this, aa(Y)), 0)
183- (([IntegerEntry(aa(Y), (aj + 1))] ++ (if ((af != unit))
184- then [StringEntry(ad(Y, ac), value(af)), StringEntry(ab(Y, value(af)), ac)]
185- else nil)) ++ [StringEntry(X(Y), ac)])
183+ let ak = if (!(ae(Y, ac)))
184+ then true
185+ else throw("Node exists")
186+ if ((ak == ak))
187+ then (([IntegerEntry(aa(Y), (aj + 1))] ++ (if ((af != unit))
188+ then [StringEntry(ad(Y, ac), value(af)), StringEntry(ab(Y, value(af)), ac)]
189+ else nil)) ++ [StringEntry(X(Y), ac)])
190+ else throw("Strict value is not equal to itself.")
186191 }
187192
188193
189-func ak (Y,ac) = {
194+func al (Y,ac) = {
190195 let af = getString(this, X(Y))
191196 let aj = valueOrElse(getInteger(this, aa(Y)), 0)
192197 let ag = getString(this, ab(Y, ac))
205210 }
206211
207212
208-func al () = "%s__managerPublicKey"
213+func am () = "%s__managerPublicKey"
209214
210215
211-func am () = "%s__pendingManagerPublicKey"
216+func an () = "%s__pendingManagerPublicKey"
212217
213218
214-func an () = {
215- let L = getString(al())
219+func ao () = {
220+ let L = getString(am())
216221 if ($isInstanceOf(L, "String"))
217222 then {
218- let ao = L
219- fromBase58String(ao)
223+ let ap = L
224+ fromBase58String(ap)
220225 }
221226 else if ($isInstanceOf(L, "Unit"))
222227 then unit
224229 }
225230
226231
227-func ap () = {
228- let L = getString(am())
232+func aq () = {
233+ let L = getString(an())
229234 if ($isInstanceOf(L, "String"))
230235 then {
231- let ao = L
232- fromBase58String(ao)
236+ let ap = L
237+ fromBase58String(ap)
233238 }
234239 else if ($isInstanceOf(L, "Unit"))
235240 then unit
237242 }
238243
239244
240-let aq = throw("Permission denied")
245+let ar = throw("Permission denied")
241246
242-func ar (as) = if ((as.caller == this))
247+func as (at) = if ((at.caller == this))
243248 then true
244- else aq
249+ else ar
245250
246251
247-func at (as) = {
248- let L = an()
252+func au (at) = {
253+ let L = ao()
249254 if ($isInstanceOf(L, "ByteVector"))
250255 then {
251- let au = L
252- if ((as.callerPublicKey == au))
256+ let av = L
257+ if ((at.callerPublicKey == av))
253258 then true
254- else aq
259+ else ar
255260 }
256261 else if ($isInstanceOf(L, "Unit"))
257- then ar(as)
262+ then as(at)
258263 else throw("Match error")
259264 }
260265
261266
262-@Callable(as)
263-func setManager (av) = {
264- let aw = at(as)
265- if ((aw == aw))
267+@Callable(at)
268+func setManager (aw) = {
269+ let ax = au(at)
270+ if ((ax == ax))
266271 then {
267- let ax = fromBase58String(av)
268- if ((ax == ax))
269- then [StringEntry(am(), av)]
272+ let ay = fromBase58String(aw)
273+ if ((ay == ay))
274+ then [StringEntry(an(), aw)]
270275 else throw("Strict value is not equal to itself.")
271276 }
272277 else throw("Strict value is not equal to itself.")
274279
275280
276281
277-@Callable(as)
282+@Callable(at)
278283 func confirmManager () = {
279- let ay = ap()
280- let az = if (isDefined(ay))
284+ let az = aq()
285+ let aA = if (isDefined(az))
281286 then true
282287 else throw("No pending manager")
283- if ((az == az))
288+ if ((aA == aA))
284289 then {
285- let aA = if ((as.callerPublicKey == value(ay)))
290+ let aB = if ((at.callerPublicKey == value(az)))
286291 then true
287292 else throw("You are not pending manager")
288- if ((aA == aA))
289- then [StringEntry(al(), toBase58String(value(ay))), DeleteEntry(am())]
293+ if ((aB == aB))
294+ then [StringEntry(am(), toBase58String(value(az))), DeleteEntry(an())]
290295 else throw("Strict value is not equal to itself.")
291296 }
292297 else throw("Strict value is not equal to itself.")
294299
295300
296301
297-@Callable(as)
298-func getUserGwxAmountAtHeight (aB,aC) = {
299- let aD = valueOrErrorMessage(addressFromString(O(this, j)), "invalid boosting contract address")
302+@Callable(at)
303+func getUserGwxAmountAtHeight (aC,aD) = {
304+ let aE = valueOrErrorMessage(addressFromString(O(this, j)), "invalid boosting contract address")
300305 $Tuple2(nil, {
301- let P = invoke(aD, "getUserGwxAmountAtHeightREADONLY", [aB, aC], nil)
306+ let P = invoke(aE, "getUserGwxAmountAtHeightREADONLY", [aC, aD], nil)
302307 if ($isInstanceOf(P, "Int"))
303308 then P
304309 else throw("Couldn't cast Any to Int")
307312
308313
309314
310-@Callable(as)
311-func constructor (aE,aF,aG) = {
312- let aH = [at(as), if ((addressFromString(aE) != unit))
315+@Callable(at)
316+func constructor (aF,aG,aH) = {
317+ let aI = [au(at), if ((addressFromString(aF) != unit))
313318 then true
314- else "invalid voting emission candidate contract address", if ((addressFromString(aF) != unit))
319+ else "invalid voting emission candidate contract address", if ((addressFromString(aG) != unit))
315320 then true
316- else "invalid boosting contract address", if ((aG > 0))
321+ else "invalid boosting contract address", if ((aH > 0))
317322 then true
318323 else throw("invalid epoch length")]
319- if ((aH == aH))
320- then $Tuple2([StringEntry(i, aE), StringEntry(j, aF), IntegerEntry(f, aG)], unit)
324+ if ((aI == aI))
325+ then $Tuple2([StringEntry(i, aF), StringEntry(j, aG), IntegerEntry(f, aH)], unit)
321326 else throw("Strict value is not equal to itself.")
322327 }
323328
324329
325330
326-@Callable(as)
331+@Callable(at)
327332 func create (w,x) = {
328- let aI = [if ((toBase58String(as.caller.bytes) == valueOrElse(getString(this, i), "")))
333+ let aJ = [if ((toBase58String(at.caller.bytes) == valueOrElse(getString(this, i), "")))
329334 then true
330- else at(as)]
331- if ((aI == aI))
335+ else au(at)]
336+ if ((aJ == aJ))
332337 then {
333338 let u = $Tuple2(w, x)
334- let aJ = ([BooleanEntry(t(u), true)] ++ ai(U, R(u)))
335- let aK = (getInteger(this, g) == unit)
336- let aL = if (aK)
339+ let aK = ([BooleanEntry(t(u), true)] ++ ai(U, R(u)))
340+ let aL = (getInteger(this, g) == unit)
341+ let aM = if (aL)
337342 then {
338343 let r = 0
339344 [IntegerEntry(g, r), IntegerEntry(q(r), height), IntegerEntry(n, height), IntegerEntry(o, r), IntegerEntry(p, height)]
340345 }
341346 else nil
342- $Tuple2((aJ ++ aL), unit)
347+ $Tuple2((aK ++ aM), unit)
343348 }
344349 else throw("Strict value is not equal to itself.")
345350 }
346351
347352
348353
349-@Callable(as)
350-func vote (w,x,aM) = {
354+@Callable(at)
355+func vote (w,x,aN) = {
351356 let u = $Tuple2(w, x)
352357 let r = valueOrElse(getInteger(this, g), 0)
353- let aN = Q(this, q(r))
354- let aG = Q(this, f)
355- let aO = (aN + aG)
356- let aP = getInteger(this, k)
357- let aQ = valueOrElse(getInteger(this, y(as.caller, r)), 0)
358- let aR = valueOrElse(getInteger(this, A(u, as.caller, r)), 0)
359- let aS = valueOrElse(getInteger(this, C(u, r)), 0)
360- let aT = valueOrElse(getInteger(this, G(r)), 0)
361- let aU = {
362- let P = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(as.caller.bytes), aO], nil)
358+ let aO = Q(this, q(r))
359+ let aH = Q(this, f)
360+ let aP = (aO + aH)
361+ let aQ = getInteger(this, k)
362+ let aR = valueOrElse(getInteger(this, y(at.caller, r)), 0)
363+ let aS = valueOrElse(getInteger(this, A(u, at.caller, r)), 0)
364+ let aT = valueOrElse(getInteger(this, C(u, r)), 0)
365+ let aU = valueOrElse(getInteger(this, G(r)), 0)
366+ let aV = {
367+ let P = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(at.caller.bytes), aP], nil)
363368 if ($isInstanceOf(P, "Int"))
364369 then P
365370 else throw("Couldn't cast Any to Int")
366371 }
367- let aV = (aU - aQ)
368- let aW = (aR + aM)
369- let aI = [if ((getBoolean(t(u)) != unit))
372+ let aW = (aV - aR)
373+ let aX = (aS + aN)
374+ let aJ = [if ((getBoolean(t(u)) != unit))
370375 then true
371- else throw("invalid assets"), if ((aO > height))
376+ else throw("invalid assets"), if ((aP > height))
372377 then true
373- else throw("invalid height"), if ((aP == unit))
378+ else throw("invalid height"), if ((aQ == unit))
374379 then true
375- else throw("finalization in progress"), if ((aU > 0))
380+ else throw("finalization in progress"), if ((aV > 0))
376381 then true
377- else throw("you do not have gWX"), if (if ((aM > 0))
378- then (aV >= aM)
382+ else throw("you do not have gWX"), if (if ((aN > 0))
383+ then (aW >= aN)
379384 else false)
380385 then true
381386 else throw("invalid amount")]
382- if ((aI == aI))
387+ if ((aJ == aJ))
383388 then {
384- let aX = V(u)
385- let aY = toString(as.caller)
386- let aZ = if (ae(aX, aY))
389+ let aY = V(u)
390+ let aZ = toString(at.caller)
391+ let ba = if (ae(aY, aZ))
387392 then nil
388- else ai(aX, aY)
389- $Tuple2(([IntegerEntry(y(as.caller, r), (aQ + aM)), IntegerEntry(A(u, as.caller, r), aW), IntegerEntry(C(u, r), (aS + aM)), IntegerEntry(G(r), (aT + aM))] ++ aZ), unit)
393+ else ai(aY, aZ)
394+ $Tuple2(([IntegerEntry(y(at.caller, r), (aR + aN)), IntegerEntry(A(u, at.caller, r), aX), IntegerEntry(C(u, r), (aT + aN)), IntegerEntry(G(r), (aU + aN))] ++ ba), unit)
390395 }
391396 else throw("Strict value is not equal to itself.")
392397 }
393398
394399
395400
396-@Callable(as)
401+@Callable(at)
397402 func cancelVote (w,x) = {
398403 let u = $Tuple2(w, x)
399404 let r = valueOrElse(getInteger(this, g), 0)
400- let aN = Q(this, q(r))
401- let aG = Q(this, f)
402- let aO = (aN + aG)
403- let aP = getInteger(this, k)
404- let aQ = valueOrElse(getInteger(this, y(as.caller, r)), 0)
405- let aR = valueOrElse(getInteger(this, A(u, as.caller, r)), 0)
406- let aS = valueOrElse(getInteger(this, C(u, r)), 0)
407- let aT = valueOrElse(getInteger(this, G(r)), 0)
408- let aI = [if ((getBoolean(t(u)) != unit))
405+ let aO = Q(this, q(r))
406+ let aH = Q(this, f)
407+ let aP = (aO + aH)
408+ let aQ = getInteger(this, k)
409+ let aR = valueOrElse(getInteger(this, y(at.caller, r)), 0)
410+ let aS = valueOrElse(getInteger(this, A(u, at.caller, r)), 0)
411+ let aT = valueOrElse(getInteger(this, C(u, r)), 0)
412+ let aU = valueOrElse(getInteger(this, G(r)), 0)
413+ let aJ = [if ((getBoolean(t(u)) != unit))
409414 then true
410- else throw("invalid assets"), if ((aO > height))
415+ else throw("invalid assets"), if ((aP > height))
411416 then true
412- else throw("invalid height"), if ((aP == unit))
417+ else throw("invalid height"), if ((aQ == unit))
413418 then true
414- else throw("finalization in progress"), if ((aR > 0))
419+ else throw("finalization in progress"), if ((aS > 0))
415420 then true
416421 else throw("no vote")]
417- if ((aI == aI))
422+ if ((aJ == aJ))
418423 then {
419- let aX = V(u)
420- let aY = toString(as.caller)
421- $Tuple2(([IntegerEntry(y(as.caller, r), max([(aQ - aR), 0])), DeleteEntry(A(u, as.caller, r)), IntegerEntry(C(u, r), (aS - aR)), IntegerEntry(G(r), (aT - aR))] ++ ak(aX, aY)), unit)
424+ let aY = V(u)
425+ let aZ = toString(at.caller)
426+ $Tuple2(([IntegerEntry(y(at.caller, r), max([(aR - aS), 0])), DeleteEntry(A(u, at.caller, r)), IntegerEntry(C(u, r), (aT - aS)), IntegerEntry(G(r), (aU - aS))] ++ al(aY, aZ)), unit)
422427 }
423428 else throw("Strict value is not equal to itself.")
424429 }
425430
426431
427432
428-@Callable(as)
429-func setEpochLength (ba) = {
430- let aH = [at(as), if ((ba > 0))
433+@Callable(at)
434+func setEpochLength (bb) = {
435+ let aI = [au(at), if ((bb > 0))
431436 then true
432437 else throw("invalid epoch length")]
433- if ((aH == aH))
434- then $Tuple2([IntegerEntry(f, ba)], unit)
438+ if ((aI == aI))
439+ then $Tuple2([IntegerEntry(f, bb)], unit)
435440 else throw("Strict value is not equal to itself.")
436441 }
437442
438443
439444
440-@Callable(as)
441-func setMaxDepth (bb) = {
442- let aH = [at(as), if ((bb > 0))
445+@Callable(at)
446+func setMaxDepth (bc) = {
447+ let aI = [au(at), if ((bc > 0))
443448 then true
444449 else throw("invalid max depth")]
445- if ((aH == aH))
446- then $Tuple2([IntegerEntry(h, bb)], unit)
450+ if ((aI == aI))
451+ then $Tuple2([IntegerEntry(h, bc)], unit)
447452 else throw("Strict value is not equal to itself.")
448453 }
449454
450455
451456
452-@Callable(as)
453-func processVoteINTERNAL (bc,aY) = {
454- let aw = ar(as)
455- if ((aw == aw))
457+@Callable(at)
458+func processVoteINTERNAL (bd,aZ) = {
459+ let ax = as(at)
460+ if ((ax == ax))
456461 then {
457- let aB = valueOrErrorMessage(addressFromString(aY), ("processVoteINTERNAL: invalid user address " + aY))
462+ let aC = valueOrErrorMessage(addressFromString(aZ), ("processVoteINTERNAL: invalid user address " + aZ))
458463 let r = Q(this, g)
459- let bd = (r - 1)
460- let aG = Q(this, f)
461- let aN = Q(this, q(r))
462- let aO = (aN + aG)
463- let be = Q(this, q(bd))
464- let bf = (be + aG)
465- let bg = if ((bd >= 0))
464+ let be = (r - 1)
465+ let aH = Q(this, f)
466+ let aO = Q(this, q(r))
467+ let aP = (aO + aH)
468+ let bf = Q(this, q(be))
469+ let bg = (bf + aH)
470+ let bh = if ((be >= 0))
466471 then true
467472 else throw("processVoteINTERNAL: invalid previous epoch")
468- if ((bg == bg))
473+ if ((bh == bh))
469474 then {
470- let u = S(bc)
471- let aU = {
472- let P = invoke(this, "getUserGwxAmountAtHeight", [aY, aO], nil)
475+ let u = S(bd)
476+ let aV = {
477+ let P = invoke(this, "getUserGwxAmountAtHeight", [aZ, aP], nil)
473478 if ($isInstanceOf(P, "Int"))
474479 then P
475480 else throw("Couldn't cast Any to Int")
476481 }
477- let bh = {
478- let P = invoke(this, "getUserGwxAmountAtHeight", [aY, bf], nil)
482+ let bi = {
483+ let P = invoke(this, "getUserGwxAmountAtHeight", [aZ, bg], nil)
479484 if ($isInstanceOf(P, "Int"))
480485 then P
481486 else throw("Couldn't cast Any to Int")
482487 }
483- let aT = valueOrElse(getInteger(G(r)), 0)
484- let bi = valueOrElse(getInteger(C(u, r)), 0)
485- let bj = valueOrErrorMessage(getInteger(A(u, aB, bd)), (((("processVoteINTERNAL " + bc) + " ") + aY) + ": no previous vote"))
486- let aQ = valueOrElse(getInteger(this, y(aB, r)), 0)
487- let aW = fraction(bj, aU, bh)
488- let bk = if ((aW > 0))
489- then [IntegerEntry(A(u, aB, r), aW), IntegerEntry(G(r), (aT + aW)), IntegerEntry(C(u, r), (bi + aW)), IntegerEntry(y(aB, r), (aQ + aW))]
490- else ak(V(u), aY)
491- $Tuple2(bk, unit)
488+ let aU = valueOrElse(getInteger(G(r)), 0)
489+ let bj = valueOrElse(getInteger(C(u, r)), 0)
490+ let bk = valueOrErrorMessage(getInteger(A(u, aC, be)), (((("processVoteINTERNAL " + bd) + " ") + aZ) + ": no previous vote"))
491+ let aR = valueOrElse(getInteger(this, y(aC, r)), 0)
492+ let aX = fraction(bk, aV, bi)
493+ let bl = if ((aX > 0))
494+ then [IntegerEntry(A(u, aC, r), aX), IntegerEntry(G(r), (aU + aX)), IntegerEntry(C(u, r), (bj + aX)), IntegerEntry(y(aC, r), (aR + aX))]
495+ else al(V(u), aZ)
496+ $Tuple2(bl, unit)
492497 }
493498 else throw("Strict value is not equal to itself.")
494499 }
497502
498503
499504
500-@Callable(as)
501-func processPoolINTERNAL (bc) = {
502- let aw = ar(as)
503- if ((aw == aw))
505+@Callable(at)
506+func processPoolINTERNAL (bd) = {
507+ let ax = as(at)
508+ if ((ax == ax))
504509 then {
505- let bl = (Q(this, g) - 1)
506- let bg = if ((bl >= 0))
510+ let bm = (Q(this, g) - 1)
511+ let bh = if ((bm >= 0))
507512 then true
508513 else throw("processPoolINTERNAL: invalid target epoch")
509- if ((bg == bg))
514+ if ((bh == bh))
510515 then {
511- let u = S(bc)
512- let aT = valueOrElse(getInteger(this, G(bl)), 0)
513- let bi = valueOrElse(getInteger(this, C(u, bl)), 0)
514- let bm = if ((aT == 0))
516+ let u = S(bd)
517+ let aU = valueOrElse(getInteger(this, G(bm)), 0)
518+ let bj = valueOrElse(getInteger(this, C(u, bm)), 0)
519+ let bn = if ((aU == 0))
515520 then 0
516- else fraction(bi, b, aT)
517- $Tuple2([IntegerEntry(E(u, bl), bm)], unit)
521+ else fraction(bj, b, aU)
522+ $Tuple2([IntegerEntry(E(u, bm), bn)], unit)
518523 }
519524 else throw("Strict value is not equal to itself.")
520525 }
523528
524529
525530
526-@Callable(as)
531+@Callable(at)
527532 func finalizeHelper () = {
528533 let r = valueOrElse(getInteger(this, g), 0)
529- let bn = (r - 1)
530- let aN = Q(this, q(r))
531- let aG = Q(this, f)
532- let aO = (aN + aG)
533- let aP = getInteger(this, k)
534- if ((height >= aO))
534+ let bo = (r - 1)
535+ let aO = Q(this, q(r))
536+ let aH = Q(this, f)
537+ let aP = (aO + aH)
538+ let aQ = getInteger(this, k)
539+ if ((height >= aP))
535540 then {
536- let bo = (r + 1)
537- $Tuple2([IntegerEntry(q(bo), height), IntegerEntry(n, height), IntegerEntry(g, bo), IntegerEntry(k, d)], true)
541+ let bp = (r + 1)
542+ $Tuple2([IntegerEntry(q(bp), height), IntegerEntry(n, height), IntegerEntry(g, bp), IntegerEntry(k, d)], true)
538543 }
539- else if ((aP == unit))
544+ else if ((aQ == unit))
540545 then $Tuple2(nil, false)
541- else if ((aP == d))
546+ else if ((aQ == d))
542547 then {
543- let bp = getString(l)
544- let bq = getString(m)
545- let L = bp
548+ let bq = getString(l)
549+ let br = getString(m)
550+ let L = bq
546551 if ($isInstanceOf(L, "Unit"))
547552 then {
548- let br = getString(X(U))
549- if ($isInstanceOf(br, "Unit"))
553+ let bs = getString(X(U))
554+ if ($isInstanceOf(bs, "Unit"))
550555 then $Tuple2([IntegerEntry(k, e), DeleteEntry(l), DeleteEntry(m)], true)
551- else if ($isInstanceOf(br, "String"))
556+ else if ($isInstanceOf(bs, "String"))
552557 then {
553- let bs = br
554- $Tuple2([StringEntry(l, bs)], true)
558+ let bt = bs
559+ $Tuple2([StringEntry(l, bt)], true)
555560 }
556561 else throw("Match error")
557562 }
558563 else if ($isInstanceOf(L, "String"))
559564 then {
560- let bc = L
561- let u = S(bc)
562- let bt = {
563- let br = bq
564- if ($isInstanceOf(br, "Unit"))
565+ let bd = L
566+ let u = S(bd)
567+ let bu = {
568+ let bs = br
569+ if ($isInstanceOf(bs, "Unit"))
565570 then getString(X(V(u)))
566- else if ($isInstanceOf(br, "String"))
571+ else if ($isInstanceOf(bs, "String"))
567572 then {
568- let bu = br
569- let bv = invoke(this, "processVoteINTERNAL", [bc, bu], nil)
570- if ((bv == bv))
571- then getString(ad(V(u), bu))
573+ let bv = bs
574+ let bw = invoke(this, "processVoteINTERNAL", [bd, bv], nil)
575+ if ((bw == bw))
576+ then getString(ad(V(u), bv))
572577 else throw("Strict value is not equal to itself.")
573578 }
574579 else throw("Match error")
575580 }
576- let br = bt
577- if ($isInstanceOf(br, "Unit"))
581+ let bs = bu
582+ if ($isInstanceOf(bs, "Unit"))
578583 then {
579- let bw = getString(ad(U, bc))
580- let bx = bw
581- if ($isInstanceOf(bx, "Unit"))
584+ let bx = getString(ad(U, bd))
585+ let by = bx
586+ if ($isInstanceOf(by, "Unit"))
582587 then $Tuple2([IntegerEntry(k, e), DeleteEntry(l), DeleteEntry(m)], true)
583- else if ($isInstanceOf(bx, "String"))
588+ else if ($isInstanceOf(by, "String"))
584589 then {
585- let ao = bx
586- $Tuple2([StringEntry(l, ao), DeleteEntry(m)], true)
590+ let ap = by
591+ $Tuple2([StringEntry(l, ap), DeleteEntry(m)], true)
587592 }
588593 else throw("Match error")
589594 }
590- else if ($isInstanceOf(br, "String"))
595+ else if ($isInstanceOf(bs, "String"))
591596 then {
592- let by = br
593- $Tuple2([StringEntry(m, by)], true)
597+ let bz = bs
598+ $Tuple2([StringEntry(m, bz)], true)
594599 }
595600 else throw("Match error")
596601 }
597602 else throw("Match error")
598603 }
599- else if ((aP == e))
604+ else if ((aQ == e))
600605 then {
601- let bp = getString(l)
602- let L = bp
606+ let bq = getString(l)
607+ let L = bq
603608 if ($isInstanceOf(L, "Unit"))
604609 then {
605- let br = getString(X(U))
606- if ($isInstanceOf(br, "Unit"))
607- then $Tuple2([DeleteEntry(k), BooleanEntry(s(bn), true), IntegerEntry(o, r), IntegerEntry(p, aN)], true)
608- else if ($isInstanceOf(br, "String"))
610+ let bs = getString(X(U))
611+ if ($isInstanceOf(bs, "Unit"))
612+ then $Tuple2([DeleteEntry(k), BooleanEntry(s(bo), true), IntegerEntry(o, r), IntegerEntry(p, aO)], true)
613+ else if ($isInstanceOf(bs, "String"))
609614 then {
610- let bz = br
611- $Tuple2([StringEntry(l, bz)], true)
615+ let bA = bs
616+ $Tuple2([StringEntry(l, bA)], true)
612617 }
613618 else throw("Match error")
614619 }
615620 else if ($isInstanceOf(L, "String"))
616621 then {
617- let bc = L
618- let bA = invoke(this, "processPoolINTERNAL", [bc], nil)
619- if ((bA == bA))
622+ let bd = L
623+ let bB = invoke(this, "processPoolINTERNAL", [bd], nil)
624+ if ((bB == bB))
620625 then {
621- let bw = getString(ad(U, bc))
622- let br = bw
623- if ($isInstanceOf(br, "Unit"))
624- then $Tuple2([DeleteEntry(k), BooleanEntry(s(bn), true), IntegerEntry(o, r), IntegerEntry(p, aN), DeleteEntry(l)], true)
625- else if ($isInstanceOf(br, "String"))
626+ let bx = getString(ad(U, bd))
627+ let bs = bx
628+ if ($isInstanceOf(bs, "Unit"))
629+ then $Tuple2([DeleteEntry(k), BooleanEntry(s(bo), true), IntegerEntry(o, r), IntegerEntry(p, aO), DeleteEntry(l)], true)
630+ else if ($isInstanceOf(bs, "String"))
626631 then {
627- let bz = br
628- $Tuple2([StringEntry(l, bz)], true)
632+ let bA = bs
633+ $Tuple2([StringEntry(l, bA)], true)
629634 }
630635 else throw("Match error")
631636 }
638643
639644
640645
641-@Callable(as)
642-func finalizeWrapper (bB) = {
643- let bC = {
646+@Callable(at)
647+func finalizeWrapper (bC) = {
648+ let bD = {
644649 let P = invoke(this, "finalizeHelper", nil, nil)
645650 if ($isInstanceOf(P, "Boolean"))
646651 then P
647652 else throw("Couldn't cast Any to Boolean")
648653 }
649- if ((bC == bC))
650- then if (!(bC))
651- then if ((bB == 0))
654+ if ((bD == bD))
655+ then if (!(bD))
656+ then if ((bC == 0))
652657 then throw("Current voting is not over yet")
653658 else $Tuple2(nil, unit)
654659 else {
655- let bD = valueOrElse(getInteger(this, h), c)
656- if ((bD > bB))
660+ let bE = valueOrElse(getInteger(this, h), c)
661+ if ((bE > bC))
657662 then {
658- let bE = invoke(this, "finalizeWrapper", [(bB + 1)], nil)
659- if ((bE == bE))
663+ let bF = invoke(this, "finalizeWrapper", [(bC + 1)], nil)
664+ if ((bF == bF))
660665 then $Tuple2(nil, unit)
661666 else throw("Strict value is not equal to itself.")
662667 }
667672
668673
669674
670-@Callable(as)
675+@Callable(at)
671676 func finalize () = {
672- let bE = invoke(this, "finalizeWrapper", [0], nil)
673- if ((bE == bE))
677+ let bF = invoke(this, "finalizeWrapper", [0], nil)
678+ if ((bF == bF))
674679 then $Tuple2(nil, unit)
675680 else throw("Strict value is not equal to itself.")
676681 }
677682
678683
679684
680-@Callable(as)
681-func onVerificationLoss (bF) = $Tuple2(nil, unit)
685+@Callable(at)
686+func onVerificationLoss (bG) = $Tuple2(nil, unit)
682687
683688
684689
685-@Callable(as)
690+@Callable(at)
686691 func containsNodeREADONLY (Y,ac) = $Tuple2(nil, ae(Y, ac))
687692
688693
689694
690-@Callable(as)
695+@Callable(at)
691696 func insertNode (Y,ac) = {
692- let aw = at(as)
693- if ((aw == aw))
697+ let ax = au(at)
698+ if ((ax == ax))
694699 then $Tuple2(ai(Y, ac), unit)
695700 else throw("Strict value is not equal to itself.")
696701 }
697702
698703
699704
700-@Callable(as)
705+@Callable(at)
701706 func deleteNode (Y,ac) = {
702- let aw = at(as)
703- if ((aw == aw))
704- then $Tuple2(ak(Y, ac), unit)
707+ let ax = au(at)
708+ if ((ax == ax))
709+ then $Tuple2(al(Y, ac), unit)
705710 else throw("Strict value is not equal to itself.")
706711 }
707712
708713
709-@Verifier(bG)
710-func bH () = {
711- let bI = {
712- let L = an()
714+@Verifier(bH)
715+func bI () = {
716+ let bJ = {
717+ let L = ao()
713718 if ($isInstanceOf(L, "ByteVector"))
714719 then {
715- let au = L
716- au
720+ let av = L
721+ av
717722 }
718723 else if ($isInstanceOf(L, "Unit"))
719- then bG.senderPublicKey
724+ then bH.senderPublicKey
720725 else throw("Match error")
721726 }
722- sigVerify(bG.bodyBytes, bG.proofs[0], bI)
727+ sigVerify(bH.bodyBytes, bH.proofs[0], bJ)
723728 }
724729
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
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", "currentEpoch"], a)
1717
1818 let h = makeString(["%s", "maxDepth"], a)
1919
2020 let i = makeString(["%s", "votingEmissionCandidateContract"], a)
2121
2222 let j = makeString(["%s", "boostingContract"], a)
2323
2424 let k = makeString(["%s", "finalizationStage"], a)
2525
2626 let l = makeString(["%s", "nextPool"], a)
2727
2828 let m = makeString(["%s", "nextUser"], a)
2929
3030 let n = makeString(["%s", "startHeight"], a)
3131
3232 let o = makeString(["%s", "currentEpochUi"], a)
3333
3434 let p = makeString(["%s", "startHeightUi"], a)
3535
3636 func q (r) = makeString(["%s%d", "startHeight", toString(r)], a)
3737
3838
3939 func s (r) = makeString(["%s%d", "finalized", toString(r)], a)
4040
4141
4242 func t (u) = {
4343 let v = u
4444 let w = v._1
4545 let x = v._2
4646 makeString(["%s%s%s", "inList", w, x], a)
4747 }
4848
4949
5050 func y (z,r) = makeString(["%s%s%d", "used", toString(z), toString(r)], a)
5151
5252
5353 func A (u,z,r) = {
5454 let B = u
5555 let w = B._1
5656 let x = B._2
5757 makeString(["%s%s%s%s%d", "vote", w, x, toString(z), toString(r)], a)
5858 }
5959
6060
6161 func C (u,r) = {
6262 let D = u
6363 let w = D._1
6464 let x = D._2
6565 makeString(["%s%s%s%d", "votingResult", w, x, toString(r)], a)
6666 }
6767
6868
6969 func E (u,r) = {
7070 let F = u
7171 let w = F._1
7272 let x = F._2
7373 makeString(["%s%s%s%d", "poolShare", w, x, toString(r)], a)
7474 }
7575
7676
7777 func G (r) = makeString(["%s%d", "totalVotes", toString(r)], a)
7878
7979
8080 func H (z,I,J) = {
8181 let K = makeString(["mandatory ", toString(z), ".", I, " is not defined"], "")
8282 valueOrErrorMessage({
8383 let L = J
8484 if ($isInstanceOf(L, "String"))
8585 then {
8686 let M = L
8787 getString(z, I)
8888 }
8989 else if ($isInstanceOf(L, "Int"))
9090 then {
9191 let N = L
9292 getInteger(z, I)
9393 }
9494 else throw("invalid entry type")
9595 }, K)
9696 }
9797
9898
9999 func O (z,I) = {
100100 let P = H(z, I, "")
101101 if ($isInstanceOf(P, "String"))
102102 then P
103103 else throw("Couldn't cast Int|String to String")
104104 }
105105
106106
107107 func Q (z,I) = {
108108 let P = H(z, I, 0)
109109 if ($isInstanceOf(P, "Int"))
110110 then P
111111 else throw("Couldn't cast Int|String to Int")
112112 }
113113
114114
115115 func R (u) = ((u._1 + a) + u._2)
116116
117117
118118 func S (M) = {
119119 let T = split(M, a)
120120 if ((size(T) == 2))
121121 then $Tuple2(T[0], T[1])
122122 else throw("invalid pool string")
123123 }
124124
125125
126126 let U = "pools"
127127
128128 func V (u) = {
129129 let W = u
130130 let w = W._1
131131 let x = W._2
132132 makeString(["votes", w, x], a)
133133 }
134134
135135
136136 func X (Y) = {
137137 let Z = if ((Y == U))
138138 then "%s%s"
139139 else "%s%s%s%s"
140140 makeString([Z, Y, "head"], a)
141141 }
142142
143143
144144 func aa (Y) = {
145145 let Z = if ((Y == U))
146146 then "%s%s"
147147 else "%s%s%s%s"
148148 makeString([Z, Y, "size"], a)
149149 }
150150
151151
152152 func ab (Y,ac) = {
153153 let Z = if ((Y == U))
154154 then "%s%s%s%s"
155155 else "%s%s%s%s%s"
156156 makeString([Z, Y, ac, "prev"], a)
157157 }
158158
159159
160160 func ad (Y,ac) = {
161161 let Z = if ((Y == U))
162162 then "%s%s%s%s"
163163 else "%s%s%s%s%s"
164164 makeString([Z, Y, ac, "next"], a)
165165 }
166166
167167
168168 func ae (Y,ac) = {
169169 let af = getString(this, X(Y))
170170 let ag = getString(this, ab(Y, ac))
171171 let ah = getString(this, ad(Y, ac))
172172 if (if ((ac == valueOrElse(af, "")))
173173 then true
174174 else (ag != unit))
175175 then true
176176 else (ah != unit)
177177 }
178178
179179
180180 func ai (Y,ac) = {
181181 let af = getString(this, X(Y))
182182 let aj = valueOrElse(getInteger(this, aa(Y)), 0)
183- (([IntegerEntry(aa(Y), (aj + 1))] ++ (if ((af != unit))
184- then [StringEntry(ad(Y, ac), value(af)), StringEntry(ab(Y, value(af)), ac)]
185- else nil)) ++ [StringEntry(X(Y), ac)])
183+ let ak = if (!(ae(Y, ac)))
184+ then true
185+ else throw("Node exists")
186+ if ((ak == ak))
187+ then (([IntegerEntry(aa(Y), (aj + 1))] ++ (if ((af != unit))
188+ then [StringEntry(ad(Y, ac), value(af)), StringEntry(ab(Y, value(af)), ac)]
189+ else nil)) ++ [StringEntry(X(Y), ac)])
190+ else throw("Strict value is not equal to itself.")
186191 }
187192
188193
189-func ak (Y,ac) = {
194+func al (Y,ac) = {
190195 let af = getString(this, X(Y))
191196 let aj = valueOrElse(getInteger(this, aa(Y)), 0)
192197 let ag = getString(this, ab(Y, ac))
193198 let ah = getString(this, ad(Y, ac))
194199 ([IntegerEntry(aa(Y), (aj - 1))] ++ (if (if ((ag != unit))
195200 then (ah != unit)
196201 else false)
197202 then [StringEntry(ad(Y, value(ag)), value(ah)), StringEntry(ab(Y, value(ah)), value(ag)), DeleteEntry(ab(Y, ac)), DeleteEntry(ad(Y, ac))]
198203 else if ((ah != unit))
199204 then [StringEntry(X(Y), value(ah)), DeleteEntry(ad(Y, ac)), DeleteEntry(ab(Y, value(ah)))]
200205 else if ((ag != unit))
201206 then [DeleteEntry(ab(Y, ac)), DeleteEntry(ad(Y, value(ag)))]
202207 else if ((ac == valueOrElse(af, "")))
203208 then [DeleteEntry(X(Y))]
204209 else throw(((("invalid node: " + Y) + ".") + ac))))
205210 }
206211
207212
208-func al () = "%s__managerPublicKey"
213+func am () = "%s__managerPublicKey"
209214
210215
211-func am () = "%s__pendingManagerPublicKey"
216+func an () = "%s__pendingManagerPublicKey"
212217
213218
214-func an () = {
215- let L = getString(al())
219+func ao () = {
220+ let L = getString(am())
216221 if ($isInstanceOf(L, "String"))
217222 then {
218- let ao = L
219- fromBase58String(ao)
223+ let ap = L
224+ fromBase58String(ap)
220225 }
221226 else if ($isInstanceOf(L, "Unit"))
222227 then unit
223228 else throw("Match error")
224229 }
225230
226231
227-func ap () = {
228- let L = getString(am())
232+func aq () = {
233+ let L = getString(an())
229234 if ($isInstanceOf(L, "String"))
230235 then {
231- let ao = L
232- fromBase58String(ao)
236+ let ap = L
237+ fromBase58String(ap)
233238 }
234239 else if ($isInstanceOf(L, "Unit"))
235240 then unit
236241 else throw("Match error")
237242 }
238243
239244
240-let aq = throw("Permission denied")
245+let ar = throw("Permission denied")
241246
242-func ar (as) = if ((as.caller == this))
247+func as (at) = if ((at.caller == this))
243248 then true
244- else aq
249+ else ar
245250
246251
247-func at (as) = {
248- let L = an()
252+func au (at) = {
253+ let L = ao()
249254 if ($isInstanceOf(L, "ByteVector"))
250255 then {
251- let au = L
252- if ((as.callerPublicKey == au))
256+ let av = L
257+ if ((at.callerPublicKey == av))
253258 then true
254- else aq
259+ else ar
255260 }
256261 else if ($isInstanceOf(L, "Unit"))
257- then ar(as)
262+ then as(at)
258263 else throw("Match error")
259264 }
260265
261266
262-@Callable(as)
263-func setManager (av) = {
264- let aw = at(as)
265- if ((aw == aw))
267+@Callable(at)
268+func setManager (aw) = {
269+ let ax = au(at)
270+ if ((ax == ax))
266271 then {
267- let ax = fromBase58String(av)
268- if ((ax == ax))
269- then [StringEntry(am(), av)]
272+ let ay = fromBase58String(aw)
273+ if ((ay == ay))
274+ then [StringEntry(an(), aw)]
270275 else throw("Strict value is not equal to itself.")
271276 }
272277 else throw("Strict value is not equal to itself.")
273278 }
274279
275280
276281
277-@Callable(as)
282+@Callable(at)
278283 func confirmManager () = {
279- let ay = ap()
280- let az = if (isDefined(ay))
284+ let az = aq()
285+ let aA = if (isDefined(az))
281286 then true
282287 else throw("No pending manager")
283- if ((az == az))
288+ if ((aA == aA))
284289 then {
285- let aA = if ((as.callerPublicKey == value(ay)))
290+ let aB = if ((at.callerPublicKey == value(az)))
286291 then true
287292 else throw("You are not pending manager")
288- if ((aA == aA))
289- then [StringEntry(al(), toBase58String(value(ay))), DeleteEntry(am())]
293+ if ((aB == aB))
294+ then [StringEntry(am(), toBase58String(value(az))), DeleteEntry(an())]
290295 else throw("Strict value is not equal to itself.")
291296 }
292297 else throw("Strict value is not equal to itself.")
293298 }
294299
295300
296301
297-@Callable(as)
298-func getUserGwxAmountAtHeight (aB,aC) = {
299- let aD = valueOrErrorMessage(addressFromString(O(this, j)), "invalid boosting contract address")
302+@Callable(at)
303+func getUserGwxAmountAtHeight (aC,aD) = {
304+ let aE = valueOrErrorMessage(addressFromString(O(this, j)), "invalid boosting contract address")
300305 $Tuple2(nil, {
301- let P = invoke(aD, "getUserGwxAmountAtHeightREADONLY", [aB, aC], nil)
306+ let P = invoke(aE, "getUserGwxAmountAtHeightREADONLY", [aC, aD], nil)
302307 if ($isInstanceOf(P, "Int"))
303308 then P
304309 else throw("Couldn't cast Any to Int")
305310 })
306311 }
307312
308313
309314
310-@Callable(as)
311-func constructor (aE,aF,aG) = {
312- let aH = [at(as), if ((addressFromString(aE) != unit))
315+@Callable(at)
316+func constructor (aF,aG,aH) = {
317+ let aI = [au(at), if ((addressFromString(aF) != unit))
313318 then true
314- else "invalid voting emission candidate contract address", if ((addressFromString(aF) != unit))
319+ else "invalid voting emission candidate contract address", if ((addressFromString(aG) != unit))
315320 then true
316- else "invalid boosting contract address", if ((aG > 0))
321+ else "invalid boosting contract address", if ((aH > 0))
317322 then true
318323 else throw("invalid epoch length")]
319- if ((aH == aH))
320- then $Tuple2([StringEntry(i, aE), StringEntry(j, aF), IntegerEntry(f, aG)], unit)
324+ if ((aI == aI))
325+ then $Tuple2([StringEntry(i, aF), StringEntry(j, aG), IntegerEntry(f, aH)], unit)
321326 else throw("Strict value is not equal to itself.")
322327 }
323328
324329
325330
326-@Callable(as)
331+@Callable(at)
327332 func create (w,x) = {
328- let aI = [if ((toBase58String(as.caller.bytes) == valueOrElse(getString(this, i), "")))
333+ let aJ = [if ((toBase58String(at.caller.bytes) == valueOrElse(getString(this, i), "")))
329334 then true
330- else at(as)]
331- if ((aI == aI))
335+ else au(at)]
336+ if ((aJ == aJ))
332337 then {
333338 let u = $Tuple2(w, x)
334- let aJ = ([BooleanEntry(t(u), true)] ++ ai(U, R(u)))
335- let aK = (getInteger(this, g) == unit)
336- let aL = if (aK)
339+ let aK = ([BooleanEntry(t(u), true)] ++ ai(U, R(u)))
340+ let aL = (getInteger(this, g) == unit)
341+ let aM = if (aL)
337342 then {
338343 let r = 0
339344 [IntegerEntry(g, r), IntegerEntry(q(r), height), IntegerEntry(n, height), IntegerEntry(o, r), IntegerEntry(p, height)]
340345 }
341346 else nil
342- $Tuple2((aJ ++ aL), unit)
347+ $Tuple2((aK ++ aM), unit)
343348 }
344349 else throw("Strict value is not equal to itself.")
345350 }
346351
347352
348353
349-@Callable(as)
350-func vote (w,x,aM) = {
354+@Callable(at)
355+func vote (w,x,aN) = {
351356 let u = $Tuple2(w, x)
352357 let r = valueOrElse(getInteger(this, g), 0)
353- let aN = Q(this, q(r))
354- let aG = Q(this, f)
355- let aO = (aN + aG)
356- let aP = getInteger(this, k)
357- let aQ = valueOrElse(getInteger(this, y(as.caller, r)), 0)
358- let aR = valueOrElse(getInteger(this, A(u, as.caller, r)), 0)
359- let aS = valueOrElse(getInteger(this, C(u, r)), 0)
360- let aT = valueOrElse(getInteger(this, G(r)), 0)
361- let aU = {
362- let P = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(as.caller.bytes), aO], nil)
358+ let aO = Q(this, q(r))
359+ let aH = Q(this, f)
360+ let aP = (aO + aH)
361+ let aQ = getInteger(this, k)
362+ let aR = valueOrElse(getInteger(this, y(at.caller, r)), 0)
363+ let aS = valueOrElse(getInteger(this, A(u, at.caller, r)), 0)
364+ let aT = valueOrElse(getInteger(this, C(u, r)), 0)
365+ let aU = valueOrElse(getInteger(this, G(r)), 0)
366+ let aV = {
367+ let P = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(at.caller.bytes), aP], nil)
363368 if ($isInstanceOf(P, "Int"))
364369 then P
365370 else throw("Couldn't cast Any to Int")
366371 }
367- let aV = (aU - aQ)
368- let aW = (aR + aM)
369- let aI = [if ((getBoolean(t(u)) != unit))
372+ let aW = (aV - aR)
373+ let aX = (aS + aN)
374+ let aJ = [if ((getBoolean(t(u)) != unit))
370375 then true
371- else throw("invalid assets"), if ((aO > height))
376+ else throw("invalid assets"), if ((aP > height))
372377 then true
373- else throw("invalid height"), if ((aP == unit))
378+ else throw("invalid height"), if ((aQ == unit))
374379 then true
375- else throw("finalization in progress"), if ((aU > 0))
380+ else throw("finalization in progress"), if ((aV > 0))
376381 then true
377- else throw("you do not have gWX"), if (if ((aM > 0))
378- then (aV >= aM)
382+ else throw("you do not have gWX"), if (if ((aN > 0))
383+ then (aW >= aN)
379384 else false)
380385 then true
381386 else throw("invalid amount")]
382- if ((aI == aI))
387+ if ((aJ == aJ))
383388 then {
384- let aX = V(u)
385- let aY = toString(as.caller)
386- let aZ = if (ae(aX, aY))
389+ let aY = V(u)
390+ let aZ = toString(at.caller)
391+ let ba = if (ae(aY, aZ))
387392 then nil
388- else ai(aX, aY)
389- $Tuple2(([IntegerEntry(y(as.caller, r), (aQ + aM)), IntegerEntry(A(u, as.caller, r), aW), IntegerEntry(C(u, r), (aS + aM)), IntegerEntry(G(r), (aT + aM))] ++ aZ), unit)
393+ else ai(aY, aZ)
394+ $Tuple2(([IntegerEntry(y(at.caller, r), (aR + aN)), IntegerEntry(A(u, at.caller, r), aX), IntegerEntry(C(u, r), (aT + aN)), IntegerEntry(G(r), (aU + aN))] ++ ba), unit)
390395 }
391396 else throw("Strict value is not equal to itself.")
392397 }
393398
394399
395400
396-@Callable(as)
401+@Callable(at)
397402 func cancelVote (w,x) = {
398403 let u = $Tuple2(w, x)
399404 let r = valueOrElse(getInteger(this, g), 0)
400- let aN = Q(this, q(r))
401- let aG = Q(this, f)
402- let aO = (aN + aG)
403- let aP = getInteger(this, k)
404- let aQ = valueOrElse(getInteger(this, y(as.caller, r)), 0)
405- let aR = valueOrElse(getInteger(this, A(u, as.caller, r)), 0)
406- let aS = valueOrElse(getInteger(this, C(u, r)), 0)
407- let aT = valueOrElse(getInteger(this, G(r)), 0)
408- let aI = [if ((getBoolean(t(u)) != unit))
405+ let aO = Q(this, q(r))
406+ let aH = Q(this, f)
407+ let aP = (aO + aH)
408+ let aQ = getInteger(this, k)
409+ let aR = valueOrElse(getInteger(this, y(at.caller, r)), 0)
410+ let aS = valueOrElse(getInteger(this, A(u, at.caller, r)), 0)
411+ let aT = valueOrElse(getInteger(this, C(u, r)), 0)
412+ let aU = valueOrElse(getInteger(this, G(r)), 0)
413+ let aJ = [if ((getBoolean(t(u)) != unit))
409414 then true
410- else throw("invalid assets"), if ((aO > height))
415+ else throw("invalid assets"), if ((aP > height))
411416 then true
412- else throw("invalid height"), if ((aP == unit))
417+ else throw("invalid height"), if ((aQ == unit))
413418 then true
414- else throw("finalization in progress"), if ((aR > 0))
419+ else throw("finalization in progress"), if ((aS > 0))
415420 then true
416421 else throw("no vote")]
417- if ((aI == aI))
422+ if ((aJ == aJ))
418423 then {
419- let aX = V(u)
420- let aY = toString(as.caller)
421- $Tuple2(([IntegerEntry(y(as.caller, r), max([(aQ - aR), 0])), DeleteEntry(A(u, as.caller, r)), IntegerEntry(C(u, r), (aS - aR)), IntegerEntry(G(r), (aT - aR))] ++ ak(aX, aY)), unit)
424+ let aY = V(u)
425+ let aZ = toString(at.caller)
426+ $Tuple2(([IntegerEntry(y(at.caller, r), max([(aR - aS), 0])), DeleteEntry(A(u, at.caller, r)), IntegerEntry(C(u, r), (aT - aS)), IntegerEntry(G(r), (aU - aS))] ++ al(aY, aZ)), unit)
422427 }
423428 else throw("Strict value is not equal to itself.")
424429 }
425430
426431
427432
428-@Callable(as)
429-func setEpochLength (ba) = {
430- let aH = [at(as), if ((ba > 0))
433+@Callable(at)
434+func setEpochLength (bb) = {
435+ let aI = [au(at), if ((bb > 0))
431436 then true
432437 else throw("invalid epoch length")]
433- if ((aH == aH))
434- then $Tuple2([IntegerEntry(f, ba)], unit)
438+ if ((aI == aI))
439+ then $Tuple2([IntegerEntry(f, bb)], unit)
435440 else throw("Strict value is not equal to itself.")
436441 }
437442
438443
439444
440-@Callable(as)
441-func setMaxDepth (bb) = {
442- let aH = [at(as), if ((bb > 0))
445+@Callable(at)
446+func setMaxDepth (bc) = {
447+ let aI = [au(at), if ((bc > 0))
443448 then true
444449 else throw("invalid max depth")]
445- if ((aH == aH))
446- then $Tuple2([IntegerEntry(h, bb)], unit)
450+ if ((aI == aI))
451+ then $Tuple2([IntegerEntry(h, bc)], unit)
447452 else throw("Strict value is not equal to itself.")
448453 }
449454
450455
451456
452-@Callable(as)
453-func processVoteINTERNAL (bc,aY) = {
454- let aw = ar(as)
455- if ((aw == aw))
457+@Callable(at)
458+func processVoteINTERNAL (bd,aZ) = {
459+ let ax = as(at)
460+ if ((ax == ax))
456461 then {
457- let aB = valueOrErrorMessage(addressFromString(aY), ("processVoteINTERNAL: invalid user address " + aY))
462+ let aC = valueOrErrorMessage(addressFromString(aZ), ("processVoteINTERNAL: invalid user address " + aZ))
458463 let r = Q(this, g)
459- let bd = (r - 1)
460- let aG = Q(this, f)
461- let aN = Q(this, q(r))
462- let aO = (aN + aG)
463- let be = Q(this, q(bd))
464- let bf = (be + aG)
465- let bg = if ((bd >= 0))
464+ let be = (r - 1)
465+ let aH = Q(this, f)
466+ let aO = Q(this, q(r))
467+ let aP = (aO + aH)
468+ let bf = Q(this, q(be))
469+ let bg = (bf + aH)
470+ let bh = if ((be >= 0))
466471 then true
467472 else throw("processVoteINTERNAL: invalid previous epoch")
468- if ((bg == bg))
473+ if ((bh == bh))
469474 then {
470- let u = S(bc)
471- let aU = {
472- let P = invoke(this, "getUserGwxAmountAtHeight", [aY, aO], nil)
475+ let u = S(bd)
476+ let aV = {
477+ let P = invoke(this, "getUserGwxAmountAtHeight", [aZ, aP], nil)
473478 if ($isInstanceOf(P, "Int"))
474479 then P
475480 else throw("Couldn't cast Any to Int")
476481 }
477- let bh = {
478- let P = invoke(this, "getUserGwxAmountAtHeight", [aY, bf], nil)
482+ let bi = {
483+ let P = invoke(this, "getUserGwxAmountAtHeight", [aZ, bg], nil)
479484 if ($isInstanceOf(P, "Int"))
480485 then P
481486 else throw("Couldn't cast Any to Int")
482487 }
483- let aT = valueOrElse(getInteger(G(r)), 0)
484- let bi = valueOrElse(getInteger(C(u, r)), 0)
485- let bj = valueOrErrorMessage(getInteger(A(u, aB, bd)), (((("processVoteINTERNAL " + bc) + " ") + aY) + ": no previous vote"))
486- let aQ = valueOrElse(getInteger(this, y(aB, r)), 0)
487- let aW = fraction(bj, aU, bh)
488- let bk = if ((aW > 0))
489- then [IntegerEntry(A(u, aB, r), aW), IntegerEntry(G(r), (aT + aW)), IntegerEntry(C(u, r), (bi + aW)), IntegerEntry(y(aB, r), (aQ + aW))]
490- else ak(V(u), aY)
491- $Tuple2(bk, unit)
488+ let aU = valueOrElse(getInteger(G(r)), 0)
489+ let bj = valueOrElse(getInteger(C(u, r)), 0)
490+ let bk = valueOrErrorMessage(getInteger(A(u, aC, be)), (((("processVoteINTERNAL " + bd) + " ") + aZ) + ": no previous vote"))
491+ let aR = valueOrElse(getInteger(this, y(aC, r)), 0)
492+ let aX = fraction(bk, aV, bi)
493+ let bl = if ((aX > 0))
494+ then [IntegerEntry(A(u, aC, r), aX), IntegerEntry(G(r), (aU + aX)), IntegerEntry(C(u, r), (bj + aX)), IntegerEntry(y(aC, r), (aR + aX))]
495+ else al(V(u), aZ)
496+ $Tuple2(bl, unit)
492497 }
493498 else throw("Strict value is not equal to itself.")
494499 }
495500 else throw("Strict value is not equal to itself.")
496501 }
497502
498503
499504
500-@Callable(as)
501-func processPoolINTERNAL (bc) = {
502- let aw = ar(as)
503- if ((aw == aw))
505+@Callable(at)
506+func processPoolINTERNAL (bd) = {
507+ let ax = as(at)
508+ if ((ax == ax))
504509 then {
505- let bl = (Q(this, g) - 1)
506- let bg = if ((bl >= 0))
510+ let bm = (Q(this, g) - 1)
511+ let bh = if ((bm >= 0))
507512 then true
508513 else throw("processPoolINTERNAL: invalid target epoch")
509- if ((bg == bg))
514+ if ((bh == bh))
510515 then {
511- let u = S(bc)
512- let aT = valueOrElse(getInteger(this, G(bl)), 0)
513- let bi = valueOrElse(getInteger(this, C(u, bl)), 0)
514- let bm = if ((aT == 0))
516+ let u = S(bd)
517+ let aU = valueOrElse(getInteger(this, G(bm)), 0)
518+ let bj = valueOrElse(getInteger(this, C(u, bm)), 0)
519+ let bn = if ((aU == 0))
515520 then 0
516- else fraction(bi, b, aT)
517- $Tuple2([IntegerEntry(E(u, bl), bm)], unit)
521+ else fraction(bj, b, aU)
522+ $Tuple2([IntegerEntry(E(u, bm), bn)], unit)
518523 }
519524 else throw("Strict value is not equal to itself.")
520525 }
521526 else throw("Strict value is not equal to itself.")
522527 }
523528
524529
525530
526-@Callable(as)
531+@Callable(at)
527532 func finalizeHelper () = {
528533 let r = valueOrElse(getInteger(this, g), 0)
529- let bn = (r - 1)
530- let aN = Q(this, q(r))
531- let aG = Q(this, f)
532- let aO = (aN + aG)
533- let aP = getInteger(this, k)
534- if ((height >= aO))
534+ let bo = (r - 1)
535+ let aO = Q(this, q(r))
536+ let aH = Q(this, f)
537+ let aP = (aO + aH)
538+ let aQ = getInteger(this, k)
539+ if ((height >= aP))
535540 then {
536- let bo = (r + 1)
537- $Tuple2([IntegerEntry(q(bo), height), IntegerEntry(n, height), IntegerEntry(g, bo), IntegerEntry(k, d)], true)
541+ let bp = (r + 1)
542+ $Tuple2([IntegerEntry(q(bp), height), IntegerEntry(n, height), IntegerEntry(g, bp), IntegerEntry(k, d)], true)
538543 }
539- else if ((aP == unit))
544+ else if ((aQ == unit))
540545 then $Tuple2(nil, false)
541- else if ((aP == d))
546+ else if ((aQ == d))
542547 then {
543- let bp = getString(l)
544- let bq = getString(m)
545- let L = bp
548+ let bq = getString(l)
549+ let br = getString(m)
550+ let L = bq
546551 if ($isInstanceOf(L, "Unit"))
547552 then {
548- let br = getString(X(U))
549- if ($isInstanceOf(br, "Unit"))
553+ let bs = getString(X(U))
554+ if ($isInstanceOf(bs, "Unit"))
550555 then $Tuple2([IntegerEntry(k, e), DeleteEntry(l), DeleteEntry(m)], true)
551- else if ($isInstanceOf(br, "String"))
556+ else if ($isInstanceOf(bs, "String"))
552557 then {
553- let bs = br
554- $Tuple2([StringEntry(l, bs)], true)
558+ let bt = bs
559+ $Tuple2([StringEntry(l, bt)], true)
555560 }
556561 else throw("Match error")
557562 }
558563 else if ($isInstanceOf(L, "String"))
559564 then {
560- let bc = L
561- let u = S(bc)
562- let bt = {
563- let br = bq
564- if ($isInstanceOf(br, "Unit"))
565+ let bd = L
566+ let u = S(bd)
567+ let bu = {
568+ let bs = br
569+ if ($isInstanceOf(bs, "Unit"))
565570 then getString(X(V(u)))
566- else if ($isInstanceOf(br, "String"))
571+ else if ($isInstanceOf(bs, "String"))
567572 then {
568- let bu = br
569- let bv = invoke(this, "processVoteINTERNAL", [bc, bu], nil)
570- if ((bv == bv))
571- then getString(ad(V(u), bu))
573+ let bv = bs
574+ let bw = invoke(this, "processVoteINTERNAL", [bd, bv], nil)
575+ if ((bw == bw))
576+ then getString(ad(V(u), bv))
572577 else throw("Strict value is not equal to itself.")
573578 }
574579 else throw("Match error")
575580 }
576- let br = bt
577- if ($isInstanceOf(br, "Unit"))
581+ let bs = bu
582+ if ($isInstanceOf(bs, "Unit"))
578583 then {
579- let bw = getString(ad(U, bc))
580- let bx = bw
581- if ($isInstanceOf(bx, "Unit"))
584+ let bx = getString(ad(U, bd))
585+ let by = bx
586+ if ($isInstanceOf(by, "Unit"))
582587 then $Tuple2([IntegerEntry(k, e), DeleteEntry(l), DeleteEntry(m)], true)
583- else if ($isInstanceOf(bx, "String"))
588+ else if ($isInstanceOf(by, "String"))
584589 then {
585- let ao = bx
586- $Tuple2([StringEntry(l, ao), DeleteEntry(m)], true)
590+ let ap = by
591+ $Tuple2([StringEntry(l, ap), DeleteEntry(m)], true)
587592 }
588593 else throw("Match error")
589594 }
590- else if ($isInstanceOf(br, "String"))
595+ else if ($isInstanceOf(bs, "String"))
591596 then {
592- let by = br
593- $Tuple2([StringEntry(m, by)], true)
597+ let bz = bs
598+ $Tuple2([StringEntry(m, bz)], true)
594599 }
595600 else throw("Match error")
596601 }
597602 else throw("Match error")
598603 }
599- else if ((aP == e))
604+ else if ((aQ == e))
600605 then {
601- let bp = getString(l)
602- let L = bp
606+ let bq = getString(l)
607+ let L = bq
603608 if ($isInstanceOf(L, "Unit"))
604609 then {
605- let br = getString(X(U))
606- if ($isInstanceOf(br, "Unit"))
607- then $Tuple2([DeleteEntry(k), BooleanEntry(s(bn), true), IntegerEntry(o, r), IntegerEntry(p, aN)], true)
608- else if ($isInstanceOf(br, "String"))
610+ let bs = getString(X(U))
611+ if ($isInstanceOf(bs, "Unit"))
612+ then $Tuple2([DeleteEntry(k), BooleanEntry(s(bo), true), IntegerEntry(o, r), IntegerEntry(p, aO)], true)
613+ else if ($isInstanceOf(bs, "String"))
609614 then {
610- let bz = br
611- $Tuple2([StringEntry(l, bz)], true)
615+ let bA = bs
616+ $Tuple2([StringEntry(l, bA)], true)
612617 }
613618 else throw("Match error")
614619 }
615620 else if ($isInstanceOf(L, "String"))
616621 then {
617- let bc = L
618- let bA = invoke(this, "processPoolINTERNAL", [bc], nil)
619- if ((bA == bA))
622+ let bd = L
623+ let bB = invoke(this, "processPoolINTERNAL", [bd], nil)
624+ if ((bB == bB))
620625 then {
621- let bw = getString(ad(U, bc))
622- let br = bw
623- if ($isInstanceOf(br, "Unit"))
624- then $Tuple2([DeleteEntry(k), BooleanEntry(s(bn), true), IntegerEntry(o, r), IntegerEntry(p, aN), DeleteEntry(l)], true)
625- else if ($isInstanceOf(br, "String"))
626+ let bx = getString(ad(U, bd))
627+ let bs = bx
628+ if ($isInstanceOf(bs, "Unit"))
629+ then $Tuple2([DeleteEntry(k), BooleanEntry(s(bo), true), IntegerEntry(o, r), IntegerEntry(p, aO), DeleteEntry(l)], true)
630+ else if ($isInstanceOf(bs, "String"))
626631 then {
627- let bz = br
628- $Tuple2([StringEntry(l, bz)], true)
632+ let bA = bs
633+ $Tuple2([StringEntry(l, bA)], true)
629634 }
630635 else throw("Match error")
631636 }
632637 else throw("Strict value is not equal to itself.")
633638 }
634639 else throw("Match error")
635640 }
636641 else throw("finalization is broken")
637642 }
638643
639644
640645
641-@Callable(as)
642-func finalizeWrapper (bB) = {
643- let bC = {
646+@Callable(at)
647+func finalizeWrapper (bC) = {
648+ let bD = {
644649 let P = invoke(this, "finalizeHelper", nil, nil)
645650 if ($isInstanceOf(P, "Boolean"))
646651 then P
647652 else throw("Couldn't cast Any to Boolean")
648653 }
649- if ((bC == bC))
650- then if (!(bC))
651- then if ((bB == 0))
654+ if ((bD == bD))
655+ then if (!(bD))
656+ then if ((bC == 0))
652657 then throw("Current voting is not over yet")
653658 else $Tuple2(nil, unit)
654659 else {
655- let bD = valueOrElse(getInteger(this, h), c)
656- if ((bD > bB))
660+ let bE = valueOrElse(getInteger(this, h), c)
661+ if ((bE > bC))
657662 then {
658- let bE = invoke(this, "finalizeWrapper", [(bB + 1)], nil)
659- if ((bE == bE))
663+ let bF = invoke(this, "finalizeWrapper", [(bC + 1)], nil)
664+ if ((bF == bF))
660665 then $Tuple2(nil, unit)
661666 else throw("Strict value is not equal to itself.")
662667 }
663668 else $Tuple2(nil, unit)
664669 }
665670 else throw("Strict value is not equal to itself.")
666671 }
667672
668673
669674
670-@Callable(as)
675+@Callable(at)
671676 func finalize () = {
672- let bE = invoke(this, "finalizeWrapper", [0], nil)
673- if ((bE == bE))
677+ let bF = invoke(this, "finalizeWrapper", [0], nil)
678+ if ((bF == bF))
674679 then $Tuple2(nil, unit)
675680 else throw("Strict value is not equal to itself.")
676681 }
677682
678683
679684
680-@Callable(as)
681-func onVerificationLoss (bF) = $Tuple2(nil, unit)
685+@Callable(at)
686+func onVerificationLoss (bG) = $Tuple2(nil, unit)
682687
683688
684689
685-@Callable(as)
690+@Callable(at)
686691 func containsNodeREADONLY (Y,ac) = $Tuple2(nil, ae(Y, ac))
687692
688693
689694
690-@Callable(as)
695+@Callable(at)
691696 func insertNode (Y,ac) = {
692- let aw = at(as)
693- if ((aw == aw))
697+ let ax = au(at)
698+ if ((ax == ax))
694699 then $Tuple2(ai(Y, ac), unit)
695700 else throw("Strict value is not equal to itself.")
696701 }
697702
698703
699704
700-@Callable(as)
705+@Callable(at)
701706 func deleteNode (Y,ac) = {
702- let aw = at(as)
703- if ((aw == aw))
704- then $Tuple2(ak(Y, ac), unit)
707+ let ax = au(at)
708+ if ((ax == ax))
709+ then $Tuple2(al(Y, ac), unit)
705710 else throw("Strict value is not equal to itself.")
706711 }
707712
708713
709-@Verifier(bG)
710-func bH () = {
711- let bI = {
712- let L = an()
714+@Verifier(bH)
715+func bI () = {
716+ let bJ = {
717+ let L = ao()
713718 if ($isInstanceOf(L, "ByteVector"))
714719 then {
715- let au = L
716- au
720+ let av = L
721+ av
717722 }
718723 else if ($isInstanceOf(L, "Unit"))
719- then bG.senderPublicKey
724+ then bH.senderPublicKey
720725 else throw("Match error")
721726 }
722- sigVerify(bG.bodyBytes, bG.proofs[0], bI)
727+ sigVerify(bH.bodyBytes, bH.proofs[0], bJ)
723728 }
724729

github/deemru/w8io/169f3d6 
282.69 ms