tx · AD5pBQsLXGz79a8QACGBLP1mzsJEYPhKTttijrxopziW

3N8b7mamWRbw6YjYJgsNGzTsKAbsbf4zVSA:  -0.03000000 Waves

2022.07.10 00:58 [2132753] smart account 3N8b7mamWRbw6YjYJgsNGzTsKAbsbf4zVSA > SELF 0.00000000 Waves

{ "type": 13, "id": "AD5pBQsLXGz79a8QACGBLP1mzsJEYPhKTttijrxopziW", "fee": 3000000, "feeAssetId": null, "timestamp": 1657403985847, "version": 2, "chainId": 84, "sender": "3N8b7mamWRbw6YjYJgsNGzTsKAbsbf4zVSA", "senderPublicKey": "FA2TFZp55AkfpLAK7toKNNdufbHH3cY6aCSSMFcFPafT", "proofs": [ "467kehhBbzXXp7fTdW8F5Zv76M7Yqi9ZiPkABG7BgRi2ViKQrra5H6n4a1YbGmbpxdFbfa8tjtUKwvGF4sLefBBu" ], "script": "base64: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ZUFzc2V0AAAAAwAAAAZhc3NldFMAAAALc3RyaW5nQXNzZXQAAAAHYWNXYXZlcwMDCQAAAAAAAAIFAAAABmFzc2V0UwUAAAAFV0FWRVMJAAAAAAAAAgUAAAALc3RyaW5nQXNzZXQCAAAABVdBVkVTBwMFAAAAB2FjV2F2ZXMGCQAAAgAAAAECAAAANFRoZSBzbWFydCBjb250cmFjdCBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBXYXZlcy4DCQAAAAAAAAIFAAAABmFzc2V0UwkAAlkAAAABBQAAAAtzdHJpbmdBc3NldAYHAAAADQAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAkAAAALTWFpbkFzc2V0SWQAAAALVXNkbkFzc2V0SWQAAAALVXNkdEFzc2V0SWQAAAALVXNkY0Fzc2V0SWQAAAALTmdubkFzc2V0SWQAAAALRXVybkFzc2V0SWQAAAAScGVyY2VudGFnZVJhdGVTd2FwAAAAEWJsb2NrRGlzdHJpYnV0aW9uAAAAC2FjY2VwdFdhdmVzAwMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzBgkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAABFhZG1pblZlcmlmaWNhdGlvbgAAAAAEAAAAD2tleVBvb2xVc2RuVXNkdAkBAAAAAmtwAAAAAgUAAAALVXNkbkFzc2V0SWQFAAAAC1VzZHRBc3NldElkBAAAAA9rZXlQb29sVXNkblVzZGMJAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAtVc2RjQXNzZXRJZAQAAAAPa2V5UG9vbFVzZG5OZ25uCQEAAAACa3AAAAACBQAAAAtVc2RuQXNzZXRJZAUAAAALTmdubkFzc2V0SWQEAAAAEGtleVBvb2xVc2RuV2F2ZXMJAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAV3YXZlcwQAAAAUa2V5UG9vbFVzZG5NYWluQXNzZXQJAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAtNYWluQXNzZXRJZAQAAAAPa2V5UG9vbFVzZG5FdXJuCQEAAAACa3AAAAACBQAAAAtVc2RuQXNzZXRJZAUAAAALRXVybkFzc2V0SWQEAAAAD2tleVBvb2xVc2RjVXNkdAkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAAC1VzZHRBc3NldElkBAAAAA9rZXlQb29sVXNkY05nbm4JAQAAAAJrcAAAAAIFAAAAC1VzZGNBc3NldElkBQAAAAtOZ25uQXNzZXRJZAQAAAAQa2V5UG9vbFVzZGNXYXZlcwkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAABXdhdmVzBAAAABRrZXlQb29sVXNkY01haW5Bc3NldAkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAAC01haW5Bc3NldElkBAAAAA9rZXlQb29sVXNkY0V1cm4JAQAAAAJrcAAAAAIFAAAAC1VzZGNBc3NldElkBQAAAAtFdXJuQXNzZXRJZAQAAAAPa2V5UG9vbFVzZHROZ25uCQEAAAACa3AAAAACBQAAAAtVc2R0QXNzZXRJZAUAAAALTmdubkFzc2V0SWQEAAAAEGtleVBvb2xVc2R0V2F2ZXMJAQAAAAJrcAAAAAIFAAAAC1VzZHRBc3NldElkBQAAAAV3YXZlcwQAAAAUa2V5UG9vbFVzZHRNYWluQXNzZXQJAQAAAAJrcAAAAAIFAAAAC1VzZHRBc3NldElkBQAAAAtNYWluQXNzZXRJZAQAAAAPa2V5UG9vbFVzZHRFdXJuCQEAAAACa3AAAAACBQAAAAtVc2R0QXNzZXRJZAUAAAALRXVybkFzc2V0SWQEAAAAEGtleVBvb2xOZ25uV2F2ZXMJAQAAAAJrcAAAAAIFAAAAC05nbm5Bc3NldElkBQAAAAV3YXZlcwQAAAAUa2V5UG9vbE5nbm5NYWluQXNzZXQJAQAAAAJrcAAAAAIFAAAAC05nbm5Bc3NldElkBQAAAAtNYWluQXNzZXRJZAQAAAAPa2V5UG9vbE5nbm5FdXJuCQEAAAACa3AAAAACBQAAAAtOZ25uQXNzZXRJZAUAAAALRXVybkFzc2V0SWQEAAAAEGtleVBvb2xNYWluV2F2ZXMJAQAAAAJrcAAAAAIFAAAAC01haW5Bc3NldElkBQAAAAV3YXZlcwQAAAAPa2V5UG9vbE1haW5FdXJuCQEAAAACa3AAAAACBQAAAAtNYWluQXNzZXRJZAUAAAALRXVybkFzc2V0SWQEAAAAEGtleVBvb2xFdXJuV2F2ZXMJ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b29sCQEAAAAGYXNzZXRQAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAABkFzc2V0MQQAAAAKYXNzZXQycG9vbAkBAAAABmFzc2V0UAAAAAIJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyBQAAAAZBc3NldDIEAAAAE2N1cnJlbnRBbW91bnRBc3NldDEJAQAAAAZwb29sQUEAAAADBQAAAApjdXJyZW50S2V5CQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgUAAAAGQXNzZXQxBAAAABNjdXJyZW50QW1vdW50QXNzZXQyCQEAAAAGcG9vbEFBAAAAAwUAAAAKY3VycmVudEtleQkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAABkFzc2V0MgQAAAAWbmV3Y3VycmVudEFtb3VudEFzc2V0MQkAAGUAAAACBQAAABNjdXJyZW50QW1vdW50QXNzZXQxBQAAAA1yZWNlaXZlQXNzZXQxBAAAABZuZXdjdXJyZW50QW1vdW50QXNzZXQyCQAAZQAAAAIFAAAAE2N1cnJlbnRBbW91bnRBc3NldDIFAAAADXJlY2VpdmVBc3NldDIEAAAAEG5ld2N1cnJlbnRBbW91bnQJAABlAAAAAgUAAAANY3VycmVudEFtb3VudAUAAAAGQW1vdW50BAAAAA1uZXdhc3NldDFwb29sCQAAZQAAAAIFAAAACmFzc2V0MXBvb2wFAAAADXJlY2VpdmVBc3NldDEEAAAADW5ld2Fzc2V0MnBvb2wJAABlAAAAAgUAAAAKYXNzZXQycG9vbAUAAAANcmVjZWl2ZUFzc2V0MgMJAAAAAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAkAAlkAAAABBQAAAAlscEFzc2V0SWQDCQAAAAAAAAIFAAAABkFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CQAETAAAAAIJAQAAAARCdXJuAAAAAgkAAlkAAAABBQAAAAlscEFzc2V0SWQFAAAABkFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAADXJlY2VpdmVBc3NldDEFAAAABmFzc2V0MQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAADXJlY2VpdmVBc3NldDIFAAAABmFzc2V0MgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHBrZXkAAAADBQAAAAZBc3NldDEFAAAABkFzc2V0MgUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAAV8JAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAgAAAAFfBQAAAAZBc3NldDEFAAAAFm5ld2N1cnJlbnRBbW91bnRBc3NldDEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAABXwkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAABkFzc2V0MgUAAAAWbmV3Y3VycmVudEFtb3VudEFzc2V0MgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAgAAAAFfBQAAAApjdXJyZW50S2V5BQAAABBuZXdjdXJyZW50QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAABkFzc2V0MQUAAAANbmV3YXNzZXQxcG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAgAAAAFfBQAAAAZBc3NldDIFAAAADW5ld2Fzc2V0MnBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAABkFzc2V0MQkAAGUAAAACCQEAAAATZ2V0QW1vdW50QmxvY2tBc3NldAAAAAEFAAAABkFzc2V0MQUAAAANcmVjZWl2ZUFzc2V0MQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAGQXNzZXQyCQAAZQAAAAIJAQAAABNnZXRBbW91bnRCbG9ja0Fzc2V0AAAAAQUAAAAGQXNzZXQyBQAAAA1yZWNlaXZlQXNzZXQyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAlscEFzc2V0SWQJAABlAAAAAgkBAAAAE2dldEFtb3VudEJsb2NrQXNzZXQAAAABBQAAAAlscEFzc2V0SWQFAAAABkFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAALFdpdGhkcmF3YWwgYW1vdW50IGxvd2VyIHRoYW4gYXNzZXQgbHAgYW1vdW50CQAAAgAAAAECAAAAOVJlcXVpcmVzIGFuIGxwIGFzc2V0IGFzIHBheW1lbnQgdG8gcmVtb3ZlIGxvY2tlZCBhbW91bnRzLgkAAAIAAAABAgAAAEhBbW91bnQgdG8gYmUgd2l0aGRyYXduIGdyZWF0ZXIgdGhhbiB0aGUgYW1vdW50IGF2YWlsYWJsZSBmb3Igd2l0aGRyYXdhbC4JAAACAAAAAQIAAAArWW91IGhhdmUgbm8gbG9ja2VkIHZhbHVlcyDigIvigItpbiB0aGUgcG9vbAkAAAIAAAABAgAAABFJbnZhbGlkIFBvb2wgS2V5LgkAAAIAAAABAgAAABlJbnZhbGlkIEFzc2V0MSBvciBBc3NldDIhCQAAAgAAAAECAAAAIEFzc2V0MSBjYW5ub3QgYmUgZXF1YWwgdG8gQXNzZXQyCQAAAgAAAAECAAAAKWxpcXVpZGl0eSBpcyBjdXJyZW50bHkgdW5kZXIgbWFpbnRlbmFuY2UuCQAAAgAAAAECAAAAJGRBcHAgaXMgY3VycmVudGx5IHVuZGVyIG1haW50ZW5hbmNlLgAAAAFpAQAAAARzd2FwAAAAAgAAAAZBc3NldDEAAAAGQXNzZXQyBAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAB2FjV2F2ZXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAABmFXYXZlcwQAAAAFcG93ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAAAmFjBAAAAAxzd2FwQWN0aXZhdGUJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAABnN3YXBBYwQAAAAHcG9vbEtleQkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIEAAAAA2tleQkBAAAACnZhbGlkUG9vbEsAAAABBQAAAAdwb29sS2V5BAAAAAZhc3NldDEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAABFVTRE4JAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAEdXNkbgQAAAAEVVNEQwkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAR1c2RjBAAAAARVU0RUCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABHVzZHQEAAAABE5HTk4JAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAEbmdubgQAAAAJTWFpbkFzc2V0CQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABG1haW4EAAAABEVVUk4JAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAEZXVybgQAAAALdG90YWxBc3NldDEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgIAAAABXwUAAAAGQXNzZXQxBAAAAAt0b3RhbEFzc2V0MgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyAgAAAAFfBQAAAAZBc3NldDIEAAAAEWZlZVJhdGVQZXJjZW50dWFsCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAAdyYXRlRmVlAwUAAAAFcG93ZXIDCQEAAAABIQAAAAEFAAAADHN3YXBBY3RpdmF0ZQMDCQEAAAABIQAAAAEJAAAAAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIDCQEAAAANdmFsaWRhdGVBc3NldAAAAAMFAAAABmFzc2V0MQUAAAAGQXNzZXQxBQAAAAdhY1dhdmVzBgkBAAAADXZhbGlkYXRlQXNzZXQAAAADBQAAAAZhc3NldDEFAAAABkFzc2V0MgUAAAAHYWNXYXZlcwcDAwMDAwMDCQAAAAAAAAIFAAAABmFzc2V0MQUAAAAEVVNETgYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAARVU0RDBgkAAAAAAAACBQAAAAZhc3NldDEFAAAABFVTRFQGCQAAAAAAAAIFAAAABmFzc2V0MQUAAAAETkdOTgYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAAlNYWluQXNzZXQGCQAAAAAAAAIFAAAABmFzc2V0MQUAAAAERVVSTgYJAAAAAAAAAgUAAAAGYXNzZXQxBQAAAAVXQVZFUwMJAQAAAAEhAAAAAQkAAAAAAAACBQAAAANrZXkAAAAAAAAAAAADCQAAAAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAAAAB2Fzc2V0SWQFAAAACU1haW5Bc3NldAMJAAAAAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEAAAAGYW1vdW50AAAAAAAABJPgBAAAAAp2YWx1ZUFzc2V0AwkBAAAAASEAAAABCQAAAAAAAAIFAAAABmFzc2V0MQkAAlkAAAABBQAAAAZBc3NldDEJAABpAAAAAgUAAAALdG90YWxBc3NldDEFAAAAC3RvdGFsQXNzZXQyCQAAaQAAAAIFAAAAC3RvdGFsQXNzZXQyBQAAAAt0b3RhbEFzc2V0MQQAAAAIbmV3VmFsdWUJAABlAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CQAAaQAAAAIJAABoAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BQAAABFmZWVSYXRlUGVyY2VudHVhbAkAAGgAAAACAAAAAAAAAABkBQAAAAJEOAQAAAAJc2VuZFZhbHVlCQAAaAAAAAIFAAAACG5ld1ZhbHVlBQAAAAp2YWx1ZUFzc2V0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAAdBZGRyZXNzAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAAJc2VuZFZhbHVlAwkAAAAAAAACBQAAAAZBc3NldDIFAAAABXdhdmVzBQAAAAVXQVZFUwkAAlkAAAABBQAAAAZBc3NldDIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAABkFzc2V0MgkAAGUAAAACCQEAAAATZ2V0QW1vdW50QmxvY2tBc3NldAAAAAEFAAAABkFzc2V0MgUAAAAJc2VuZFZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDICAAAAAV8FAAAABkFzc2V0MgkAAGUAAAACCQEAAAAGYXNzZXRQAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAABkFzc2V0MgUAAAAJc2VuZFZhbHVlBQAAAANuaWwJAAACAAAAAQIAAAA1U3dhcCBkZW5pZWQhIDAuMDAzIEF4QWkgaXMgcmVxdWlyZWQgZm9yIHRoZSBzd2FwIGZlZS4JAAACAAAAAQIAAAASSW52YWxpZCByYXRlIGFzc2V0CQAAAgAAAAECAAAAEUludmFsaWQgU3dhcCBLZXkuCQAAAgAAAAECAAAAGUludmFsaWQgQXNzZXQxIG9yIEFzc2V0MiEJAAACAAAAAQIAAAAgQXNzZXQxIGNhbm5vdCBiZSBlcXVhbCB0byBBc3NldDIJAAACAAAAAQIAAAAkU3dhcCBpcyBjdXJyZW50bHkgdW5kZXIgbWFpbnRlbmFuY2UuCQAAAgAAAAECAAAAJGRBcHAgaXMgY3VycmVudGx5IHVuZGVyIG1haW50ZW5hbmNlLgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAVPcmRlcgQAAAAFb3JkZXIFAAAAByRtYXRjaDAGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAFlBQAAAAckbWF0Y2gwBgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXn3CX+R", "height": 2132753, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Hzmn1cmPYWv3M7uAQRjh8kwgEF8v4dHRAbcGZ3YZaPs3 Next: 7Y1qEyibqKGgPQWBfgYwGbfNF8HUTU3rXDXBJuRQ1ht1 Diff:
OldNewDifferences
465465 then if (!((N == 0)))
466466 then {
467467 let aZ = toBase58String(s.caller.bytes)
468-[DeleteEntry(((((aZ + "_") + J(U, V)) + "_") + U)), DeleteEntry(((((aZ + "_") + J(U, V)) + "_") + V)), DeleteEntry(((J(U, V) + "_") + aZ)), DeleteEntry(((J(U, V) + "_") + U)), DeleteEntry(((J(U, V) + "_") + V)), DeleteEntry(U), DeleteEntry(V), DeleteEntry(aY)]
468+ let ba = O(aZ, J(U, V))
469+ let bv = Q(aZ, J(U, V), U)
470+ let bw = Q(aZ, J(U, V), V)
471+ let bx = S(J(U, V), U)
472+ let by = S(J(U, V), V)
473+ let bz = (bx / by)
474+ let bA = (bv + s.payments[0].amount)
475+ let bB = (bw + s.payments[1].amount)
476+ let bC = (ba + bz)
477+ let bD = (bx + s.payments[0].amount)
478+ let bE = (by + s.payments[1].amount)
479+[Reissue(fromBase58String(aY), bz, true), ScriptTransfer(Address(s.caller.bytes), bz, fromBase58String(aY)), IntegerEntry(T(U, V, aZ), height), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + U), bA), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + V), bB), IntegerEntry(((J(U, V) + "_") + aZ), bC), IntegerEntry(((J(U, V) + "_") + U), bD), IntegerEntry(((J(U, V) + "_") + V), bE), IntegerEntry(U, (q(U) + s.payments[0].amount)), IntegerEntry(V, (q(V) + s.payments[1].amount)), IntegerEntry(aY, (q(aY) + bz))]
469480 }
470481 else throw("Invalid Pool Key.")
471482 else throw("Invalid Asset1 or Asset2!")
477488
478489
479490 @Callable(s)
480-func removeLiquidity (U,V,bv) = {
491+func removeLiquidity (U,V,bF) = {
481492 let aZ = toBase58String(s.caller.bytes)
482493 let aV = getBooleanValue(this, v)
483494 let bp = getBooleanValue(this, w)
502513 let bu = fromBase58String(getStringValue(this, F))
503514 let aY = getStringValue(this, (b + J(U, V)))
504515 let ba = O(aZ, J(U, V))
505- let bw = W(aZ, bh)
506- let bx = getIntegerValue(this, aY)
507- let by = getIntegerValue(this, ((J(U, V) + "_") + U))
508- let bz = getIntegerValue(this, ((J(U, V) + "_") + V))
516+ let bG = W(aZ, bh)
517+ let bH = getIntegerValue(this, aY)
518+ let bI = getIntegerValue(this, ((J(U, V) + "_") + U))
519+ let bJ = getIntegerValue(this, ((J(U, V) + "_") + V))
509520 if (aV)
510521 then if (!(bp))
511522 then if (!((U == V)))
538549 else false)
539550 then if (!((N == 0)))
540551 then if (!((ba == 0)))
541- then if (((ba - bw) >= bv))
552+ then if (((ba - bG) >= bF))
542553 then {
543- let bA = (bv / bx)
544- let bB = (bA * by)
545- let bC = (bA * bz)
546- let bD = S(J(U, V), U)
547- let bE = S(J(U, V), V)
548- let bF = Q(aZ, J(U, V), U)
549- let bG = Q(aZ, J(U, V), V)
550- let bH = (bF - bB)
551- let bI = (bG - bC)
552- let bJ = (ba - bv)
553- let bK = (bD - bB)
554- let bL = (bE - bC)
554+ let bK = (bF / bH)
555+ let bL = (bK * bI)
556+ let bM = (bK * bJ)
557+ let bx = S(J(U, V), U)
558+ let by = S(J(U, V), V)
559+ let bv = Q(aZ, J(U, V), U)
560+ let bw = Q(aZ, J(U, V), V)
561+ let bA = (bv - bL)
562+ let bB = (bw - bM)
563+ let bC = (ba - bF)
564+ let bD = (bx - bL)
565+ let bE = (by - bM)
555566 if ((s.payments[0].assetId == fromBase58String(aY)))
556- then if ((bv == s.payments[0].amount))
557- then [Burn(fromBase58String(aY), bv), ScriptTransfer(Address(s.caller.bytes), bB, K), ScriptTransfer(Address(s.caller.bytes), bC, L), IntegerEntry(T(U, V, aZ), height), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + U), bH), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + V), bI), IntegerEntry(((J(U, V) + "_") + aZ), bJ), IntegerEntry(((J(U, V) + "_") + U), bK), IntegerEntry(((J(U, V) + "_") + V), bL), IntegerEntry(U, (q(U) - bB)), IntegerEntry(V, (q(V) - bC)), IntegerEntry(aY, (q(aY) - bv))]
567+ then if ((bF == s.payments[0].amount))
568+ then [Burn(fromBase58String(aY), bF), ScriptTransfer(Address(s.caller.bytes), bL, K), ScriptTransfer(Address(s.caller.bytes), bM, L), IntegerEntry(T(U, V, aZ), height), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + U), bA), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + V), bB), IntegerEntry(((J(U, V) + "_") + aZ), bC), IntegerEntry(((J(U, V) + "_") + U), bD), IntegerEntry(((J(U, V) + "_") + V), bE), IntegerEntry(U, (q(U) - bL)), IntegerEntry(V, (q(V) - bM)), IntegerEntry(aY, (q(aY) - bF))]
558569 else throw("Withdrawal amount lower than asset lp amount")
559570 else throw("Requires an lp asset as payment to remove locked amounts.")
560571 }
574585 let aZ = toBase58String(s.caller.bytes)
575586 let ab = getBooleanValue(this, H)
576587 let aV = getBooleanValue(this, v)
577- let bM = getBooleanValue(this, x)
588+ let bN = getBooleanValue(this, x)
578589 let bh = J(U, V)
579590 let N = M(bh)
580591 let K = s.payments[0].assetId
584595 let bt = fromBase58String(getStringValue(this, E))
585596 let aX = fromBase58String(getStringValue(this, a))
586597 let bu = fromBase58String(getStringValue(this, F))
587- let bN = getIntegerValue(this, ((J(U, V) + "_") + U))
588- let bO = getIntegerValue(this, ((J(U, V) + "_") + V))
589- let bP = getIntegerValue(this, g)
598+ let bO = getIntegerValue(this, ((J(U, V) + "_") + U))
599+ let bP = getIntegerValue(this, ((J(U, V) + "_") + V))
600+ let bQ = getIntegerValue(this, g)
590601 if (aV)
591- then if (!(bM))
602+ then if (!(bN))
592603 then if (if (!((U == V)))
593604 then if (Y(K, U, ab))
594605 then true
611622 then if ((s.payments[1].assetId == aX))
612623 then if ((s.payments[1].amount == 300000))
613624 then {
614- let bQ = if (!((K == fromBase58String(U))))
615- then (bN / bO)
616- else (bO / bN)
617- let aM = (s.payments[0].amount - ((s.payments[0].amount * bP) / (100 * i)))
618- let bR = (aM * bQ)
619-[ScriptTransfer(Address(s.caller.bytes), bR, if ((V == G))
625+ let bR = if (!((K == fromBase58String(U))))
626+ then (bO / bP)
627+ else (bP / bO)
628+ let aM = (s.payments[0].amount - ((s.payments[0].amount * bQ) / (100 * i)))
629+ let bS = (aM * bR)
630+[ScriptTransfer(Address(s.caller.bytes), bS, if ((V == G))
620631 then I
621- else fromBase58String(V)), IntegerEntry(V, (q(V) - bR)), IntegerEntry(((J(U, V) + "_") + V), (S(J(U, V), V) - bR))]
632+ else fromBase58String(V)), IntegerEntry(V, (q(V) - bS)), IntegerEntry(((J(U, V) + "_") + V), (S(J(U, V), V) - bS))]
622633 }
623634 else throw("Swap denied! 0.003 AxAi is required for the swap fee.")
624635 else throw("Invalid rate asset")
630641 }
631642
632643
633-@Verifier(bS)
634-func bT () = {
635- let r = bS
644+@Verifier(bT)
645+func bU () = {
646+ let r = bT
636647 if ($isInstanceOf(r, "Order"))
637648 then {
638- let bU = r
649+ let bV = r
639650 true
640651 }
641652 else if ($isInstanceOf(r, "ExchangeTransaction"))
642653 then {
643- let bV = r
654+ let bW = r
644655 true
645656 }
646- else sigVerify(bS.bodyBytes, bS.proofs[0], bS.senderPublicKey)
657+ else sigVerify(bT.bodyBytes, bT.proofs[0], bT.senderPublicKey)
647658 }
648659
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
2424 let k = Address(this.bytes)
2525
2626 let l = 5
2727
2828 func m (n) = toString(valueOrErrorMessage(addressFromString(n), (("Can't parse " + n) + " as address")))
2929
3030
3131 func o (p) = toBase58String(valueOrErrorMessage(value(assetInfo(fromBase58String(p))).id, (("Asset Id: " + p) + " is invalid.")))
3232
3333
3434 func q (p) = {
3535 let r = getInteger(this, p)
3636 if ($isInstanceOf(r, "Int"))
3737 then {
3838 let s = r
3939 s
4040 }
4141 else 0
4242 }
4343
4444
4545 func t (p) = {
4646 let r = assetInfo(p)
4747 if ($isInstanceOf(r, "Asset"))
4848 then {
4949 let u = r
5050 u.name
5151 }
5252 else throw("Can't find asset")
5353 }
5454
5555
5656 let v = "activate"
5757
5858 let w = "activate_pools"
5959
6060 let x = "activate_swap"
6161
6262 let y = "activate_liquidity"
6363
6464 let z = "block_distribuition"
6565
6666 let A = "Total_Tokens_Locked_"
6767
6868 let B = "usdn_asset"
6969
7070 let C = "usdt_asset"
7171
7272 let D = "usdc_asset"
7373
7474 let E = "ngnn_asset"
7575
7676 let F = "eurn_asset"
7777
7878 let G = "WAVES"
7979
8080 let H = "accept_waves"
8181
8282 let I = unit
8383
8484 func J (K,L) = (((c + K) + "_") + L)
8585
8686
8787 func M (N) = {
8888 let r = getInteger(this, N)
8989 if ($isInstanceOf(r, "Int"))
9090 then {
9191 let s = r
9292 s
9393 }
9494 else 0
9595 }
9696
9797
9898 func O (n,N) = {
9999 let r = getInteger(this, ((N + "_") + n))
100100 if ($isInstanceOf(r, "Int"))
101101 then {
102102 let P = r
103103 P
104104 }
105105 else 0
106106 }
107107
108108
109109 func Q (n,N,u) = {
110110 let r = getInteger(this, ((((N + "_") + n) + "_") + u))
111111 if ($isInstanceOf(r, "Int"))
112112 then {
113113 let R = r
114114 R
115115 }
116116 else 1
117117 }
118118
119119
120120 func S (N,u) = {
121121 let r = getInteger(this, ((N + "_") + u))
122122 if ($isInstanceOf(r, "Int"))
123123 then {
124124 let R = r
125125 R
126126 }
127127 else 1
128128 }
129129
130130
131131 func T (U,V,n) = (((h + J(U, V)) + "_") + n)
132132
133133
134134 func W (n,N) = {
135135 let r = getInteger(this, ((("STAKE_LP_" + n) + "_") + N))
136136 if ($isInstanceOf(r, "Int"))
137137 then {
138138 let R = r
139139 R
140140 }
141141 else 0
142142 }
143143
144144
145145 func X () = {
146146 let r = getString(this, "admin")
147147 if ($isInstanceOf(r, "String"))
148148 then {
149149 let P = r
150150 Address(fromBase58String(P))
151151 }
152152 else this
153153 }
154154
155155
156156 func Y (Z,aa,ab) = if (if ((Z == I))
157157 then (aa == "WAVES")
158158 else false)
159159 then if (ab)
160160 then true
161161 else throw("The smart contract does not currently support Waves.")
162162 else if ((Z == fromBase58String(aa)))
163163 then true
164164 else false
165165
166166
167167 @Callable(s)
168168 func constructor (ac,ad,ae,af,ag,ah,ai,aj,ak) = if (if ((s.caller == this))
169169 then true
170170 else (s.caller == X()))
171171 then {
172172 let al = J(ad, ae)
173173 let am = J(ad, af)
174174 let an = J(ad, ag)
175175 let ao = J(ad, G)
176176 let ap = J(ad, ac)
177177 let aq = J(ad, ah)
178178 let ar = J(af, ae)
179179 let as = J(af, ag)
180180 let at = J(af, G)
181181 let au = J(af, ac)
182182 let av = J(af, ah)
183183 let aw = J(ae, ag)
184184 let ax = J(ae, G)
185185 let ay = J(ae, ac)
186186 let az = J(ae, ah)
187187 let aA = J(ag, G)
188188 let aB = J(ag, ac)
189189 let aC = J(ag, ah)
190190 let aD = J(ac, G)
191191 let aE = J(ac, ah)
192192 let aF = J(ah, G)
193193 [StringEntry(a, ac), StringEntry(B, ad), StringEntry(D, af), StringEntry(C, ae), StringEntry(E, ag), BooleanEntry(H, ak), IntegerEntry(g, ai), BooleanEntry(v, true), BooleanEntry(x, false), BooleanEntry(w, false), BooleanEntry(y, false), IntegerEntry(z, 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(F, ah)]
194194 }
195195 else throw("Only the Admin itself can invoke this function")
196196
197197
198198
199199 @Callable(s)
200200 func activate (aG) = if (if ((s.caller == this))
201201 then true
202202 else (s.caller == X()))
203203 then [BooleanEntry(v, aG)]
204204 else throw("Only the Admin itself can invoke this function")
205205
206206
207207
208208 @Callable(s)
209209 func maintenance (aH,aI,aJ) = if (if ((s.caller == this))
210210 then true
211211 else (s.caller == X()))
212212 then [BooleanEntry(w, aH), BooleanEntry(x, aI), BooleanEntry(y, aJ)]
213213 else throw("Only the Admin itself can invoke this function")
214214
215215
216216
217217 @Callable(s)
218218 func percentualRateFeeSwapEdit (aK) = if (if ((s.caller == this))
219219 then true
220220 else (s.caller == X()))
221221 then [IntegerEntry(g, aK)]
222222 else throw("Only the Admin itself can invoke this function")
223223
224224
225225
226226 @Callable(s)
227227 func acceptWaves (aL) = if (if ((s.caller == this))
228228 then true
229229 else (s.caller == X()))
230230 then [BooleanEntry(H, aL)]
231231 else throw("Only the Admin itself can invoke this function")
232232
233233
234234
235235 @Callable(s)
236236 func blockDistribution (aM) = if (if ((s.caller == this))
237237 then true
238238 else (s.caller == X()))
239239 then [IntegerEntry(z, aM)]
240240 else throw("Only the Admin itself can invoke this function")
241241
242242
243243
244244 @Callable(s)
245245 func addAdmin (n) = if (if ((s.caller == this))
246246 then true
247247 else (s.caller == X()))
248248 then [StringEntry("admin", n)]
249249 else throw("Only the Admin itself can invoke this function")
250250
251251
252252
253253 @Callable(s)
254254 func lpAssetCreateForPairPool (K,L,aN,aO) = {
255255 let aP = if ((K == G))
256256 then G
257257 else t(fromBase58String(K))
258258 let aQ = if ((L == G))
259259 then G
260260 else t(fromBase58String(L))
261261 let aR = if (aO)
262262 then aN
263263 else ((aP + "_") + aQ)
264264 let N = M(J(K, L))
265265 if (if ((s.caller == this))
266266 then true
267267 else (s.caller == X()))
268268 then if (!((N == 0)))
269269 then {
270270 let aS = Issue(aR, ((("LP asset for pool liquidity in AxAi Swap pair " + K) + "_") + L), 1, 8, true)
271271 let aT = calculateAssetId(aS)
272272 [StringEntry((b + J(K, L)), toBase58String(aT)), aS]
273273 }
274274 else throw("Invalid Pool Key. Try inverting the assets")
275275 else throw("Only the Admin itself can invoke this function")
276276 }
277277
278278
279279
280280 @Callable(s)
281281 func deposit (aU,U,V) = {
282282 let aV = getBooleanValue(this, v)
283283 let aW = getBooleanValue(this, y)
284284 let aX = getStringValue(this, a)
285285 let aY = if (aU)
286286 then getStringValue(this, (b + J(U, V)))
287287 else aX
288288 if (aV)
289289 then if (!(aW))
290290 then if ((s.payments[0].assetId != fromBase58String(aY)))
291291 then throw((("Invalid asset! Kindly Deposit Only " + aX) + " or valid asset lp"))
292292 else if (!(aU))
293293 then {
294294 let aZ = toBase58String(s.caller.bytes)
295295 let ba = {
296296 let r = getInteger(this, aZ)
297297 if ($isInstanceOf(r, "Int"))
298298 then {
299299 let R = r
300300 R
301301 }
302302 else 0
303303 }
304304 let bb = (ba + s.payments[0].amount)
305305 let bc = IntegerEntry(aZ, bb)
306306 let bd = IntegerEntry((h + aZ), height)
307307 let be = {
308308 let r = getInteger(this, "Total_Tokens_Locked:")
309309 if ($isInstanceOf(r, "Int"))
310310 then {
311311 let R = r
312312 R
313313 }
314314 else 0
315315 }
316316 let bf = (be + s.payments[0].amount)
317317 let bg = IntegerEntry("Total_Tokens_Locked:", bf)
318318 [bc, bd, bg]
319319 }
320320 else {
321321 let bh = J(U, V)
322322 let N = M(bh)
323323 if (!((N == 0)))
324324 then {
325325 let aZ = toBase58String(s.caller.bytes)
326326 let ba = {
327327 let r = getInteger(this, ((("STAKE_LP_" + aZ) + "_") + bh))
328328 if ($isInstanceOf(r, "Int"))
329329 then {
330330 let R = r
331331 R
332332 }
333333 else 0
334334 }
335335 let bb = (ba + s.payments[0].amount)
336336 let bc = IntegerEntry(((("STAKE_LP_" + aZ) + "_") + bh), bb)
337337 let bd = IntegerEntry(((((h + "_") + aZ) + "_") + bh), height)
338338 let be = {
339339 let r = getInteger(this, ("Total_Tokens_LP_Locked_" + bh))
340340 if ($isInstanceOf(r, "Int"))
341341 then {
342342 let R = r
343343 R
344344 }
345345 else 0
346346 }
347347 let bf = (be + s.payments[0].amount)
348348 let bg = IntegerEntry(("Total_Tokens_LP_Locked_" + bh), bf)
349349 [bc, bd, bg]
350350 }
351351 else throw("Invalid Pool key.")
352352 }
353353 else throw("liquidity is currently under maintenance.")
354354 else throw("dApp is currently under maintenance.")
355355 }
356356
357357
358358
359359 @Callable(s)
360360 func remove (aU,U,V,bi) = {
361361 let aV = getBooleanValue(this, v)
362362 let aW = getBooleanValue(this, y)
363363 let bj = s.payments[0]
364364 let aX = fromBase58String(getStringValue(this, a))
365365 if (aV)
366366 then if (!(aW))
367367 then {
368368 let aZ = toBase58String(s.caller.bytes)
369369 let ba = {
370370 let r = if (aU)
371371 then getIntegerValue(this, ((("STAKE_LP_" + aZ) + "_") + J(U, V)))
372372 else getIntegerValue(this, aZ)
373373 if ($isInstanceOf(r, "Int"))
374374 then {
375375 let R = r
376376 R
377377 }
378378 else 0
379379 }
380380 let bk = if (aU)
381381 then ((((h + "_") + aZ) + "_") + J(U, V))
382382 else (h + aZ)
383383 let be = if (aU)
384384 then getIntegerValue(this, ("Total_Tokens_LP_Locked_" + J(U, V)))
385385 else getIntegerValue(this, "Total_Tokens_Locked:")
386386 let bf = (be - bi)
387387 let bl = (height - getIntegerValue(this, bk))
388388 let bm = getIntegerValue(this, z)
389389 let bn = ((bl * bm) * i)
390390 let bo = (bn / (be / bi))
391391 if ((0 > bi))
392392 then throw(if (aU)
393393 then (((("Can't withdraw negative " + U) + "/") + V) + " amount")
394394 else "Can't withdraw negative AxAi amount")
395395 else {
396396 let bb = (ba - bi)
397397 if ((0 > bb))
398398 then throw(if (aU)
399399 then (((("Not enough Asset Lp " + U) + "/") + V) + " balance")
400400 else "Not enough AxAi balance")
401401 else [IntegerEntry(if (aU)
402402 then ((("STAKE_LP_" + aZ) + "_") + J(U, V))
403403 else aZ, bb), IntegerEntry(if (aU)
404404 then ("Total_Tokens_LP_Locked_" + J(U, V))
405405 else "Total_Tokens_Locked:", bf), ScriptTransfer(s.caller, bi, if (aU)
406406 then fromBase58String(getStringValue(this, (b + J(U, V))))
407407 else aX), ScriptTransfer(s.caller, bo, aX)]
408408 }
409409 }
410410 else throw("liquidity is currently under maintenance.")
411411 else throw("dApp is currently under maintenance.")
412412 }
413413
414414
415415
416416 @Callable(s)
417417 func addLiquidity (U,V) = {
418418 let aV = getBooleanValue(this, v)
419419 let bp = getBooleanValue(this, w)
420420 let ab = getBooleanValue(this, H)
421421 let N = M(J(U, V))
422422 let K = s.payments[0].assetId
423423 let L = s.payments[1].assetId
424424 let bq = fromBase58String(getStringValue(this, B))
425425 let br = fromBase58String(getStringValue(this, D))
426426 let bs = fromBase58String(getStringValue(this, C))
427427 let bt = fromBase58String(getStringValue(this, E))
428428 let bu = fromBase58String(getStringValue(this, F))
429429 let aX = fromBase58String(getStringValue(this, a))
430430 let aY = getStringValue(this, (b + J(U, V)))
431431 if (aV)
432432 then if (!(bp))
433433 then if (if (if (!((K == L)))
434434 then Y(K, U, ab)
435435 else false)
436436 then Y(L, V, ab)
437437 else false)
438438 then if (if (if (if (if (if (if (if ((K == bq))
439439 then true
440440 else (K == br))
441441 then true
442442 else (K == bs))
443443 then true
444444 else (K == bt))
445445 then true
446446 else (K == aX))
447447 then true
448448 else (K == I))
449449 then true
450450 else (K == bu))
451451 then if (if (if (if (if (if ((L == bq))
452452 then true
453453 else (L == br))
454454 then true
455455 else (L == bs))
456456 then true
457457 else (L == bt))
458458 then true
459459 else (L == aX))
460460 then true
461461 else (L == I))
462462 then true
463463 else (L == bu)
464464 else false)
465465 then if (!((N == 0)))
466466 then {
467467 let aZ = toBase58String(s.caller.bytes)
468-[DeleteEntry(((((aZ + "_") + J(U, V)) + "_") + U)), DeleteEntry(((((aZ + "_") + J(U, V)) + "_") + V)), DeleteEntry(((J(U, V) + "_") + aZ)), DeleteEntry(((J(U, V) + "_") + U)), DeleteEntry(((J(U, V) + "_") + V)), DeleteEntry(U), DeleteEntry(V), DeleteEntry(aY)]
468+ let ba = O(aZ, J(U, V))
469+ let bv = Q(aZ, J(U, V), U)
470+ let bw = Q(aZ, J(U, V), V)
471+ let bx = S(J(U, V), U)
472+ let by = S(J(U, V), V)
473+ let bz = (bx / by)
474+ let bA = (bv + s.payments[0].amount)
475+ let bB = (bw + s.payments[1].amount)
476+ let bC = (ba + bz)
477+ let bD = (bx + s.payments[0].amount)
478+ let bE = (by + s.payments[1].amount)
479+[Reissue(fromBase58String(aY), bz, true), ScriptTransfer(Address(s.caller.bytes), bz, fromBase58String(aY)), IntegerEntry(T(U, V, aZ), height), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + U), bA), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + V), bB), IntegerEntry(((J(U, V) + "_") + aZ), bC), IntegerEntry(((J(U, V) + "_") + U), bD), IntegerEntry(((J(U, V) + "_") + V), bE), IntegerEntry(U, (q(U) + s.payments[0].amount)), IntegerEntry(V, (q(V) + s.payments[1].amount)), IntegerEntry(aY, (q(aY) + bz))]
469480 }
470481 else throw("Invalid Pool Key.")
471482 else throw("Invalid Asset1 or Asset2!")
472483 else throw("Asset1 cannot be equal to Asset2")
473484 else throw("liquidity is currently under maintenance.")
474485 else throw("dApp is currently under maintenance.")
475486 }
476487
477488
478489
479490 @Callable(s)
480-func removeLiquidity (U,V,bv) = {
491+func removeLiquidity (U,V,bF) = {
481492 let aZ = toBase58String(s.caller.bytes)
482493 let aV = getBooleanValue(this, v)
483494 let bp = getBooleanValue(this, w)
484495 let ab = getBooleanValue(this, H)
485496 let bh = J(U, V)
486497 let N = M(bh)
487498 let K = if ((U == G))
488499 then if (ab)
489500 then I
490501 else throw("The smart contract does not currently support Waves.")
491502 else fromBase58String(U)
492503 let L = if ((V == G))
493504 then if (ab)
494505 then I
495506 else throw("The smart contract does not currently support Waves.")
496507 else fromBase58String(V)
497508 let bq = fromBase58String(getStringValue(this, B))
498509 let br = fromBase58String(getStringValue(this, D))
499510 let bs = fromBase58String(getStringValue(this, C))
500511 let bt = fromBase58String(getStringValue(this, E))
501512 let aX = fromBase58String(getStringValue(this, a))
502513 let bu = fromBase58String(getStringValue(this, F))
503514 let aY = getStringValue(this, (b + J(U, V)))
504515 let ba = O(aZ, J(U, V))
505- let bw = W(aZ, bh)
506- let bx = getIntegerValue(this, aY)
507- let by = getIntegerValue(this, ((J(U, V) + "_") + U))
508- let bz = getIntegerValue(this, ((J(U, V) + "_") + V))
516+ let bG = W(aZ, bh)
517+ let bH = getIntegerValue(this, aY)
518+ let bI = getIntegerValue(this, ((J(U, V) + "_") + U))
519+ let bJ = getIntegerValue(this, ((J(U, V) + "_") + V))
509520 if (aV)
510521 then if (!(bp))
511522 then if (!((U == V)))
512523 then if (if (if (if (if (if (if (if ((K == bq))
513524 then true
514525 else (K == br))
515526 then true
516527 else (K == bs))
517528 then true
518529 else (K == bt))
519530 then true
520531 else (K == aX))
521532 then true
522533 else (K == I))
523534 then true
524535 else (K == bu))
525536 then if (if (if (if (if (if ((L == bq))
526537 then true
527538 else (L == br))
528539 then true
529540 else (L == bs))
530541 then true
531542 else (L == bt))
532543 then true
533544 else (L == aX))
534545 then true
535546 else (L == I))
536547 then true
537548 else (L == bu)
538549 else false)
539550 then if (!((N == 0)))
540551 then if (!((ba == 0)))
541- then if (((ba - bw) >= bv))
552+ then if (((ba - bG) >= bF))
542553 then {
543- let bA = (bv / bx)
544- let bB = (bA * by)
545- let bC = (bA * bz)
546- let bD = S(J(U, V), U)
547- let bE = S(J(U, V), V)
548- let bF = Q(aZ, J(U, V), U)
549- let bG = Q(aZ, J(U, V), V)
550- let bH = (bF - bB)
551- let bI = (bG - bC)
552- let bJ = (ba - bv)
553- let bK = (bD - bB)
554- let bL = (bE - bC)
554+ let bK = (bF / bH)
555+ let bL = (bK * bI)
556+ let bM = (bK * bJ)
557+ let bx = S(J(U, V), U)
558+ let by = S(J(U, V), V)
559+ let bv = Q(aZ, J(U, V), U)
560+ let bw = Q(aZ, J(U, V), V)
561+ let bA = (bv - bL)
562+ let bB = (bw - bM)
563+ let bC = (ba - bF)
564+ let bD = (bx - bL)
565+ let bE = (by - bM)
555566 if ((s.payments[0].assetId == fromBase58String(aY)))
556- then if ((bv == s.payments[0].amount))
557- then [Burn(fromBase58String(aY), bv), ScriptTransfer(Address(s.caller.bytes), bB, K), ScriptTransfer(Address(s.caller.bytes), bC, L), IntegerEntry(T(U, V, aZ), height), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + U), bH), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + V), bI), IntegerEntry(((J(U, V) + "_") + aZ), bJ), IntegerEntry(((J(U, V) + "_") + U), bK), IntegerEntry(((J(U, V) + "_") + V), bL), IntegerEntry(U, (q(U) - bB)), IntegerEntry(V, (q(V) - bC)), IntegerEntry(aY, (q(aY) - bv))]
567+ then if ((bF == s.payments[0].amount))
568+ then [Burn(fromBase58String(aY), bF), ScriptTransfer(Address(s.caller.bytes), bL, K), ScriptTransfer(Address(s.caller.bytes), bM, L), IntegerEntry(T(U, V, aZ), height), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + U), bA), IntegerEntry(((((aZ + "_") + J(U, V)) + "_") + V), bB), IntegerEntry(((J(U, V) + "_") + aZ), bC), IntegerEntry(((J(U, V) + "_") + U), bD), IntegerEntry(((J(U, V) + "_") + V), bE), IntegerEntry(U, (q(U) - bL)), IntegerEntry(V, (q(V) - bM)), IntegerEntry(aY, (q(aY) - bF))]
558569 else throw("Withdrawal amount lower than asset lp amount")
559570 else throw("Requires an lp asset as payment to remove locked amounts.")
560571 }
561572 else throw("Amount to be withdrawn greater than the amount available for withdrawal.")
562573 else throw("You have no locked values ​​in the pool")
563574 else throw("Invalid Pool Key.")
564575 else throw("Invalid Asset1 or Asset2!")
565576 else throw("Asset1 cannot be equal to Asset2")
566577 else throw("liquidity is currently under maintenance.")
567578 else throw("dApp is currently under maintenance.")
568579 }
569580
570581
571582
572583 @Callable(s)
573584 func swap (U,V) = {
574585 let aZ = toBase58String(s.caller.bytes)
575586 let ab = getBooleanValue(this, H)
576587 let aV = getBooleanValue(this, v)
577- let bM = getBooleanValue(this, x)
588+ let bN = getBooleanValue(this, x)
578589 let bh = J(U, V)
579590 let N = M(bh)
580591 let K = s.payments[0].assetId
581592 let bq = fromBase58String(getStringValue(this, B))
582593 let br = fromBase58String(getStringValue(this, D))
583594 let bs = fromBase58String(getStringValue(this, C))
584595 let bt = fromBase58String(getStringValue(this, E))
585596 let aX = fromBase58String(getStringValue(this, a))
586597 let bu = fromBase58String(getStringValue(this, F))
587- let bN = getIntegerValue(this, ((J(U, V) + "_") + U))
588- let bO = getIntegerValue(this, ((J(U, V) + "_") + V))
589- let bP = getIntegerValue(this, g)
598+ let bO = getIntegerValue(this, ((J(U, V) + "_") + U))
599+ let bP = getIntegerValue(this, ((J(U, V) + "_") + V))
600+ let bQ = getIntegerValue(this, g)
590601 if (aV)
591- then if (!(bM))
602+ then if (!(bN))
592603 then if (if (!((U == V)))
593604 then if (Y(K, U, ab))
594605 then true
595606 else Y(K, V, ab)
596607 else false)
597608 then if (if (if (if (if (if (if ((K == bq))
598609 then true
599610 else (K == br))
600611 then true
601612 else (K == bs))
602613 then true
603614 else (K == bt))
604615 then true
605616 else (K == aX))
606617 then true
607618 else (K == bu))
608619 then true
609620 else (K == I))
610621 then if (!((N == 0)))
611622 then if ((s.payments[1].assetId == aX))
612623 then if ((s.payments[1].amount == 300000))
613624 then {
614- let bQ = if (!((K == fromBase58String(U))))
615- then (bN / bO)
616- else (bO / bN)
617- let aM = (s.payments[0].amount - ((s.payments[0].amount * bP) / (100 * i)))
618- let bR = (aM * bQ)
619-[ScriptTransfer(Address(s.caller.bytes), bR, if ((V == G))
625+ let bR = if (!((K == fromBase58String(U))))
626+ then (bO / bP)
627+ else (bP / bO)
628+ let aM = (s.payments[0].amount - ((s.payments[0].amount * bQ) / (100 * i)))
629+ let bS = (aM * bR)
630+[ScriptTransfer(Address(s.caller.bytes), bS, if ((V == G))
620631 then I
621- else fromBase58String(V)), IntegerEntry(V, (q(V) - bR)), IntegerEntry(((J(U, V) + "_") + V), (S(J(U, V), V) - bR))]
632+ else fromBase58String(V)), IntegerEntry(V, (q(V) - bS)), IntegerEntry(((J(U, V) + "_") + V), (S(J(U, V), V) - bS))]
622633 }
623634 else throw("Swap denied! 0.003 AxAi is required for the swap fee.")
624635 else throw("Invalid rate asset")
625636 else throw("Invalid Swap Key.")
626637 else throw("Invalid Asset1 or Asset2!")
627638 else throw("Asset1 cannot be equal to Asset2")
628639 else throw("Swap is currently under maintenance.")
629640 else throw("dApp is currently under maintenance.")
630641 }
631642
632643
633-@Verifier(bS)
634-func bT () = {
635- let r = bS
644+@Verifier(bT)
645+func bU () = {
646+ let r = bT
636647 if ($isInstanceOf(r, "Order"))
637648 then {
638- let bU = r
649+ let bV = r
639650 true
640651 }
641652 else if ($isInstanceOf(r, "ExchangeTransaction"))
642653 then {
643- let bV = r
654+ let bW = r
644655 true
645656 }
646- else sigVerify(bS.bodyBytes, bS.proofs[0], bS.senderPublicKey)
657+ else sigVerify(bT.bodyBytes, bT.proofs[0], bT.senderPublicKey)
647658 }
648659

github/deemru/w8io/169f3d6 
94.49 ms