tx · bAQn8apvFbpqjfLdoBRpvPr2KXhjUwdeQ7DacqTWm3H

3MuAyo3UDyRW1uGJYpgNwKJx4rGPEQdHetK:  -0.02000000 Waves

2022.02.25 17:36 [1939282] smart account 3MuAyo3UDyRW1uGJYpgNwKJx4rGPEQdHetK > SELF 0.00000000 Waves

{ "type": 13, "id": "bAQn8apvFbpqjfLdoBRpvPr2KXhjUwdeQ7DacqTWm3H", "fee": 2000000, "feeAssetId": null, "timestamp": 1645799798231, "version": 1, "sender": "3MuAyo3UDyRW1uGJYpgNwKJx4rGPEQdHetK", "senderPublicKey": "8JFUsgTkU5xXsm3gJYTdzsJwYfzBYbZsW7bgR1SYLmas", "proofs": [ "476yqcnLKSeNueTTfid8uHiRfZy3i4CMobUmnaeLenA6qjEHZM2J3Mdb2pR2szy7PVBMVburGHazck152RRMWsYv" ], "script": "base64:AAIFAAAAAAAAADgIAhIFCgMICAESAwoBARIHCgUBAQEBARIICgYBAQEBAQESABIDCgEIEgASBAoCAQESBgoEAQEBAQAAADgAAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAABVBBVUxJAAAAAAAAD0JAAAAAAAhCSUdQQVVMSQkAATYAAAABAAAAAAAAD0JAAAAAAAhQUklDRUxFVAAAAAAAAA9CQAAAAAAETVVMVAAAAAAABfXhAAAAAAAJQklHTVVMVDE2CQABNgAAAAEAACOG8m/BAAAAAAAACU1VTFRTQ0FMRQAAAAAAAAAACAAAAAAHU0NBTEUxNgAAAAAAAAAAEAAAAAADU0VQAgAAAAJfXwAAAAAFSEFMRjgAAAAAAAL68IAAAAAAC0VVTEVSTlVNQkVSAAAAAAAQM8TWAAAAAAZzY2FsZTYAAAAAAAAPQkAAAAAADHNjYWxlNkJpZ0ludAkAATYAAAABAAAAAAAAD0JAAAAAAAxzY2FsZThCaWdJbnQJAAE2AAAAAQAAAAAABfXhAAEAAAASa2V5TmV1dHJpbm9BZGRyZXNzAAAAAAIAAAAdJXMlc19fY29uZmlnX19uZXV0cmlub0FkZHJlc3MBAAAAE2tleVN3YXBBbW91bnRBUGFyYW0AAAAAAgAAABglcyVzX19jb25maWdfX3N3YXBBUGFyYW0BAAAAEmtleU5ldXRyaW5vQXNzZXRJZAAAAAACAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAQAAAB1rZXlMaXF1aWRhdGlvbkNvbnRyYWN0QWRkcmVzcwAAAAACAAAAFGxpcXVpZGF0aW9uX2NvbnRyYWN0AQAAAA5rZXlSUERDb250cmFjdAAAAAACAAAADHJwZF9jb250cmFjdAEAAAASa2V5QXVjdGlvbkNvbnRyYWN0AAAAAAIAAAAQYXVjdGlvbl9jb250cmFjdAEAAAARa2V5Q29udG9sQ29udHJhY3QAAAAAAgAAABBjb250cm9sX2NvbnRyYWN0AQAAAA5rZXlCb25kQXNzZXRJZAAAAAACAAAADWJvbmRfYXNzZXRfaWQBAAAAEGtleUJhbGFuY2VMb2NrZWQAAAAAAgAAAA1iYWxhbmNlX2xvY2tfAQAAABVrZXlXYXZlc0xvY2tlZEJhbGFuY2UAAAAACQABLAAAAAIJAQAAABBrZXlCYWxhbmNlTG9ja2VkAAAAAAIAAAAFd2F2ZXMBAAAAGGtleU5ldXRyaW5vTG9ja2VkQmFsYW5jZQAAAAAJAAEsAAAAAgkBAAAAEGtleUJhbGFuY2VMb2NrZWQAAAAAAgAAAAhuZXV0cmlubwEAAAAVa2V5TWluV2F2ZXNTd2FwQW1vdW50AAAAAAIAAAAVbWluX3dhdmVzX3N3YXBfYW1vdW50AQAAABhrZXlNaW5OZXV0cmlub1N3YXBBbW91bnQAAAAAAgAAABhtaW5fbmV1dHJpbm9fc3dhcF9hbW91bnQBAAAAEmtleVdhdmVzT3V0RmVlUGFydAAAAAACAAAAFXdhdmVzT3V0X3N3YXBfZmVlUGFydAEAAAAVa2V5TmV1dHJpbm9PdXRGZWVQYXJ0AAAAAAIAAAAYbmV1dHJpbm9PdXRfc3dhcF9mZWVQYXJ0AQAAABNrZXlOc2J0TG9ja0NvbnRyYWN0AAAAAAIAAAAUJXNfX25zYnRMb2NrQ29udHJhY3QBAAAAGWtleVF1aWNrU3dhcExpbWl0RHVyYXRpb24AAAAAAgAAABolc19fcXVpY2tTd2FwTGltaXREdXJhdGlvbgEAAAAaa2V5VXNlckxhc3RRdWlja1N3YXBIZWlnaHQAAAABAAAAC3VzZXJBZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAEJXMlcwkABEwAAAACAgAAABd1c2VyTGFzdFF1aWNrU3dhcEhlaWdodAkABEwAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAADbmlsBQAAAANTRVABAAAAHWtleVF1aWNrU3dhcFVzZXJTcGVudEluUGVyaW9kAAAAAQAAAAt1c2VyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAABCVzJXMJAARMAAAAAgIAAAAacXVpY2tTd2FwVXNlclNwZW50SW5QZXJpb2QJAARMAAAAAgUAAAALdXNlckFkZHJlc3MFAAAAA25pbAUAAAADU0VQAQAAAAhrZXlQcmljZQAAAAACAAAABXByaWNlAQAAAAtrZXlIYWxmTGlmZQAAAAACAAAADCVzX19oYWxmTGlmZQEAAAAWa2V5TG9ja1BhcmFtVXNlckFtb3VudAAAAAEAAAALdXNlckFkZHJlc3MJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVzJXMJ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YWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAEWtleUNvbnRvbENvbnRyYWN0AAAAAAAAAAAPYXVjdGlvbkNvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAEmtleUF1Y3Rpb25Db250cmFjdAAAAAAAAAAAE2xpcXVpZGF0aW9uQ29udHJhY3QJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAda2V5TGlxdWlkYXRpb25Db250cmFjdEFkZHJlc3MAAAAAAAAAAAtycGRDb250cmFjdAkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAA5rZXlSUERDb250cmFjdAAAAAAAAAAAE25zYnRTdGFraW5nQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAR0aGlzCQEAAAATa2V5TnNidExvY2tDb250cmFjdAAAAAAAAAAAFW5ldXRyaW5vQXNzZXRJZFN0cmluZwkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABJrZXlOZXV0cmlub0Fzc2V0SWQAAAAAAAAAAA9uZXV0cmlub0Fzc2V0SWQJAAJZAAAAAQUAAAAVbmV1dHJpbm9Bc3NldElkU3RyaW5nAAAAAA5uc2J0QXNzZXRJZFN0cgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAADmtleUJvbmRBc3NldElkAAAAAAAAAAALbnNidEFzc2V0SWQJAAJZAAAAAQUAAAAObnNidEFzc2V0SWRTdHIAAAAJAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAAAwAAAA9uZXV0cmlub0FkZHJlc3MAAAAPbnNidExvY2tBZGRyZXNzAAAAEHN3YXBBbW91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IHRvIGl0c2VsZi4AAAABaQEAAAAWY2FsY1VzZXJTd2FwTGltaXRzTUFUSAAAAAEAAAAOdXNlckFkZHJlc3NTdHIEAAAADGN1cnJlbnRQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAPY29udHJvbENvbnRyYWN0CQEAAAAIa2V5UHJpY2UAAAAABAAAAA91c2VyR05zYnRBbW91bnQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAATbnNidFN0YWtpbmdDb250cmFjdAkBAAAAFmtleUxvY2tQYXJhbVVzZXJBbW91bnQAAAABBQAAAA51c2VyQWRkcmVzc1N0cgAAAAAAAAAAAAQAAAAKdXNkbkxtdE1heAkBAAAABWFzSW50AAAAAQkAA/wAAAAEBQAAAAR0aGlzAgAAABFjYWxjU3dhcExpbWl0TUFUSAkABEwAAAACBQAAAA91c2VyR05zYnRBbW91bnQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAp1c2RuTG10TWF4BQAAAAp1c2RuTG10TWF4BAAAABRxdWlja1N3YXBSZXNldEJsb2NrcwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAGWtleVF1aWNrU3dhcExpbWl0RHVyYXRpb24AAAAABAAAABJsYXN0UXVpY2tTd2FwQmxvY2sJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAGmtleVVzZXJMYXN0UXVpY2tTd2FwSGVpZ2h0AAAAAQUAAAAOdXNlckFkZHJlc3NTdHIAAAAAAAAAAAAEAAAAFGlzTmV3UXVpY2tTd2FwUGVyaW9kCQAAZgAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0UXVpY2tTd2FwQmxvY2sFAAAAFHF1aWNrU3dhcFJlc2V0QmxvY2tzBAAAABJxdWlja1N3YXBVc2VyU3BlbnQDBQAAABRpc05ld1F1aWNrU3dhcFBlcmlvZAAAAAAAAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAda2V5UXVpY2tTd2FwVXNlclNwZW50SW5QZXJpb2QAAAABBQAAAA51c2VyQWRkcmVzc1N0cgAAAAAAAAAAAAQAAAAOYmxja3MyTG10UmVzZXQDBQAAABRpc05ld1F1aWNrU3dhcFBlcmlvZAAAAAAAAAAAAAkAAGUAAAACBQAAABRxdWlja1N3YXBSZXNldEJsb2NrcwkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RRdWlja1N3YXBCbG9jawQAAAALd2F2ZXNMbXRNYXgJAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgUAAAAKdXNkbkxtdE1heAUAAAAMY3VycmVudFByaWNlCQAFFAAAAAIFAAAAA25pbAkABEwAAAACBQAAAAp1c2RuTG10TWF4CQAETAAAAAIFAAAAEnF1aWNrU3dhcFVzZXJTcGVudAkABEwAAAACBQAAAA5ibGNrczJMbXRSZXNldAkABEwAAAACBQAAAAt3YXZlc0xtdE1heAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABZjYWxjTmV1dGlub01ldHJpY3NNQVRIAAAAAAQAAAAMY3VycmVudFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAA9jb250cm9sQ29udHJhY3QJAQAAAAhrZXlQcmljZQAAAAAEAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAYa2V5TmV1dHJpbm9Mb2NrZWRCYWxhbmNlAAAAAAAAAAAAAAAAAAQAAAASd2F2ZXNMb2NrZWRCYWxhbmNlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABVrZXlXYXZlc0xvY2tlZEJhbGFuY2UAAAAAAAAAAAAAAAAABAAAAAdyZXNlcnZlCQAAZQAAAAIICQAD7wAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QAAAAHcmVndWxhcgUAAAASd2F2ZXNMb2NrZWRCYWxhbmNlBAAAAA5yZXNlcnZlc0luVXNkbgkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAAAdyZXNlcnZlBQAAAAxjdXJyZW50UHJpY2UEAAAADm5ldXRyaW5vU3VwcGx5CQAAZQAAAAIJAABlAAAAAgkAAGQAAAACBQAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAD25ldXRyaW5vQXNzZXRJZAAAAAhxdWFudGl0eQkAA/AAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAAA9uZXV0cmlub0Fzc2V0SWQJAAPwAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAATbGlxdWlkYXRpb25Db250cmFjdAUAAAAPbmV1dHJpbm9Bc3NldElkBAAAAAdzdXJwbHVzCQAAZQAAAAIFAAAADnJlc2VydmVzSW5Vc2RuBQAAAA5uZXV0cmlub1N1cHBseQQAAAAHZGVmaWNpdAkAAGUAAAACBQAAAA5uZXV0cmlub1N1cHBseQUAAAAOcmVzZXJ2ZXNJblVzZG4EAAAADnN1cnBsdXNQZXJjZW50CQAAaAAAAAIJAABrAAAAAwUAAAAHc3VycGx1cwUAAAAFUEFVTEkFAAAADm5ldXRyaW5vU3VwcGx5AAAAAAAAAABkBAAAAAJCUgkAAGsAAAADBQAAAA5yZXNlcnZlc0luVXNkbgUAAAAFUEFVTEkFAAAADm5ldXRyaW5vU3VwcGx5BAAAAA1uc2J0U3VwcGx5TUFYCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAtuc2J0QXNzZXRJZAAAAAhxdWFudGl0eQQAAAAKbnNidFN1cHBseQkAAGUAAAACBQAAAA1uc2J0U3VwcGx5TUFYCQAD8AAAAAIFAAAAD2F1Y3Rpb25Db250cmFjdAUAAAALbnNidEFzc2V0SWQJAAUUAAAAAgUAAAADbmlsCQAETAAAAAIFAAAADGN1cnJlbnRQcmljZQkABEwAAAACBQAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UJAARMAAAAAgUAAAASd2F2ZXNMb2NrZWRCYWxhbmNlCQAETAAAAAIFAAAAB3Jlc2VydmUJAARMAAAAAgUAAAAOcmVzZXJ2ZXNJblVzZG4JAARMAAAAAgUAAAAObmV1dHJpbm9TdXBwbHkJAARMAAAAAgUAAAAHc3VycGx1cwkABEwAAAACBQAAAA5zdXJwbHVzUGVyY2VudAkABEwAAAACBQAAAAJCUgkABEwAAAACBQAAAApuc2J0U3VwcGx5CQAETAAAAAIFAAAADW5zYnRTdXBwbHlNQVgFAAAAA25pbAAAAAFpAQAAAB1nZXRVbnN0YWtlQ29taXNzaW9uQW1vdW50TUFUSAAAAAIAAAAGYW1vdW50AAAAC3N0YXJ0SGVpZ2h0BAAAAAhoYWxmTGlmZQkBAAAADGdldEludE9yRmFpbAAAAAIFAAAAE25zYnRTdGFraW5nQ29udHJhY3QJAQAAAAtrZXlIYWxmTGlmZQAAAAAJAAUUAAAAAgUAAAADbmlsCQAAawAAAAMFAAAABmFtb3VudAkAAGwAAAAGAAAAAAAAAAACAAAAAAAAAAAACQAAawAAAAMJAQAAAAEtAAAAAQkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAARNVUxUBQAAAAhoYWxmTGlmZQAAAAAAAAAACAAAAAAAAAAACAUAAAAGSEFMRlVQBQAAAARNVUxUAAAAAWkBAAAAD21lcmdlU3Rha2VzTUFUSAAAAAQAAAAHYW1vdW50MQAAAAdoZWlnaHQxAAAAB2Ftb3VudDIAAAAHaGVpZ2h0MgQAAAAIaGFsZkxpZmUJAQAAAAxnZXRJbnRPckZhaWwAAAACBQAAABNuc2J0U3Rha2luZ0NvbnRyYWN0CQEAAAALa2V5SGFsZkxpZmUAAAAABAAAAAF3CQAAawAAAAMFAAAAB2Ftb3VudDIJAABsAAAABgAAAAAAAAAAAgAAAAAAAAAAAAkAAGsAAAADCQAAZQAAAAIFAAAAB2hlaWdodDIFAAAAB2hlaWdodDEFAAAABE1VTFQFAAAACGhhbGZMaWZlAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAZIQUxGVVAFAAAABE1VTFQEAAAAAXYJAABrAAAAAwkAAGQAAAACBQAAAAdhbW91bnQxBQAAAAdhbW91bnQyBQAAAARNVUxUCQAAZAAAAAIFAAAAB2Ftb3VudDEFAAAAAXcJAAUUAAAAAgUAAAADbmlsCQAAZAAAAAIFAAAAB2hlaWdodDEJAABpAAAAAgkAAGUAAAACBQAAAAVIQUxGOAkAAGgAAAACBQAAAAhoYWxmTGlmZQkAAG0AAAAGBQAAAAF2AAAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAIBQAAAAZIQUxGVVAFAAAABE1VTFQAAAAAFQqWwg==", "chainId": 84, "height": 1939282, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FK1y2xKxiAUbMRshXJdraYWPmsuKyDRAEqHZePcwzaZR Next: none Diff:
OldNewDifferences
257257
258258 @Callable(ar)
259259 func calcUserSwapLimitsMATH (bh) = {
260+ let ba = getIntegerValue(ai, I())
260261 let bi = valueOrElse(getInteger(am, K(bh)), 0)
261262 let bj = ad(invoke(this, "calcSwapLimitMATH", [bi], nil))
262263 if ((bj == bj))
267268 let bn = if (bm)
268269 then 0
269270 else valueOrElse(getInteger(ah, H(bh)), 0)
270- $Tuple2(nil, [bj, bn])
271+ let bo = if (bm)
272+ then 0
273+ else (bk - (height - bl))
274+ let bp = Q(bj, ba)
275+ $Tuple2(nil, [bj, bn, bo, bp])
271276 }
272277 else throw("Strict value is not equal to itself.")
273278 }
277282 @Callable(ar)
278283 func calcNeutinoMetricsMATH () = {
279284 let ba = getIntegerValue(ai, I())
280- let bo = valueOrElse(getInteger(ah, y()), 0)
281- let bp = valueOrElse(getInteger(ah, x()), 0)
282- let bq = (wavesBalance(ah).regular - bp)
283- let br = T(bq, ba)
284- let bs = (((bo + value(assetInfo(ao)).quantity) - assetBalance(ah, ao)) - assetBalance(addressFromStringValue(ak), ao))
285- let bt = (br - bs)
286- let bu = (bs - br)
287- let bv = (fraction(bt, b, bs) * 100)
288- let bw = fraction(br, b, bs)
285+ let bq = valueOrElse(getInteger(ah, y()), 0)
286+ let br = valueOrElse(getInteger(ah, x()), 0)
287+ let bs = (wavesBalance(ah).regular - br)
288+ let bt = T(bs, ba)
289+ let bu = (((bq + value(assetInfo(ao)).quantity) - assetBalance(ah, ao)) - assetBalance(addressFromStringValue(ak), ao))
290+ let bv = (bt - bu)
291+ let bw = (bu - bt)
292+ let bx = (fraction(bv, b, bu) * 100)
293+ let by = fraction(bt, b, bu)
289294 let aX = value(assetInfo(aq)).quantity
290295 let aZ = (aX - assetBalance(aj, aq))
291- $Tuple2(nil, [ba, bo, bp, bq, br, bs, bt, bv, bw, aZ, aX])
296+ $Tuple2(nil, [ba, bq, br, bs, bt, bu, bv, bx, by, aZ, aX])
292297 }
293298
294299
295300
296301 @Callable(ar)
297-func getUnstakeComissionAmountMATH (R,bx) = {
298- let by = O(am, J())
299- $Tuple2(nil, fraction(R, pow(2, 0, fraction(-((height - bx)), e, by), 8, 8, HALFUP), e))
302+func getUnstakeComissionAmountMATH (R,bz) = {
303+ let bA = O(am, J())
304+ $Tuple2(nil, fraction(R, pow(2, 0, fraction(-((height - bz)), e, bA), 8, 8, HALFUP), e))
300305 }
301306
302307
303308
304309 @Callable(ar)
305-func mergeStakesMATH (bz,bA,bB,bC) = {
306- let by = O(am, J())
307- let bD = fraction(bB, pow(2, 0, fraction((bC - bA), e, by), 8, 8, HALFUP), e)
308- let bE = fraction((bz + bB), e, (bz + bD))
309- $Tuple2(nil, (bA + ((j - (by * log(bE, 8, 2, 0, 8, HALFUP))) / e)))
310+func mergeStakesMATH (bB,bC,bD,bE) = {
311+ let bA = O(am, J())
312+ let bF = fraction(bD, pow(2, 0, fraction((bE - bC), e, bA), 8, 8, HALFUP), e)
313+ let bG = fraction((bB + bD), e, (bB + bF))
314+ $Tuple2(nil, (bC + ((j - (bA * log(bG, 8, 2, 0, 8, HALFUP))) / e)))
310315 }
311316
312317
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = 1000000
77
88 let c = toBigInt(1000000)
99
1010 let d = 1000000
1111
1212 let e = 100000000
1313
1414 let f = toBigInt(10000000000000000)
1515
1616 let g = 8
1717
1818 let h = 16
1919
2020 let i = "__"
2121
2222 let j = 50000000
2323
2424 let k = 271828182
2525
2626 let l = 1000000
2727
2828 let m = toBigInt(1000000)
2929
3030 let n = toBigInt(100000000)
3131
3232 func o () = "%s%s__config__neutrinoAddress"
3333
3434
3535 func p () = "%s%s__config__swapAParam"
3636
3737
3838 func q () = "neutrino_asset_id"
3939
4040
4141 func r () = "liquidation_contract"
4242
4343
4444 func s () = "rpd_contract"
4545
4646
4747 func t () = "auction_contract"
4848
4949
5050 func u () = "control_contract"
5151
5252
5353 func v () = "bond_asset_id"
5454
5555
5656 func w () = "balance_lock_"
5757
5858
5959 func x () = (w() + "waves")
6060
6161
6262 func y () = (w() + "neutrino")
6363
6464
6565 func z () = "min_waves_swap_amount"
6666
6767
6868 func A () = "min_neutrino_swap_amount"
6969
7070
7171 func B () = "wavesOut_swap_feePart"
7272
7373
7474 func C () = "neutrinoOut_swap_feePart"
7575
7676
7777 func D () = "%s__nsbtLockContract"
7878
7979
8080 func E () = "%s__quickSwapLimitDuration"
8181
8282
8383 func F (G) = makeString(["%s%s", "userLastQuickSwapHeight", G], i)
8484
8585
8686 func H (G) = makeString(["%s%s", "quickSwapUserSpentInPeriod", G], i)
8787
8888
8989 func I () = "price"
9090
9191
9292 func J () = "%s__halfLife"
9393
9494
9595 func K (G) = makeString(["%s%s%s", "paramByUser", G, "amount"], i)
9696
9797
9898 func L (M,N) = valueOrErrorMessage(getString(M, N), makeString(["mandatory ", toString(M), ".", N, " is not defined"], ""))
9999
100100
101101 func O (M,N) = valueOrErrorMessage(getInteger(M, N), makeString(["mandatory ", toString(M), ".", N, " is not defined"], ""))
102102
103103
104104 func P (M,N) = valueOrErrorMessage(getBoolean(M, N), makeString(["mandatory ", toString(M), ".", N, " is not defined"], ""))
105105
106106
107107 func Q (R,S) = fraction(fraction(R, d, S), a, b)
108108
109109
110110 func T (R,S) = fraction(fraction(R, S, d), b, a)
111111
112112
113113 func U (V,W) = fraction(toBigInt(V), f, toBigInt(W))
114114
115115
116116 func X (Y,Z) = toInt(fraction(Y, toBigInt(Z), f))
117117
118118
119119 func aa (Y) = {
120120 let ab = Y
121121 if ($isInstanceOf(ab, "List[Any]"))
122122 then {
123123 let ac = ab
124124 ac
125125 }
126126 else throw("fail to cast into List[Any]")
127127 }
128128
129129
130130 func ad (Y) = {
131131 let ab = Y
132132 if ($isInstanceOf(ab, "Int"))
133133 then {
134134 let ae = ab
135135 ae
136136 }
137137 else throw("fail to cast into Int")
138138 }
139139
140140
141141 func af (Y) = {
142142 let ab = Y
143143 if ($isInstanceOf(ab, "String"))
144144 then {
145145 let ag = ab
146146 ag
147147 }
148148 else throw("fail to cast into String")
149149 }
150150
151151
152152 let ah = addressFromStringValue(L(this, o()))
153153
154154 let ai = addressFromStringValue(L(ah, u()))
155155
156156 let aj = addressFromStringValue(L(ah, t()))
157157
158158 let ak = L(ah, r())
159159
160160 let al = L(ah, s())
161161
162162 let am = addressFromStringValue(L(this, D()))
163163
164164 let an = L(ah, q())
165165
166166 let ao = fromBase58String(an)
167167
168168 let ap = getStringValue(ah, v())
169169
170170 let aq = fromBase58String(ap)
171171
172172 @Callable(ar)
173173 func constructor (as,at,au) = if ((ar.caller != this))
174174 then throw("not authorized")
175175 else [StringEntry(o(), as), StringEntry(D(), at), IntegerEntry(p(), au)]
176176
177177
178178
179179 @Callable(ar)
180180 func calcSwapLimitMATH (av) = {
181181 let aw = 3
182182 let ax = U(av, l)
183183 let ay = U(k, e)
184184 let az = pow(ax, 16, ay, 16, 8, DOWN)
185185 let aA = fraction(toBigInt(aw), az, n)
186186 $Tuple2(nil, toInt(aA))
187187 }
188188
189189
190190
191191 @Callable(ar)
192192 func calculateKMATH (aB,aC,S,aD,aE) = {
193193 let aF = toBigInt(2718281)
194194 let aG = 6
195195 let aH = valueOrElse(getInteger(aj, "nsbtCurveParam_a"), 3)
196196 let aI = valueOrElse(getInteger(aj, "nsbtCurveParam_b"), ((3 * b) / 10))
197197 let aJ = T(aB, S)
198198 let aK = fraction(aJ, e, aC)
199199 if ((aK > 10678564816))
200200 then throw("BR > 10678.564816% will overflow exponent")
201201 else {
202202 let aL = (aH * (aK - e))
203203 let aM = pow(aF, aG, toBigInt(aL), g, h, DOWN)
204204 let aN = fraction(toBigInt(aI), aM, c)
205205 $Tuple2(nil, [aH, aI, aJ, aK, aL, toString(aM), toString(aN)])
206206 }
207207 }
208208
209209
210210
211211 @Callable(ar)
212212 func curveFunctionMATH (aB,aC,S,aD,aE,aO) = {
213213 let aP = aa(invoke(this, "calculateKMATH", [aB, aC, S, aD, aE], nil))
214214 if ((aP == aP))
215215 then {
216216 let aN = parseBigIntValue(af(aP[6]))
217217 let aQ = T(aO, S)
218218 let aR = toBigInt(aD)
219219 let aS = toBigInt((aD - aE))
220220 let aT = fraction(toBigInt(aQ), f, aN)
221221 let aU = fraction(aT, aS, aR)
222222 let aV = toInt(fraction(aS, aR, (aU + aR)))
223223 let aW = ((aD - aE) - aV)
224224 $Tuple2(nil, [aW, aQ, aB, aC, aD, aE, ad(aP[0]), ad(aP[1]), ad(aP[2]), ad(S), ad(aP[3]), ad(aP[4]), aP[5], aP[6], toString(aT), toString(aU), toString(aV)])
225225 }
226226 else throw("Strict value is not equal to itself.")
227227 }
228228
229229
230230
231231 @Callable(ar)
232232 func calcContractNsbtPriceMATH () = {
233233 let aX = value(assetInfo(aq)).quantity
234234 let aY = aa(invoke(this, "calcNeutinoMetricsMATH", nil, nil))
235235 if ((aY == aY))
236236 then {
237237 let aZ = ad(aY[9])
238238 let ba = ad(aY[0])
239239 let aP = aa(invoke(this, "calculateKMATH", [ad(aY[4]), ad(aY[6]), ba, aX, aZ], nil))
240240 if ((aP == aP))
241241 then {
242242 let aN = parseBigIntValue(af(aP[6]))
243243 let bb = X(aN, e)
244244 let bc = fraction(aX, e, (aX - aZ))
245245 let bd = fraction(bc, bc, e)
246246 let be = fraction(bb, bd, e)
247247 let bf = fraction(be, b, e)
248248 let bg = fraction(bf, b, ba)
249249 $Tuple2(nil, [bf, bg])
250250 }
251251 else throw("Strict value is not equal to itself.")
252252 }
253253 else throw("Strict value is not equal to itself.")
254254 }
255255
256256
257257
258258 @Callable(ar)
259259 func calcUserSwapLimitsMATH (bh) = {
260+ let ba = getIntegerValue(ai, I())
260261 let bi = valueOrElse(getInteger(am, K(bh)), 0)
261262 let bj = ad(invoke(this, "calcSwapLimitMATH", [bi], nil))
262263 if ((bj == bj))
263264 then {
264265 let bk = getIntegerValue(ah, E())
265266 let bl = valueOrElse(getInteger(ah, F(bh)), 0)
266267 let bm = ((height - bl) > bk)
267268 let bn = if (bm)
268269 then 0
269270 else valueOrElse(getInteger(ah, H(bh)), 0)
270- $Tuple2(nil, [bj, bn])
271+ let bo = if (bm)
272+ then 0
273+ else (bk - (height - bl))
274+ let bp = Q(bj, ba)
275+ $Tuple2(nil, [bj, bn, bo, bp])
271276 }
272277 else throw("Strict value is not equal to itself.")
273278 }
274279
275280
276281
277282 @Callable(ar)
278283 func calcNeutinoMetricsMATH () = {
279284 let ba = getIntegerValue(ai, I())
280- let bo = valueOrElse(getInteger(ah, y()), 0)
281- let bp = valueOrElse(getInteger(ah, x()), 0)
282- let bq = (wavesBalance(ah).regular - bp)
283- let br = T(bq, ba)
284- let bs = (((bo + value(assetInfo(ao)).quantity) - assetBalance(ah, ao)) - assetBalance(addressFromStringValue(ak), ao))
285- let bt = (br - bs)
286- let bu = (bs - br)
287- let bv = (fraction(bt, b, bs) * 100)
288- let bw = fraction(br, b, bs)
285+ let bq = valueOrElse(getInteger(ah, y()), 0)
286+ let br = valueOrElse(getInteger(ah, x()), 0)
287+ let bs = (wavesBalance(ah).regular - br)
288+ let bt = T(bs, ba)
289+ let bu = (((bq + value(assetInfo(ao)).quantity) - assetBalance(ah, ao)) - assetBalance(addressFromStringValue(ak), ao))
290+ let bv = (bt - bu)
291+ let bw = (bu - bt)
292+ let bx = (fraction(bv, b, bu) * 100)
293+ let by = fraction(bt, b, bu)
289294 let aX = value(assetInfo(aq)).quantity
290295 let aZ = (aX - assetBalance(aj, aq))
291- $Tuple2(nil, [ba, bo, bp, bq, br, bs, bt, bv, bw, aZ, aX])
296+ $Tuple2(nil, [ba, bq, br, bs, bt, bu, bv, bx, by, aZ, aX])
292297 }
293298
294299
295300
296301 @Callable(ar)
297-func getUnstakeComissionAmountMATH (R,bx) = {
298- let by = O(am, J())
299- $Tuple2(nil, fraction(R, pow(2, 0, fraction(-((height - bx)), e, by), 8, 8, HALFUP), e))
302+func getUnstakeComissionAmountMATH (R,bz) = {
303+ let bA = O(am, J())
304+ $Tuple2(nil, fraction(R, pow(2, 0, fraction(-((height - bz)), e, bA), 8, 8, HALFUP), e))
300305 }
301306
302307
303308
304309 @Callable(ar)
305-func mergeStakesMATH (bz,bA,bB,bC) = {
306- let by = O(am, J())
307- let bD = fraction(bB, pow(2, 0, fraction((bC - bA), e, by), 8, 8, HALFUP), e)
308- let bE = fraction((bz + bB), e, (bz + bD))
309- $Tuple2(nil, (bA + ((j - (by * log(bE, 8, 2, 0, 8, HALFUP))) / e)))
310+func mergeStakesMATH (bB,bC,bD,bE) = {
311+ let bA = O(am, J())
312+ let bF = fraction(bD, pow(2, 0, fraction((bE - bC), e, bA), 8, 8, HALFUP), e)
313+ let bG = fraction((bB + bD), e, (bB + bF))
314+ $Tuple2(nil, (bC + ((j - (bA * log(bG, 8, 2, 0, 8, HALFUP))) / e)))
310315 }
311316
312317

github/deemru/w8io/169f3d6 
53.31 ms