tx · 3PPApkLP1CiSojXnnvfkSveq57XpcET6qCQxFDS3H5dA

3PPhk65Ab4UDgbxYUDW7YSXkzHfWtj7WBrB:  -0.01100000 Waves

2022.06.27 21:06 [3180782] smart account 3PPhk65Ab4UDgbxYUDW7YSXkzHfWtj7WBrB > SELF 0.00000000 Waves

{ "type": 13, "id": "3PPApkLP1CiSojXnnvfkSveq57XpcET6qCQxFDS3H5dA", "fee": 1100000, "feeAssetId": null, "timestamp": 1656353266377, "version": 2, "chainId": 87, "sender": "3PPhk65Ab4UDgbxYUDW7YSXkzHfWtj7WBrB", "senderPublicKey": "JA8PUnni68FEVnZHgEhqhPwTTovQj8Cmf1sLwE9QuugX", "proofs": [ "3yQtNiqrUAuxVxCTUHyxHf4tnNANY6Qjak1uztxLoLpxK5xdzkSMvhZJdSrYpbguEZKNiwTZB7sjYfEUwYwdAJ7X" ], "script": "base64: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", "height": 3180782, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3B48ctoUorVfvnQysrvs2fNw4TygNNXiXTHynVu2HctU Next: 9JgzsU7E2HUcpsDQ49cxgZih9DWJHG5KmXeDHhthzJ6n Diff:
OldNewDifferences
6767 let plutoAsset = value(assetInfo(plutoId))
6868 let quantity = plutoAsset.quantity
6969 let plutoPrice = calculatePrice(poolAddress, plutoIdStr, usdnIdStr)
70- let parameter = (quantity * plutoPrice)
70+ let parameter = fraction(quantity, plutoPrice, Scale8)
7171 if (debug)
7272 then throw(toString(parameter))
7373 else $Tuple2(nil, parameter)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let plutoId = base58'YQFYoMwARMQzZs3wqucBTdJNWSbsYk3GAw7wsqU4gyA'
55
66 let usdnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 let plutoIdStr = "YQFYoMwARMQzZs3wqucBTdJNWSbsYk3GAw7wsqU4gyA"
99
1010 let usdnIdStr = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
1111
1212 let poolAddress = Address(base58'3PJnGkuMm4LkJQVCT7QCRyzApQiEQ2UWcdx')
1313
1414 let Scale8 = 100000000
1515
1616 let Scale2 = 100
1717
1818 let Depth = (24 * 60)
1919
2020 let Parameters = [[100, 0, 0, 0, 0], [110, 204, 4, 24, 7710], [120, 309, 5, 44, 8820], [130, 417, 6, 61, 7780], [140, 526, 7, 76, 6670], [150, 638, 8, 88, 5560], [160, 753, 9, 99, 4440], [170, 753, 9, 109, 3330], [180, 753, 9, 118, 2220], [190, 753, 9, 126, 1110], [200, 753, 8, 139, 0], [210, 753, 8, 145, 0], [220, 753, 7, 145, 0], [230, 753, 7, 151, 0], [240, 753, 6, 156, 0], [250, 753, 6, 160, 0], [260, 753, 5, 164, 0], [270, 753, 5, 168, 0], [280, 753, 4, 172, 0], [290, 753, 4, 175, 0]]
2121
2222 func tryGetInteger (key) = match getInteger(this, key) {
2323 case x: Int =>
2424 x
2525 case _ =>
2626 0
2727 }
2828
2929
3030 func setParameter (key,val,rememberHeight) = ([IntegerEntry(("last_" + key), val)] ++ (if (rememberHeight)
3131 then [IntegerEntry(((toString(height) + "_") + key), val)]
3232 else nil))
3333
3434
3535 func getParameter (key) = tryGetInteger(("last_" + key))
3636
3737
3838 func getParameterAtBlock (key,block) = tryGetInteger(((toString(block) + "_") + key))
3939
4040
4141 func calculatePrice (poolAddress,asset0Str,asset1Str) = {
4242 let a0Weight = getIntegerValue(poolAddress, (("static_" + asset0Str) + "_weight"))
4343 let a1Weight = getIntegerValue(poolAddress, (("static_" + asset1Str) + "_weight"))
4444 let a0Balance = getIntegerValue(poolAddress, (("global_" + asset0Str) + "_balance"))
4545 let a1Balance = getIntegerValue(poolAddress, (("global_" + asset1Str) + "_balance"))
4646 fraction(Scale8, (a1Balance * a0Weight), (a0Balance * a1Weight))
4747 }
4848
4949
5050 @Callable(i)
5151 func setTreasuryValue (amount) = setParameter("treasuryValue", amount, true)
5252
5353
5454
5555 @Callable(i)
5656 func getTreasuryValue (debug) = {
5757 let parameter = getParameter("treasuryValue")
5858 if (debug)
5959 then throw(toString(parameter))
6060 else $Tuple2(nil, parameter)
6161 }
6262
6363
6464
6565 @Callable(i)
6666 func getMarketValue (debug) = {
6767 let plutoAsset = value(assetInfo(plutoId))
6868 let quantity = plutoAsset.quantity
6969 let plutoPrice = calculatePrice(poolAddress, plutoIdStr, usdnIdStr)
70- let parameter = (quantity * plutoPrice)
70+ let parameter = fraction(quantity, plutoPrice, Scale8)
7171 if (debug)
7272 then throw(toString(parameter))
7373 else $Tuple2(nil, parameter)
7474 }
7575
7676
7777
7878 @Callable(i)
7979 func getGrowthFactor (debug) = {
8080 let marketValue = 0
8181 let parameter = max([fraction(marketValue, Scale2, getParameter("treasuryValue")), 100])
8282 if (debug)
8383 then throw(toString(parameter))
8484 else $Tuple2(nil, parameter)
8585 }
8686
8787
8888
8989 @Callable(i)
9090 func getTreasuryDelta (debug) = {
9191 let parameter = max([fraction(getParameter("treasuryValue"), getParameterAtBlock("treasuryValue", (height - Depth)), Scale8), 0])
9292 if (debug)
9393 then throw(toString(parameter))
9494 else $Tuple2(nil, parameter)
9595 }
9696
9797
9898
9999 @Callable(i)
100100 func getOnboardingParameters (debug) = {
101101 let growthFactor = match invoke(this, "getGrowthFactor", [false], nil) {
102102 case in: Int =>
103103 in
104104 case _ =>
105105 throw("bad invoke")
106106 }
107107 if ((growthFactor == growthFactor))
108108 then {
109109 func f1 (accum,next) = if ((growthFactor >= next[0]))
110110 then next
111111 else accum
112112
113113 let parameterLi = {
114114 let $l = Parameters
115115 let $s = size($l)
116116 let $acc0 = nil
117117 func $f0_1 ($a,$i) = if (($i >= $s))
118118 then $a
119119 else f1($a, $l[$i])
120120
121121 func $f0_2 ($a,$i) = if (($i >= $s))
122122 then $a
123123 else throw("List size exceeds 20")
124124
125125 $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($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), 13), 14), 15), 16), 17), 18), 19), 20)
126126 }
127127 func f2 (accum,next) = ((accum + toString(next)) + ",")
128128
129129 let parameterStr = {
130130 let $l = parameterLi
131131 let $s = size($l)
132132 let $acc0 = ""
133133 func $f1_1 ($a,$i) = if (($i >= $s))
134134 then $a
135135 else f2($a, $l[$i])
136136
137137 func $f1_2 ($a,$i) = if (($i >= $s))
138138 then $a
139139 else throw("List size exceeds 20")
140140
141141 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
142142 }
143143 if (debug)
144144 then throw(parameterStr)
145145 else $Tuple2(nil, parameterLi)
146146 }
147147 else throw("Strict value is not equal to itself.")
148148 }
149149
150150
151151 @Verifier(tx)
152152 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
153153

github/deemru/w8io/3ef1775 
46.00 ms