tx · GErAXooRkwXL1Uwiw9Y2x5EmHsgVvr5MPhpPx6FZWzDC

3N5Xd7QVQZWntaJwha9Kg42is626GUPjtUW:  -0.01400000 Waves

2021.06.07 18:00 [1560098] smart account 3N5Xd7QVQZWntaJwha9Kg42is626GUPjtUW > SELF 0.00000000 Waves

{ "type": 13, "id": "GErAXooRkwXL1Uwiw9Y2x5EmHsgVvr5MPhpPx6FZWzDC", "fee": 1400000, "feeAssetId": null, "timestamp": 1623078033119, "version": 2, "chainId": 84, "sender": "3N5Xd7QVQZWntaJwha9Kg42is626GUPjtUW", "senderPublicKey": "DfbjpZJBbZwnUKysUkxCbWTE1ZWuoUb6Y6BZdu5iAE8j", "proofs": [ "5pV484NArjHXfg1jHqH96SVz5oSkz4zfVBpWRr8rDh3mHt64Kp4bBZieF2mVt15BBKU1XTSz4q8rxLGaXCfUd6sq" ], "script": "base64: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bmNlQQUAAAASdG9rZW5SZWNlaXZlQW1vdW50BAAAAAF5CQAAZAAAAAIFAAAACGJhbGFuY2VCBQAAABJ0b2tlblJlY2VpdmVBbW91bnQEAAAADGludmFyaWFudE5ldwMJAAAAAAAAAgUAAAAHdG9rZW5JZAUAAAAIYXNzZXRJZEEJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgUAAAABeAkAAGUAAAACBQAAAAhiYWxhbmNlQgUAAAAVYW1vdW50VG9TZW5kRXN0aW1hdGVkAwkAAAAAAAACBQAAAAd0b2tlbklkBQAAAAhhc3NldElkQgkBAAAADWludmFyaWFudENhbGMAAAACCQAAZQAAAAIFAAAACGJhbGFuY2VBBQAAABVhbW91bnRUb1NlbmRFc3RpbWF0ZWQFAAAAAXkJAAACAAAAAQIAAAAWV3JvbmcgYXNzZXQgaW4gcGF5bWVudAQAAAAXaW52YXJpYW50RXN0aW1hdGVkUmF0aW8JAABrAAAAAwUAAAAGc2NhbGU4BQAAAAlpbnZhcmlhbnQFAAAADGludmFyaWFudE5ldwoBAAAADWdldFN0ZXBBbW91bnQAAAACAAAAA2FjYwAAAARzdGVwAwkAAAAAAAACBQAAAANhY2MA//////////8EAAAADGFtb3VudFRvU2VuZAkAAGUAAAACBQAAABVhbW91bnRUb1NlbmRFc3RpbWF0ZWQJAABpAAAAAgkAAGgAAAACBQAAAARzdGVwBQAAAB5kZWx0YUJldHdlZW5NYXhBbmRNaW5TZW5kVmFsdWUAAAAAAAAAAAUEAAAADXN0ZXBJbnZhcmlhbnQDCQAAAAAAAAIFAAAAB3Rva2VuSWQFAAAACGFzc2V0SWRBCQEAAAANaW52YXJpYW50Q2FsYwAAAAIFAAAAAXgJAABlAAAAAgUAAAAIYmFsYW5jZUIFAAAADGFtb3VudFRvU2VuZAkBAAAADWludmFyaWFudENhbGMAAAACCQAAZQAAAAIFAAAACGJhbGFuY2VBBQAAAAxhbW91bnRUb1NlbmQFAAAAAXkDCQAAZgAAAAIFAAAADXN0ZXBJbnZhcmlhbnQFAAAACWludmFyaWFudAUAAAAMYW1vdW50VG9TZW5kAP//////////BQAAAANhY2MEAAAACnN0ZXBBbW91bnQEAAAADSRsaXN0NTY4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AAAADCBhdCBhZGRyZXNzIAkABCUAAAABBQAAAAR0aGlzBAAAAA1zaGFyZURlY2ltYWxzCQAAaQAAAAIJAABkAAAAAgUAAAAMcG10RGVjaW1hbHNBBQAAAAxwbXREZWNpbWFsc0IAAAAAAAAAAAIEAAAAEnNoYXJlSW5pdGlhbFN1cHBseQkAAGsAAAADCQAAbAAAAAYFAAAACnBtdEFtb3VudEEFAAAADHBtdERlY2ltYWxzQQAAAAAAAAAABQAAAAAAAAAAAQUAAAAMcG10RGVjaW1hbHNBBQAAAAhIQUxGRE9XTgkAAGwAAAAGBQAAAApwbXRBbW91bnRCBQAAAAxwbXREZWNpbWFsc0IAAAAAAAAAAAUAAAAAAAAAAAEFAAAADHBtdERlY2ltYWxzQgUAAAAISEFMRkRPV04JAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAUAAAANc2hhcmVEZWNpbWFscwAAAAAAAAAAAAAAAAAAAAAAAAUAAAAISEFMRkRPV04EAAAACnNoYXJlSXNzdWUJAARCAAAABQUAAAAJc2hhcmVOYW1lBQAAABBzaGFyZURlc2NyaXB0aW9uBQAAABJzaGFyZUluaXRpYWxTdXBwbHkFAAAADXNoYXJlRGVjaW1hbHMGBAAAAAxzaGFyZUlzc3VlSWQJAAQ4AAAAAQUAAAAKc2hhcmVJc3N1ZQQAAAATaW52YXJpYW50Q2FsY3VsYXRlZAkBAAAADWludmFyaWFudENhbGMAAAACBQAAAApwbXRBbW91bnRBBQAAAApwbXRBbW91bnRCCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtWZXJzaW9uBQAAAAd2ZXJzaW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAdrQWN0aXZlBgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAlrQXNzZXRJZEEFAAAADnBtdFN0ckFzc2V0SWRBCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACWtBc3NldElkQgUAAAAOcG10U3RyQXNzZXRJZEIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWtCYWxhbmNlQQUAAAAKcG10QW1vdW50QQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa0JhbGFuY2VCBQAAAApwbXRBbW91bnRCCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAprSW52YXJpYW50BQAAABNpbnZhcmlhbnRDYWxjdWxhdGVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAARrRmVlBQAAAANmZWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtGZWVTY2FsZURlbGltaXRlcgUAAAAJZmVlU2NhbGU2CQAETAAAAAIFAAAACnNoYXJlSXNzdWUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANa1NoYXJlQXNzZXRJZAkAAlgAAAABBQAAAAxzaGFyZUlzc3VlSWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtTaGFyZUFzc2V0U3VwcGx5BQAAABJzaGFyZUluaXRpYWxTdXBwbHkJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABJzaGFyZUluaXRpYWxTdXBwbHkFAAAADHNoYXJlSXNzdWVJZAUAAAADbmlsAAAAAWkBAAAAFnJlcGxlbmlzaFdpdGhUd29Ub2tlbnMAAAABAAAAEXNsaXBwYWdlVG9sZXJhbmNlBAAAAAtwbXRBc3NldElkQQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAALcG10QXNzZXRJZEIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAAAAB2Fzc2V0SWQEAAAACnBtdEFtb3VudEEJAQAAABBkZWR1Y3RTdGFraW5nRmVlAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BQAAAAtwbXRBc3NldElkQQQAAAAKcG10QW1vdW50QgkBAAAAEGRlZHVjdFN0YWtpbmdGZWUAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQAAAAZhbW91bnQFAAAAC3BtdEFzc2V0SWRCBAAAAAp0b2tlblJhdGlvCQAAawAAAAMJAABrAAAAAwUAAAAGc2NhbGU4BQAAAAhiYWxhbmNlQQUAAAAKcG10QW1vdW50QQUAAAAGc2NhbGUzCQAAawAAAAMFAAAABnNjYWxlOAUAAAAIYmFsYW5jZUIFAAAACnBtdEFtb3VudEIEAAAAE3JhdGlvU2hhcmVUb2tlbnNJbkEJAABrAAAAAwUAAAAGc2NhbGU4BQAAAApwbXRBbW91bnRBBQAAAAhiYWxhbmNlQQQAAAATcmF0aW9TaGFyZVRva2Vuc0luQgkAAGsAAAADBQAAAAZzY2FsZTgFAAAACnBtdEFtb3VudEIFAAAACGJhbGFuY2VCBAAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQJAABrAAAAAwkAAZcAAAABCQAETAAAAAIFAAAAE3JhdGlvU2hhcmVUb2tlbnNJbkEJAARMAAAAAgUAAAATcmF0aW9TaGFyZVRva2Vuc0luQgUAAAADbmlsBQAAABBzaGFyZUFzc2V0U3VwcGx5BQAAAAZzY2FsZTgEAAAAE2ludmFyaWFudENhbGN1bGF0ZWQJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgkAAGQAAAACBQAAAAhiYWxhbmNlQQUAAAAKcG10QW1vdW50QQkAAGQAAAACBQAAAAhiYWxhbmNlQgUAAAAKcG10QW1vdW50QgMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAQAAAA90aHJvd0lzSW5hY3RpdmUAAAAAAwMJAABmAAAAAgAAAAAAAAAAAAUAAAARc2xpcHBhZ2VUb2xlcmFuY2UGCQAAZgAAAAIFAAAAEXNsaXBwYWdlVG9sZXJhbmNlAAAAAAAAAAAKCQAAAgAAAAECAAAAIFNsaXBwYWdlIHRvbGVyYW5jZSBtdXN0IGJlIDw9IDElAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAgkAAAIAAAABAgAAABxUd28gYXR0YWNoZWQgYXNzZXRzIGV4cGVjdGVkAwMJAQAAAAIhPQAAAAIFAAAAC3BtdEFzc2V0SWRBBQAAAAhhc3NldElkQQYJAQAAAAIhPQAAAAIFAAAAC3BtdEFzc2V0SWRCBQAAAAhhc3NldElkQgkBAAAAC3Rocm93QXNzZXRzAAAAAAMDCQAAZgAAAAIJAABpAAAAAgkAAGgAAAACBQAAAAZzY2FsZTMJAABlAAAAAgUAAAAOc2xpcHBhZ2VTY2FsZTMFAAAAEXNsaXBwYWdlVG9sZXJhbmNlBQAAAA5zbGlwcGFnZVNjYWxlMwUAAAAKdG9rZW5SYXRpbwYJAABmAAAAAgUAAAAKdG9rZW5SYXRpbwkAAGkAAAACCQAAaAAAAAIFAAAABnNjYWxlMwkAAGQAAAACBQAAAA5zbGlwcGFnZVNjYWxlMwUAAAARc2xpcHBhZ2VUb2xlcmFuY2UFAAAADnNsaXBwYWdlU2NhbGUzCQAAAgAAAAECAAAAPUluY29ycmVjdCBhc3NldHMgYW1vdW50OiBhbW91bnRzIG11c3QgaGF2ZSB0aGUgY29udHJhY3QgcmF0aW8DCQAAAAAAAAIFAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAAB1Ub28gc21hbGwgYW1vdW50IHRvIHJlcGxlbmlzaAMJAQAAAAEhAAAAAQUAAAAQaGFzRW5vdWdoQmFsYW5jZQkBAAAAEXN1c3BlbmRTdXNwaWNpb3VzAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa0JhbGFuY2VBCQAAZAAAAAIFAAAACGJhbGFuY2VBBQAAAApwbXRBbW91bnRBCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAlrQmFsYW5jZUIJAABkAAAAAgUAAAAIYmFsYW5jZUIFAAAACnBtdEFtb3VudEIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtTaGFyZUFzc2V0U3VwcGx5CQAAZAAAAAIFAAAAEHNoYXJlQXNzZXRTdXBwbHkFAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAKa0ludmFyaWFudAUAAAATaW52YXJpYW50Q2FsY3VsYXRlZAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAADHNoYXJlQXNzZXRJZAUAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAUAAAAMc2hhcmVBc3NldElkBQAAAANuaWwAAAABaQEAAAAVcmVwbGVuaXNoV2l0aE9uZVRva2VuAAAAAgAAABN2aXJ0dWFsU3dhcFRva2VuUGF5AAAAE3ZpcnR1YWxTd2FwVG9rZW5HZXQEAAAADSR0MDEyOTQzMTMwMTgJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAA0kdDAxMjk0MzEzMDE4AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAANJHQwMTI5NDMxMzAxOAAAAAJfMgQAAAAPcG10TWluVGhyZXNob2xkAAAAAAAATEtABAAAAB10aHJlc2hvbGRWYWx1ZUZvck1pblRvbGVyYW5jZQAAAAAAAvrwgAQAAAAJdG9sZXJhbmNlAwkAAGYAAAACBQAAAB10aHJlc2hvbGRWYWx1ZUZvck1pblRvbGVyYW5jZQUAAAAJcG10QW1vdW50AAAAAAAAAYagAAAAAAAAAAABBAAAABxzbGlwcGFnZVZhbHVlTWluRm9yUmVwbGVuaXNoCQAAZQAAAAIFAAAABnNjYWxlOAkAAGkAAAACCQAAaAAAAAIFAAAABnNjYWxlOAUAAAAJdG9sZXJhbmNlAAAAAAAAmJaABAAAABxzbGlwcGFnZVZhbHVlTWF4Rm9yUmVwbGVuaXNoCQAAZAAAAAIFAAAABnNjYWxlOAkAAGkAAAACCQAAaAAAAAIFAAAABnNjYWxlOAUAAAAJdG9sZXJhbmNlAAAAAAAAmJaABAAAABdzbGlwcGFnZVZhbHVlTWluRm9yU3dhcAkAAGUAAAACBQAAAAZzY2FsZTgJAABpAAAAAgkAAGgAAAACBQAAAAZzY2FsZTgAAAAAAAAAAAEAAAAAAACYloADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQEAAAAPdGhyb3dJc0luYWN0aXZlAAAAAAMJAABmAAAAAgUAAAAPcG10TWluVGhyZXNob2xkBQAAAAlwbXRBbW91bnQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA9QYXltZW50IGFtb3VudCAJAAGkAAAAAQUAAAAJcG10QW1vdW50AgAAACcgZG9lcyBub3QgZXhjZWVkIHRoZSBtaW5pbXVtIGFtb3VudCBvZiAJAAGkAAAAAQUAAAAPcG10TWluVGhyZXNob2xkAgAAAAcgdG9rZW5zAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAAIAAAABAgAAAB1PbmUgYXR0YWNoZWQgcGF5bWVudCBleHBlY3RlZAMJAQAAAAEhAAAAAQUAAAAQaGFzRW5vdWdoQmFsYW5jZQkBAAAAEXN1c3BlbmRTdXNwaWNpb3VzAAAAAAMDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAAhhc3NldElkQQkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAIYXNzZXRJZEIHCQEAAAALdGhyb3dBc3NldHMAAAAABAAAAA0kdDAxMzk1NTE0NTYxAwkAAAAAAAACBQAAAApwbXRBc3NldElkBQAAAAhhc3NldElkQQkABRgAAAAGCQAAZQAAAAIFAAAACXBtdEFtb3VudAUAAAATdmlydHVhbFN3YXBUb2tlblBheQUAAAATdmlydHVhbFN3YXBUb2tlbkdldAkAAGQAAAACBQAAAAhiYWxhbmNlQQUAAAATdmlydHVhbFN3YXBUb2tlblBheQkAAGUAAAACBQAAAAhiYWxhbmNlQgUAAAATdmlydHVhbFN3YXBUb2tlbkdldAkAAGQAAAACBQAAAAhiYWxhbmNlQQUAAAAJcG10QW1vdW50BQAAAAhiYWxhbmNlQgkABRgAAAAGBQAAABN2aXJ0dWFsU3dhcFRva2VuR2V0CQAAZQAAAAIFAAAACXBtdEFtb3VudAUAAAATdmlydHVhbFN3YXBUb2tlblBheQkAAGUAAAACBQAAAAhiYWxhbmNlQQUAAAATdmlydHVhbFN3YXBUb2tlbkdldAkAAGQAAAACBQAAAAhiYWxhbmNlQgUAAAATdmlydHVhbFN3YXBUb2tlblBheQUAAAAIYmFsYW5jZUEJAABkAAAAAgUAAAAIYmFsYW5jZUIFAAAACXBtdEFtb3VudAQAAAARdmlydHVhbFJlcGxlbmlzaEEIBQAAAA0kdDAxMzk1NTE0NTYxAAAAAl8xBAAAABF2aXJ0dWFsUmVwbGVuaXNoQggFAAAADSR0MDEzOTU1MTQ1NjEAAAACXzIEAAAAEWJhbGFuY2VBZnRlclN3YXBBCAUAAAANJHQwMTM5NTUxNDU2MQAAAAJfMwQAAAARYmFsYW5jZUFmdGVyU3dhcEIIBQAAAA0kdDAxMzk1NTE0NTYxAAAAAl80BAAAAAtuZXdCYWxhbmNlQQgFAAAADSR0MDEzOTU1MTQ1NjEAAAACXzUEAAAAC25ld0JhbGFuY2VCCAUAAAANJHQwMTM5NTUxNDU2MQAAAAJfNgQAAAAMaW52YXJpYW50TmV3CQEAAAANaW52YXJpYW50Q2FsYwAAAAIFAAAAEWJhbGFuY2VBZnRlclN3YXBBBQAAABFiYWxhbmNlQWZ0ZXJTd2FwQgQAAAAXaW52YXJpYW50RXN0aW1hdGVkUmF0aW8JAABrAAAAAwUAAAAGc2NhbGU4BQAAAAlpbnZhcmlhbnQFAAAADGludmFyaWFudE5ldwQAAAAlcmF0aW9WaXJ0dWFsQmFsYW5jZVRvVmlydHVhbFJlcGxlbmlzaAkAAGkAAAACCQAAawAAAAMJAABoAAAAAgUAAAAGc2NhbGU4BQAAAAZzY2FsZTgFAAAAEWJhbGFuY2VBZnRlclN3YXBBBQAAABFiYWxhbmNlQWZ0ZXJTd2FwQgkAAGsAAAADBQAAAAZzY2FsZTgFAAAAEXZpcnR1YWxSZXBsZW5pc2hBBQAAABF2aXJ0dWFsUmVwbGVuaXNoQgQAAAATZEFwcFRocmVzaG9sZEFtb3VudAkAAGsAAAADCQAAZAAAAAIFAAAAC25ld0JhbGFuY2VBBQAAAAtuZXdCYWxhbmNlQgUAAAANZEFwcFRocmVzaG9sZAkAAGgAAAACAAAAAAAAAAACBQAAABNkQXBwVGhyZXNob2xkU2NhbGUyAwMJAABnAAAAAgUAAAAXc2xpcHBhZ2VWYWx1ZU1pbkZvclN3YXAFAAAAF2ludmFyaWFudEVzdGltYXRlZFJhdGlvBgkAAGYAAAACBQAAAAlpbnZhcmlhbnQFAAAADGludmFyaWFudE5ldwkAAAIAAAABAgAAADpJbmNvcnJlY3QgdmlydHVhbFN3YXBUb2tlblBheSBvciB2aXJ0dWFsU3dhcFRva2VuR2V0IHZhbHVlAwMJAABmAAAAAgUAAAAcc2xpcHBhZ2VWYWx1ZU1pbkZvclJlcGxlbmlzaAUAAAAlcmF0aW9WaXJ0dWFsQmFsYW5jZVRvVmlydHVhbFJlcGxlbmlzaAYJAABmAAAAAgUAAAAlcmF0aW9WaXJ0dWFsQmFsYW5jZVRvVmlydHVhbFJlcGxlbmlzaAUAAAAcc2xpcHBhZ2VWYWx1ZU1heEZvclJlcGxlbmlzaAkAAAIAAAABAgAAAGxTd2FwIHdpdGggdmlydHVhbFN3YXBUb2tlblBheSBhbmQgdmlydHVhbFN3YXBUb2tlbkdldCBpcyBwb3NzaWJsZSwgYnV0IHJhdGlvIGFmdGVyIHZpcnR1YWwgc3dhcCBpcyBpbmNvcnJlY3QDAwkAAGYAAAACBQAAABNkQXBwVGhyZXNob2xkQW1vdW50BQAAAAtuZXdCYWxhbmNlQQYJAABmAAAAAgUAAAATZEFwcFRocmVzaG9sZEFtb3VudAUAAAALbmV3QmFsYW5jZUIJAQAAAA50aHJvd1RocmVzaG9sZAAAAAMFAAAAE2RBcHBUaHJlc2hvbGRBbW91bnQFAAAAC25ld0JhbGFuY2VBBQAAAAtuZXdCYWxhbmNlQgQAAAATcmF0aW9TaGFyZVRva2Vuc0luQQkAAGsAAAADCQEAAAAQZGVkdWN0U3Rha2luZ0ZlZQAAAAIFAAAAEXZpcnR1YWxSZXBsZW5pc2hBBQAAAAhhc3NldElkQQUAAAAGc2NhbGU4BQAAABFiYWxhbmNlQWZ0ZXJTd2FwQQQAAAATcmF0aW9TaGFyZVRva2Vuc0luQgkAAGsAAAADCQEAAAAQZGVkdWN0U3Rha2luZ0ZlZQAAAAIFAAAAEXZpcnR1YWxSZXBsZW5pc2hCBQAAAAhhc3NldElkQgUAAAAGc2NhbGU4BQAAABFiYWxhbmNlQWZ0ZXJTd2FwQgQAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50CQAAawAAAAMJAAGXAAAAAQkABEwAAAACBQAAABNyYXRpb1NoYXJlVG9rZW5zSW5BCQAETAAAAAIFAAAAE3JhdGlvU2hhcmVUb2tlbnNJbkIFAAAAA25pbAUAAAAQc2hhcmVBc3NldFN1cHBseQUAAAAGc2NhbGU4BAAAAB1zaGFyZVRva2VuVG9QYXlBbW91bnRBZnRlckZlZQkAAGsAAAADBQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQJAABlAAAAAgUAAAAJZmVlU2NhbGU2CQAAaQAAAAIFAAAAA2ZlZQAAAAAAAAAAAgUAAAAJZmVlU2NhbGU2BAAAABpzaGFyZVRva2VuR292ZXJuYW5jZVJld2FyZAkAAGsAAAADBQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQJAABpAAAAAgUAAAANZmVlR292ZXJuYW5jZQAAAAAAAAAAAgUAAAAJZmVlU2NhbGU2BAAAABZnb3Zlcm5hbmNlUmV3YXJkVG9rZW5BCQAAawAAAAMFAAAAGnNoYXJlVG9rZW5Hb3Zlcm5hbmNlUmV3YXJkBQAAAAhiYWxhbmNlQQUAAAAQc2hhcmVBc3NldFN1cHBseQQAAAAWZ292ZXJuYW5jZVJld2FyZFRva2VuQgkAAGsAAAADBQAAABpzaGFyZVRva2VuR292ZXJuYW5jZVJld2FyZAUAAAAIYmFsYW5jZUIFAAAAEHNoYXJlQXNzZXRTdXBwbHkEAAAAE2ludmFyaWFudENhbGN1bGF0ZWQJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgkAAGUAAAACBQAAAAtuZXdCYWxhbmNlQQUAAAAWZ292ZXJuYW5jZVJld2FyZFRva2VuQQkAAGUAAAACBQAAAAtuZXdCYWxhbmNlQgUAAAAWZ292ZXJuYW5jZVJld2FyZFRva2VuQgkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAADHNoYXJlQXNzZXRJZAUAAAAdc2hhcmVUb2tlblRvUGF5QW1vdW50QWZ0ZXJGZWUGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAdc2hhcmVUb2tlblRvUGF5QW1vdW50QWZ0ZXJGZWUFAAAADHNoYXJlQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAdnb3ZBZGRyBQAAABZnb3Zlcm5hbmNlUmV3YXJkVG9rZW5BBQAAAAhhc3NldElkQQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAdnb3ZBZGRyBQAAABZnb3Zlcm5hbmNlUmV3YXJkVG9rZW5CBQAAAAhhc3NldElkQgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa0JhbGFuY2VBCQAAZQAAAAIFAAAAC25ld0JhbGFuY2VBBQAAABZnb3Zlcm5hbmNlUmV3YXJkVG9rZW5BCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAlrQmFsYW5jZUIJAABlAAAAAgUAAAALbmV3QmFsYW5jZUIFAAAAFmdvdmVybmFuY2VSZXdhcmRUb2tlbkIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtTaGFyZUFzc2V0U3VwcGx5CQAAZAAAAAIFAAAAEHNoYXJlQXNzZXRTdXBwbHkFAAAAHXNoYXJlVG9rZW5Ub1BheUFtb3VudEFmdGVyRmVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAprSW52YXJpYW50BQAAABNpbnZhcmlhbnRDYWxjdWxhdGVkBQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAAABAAAAA0kdDAxNzUwNTE3NjQ4CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAANJHQwMTc1MDUxNzY0OAAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAADSR0MDE3NTA1MTc2NDgAAAACXzIEAAAADGFtb3VudFRvUGF5QQkBAAAAEGRlZHVjdFN0YWtpbmdGZWUAAAACCQAAawAAAAMFAAAACXBtdEFtb3VudAUAAAAIYmFsYW5jZUEFAAAAEHNoYXJlQXNzZXRTdXBwbHkFAAAACGFzc2V0SWRBBAAAAAxhbW91bnRUb1BheUIJAQAAABBkZWR1Y3RTdGFraW5nRmVlAAAAAgkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAACGJhbGFuY2VCBQAAABBzaGFyZUFzc2V0U3VwcGx5BQAAAAhhc3NldElkQgQAAAATaW52YXJpYW50Q2FsY3VsYXRlZAkBAAAADWludmFyaWFudENhbGMAAAACCQAAZQAAAAIFAAAACGJhbGFuY2VBBQAAAAxhbW91bnRUb1BheUEJAABlAAAAAgUAAAAIYmFsYW5jZUIFAAAADGFtb3VudFRvUGF5QgMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAQAAAA90aHJvd0lzSW5hY3RpdmUAAAAAAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAAIAAAABAgAAAB1PbmUgYXR0YWNoZWQgcGF5bWVudCBleHBlY3RlZAMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAADHNoYXJlQXNzZXRJZAkAAAIAAAABCQABLAAAAAICAAAAJEluY29ycmVjdCBhc3NldCBhdHRhY2hlZC4gRXhwZWN0ZWQ6IAkAAlgAAAABBQAAAAxzaGFyZUFzc2V0SWQDCQEAAAABIQAAAAEFAAAAEGhhc0Vub3VnaEJhbGFuY2UJAQAAABFzdXNwZW5kU3VzcGljaW91cwAAAAADAwkAAGYAAAACBQAAAAxhbW91bnRUb1BheUEFAAAAEWF2YWlsYWJsZUJhbGFuY2VBBgkAAGYAAAACBQAAAAxhbW91bnRUb1BheUIFAAAAEWF2YWlsYWJsZUJhbGFuY2VCCQEAAAAidGhyb3dJbnN1ZmZpY2llbnRBdmFpbGFibGVCYWxhbmNlcwAAAAIFAAAADGFtb3VudFRvUGF5QQUAAAAMYW1vdW50VG9QYXlCCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAlrQmFsYW5jZUEJAABlAAAAAgUAAAAIYmFsYW5jZUEFAAAADGFtb3VudFRvUGF5QQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa0JhbGFuY2VCCQAAZQAAAAIFAAAACGJhbGFuY2VCBQAAAAxhbW91bnRUb1BheUIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtTaGFyZUFzc2V0U3VwcGx5CQAAZQAAAAIFAAAAEHNoYXJlQXNzZXRTdXBwbHkFAAAACXBtdEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAKa0ludmFyaWFudAUAAAATaW52YXJpYW50Q2FsY3VsYXRlZAkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAADHNoYXJlQXNzZXRJZAUAAAAJcG10QW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAMYW1vdW50VG9QYXlBBQAAAAhhc3NldElkQQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADGFtb3VudFRvUGF5QgUAAAAIYXNzZXRJZEIFAAAAA25pbAAAAAFpAQAAAAhleGNoYW5nZQAAAAIAAAAYZXN0aW1hdGVkQW1vdW50VG9SZWNlaXZlAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQQAAAANJHQwMTg5MzExOTAwNgkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAADSR0MDE4OTMxMTkwMDYAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAA0kdDAxODkzMTE5MDA2AAAAAl8yAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkBAAAAD3Rocm93SXNJbmFjdGl2ZQAAAAADCQAAZwAAAAIAAAAAAAAAAAAFAAAAGGVzdGltYXRlZEFtb3VudFRvUmVjZWl2ZQkAAAIAAAABCQABLAAAAAICAAAAK0VzdGltYXRlZCBhbW91bnQgbXVzdCBiZSBwb3NpdGl2ZS4gQWN0dWFsOiAJAAGkAAAAAQUAAAAYZXN0aW1hdGVkQW1vdW50VG9SZWNlaXZlAwkAAGYAAAACBQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAAGGVzdGltYXRlZEFtb3VudFRvUmVjZWl2ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAADtNaW5pbWFsIGFtb3VudCBjYW4ndCBiZSBncmVhdGVyIHRoYW4gZXN0aW1hdGVkLiBFc3RpbWF0ZWQ6IAkAAaQAAAABBQAAABhlc3RpbWF0ZWRBbW91bnRUb1JlY2VpdmUCAAAACy4gTWluaW1hbDogCQABpAAAAAEFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAdT25lIGF0dGFjaGVkIHBheW1lbnQgZXhwZWN0ZWQDCQEAAAABIQAAAAEFAAAAEGhhc0Vub3VnaEJhbGFuY2UJAQAAABFzdXNwZW5kU3VzcGljaW91cwAAAAADAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAIYXNzZXRJZEEJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAACGFzc2V0SWRCBwkBAAAAC3Rocm93QXNzZXRzAAAAAAMJAABmAAAAAgAAAAAAAJiWgAUAAAAJcG10QW1vdW50CQAAAgAAAAECAAAAME9ubHkgc3dhcCBvZiAxMC4wMDAwMDAgb3IgbW9yZSB0b2tlbnMgaXMgYWxsb3dlZAMDCQAAZgAAAAIFAAAAFWV4Y2hhbmdlUmF0aW9MaW1pdE1pbgkAAGsAAAADBQAAAAZzY2FsZTgFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAJcG10QW1vdW50BgkAAGYAAAACCQAAawAAAAMFAAAABnNjYWxlOAUAAAAYZXN0aW1hdGVkQW1vdW50VG9SZWNlaXZlBQAAAAlwbXRBbW91bnQFAAAAFWV4Y2hhbmdlUmF0aW9MaW1pdE1heAkAAAIAAAABAgAAABxJbmNvcnJlY3QgYXJncyBhbmQgcG10IHJhdGlvBAAAAAtzZW5kQXNzZXRJZAMJAAAAAAAAAgUAAAAKcG10QXNzZXRJZAUAAAAIYXNzZXRJZEEFAAAACGFzc2V0SWRCBQAAAAhhc3NldElkQQQAAAAGYW1vdW50CQEAAAATY2FsY3VsYXRlU2VuZEFtb3VudAAAAAQFAAAAGGVzdGltYXRlZEFtb3VudFRvUmVjZWl2ZQUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAAlwbXRBbW91bnQFAAAACnBtdEFzc2V0SWQEAAAAEGdvdmVybmFuY2VSZXdhcmQJAABrAAAAAwUAAAAGYW1vdW50BQAAAA1mZWVHb3Zlcm5hbmNlBQAAAAlmZWVTY2FsZTYEAAAADmFtb3VudE1pbnVzRmVlCQAAawAAAAMFAAAABmFtb3VudAkAAGUAAAACBQAAAAlmZWVTY2FsZTYFAAAAA2ZlZQUAAAAJZmVlU2NhbGU2BAAAAA0kdDAyMDM1NzIwNjIwAwkAAAAAAAACBQAAAApwbXRBc3NldElkBQAAAAhhc3NldElkQQkABRQAAAACCQAAZAAAAAIFAAAACGJhbGFuY2VBBQAAAAlwbXRBbW91bnQJAABlAAAAAgkAAGUAAAACBQAAAAhiYWxhbmNlQgUAAAAOYW1vdW50TWludXNGZWUFAAAAEGdvdmVybmFuY2VSZXdhcmQJAAUUAAAAAgkAAGUAAAACCQAAZQAAAAIFAAAACGJhbGFuY2VBBQAAAA5hbW91bnRNaW51c0ZlZQUAAAAQZ292ZXJuYW5jZVJld2FyZAkAAGQAAAACBQAAAAhiYWxhbmNlQgUAAAAJcG10QW1vdW50BAAAAAtuZXdCYWxhbmNlQQgFAAAADSR0MDIwMzU3MjA2MjAAAAACXzEEAAAAC25ld0JhbGFuY2VCCAUAAAANJHQwMjAzNTcyMDYyMAAAAAJfMgQAAAATZEFwcFRocmVzaG9sZEFtb3VudAkAAGsAAAADCQAAZAAAAAIFAAAAC25ld0JhbGFuY2VBBQAAAAtuZXdCYWxhbmNlQgUAAAANZEFwcFRocmVzaG9sZAkAAGgAAAACAAAAAAAAAAACBQAAABNkQXBwVGhyZXNob2xkU2NhbGUyAwMJAABmAAAAAgUAAAATZEFwcFRocmVzaG9sZEFtb3VudAUAAAALbmV3QmFsYW5jZUEGCQAAZgAAAAIFAAAAE2RBcHBUaHJlc2hvbGRBbW91bnQFAAAAC25ld0JhbGFuY2VCCQEAAAAOdGhyb3dUaHJlc2hvbGQAAAADBQAAABNkQXBwVGhyZXNob2xkQW1vdW50BQAAAAtuZXdCYWxhbmNlQQUAAAALbmV3QmFsYW5jZUIDAwMJAAAAAAAAAgUAAAAIYXNzZXRJZEEFAAAABFVTRE4JAAAAAAAAAgUAAAALc2VuZEFzc2V0SWQFAAAACGFzc2V0SWRBBwkAAGcAAAACBQAAABBzdGFrZWRBbW91bnRVU0ROBQAAAAtuZXdCYWxhbmNlQQcJAQAAACF0aHJvd0luc3VmZmljaWVudEF2YWlsYWJsZUJhbGFuY2UAAAADBQAAAA5hbW91bnRNaW51c0ZlZQUAAAARYXZhaWxhYmxlQmFsYW5jZUEFAAAACmFzc2V0TmFtZUEDAwMJAAAAAAAAAgUAAAAIYXNzZXRJZEIFAAAABFVTRE4JAAAAAAAAAgUAAAALc2VuZEFzc2V0SWQFAAAACGFzc2V0SWRCBwkAAGcAAAACBQAAABBzdGFrZWRBbW91bnRVU0ROBQAAAAtuZXdCYWxhbmNlQgcJAQAAACF0aHJvd0luc3VmZmljaWVudEF2YWlsYWJsZUJhbGFuY2UAAAADBQAAAA5hbW91bnRNaW51c0ZlZQUAAAARYXZhaWxhYmxlQmFsYW5jZUIFAAAACmFzc2V0TmFtZUIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWtCYWxhbmNlQQUAAAALbmV3QmFsYW5jZUEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWtCYWxhbmNlQgUAAAALbmV3QmFsYW5jZUIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACmtJbnZhcmlhbnQJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgUAAAALbmV3QmFsYW5jZUEFAAAAC25ld0JhbGFuY2VCCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOYW1vdW50TWludXNGZWUFAAAAC3NlbmRBc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAB2dvdkFkZHIFAAAAEGdvdmVybmFuY2VSZXdhcmQFAAAAC3NlbmRBc3NldElkBQAAAANuaWwAAAABaQEAAAAIc2h1dGRvd24AAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABCQABLAAAAAICAAAAIkRBcHAgaXMgYWxyZWFkeSBzdXNwZW5kZWQuIENhdXNlOiAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAGa0NhdXNlAgAAABp0aGUgY2F1c2Ugd2Fzbid0IHNwZWNpZmllZAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJ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", "height": 1560098, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8kTQXh9AFP4Eq6wivfrgNtBZJPf5PtJgc4TS2mF7kqvM Next: 7LRtFbJeLzG3d19mGGd2G2cQL2cZKnMqh9BpwTKh7AgC Diff:
OldNewDifferences
410410 then aY()
411411 else {
412412 let bU = if ((bN == z))
413- then $Tuple7((bM - bJ), bK, (G + bJ), (H - bK), an((G + bM), H), (G + bM), H)
414- else $Tuple7(bK, (bM - bJ), (G - bK), (H + bJ), an(G, (H + bM)), G, (H + bM))
413+ then $Tuple6((bM - bJ), bK, (G + bJ), (H - bK), (G + bM), H)
414+ else $Tuple6(bK, (bM - bJ), (G - bK), (H + bJ), G, (H + bM))
415415 let bV = bU._1
416416 let bW = bU._2
417417 let bX = bU._3
418418 let bY = bU._4
419- let bD = bU._5
420- let bZ = bU._6
421- let ca = bU._7
422- let cb = if ((bN == z))
423- then IntegerEntry(f, bZ)
424- else IntegerEntry(g, ca)
419+ let bZ = bU._5
420+ let ca = bU._6
425421 let aw = an(bX, bY)
426422 let ax = fraction(P, K, aw)
427- let cc = (fraction((P * P), bX, bY) / fraction(P, bV, bW))
428- let cd = fraction((bZ + ca), T, (2 * U))
423+ let cb = (fraction((P * P), bX, bY) / fraction(P, bV, bW))
424+ let cc = fraction((bZ + ca), T, (2 * U))
429425 if (if ((bT >= ax))
430426 then true
431427 else (K > aw))
432428 then throw("Incorrect virtualSwapTokenPay or virtualSwapTokenGet value")
433- else if (if ((bR > cc))
429+ else if (if ((bR > cb))
434430 then true
435- else (cc > bS))
431+ else (cb > bS))
436432 then throw("Swap with virtualSwapTokenPay and virtualSwapTokenGet is possible, but ratio after virtual swap is incorrect")
437- else if (if ((cd > bZ))
433+ else if (if ((cc > bZ))
438434 then true
439- else (cd > ca))
440- then aZ(cd, bZ, ca)
435+ else (cc > ca))
436+ then aZ(cc, bZ, ca)
441437 else {
442438 let bG = fraction(aS(bV, z), P, bX)
443439 let bH = fraction(aS(bW, A), P, bY)
444440 let bI = fraction(min([bG, bH]), J, P)
445-[Reissue(I, bI, true), ScriptTransfer(bi.caller, bI, I), IntegerEntry(i, (J + bI)), cb, IntegerEntry(l, bD)]
441+ let cd = fraction(bI, (N - (L / 2)), N)
442+ let ce = fraction(bI, (M / 2), N)
443+ let cf = fraction(ce, G, J)
444+ let cg = fraction(ce, H, J)
445+ let bD = an((bZ - cf), (ca - cg))
446+[Reissue(I, cd, true), ScriptTransfer(bi.caller, cd, I), ScriptTransfer(s, cf, z), ScriptTransfer(s, cg, A), IntegerEntry(f, (bZ - cf)), IntegerEntry(g, (ca - cg)), IntegerEntry(i, (J + cd)), IntegerEntry(l, bD)]
446447 }
447448 }
448449 }
451452
452453 @Callable(bi)
453454 func withdraw () = {
454- let ce = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
455- let bM = ce._1
456- let bN = ce._2
457- let cf = aS(fraction(bM, G, J), z)
458- let cg = aS(fraction(bM, H, J), A)
459- let bD = an((G - cf), (H - cg))
455+ let ch = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
456+ let bM = ch._1
457+ let bN = ch._2
458+ let ci = aS(fraction(bM, G, J), z)
459+ let cj = aS(fraction(bM, H, J), A)
460+ let bD = an((G - ci), (H - cj))
460461 if (!(w))
461462 then aW()
462463 else if ((size(bi.payments) != 1))
465466 then throw(("Incorrect asset attached. Expected: " + toBase58String(I)))
466467 else if (!(aj))
467468 then bh()
468- else if (if ((cf > af))
469+ else if (if ((ci > af))
469470 then true
470- else (cg > ag))
471- then bg(cf, cg)
472- else [IntegerEntry(f, (G - cf)), IntegerEntry(g, (H - cg)), IntegerEntry(i, (J - bM)), IntegerEntry(l, bD), Burn(I, bM), ScriptTransfer(bi.caller, cf, z), ScriptTransfer(bi.caller, cg, A)]
471+ else (cj > ag))
472+ then bg(ci, cj)
473+ else [IntegerEntry(f, (G - ci)), IntegerEntry(g, (H - cj)), IntegerEntry(i, (J - bM)), IntegerEntry(l, bD), Burn(I, bM), ScriptTransfer(bi.caller, ci, z), ScriptTransfer(bi.caller, cj, A)]
473474 }
474475
475476
476477
477478 @Callable(bi)
478-func exchange (ch,ci) = {
479- let cj = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
480- let bM = cj._1
481- let bN = cj._2
479+func exchange (ck,cl) = {
480+ let cm = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
481+ let bM = cm._1
482+ let bN = cm._2
482483 if (!(w))
483484 then aW()
484- else if ((0 >= ch))
485- then throw(("Estimated amount must be positive. Actual: " + toString(ch)))
486- else if ((ci > ch))
487- then throw(((("Minimal amount can't be greater than estimated. Estimated: " + toString(ch)) + ". Minimal: ") + toString(ci)))
485+ else if ((0 >= ck))
486+ then throw(("Estimated amount must be positive. Actual: " + toString(ck)))
487+ else if ((cl > ck))
488+ then throw(((("Minimal amount can't be greater than estimated. Estimated: " + toString(ck)) + ". Minimal: ") + toString(cl)))
488489 else if ((size(bi.payments) != 1))
489490 then throw("One attached payment expected")
490491 else if (!(aj))
495496 then aY()
496497 else if ((10000000 > bM))
497498 then throw("Only swap of 10.000000 or more tokens is allowed")
498- else if (if ((V > fraction(P, ci, bM)))
499+ else if (if ((V > fraction(P, cl, bM)))
499500 then true
500- else (fraction(P, ch, bM) > W))
501+ else (fraction(P, ck, bM) > W))
501502 then throw("Incorrect args and pmt ratio")
502503 else {
503- let ck = if ((bN == z))
504+ let cn = if ((bN == z))
504505 then A
505506 else z
506- let aT = ap(ch, ci, bM, bN)
507- let cl = fraction(aT, M, N)
508- let cm = fraction(aT, (N - L), N)
509- let cn = if ((bN == z))
510- then $Tuple2((G + bM), ((H - cm) - cl))
511- else $Tuple2(((G - cm) - cl), (H + bM))
512- let bZ = cn._1
513- let ca = cn._2
514- let cd = fraction((bZ + ca), T, (2 * U))
515- if (if ((cd > bZ))
507+ let aT = ap(ck, cl, bM, bN)
508+ let co = fraction(aT, M, N)
509+ let cp = fraction(aT, (N - L), N)
510+ let cq = if ((bN == z))
511+ then $Tuple2((G + bM), ((H - cp) - co))
512+ else $Tuple2(((G - cp) - co), (H + bM))
513+ let bZ = cq._1
514+ let ca = cq._2
515+ let cc = fraction((bZ + ca), T, (2 * U))
516+ if (if ((cc > bZ))
516517 then true
517- else (cd > ca))
518- then aZ(cd, bZ, ca)
518+ else (cc > ca))
519+ then aZ(cc, bZ, ca)
519520 else if (if (if ((z == u))
520- then (ck == z)
521+ then (cn == z)
521522 else false)
522523 then (ac >= bZ)
523524 else false)
524- then bd(cm, af, B)
525+ then bd(cp, af, B)
525526 else if (if (if ((A == u))
526- then (ck == A)
527+ then (cn == A)
527528 else false)
528529 then (ac >= ca)
529530 else false)
530- then bd(cm, ag, F)
531- else [IntegerEntry(f, bZ), IntegerEntry(g, ca), IntegerEntry(l, an(bZ, ca)), ScriptTransfer(bi.caller, cm, ck), ScriptTransfer(s, cl, ck)]
531+ then bd(cp, ag, F)
532+ else [IntegerEntry(f, bZ), IntegerEntry(g, ca), IntegerEntry(l, an(bZ, ca)), ScriptTransfer(bi.caller, cp, cn), ScriptTransfer(s, co, cn)]
532533 }
533534 }
534535
553554
554555
555556 @Callable(bi)
556-func takeIntoAccountExtraFunds (co) = {
557- let cp = (ah - G)
558- let cq = (ai - H)
559- let cr = (cp - (if ((z == u))
560- then co
557+func takeIntoAccountExtraFunds (cr) = {
558+ let cs = (ah - G)
559+ let ct = (ai - H)
560+ let cu = (cs - (if ((z == u))
561+ then cr
561562 else 0))
562- let cs = (cq - (if ((A == u))
563- then co
563+ let cv = (ct - (if ((A == u))
564+ then cr
564565 else 0))
565- let aw = an((G + cr), (H + cs))
566+ let aw = an((G + cu), (H + cv))
566567 if (!(w))
567568 then aW()
568569 else if ((bi.caller != this))
569570 then aX()
570- else if ((0 > co))
571- then throw(("Argument 'amountLeave' cannot be negative. Actual: " + toString(co)))
572- else if (if ((0 > cp))
571+ else if ((0 > cr))
572+ then throw(("Argument 'amountLeave' cannot be negative. Actual: " + toString(cr)))
573+ else if (if ((0 > cs))
573574 then true
574- else (0 > cq))
575+ else (0 > ct))
575576 then aQ("Enroll amount negative")
576- else if (if ((0 > cr))
577+ else if (if ((0 > cu))
577578 then true
578- else (0 > cs))
579+ else (0 > cv))
579580 then throw("Too large amountLeave")
580- else [IntegerEntry(l, aw), IntegerEntry(f, (G + cr)), IntegerEntry(g, (H + cs)), IntegerEntry(("last_income_" + x), cr), IntegerEntry(("last_income_" + y), cs)]
581+ else [IntegerEntry(l, aw), IntegerEntry(f, (G + cu)), IntegerEntry(g, (H + cv)), IntegerEntry(("last_income_" + x), cu), IntegerEntry(("last_income_" + y), cv)]
581582 }
582583
583584
584-@Verifier(ct)
585-func cu () = {
586- let C = ct
585+@Verifier(cw)
586+func cx () = {
587+ let C = cw
587588 if ($isInstanceOf(C, "InvokeScriptTransaction"))
588589 then {
589- let cv = C
590- let cw = if ((cv.dApp == this))
591- then (cv.function == "takeIntoAccountExtraFunds")
590+ let cy = C
591+ let cz = if ((cy.dApp == this))
592+ then (cy.function == "takeIntoAccountExtraFunds")
592593 else false
593- let cx = if ((cv.dApp == t))
594- then if (if (if ((cv.function == "lockNeutrino"))
595- then (size(cv.payments) == 1)
594+ let cA = if ((cy.dApp == t))
595+ then if (if (if ((cy.function == "lockNeutrino"))
596+ then (size(cy.payments) == 1)
596597 else false)
597- then (cv.payments[0].assetId == u)
598+ then (cy.payments[0].assetId == u)
598599 else false)
599600 then true
600- else if ((cv.function == "unlockNeutrino"))
601- then (size(cv.payments) == 0)
601+ else if ((cy.function == "unlockNeutrino"))
602+ then (size(cy.payments) == 0)
602603 else false
603604 else false
604- let cy = if (if (if (sigVerify(ct.bodyBytes, ct.proofs[0], n))
605+ let cB = if (if (if (sigVerify(cw.bodyBytes, cw.proofs[0], n))
605606 then true
606- else sigVerify(ct.bodyBytes, ct.proofs[0], o))
607+ else sigVerify(cw.bodyBytes, cw.proofs[0], o))
607608 then true
608- else sigVerify(ct.bodyBytes, ct.proofs[0], p))
609+ else sigVerify(cw.bodyBytes, cw.proofs[0], p))
609610 then true
610- else sigVerify(ct.bodyBytes, ct.proofs[0], r)
611- if (cw)
611+ else sigVerify(cw.bodyBytes, cw.proofs[0], r)
612+ if (cz)
612613 then true
613- else cx
614+ else cA
614615 }
615- else sigVerify(ct.bodyBytes, ct.proofs[0], ct.senderPublicKey)
616+ else sigVerify(cw.bodyBytes, cw.proofs[0], cw.senderPublicKey)
616617 }
617618
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "2.0.0"
55
66 let b = "version"
77
88 let c = "active"
99
1010 let d = "A_asset_id"
1111
1212 let e = "B_asset_id"
1313
1414 let f = "A_asset_balance"
1515
1616 let g = "B_asset_balance"
1717
1818 let h = "share_asset_id"
1919
2020 let i = "share_asset_supply"
2121
2222 let j = "commission"
2323
2424 let k = "commission_scale_delimiter"
2525
2626 let l = "invariant"
2727
2828 let m = "shutdown_cause"
2929
3030 let n = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
3131
3232 let o = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
3333
3434 let p = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
3535
3636 let q = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
3737
3838 let r = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
3939
4040 let s = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
4141
4242 let t = Address(base58'3N6q7sCGSSLBUXDdjBdYGTJbZGZfhhh8cNg')
4343
4444 let u = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
4545
4646 let v = (9 * value(value(assetInfo(u)).minSponsoredFee))
4747
4848 let w = getBooleanValue(this, c)
4949
5050 let x = getStringValue(this, d)
5151
5252 let y = getStringValue(this, e)
5353
5454 let z = if ((x == "WAVES"))
5555 then unit
5656 else fromBase58String(x)
5757
5858 let A = if ((y == "WAVES"))
5959 then unit
6060 else fromBase58String(y)
6161
6262 let B = {
6363 let C = z
6464 if ($isInstanceOf(C, "ByteVector"))
6565 then {
6666 let D = C
6767 value(assetInfo(D)).name
6868 }
6969 else if ($isInstanceOf(C, "Unit"))
7070 then {
7171 let E = C
7272 "WAVES"
7373 }
7474 else throw("Match error")
7575 }
7676
7777 let F = {
7878 let C = A
7979 if ($isInstanceOf(C, "ByteVector"))
8080 then {
8181 let D = C
8282 value(assetInfo(D)).name
8383 }
8484 else if ($isInstanceOf(C, "Unit"))
8585 then {
8686 let E = C
8787 "WAVES"
8888 }
8989 else throw("Match error")
9090 }
9191
9292 let G = getIntegerValue(this, f)
9393
9494 let H = getIntegerValue(this, g)
9595
9696 let I = fromBase58String(getStringValue(this, h))
9797
9898 let J = getIntegerValue(this, i)
9999
100100 let K = getIntegerValue(this, l)
101101
102102 let L = 500
103103
104104 let M = 200
105105
106106 let N = 1000000
107107
108108 let O = 1000
109109
110110 let P = 100000000
111111
112112 let Q = 1000000000000
113113
114114 let R = 1000
115115
116116 let S = 8
117117
118118 let T = 50
119119
120120 let U = 100
121121
122122 let V = 90000000
123123
124124 let W = 110000000
125125
126126 let X = 50
127127
128128 let Y = 2
129129
130130 let Z = 46000000
131131
132132 func aa (ab) = {
133133 let C = ab
134134 if ($isInstanceOf(C, "ByteVector"))
135135 then {
136136 let D = C
137137 assetBalance(this, D)
138138 }
139139 else if ($isInstanceOf(C, "Unit"))
140140 then {
141141 let E = C
142142 wavesBalance(this).available
143143 }
144144 else throw("Match error")
145145 }
146146
147147
148148 let ac = {
149149 let C = getInteger(t, ((("rpd_balance_" + toBase58String(u)) + "_") + toString(this)))
150150 if ($isInstanceOf(C, "Int"))
151151 then {
152152 let ad = C
153153 ad
154154 }
155155 else if ($isInstanceOf(C, "Unit"))
156156 then {
157157 let ae = C
158158 0
159159 }
160160 else throw("Match error")
161161 }
162162
163163 let af = (G - (if ((z == u))
164164 then ac
165165 else 0))
166166
167167 let ag = (H - (if ((A == u))
168168 then ac
169169 else 0))
170170
171171 let ah = (aa(z) + (if ((z == u))
172172 then ac
173173 else 0))
174174
175175 let ai = (aa(A) + (if ((A == u))
176176 then ac
177177 else 0))
178178
179179 let aj = if ((ah >= G))
180180 then (ai >= H)
181181 else false
182182
183183 func ak (al,am) = (((fraction(Q, al, am) + fraction(Q, am, al)) / 2) / 10000)
184184
185185
186186 func an (al,am) = {
187187 let ao = ak(al, am)
188188 (fraction((al + am), P, pow(ao, S, X, Y, S, UP)) + (2 * fraction(pow(fraction(al, am, P), 0, 5, 1, (S / 2), DOWN), pow((ao - Z), S, X, Y, S, DOWN), P)))
189189 }
190190
191191
192192 func ap (aq,ar,as,at) = {
193193 let au = (P - ((P * 1) / 10000000))
194194 let av = (aq - ar)
195195 let al = (G + as)
196196 let am = (H + as)
197197 let aw = if ((at == z))
198198 then an(al, (H - aq))
199199 else if ((at == A))
200200 then an((G - aq), am)
201201 else throw("Wrong asset in payment")
202202 let ax = fraction(P, K, aw)
203203 func ay (az,aA) = if ((az == -1))
204204 then {
205205 let aB = (aq - ((aA * av) / 5))
206206 let aC = if ((at == z))
207207 then an(al, (H - aB))
208208 else an((G - aB), am)
209209 if ((aC > K))
210210 then aB
211211 else -1
212212 }
213213 else az
214214
215215 let aD = {
216216 let aE = [1, 2, 3, 4, 5]
217217 let aF = size(aE)
218218 let aG = -1
219219 if ((aF == 0))
220220 then aG
221221 else {
222222 let aH = ay(aG, aE[0])
223223 if ((aF == 1))
224224 then aH
225225 else {
226226 let aI = ay(aH, aE[1])
227227 if ((aF == 2))
228228 then aI
229229 else {
230230 let aJ = ay(aI, aE[2])
231231 if ((aF == 3))
232232 then aJ
233233 else {
234234 let aK = ay(aJ, aE[3])
235235 if ((aF == 4))
236236 then aK
237237 else {
238238 let aL = ay(aK, aE[4])
239239 if ((aF == 5))
240240 then aL
241241 else {
242242 let aM = ay(aL, aE[5])
243243 throw("List size exceed 5")
244244 }
245245 }
246246 }
247247 }
248248 }
249249 }
250250 }
251251 if ((0 > aD))
252252 then throw("something went wrong while working with amountToSend")
253253 else if (if ((ax > au))
254254 then (aw > K)
255255 else false)
256256 then aq
257257 else aD
258258 }
259259
260260
261261 func aN (ab) = {
262262 let C = ab
263263 if ($isInstanceOf(C, "ByteVector"))
264264 then {
265265 let D = C
266266 let aO = toBase58String(D)
267267 let aP = valueOrErrorMessage(assetInfo(D), (("Asset " + aO) + " doesn't exist"))
268268 $Tuple3(aO, aP.name, aP.decimals)
269269 }
270270 else if ($isInstanceOf(C, "Unit"))
271271 then {
272272 let E = C
273273 $Tuple3("WAVES", "WAVES", 8)
274274 }
275275 else throw("Match error")
276276 }
277277
278278
279279 func aQ (aR) = [BooleanEntry(c, false), StringEntry(m, aR)]
280280
281281
282282 func aS (aT,ab) = if ((ab == u))
283283 then {
284284 let aU = (aT - v)
285285 if ((0 >= aU))
286286 then throw((((("Insufficient amount " + toString(aT)) + " to deduct staking fee ") + toString(v)) + " USD-N"))
287287 else aU
288288 }
289289 else aT
290290
291291
292292 func aV () = throw("DApp is already active")
293293
294294
295295 func aW () = throw("DApp is inactive at this moment")
296296
297297
298298 func aX () = throw("Only admin can call this function")
299299
300300
301301 func aY () = throw(((("Incorrect assets attached. Expected: " + x) + " and ") + y))
302302
303303
304304 func aZ (ba,bb,bc) = throw(((((((((("New balance in assets of the DApp is less than threshold " + toString(ba)) + ": ") + toString(bb)) + " ") + B) + ", ") + toString(bc)) + " ") + F))
305305
306306
307307 func bd (aT,be,bf) = throw((((((((("Insufficient DApp balance to pay " + toString(aT)) + " ") + bf) + " due to staking. Available: ") + toString(be)) + " ") + bf) + ". Please contact support in Telegram: https://t.me/swopfisupport"))
308308
309309
310310 func bg (bb,bc) = throw((((((((((((((((("Insufficient DApp balance to pay " + toString(bb)) + " ") + B) + " and ") + toString(bc)) + " ") + F) + " due to staking. Available: ") + toString(af)) + " ") + B) + " and ") + toString(ag)) + " ") + F) + ". Please contact support in Telegram: https://t.me/swopfisupport"))
311311
312312
313313 func bh () = aQ(((((((((((((((("Suspicious state. Actual balances: " + toString(G)) + " ") + B) + ", ") + toString(H)) + " ") + F) + ". State: ") + toString(aa(z))) + " ") + B) + ", ") + toString(aa(A))) + " ") + F))
314314
315315
316316 @Callable(bi)
317317 func init () = {
318318 let bj = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
319319 let bk = bj._1
320320 let bl = bj._2
321321 let bm = $Tuple2(bi.payments[1].amount, bi.payments[1].assetId)
322322 let bn = bm._1
323323 let bo = bm._2
324324 let bp = aN(bl)
325325 let bq = bp._1
326326 let br = bp._2
327327 let bs = bp._3
328328 let bt = aN(bo)
329329 let bu = bt._1
330330 let bv = bt._2
331331 let bw = bt._3
332332 if (isDefined(getBoolean(this, c)))
333333 then aV()
334334 else if ((bl == bo))
335335 then throw("Assets must be different")
336336 else {
337337 let bx = ((("s" + take(br, 7)) + "_") + take(bv, 7))
338338 let by = ((((("ShareToken of SwopFi protocol for " + br) + " and ") + bv) + " at address ") + toString(this))
339339 let bz = ((bs + bw) / 2)
340340 let bA = fraction(pow(bk, bs, 5, 1, bs, HALFDOWN), pow(bn, bw, 5, 1, bw, HALFDOWN), pow(10, 0, bz, 0, 0, HALFDOWN))
341341 let bB = Issue(bx, by, bA, bz, true)
342342 let bC = calculateAssetId(bB)
343343 let bD = an(bk, bn)
344344 [StringEntry(b, a), BooleanEntry(c, true), StringEntry(d, bq), StringEntry(e, bu), IntegerEntry(f, bk), IntegerEntry(g, bn), IntegerEntry(l, bD), IntegerEntry(j, L), IntegerEntry(k, N), bB, StringEntry(h, toBase58String(bC)), IntegerEntry(i, bA), ScriptTransfer(bi.caller, bA, bC)]
345345 }
346346 }
347347
348348
349349
350350 @Callable(bi)
351351 func replenishWithTwoTokens (bE) = {
352352 let bl = bi.payments[0].assetId
353353 let bo = bi.payments[1].assetId
354354 let bk = aS(bi.payments[0].amount, bl)
355355 let bn = aS(bi.payments[1].amount, bo)
356356 let bF = fraction(fraction(P, G, bk), O, fraction(P, H, bn))
357357 let bG = fraction(P, bk, G)
358358 let bH = fraction(P, bn, H)
359359 let bI = fraction(min([bG, bH]), J, P)
360360 let bD = an((G + bk), (H + bn))
361361 if (!(w))
362362 then aW()
363363 else if (if ((0 > bE))
364364 then true
365365 else (bE > 10))
366366 then throw("Slippage tolerance must be <= 1%")
367367 else if ((size(bi.payments) != 2))
368368 then throw("Two attached assets expected")
369369 else if (if ((bl != z))
370370 then true
371371 else (bo != A))
372372 then aY()
373373 else if (if ((((O * (R - bE)) / R) > bF))
374374 then true
375375 else (bF > ((O * (R + bE)) / R)))
376376 then throw("Incorrect assets amount: amounts must have the contract ratio")
377377 else if ((bI == 0))
378378 then throw("Too small amount to replenish")
379379 else if (!(aj))
380380 then bh()
381381 else [IntegerEntry(f, (G + bk)), IntegerEntry(g, (H + bn)), IntegerEntry(i, (J + bI)), IntegerEntry(l, bD), Reissue(I, bI, true), ScriptTransfer(bi.caller, bI, I)]
382382 }
383383
384384
385385
386386 @Callable(bi)
387387 func replenishWithOneToken (bJ,bK) = {
388388 let bL = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
389389 let bM = bL._1
390390 let bN = bL._2
391391 let bO = 5000000
392392 let bP = 50000000
393393 let bQ = if ((bP > bM))
394394 then 100000
395395 else 1
396396 let bR = (P - ((P * bQ) / 10000000))
397397 let bS = (P + ((P * bQ) / 10000000))
398398 let bT = (P - ((P * 1) / 10000000))
399399 if (!(w))
400400 then aW()
401401 else if ((bO > bM))
402402 then throw((((("Payment amount " + toString(bM)) + " does not exceed the minimum amount of ") + toString(bO)) + " tokens"))
403403 else if ((size(bi.payments) != 1))
404404 then throw("One attached payment expected")
405405 else if (!(aj))
406406 then bh()
407407 else if (if ((bN != z))
408408 then (bN != A)
409409 else false)
410410 then aY()
411411 else {
412412 let bU = if ((bN == z))
413- then $Tuple7((bM - bJ), bK, (G + bJ), (H - bK), an((G + bM), H), (G + bM), H)
414- else $Tuple7(bK, (bM - bJ), (G - bK), (H + bJ), an(G, (H + bM)), G, (H + bM))
413+ then $Tuple6((bM - bJ), bK, (G + bJ), (H - bK), (G + bM), H)
414+ else $Tuple6(bK, (bM - bJ), (G - bK), (H + bJ), G, (H + bM))
415415 let bV = bU._1
416416 let bW = bU._2
417417 let bX = bU._3
418418 let bY = bU._4
419- let bD = bU._5
420- let bZ = bU._6
421- let ca = bU._7
422- let cb = if ((bN == z))
423- then IntegerEntry(f, bZ)
424- else IntegerEntry(g, ca)
419+ let bZ = bU._5
420+ let ca = bU._6
425421 let aw = an(bX, bY)
426422 let ax = fraction(P, K, aw)
427- let cc = (fraction((P * P), bX, bY) / fraction(P, bV, bW))
428- let cd = fraction((bZ + ca), T, (2 * U))
423+ let cb = (fraction((P * P), bX, bY) / fraction(P, bV, bW))
424+ let cc = fraction((bZ + ca), T, (2 * U))
429425 if (if ((bT >= ax))
430426 then true
431427 else (K > aw))
432428 then throw("Incorrect virtualSwapTokenPay or virtualSwapTokenGet value")
433- else if (if ((bR > cc))
429+ else if (if ((bR > cb))
434430 then true
435- else (cc > bS))
431+ else (cb > bS))
436432 then throw("Swap with virtualSwapTokenPay and virtualSwapTokenGet is possible, but ratio after virtual swap is incorrect")
437- else if (if ((cd > bZ))
433+ else if (if ((cc > bZ))
438434 then true
439- else (cd > ca))
440- then aZ(cd, bZ, ca)
435+ else (cc > ca))
436+ then aZ(cc, bZ, ca)
441437 else {
442438 let bG = fraction(aS(bV, z), P, bX)
443439 let bH = fraction(aS(bW, A), P, bY)
444440 let bI = fraction(min([bG, bH]), J, P)
445-[Reissue(I, bI, true), ScriptTransfer(bi.caller, bI, I), IntegerEntry(i, (J + bI)), cb, IntegerEntry(l, bD)]
441+ let cd = fraction(bI, (N - (L / 2)), N)
442+ let ce = fraction(bI, (M / 2), N)
443+ let cf = fraction(ce, G, J)
444+ let cg = fraction(ce, H, J)
445+ let bD = an((bZ - cf), (ca - cg))
446+[Reissue(I, cd, true), ScriptTransfer(bi.caller, cd, I), ScriptTransfer(s, cf, z), ScriptTransfer(s, cg, A), IntegerEntry(f, (bZ - cf)), IntegerEntry(g, (ca - cg)), IntegerEntry(i, (J + cd)), IntegerEntry(l, bD)]
446447 }
447448 }
448449 }
449450
450451
451452
452453 @Callable(bi)
453454 func withdraw () = {
454- let ce = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
455- let bM = ce._1
456- let bN = ce._2
457- let cf = aS(fraction(bM, G, J), z)
458- let cg = aS(fraction(bM, H, J), A)
459- let bD = an((G - cf), (H - cg))
455+ let ch = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
456+ let bM = ch._1
457+ let bN = ch._2
458+ let ci = aS(fraction(bM, G, J), z)
459+ let cj = aS(fraction(bM, H, J), A)
460+ let bD = an((G - ci), (H - cj))
460461 if (!(w))
461462 then aW()
462463 else if ((size(bi.payments) != 1))
463464 then throw("One attached payment expected")
464465 else if ((bN != I))
465466 then throw(("Incorrect asset attached. Expected: " + toBase58String(I)))
466467 else if (!(aj))
467468 then bh()
468- else if (if ((cf > af))
469+ else if (if ((ci > af))
469470 then true
470- else (cg > ag))
471- then bg(cf, cg)
472- else [IntegerEntry(f, (G - cf)), IntegerEntry(g, (H - cg)), IntegerEntry(i, (J - bM)), IntegerEntry(l, bD), Burn(I, bM), ScriptTransfer(bi.caller, cf, z), ScriptTransfer(bi.caller, cg, A)]
471+ else (cj > ag))
472+ then bg(ci, cj)
473+ else [IntegerEntry(f, (G - ci)), IntegerEntry(g, (H - cj)), IntegerEntry(i, (J - bM)), IntegerEntry(l, bD), Burn(I, bM), ScriptTransfer(bi.caller, ci, z), ScriptTransfer(bi.caller, cj, A)]
473474 }
474475
475476
476477
477478 @Callable(bi)
478-func exchange (ch,ci) = {
479- let cj = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
480- let bM = cj._1
481- let bN = cj._2
479+func exchange (ck,cl) = {
480+ let cm = $Tuple2(bi.payments[0].amount, bi.payments[0].assetId)
481+ let bM = cm._1
482+ let bN = cm._2
482483 if (!(w))
483484 then aW()
484- else if ((0 >= ch))
485- then throw(("Estimated amount must be positive. Actual: " + toString(ch)))
486- else if ((ci > ch))
487- then throw(((("Minimal amount can't be greater than estimated. Estimated: " + toString(ch)) + ". Minimal: ") + toString(ci)))
485+ else if ((0 >= ck))
486+ then throw(("Estimated amount must be positive. Actual: " + toString(ck)))
487+ else if ((cl > ck))
488+ then throw(((("Minimal amount can't be greater than estimated. Estimated: " + toString(ck)) + ". Minimal: ") + toString(cl)))
488489 else if ((size(bi.payments) != 1))
489490 then throw("One attached payment expected")
490491 else if (!(aj))
491492 then bh()
492493 else if (if ((bN != z))
493494 then (bN != A)
494495 else false)
495496 then aY()
496497 else if ((10000000 > bM))
497498 then throw("Only swap of 10.000000 or more tokens is allowed")
498- else if (if ((V > fraction(P, ci, bM)))
499+ else if (if ((V > fraction(P, cl, bM)))
499500 then true
500- else (fraction(P, ch, bM) > W))
501+ else (fraction(P, ck, bM) > W))
501502 then throw("Incorrect args and pmt ratio")
502503 else {
503- let ck = if ((bN == z))
504+ let cn = if ((bN == z))
504505 then A
505506 else z
506- let aT = ap(ch, ci, bM, bN)
507- let cl = fraction(aT, M, N)
508- let cm = fraction(aT, (N - L), N)
509- let cn = if ((bN == z))
510- then $Tuple2((G + bM), ((H - cm) - cl))
511- else $Tuple2(((G - cm) - cl), (H + bM))
512- let bZ = cn._1
513- let ca = cn._2
514- let cd = fraction((bZ + ca), T, (2 * U))
515- if (if ((cd > bZ))
507+ let aT = ap(ck, cl, bM, bN)
508+ let co = fraction(aT, M, N)
509+ let cp = fraction(aT, (N - L), N)
510+ let cq = if ((bN == z))
511+ then $Tuple2((G + bM), ((H - cp) - co))
512+ else $Tuple2(((G - cp) - co), (H + bM))
513+ let bZ = cq._1
514+ let ca = cq._2
515+ let cc = fraction((bZ + ca), T, (2 * U))
516+ if (if ((cc > bZ))
516517 then true
517- else (cd > ca))
518- then aZ(cd, bZ, ca)
518+ else (cc > ca))
519+ then aZ(cc, bZ, ca)
519520 else if (if (if ((z == u))
520- then (ck == z)
521+ then (cn == z)
521522 else false)
522523 then (ac >= bZ)
523524 else false)
524- then bd(cm, af, B)
525+ then bd(cp, af, B)
525526 else if (if (if ((A == u))
526- then (ck == A)
527+ then (cn == A)
527528 else false)
528529 then (ac >= ca)
529530 else false)
530- then bd(cm, ag, F)
531- else [IntegerEntry(f, bZ), IntegerEntry(g, ca), IntegerEntry(l, an(bZ, ca)), ScriptTransfer(bi.caller, cm, ck), ScriptTransfer(s, cl, ck)]
531+ then bd(cp, ag, F)
532+ else [IntegerEntry(f, bZ), IntegerEntry(g, ca), IntegerEntry(l, an(bZ, ca)), ScriptTransfer(bi.caller, cp, cn), ScriptTransfer(s, co, cn)]
532533 }
533534 }
534535
535536
536537
537538 @Callable(bi)
538539 func shutdown () = if (!(w))
539540 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, m), "the cause wasn't specified")))
540541 else if (!(containsElement([n, o, p, q], bi.callerPublicKey)))
541542 then aX()
542543 else aQ("Paused by admin")
543544
544545
545546
546547 @Callable(bi)
547548 func activate () = if (w)
548549 then aV()
549550 else if (!(containsElement([n, o, p, q], bi.callerPublicKey)))
550551 then aX()
551552 else [BooleanEntry(c, true), DeleteEntry(m)]
552553
553554
554555
555556 @Callable(bi)
556-func takeIntoAccountExtraFunds (co) = {
557- let cp = (ah - G)
558- let cq = (ai - H)
559- let cr = (cp - (if ((z == u))
560- then co
557+func takeIntoAccountExtraFunds (cr) = {
558+ let cs = (ah - G)
559+ let ct = (ai - H)
560+ let cu = (cs - (if ((z == u))
561+ then cr
561562 else 0))
562- let cs = (cq - (if ((A == u))
563- then co
563+ let cv = (ct - (if ((A == u))
564+ then cr
564565 else 0))
565- let aw = an((G + cr), (H + cs))
566+ let aw = an((G + cu), (H + cv))
566567 if (!(w))
567568 then aW()
568569 else if ((bi.caller != this))
569570 then aX()
570- else if ((0 > co))
571- then throw(("Argument 'amountLeave' cannot be negative. Actual: " + toString(co)))
572- else if (if ((0 > cp))
571+ else if ((0 > cr))
572+ then throw(("Argument 'amountLeave' cannot be negative. Actual: " + toString(cr)))
573+ else if (if ((0 > cs))
573574 then true
574- else (0 > cq))
575+ else (0 > ct))
575576 then aQ("Enroll amount negative")
576- else if (if ((0 > cr))
577+ else if (if ((0 > cu))
577578 then true
578- else (0 > cs))
579+ else (0 > cv))
579580 then throw("Too large amountLeave")
580- else [IntegerEntry(l, aw), IntegerEntry(f, (G + cr)), IntegerEntry(g, (H + cs)), IntegerEntry(("last_income_" + x), cr), IntegerEntry(("last_income_" + y), cs)]
581+ else [IntegerEntry(l, aw), IntegerEntry(f, (G + cu)), IntegerEntry(g, (H + cv)), IntegerEntry(("last_income_" + x), cu), IntegerEntry(("last_income_" + y), cv)]
581582 }
582583
583584
584-@Verifier(ct)
585-func cu () = {
586- let C = ct
585+@Verifier(cw)
586+func cx () = {
587+ let C = cw
587588 if ($isInstanceOf(C, "InvokeScriptTransaction"))
588589 then {
589- let cv = C
590- let cw = if ((cv.dApp == this))
591- then (cv.function == "takeIntoAccountExtraFunds")
590+ let cy = C
591+ let cz = if ((cy.dApp == this))
592+ then (cy.function == "takeIntoAccountExtraFunds")
592593 else false
593- let cx = if ((cv.dApp == t))
594- then if (if (if ((cv.function == "lockNeutrino"))
595- then (size(cv.payments) == 1)
594+ let cA = if ((cy.dApp == t))
595+ then if (if (if ((cy.function == "lockNeutrino"))
596+ then (size(cy.payments) == 1)
596597 else false)
597- then (cv.payments[0].assetId == u)
598+ then (cy.payments[0].assetId == u)
598599 else false)
599600 then true
600- else if ((cv.function == "unlockNeutrino"))
601- then (size(cv.payments) == 0)
601+ else if ((cy.function == "unlockNeutrino"))
602+ then (size(cy.payments) == 0)
602603 else false
603604 else false
604- let cy = if (if (if (sigVerify(ct.bodyBytes, ct.proofs[0], n))
605+ let cB = if (if (if (sigVerify(cw.bodyBytes, cw.proofs[0], n))
605606 then true
606- else sigVerify(ct.bodyBytes, ct.proofs[0], o))
607+ else sigVerify(cw.bodyBytes, cw.proofs[0], o))
607608 then true
608- else sigVerify(ct.bodyBytes, ct.proofs[0], p))
609+ else sigVerify(cw.bodyBytes, cw.proofs[0], p))
609610 then true
610- else sigVerify(ct.bodyBytes, ct.proofs[0], r)
611- if (cw)
611+ else sigVerify(cw.bodyBytes, cw.proofs[0], r)
612+ if (cz)
612613 then true
613- else cx
614+ else cA
614615 }
615- else sigVerify(ct.bodyBytes, ct.proofs[0], ct.senderPublicKey)
616+ else sigVerify(cw.bodyBytes, cw.proofs[0], cw.senderPublicKey)
616617 }
617618

github/deemru/w8io/169f3d6 
120.41 ms