tx · 2Bvah6diXXU6RTY8Xkg92gBZFT8CZZfnjKTmvFoqGka2

3P7fBcGmUn3KCUhJSwvPd1yTsZhzEECbTPJ:  -0.01000000 Waves

2022.02.13 16:17 [2986979] smart account 3P7fBcGmUn3KCUhJSwvPd1yTsZhzEECbTPJ > SELF 0.00000000 Waves

{ "type": 13, "id": "2Bvah6diXXU6RTY8Xkg92gBZFT8CZZfnjKTmvFoqGka2", "fee": 1000000, "feeAssetId": null, "timestamp": 1644758292276, "version": 1, "sender": "3P7fBcGmUn3KCUhJSwvPd1yTsZhzEECbTPJ", "senderPublicKey": "551sV9g8bMqcZf5x5yYqTinrYLLmDPrU73idSuksZKwg", "proofs": [ "4zq12PWawJ54tCu45v8SEJR6puSURi6TwzRe9CucM8urqCtm5eJ5q5Ynm6Rd3wUg88uWWi9EeH3ZV5XKfUEQGjwz" ], "script": "base64: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", "chainId": 87, "height": 2986979, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DkKKgbk8iNLaN39ZxYaKKTuytqYxvgZJ7sqLNFBdio6x Next: none Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let FLATAPP = addressFromStringValue("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1")
5-
6-let kBalanceA = "A_asset_balance"
7-
8-let kBalanceB = "B_asset_balance"
9-
10-let kInvariant = "invariant"
11-
124 let scale8 = 100000000
135
146 let scale12 = 1000000000000
5143 if ((F == 0))
5244 then $Tuple6(0, D, 0, 0, 0, 0)
5345 else {
54- let $t024172545 = if (if ((F > 0))
46+ let $t022252353 = if (if ((F > 0))
5547 then (Flastvalid > F)
5648 else false)
5749 then $Tuple2(F, D)
5850 else $Tuple2(Flastvalid, Dlastvalid)
59- let Fvalid = $t024172545._1
60- let Dvalid = $t024172545._2
51+ let Fvalid = $t022252353._1
52+ let Dvalid = $t022252353._2
6153 if (((F - Fprev) == 0))
6254 then $Tuple6(1, (D + 1), Fvalid, Dvalid, F, D)
6355 else {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let FLATAPP = addressFromStringValue("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1")
5-
6-let kBalanceA = "A_asset_balance"
7-
8-let kBalanceB = "B_asset_balance"
9-
10-let kInvariant = "invariant"
11-
124 let scale8 = 100000000
135
146 let scale12 = 1000000000000
157
168 let digits8 = 8
179
1810 let exchangeRatioLimitMin = 90000000
1911
2012 let exchangeRatioLimitMax = 110000000
2113
2214 let alpha = 50
2315
2416 let alphaDigits = 2
2517
2618 let beta = 46000000
2719
2820 func skewness (x,y) = (((fraction(scale12, x, y) + fraction(scale12, y, x)) / 2) / 10000)
2921
3022
3123 func invariantCalc (x,y) = {
3224 let sk = skewness(x, y)
3325 (fraction((x + y), scale8, pow(sk, digits8, alpha, alphaDigits, digits8, CEILING)) + (2 * fraction(pow(fraction(x, y, scale8), 0, 5, 1, (digits8 / 2), DOWN), pow((sk - beta), digits8, alpha, alphaDigits, digits8, DOWN), scale8)))
3426 }
3527
3628
3729 func d (A,B,invariant,amount) = {
3830 let Dmin = (B - fraction(amount, exchangeRatioLimitMax, scale8))
3931 let Dmax = (B - fraction(amount, exchangeRatioLimitMin, scale8))
4032 let A_new = (A + amount)
4133 let Fmin = (invariantCalc(A_new, Dmin) - invariant)
4234 func DF (a,u) = if ((a._1 == 0))
4335 then a
4436 else {
4537 let D = a._2
4638 let Flastvalid = a._3
4739 let Dlastvalid = a._4
4840 let Fprev = a._5
4941 let Dprev = a._6
5042 let F = (invariantCalc(A_new, D) - invariant)
5143 if ((F == 0))
5244 then $Tuple6(0, D, 0, 0, 0, 0)
5345 else {
54- let $t024172545 = if (if ((F > 0))
46+ let $t022252353 = if (if ((F > 0))
5547 then (Flastvalid > F)
5648 else false)
5749 then $Tuple2(F, D)
5850 else $Tuple2(Flastvalid, Dlastvalid)
59- let Fvalid = $t024172545._1
60- let Dvalid = $t024172545._2
51+ let Fvalid = $t022252353._1
52+ let Dvalid = $t022252353._2
6153 if (((F - Fprev) == 0))
6254 then $Tuple6(1, (D + 1), Fvalid, Dvalid, F, D)
6355 else {
6456 let Dnext = (D - fraction(F, (D - Dprev), (F - Fprev)))
6557 if (((D - Dnext) != 0))
6658 then $Tuple6(1, Dnext, Fvalid, Dvalid, F, D)
6759 else if ((0 > F))
6860 then $Tuple6(1, (D + 1), Fvalid, Dvalid, F, D)
6961 else $Tuple6(0, D, 0, 0, 0, 0)
7062 }
7163 }
7264 }
7365
7466 let a = {
7567 let $l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
7668 let $s = size($l)
7769 let $acc0 = $Tuple6(1, Dmax, 9223372036854775807, B, Fmin, Dmin)
7870 func $f0_1 ($a,$i) = if (($i >= $s))
7971 then $a
8072 else DF($a, $l[$i])
8173
8274 func $f0_2 ($a,$i) = if (($i >= $s))
8375 then $a
8476 else throw("List size exceeds 12")
8577
8678 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12)
8779 }
8880 if ((a._1 == 0))
8981 then (B - a._2)
9082 else (B - a._4)
9183 }
9284
9385
9486 @Callable(i)
9587 func D (A,B,invariant,amount) = $Tuple2(nil, d(A, B, invariant, amount))
9688
9789

github/deemru/w8io/3ef1775 
39.16 ms