tx · 8Gf6LecFJ8qt6Q17gNyF6mhyaXVzxDXETYvbGpEyvm2X

3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h:  -0.05000000 Waves

2023.03.27 11:46 [2508162] smart account 3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h > SELF 0.00000000 Waves

{ "type": 13, "id": "8Gf6LecFJ8qt6Q17gNyF6mhyaXVzxDXETYvbGpEyvm2X", "fee": 5000000, "feeAssetId": null, "timestamp": 1679906877555, "version": 2, "chainId": 84, "sender": "3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h", "senderPublicKey": "3z8Q6Zu3KppVmn6fJJvrLc1Wo3krVHSvfaNcerm82md2", "proofs": [ "4ZLvTy97RiqByF1Qrw1rHWB138QHet4PR1LNeGakoazBqig2pauRQD9T4T5A2LYuQLY9mRf4bkAjLeQ7N6LG79Nd" ], "script": "base64:BgIPCAISABIAEgASBQoDAQEBCQAMY29udHJhY3RGaWxlAglyZWJhbGFuY2UAD2tleXNUYXJnZXRSYXRpbwIPJXNfX3RhcmdldFJhdGlvABRrZXlBZGRpdGlvbmFsQmFsYW5jZQIbJXNfX2FkZGl0dGlvbmFsV2F2ZXNCYWxhbmNlABhrZXlTV2F2ZXNBZGRpdGlvbkJhbGFuY2UCESVzX19zV2F2ZXNCYWxhbmNlABBrZXlTV2F2ZXNBc3NldElkAhElc19fc1dhdmVzQXNzZXRJZAAPa2V5UHJveHlBZGRyZXNzAhAlc19fcHJveHlBZGRyZXNzARBnZXRJbnRlZ2VyT3JaZXJvAQppbnRlZ2VyS2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFCmludGVnZXJLZXkDCQABAgUHJG1hdGNoMAIDSW50BAN2YWwFByRtYXRjaDAFA3ZhbAAAARBnZXRTdHJpbmdPclRocm93AQlzdHJpbmdLZXkEByRtYXRjaDAJAJ0IAgUEdGhpcwUJc3RyaW5nS2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAUBcwkAAgEJAKwCAgkArAICAgFbBQlzdHJpbmdLZXkCCl0gaXMgZW1wdHkBFGludGVybmFsV2F2ZXNCYWxhbmNlAAkAZAIICQDvBwEFBHRoaXMHcmVndWxhcgkBEGdldEludGVnZXJPclplcm8BBRRrZXlBZGRpdGlvbmFsQmFsYW5jZQQBaQEScmV0dXJuV2F2ZXNCYWxhbmNlAAkAlAoCBQNuaWwJARRpbnRlcm5hbFdhdmVzQmFsYW5jZQABaQETcmV0dXJuU1dhdmVzQmFsYW5jZQAJAJQKAgUDbmlsCQEQZ2V0SW50ZWdlck9yWmVybwEFGGtleVNXYXZlc0FkZGl0aW9uQmFsYW5jZQFpAQljYWxjUmF0aW8ABBNyZWd1bGFyV2F2ZXNCYWxhbmNlCAkA7wcBBQR0aGlzB3JlZ3VsYXIECmFkZGl0aW9uYWwJARBnZXRJbnRlZ2VyT3JaZXJvAQUUa2V5QWRkaXRpb25hbEJhbGFuY2UEBXJhdGlvCQBrAwBkBQphZGRpdGlvbmFsCQBkAgUKYWRkaXRpb25hbAUTcmVndWxhcldhdmVzQmFsYW5jZQkAlAoCBQNuaWwFBXJhdGlvAWkBDWNhbGNSYXRpb1Rlc3QDDnJlZ3VsYXJCYWxhbmNlCmFkZGl0aW9uYWwLdGFyZ2V0UmF0aW8EA3N1bQkAZAIFDnJlZ3VsYXJCYWxhbmNlBQphZGRpdGlvbmFsBBd0YXJnZXRBZGRpdGlvbmFsQmFsYW5jZQkAawMFC3RhcmdldFJhdGlvBQNzdW0AZAQGY2hhbmdlCQBlAgUKYWRkaXRpb25hbAUXdGFyZ2V0QWRkaXRpb25hbEJhbGFuY2UEBm5ld1JlZwkAZAIFDnJlZ3VsYXJCYWxhbmNlBQZjaGFuZ2UDCQBmAgAABQZjaGFuZ2UECnNlbmRBbW91bnQJAGgCBQZjaGFuZ2UA////////////AQkAlAoCBQNuaWwJAMwIAgUGbmV3UmVnCQDMCAIFF3RhcmdldEFkZGl0aW9uYWxCYWxhbmNlCQDMCAIFBmNoYW5nZQkAzAgCCQCsAgICCWRlcG9zaXQ6IAkApAMBBQpzZW5kQW1vdW50BQNuaWwECnNlbmRBbW91bnQFBmNoYW5nZQkAlAoCBQNuaWwJAMwIAgUGbmV3UmVnCQDMCAIFF3RhcmdldEFkZGl0aW9uYWxCYWxhbmNlCQDMCAIFBmNoYW5nZQkAzAgCCQCsAgICCndpdGhkcmF3OiAJAKQDAQUKc2VuZEFtb3VudAUDbmlsAC4sysI=", "height": 2508162, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: QKY7KPXGK5AjA7wPDp8y2fMxF2j5owy4bQXFUSaccdR Next: 7udwsQSXbHLwcqkw8Wt1byuy3hDwZmnBPDmTp27xMMy2 Diff:
OldNewDifferences
5555 @Callable(i)
5656 func calcRatioTest (regularBalance,additional,targetRatio) = {
5757 let sum = (regularBalance + additional)
58- let targetBalance = fraction(targetRatio, sum, 100)
59- let change = (additional - targetBalance)
58+ let targetAdditionalBalance = fraction(targetRatio, sum, 100)
59+ let change = (additional - targetAdditionalBalance)
6060 let newReg = (regularBalance + change)
61- $Tuple2(nil, [targetBalance, newReg, change])
61+ if ((0 > change))
62+ then {
63+ let sendAmount = (change * -1)
64+ $Tuple2(nil, [newReg, targetAdditionalBalance, change, ("deposit: " + toString(sendAmount))])
65+ }
66+ else {
67+ let sendAmount = change
68+ $Tuple2(nil, [newReg, targetAdditionalBalance, change, ("withdraw: " + toString(sendAmount))])
69+ }
6270 }
6371
6472
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let contractFile = "rebalance"
55
66 let keysTargetRatio = "%s__targetRatio"
77
88 let keyAdditionalBalance = "%s__addittionalWavesBalance"
99
1010 let keySWavesAdditionBalance = "%s__sWavesBalance"
1111
1212 let keySWavesAssetId = "%s__sWavesAssetId"
1313
1414 let keyProxyAddress = "%s__proxyAddress"
1515
1616 func getIntegerOrZero (integerKey) = match getInteger(this, integerKey) {
1717 case val: Int =>
1818 val
1919 case _ =>
2020 0
2121 }
2222
2323
2424 func getStringOrThrow (stringKey) = match getString(this, stringKey) {
2525 case s: String =>
2626 s
2727 case _ =>
2828 throw((("[" + stringKey) + "] is empty"))
2929 }
3030
3131
3232 func internalWavesBalance () = (wavesBalance(this).regular + getIntegerOrZero(keyAdditionalBalance))
3333
3434
3535 @Callable(i)
3636 func returnWavesBalance () = $Tuple2(nil, internalWavesBalance())
3737
3838
3939
4040 @Callable(i)
4141 func returnSWavesBalance () = $Tuple2(nil, getIntegerOrZero(keySWavesAdditionBalance))
4242
4343
4444
4545 @Callable(i)
4646 func calcRatio () = {
4747 let regularWavesBalance = wavesBalance(this).regular
4848 let additional = getIntegerOrZero(keyAdditionalBalance)
4949 let ratio = fraction(100, additional, (additional + regularWavesBalance))
5050 $Tuple2(nil, ratio)
5151 }
5252
5353
5454
5555 @Callable(i)
5656 func calcRatioTest (regularBalance,additional,targetRatio) = {
5757 let sum = (regularBalance + additional)
58- let targetBalance = fraction(targetRatio, sum, 100)
59- let change = (additional - targetBalance)
58+ let targetAdditionalBalance = fraction(targetRatio, sum, 100)
59+ let change = (additional - targetAdditionalBalance)
6060 let newReg = (regularBalance + change)
61- $Tuple2(nil, [targetBalance, newReg, change])
61+ if ((0 > change))
62+ then {
63+ let sendAmount = (change * -1)
64+ $Tuple2(nil, [newReg, targetAdditionalBalance, change, ("deposit: " + toString(sendAmount))])
65+ }
66+ else {
67+ let sendAmount = change
68+ $Tuple2(nil, [newReg, targetAdditionalBalance, change, ("withdraw: " + toString(sendAmount))])
69+ }
6270 }
6371
6472

github/deemru/w8io/169f3d6 
25.49 ms