tx · Axt3vMFRdzviRxpA7T8R7iVYYvXWHCAvjsXT6dHPghkg

3PPKvu6x52MFaMGfw3i2byPVXXBuH7FTNMU:  -0.01400000 Waves

2022.09.01 12:59 [3275393] smart account 3PPKvu6x52MFaMGfw3i2byPVXXBuH7FTNMU > SELF 0.00000000 Waves

{ "type": 13, "id": "Axt3vMFRdzviRxpA7T8R7iVYYvXWHCAvjsXT6dHPghkg", "fee": 1400000, "feeAssetId": null, "timestamp": 1662026467839, "version": 2, "chainId": 87, "sender": "3PPKvu6x52MFaMGfw3i2byPVXXBuH7FTNMU", "senderPublicKey": "2EkX192CHj7Ut47LgFMd3Pg7U7rhQFJhKgcr3rD5Dtig", "proofs": [ "4mLTvo4Q6huHZQQ6azwDKJeBc5iFTUBjeoAHqdmLGNdiQuoa48GagADGZVQC5UiiC6BzWcX24mtLLWM17oMhKxJW" ], "script": "base64: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", "height": 3275393, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DCMaP7KEhdZ5QaVpv8nJTDEUdWjJE6dEFjaTPAmjq5tN Next: HyNkifGquo2YqFfDCEytfxFVsYD1BGx7RJAktYKaDvSM Diff:
OldNewDifferences
209209 let result = calculateIssuePluto(assetId, value(i.payments[0].amount), false)
210210 if ((result == result))
211211 then {
212- let lockup = invoke(stakingAddress, "startOnboarding", [toString(i.caller), (result[0] + result[1]), result[2], result[6], result[5], getAssetString(value(i.payments[0].assetId))], [AttachedPayment(plutoId, ((result[0] + result[1]) + result[2]))])
212+ let lockup = invoke(stakingAddress, "startOnboarding", [toString(i.caller), (result[0] + result[1]), result[2], result[6], result[5], getAssetString(i.payments[0].assetId)], [AttachedPayment(plutoId, ((result[0] + result[1]) + result[2]))])
213213 if ((lockup == lockup))
214214 then if (debug)
215215 then throw(((((((("issued: " + toString(result[0])) + "; bought: ") + toString(result[1])) + "; premium: ") + toString(result[2])) + "; team: ") + toString(result[3])))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let plutoId = base58'Ajso6nTTjptu2UHLx6hfSXVtHFtRBJCkKYd5SAyj7zf5'
55
66 let plutoIdStr = "Ajso6nTTjptu2UHLx6hfSXVtHFtRBJCkKYd5SAyj7zf5"
77
88 let parametersAddress = Address(base58'3P3a1jssxc2CGdyC7SGbTJc9ZvTjZ5jBMLZ')
99
1010 let stakingAddress = Address(base58'3P7dGTVZp8VLDYy3XEaUQbiqfi9cMK1Ly5q')
1111
1212 let issuerAddress = Address(base58'3PCRXK4q3SWK3TfjTgYc88x3jr8semrHLJs')
1313
1414 let treasuryAddress = Address(base58'3PKFFFsiKR7rgaeoLQZj6jLsxteZigccN8h')
1515
1616 let teamAddress = Address(base58'3P8XyUj7seSjJc6gqDgM9MxAfmnmcDAE6gj')
1717
1818 let poolAddress = Address(base58'3P93Kqz8PUbCudvMyjbci54WxQrtBtw4dbZ')
1919
2020 let parentLpIdStr = "BNXTKjftTy5zZEozFdkqDTTiru7guvunLiCpZuTAaC4h"
2121
2222 let parentLpId = base58'BNXTKjftTy5zZEozFdkqDTTiru7guvunLiCpZuTAaC4h'
2323
2424 let usdnIdStr = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
2525
2626 let wavesusdnPool = Address(base58'3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG')
2727
2828 let treasuryAssets = ["WAVES", usdnIdStr, "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"]
2929
3030 let Scale8 = 100000000
3131
3232 func tryGetInteger (key) = match getInteger(this, key) {
3333 case x: Int =>
3434 x
3535 case _ =>
3636 0
3737 }
3838
3939
4040 func tryGetIntParameter (key) = match getInteger(parametersAddress, key) {
4141 case x: Int =>
4242 x
4343 case _ =>
4444 0
4545 }
4646
4747
4848 func tryGetStrParameter (key) = match getString(parametersAddress, key) {
4949 case x: String =>
5050 x
5151 case _ =>
5252 ""
5353 }
5454
5555
5656 func getAssetString (assetId) = match assetId {
5757 case b: ByteVector =>
5858 toBase58String(b)
5959 case _ =>
6060 "WAVES"
6161 }
6262
6363
6464 func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
6565 then unit
6666 else fromBase58String(assetIdStr)
6767
6868
6969 func calculatePoolPrice (poolAddress,assetStr) = {
7070 let a0Weight = getIntegerValue(poolAddress, (("static_" + assetStr) + "_weight"))
7171 let a1Weight = getIntegerValue(poolAddress, (("static_" + plutoIdStr) + "_weight"))
7272 let a0Balance = getIntegerValue(poolAddress, (("global_" + assetStr) + "_balance"))
7373 let a1Balance = getIntegerValue(poolAddress, (("global_" + plutoIdStr) + "_balance"))
7474 fraction(Scale8, (a1Balance * a0Weight), (a0Balance * a1Weight))
7575 }
7676
7777
7878 func calcPuzzleSwap (assetStr,amount) = {
7979 let a0Weight = getIntegerValue(poolAddress, (("static_" + assetStr) + "_weight"))
8080 let a1Weight = getIntegerValue(poolAddress, (("static_" + plutoIdStr) + "_weight"))
8181 let a0Balance = getIntegerValue(poolAddress, (("global_" + assetStr) + "_balance"))
8282 let a1Balance = getIntegerValue(poolAddress, (("global_" + plutoIdStr) + "_balance"))
8383 let amount1 = fraction(a1Balance, ((Scale8 * Scale8) - toInt(pow(fraction(toBigInt(a0Balance), toBigInt((Scale8 * Scale8)), toBigInt((a0Balance + amount)), HALFUP), 16, toBigInt(fraction(a0Weight, 10000, a1Weight)), 4, 16, CEILING))), (Scale8 * Scale8), DOWN)
8484 fraction(amount1, 98, 100)
8585 }
8686
8787
8888 func calcBuyback (assetStr,amount) = if ((assetStr != "WAVES"))
8989 then calcPuzzleSwap(assetStr, amount)
9090 else {
9191 let usdnAmount = fraction(getIntegerValue(wavesusdnPool, "B_asset_balance"), amount, (amount + getIntegerValue(wavesusdnPool, "A_asset_balance")))
9292 let usdnAmountAfterFee = fraction(usdnAmount, 994, 1000)
9393 calcPuzzleSwap(usdnIdStr, usdnAmount)
9494 }
9595
9696
9797 func calculateIssuePluto (assetId,amount,evaluation) = {
9898 let assetIdStr = getAssetString(assetId)
9999 if ((indexOf(treasuryAssets, assetIdStr) == unit))
100100 then throw("asset not supported")
101101 else {
102102 let onboardingParameters = match invoke(parametersAddress, "getOnboardingParameters", [false], nil) {
103103 case in: List[Any] =>
104104 in
105105 case _ =>
106106 throw("cannot load parameters")
107107 }
108108 if ((onboardingParameters == onboardingParameters))
109109 then {
110110 let buybackRatio = match onboardingParameters[4] {
111111 case x: Int =>
112112 x
113113 case _ =>
114114 throw("cannot parse parameters")
115115 }
116116 let premium = match onboardingParameters[1] {
117117 case x: Int =>
118118 x
119119 case _ =>
120120 throw("cannot parse parameters")
121121 }
122122 let teamPremium = match onboardingParameters[3] {
123123 case x: Int =>
124124 x
125125 case _ =>
126126 throw("cannot parse parameters")
127127 }
128128 let period = match onboardingParameters[2] {
129129 case x: Int =>
130130 x
131131 case _ =>
132132 throw("cannot parse parameters")
133133 }
134134 let amountToBuyback = if ((assetIdStr != parentLpIdStr))
135135 then fraction(amount, buybackRatio, 10000)
136136 else 0
137137 let amountToIssue = (amount - amountToBuyback)
138138 let assetPriceToPluto = if ((assetIdStr != parentLpIdStr))
139139 then if ((assetIdStr == "WAVES"))
140140 then fraction(calculatePoolPrice(poolAddress, usdnIdStr), getIntegerValue(addressFromStringValue("3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP"), "price"), Scale8)
141141 else calculatePoolPrice(poolAddress, assetIdStr)
142142 else {
143143 let parentLpPrice = match invoke(parametersAddress, "getParentLpPrice", [false, true], nil) {
144144 case in: Int =>
145145 in
146146 case _ =>
147147 throw("cannot load parent lp price")
148148 }
149149 if ((parentLpPrice == parentLpPrice))
150150 then parentLpPrice
151151 else throw("Strict value is not equal to itself.")
152152 }
153153 if ((assetPriceToPluto == assetPriceToPluto))
154154 then {
155155 let inv = if ((assetIdStr == parentLpIdStr))
156156 then unit
157157 else if (evaluation)
158158 then calcBuyback(assetIdStr, amountToBuyback)
159159 else if ((assetIdStr == "WAVES"))
160160 then {
161161 let swap1 = invoke(wavesusdnPool, "exchange", [1], [AttachedPayment(assetId, amountToBuyback)])
162162 if ((swap1 == swap1))
163163 then {
164164 let usdnAmount = match swap1 {
165165 case x: (Int, ByteVector) =>
166166 x._1
167167 case _ =>
168168 throw("no usdn purchased")
169169 }
170170 invoke(poolAddress, "swap", [plutoIdStr, 0], [AttachedPayment(assetId, usdnAmount)])
171171 }
172172 else throw("Strict value is not equal to itself.")
173173 }
174174 else invoke(poolAddress, "swap", [plutoIdStr, 0], [AttachedPayment(assetId, amountToBuyback)])
175175 if ((inv == inv))
176176 then {
177177 let plutoBought = match inv {
178178 case x: Int =>
179179 x
180180 case _ =>
181181 0
182182 }
183183 let plutoIssued = fraction(amountToIssue, assetPriceToPluto, Scale8)
184184 let totalPluto = (plutoBought + plutoIssued)
185185 let premiumPlutoIssued = fraction(totalPluto, premium, 10000)
186186 let teamPlutoIssued = fraction(totalPluto, teamPremium, 10000)
187187 let inv2 = invoke(issuerAddress, "requestIssue", [((plutoIssued + premiumPlutoIssued) + teamPlutoIssued)], nil)
188188 if ((inv2 == inv2))
189189 then [plutoIssued, plutoBought, premiumPlutoIssued, teamPlutoIssued, amountToIssue, premium, period]
190190 else throw("Strict value is not equal to itself.")
191191 }
192192 else throw("Strict value is not equal to itself.")
193193 }
194194 else throw("Strict value is not equal to itself.")
195195 }
196196 else throw("Strict value is not equal to itself.")
197197 }
198198 }
199199
200200
201201 @Callable(i)
202202 func issuePluto (debug) = {
203203 let assetId = i.payments[0].assetId
204204 if (if ((assetId == unit))
205205 then (toString(i.caller) != "3PMcMiMEs6w56NRGacksXtFG5zS7doE9fpL")
206206 else false)
207207 then throw("please wait for the official release!")
208208 else {
209209 let result = calculateIssuePluto(assetId, value(i.payments[0].amount), false)
210210 if ((result == result))
211211 then {
212- let lockup = invoke(stakingAddress, "startOnboarding", [toString(i.caller), (result[0] + result[1]), result[2], result[6], result[5], getAssetString(value(i.payments[0].assetId))], [AttachedPayment(plutoId, ((result[0] + result[1]) + result[2]))])
212+ let lockup = invoke(stakingAddress, "startOnboarding", [toString(i.caller), (result[0] + result[1]), result[2], result[6], result[5], getAssetString(i.payments[0].assetId)], [AttachedPayment(plutoId, ((result[0] + result[1]) + result[2]))])
213213 if ((lockup == lockup))
214214 then if (debug)
215215 then throw(((((((("issued: " + toString(result[0])) + "; bought: ") + toString(result[1])) + "; premium: ") + toString(result[2])) + "; team: ") + toString(result[3])))
216216 else [ScriptTransfer(treasuryAddress, result[4], assetId), ScriptTransfer(teamAddress, result[3], plutoId)]
217217 else throw("Strict value is not equal to itself.")
218218 }
219219 else throw("Strict value is not equal to itself.")
220220 }
221221 }
222222
223223
224224
225225 @Callable(i)
226226 func evaluateIssuePluto (debug,assetIdStr,amount) = {
227227 let assetId = getAssetBytes(assetIdStr)
228228 let result = calculateIssuePluto(assetId, amount, true)
229229 if ((result == result))
230230 then if (debug)
231231 then throw(((((((("issued: " + toString(result[0])) + "; bought: ") + toString(result[1])) + "; premium: ") + toString(result[2])) + "; team: ") + toString(result[3])))
232232 else $Tuple2(nil, (result[0] + result[1]))
233233 else throw("Strict value is not equal to itself.")
234234 }
235235
236236
237237 @Verifier(tx)
238238 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
239239

github/deemru/w8io/6500d08 
55.42 ms