tx · 5vh1jS9USrMWeQZvVrjeoZww32qu82xjK7XuBFuPAFFj

3NAjnBtxnV7D5ExJveqqcCfdpKbqe6vsHDq:  -0.03200000 Waves

2022.07.10 20:20 [2133906] smart account 3NAjnBtxnV7D5ExJveqqcCfdpKbqe6vsHDq > SELF 0.00000000 Waves

{ "type": 13, "id": "5vh1jS9USrMWeQZvVrjeoZww32qu82xjK7XuBFuPAFFj", "fee": 3200000, "feeAssetId": null, "timestamp": 1657473641886, "version": 2, "chainId": 84, "sender": "3NAjnBtxnV7D5ExJveqqcCfdpKbqe6vsHDq", "senderPublicKey": "27iwZzHNRCtEW7daNFayUzJc4TfBoVMLim3yt8Ju2246", "proofs": [ "5CUokLhXT99b4pMRf3P1dn85hDtQjV52Lc8bRbYdKYCDasNBQQSMiJGGvvVkPhYxSrXaMcR15ErdKFwhB4Ug49ZX" ], "script": "base64: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QVZFUwkAAAAAAAACBQAAAAtzdHJpbmdBc3NldAIAAAAFV0FWRVMHAwUAAAAHYWNXYXZlcwYJAAACAAAAAQIAAAA0VGhlIHNtYXJ0IGNvbnRyYWN0IGRvZXMgbm90IGN1cnJlbnRseSBzdXBwb3J0IFdhdmVzLgMJAAAAAAAAAgUAAAAGYXNzZXRTCQACWQAAAAEFAAAAC3N0cmluZ0Fzc2V0BgcBAAAADnRvdGFsQXNzZXRQb29sAAAAAgAAAANrZXkAAAAHYXNzZXRMcAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQMFAAAAB2Fzc2V0THAJAABoAAAAAgAAAAAAAAAAAQUAAAACRDgAAAAAAAAAAAEAAAANAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAACQAAAAtNYWluQXNzZXRJZAAAAAtVc2RuQXNzZXRJZAAAAAtVc2R0QXNzZXRJZAAAAAtVc2RjQXNzZXRJZAAAAAtOZ25uQXNzZXRJZAAAAAtFdXJuQXNzZXRJZAAAABJwZXJjZW50YWdlUmF0ZVN3YXAAAAARYmxvY2tEaXN0cmlidXRpb24AAAALYWNjZXB0V2F2ZXMDAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMGCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAAEWFkbWluVmVyaWZpY2F0aW9uAAAAAAQAAAAPa2V5UG9vbFVzZG5Vc2R0CQEAAAACa3AAAAACBQAAAAtVc2RuQXNzZXRJZAUAAAALVXNkdEFzc2V0SWQEAAAAD2tleVBvb2xVc2RuVXNkYwkBAAAAAmtwAAAAAgUAAAALVXNkbkFzc2V0SWQFAAAAC1VzZGNBc3NldElkBAAAAA9rZXlQb29sVXNkbk5nbm4JAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAtOZ25uQXNzZXRJZAQAAAAQa2V5UG9vbFVzZG5XYXZlcwkBAAAAAmtwAAAAAgUAAAALVXNkbkFzc2V0SWQFAAAABXdhdmVzBAAAABRrZXlQb29sVXNkbk1haW5Bc3NldAkBAAAAAmtwAAAAAgUAAAALVXNkbkFzc2V0SWQFAAAAC01haW5Bc3NldElkBAAAAA9rZXlQb29sVXNkbkV1cm4JAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAtFdXJuQXNzZXRJZAQAAAAPa2V5UG9vbFVzZGNVc2R0CQEAAAACa3AAAAACBQAAAAtVc2RjQXNzZXRJZAUAAAALVXNkdEFzc2V0SWQEAAAAD2tleVBvb2xVc2RjTmdubgkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAAC05nbm5Bc3NldElkBAAAABBrZXlQb29sVXNkY1dhdmVzCQEAAAACa3AAAAACBQAAAAtVc2RjQXNzZXRJZAUAAAAFd2F2ZXMEAAAAFGtleVBvb2xVc2RjTWFpbkFzc2V0CQEAAAACa3AAAAACBQAAAAtVc2RjQXNzZXRJZAUAAAALTWFpbkFzc2V0SWQEAAAAD2tleVBvb2xVc2RjRXVybgkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAAC0V1cm5Bc3NldElkBAAAAA9rZXlQb29sVXNkdE5nbm4JAQAAAAJrcAAAAAIFAAAAC1VzZHRBc3NldElkBQAAAAtOZ25uQXNzZXRJZAQAAAAQa2V5UG9vbFVzZHRXYXZlcwkBAAAAAmtwAAAAAgUAAAALVXNkdEFzc2V0SWQFAAAABXdhdmVzBAAAABRrZXlQb29sVXNkdE1haW5Bc3NldAkBAAAAAmtwAAAAAgUAAAALVXNkdEFzc2V0SWQFAAAAC01haW5Bc3NldElkBAAAAA9rZXlQb29sVXNkdEV1cm4JAQAAAAJrcAAAAAIFAAAAC1VzZHRBc3NldElkBQAAAAtFdXJuQXNzZXRJZAQAAAAQa2V5UG9vbE5nbm5XYXZlcwkBAAAAAmtwAAAAAgUAAAALTmdubkFzc2V0SWQFAAAABXdhdmVzBAAAABRrZXlQb29sTmdubk1haW5Bc3NldAkBAAAAAmtwAAAAAgUAAAALTmdubkFzc2V0SWQFAAAAC01haW5Bc3NldElkBAAAAA9rZXlQb29sTmdubkV1cm4JAQAAAAJrcAAAAAIFAAAAC05nbm5Bc3NldElkBQAAAAtFdXJuQXNzZXRJZAQAAAAQa2V5UG9vbE1haW5XYXZlcwkBAAAAAmtwAAAAAgUAAAALTWFpbkFzc2V0SWQFAAAABXdhdmVzBAAAAA9rZXlQb29sTWFpbkV1cm4JAQAAAAJrcAAAAAIFAAAAC01haW5Bc3NldElkBQAAAAtFdXJuQXNzZXRJZAQAAAAQa2V5UG9vbEV1cm5XYXZlcwkBAAAAAmtwAAAAAgUAAAALRXVybkFzc2V0SWQFAAAABXdhdmVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABG1haW4FAAAAC01haW5Bc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABHVzZG4FAAAAC1VzZG5Bc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABHVzZGMFAAAAC1VzZGNBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABHVzZHQFAAAAC1VzZHRBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABG5nbm4FAAAAC05nbm5Bc3NldElkCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAZhV2F2ZXMFAAAAC2FjY2VwdFdhdmVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAdyYXRlRmVlBQAAABJwZXJjZW50YWdlUmF0ZVN3YXAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAAmFjBgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGc3dhcEFjBwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGcG9vbEFjBwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAALbGlxdWlkaXR5QWMHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAANiY0QFAAAAEWJsb2NrRGlzdHJpYnV0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlQb29sVXNkblVzZHQAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtleVBvb2xVc2RuV2F2ZXMAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleVBvb2xVc2RuVXNkYwAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5UG9vbFVzZG5OZ25uAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrZXlQb29sVXNkbk1haW5Bc3NldAAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5UG9vbFVzZGNVc2R0AAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlQb29sVXNkY05nbm4AAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtleVBvb2xVc2RjV2F2ZXMAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFGtleVBvb2xVc2R0TWFpbkFzc2V0AAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlQb29sVXNkdE5nbm4AAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtleVBvb2xVc2R0V2F2ZXMAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtleVBvb2xOZ25uV2F2ZXMAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFGtleVBvb2xOZ25uTWFpbkFzc2V0AAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBrZXlQb29sTWFpbldhdmVzAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBrZXlQb29sRXVybldhdmVzAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlQb29sTWFpbkV1cm4AAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleVBvb2xOZ25uRXVybgAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5UG9vbFVzZGNFdXJuAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlQb29sVXNkbkV1cm4AAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleVBvb2xVc2R0RXVybgAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAARldXJuBQAAAAtFdXJuQXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAALk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24AAAABaQEAAAAIYWN0aXZhdGUAAAABAAAAAXYDAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMGCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAAEWFkbWluVmVyaWZpY2F0aW9uAAAAAAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAACYWMFAAAAAXYFAAAAA25pbAkAAAIAAAABAgAAAC5Pbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAAAAAWkBAAAAC21haW50ZW5hbmNlAAAAAwAAAAVwb29scwAAAARzd2FwAAAABXN0YWtlAwMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzBgkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAABFhZG1pblZlcmlmaWNhdGlvbgAAAAAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAABnBvb2xBYwUAAAAFcG9vbHMJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAABnN3YXBBYwUAAAAEc3dhcAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAALbGlxdWlkaXR5QWMFAAAABXN0YWtlBQAAAANuaWwJAAACAAAAAQIAAAAuT25seSB0aGUgQWRtaW4gaXRzZWxmIGNhbiBpbnZva2UgdGhpcyBmdW5jdGlvbgAAAAFpAQAAABlwZXJjZW50dWFsUmF0ZUZlZVN3YXBFZGl0AAAAAQAAAARyYXRlAwMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzBgkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAABFhZG1pblZlcmlmaWNhdGlvbgAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAB3JhdGVGZWUFAAAABHJhdGUFAAAAA25pbAkAAAIAAAABAgAAAC5Pbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAAAAAWkBAAAAC2FjY2VwdFdhdmVzAAAAAQAAAAhhY3RpdmF0ZQMDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwYJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyCQEAAAARYWRtaW5WZXJpZmljYXRpb24AAAAACQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAZhV2F2ZXMFAAAACGFjdGl2YXRlBQAAAANuaWwJAAACAAAAAQIAAAAuT25seSB0aGUgQWRtaW4gaXRzZWxmIGNhbiBpbnZva2UgdGhpcyBmdW5jdGlvbgAAAAFpAQAAABFibG9ja0Rpc3RyaWJ1dGlvbgAAAAEAAAAIbmV3VmFsdWUDAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMGCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAAEWFkbWluVmVyaWZpY2F0aW9uAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAADYmNEBQAAAAhuZXdWYWx1ZQUAAAADbmlsCQAAAgAAAAECAAAALk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24AAAABaQEAAAAIYWRkQWRtaW4AAAABAAAAB2FkZHJlc3MDAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMGCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAAEWFkbWluVmVyaWZpY2F0aW9uAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAVhZG1pbgUAAAAHYWRkcmVzcwUAAAADbmlsCQAAAgAAAAECAAAALk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24AAAABaQEAAAAYbHBBc3NldENyZWF0ZUZvclBhaXJQb29sAAAABAAAAAZhc3NldDEAAAAGYXNzZXQyAAAABE5hbWUAAAAKY3VzdG9tTmFtZQQAAAAKbmFtZUFzc2V0MQMJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAAV3YXZlcwUAAAAFd2F2ZXMJAQAAAAxnZXRBc3NldE5hbWUAAAABCQACWQAAAAEFAAAABmFzc2V0MQQAAAAKbmFtZUFzc2V0MgMJAAAAAAAAAgUAAAAGYXNzZXQyBQAAAAV3YXZlcwUAAAAFd2F2ZXMJAQAAAAxnZXRBc3NldE5hbWUAAAABCQACWQAAAAEFAAAABmFzc2V0MgQAAAAEbmFtZQMFAAAACmN1c3RvbU5hbWUFAAAABE5hbWUJAAEsAAAAAgkAASwAAAACBQAAAApuYW1lQXNzZXQxAgAAAAFfBQAAAApuYW1lQXNzZXQyBAAAAANrZXkJAQAAAAp2YWxpZFBvb2xLAAAAAQkBAAAAAmtwAAAAAgUAAAAGYXNzZXQxBQAAAAZhc3NldDIDAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMGCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAAEWFkbWluVmVyaWZpY2F0aW9uAAAAAAMJAQAAAAIhPQAAAAIFAAAAA2tleQcEAAAADWFzc2V0THBDcmVhdGUJAARCAAAABQUAAAAEbmFtZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAuTFAgYXNzZXQgZm9yIHBvb2wgbGlxdWlkaXR5IGluIEF4QWkgU3dhcCBwYWlyIAUAAAAGYXNzZXQxAgAAAAFfBQAAAAZhc3NldDIJAABoAAAAAgAAAAAAAAAAAQUAAAACRDgAAAAAAAAAAAgGBAAAAAlpZEFzc2V0THAJAAQ4AAAAAQUAAAANYXNzZXRMcENyZWF0ZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAAAWwJAQAAAAJrcAAAAAIFAAAABmFzc2V0MQUAAAAGYXNzZXQyCQACWAAAAAEFAAAACWlkQXNzZXRMcAkABEwAAAACBQAAAA1hc3NldExwQ3JlYXRlBQAAAANuaWwJAAACAAAAAQIAAAAqSW52YWxpZCBQb29sIEtleS4gVHJ5IGludmVydGluZyB0aGUgYXNzZXRzCQAAAgAAAAECAAAALk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24AAAABaQEAAAAHZGVwb3NpdAAAAAMAAAAEcG9vbAAAAAZBc3NldDEAAAAGQXNzZXQyBAAAAAVwb3dlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTEpAAAAAgUAAAAEdGhpcwUAAAACYWMEAAAADmxpcXVpZGl0eVBvd2VyCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAtsaXF1aWRpdHlBYwQAAAAJTWFpbkFzc2V0CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAARtYWluBAAAAAlscEFzc2V0SWQDBQAAAARwb29sCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAAWwJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyBQAAAAlNYWluQXNzZXQDBQAAAAVwb3dlcgMJAQAAAAEhAAAAAQUAAAAObGlxdWlkaXR5UG93ZXIDCQEAAAACIT0AAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkCQACWQAAAAEFAAAACWxwQXNzZXRJZAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAjSW52YWxpZCBhc3NldCEgS2luZGx5IERlcG9zaXQgT25seSAFAAAACU1haW5Bc3NldAIAAAASIG9yIHZhbGlkIGFzc2V0IGxwAwkBAAAAASEAAAABBQAAAARwb29sBAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBbW91bnQJAABkAAAAAgUAAAANY3VycmVudEFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAAAp1c2VyYW1vdW50CQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAKY3VycmVudEtleQUAAAAJbmV3QW1vdW50BAAAABF1c2VyZGVwb3NpdGhlaWdodAkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAOZGVwb3NpdF9oZWlnaHQFAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAQAAAATcHJldmlvdXNsb2NrYmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Ub2tlbnNfTG9ja2VkOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAp0b3RhbHRva2VuCQAAZAAAAAIFAAAAE3ByZXZpb3VzbG9ja2JhbGFuY2UICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAADVExWCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfVG9rZW5zX0xvY2tlZDoFAAAACnRvdGFsdG9rZW4JAARMAAAAAgUAAAAKdXNlcmFtb3VudAkABEwAAAACBQAAABF1c2VyZGVwb3NpdGhlaWdodAkABEwAAAACBQAAAANUTFYFAAAAA25pbAQAAAAHcG9vbEtleQkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIEAAAAA2tleQkBAAAACnZhbGlkUG9vbEsAAAABBQAAAAdwb29sS2V5AwkBAAAAAiE9AAAAAgUAAAADa2V5BwQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACVNUQUtFX0xQXwUAAAAKY3VycmVudEtleQIAAAABXwUAAAAHcG9vbEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBbW91bnQJAABkAAAAAgUAAAANY3VycmVudEFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAAAp1c2VyYW1vdW50CQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJU1RBS0VfTFBfBQAAAApjdXJyZW50S2V5AgAAAAFfBQAAAAdwb29sS2V5BQAAAAluZXdBbW91bnQEAAAAEXVzZXJkZXBvc2l0aGVpZ2h0CQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA5kZXBvc2l0X2hlaWdodAIAAAABXwUAAAAKY3VycmVudEtleQIAAAABXwUAAAAHcG9vbEtleQUAAAAGaGVpZ2h0BAAAABNwcmV2aW91c2xvY2tiYWxhbmNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAXVG90YWxfVG9rZW5zX0xQX0xvY2tlZF8FAAAAB3Bvb2xLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAKdG90YWx0b2tlbgkAAGQAAAACBQAAABNwcmV2aW91c2xvY2tiYWxhbmNlCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQEAAAAA1RMVgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAXVG90YWxfVG9rZW5zX0xQX0xvY2tlZF8FAAAAB3Bvb2xLZXkFAAAACnRvdGFsdG9rZW4JAARMAAAAAgUAAAAKdXNlcmFtb3VudAkABEwAAAACBQAAABF1c2VyZGVwb3NpdGhlaWdodAkABEwAAAACBQAAAANUTFYFAAAAA25pbAkAAAIAAAABAgAAABFJbnZhbGlkIFBvb2wga2V5LgkAAAIAAAABAgAAAClsaXF1aWRpdHkgaXMgY3VycmVudGx5IHVuZGVyIG1haW50ZW5hbmNlLgkAAAIAAAABAgAAACRkQXBwIGlzIGN1cnJlbnRseSB1bmRlciBtYWludGVuYW5jZS4AAAABaQEAAAAGcmVtb3ZlAAAABAAAAARwb29sAAAABkFzc2V0MQAAAAZBc3NldDIAAAAGYW1vdW50BAAAAAVwb3dlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTEpAAAAAgUAAAAEdGhpcwUAAAACYWMEAAAADmxpcXVpZGl0eVBvd2VyCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAtsaXF1aWRpdHlBYwQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAlNYWluQXNzZXQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAEbWFpbgMFAAAABXBvd2VyAwkBAAAAASEAAAABBQAAAA5saXF1aWRpdHlQb3dlcgQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwAwUAAAAEcG9vbAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJU1RBS0VfTFBfBQAAAApjdXJyZW50S2V5AgAAAAFfCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABFzd2FwaGVpZ2h0a2V5bmFtZQMFAAAABHBvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAOZGVwb3NpdF9oZWlnaHQCAAAAAV8FAAAACmN1cnJlbnRLZXkCAAAAAV8JAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyCQABLAAAAAIFAAAADmRlcG9zaXRfaGVpZ2h0BQAAAApjdXJyZW50S2V5BAAAABNwcmV2aW91c2xvY2tiYWxhbmNlAwUAAAAEcG9vbAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABdUb3RhbF9Ub2tlbnNfTFBfTG9ja2VkXwkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAFFRvdGFsX1Rva2Vuc19Mb2NrZWQ6BAAAAAp0b3RhbHRva2VuCQAAZQAAAAIFAAAAE3ByZXZpb3VzbG9ja2JhbGFuY2UFAAAABmFtb3VudAQAAAAEZGlmZgkAAGUAAAACBQAAAAZoZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAEXN3YXBoZWlnaHRrZXluYW1lBAAAAANiY2QJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAA2JjRAQAAAAGcmV3YXJkCQAAaAAAAAIJAABoAAAAAgUAAAAEZGlmZgUAAAADYmNkBQAAAAJEOAQAAAAHZmVlQ2FsYwkAAGkAAAACBQAAAAZyZXdhcmQJAABpAAAAAgUAAAATcHJldmlvdXNsb2NrYmFsYW5jZQUAAAAGYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAZhbW91bnQJAAACAAAAAQMFAAAABHBvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAYQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgBQAAAAZBc3NldDECAAAAAS8FAAAABkFzc2V0MgIAAAAHIGFtb3VudAIAAAAjQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgQXhBaSBhbW91bnQEAAAACW5ld0Ftb3VudAkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50BQAAAAZhbW91bnQDCQAAZgAAAAIAAAAAAAAAAAAFAAAACW5ld0Ftb3VudAkAAAIAAAABAwUAAAAEcG9vbAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABROb3QgZW5vdWdoIEFzc2V0IExwIAUAAAAGQXNzZXQxAgAAAAEvBQAAAAZBc3NldDICAAAACCBiYWxhbmNlAgAAABdOb3QgZW5vdWdoIEF4QWkgYmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgMFAAAABHBvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACVNUQUtFX0xQXwUAAAAKY3VycmVudEtleQIAAAABXwkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAACmN1cnJlbnRLZXkFAAAACW5ld0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgMFAAAABHBvb2wJAAEsAAAAAgIAAAAXVG90YWxfVG9rZW5zX0xQX0xvY2tlZF8JAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAgAAABRUb3RhbF9Ub2tlbnNfTG9ja2VkOgUAAAAKdG90YWx0b2tlbgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmFtb3VudAMFAAAABHBvb2wJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAFsCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgUAAAAJTWFpbkFzc2V0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAHZmVlQ2FsYwUAAAAJTWFpbkFzc2V0BQAAAANuaWwJAAACAAAAAQIAAAApbGlxdWlkaXR5IGlzIGN1cnJlbnRseSB1bmRlciBtYWludGVuYW5jZS4JAAACAAAAAQIAAAAkZEFwcCBpcyBjdXJyZW50bHkgdW5kZXIgbWFpbnRlbmFuY2UuAAAAAWkBAAAADGFkZExpcXVpZGl0eQAAAAIAAAAGQXNzZXQxAAAABkFzc2V0MgQAAAAFcG93ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAAAmFjBAAAAAxwb29sQWN0aXZhdGUJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAABnBvb2xBYwQAAAAHYWNXYXZlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTEpAAAAAgUAAAAEdGhpcwUAAAAGYVdhdmVzBAAAAANrZXkJAQAAAAp2YWxpZFBvb2xLAAAAAQkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIEAAAABmFzc2V0MQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAGYXNzZXQyCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQAAAAdhc3NldElkBAAAAARVU0ROCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABHVzZG4EAAAABFVTREMJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAEdXNkYwQAAAAEVVNEVAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAR1c2R0BAAAAAROR05OCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABG5nbm4EAAAABEVVUk4JAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAEZXVybgQAAAAJTWFpbkFzc2V0CQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABG1haW4EAAAACWxwQXNzZXRJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAFsCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgQAAAAPdG90YWxBc3NldDFQb29sAwkAAGYAAAACAAAAAAAAAAACCQEAAAAOdG90YWxBc3NldFBvb2wAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAABkFzc2V0MQcICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkBAAAADnRvdGFsQXNzZXRQb29sAAAAAgkAASwAAAACCQABLAAAAAIJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAgAAAAFfBQAAAAZBc3NldDEHBAAAAA90b3RhbEFzc2V0MlBvb2wDCQAAZgAAAAIAAAAAAAAAAAIJAQAAAA50b3RhbEFzc2V0UG9vbAAAAAIJAAEsAAAAAgkAASwAAAACCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgIAAAABXwUAAAAGQXNzZXQxBwgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEAAAAGYW1vdW50CQEAAAAOdG90YWxBc3NldFBvb2wAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAABkFzc2V0MgcEAAAACmFzc2V0MVBvb2wDCQAAAAAAAAIFAAAAD3RvdGFsQXNzZXQxUG9vbAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CQAAaQAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEAAAAGYW1vdW50CQAAaQAAAAIFAAAAD3RvdGFsQXNzZXQxUG9vbAUAAAAPdG90YWxBc3NldDJQb29sBAAAAAphc3NldDJQb29sAwkAAAAAAAACBQAAAA90b3RhbEFzc2V0MlBvb2wICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAAAABmFtb3VudAkAAGkAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkAAGkAAAACBQAAAA90b3RhbEFzc2V0MlBvb2wFAAAAD3RvdGFsQXNzZXQxUG9vbAQAAAAHdG90YWxMcAkBAAAADnRvdGFsQXNzZXRQb29sAAAAAgUAAAAJbHBBc3NldElkBgMFAAAABXBvd2VyAwkBAAAAASEAAAABBQAAAAxwb29sQWN0aXZhdGUDAwMJAQAAAAEhAAAAAQkAAAAAAAACBQAAAAZhc3NldDEFAAAABmFzc2V0MgkBAAAADXZhbGlkYXRlQXNzZXQAAAADBQAAAAZhc3NldDEFAAAABkFzc2V0MQUAAAAHYWNXYXZlcwcJAQAAAA12YWxpZGF0ZUFzc2V0AAAAAwUAAAAGYXNzZXQyBQAAAAZBc3NldDIFAAAAB2FjV2F2ZXMHAwMDAwMDAwMJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAARVU0ROBgkAAAAAAAACBQAAAAZhc3NldDEFAAAABFVTREMGCQAAAAAAAAIFAAAABmFzc2V0MQUAAAAEVVNEVAYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAAROR05OBgkAAAAAAAACBQAAAAZhc3NldDEFAAAACU1haW5Bc3NldAYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAAVXQVZFUwYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAARFVVJOAwMDAwMDCQAAAAAAAAIFAAAABmFzc2V0MgUAAAAEVVNETgYJAAAAAAAAAgUAAAAGYXNzZXQyBQAAAARVU0RDBgkAAAAAAAACBQAAAAZhc3NldDIFAAAABFVTRFQGCQAAAAAAAAIFAAAABmFzc2V0MgUAAAAETkdOTgYJAAAAAAAAAgUAAAAGYXNzZXQyBQAAAAlNYWluQXNzZXQGCQAAAAAAAAIFAAAABmFzc2V0MgUAAAAFV0FWRVMGCQAAAAAAAAIFAAAABmFzc2V0MgUAAAAERVVSTgcDCQEAAAACIT0AAAACBQAAAANrZXkHAwMJAAAAAAAAAgUAAAAKYXNzZXQxUG9vbAkAAGkAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAAAABmFtb3VudAkAAAAAAAACBQAAAAphc3NldDJQb29sCQAAaQAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BwQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50QW1vdW50CQEAAAAJa3BBZGRyZXNzAAAAAgUAAAAKY3VycmVudEtleQkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIEAAAAE2N1cnJlbnRBbW91bnRBc3NldDEJAQAAAAZwb29sQUEAAAADBQAAAApjdXJyZW50S2V5CQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgUAAAAGQXNzZXQxBAAAABNjdXJyZW50QW1vdW50QXNzZXQyCQEAAAAGcG9vbEFBAAAAAwUAAAAKY3VycmVudEtleQkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAABkFzc2V0MgQAAAAKYXNzZXQxcG9vbAkBAAAABmFzc2V0UAAAAAIJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyBQAAAAZBc3NldDEEAAAACmFzc2V0MnBvb2wJAQAAAAZhc3NldFAAAAACCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgUAAAAGQXNzZXQyBAAAAAlyZWNlaXZlTHAJAABpAAAAAgkAAGQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAAAABmFtb3VudAkAAGkAAAACCQAAZAAAAAIFAAAAD3RvdGFsQXNzZXQxUG9vbAUAAAAPdG90YWxBc3NldDJQb29sBQAAAAd0b3RhbExwBAAAABZuZXdjdXJyZW50QW1vdW50QXNzZXQxCQAAZAAAAAIFAAAAE2N1cnJlbnRBbW91bnRBc3NldDEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAAWbmV3Y3VycmVudEFtb3VudEFzc2V0MgkAAGQAAAACBQAAABNjdXJyZW50QW1vdW50QXNzZXQyCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQAAAAZhbW91bnQEAAAAEG5ld2N1cnJlbnRBbW91bnQJAABkAAAAAgUAAAANY3VycmVudEFtb3VudAUAAAAJcmVjZWl2ZUxwBAAAAA1uZXdhc3NldDFwb29sCQAAZAAAAAIFAAAACmFzc2V0MXBvb2wICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAANbmV3YXNzZXQycG9vbAkAAGQAAAACBQAAAAphc3NldDJwb29sCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQAAAAZhbW91bnQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADCQACWQAAAAEFAAAACWxwQXNzZXRJZAUAAAAJcmVjZWl2ZUxwBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAACXJlY2VpdmVMcAkAAlkAAAABBQAAAAlscEFzc2V0SWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAARwa2V5AAAAAwUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAAAFfCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgIAAAABXwUAAAAGQXNzZXQxBQAAABZuZXdjdXJyZW50QW1vdW50QXNzZXQxCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAAV8JAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAgAAAAFfBQAAAAZBc3NldDIFAAAAFm5ld2N1cnJlbnRBbW91bnRBc3NldDIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgIAAAABXwUAAAAKY3VycmVudEtleQUAAAAQbmV3Y3VycmVudEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAgAAAAFfBQAAAAZBc3NldDEFAAAADW5ld2Fzc2V0MXBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgIAAAABXwUAAAAGQXNzZXQyBQAAAA1uZXdhc3NldDJwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAZBc3NldDEJAABkAAAAAgkBAAAAE2dldEFtb3VudEJsb2NrQXNzZXQAAAABBQAAAAZBc3NldDEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAGQXNzZXQyCQAAZAAAAAIJAQAAABNnZXRBbW91bnRCbG9ja0Fzc2V0AAAAAQUAAAAGQXNzZXQyCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWxwQXNzZXRJZAkAAGQAAAACCQEAAAATZ2V0QW1vdW50QmxvY2tBc3NldAAAAAEFAAAACWxwQXNzZXRJZAUAAAAJcmVjZWl2ZUxwBQAAAANuaWwJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAADZQYXltZW50IG9mIGludmFsaWQgMS8xIGFtb3VudHMgdG8gdGhlIFBvb2wuIHthc3NldDE6ICcJAAGkAAAAAQkAAGgAAAACCQAAaQAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEAAAAGYW1vdW50BQAAAANEMTACAAAADCcsIGFzc2V0MjogJwkAAaQAAAABCQAAaAAAAAIJAABpAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQFAAAAA0QxMAIAAAADJ30gCQAAAgAAAAECAAAAEUludmFsaWQgUG9vbCBLZXkuCQAAAgAAAAECAAAAGUludmFsaWQgQXNzZXQxIG9yIEFzc2V0MiEJAAACAAAAAQIAAAAgQXNzZXQxIGNhbm5vdCBiZSBlcXVhbCB0byBBc3NldDIJAAACAAAAAQIAAAApbGlxdWlkaXR5IGlzIGN1cnJlbnRseSB1bmRlciBtYWludGVuYW5jZS4JAAACAAAAAQIAAAAkZEFwcCBpcyBjdXJyZW50bHkgdW5kZXIgbWFpbnRlbmFuY2UuAAAAAWkBAAAAD3JlbW92ZUxpcXVpZGl0eQAAAAMAAAAGQXNzZXQxAAAABkFzc2V0MgAAAAZBbW91bnQEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcG93ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAAAmFjBAAAAAxwb29sQWN0aXZhdGUJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAABnBvb2xBYwQAAAAHYWNXYXZlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTEpAAAAAgUAAAAEdGhpcwUAAAAGYVdhdmVzBAAAAAdwb29sS2V5CQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgQAAAADa2V5CQEAAAAKdmFsaWRQb29sSwAAAAEFAAAAB3Bvb2xLZXkEAAAABmFzc2V0MQMJAAAAAAAAAgUAAAAGQXNzZXQxBQAAAAV3YXZlcwMFAAAAB2FjV2F2ZXMFAAAABVdBVkVTCQAAAgAAAAECAAAANFRoZSBzbWFydCBjb250cmFjdCBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBXYXZlcy4JAAJZAAAAAQUAAAAGQXNzZXQxBAAAAAZhc3NldDIDCQAAAAAAAAIFAAAABkFzc2V0MgUAAAAFd2F2ZXMDBQAAAAdhY1dhdmVzBQAAAAVXQVZFUwkAAAIAAAABAgAAADRUaGUgc21hcnQgY29udHJhY3QgZG9lcyBub3QgY3VycmVudGx5IHN1cHBvcnQgV2F2ZXMuCQACWQAAAAEFAAAABkFzc2V0MgQAAAAEVVNETgkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAR1c2RuBAAAAARVU0RDCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABHVzZGMEAAAABFVTRFQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAEdXNkdAQAAAAETkdOTgkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAARuZ25uBAAAAAlNYWluQXNzZXQJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAEbWFpbgQAAAAERVVSTgkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAARldXJuBAAAAAlscEFzc2V0SWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAABbAkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIEAAAADWN1cnJlbnRBbW91bnQJAQAAAAlrcEFkZHJlc3MAAAACBQAAAApjdXJyZW50S2V5CQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgQAAAAPYW1vdW50THBCbG9ja2VkCQEAAAAJbHBCbG9ja2VkAAAAAgUAAAAKY3VycmVudEtleQUAAAAHcG9vbEtleQQAAAAHdG90YWxMUAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAJbHBBc3NldElkBAAAAA90b3RhbEFzc2V0MVBvb2wJAQAAAA50b3RhbEFzc2V0UG9vbAAAAAIJAAEsAAAAAgkAASwAAAACCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgIAAAABXwUAAAAGQXNzZXQxBwQAAAAPdG90YWxBc3NldDJQb29sCQEAAAAOdG90YWxBc3NldFBvb2wAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAABkFzc2V0MgcDBQAAAAVwb3dlcgMJAQAAAAEhAAAAAQUAAAAMcG9vbEFjdGl2YXRlAwkBAAAAASEAAAABCQAAAAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAwMDAwMDAwMJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAARVU0ROBgkAAAAAAAACBQAAAAZhc3NldDEFAAAABFVTREMGCQAAAAAAAAIFAAAABmFzc2V0MQUAAAAEVVNEVAYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAAROR05OBgkAAAAAAAACBQAAAAZhc3NldDEFAAAACU1haW5Bc3NldAYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAAVXQVZFUwYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAARFVVJOAwMDAwMDCQAAAAAAAAIFAAAABmFzc2V0MgUAAAAEVVNETgYJAAAAAAAAAgUAAAAGYXNzZXQyBQAAAARVU0RDBgkAAAAAAAACBQAAAAZhc3NldDIFAAAABFVTRFQGCQAAAAAAAAIFAAAABmFzc2V0MgUAAAAETkdOTgYJAAAAAAAAAgUAAAAGYXNzZXQyBQAAAAlNYWluQXNzZXQGCQAAAAAAAAIFAAAABmFzc2V0MgUAAAAFV0FWRVMGCQAAAAAAAAIFAAAABmFzc2V0MgUAAAAERVVSTgcDCQEAAAACIT0AAAACBQAAAANrZXkHAwkBAAAAASEAAAABCQAAAAAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAADCQAAZwAAAAIJAABlAAAAAgUAAAANY3VycmVudEFtb3VudAUAAAAPYW1vdW50THBCbG9ja2VkBQAAAAZBbW91bnQEAAAABmNhbGNMUAkAAGkAAAACBQAAAAZBbW91bnQFAAAAB3RvdGFsTFAEAAAADXJlY2VpdmVBc3NldDEJAABoAAAAAgUAAAAGY2FsY0xQBQAAAA90b3RhbEFzc2V0MVBvb2wEAAAADXJlY2VpdmVBc3NldDIJAABoAAAAAgUAAAAGY2FsY0xQBQAAAA90b3RhbEFzc2V0MlBvb2wEAAAACmFzc2V0MXBvb2wJAQAAAAZhc3NldFAAAAACCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgUAAAAGQXNzZXQxBAAAAAphc3NldDJwb29sCQEAAAAGYXNzZXRQAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAABkFzc2V0MgQAAAATY3VycmVudEFtb3VudEFzc2V0MQkBAAAABnBvb2xBQQAAAAMFAAAACmN1cnJlbnRLZXkJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyBQAAAAZBc3NldDEEAAAAE2N1cnJlbnRBbW91bnRBc3NldDIJAQAAAAZwb29sQUEAAAADBQAAAApjdXJyZW50S2V5CQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgUAAAAGQXNzZXQyBAAAABZuZXdjdXJyZW50QW1vdW50QXNzZXQxCQAAZQAAAAIFAAAAE2N1cnJlbnRBbW91bnRBc3NldDEFAAAADXJlY2VpdmVBc3NldDEEAAAAFm5ld2N1cnJlbnRBbW91bnRBc3NldDIJAABlAAAAAgUAAAATY3VycmVudEFtb3VudEFzc2V0MgUAAAANcmVjZWl2ZUFzc2V0MgQAAAAQbmV3Y3VycmVudEFtb3VudAkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50BQAAAAZBbW91bnQEAAAADW5ld2Fzc2V0MXBvb2wJAABlAAAAAgUAAAAKYXNzZXQxcG9vbAUAAAANcmVjZWl2ZUFzc2V0MQQAAAANbmV3YXNzZXQycG9vbAkAAGUAAAACBQAAAAphc3NldDJwb29sBQAAAA1yZWNlaXZlQXNzZXQyAwkAAAAAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkCQACWQAAAAEFAAAACWxwQXNzZXRJZAMJAAAAAAAAAgUAAAAGQW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQJAARMAAAAAgkBAAAABEJ1cm4AAAACCQACWQAAAAEFAAAACWxwQXNzZXRJZAUAAAAGQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAANcmVjZWl2ZUFzc2V0MQUAAAAGYXNzZXQxCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAANcmVjZWl2ZUFzc2V0MgUAAAAGYXNzZXQyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEcGtleQAAAAMFAAAABkFzc2V0MQUAAAAGQXNzZXQyBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAABXwkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAABkFzc2V0MQUAAAAWbmV3Y3VycmVudEFtb3VudEFzc2V0MQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAAAFfCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgIAAAABXwUAAAAGQXNzZXQyBQAAABZuZXdjdXJyZW50QW1vdW50QXNzZXQyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAACmN1cnJlbnRLZXkFAAAAEG5ld2N1cnJlbnRBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgIAAAABXwUAAAAGQXNzZXQxBQAAAA1uZXdhc3NldDFwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAABkFzc2V0MgUAAAANbmV3YXNzZXQycG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAGQXNzZXQxCQAAZQAAAAIJAQAAABNnZXRBbW91bnRCbG9ja0Fzc2V0AAAAAQUAAAAGQXNzZXQxBQAAAA1yZWNlaXZlQXNzZXQxCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAZBc3NldDIJAABlAAAAAgkBAAAAE2dldEFtb3VudEJsb2NrQXNzZXQAAAABBQAAAAZBc3NldDIFAAAADXJlY2VpdmVBc3NldDIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWxwQXNzZXRJZAkAAGUAAAACCQEAAAATZ2V0QW1vdW50QmxvY2tBc3NldAAAAAEFAAAACWxwQXNzZXRJZAUAAAAGQW1vdW50BQAAAANuaWwJAAACAAAAAQIAAAAsV2l0aGRyYXdhbCBhbW91bnQgbG93ZXIgdGhhbiBhc3NldCBscCBhbW91bnQJAAACAAAAAQIAAAA5UmVxdWlyZXMgYW4gbHAgYXNzZXQgYXMgcGF5bWVudCB0byByZW1vdmUgbG9ja2VkIGFtb3VudHMuCQAAAgAAAAECAAAASEFtb3VudCB0byBiZSB3aXRoZHJhd24gZ3JlYXRlciB0aGFuIHRoZSBhbW91bnQgYXZhaWxhYmxlIGZvciB3aXRoZHJhd2FsLgkAAAIAAAABAgAAACtZb3UgaGF2ZSBubyBsb2NrZWQgdmFsdWVzIOKAi+KAi2luIHRoZSBwb29sCQAAAgAAAAECAAAAEUludmFsaWQgUG9vbCBLZXkuCQAAAgAAAAECAAAAGUludmFsaWQgQXNzZXQxIG9yIEFzc2V0MiEJAAACAAAAAQIAAAAgQXNzZXQxIGNhbm5vdCBiZSBlcXVhbCB0byBBc3NldDIJAAACAAAAAQIAAAApbGlxdWlkaXR5IGlzIGN1cnJlbnRseSB1bmRlciBtYWludGVuYW5jZS4JAAACAAAAAQIAAAAk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", "height": 2133906, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DhFp6noGupS2kfmNyC4ehmcpP1ZoAyLoJoyJUq1bVbKQ Next: 8iissQefPwEk3YaqyY9nAWm3GLPcujAtXQELUUeQ2ScN Diff:
OldNewDifferences
2121
2222 let j = 1000000
2323
24-func k (l) = toString(valueOrErrorMessage(addressFromString(l), (("Can't parse " + l) + " as address")))
24+let k = 10000000000
25+
26+func l (m) = toString(valueOrErrorMessage(addressFromString(m), (("Can't parse " + m) + " as address")))
2527
2628
27-func m (n) = toBase58String(valueOrErrorMessage(value(assetInfo(fromBase58String(n))).id, (("Asset Id: " + n) + " is invalid.")))
29+func n (o) = toBase58String(valueOrErrorMessage(value(assetInfo(fromBase58String(o))).id, (("Asset Id: " + o) + " is invalid.")))
2830
2931
30-func o (n) = {
31- let p = getInteger(this, n)
32- if ($isInstanceOf(p, "Int"))
32+func p (o) = {
33+ let q = getInteger(this, o)
34+ if ($isInstanceOf(q, "Int"))
3335 then {
34- let q = p
35- q
36+ let r = q
37+ r
3638 }
3739 else 0
3840 }
3941
4042
41-func r (n) = {
42- let p = assetInfo(n)
43- if ($isInstanceOf(p, "Asset"))
43+func s (o) = {
44+ let q = assetInfo(o)
45+ if ($isInstanceOf(q, "Asset"))
4446 then {
45- let s = p
46- s.name
47+ let t = q
48+ t.name
4749 }
4850 else throw("Can't find asset")
4951 }
5052
5153
52-let t = "activate"
54+let u = "activate"
5355
54-let u = "activate_pools"
56+let v = "activate_pools"
5557
56-let v = "activate_swap"
58+let w = "activate_swap"
5759
58-let w = "activate_liquidity"
60+let x = "activate_liquidity"
5961
60-let x = "block_distribuition"
62+let y = "block_distribuition"
6163
62-let y = "Total_Tokens_Locked_"
64+let z = "Total_Tokens_Locked_"
6365
64-let z = "usdn_asset"
66+let A = "usdn_asset"
6567
66-let A = "usdt_asset"
68+let B = "usdt_asset"
6769
68-let B = "usdc_asset"
70+let C = "usdc_asset"
6971
70-let C = "ngnn_asset"
72+let D = "ngnn_asset"
7173
72-let D = "eurn_asset"
74+let E = "eurn_asset"
7375
74-let E = "WAVES"
76+let F = "WAVES"
7577
76-let F = "accept_waves"
78+let G = "accept_waves"
7779
78-let G = unit
80+let H = unit
7981
80-func H (I,J) = (((c + I) + "_") + J)
82+func I (J,K) = (((c + J) + "_") + K)
8183
8284
83-func K (L) = {
84- let p = getInteger(this, L)
85- if ($isInstanceOf(p, "Int"))
85+func L (M) = {
86+ let q = getInteger(this, M)
87+ if ($isInstanceOf(q, "Int"))
8688 then {
87- let q = p
88- q
89+ let r = q
90+ r
8991 }
9092 else false
9193 }
9294
9395
94-func M (l,L) = {
95- let p = getInteger(this, ((L + "_") + l))
96- if ($isInstanceOf(p, "Int"))
96+func N (m,M) = {
97+ let q = getInteger(this, ((M + "_") + m))
98+ if ($isInstanceOf(q, "Int"))
9799 then {
98- let N = p
99- N
100+ let O = q
101+ O
100102 }
101103 else 0
102104 }
103105
104106
105-func O (l,L,s) = {
106- let p = getInteger(this, ((((l + "_") + L) + "_") + s))
107- if ($isInstanceOf(p, "Int"))
107+func P (m,M,t) = {
108+ let q = getInteger(this, ((((m + "_") + M) + "_") + t))
109+ if ($isInstanceOf(q, "Int"))
108110 then {
109- let P = p
110- P
111+ let Q = q
112+ Q
111113 }
112114 else 0
113115 }
114116
115117
116-func Q (L,s) = {
117- let p = getInteger(this, ((L + "_") + s))
118- if ($isInstanceOf(p, "Int"))
118+func R (M,t) = {
119+ let q = getInteger(this, ((M + "_") + t))
120+ if ($isInstanceOf(q, "Int"))
119121 then {
120- let P = p
121- P
122+ let Q = q
123+ Q
122124 }
123125 else 1
124126 }
125127
126128
127-func R (S,T,l) = (((h + H(S, T)) + "_") + l)
129+func S (T,U,m) = (((h + I(T, U)) + "_") + m)
128130
129131
130-func U (l,L) = {
131- let p = getInteger(this, ((("STAKE_LP_" + l) + "_") + L))
132- if ($isInstanceOf(p, "Int"))
132+func V (m,M) = {
133+ let q = getInteger(this, ((("STAKE_LP_" + m) + "_") + M))
134+ if ($isInstanceOf(q, "Int"))
133135 then {
134- let P = p
135- P
136+ let Q = q
137+ Q
136138 }
137139 else 0
138140 }
139141
140142
141-func V () = {
142- let p = getString(this, "admin")
143- if ($isInstanceOf(p, "String"))
143+func W () = {
144+ let q = getString(this, "admin")
145+ if ($isInstanceOf(q, "String"))
144146 then {
145- let N = p
146- Address(fromBase58String(N))
147+ let O = q
148+ Address(fromBase58String(O))
147149 }
148150 else this
149151 }
150152
151153
152-func W (X,Y,Z) = if (if ((X == G))
153- then (Y == "WAVES")
154+func X (Y,Z,aa) = if (if ((Y == H))
155+ then (Z == "WAVES")
154156 else false)
155- then if (Z)
157+ then if (aa)
156158 then true
157159 else throw("The smart contract does not currently support Waves.")
158- else if ((X == fromBase58String(Y)))
160+ else if ((Y == fromBase58String(Z)))
159161 then true
160162 else false
161163
162164
163-func aa (L,ab) = {
164- let p = getInteger(this, L)
165- if ($isInstanceOf(p, "Int"))
165+func ab (M,ac) = {
166+ let q = getInteger(this, M)
167+ if ($isInstanceOf(q, "Int"))
166168 then {
167- let P = p
168- P
169+ let Q = q
170+ Q
169171 }
170- else if (ab)
172+ else if (ac)
171173 then (1 * i)
172174 else 1
173175 }
174176
175177
176-@Callable(q)
177-func constructor (ac,ad,ae,af,ag,ah,ai,aj,ak) = if (if ((q.caller == this))
178+@Callable(r)
179+func constructor (ad,ae,af,ag,ah,ai,aj,ak,al) = if (if ((r.caller == this))
178180 then true
179- else (q.caller == V()))
181+ else (r.caller == W()))
180182 then {
181- let al = H(ad, ae)
182- let am = H(ad, af)
183- let an = H(ad, ag)
184- let ao = H(ad, E)
185- let ap = H(ad, ac)
186- let aq = H(ad, ah)
187- let ar = H(af, ae)
188- let as = H(af, ag)
189- let at = H(af, E)
190- let au = H(af, ac)
191- let av = H(af, ah)
192- let aw = H(ae, ag)
193- let ax = H(ae, E)
194- let ay = H(ae, ac)
195- let az = H(ae, ah)
196- let aA = H(ag, E)
197- let aB = H(ag, ac)
198- let aC = H(ag, ah)
199- let aD = H(ac, E)
200- let aE = H(ac, ah)
201- let aF = H(ah, E)
202-[StringEntry(a, ac), StringEntry(z, ad), StringEntry(B, af), StringEntry(A, ae), StringEntry(C, ag), BooleanEntry(F, ak), IntegerEntry(g, ai), BooleanEntry(t, true), BooleanEntry(v, false), BooleanEntry(u, false), BooleanEntry(w, false), IntegerEntry(x, aj), IntegerEntry(al, 1), IntegerEntry(ao, 1), IntegerEntry(am, 1), IntegerEntry(an, 1), IntegerEntry(ap, 1), IntegerEntry(ar, 1), IntegerEntry(as, 1), IntegerEntry(at, 1), IntegerEntry(ay, 1), IntegerEntry(aw, 1), IntegerEntry(ax, 1), IntegerEntry(aA, 1), IntegerEntry(aB, 1), IntegerEntry(aD, 1), IntegerEntry(aF, 1), IntegerEntry(aE, 1), IntegerEntry(aC, 1), IntegerEntry(av, 1), IntegerEntry(aq, 1), IntegerEntry(az, 1), StringEntry(D, ah)]
183+ let am = I(ae, af)
184+ let an = I(ae, ag)
185+ let ao = I(ae, ah)
186+ let ap = I(ae, F)
187+ let aq = I(ae, ad)
188+ let ar = I(ae, ai)
189+ let as = I(ag, af)
190+ let at = I(ag, ah)
191+ let au = I(ag, F)
192+ let av = I(ag, ad)
193+ let aw = I(ag, ai)
194+ let ax = I(af, ah)
195+ let ay = I(af, F)
196+ let az = I(af, ad)
197+ let aA = I(af, ai)
198+ let aB = I(ah, F)
199+ let aC = I(ah, ad)
200+ let aD = I(ah, ai)
201+ let aE = I(ad, F)
202+ let aF = I(ad, ai)
203+ let aG = I(ai, F)
204+[StringEntry(a, ad), StringEntry(A, ae), StringEntry(C, ag), StringEntry(B, af), StringEntry(D, ah), BooleanEntry(G, al), IntegerEntry(g, aj), BooleanEntry(u, true), BooleanEntry(w, false), BooleanEntry(v, false), BooleanEntry(x, false), IntegerEntry(y, ak), IntegerEntry(am, 1), IntegerEntry(ap, 1), IntegerEntry(an, 1), IntegerEntry(ao, 1), IntegerEntry(aq, 1), IntegerEntry(as, 1), IntegerEntry(at, 1), IntegerEntry(au, 1), IntegerEntry(az, 1), IntegerEntry(ax, 1), IntegerEntry(ay, 1), IntegerEntry(aB, 1), IntegerEntry(aC, 1), IntegerEntry(aE, 1), IntegerEntry(aG, 1), IntegerEntry(aF, 1), IntegerEntry(aD, 1), IntegerEntry(aw, 1), IntegerEntry(ar, 1), IntegerEntry(aA, 1), StringEntry(E, ai)]
203205 }
204206 else throw("Only the Admin itself can invoke this function")
205207
206208
207209
208-@Callable(q)
209-func activate (aG) = if (if ((q.caller == this))
210+@Callable(r)
211+func activate (aH) = if (if ((r.caller == this))
210212 then true
211- else (q.caller == V()))
212- then [BooleanEntry(t, aG)]
213+ else (r.caller == W()))
214+ then [BooleanEntry(u, aH)]
213215 else throw("Only the Admin itself can invoke this function")
214216
215217
216218
217-@Callable(q)
218-func maintenance (aH,aI,aJ) = if (if ((q.caller == this))
219+@Callable(r)
220+func maintenance (aI,aJ,aK) = if (if ((r.caller == this))
219221 then true
220- else (q.caller == V()))
221- then [BooleanEntry(u, aH), BooleanEntry(v, aI), BooleanEntry(w, aJ)]
222+ else (r.caller == W()))
223+ then [BooleanEntry(v, aI), BooleanEntry(w, aJ), BooleanEntry(x, aK)]
222224 else throw("Only the Admin itself can invoke this function")
223225
224226
225227
226-@Callable(q)
227-func percentualRateFeeSwapEdit (aK) = if (if ((q.caller == this))
228+@Callable(r)
229+func percentualRateFeeSwapEdit (aL) = if (if ((r.caller == this))
228230 then true
229- else (q.caller == V()))
230- then [IntegerEntry(g, aK)]
231+ else (r.caller == W()))
232+ then [IntegerEntry(g, aL)]
231233 else throw("Only the Admin itself can invoke this function")
232234
233235
234236
235-@Callable(q)
236-func acceptWaves (aL) = if (if ((q.caller == this))
237+@Callable(r)
238+func acceptWaves (aM) = if (if ((r.caller == this))
237239 then true
238- else (q.caller == V()))
239- then [BooleanEntry(F, aL)]
240+ else (r.caller == W()))
241+ then [BooleanEntry(G, aM)]
240242 else throw("Only the Admin itself can invoke this function")
241243
242244
243245
244-@Callable(q)
245-func blockDistribution (aM) = if (if ((q.caller == this))
246+@Callable(r)
247+func blockDistribution (aN) = if (if ((r.caller == this))
246248 then true
247- else (q.caller == V()))
248- then [IntegerEntry(x, aM)]
249+ else (r.caller == W()))
250+ then [IntegerEntry(y, aN)]
249251 else throw("Only the Admin itself can invoke this function")
250252
251253
252254
253-@Callable(q)
254-func addAdmin (l) = if (if ((q.caller == this))
255+@Callable(r)
256+func addAdmin (m) = if (if ((r.caller == this))
255257 then true
256- else (q.caller == V()))
257- then [StringEntry("admin", l)]
258+ else (r.caller == W()))
259+ then [StringEntry("admin", m)]
258260 else throw("Only the Admin itself can invoke this function")
259261
260262
261263
262-@Callable(q)
263-func lpAssetCreateForPairPool (I,J,aN,aO) = {
264- let aP = if ((I == E))
265- then E
266- else r(fromBase58String(I))
267- let aQ = if ((J == E))
268- then E
269- else r(fromBase58String(J))
270- let aR = if (aO)
271- then aN
272- else ((aP + "_") + aQ)
273- let L = K(H(I, J))
274- if (if ((q.caller == this))
264+@Callable(r)
265+func lpAssetCreateForPairPool (J,K,aO,aP) = {
266+ let aQ = if ((J == F))
267+ then F
268+ else s(fromBase58String(J))
269+ let aR = if ((K == F))
270+ then F
271+ else s(fromBase58String(K))
272+ let aS = if (aP)
273+ then aO
274+ else ((aQ + "_") + aR)
275+ let M = L(I(J, K))
276+ if (if ((r.caller == this))
275277 then true
276- else (q.caller == V()))
277- then if ((L != false))
278+ else (r.caller == W()))
279+ then if ((M != false))
278280 then {
279- let aS = Issue(aR, ((("LP asset for pool liquidity in AxAi Swap pair " + I) + "_") + J), (1 * i), 8, true)
280- let aT = calculateAssetId(aS)
281-[StringEntry((b + H(I, J)), toBase58String(aT)), aS]
281+ let aT = Issue(aS, ((("LP asset for pool liquidity in AxAi Swap pair " + J) + "_") + K), (1 * i), 8, true)
282+ let aU = calculateAssetId(aT)
283+[StringEntry((b + I(J, K)), toBase58String(aU)), aT]
282284 }
283285 else throw("Invalid Pool Key. Try inverting the assets")
284286 else throw("Only the Admin itself can invoke this function")
286288
287289
288290
289-@Callable(q)
290-func deposit (aU,S,T) = {
291- let aV = getBooleanValue(this, t)
292- let aW = getBooleanValue(this, w)
293- let aX = getStringValue(this, a)
294- let aY = if (aU)
295- then getStringValue(this, (b + H(S, T)))
296- else aX
297- if (aV)
298- then if (!(aW))
299- then if ((q.payments[0].assetId != fromBase58String(aY)))
300- then throw((("Invalid asset! Kindly Deposit Only " + aX) + " or valid asset lp"))
301- else if (!(aU))
291+@Callable(r)
292+func deposit (aV,T,U) = {
293+ let aW = getBooleanValue(this, u)
294+ let aX = getBooleanValue(this, x)
295+ let aY = getStringValue(this, a)
296+ let aZ = if (aV)
297+ then getStringValue(this, (b + I(T, U)))
298+ else aY
299+ if (aW)
300+ then if (!(aX))
301+ then if ((r.payments[0].assetId != fromBase58String(aZ)))
302+ then throw((("Invalid asset! Kindly Deposit Only " + aY) + " or valid asset lp"))
303+ else if (!(aV))
302304 then {
303- let aZ = toBase58String(q.caller.bytes)
304- let ba = {
305- let p = getInteger(this, aZ)
306- if ($isInstanceOf(p, "Int"))
305+ let ba = toBase58String(r.caller.bytes)
306+ let bb = {
307+ let q = getInteger(this, ba)
308+ if ($isInstanceOf(q, "Int"))
307309 then {
308- let P = p
309- P
310+ let Q = q
311+ Q
310312 }
311313 else 0
312314 }
313- let bb = (ba + q.payments[0].amount)
314- let bc = IntegerEntry(aZ, bb)
315- let bd = IntegerEntry((h + aZ), height)
316- let be = {
317- let p = getInteger(this, "Total_Tokens_Locked:")
318- if ($isInstanceOf(p, "Int"))
315+ let bc = (bb + r.payments[0].amount)
316+ let bd = IntegerEntry(ba, bc)
317+ let be = IntegerEntry((h + ba), height)
318+ let bf = {
319+ let q = getInteger(this, "Total_Tokens_Locked:")
320+ if ($isInstanceOf(q, "Int"))
319321 then {
320- let P = p
321- P
322+ let Q = q
323+ Q
322324 }
323325 else 0
324326 }
325- let bf = (be + q.payments[0].amount)
326- let bg = IntegerEntry("Total_Tokens_Locked:", bf)
327-[bc, bd, bg]
327+ let bg = (bf + r.payments[0].amount)
328+ let bh = IntegerEntry("Total_Tokens_Locked:", bg)
329+[bd, be, bh]
328330 }
329331 else {
330- let bh = H(S, T)
331- let L = K(bh)
332- if ((L != false))
332+ let bi = I(T, U)
333+ let M = L(bi)
334+ if ((M != false))
333335 then {
334- let aZ = toBase58String(q.caller.bytes)
335- let ba = {
336- let p = getInteger(this, ((("STAKE_LP_" + aZ) + "_") + bh))
337- if ($isInstanceOf(p, "Int"))
336+ let ba = toBase58String(r.caller.bytes)
337+ let bb = {
338+ let q = getInteger(this, ((("STAKE_LP_" + ba) + "_") + bi))
339+ if ($isInstanceOf(q, "Int"))
338340 then {
339- let P = p
340- P
341+ let Q = q
342+ Q
341343 }
342344 else 0
343345 }
344- let bb = (ba + q.payments[0].amount)
345- let bc = IntegerEntry(((("STAKE_LP_" + aZ) + "_") + bh), bb)
346- let bd = IntegerEntry(((((h + "_") + aZ) + "_") + bh), height)
347- let be = {
348- let p = getInteger(this, ("Total_Tokens_LP_Locked_" + bh))
349- if ($isInstanceOf(p, "Int"))
346+ let bc = (bb + r.payments[0].amount)
347+ let bd = IntegerEntry(((("STAKE_LP_" + ba) + "_") + bi), bc)
348+ let be = IntegerEntry(((((h + "_") + ba) + "_") + bi), height)
349+ let bf = {
350+ let q = getInteger(this, ("Total_Tokens_LP_Locked_" + bi))
351+ if ($isInstanceOf(q, "Int"))
350352 then {
351- let P = p
352- P
353+ let Q = q
354+ Q
353355 }
354356 else 0
355357 }
356- let bf = (be + q.payments[0].amount)
357- let bg = IntegerEntry(("Total_Tokens_LP_Locked_" + bh), bf)
358-[bc, bd, bg]
358+ let bg = (bf + r.payments[0].amount)
359+ let bh = IntegerEntry(("Total_Tokens_LP_Locked_" + bi), bg)
360+[bd, be, bh]
359361 }
360362 else throw("Invalid Pool key.")
361363 }
365367
366368
367369
368-@Callable(q)
369-func remove (aU,S,T,bi) = {
370- let aV = getBooleanValue(this, t)
371- let aW = getBooleanValue(this, w)
372- let bj = q.payments[0]
373- let aX = fromBase58String(getStringValue(this, a))
374- if (aV)
375- then if (!(aW))
370+@Callable(r)
371+func remove (aV,T,U,bj) = {
372+ let aW = getBooleanValue(this, u)
373+ let aX = getBooleanValue(this, x)
374+ let bk = r.payments[0]
375+ let aY = fromBase58String(getStringValue(this, a))
376+ if (aW)
377+ then if (!(aX))
376378 then {
377- let aZ = toBase58String(q.caller.bytes)
378- let ba = {
379- let p = if (aU)
380- then getIntegerValue(this, ((("STAKE_LP_" + aZ) + "_") + H(S, T)))
381- else getIntegerValue(this, aZ)
382- if ($isInstanceOf(p, "Int"))
379+ let ba = toBase58String(r.caller.bytes)
380+ let bb = {
381+ let q = if (aV)
382+ then getIntegerValue(this, ((("STAKE_LP_" + ba) + "_") + I(T, U)))
383+ else getIntegerValue(this, ba)
384+ if ($isInstanceOf(q, "Int"))
383385 then {
384- let P = p
385- P
386+ let Q = q
387+ Q
386388 }
387389 else 0
388390 }
389- let bk = if (aU)
390- then ((((h + "_") + aZ) + "_") + H(S, T))
391- else (h + aZ)
392- let be = if (aU)
393- then getIntegerValue(this, ("Total_Tokens_LP_Locked_" + H(S, T)))
391+ let bl = if (aV)
392+ then ((((h + "_") + ba) + "_") + I(T, U))
393+ else (h + ba)
394+ let bf = if (aV)
395+ then getIntegerValue(this, ("Total_Tokens_LP_Locked_" + I(T, U)))
394396 else getIntegerValue(this, "Total_Tokens_Locked:")
395- let bf = (be - bi)
396- let bl = (height - getIntegerValue(this, bk))
397- let bm = getIntegerValue(this, x)
398- let bn = ((bl * bm) * i)
399- let bo = (bn / (be / bi))
400- if ((0 > bi))
401- then throw(if (aU)
402- then (((("Can't withdraw negative " + S) + "/") + T) + " amount")
397+ let bg = (bf - bj)
398+ let bm = (height - getIntegerValue(this, bl))
399+ let bn = getIntegerValue(this, y)
400+ let bo = ((bm * bn) * i)
401+ let bp = (bo / (bf / bj))
402+ if ((0 > bj))
403+ then throw(if (aV)
404+ then (((("Can't withdraw negative " + T) + "/") + U) + " amount")
403405 else "Can't withdraw negative AxAi amount")
404406 else {
405- let bb = (ba - bi)
406- if ((0 > bb))
407- then throw(if (aU)
408- then (((("Not enough Asset Lp " + S) + "/") + T) + " balance")
407+ let bc = (bb - bj)
408+ if ((0 > bc))
409+ then throw(if (aV)
410+ then (((("Not enough Asset Lp " + T) + "/") + U) + " balance")
409411 else "Not enough AxAi balance")
410- else [IntegerEntry(if (aU)
411- then ((("STAKE_LP_" + aZ) + "_") + H(S, T))
412- else aZ, bb), IntegerEntry(if (aU)
413- then ("Total_Tokens_LP_Locked_" + H(S, T))
414- else "Total_Tokens_Locked:", bf), ScriptTransfer(q.caller, bi, if (aU)
415- then fromBase58String(getStringValue(this, (b + H(S, T))))
416- else aX), ScriptTransfer(q.caller, bo, aX)]
412+ else [IntegerEntry(if (aV)
413+ then ((("STAKE_LP_" + ba) + "_") + I(T, U))
414+ else ba, bc), IntegerEntry(if (aV)
415+ then ("Total_Tokens_LP_Locked_" + I(T, U))
416+ else "Total_Tokens_Locked:", bg), ScriptTransfer(r.caller, bj, if (aV)
417+ then fromBase58String(getStringValue(this, (b + I(T, U))))
418+ else aY), ScriptTransfer(r.caller, bp, aY)]
417419 }
418420 }
419421 else throw("liquidity is currently under maintenance.")
422424
423425
424426
425-@Callable(q)
426-func addLiquidity (S,T) = {
427- let aV = getBooleanValue(this, t)
428- let bp = getBooleanValue(this, u)
429- let Z = getBooleanValue(this, F)
430- let L = K(H(S, T))
431- let I = q.payments[0].assetId
432- let J = q.payments[1].assetId
433- let bq = fromBase58String(getStringValue(this, z))
434- let br = fromBase58String(getStringValue(this, B))
435- let bs = fromBase58String(getStringValue(this, A))
436- let bt = fromBase58String(getStringValue(this, C))
427+@Callable(r)
428+func addLiquidity (T,U) = {
429+ let aW = getBooleanValue(this, u)
430+ let bq = getBooleanValue(this, v)
431+ let aa = getBooleanValue(this, G)
432+ let M = L(I(T, U))
433+ let J = r.payments[0].assetId
434+ let K = r.payments[1].assetId
435+ let br = fromBase58String(getStringValue(this, A))
436+ let bs = fromBase58String(getStringValue(this, C))
437+ let bt = fromBase58String(getStringValue(this, B))
437438 let bu = fromBase58String(getStringValue(this, D))
438- let aX = fromBase58String(getStringValue(this, a))
439- let aY = getStringValue(this, (b + H(S, T)))
440- let bv = if ((2 > aa(((H(S, T) + "_") + S), false)))
441- then q.payments[0].amount
442- else aa(((H(S, T) + "_") + S), false)
443- let bw = if ((2 > aa(((H(S, T) + "_") + S), false)))
444- then q.payments[1].amount
445- else aa(((H(S, T) + "_") + T), false)
446- let bx = if ((bv == q.payments[0].amount))
447- then (q.payments[0].amount / q.payments[1].amount)
448- else (bv / bw)
449- let by = if ((bw == q.payments[1].amount))
450- then (q.payments[1].amount / q.payments[0].amount)
451- else (bw / bv)
452- let bz = aa(aY, true)
453- if (aV)
454- then if (!(bp))
455- then if (if (if (!((I == J)))
456- then W(I, S, Z)
439+ let bv = fromBase58String(getStringValue(this, E))
440+ let aY = fromBase58String(getStringValue(this, a))
441+ let aZ = getStringValue(this, (b + I(T, U)))
442+ let bw = if ((2 > ab(((I(T, U) + "_") + T), false)))
443+ then r.payments[0].amount
444+ else ab(((I(T, U) + "_") + T), false)
445+ let bx = if ((2 > ab(((I(T, U) + "_") + T), false)))
446+ then r.payments[1].amount
447+ else ab(((I(T, U) + "_") + U), false)
448+ let by = if ((bw == r.payments[0].amount))
449+ then (r.payments[0].amount / r.payments[1].amount)
450+ else (bw / bx)
451+ let bz = if ((bx == r.payments[1].amount))
452+ then (r.payments[1].amount / r.payments[0].amount)
453+ else (bx / bw)
454+ let bA = ab(aZ, true)
455+ if (aW)
456+ then if (!(bq))
457+ then if (if (if (!((J == K)))
458+ then X(J, T, aa)
457459 else false)
458- then W(J, T, Z)
460+ then X(K, U, aa)
459461 else false)
460- then if (if (if (if (if (if (if (if ((I == bq))
462+ then if (if (if (if (if (if (if (if ((J == br))
461463 then true
462- else (I == br))
464+ else (J == bs))
463465 then true
464- else (I == bs))
466+ else (J == bt))
465467 then true
466- else (I == bt))
468+ else (J == bu))
467469 then true
468- else (I == aX))
470+ else (J == aY))
469471 then true
470- else (I == G))
472+ else (J == H))
471473 then true
472- else (I == bu))
473- then if (if (if (if (if (if ((J == bq))
474+ else (J == bv))
475+ then if (if (if (if (if (if ((K == br))
474476 then true
475- else (J == br))
477+ else (K == bs))
476478 then true
477- else (J == bs))
479+ else (K == bt))
478480 then true
479- else (J == bt))
481+ else (K == bu))
480482 then true
481- else (J == aX))
483+ else (K == aY))
482484 then true
483- else (J == G))
485+ else (K == H))
484486 then true
485- else (J == bu)
487+ else (K == bv)
486488 else false)
487- then if ((L != false))
488- then if (if ((bx == (q.payments[0].amount / q.payments[1].amount)))
489- then (by == (q.payments[1].amount / q.payments[0].amount))
489+ then if ((M != false))
490+ then if (if ((by == (r.payments[0].amount / r.payments[1].amount)))
491+ then (bz == (r.payments[1].amount / r.payments[0].amount))
490492 else false)
491493 then {
492- let aZ = toBase58String(q.caller.bytes)
493- let ba = M(aZ, H(S, T))
494- let bA = O(aZ, H(S, T), S)
495- let bB = O(aZ, H(S, T), T)
496- let bC = Q(H(S, T), S)
497- let bD = Q(H(S, T), T)
498- let bE = ((q.payments[0].amount + q.payments[1].amount) / ((bv + bw) / bz))
499- let bF = (bA + q.payments[0].amount)
500- let bG = (bB + q.payments[1].amount)
501- let bH = (ba + bE)
502- let bI = (bC + q.payments[0].amount)
503- let bJ = (bD + q.payments[1].amount)
504-[Reissue(fromBase58String(aY), bE, true), ScriptTransfer(Address(q.caller.bytes), bE, fromBase58String(aY)), IntegerEntry(R(S, T, aZ), height), IntegerEntry(((((aZ + "_") + H(S, T)) + "_") + S), bF), IntegerEntry(((((aZ + "_") + H(S, T)) + "_") + T), bG), IntegerEntry(((H(S, T) + "_") + aZ), bH), IntegerEntry(((H(S, T) + "_") + S), bI), IntegerEntry(((H(S, T) + "_") + T), bJ), IntegerEntry(S, (o(S) + q.payments[0].amount)), IntegerEntry(T, (o(T) + q.payments[1].amount)), IntegerEntry(aY, (o(aY) + bE))]
494+ let ba = toBase58String(r.caller.bytes)
495+ let bb = N(ba, I(T, U))
496+ let bB = P(ba, I(T, U), T)
497+ let bC = P(ba, I(T, U), U)
498+ let bD = R(I(T, U), T)
499+ let bE = R(I(T, U), U)
500+ let bF = ((r.payments[0].amount + r.payments[1].amount) / ((bw + bx) / bA))
501+ let bG = (bB + r.payments[0].amount)
502+ let bH = (bC + r.payments[1].amount)
503+ let bI = (bb + bF)
504+ let bJ = (bD + r.payments[0].amount)
505+ let bK = (bE + r.payments[1].amount)
506+[Reissue(fromBase58String(aZ), bF, true), ScriptTransfer(Address(r.caller.bytes), bF, fromBase58String(aZ)), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bG), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bH), IntegerEntry(((I(T, U) + "_") + ba), bI), IntegerEntry(((I(T, U) + "_") + T), bJ), IntegerEntry(((I(T, U) + "_") + U), bK), IntegerEntry(T, (p(T) + r.payments[0].amount)), IntegerEntry(U, (p(U) + r.payments[1].amount)), IntegerEntry(aZ, (p(aZ) + bF))]
505507 }
506- else throw((((("Payment of invalid 1/1 amounts to the Pool. {asset1: '" + toString((q.payments[0].amount / q.payments[1].amount))) + "', asset2: '") + toString((q.payments[1].amount / q.payments[0].amount))) + "'} "))
508+ else throw((((("Payment of invalid 1/1 amounts to the Pool. {asset1: '" + toString(((r.payments[0].amount / r.payments[1].amount) * k))) + "', asset2: '") + toString(((r.payments[1].amount / r.payments[0].amount) * k))) + "'} "))
507509 else throw("Invalid Pool Key.")
508510 else throw("Invalid Asset1 or Asset2!")
509511 else throw("Asset1 cannot be equal to Asset2")
513515
514516
515517
516-@Callable(q)
517-func removeLiquidity (S,T,bK) = {
518- let aZ = toBase58String(q.caller.bytes)
519- let aV = getBooleanValue(this, t)
520- let bp = getBooleanValue(this, u)
521- let Z = getBooleanValue(this, F)
522- let bh = H(S, T)
523- let L = K(bh)
524- let I = if ((S == E))
525- then if (Z)
526- then G
527- else throw("The smart contract does not currently support Waves.")
528- else fromBase58String(S)
529- let J = if ((T == E))
530- then if (Z)
531- then G
518+@Callable(r)
519+func removeLiquidity (T,U,bL) = {
520+ let ba = toBase58String(r.caller.bytes)
521+ let aW = getBooleanValue(this, u)
522+ let bq = getBooleanValue(this, v)
523+ let aa = getBooleanValue(this, G)
524+ let bi = I(T, U)
525+ let M = L(bi)
526+ let J = if ((T == F))
527+ then if (aa)
528+ then H
532529 else throw("The smart contract does not currently support Waves.")
533530 else fromBase58String(T)
534- let bq = fromBase58String(getStringValue(this, z))
535- let br = fromBase58String(getStringValue(this, B))
536- let bs = fromBase58String(getStringValue(this, A))
537- let bt = fromBase58String(getStringValue(this, C))
538- let aX = fromBase58String(getStringValue(this, a))
531+ let K = if ((U == F))
532+ then if (aa)
533+ then H
534+ else throw("The smart contract does not currently support Waves.")
535+ else fromBase58String(U)
536+ let br = fromBase58String(getStringValue(this, A))
537+ let bs = fromBase58String(getStringValue(this, C))
538+ let bt = fromBase58String(getStringValue(this, B))
539539 let bu = fromBase58String(getStringValue(this, D))
540- let aY = getStringValue(this, (b + H(S, T)))
541- let ba = M(aZ, H(S, T))
542- let bL = U(aZ, bh)
543- let bM = getIntegerValue(this, aY)
544- let bv = aa(((H(S, T) + "_") + S), false)
545- let bw = aa(((H(S, T) + "_") + T), false)
546- if (aV)
547- then if (!(bp))
548- then if (!((S == T)))
549- then if (if (if (if (if (if (if (if ((I == bq))
540+ let aY = fromBase58String(getStringValue(this, a))
541+ let bv = fromBase58String(getStringValue(this, E))
542+ let aZ = getStringValue(this, (b + I(T, U)))
543+ let bb = N(ba, I(T, U))
544+ let bM = V(ba, bi)
545+ let bN = getIntegerValue(this, aZ)
546+ let bw = ab(((I(T, U) + "_") + T), false)
547+ let bx = ab(((I(T, U) + "_") + U), false)
548+ if (aW)
549+ then if (!(bq))
550+ then if (!((T == U)))
551+ then if (if (if (if (if (if (if (if ((J == br))
550552 then true
551- else (I == br))
553+ else (J == bs))
552554 then true
553- else (I == bs))
555+ else (J == bt))
554556 then true
555- else (I == bt))
557+ else (J == bu))
556558 then true
557- else (I == aX))
559+ else (J == aY))
558560 then true
559- else (I == G))
561+ else (J == H))
560562 then true
561- else (I == bu))
562- then if (if (if (if (if (if ((J == bq))
563+ else (J == bv))
564+ then if (if (if (if (if (if ((K == br))
563565 then true
564- else (J == br))
566+ else (K == bs))
565567 then true
566- else (J == bs))
568+ else (K == bt))
567569 then true
568- else (J == bt))
570+ else (K == bu))
569571 then true
570- else (J == aX))
572+ else (K == aY))
571573 then true
572- else (J == G))
574+ else (K == H))
573575 then true
574- else (J == bu)
576+ else (K == bv)
575577 else false)
576- then if ((L != false))
577- then if (!((ba == 0)))
578- then if (((ba - bL) >= bK))
578+ then if ((M != false))
579+ then if (!((bb == 0)))
580+ then if (((bb - bM) >= bL))
579581 then {
580- let bN = (bK / bM)
581- let bO = (bN * bv)
582- let bP = (bN * bw)
583- let bC = Q(H(S, T), S)
584- let bD = Q(H(S, T), T)
585- let bA = O(aZ, H(S, T), S)
586- let bB = O(aZ, H(S, T), T)
587- let bF = (bA - bO)
582+ let bO = (bL / bN)
583+ let bP = (bO * bw)
584+ let bQ = (bO * bx)
585+ let bD = R(I(T, U), T)
586+ let bE = R(I(T, U), U)
587+ let bB = P(ba, I(T, U), T)
588+ let bC = P(ba, I(T, U), U)
588589 let bG = (bB - bP)
589- let bH = (ba - bK)
590- let bI = (bC - bO)
590+ let bH = (bC - bQ)
591+ let bI = (bb - bL)
591592 let bJ = (bD - bP)
592- if ((q.payments[0].assetId == fromBase58String(aY)))
593- then if ((bK == q.payments[0].amount))
594- then [Burn(fromBase58String(aY), bK), ScriptTransfer(Address(q.caller.bytes), bO, I), ScriptTransfer(Address(q.caller.bytes), bP, J), IntegerEntry(R(S, T, aZ), height), IntegerEntry(((((aZ + "_") + H(S, T)) + "_") + S), bF), IntegerEntry(((((aZ + "_") + H(S, T)) + "_") + T), bG), IntegerEntry(((H(S, T) + "_") + aZ), bH), IntegerEntry(((H(S, T) + "_") + S), bI), IntegerEntry(((H(S, T) + "_") + T), bJ), IntegerEntry(S, (o(S) - bO)), IntegerEntry(T, (o(T) - bP)), IntegerEntry(aY, (o(aY) - bK))]
593+ let bK = (bE - bQ)
594+ if ((r.payments[0].assetId == fromBase58String(aZ)))
595+ then if ((bL == r.payments[0].amount))
596+ then [Burn(fromBase58String(aZ), bL), ScriptTransfer(Address(r.caller.bytes), bP, J), ScriptTransfer(Address(r.caller.bytes), bQ, K), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bG), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bH), IntegerEntry(((I(T, U) + "_") + ba), bI), IntegerEntry(((I(T, U) + "_") + T), bJ), IntegerEntry(((I(T, U) + "_") + U), bK), IntegerEntry(T, (p(T) - bP)), IntegerEntry(U, (p(U) - bQ)), IntegerEntry(aZ, (p(aZ) - bL))]
595597 else throw("Withdrawal amount lower than asset lp amount")
596598 else throw("Requires an lp asset as payment to remove locked amounts.")
597599 }
606608
607609
608610
609-@Callable(q)
610-func swap (S,T) = {
611- let aZ = toBase58String(q.caller.bytes)
612- let Z = getBooleanValue(this, F)
613- let aV = getBooleanValue(this, t)
614- let bQ = getBooleanValue(this, v)
615- let bh = H(S, T)
616- let L = K(bh)
617- let I = q.payments[0].assetId
618- let bq = fromBase58String(getStringValue(this, z))
619- let br = fromBase58String(getStringValue(this, B))
620- let bs = fromBase58String(getStringValue(this, A))
621- let bt = fromBase58String(getStringValue(this, C))
622- let aX = fromBase58String(getStringValue(this, a))
611+@Callable(r)
612+func swap (T,U) = {
613+ let ba = toBase58String(r.caller.bytes)
614+ let aa = getBooleanValue(this, G)
615+ let aW = getBooleanValue(this, u)
616+ let bR = getBooleanValue(this, w)
617+ let bi = I(T, U)
618+ let M = L(bi)
619+ let J = r.payments[0].assetId
620+ let br = fromBase58String(getStringValue(this, A))
621+ let bs = fromBase58String(getStringValue(this, C))
622+ let bt = fromBase58String(getStringValue(this, B))
623623 let bu = fromBase58String(getStringValue(this, D))
624- let bR = aa(((H(S, T) + "_") + S), false)
625- let bS = aa(((H(S, T) + "_") + T), false)
626- let bT = getIntegerValue(this, g)
627- if (aV)
628- then if (!(bQ))
629- then if (if (!((S == T)))
630- then if (W(I, S, Z))
624+ let aY = fromBase58String(getStringValue(this, a))
625+ let bv = fromBase58String(getStringValue(this, E))
626+ let bS = ab(((I(T, U) + "_") + T), false)
627+ let bT = ab(((I(T, U) + "_") + U), false)
628+ let bU = getIntegerValue(this, g)
629+ if (aW)
630+ then if (!(bR))
631+ then if (if (!((T == U)))
632+ then if (X(J, T, aa))
631633 then true
632- else W(I, T, Z)
634+ else X(J, U, aa)
633635 else false)
634- then if (if (if (if (if (if (if ((I == bq))
636+ then if (if (if (if (if (if (if ((J == br))
635637 then true
636- else (I == br))
638+ else (J == bs))
637639 then true
638- else (I == bs))
640+ else (J == bt))
639641 then true
640- else (I == bt))
642+ else (J == bu))
641643 then true
642- else (I == aX))
644+ else (J == aY))
643645 then true
644- else (I == bu))
646+ else (J == bv))
645647 then true
646- else (I == G))
647- then if ((L != false))
648- then if ((q.payments[1].assetId == aX))
649- then if ((q.payments[1].amount == 300000))
650- then if (if ((bR > 2))
648+ else (J == H))
649+ then if ((M != false))
650+ then if ((r.payments[1].assetId == aY))
651+ then if ((r.payments[1].amount == 300000))
652+ then if (if ((bS > 2))
651653 then true
652- else (bS > 2))
654+ else (bT > 2))
653655 then {
654- let bU = if (!((I == fromBase58String(S))))
655- then (bR / bS)
656- else (bS / bR)
657- let aM = (q.payments[0].amount - ((q.payments[0].amount * bT) / (100 * i)))
658- let bV = (aM * bU)
659-[ScriptTransfer(Address(q.caller.bytes), bV, if ((I == fromBase58String(T)))
660- then if ((T == E))
661- then G
662- else fromBase58String(S)
663- else if ((S == E))
664- then G
665- else fromBase58String(T)), IntegerEntry(T, (o(T) - bV)), IntegerEntry(((H(S, T) + "_") + T), (Q(H(S, T), T) - bV))]
656+ let bV = if (!((J == fromBase58String(T))))
657+ then (bS / bT)
658+ else (bT / bS)
659+ let aN = (r.payments[0].amount - ((r.payments[0].amount * bU) / (100 * i)))
660+ let bW = (aN * bV)
661+[ScriptTransfer(Address(r.caller.bytes), bW, if ((J == fromBase58String(U)))
662+ then if ((U == F))
663+ then H
664+ else fromBase58String(T)
665+ else if ((T == F))
666+ then H
667+ else fromBase58String(U)), IntegerEntry(U, (p(U) - bW)), IntegerEntry(((I(T, U) + "_") + U), (R(I(T, U), U) - bW))]
666668 }
667669 else throw("Pool has no liquidity.")
668670 else throw("Swap denied! 0.003 AxAi is required for the swap fee.")
675677 }
676678
677679
678-@Verifier(bW)
679-func bX () = {
680- let p = bW
681- if ($isInstanceOf(p, "Order"))
680+@Verifier(bX)
681+func bY () = {
682+ let q = bX
683+ if ($isInstanceOf(q, "Order"))
682684 then {
683- let bY = p
685+ let bZ = q
684686 true
685687 }
686- else if ($isInstanceOf(p, "ExchangeTransaction"))
688+ else if ($isInstanceOf(q, "ExchangeTransaction"))
687689 then {
688- let bZ = p
690+ let ca = q
689691 true
690692 }
691- else sigVerify(bW.bodyBytes, bW.proofs[0], bW.senderPublicKey)
693+ else sigVerify(bX.bodyBytes, bX.proofs[0], bX.senderPublicKey)
692694 }
693695
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "main_asset"
55
66 let b = "lp_asset_"
77
88 let c = "pool__"
99
1010 let d = "STAKING_AMOUNT_"
1111
1212 let e = "LEASE_AMOUNT_"
1313
1414 let f = "ID_"
1515
1616 let g = "percentage_rate_fee"
1717
1818 let h = "Deposit_Height_Of_"
1919
2020 let i = 100000000
2121
2222 let j = 1000000
2323
24-func k (l) = toString(valueOrErrorMessage(addressFromString(l), (("Can't parse " + l) + " as address")))
24+let k = 10000000000
25+
26+func l (m) = toString(valueOrErrorMessage(addressFromString(m), (("Can't parse " + m) + " as address")))
2527
2628
27-func m (n) = toBase58String(valueOrErrorMessage(value(assetInfo(fromBase58String(n))).id, (("Asset Id: " + n) + " is invalid.")))
29+func n (o) = toBase58String(valueOrErrorMessage(value(assetInfo(fromBase58String(o))).id, (("Asset Id: " + o) + " is invalid.")))
2830
2931
30-func o (n) = {
31- let p = getInteger(this, n)
32- if ($isInstanceOf(p, "Int"))
32+func p (o) = {
33+ let q = getInteger(this, o)
34+ if ($isInstanceOf(q, "Int"))
3335 then {
34- let q = p
35- q
36+ let r = q
37+ r
3638 }
3739 else 0
3840 }
3941
4042
41-func r (n) = {
42- let p = assetInfo(n)
43- if ($isInstanceOf(p, "Asset"))
43+func s (o) = {
44+ let q = assetInfo(o)
45+ if ($isInstanceOf(q, "Asset"))
4446 then {
45- let s = p
46- s.name
47+ let t = q
48+ t.name
4749 }
4850 else throw("Can't find asset")
4951 }
5052
5153
52-let t = "activate"
54+let u = "activate"
5355
54-let u = "activate_pools"
56+let v = "activate_pools"
5557
56-let v = "activate_swap"
58+let w = "activate_swap"
5759
58-let w = "activate_liquidity"
60+let x = "activate_liquidity"
5961
60-let x = "block_distribuition"
62+let y = "block_distribuition"
6163
62-let y = "Total_Tokens_Locked_"
64+let z = "Total_Tokens_Locked_"
6365
64-let z = "usdn_asset"
66+let A = "usdn_asset"
6567
66-let A = "usdt_asset"
68+let B = "usdt_asset"
6769
68-let B = "usdc_asset"
70+let C = "usdc_asset"
6971
70-let C = "ngnn_asset"
72+let D = "ngnn_asset"
7173
72-let D = "eurn_asset"
74+let E = "eurn_asset"
7375
74-let E = "WAVES"
76+let F = "WAVES"
7577
76-let F = "accept_waves"
78+let G = "accept_waves"
7779
78-let G = unit
80+let H = unit
7981
80-func H (I,J) = (((c + I) + "_") + J)
82+func I (J,K) = (((c + J) + "_") + K)
8183
8284
83-func K (L) = {
84- let p = getInteger(this, L)
85- if ($isInstanceOf(p, "Int"))
85+func L (M) = {
86+ let q = getInteger(this, M)
87+ if ($isInstanceOf(q, "Int"))
8688 then {
87- let q = p
88- q
89+ let r = q
90+ r
8991 }
9092 else false
9193 }
9294
9395
94-func M (l,L) = {
95- let p = getInteger(this, ((L + "_") + l))
96- if ($isInstanceOf(p, "Int"))
96+func N (m,M) = {
97+ let q = getInteger(this, ((M + "_") + m))
98+ if ($isInstanceOf(q, "Int"))
9799 then {
98- let N = p
99- N
100+ let O = q
101+ O
100102 }
101103 else 0
102104 }
103105
104106
105-func O (l,L,s) = {
106- let p = getInteger(this, ((((l + "_") + L) + "_") + s))
107- if ($isInstanceOf(p, "Int"))
107+func P (m,M,t) = {
108+ let q = getInteger(this, ((((m + "_") + M) + "_") + t))
109+ if ($isInstanceOf(q, "Int"))
108110 then {
109- let P = p
110- P
111+ let Q = q
112+ Q
111113 }
112114 else 0
113115 }
114116
115117
116-func Q (L,s) = {
117- let p = getInteger(this, ((L + "_") + s))
118- if ($isInstanceOf(p, "Int"))
118+func R (M,t) = {
119+ let q = getInteger(this, ((M + "_") + t))
120+ if ($isInstanceOf(q, "Int"))
119121 then {
120- let P = p
121- P
122+ let Q = q
123+ Q
122124 }
123125 else 1
124126 }
125127
126128
127-func R (S,T,l) = (((h + H(S, T)) + "_") + l)
129+func S (T,U,m) = (((h + I(T, U)) + "_") + m)
128130
129131
130-func U (l,L) = {
131- let p = getInteger(this, ((("STAKE_LP_" + l) + "_") + L))
132- if ($isInstanceOf(p, "Int"))
132+func V (m,M) = {
133+ let q = getInteger(this, ((("STAKE_LP_" + m) + "_") + M))
134+ if ($isInstanceOf(q, "Int"))
133135 then {
134- let P = p
135- P
136+ let Q = q
137+ Q
136138 }
137139 else 0
138140 }
139141
140142
141-func V () = {
142- let p = getString(this, "admin")
143- if ($isInstanceOf(p, "String"))
143+func W () = {
144+ let q = getString(this, "admin")
145+ if ($isInstanceOf(q, "String"))
144146 then {
145- let N = p
146- Address(fromBase58String(N))
147+ let O = q
148+ Address(fromBase58String(O))
147149 }
148150 else this
149151 }
150152
151153
152-func W (X,Y,Z) = if (if ((X == G))
153- then (Y == "WAVES")
154+func X (Y,Z,aa) = if (if ((Y == H))
155+ then (Z == "WAVES")
154156 else false)
155- then if (Z)
157+ then if (aa)
156158 then true
157159 else throw("The smart contract does not currently support Waves.")
158- else if ((X == fromBase58String(Y)))
160+ else if ((Y == fromBase58String(Z)))
159161 then true
160162 else false
161163
162164
163-func aa (L,ab) = {
164- let p = getInteger(this, L)
165- if ($isInstanceOf(p, "Int"))
165+func ab (M,ac) = {
166+ let q = getInteger(this, M)
167+ if ($isInstanceOf(q, "Int"))
166168 then {
167- let P = p
168- P
169+ let Q = q
170+ Q
169171 }
170- else if (ab)
172+ else if (ac)
171173 then (1 * i)
172174 else 1
173175 }
174176
175177
176-@Callable(q)
177-func constructor (ac,ad,ae,af,ag,ah,ai,aj,ak) = if (if ((q.caller == this))
178+@Callable(r)
179+func constructor (ad,ae,af,ag,ah,ai,aj,ak,al) = if (if ((r.caller == this))
178180 then true
179- else (q.caller == V()))
181+ else (r.caller == W()))
180182 then {
181- let al = H(ad, ae)
182- let am = H(ad, af)
183- let an = H(ad, ag)
184- let ao = H(ad, E)
185- let ap = H(ad, ac)
186- let aq = H(ad, ah)
187- let ar = H(af, ae)
188- let as = H(af, ag)
189- let at = H(af, E)
190- let au = H(af, ac)
191- let av = H(af, ah)
192- let aw = H(ae, ag)
193- let ax = H(ae, E)
194- let ay = H(ae, ac)
195- let az = H(ae, ah)
196- let aA = H(ag, E)
197- let aB = H(ag, ac)
198- let aC = H(ag, ah)
199- let aD = H(ac, E)
200- let aE = H(ac, ah)
201- let aF = H(ah, E)
202-[StringEntry(a, ac), StringEntry(z, ad), StringEntry(B, af), StringEntry(A, ae), StringEntry(C, ag), BooleanEntry(F, ak), IntegerEntry(g, ai), BooleanEntry(t, true), BooleanEntry(v, false), BooleanEntry(u, false), BooleanEntry(w, false), IntegerEntry(x, aj), IntegerEntry(al, 1), IntegerEntry(ao, 1), IntegerEntry(am, 1), IntegerEntry(an, 1), IntegerEntry(ap, 1), IntegerEntry(ar, 1), IntegerEntry(as, 1), IntegerEntry(at, 1), IntegerEntry(ay, 1), IntegerEntry(aw, 1), IntegerEntry(ax, 1), IntegerEntry(aA, 1), IntegerEntry(aB, 1), IntegerEntry(aD, 1), IntegerEntry(aF, 1), IntegerEntry(aE, 1), IntegerEntry(aC, 1), IntegerEntry(av, 1), IntegerEntry(aq, 1), IntegerEntry(az, 1), StringEntry(D, ah)]
183+ let am = I(ae, af)
184+ let an = I(ae, ag)
185+ let ao = I(ae, ah)
186+ let ap = I(ae, F)
187+ let aq = I(ae, ad)
188+ let ar = I(ae, ai)
189+ let as = I(ag, af)
190+ let at = I(ag, ah)
191+ let au = I(ag, F)
192+ let av = I(ag, ad)
193+ let aw = I(ag, ai)
194+ let ax = I(af, ah)
195+ let ay = I(af, F)
196+ let az = I(af, ad)
197+ let aA = I(af, ai)
198+ let aB = I(ah, F)
199+ let aC = I(ah, ad)
200+ let aD = I(ah, ai)
201+ let aE = I(ad, F)
202+ let aF = I(ad, ai)
203+ let aG = I(ai, F)
204+[StringEntry(a, ad), StringEntry(A, ae), StringEntry(C, ag), StringEntry(B, af), StringEntry(D, ah), BooleanEntry(G, al), IntegerEntry(g, aj), BooleanEntry(u, true), BooleanEntry(w, false), BooleanEntry(v, false), BooleanEntry(x, false), IntegerEntry(y, ak), IntegerEntry(am, 1), IntegerEntry(ap, 1), IntegerEntry(an, 1), IntegerEntry(ao, 1), IntegerEntry(aq, 1), IntegerEntry(as, 1), IntegerEntry(at, 1), IntegerEntry(au, 1), IntegerEntry(az, 1), IntegerEntry(ax, 1), IntegerEntry(ay, 1), IntegerEntry(aB, 1), IntegerEntry(aC, 1), IntegerEntry(aE, 1), IntegerEntry(aG, 1), IntegerEntry(aF, 1), IntegerEntry(aD, 1), IntegerEntry(aw, 1), IntegerEntry(ar, 1), IntegerEntry(aA, 1), StringEntry(E, ai)]
203205 }
204206 else throw("Only the Admin itself can invoke this function")
205207
206208
207209
208-@Callable(q)
209-func activate (aG) = if (if ((q.caller == this))
210+@Callable(r)
211+func activate (aH) = if (if ((r.caller == this))
210212 then true
211- else (q.caller == V()))
212- then [BooleanEntry(t, aG)]
213+ else (r.caller == W()))
214+ then [BooleanEntry(u, aH)]
213215 else throw("Only the Admin itself can invoke this function")
214216
215217
216218
217-@Callable(q)
218-func maintenance (aH,aI,aJ) = if (if ((q.caller == this))
219+@Callable(r)
220+func maintenance (aI,aJ,aK) = if (if ((r.caller == this))
219221 then true
220- else (q.caller == V()))
221- then [BooleanEntry(u, aH), BooleanEntry(v, aI), BooleanEntry(w, aJ)]
222+ else (r.caller == W()))
223+ then [BooleanEntry(v, aI), BooleanEntry(w, aJ), BooleanEntry(x, aK)]
222224 else throw("Only the Admin itself can invoke this function")
223225
224226
225227
226-@Callable(q)
227-func percentualRateFeeSwapEdit (aK) = if (if ((q.caller == this))
228+@Callable(r)
229+func percentualRateFeeSwapEdit (aL) = if (if ((r.caller == this))
228230 then true
229- else (q.caller == V()))
230- then [IntegerEntry(g, aK)]
231+ else (r.caller == W()))
232+ then [IntegerEntry(g, aL)]
231233 else throw("Only the Admin itself can invoke this function")
232234
233235
234236
235-@Callable(q)
236-func acceptWaves (aL) = if (if ((q.caller == this))
237+@Callable(r)
238+func acceptWaves (aM) = if (if ((r.caller == this))
237239 then true
238- else (q.caller == V()))
239- then [BooleanEntry(F, aL)]
240+ else (r.caller == W()))
241+ then [BooleanEntry(G, aM)]
240242 else throw("Only the Admin itself can invoke this function")
241243
242244
243245
244-@Callable(q)
245-func blockDistribution (aM) = if (if ((q.caller == this))
246+@Callable(r)
247+func blockDistribution (aN) = if (if ((r.caller == this))
246248 then true
247- else (q.caller == V()))
248- then [IntegerEntry(x, aM)]
249+ else (r.caller == W()))
250+ then [IntegerEntry(y, aN)]
249251 else throw("Only the Admin itself can invoke this function")
250252
251253
252254
253-@Callable(q)
254-func addAdmin (l) = if (if ((q.caller == this))
255+@Callable(r)
256+func addAdmin (m) = if (if ((r.caller == this))
255257 then true
256- else (q.caller == V()))
257- then [StringEntry("admin", l)]
258+ else (r.caller == W()))
259+ then [StringEntry("admin", m)]
258260 else throw("Only the Admin itself can invoke this function")
259261
260262
261263
262-@Callable(q)
263-func lpAssetCreateForPairPool (I,J,aN,aO) = {
264- let aP = if ((I == E))
265- then E
266- else r(fromBase58String(I))
267- let aQ = if ((J == E))
268- then E
269- else r(fromBase58String(J))
270- let aR = if (aO)
271- then aN
272- else ((aP + "_") + aQ)
273- let L = K(H(I, J))
274- if (if ((q.caller == this))
264+@Callable(r)
265+func lpAssetCreateForPairPool (J,K,aO,aP) = {
266+ let aQ = if ((J == F))
267+ then F
268+ else s(fromBase58String(J))
269+ let aR = if ((K == F))
270+ then F
271+ else s(fromBase58String(K))
272+ let aS = if (aP)
273+ then aO
274+ else ((aQ + "_") + aR)
275+ let M = L(I(J, K))
276+ if (if ((r.caller == this))
275277 then true
276- else (q.caller == V()))
277- then if ((L != false))
278+ else (r.caller == W()))
279+ then if ((M != false))
278280 then {
279- let aS = Issue(aR, ((("LP asset for pool liquidity in AxAi Swap pair " + I) + "_") + J), (1 * i), 8, true)
280- let aT = calculateAssetId(aS)
281-[StringEntry((b + H(I, J)), toBase58String(aT)), aS]
281+ let aT = Issue(aS, ((("LP asset for pool liquidity in AxAi Swap pair " + J) + "_") + K), (1 * i), 8, true)
282+ let aU = calculateAssetId(aT)
283+[StringEntry((b + I(J, K)), toBase58String(aU)), aT]
282284 }
283285 else throw("Invalid Pool Key. Try inverting the assets")
284286 else throw("Only the Admin itself can invoke this function")
285287 }
286288
287289
288290
289-@Callable(q)
290-func deposit (aU,S,T) = {
291- let aV = getBooleanValue(this, t)
292- let aW = getBooleanValue(this, w)
293- let aX = getStringValue(this, a)
294- let aY = if (aU)
295- then getStringValue(this, (b + H(S, T)))
296- else aX
297- if (aV)
298- then if (!(aW))
299- then if ((q.payments[0].assetId != fromBase58String(aY)))
300- then throw((("Invalid asset! Kindly Deposit Only " + aX) + " or valid asset lp"))
301- else if (!(aU))
291+@Callable(r)
292+func deposit (aV,T,U) = {
293+ let aW = getBooleanValue(this, u)
294+ let aX = getBooleanValue(this, x)
295+ let aY = getStringValue(this, a)
296+ let aZ = if (aV)
297+ then getStringValue(this, (b + I(T, U)))
298+ else aY
299+ if (aW)
300+ then if (!(aX))
301+ then if ((r.payments[0].assetId != fromBase58String(aZ)))
302+ then throw((("Invalid asset! Kindly Deposit Only " + aY) + " or valid asset lp"))
303+ else if (!(aV))
302304 then {
303- let aZ = toBase58String(q.caller.bytes)
304- let ba = {
305- let p = getInteger(this, aZ)
306- if ($isInstanceOf(p, "Int"))
305+ let ba = toBase58String(r.caller.bytes)
306+ let bb = {
307+ let q = getInteger(this, ba)
308+ if ($isInstanceOf(q, "Int"))
307309 then {
308- let P = p
309- P
310+ let Q = q
311+ Q
310312 }
311313 else 0
312314 }
313- let bb = (ba + q.payments[0].amount)
314- let bc = IntegerEntry(aZ, bb)
315- let bd = IntegerEntry((h + aZ), height)
316- let be = {
317- let p = getInteger(this, "Total_Tokens_Locked:")
318- if ($isInstanceOf(p, "Int"))
315+ let bc = (bb + r.payments[0].amount)
316+ let bd = IntegerEntry(ba, bc)
317+ let be = IntegerEntry((h + ba), height)
318+ let bf = {
319+ let q = getInteger(this, "Total_Tokens_Locked:")
320+ if ($isInstanceOf(q, "Int"))
319321 then {
320- let P = p
321- P
322+ let Q = q
323+ Q
322324 }
323325 else 0
324326 }
325- let bf = (be + q.payments[0].amount)
326- let bg = IntegerEntry("Total_Tokens_Locked:", bf)
327-[bc, bd, bg]
327+ let bg = (bf + r.payments[0].amount)
328+ let bh = IntegerEntry("Total_Tokens_Locked:", bg)
329+[bd, be, bh]
328330 }
329331 else {
330- let bh = H(S, T)
331- let L = K(bh)
332- if ((L != false))
332+ let bi = I(T, U)
333+ let M = L(bi)
334+ if ((M != false))
333335 then {
334- let aZ = toBase58String(q.caller.bytes)
335- let ba = {
336- let p = getInteger(this, ((("STAKE_LP_" + aZ) + "_") + bh))
337- if ($isInstanceOf(p, "Int"))
336+ let ba = toBase58String(r.caller.bytes)
337+ let bb = {
338+ let q = getInteger(this, ((("STAKE_LP_" + ba) + "_") + bi))
339+ if ($isInstanceOf(q, "Int"))
338340 then {
339- let P = p
340- P
341+ let Q = q
342+ Q
341343 }
342344 else 0
343345 }
344- let bb = (ba + q.payments[0].amount)
345- let bc = IntegerEntry(((("STAKE_LP_" + aZ) + "_") + bh), bb)
346- let bd = IntegerEntry(((((h + "_") + aZ) + "_") + bh), height)
347- let be = {
348- let p = getInteger(this, ("Total_Tokens_LP_Locked_" + bh))
349- if ($isInstanceOf(p, "Int"))
346+ let bc = (bb + r.payments[0].amount)
347+ let bd = IntegerEntry(((("STAKE_LP_" + ba) + "_") + bi), bc)
348+ let be = IntegerEntry(((((h + "_") + ba) + "_") + bi), height)
349+ let bf = {
350+ let q = getInteger(this, ("Total_Tokens_LP_Locked_" + bi))
351+ if ($isInstanceOf(q, "Int"))
350352 then {
351- let P = p
352- P
353+ let Q = q
354+ Q
353355 }
354356 else 0
355357 }
356- let bf = (be + q.payments[0].amount)
357- let bg = IntegerEntry(("Total_Tokens_LP_Locked_" + bh), bf)
358-[bc, bd, bg]
358+ let bg = (bf + r.payments[0].amount)
359+ let bh = IntegerEntry(("Total_Tokens_LP_Locked_" + bi), bg)
360+[bd, be, bh]
359361 }
360362 else throw("Invalid Pool key.")
361363 }
362364 else throw("liquidity is currently under maintenance.")
363365 else throw("dApp is currently under maintenance.")
364366 }
365367
366368
367369
368-@Callable(q)
369-func remove (aU,S,T,bi) = {
370- let aV = getBooleanValue(this, t)
371- let aW = getBooleanValue(this, w)
372- let bj = q.payments[0]
373- let aX = fromBase58String(getStringValue(this, a))
374- if (aV)
375- then if (!(aW))
370+@Callable(r)
371+func remove (aV,T,U,bj) = {
372+ let aW = getBooleanValue(this, u)
373+ let aX = getBooleanValue(this, x)
374+ let bk = r.payments[0]
375+ let aY = fromBase58String(getStringValue(this, a))
376+ if (aW)
377+ then if (!(aX))
376378 then {
377- let aZ = toBase58String(q.caller.bytes)
378- let ba = {
379- let p = if (aU)
380- then getIntegerValue(this, ((("STAKE_LP_" + aZ) + "_") + H(S, T)))
381- else getIntegerValue(this, aZ)
382- if ($isInstanceOf(p, "Int"))
379+ let ba = toBase58String(r.caller.bytes)
380+ let bb = {
381+ let q = if (aV)
382+ then getIntegerValue(this, ((("STAKE_LP_" + ba) + "_") + I(T, U)))
383+ else getIntegerValue(this, ba)
384+ if ($isInstanceOf(q, "Int"))
383385 then {
384- let P = p
385- P
386+ let Q = q
387+ Q
386388 }
387389 else 0
388390 }
389- let bk = if (aU)
390- then ((((h + "_") + aZ) + "_") + H(S, T))
391- else (h + aZ)
392- let be = if (aU)
393- then getIntegerValue(this, ("Total_Tokens_LP_Locked_" + H(S, T)))
391+ let bl = if (aV)
392+ then ((((h + "_") + ba) + "_") + I(T, U))
393+ else (h + ba)
394+ let bf = if (aV)
395+ then getIntegerValue(this, ("Total_Tokens_LP_Locked_" + I(T, U)))
394396 else getIntegerValue(this, "Total_Tokens_Locked:")
395- let bf = (be - bi)
396- let bl = (height - getIntegerValue(this, bk))
397- let bm = getIntegerValue(this, x)
398- let bn = ((bl * bm) * i)
399- let bo = (bn / (be / bi))
400- if ((0 > bi))
401- then throw(if (aU)
402- then (((("Can't withdraw negative " + S) + "/") + T) + " amount")
397+ let bg = (bf - bj)
398+ let bm = (height - getIntegerValue(this, bl))
399+ let bn = getIntegerValue(this, y)
400+ let bo = ((bm * bn) * i)
401+ let bp = (bo / (bf / bj))
402+ if ((0 > bj))
403+ then throw(if (aV)
404+ then (((("Can't withdraw negative " + T) + "/") + U) + " amount")
403405 else "Can't withdraw negative AxAi amount")
404406 else {
405- let bb = (ba - bi)
406- if ((0 > bb))
407- then throw(if (aU)
408- then (((("Not enough Asset Lp " + S) + "/") + T) + " balance")
407+ let bc = (bb - bj)
408+ if ((0 > bc))
409+ then throw(if (aV)
410+ then (((("Not enough Asset Lp " + T) + "/") + U) + " balance")
409411 else "Not enough AxAi balance")
410- else [IntegerEntry(if (aU)
411- then ((("STAKE_LP_" + aZ) + "_") + H(S, T))
412- else aZ, bb), IntegerEntry(if (aU)
413- then ("Total_Tokens_LP_Locked_" + H(S, T))
414- else "Total_Tokens_Locked:", bf), ScriptTransfer(q.caller, bi, if (aU)
415- then fromBase58String(getStringValue(this, (b + H(S, T))))
416- else aX), ScriptTransfer(q.caller, bo, aX)]
412+ else [IntegerEntry(if (aV)
413+ then ((("STAKE_LP_" + ba) + "_") + I(T, U))
414+ else ba, bc), IntegerEntry(if (aV)
415+ then ("Total_Tokens_LP_Locked_" + I(T, U))
416+ else "Total_Tokens_Locked:", bg), ScriptTransfer(r.caller, bj, if (aV)
417+ then fromBase58String(getStringValue(this, (b + I(T, U))))
418+ else aY), ScriptTransfer(r.caller, bp, aY)]
417419 }
418420 }
419421 else throw("liquidity is currently under maintenance.")
420422 else throw("dApp is currently under maintenance.")
421423 }
422424
423425
424426
425-@Callable(q)
426-func addLiquidity (S,T) = {
427- let aV = getBooleanValue(this, t)
428- let bp = getBooleanValue(this, u)
429- let Z = getBooleanValue(this, F)
430- let L = K(H(S, T))
431- let I = q.payments[0].assetId
432- let J = q.payments[1].assetId
433- let bq = fromBase58String(getStringValue(this, z))
434- let br = fromBase58String(getStringValue(this, B))
435- let bs = fromBase58String(getStringValue(this, A))
436- let bt = fromBase58String(getStringValue(this, C))
427+@Callable(r)
428+func addLiquidity (T,U) = {
429+ let aW = getBooleanValue(this, u)
430+ let bq = getBooleanValue(this, v)
431+ let aa = getBooleanValue(this, G)
432+ let M = L(I(T, U))
433+ let J = r.payments[0].assetId
434+ let K = r.payments[1].assetId
435+ let br = fromBase58String(getStringValue(this, A))
436+ let bs = fromBase58String(getStringValue(this, C))
437+ let bt = fromBase58String(getStringValue(this, B))
437438 let bu = fromBase58String(getStringValue(this, D))
438- let aX = fromBase58String(getStringValue(this, a))
439- let aY = getStringValue(this, (b + H(S, T)))
440- let bv = if ((2 > aa(((H(S, T) + "_") + S), false)))
441- then q.payments[0].amount
442- else aa(((H(S, T) + "_") + S), false)
443- let bw = if ((2 > aa(((H(S, T) + "_") + S), false)))
444- then q.payments[1].amount
445- else aa(((H(S, T) + "_") + T), false)
446- let bx = if ((bv == q.payments[0].amount))
447- then (q.payments[0].amount / q.payments[1].amount)
448- else (bv / bw)
449- let by = if ((bw == q.payments[1].amount))
450- then (q.payments[1].amount / q.payments[0].amount)
451- else (bw / bv)
452- let bz = aa(aY, true)
453- if (aV)
454- then if (!(bp))
455- then if (if (if (!((I == J)))
456- then W(I, S, Z)
439+ let bv = fromBase58String(getStringValue(this, E))
440+ let aY = fromBase58String(getStringValue(this, a))
441+ let aZ = getStringValue(this, (b + I(T, U)))
442+ let bw = if ((2 > ab(((I(T, U) + "_") + T), false)))
443+ then r.payments[0].amount
444+ else ab(((I(T, U) + "_") + T), false)
445+ let bx = if ((2 > ab(((I(T, U) + "_") + T), false)))
446+ then r.payments[1].amount
447+ else ab(((I(T, U) + "_") + U), false)
448+ let by = if ((bw == r.payments[0].amount))
449+ then (r.payments[0].amount / r.payments[1].amount)
450+ else (bw / bx)
451+ let bz = if ((bx == r.payments[1].amount))
452+ then (r.payments[1].amount / r.payments[0].amount)
453+ else (bx / bw)
454+ let bA = ab(aZ, true)
455+ if (aW)
456+ then if (!(bq))
457+ then if (if (if (!((J == K)))
458+ then X(J, T, aa)
457459 else false)
458- then W(J, T, Z)
460+ then X(K, U, aa)
459461 else false)
460- then if (if (if (if (if (if (if (if ((I == bq))
462+ then if (if (if (if (if (if (if (if ((J == br))
461463 then true
462- else (I == br))
464+ else (J == bs))
463465 then true
464- else (I == bs))
466+ else (J == bt))
465467 then true
466- else (I == bt))
468+ else (J == bu))
467469 then true
468- else (I == aX))
470+ else (J == aY))
469471 then true
470- else (I == G))
472+ else (J == H))
471473 then true
472- else (I == bu))
473- then if (if (if (if (if (if ((J == bq))
474+ else (J == bv))
475+ then if (if (if (if (if (if ((K == br))
474476 then true
475- else (J == br))
477+ else (K == bs))
476478 then true
477- else (J == bs))
479+ else (K == bt))
478480 then true
479- else (J == bt))
481+ else (K == bu))
480482 then true
481- else (J == aX))
483+ else (K == aY))
482484 then true
483- else (J == G))
485+ else (K == H))
484486 then true
485- else (J == bu)
487+ else (K == bv)
486488 else false)
487- then if ((L != false))
488- then if (if ((bx == (q.payments[0].amount / q.payments[1].amount)))
489- then (by == (q.payments[1].amount / q.payments[0].amount))
489+ then if ((M != false))
490+ then if (if ((by == (r.payments[0].amount / r.payments[1].amount)))
491+ then (bz == (r.payments[1].amount / r.payments[0].amount))
490492 else false)
491493 then {
492- let aZ = toBase58String(q.caller.bytes)
493- let ba = M(aZ, H(S, T))
494- let bA = O(aZ, H(S, T), S)
495- let bB = O(aZ, H(S, T), T)
496- let bC = Q(H(S, T), S)
497- let bD = Q(H(S, T), T)
498- let bE = ((q.payments[0].amount + q.payments[1].amount) / ((bv + bw) / bz))
499- let bF = (bA + q.payments[0].amount)
500- let bG = (bB + q.payments[1].amount)
501- let bH = (ba + bE)
502- let bI = (bC + q.payments[0].amount)
503- let bJ = (bD + q.payments[1].amount)
504-[Reissue(fromBase58String(aY), bE, true), ScriptTransfer(Address(q.caller.bytes), bE, fromBase58String(aY)), IntegerEntry(R(S, T, aZ), height), IntegerEntry(((((aZ + "_") + H(S, T)) + "_") + S), bF), IntegerEntry(((((aZ + "_") + H(S, T)) + "_") + T), bG), IntegerEntry(((H(S, T) + "_") + aZ), bH), IntegerEntry(((H(S, T) + "_") + S), bI), IntegerEntry(((H(S, T) + "_") + T), bJ), IntegerEntry(S, (o(S) + q.payments[0].amount)), IntegerEntry(T, (o(T) + q.payments[1].amount)), IntegerEntry(aY, (o(aY) + bE))]
494+ let ba = toBase58String(r.caller.bytes)
495+ let bb = N(ba, I(T, U))
496+ let bB = P(ba, I(T, U), T)
497+ let bC = P(ba, I(T, U), U)
498+ let bD = R(I(T, U), T)
499+ let bE = R(I(T, U), U)
500+ let bF = ((r.payments[0].amount + r.payments[1].amount) / ((bw + bx) / bA))
501+ let bG = (bB + r.payments[0].amount)
502+ let bH = (bC + r.payments[1].amount)
503+ let bI = (bb + bF)
504+ let bJ = (bD + r.payments[0].amount)
505+ let bK = (bE + r.payments[1].amount)
506+[Reissue(fromBase58String(aZ), bF, true), ScriptTransfer(Address(r.caller.bytes), bF, fromBase58String(aZ)), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bG), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bH), IntegerEntry(((I(T, U) + "_") + ba), bI), IntegerEntry(((I(T, U) + "_") + T), bJ), IntegerEntry(((I(T, U) + "_") + U), bK), IntegerEntry(T, (p(T) + r.payments[0].amount)), IntegerEntry(U, (p(U) + r.payments[1].amount)), IntegerEntry(aZ, (p(aZ) + bF))]
505507 }
506- else throw((((("Payment of invalid 1/1 amounts to the Pool. {asset1: '" + toString((q.payments[0].amount / q.payments[1].amount))) + "', asset2: '") + toString((q.payments[1].amount / q.payments[0].amount))) + "'} "))
508+ else throw((((("Payment of invalid 1/1 amounts to the Pool. {asset1: '" + toString(((r.payments[0].amount / r.payments[1].amount) * k))) + "', asset2: '") + toString(((r.payments[1].amount / r.payments[0].amount) * k))) + "'} "))
507509 else throw("Invalid Pool Key.")
508510 else throw("Invalid Asset1 or Asset2!")
509511 else throw("Asset1 cannot be equal to Asset2")
510512 else throw("liquidity is currently under maintenance.")
511513 else throw("dApp is currently under maintenance.")
512514 }
513515
514516
515517
516-@Callable(q)
517-func removeLiquidity (S,T,bK) = {
518- let aZ = toBase58String(q.caller.bytes)
519- let aV = getBooleanValue(this, t)
520- let bp = getBooleanValue(this, u)
521- let Z = getBooleanValue(this, F)
522- let bh = H(S, T)
523- let L = K(bh)
524- let I = if ((S == E))
525- then if (Z)
526- then G
527- else throw("The smart contract does not currently support Waves.")
528- else fromBase58String(S)
529- let J = if ((T == E))
530- then if (Z)
531- then G
518+@Callable(r)
519+func removeLiquidity (T,U,bL) = {
520+ let ba = toBase58String(r.caller.bytes)
521+ let aW = getBooleanValue(this, u)
522+ let bq = getBooleanValue(this, v)
523+ let aa = getBooleanValue(this, G)
524+ let bi = I(T, U)
525+ let M = L(bi)
526+ let J = if ((T == F))
527+ then if (aa)
528+ then H
532529 else throw("The smart contract does not currently support Waves.")
533530 else fromBase58String(T)
534- let bq = fromBase58String(getStringValue(this, z))
535- let br = fromBase58String(getStringValue(this, B))
536- let bs = fromBase58String(getStringValue(this, A))
537- let bt = fromBase58String(getStringValue(this, C))
538- let aX = fromBase58String(getStringValue(this, a))
531+ let K = if ((U == F))
532+ then if (aa)
533+ then H
534+ else throw("The smart contract does not currently support Waves.")
535+ else fromBase58String(U)
536+ let br = fromBase58String(getStringValue(this, A))
537+ let bs = fromBase58String(getStringValue(this, C))
538+ let bt = fromBase58String(getStringValue(this, B))
539539 let bu = fromBase58String(getStringValue(this, D))
540- let aY = getStringValue(this, (b + H(S, T)))
541- let ba = M(aZ, H(S, T))
542- let bL = U(aZ, bh)
543- let bM = getIntegerValue(this, aY)
544- let bv = aa(((H(S, T) + "_") + S), false)
545- let bw = aa(((H(S, T) + "_") + T), false)
546- if (aV)
547- then if (!(bp))
548- then if (!((S == T)))
549- then if (if (if (if (if (if (if (if ((I == bq))
540+ let aY = fromBase58String(getStringValue(this, a))
541+ let bv = fromBase58String(getStringValue(this, E))
542+ let aZ = getStringValue(this, (b + I(T, U)))
543+ let bb = N(ba, I(T, U))
544+ let bM = V(ba, bi)
545+ let bN = getIntegerValue(this, aZ)
546+ let bw = ab(((I(T, U) + "_") + T), false)
547+ let bx = ab(((I(T, U) + "_") + U), false)
548+ if (aW)
549+ then if (!(bq))
550+ then if (!((T == U)))
551+ then if (if (if (if (if (if (if (if ((J == br))
550552 then true
551- else (I == br))
553+ else (J == bs))
552554 then true
553- else (I == bs))
555+ else (J == bt))
554556 then true
555- else (I == bt))
557+ else (J == bu))
556558 then true
557- else (I == aX))
559+ else (J == aY))
558560 then true
559- else (I == G))
561+ else (J == H))
560562 then true
561- else (I == bu))
562- then if (if (if (if (if (if ((J == bq))
563+ else (J == bv))
564+ then if (if (if (if (if (if ((K == br))
563565 then true
564- else (J == br))
566+ else (K == bs))
565567 then true
566- else (J == bs))
568+ else (K == bt))
567569 then true
568- else (J == bt))
570+ else (K == bu))
569571 then true
570- else (J == aX))
572+ else (K == aY))
571573 then true
572- else (J == G))
574+ else (K == H))
573575 then true
574- else (J == bu)
576+ else (K == bv)
575577 else false)
576- then if ((L != false))
577- then if (!((ba == 0)))
578- then if (((ba - bL) >= bK))
578+ then if ((M != false))
579+ then if (!((bb == 0)))
580+ then if (((bb - bM) >= bL))
579581 then {
580- let bN = (bK / bM)
581- let bO = (bN * bv)
582- let bP = (bN * bw)
583- let bC = Q(H(S, T), S)
584- let bD = Q(H(S, T), T)
585- let bA = O(aZ, H(S, T), S)
586- let bB = O(aZ, H(S, T), T)
587- let bF = (bA - bO)
582+ let bO = (bL / bN)
583+ let bP = (bO * bw)
584+ let bQ = (bO * bx)
585+ let bD = R(I(T, U), T)
586+ let bE = R(I(T, U), U)
587+ let bB = P(ba, I(T, U), T)
588+ let bC = P(ba, I(T, U), U)
588589 let bG = (bB - bP)
589- let bH = (ba - bK)
590- let bI = (bC - bO)
590+ let bH = (bC - bQ)
591+ let bI = (bb - bL)
591592 let bJ = (bD - bP)
592- if ((q.payments[0].assetId == fromBase58String(aY)))
593- then if ((bK == q.payments[0].amount))
594- then [Burn(fromBase58String(aY), bK), ScriptTransfer(Address(q.caller.bytes), bO, I), ScriptTransfer(Address(q.caller.bytes), bP, J), IntegerEntry(R(S, T, aZ), height), IntegerEntry(((((aZ + "_") + H(S, T)) + "_") + S), bF), IntegerEntry(((((aZ + "_") + H(S, T)) + "_") + T), bG), IntegerEntry(((H(S, T) + "_") + aZ), bH), IntegerEntry(((H(S, T) + "_") + S), bI), IntegerEntry(((H(S, T) + "_") + T), bJ), IntegerEntry(S, (o(S) - bO)), IntegerEntry(T, (o(T) - bP)), IntegerEntry(aY, (o(aY) - bK))]
593+ let bK = (bE - bQ)
594+ if ((r.payments[0].assetId == fromBase58String(aZ)))
595+ then if ((bL == r.payments[0].amount))
596+ then [Burn(fromBase58String(aZ), bL), ScriptTransfer(Address(r.caller.bytes), bP, J), ScriptTransfer(Address(r.caller.bytes), bQ, K), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bG), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bH), IntegerEntry(((I(T, U) + "_") + ba), bI), IntegerEntry(((I(T, U) + "_") + T), bJ), IntegerEntry(((I(T, U) + "_") + U), bK), IntegerEntry(T, (p(T) - bP)), IntegerEntry(U, (p(U) - bQ)), IntegerEntry(aZ, (p(aZ) - bL))]
595597 else throw("Withdrawal amount lower than asset lp amount")
596598 else throw("Requires an lp asset as payment to remove locked amounts.")
597599 }
598600 else throw("Amount to be withdrawn greater than the amount available for withdrawal.")
599601 else throw("You have no locked values ​​in the pool")
600602 else throw("Invalid Pool Key.")
601603 else throw("Invalid Asset1 or Asset2!")
602604 else throw("Asset1 cannot be equal to Asset2")
603605 else throw("liquidity is currently under maintenance.")
604606 else throw("dApp is currently under maintenance.")
605607 }
606608
607609
608610
609-@Callable(q)
610-func swap (S,T) = {
611- let aZ = toBase58String(q.caller.bytes)
612- let Z = getBooleanValue(this, F)
613- let aV = getBooleanValue(this, t)
614- let bQ = getBooleanValue(this, v)
615- let bh = H(S, T)
616- let L = K(bh)
617- let I = q.payments[0].assetId
618- let bq = fromBase58String(getStringValue(this, z))
619- let br = fromBase58String(getStringValue(this, B))
620- let bs = fromBase58String(getStringValue(this, A))
621- let bt = fromBase58String(getStringValue(this, C))
622- let aX = fromBase58String(getStringValue(this, a))
611+@Callable(r)
612+func swap (T,U) = {
613+ let ba = toBase58String(r.caller.bytes)
614+ let aa = getBooleanValue(this, G)
615+ let aW = getBooleanValue(this, u)
616+ let bR = getBooleanValue(this, w)
617+ let bi = I(T, U)
618+ let M = L(bi)
619+ let J = r.payments[0].assetId
620+ let br = fromBase58String(getStringValue(this, A))
621+ let bs = fromBase58String(getStringValue(this, C))
622+ let bt = fromBase58String(getStringValue(this, B))
623623 let bu = fromBase58String(getStringValue(this, D))
624- let bR = aa(((H(S, T) + "_") + S), false)
625- let bS = aa(((H(S, T) + "_") + T), false)
626- let bT = getIntegerValue(this, g)
627- if (aV)
628- then if (!(bQ))
629- then if (if (!((S == T)))
630- then if (W(I, S, Z))
624+ let aY = fromBase58String(getStringValue(this, a))
625+ let bv = fromBase58String(getStringValue(this, E))
626+ let bS = ab(((I(T, U) + "_") + T), false)
627+ let bT = ab(((I(T, U) + "_") + U), false)
628+ let bU = getIntegerValue(this, g)
629+ if (aW)
630+ then if (!(bR))
631+ then if (if (!((T == U)))
632+ then if (X(J, T, aa))
631633 then true
632- else W(I, T, Z)
634+ else X(J, U, aa)
633635 else false)
634- then if (if (if (if (if (if (if ((I == bq))
636+ then if (if (if (if (if (if (if ((J == br))
635637 then true
636- else (I == br))
638+ else (J == bs))
637639 then true
638- else (I == bs))
640+ else (J == bt))
639641 then true
640- else (I == bt))
642+ else (J == bu))
641643 then true
642- else (I == aX))
644+ else (J == aY))
643645 then true
644- else (I == bu))
646+ else (J == bv))
645647 then true
646- else (I == G))
647- then if ((L != false))
648- then if ((q.payments[1].assetId == aX))
649- then if ((q.payments[1].amount == 300000))
650- then if (if ((bR > 2))
648+ else (J == H))
649+ then if ((M != false))
650+ then if ((r.payments[1].assetId == aY))
651+ then if ((r.payments[1].amount == 300000))
652+ then if (if ((bS > 2))
651653 then true
652- else (bS > 2))
654+ else (bT > 2))
653655 then {
654- let bU = if (!((I == fromBase58String(S))))
655- then (bR / bS)
656- else (bS / bR)
657- let aM = (q.payments[0].amount - ((q.payments[0].amount * bT) / (100 * i)))
658- let bV = (aM * bU)
659-[ScriptTransfer(Address(q.caller.bytes), bV, if ((I == fromBase58String(T)))
660- then if ((T == E))
661- then G
662- else fromBase58String(S)
663- else if ((S == E))
664- then G
665- else fromBase58String(T)), IntegerEntry(T, (o(T) - bV)), IntegerEntry(((H(S, T) + "_") + T), (Q(H(S, T), T) - bV))]
656+ let bV = if (!((J == fromBase58String(T))))
657+ then (bS / bT)
658+ else (bT / bS)
659+ let aN = (r.payments[0].amount - ((r.payments[0].amount * bU) / (100 * i)))
660+ let bW = (aN * bV)
661+[ScriptTransfer(Address(r.caller.bytes), bW, if ((J == fromBase58String(U)))
662+ then if ((U == F))
663+ then H
664+ else fromBase58String(T)
665+ else if ((T == F))
666+ then H
667+ else fromBase58String(U)), IntegerEntry(U, (p(U) - bW)), IntegerEntry(((I(T, U) + "_") + U), (R(I(T, U), U) - bW))]
666668 }
667669 else throw("Pool has no liquidity.")
668670 else throw("Swap denied! 0.003 AxAi is required for the swap fee.")
669671 else throw("Invalid rate asset")
670672 else throw("Invalid Swap Key.")
671673 else throw("Invalid Asset1 or Asset2!")
672674 else throw("Asset1 cannot be equal to Asset2")
673675 else throw("Swap is currently under maintenance.")
674676 else throw("dApp is currently under maintenance.")
675677 }
676678
677679
678-@Verifier(bW)
679-func bX () = {
680- let p = bW
681- if ($isInstanceOf(p, "Order"))
680+@Verifier(bX)
681+func bY () = {
682+ let q = bX
683+ if ($isInstanceOf(q, "Order"))
682684 then {
683- let bY = p
685+ let bZ = q
684686 true
685687 }
686- else if ($isInstanceOf(p, "ExchangeTransaction"))
688+ else if ($isInstanceOf(q, "ExchangeTransaction"))
687689 then {
688- let bZ = p
690+ let ca = q
689691 true
690692 }
691- else sigVerify(bW.bodyBytes, bW.proofs[0], bW.senderPublicKey)
693+ else sigVerify(bX.bodyBytes, bX.proofs[0], bX.senderPublicKey)
692694 }
693695

github/deemru/w8io/169f3d6 
239.76 ms