tx · 48rPVrx52qCrQ36ehQDvkYqfrjbcm2NVBRKXWMsiQZV1

3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU:  -0.01000000 Waves

2022.07.23 17:19 [3218073] smart account 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU > SELF 0.00000000 Waves

{ "type": 13, "id": "48rPVrx52qCrQ36ehQDvkYqfrjbcm2NVBRKXWMsiQZV1", "fee": 1000000, "feeAssetId": null, "timestamp": 1658585990703, "version": 2, "chainId": 87, "sender": "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU", "senderPublicKey": "Dmn1fWHxpwN789LPfoMHFj7uSYKSsb5VFfyNQyQ629f9", "proofs": [ "4RC4Ym8fazS7EkyGKwXXt9iap3CNc8B4kL9Qo82Viqa3vMq2DzUULhTDtaj2Qqy28pwVsjHCY29K9uGnmndtKpYf" ], "script": "base64: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", "height": 3218073, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BXESXLTCgTRD3m1FztpwpmBPctyP2x4SMiuq9Y8MBLbs Next: HCP2A6J5n7ZuXrWc4NpMLqyxGihFLfngKgwHTqX5Kp3W Diff:
OldNewDifferences
144144 (([ScriptTransfer(i.caller, amount1, asset1)] ++ (if ((refUsdnShare != 0))
145145 then [ScriptTransfer(referralAddress, refUsdnShare, usdnId)]
146146 else nil)) ++ (if ((amount0 != 0))
147- then [ScriptTransfer(referralAddress, amount0, asset0)]
147+ then [ScriptTransfer(i.caller, amount0, asset0)]
148148 else nil))
149149 }
150150 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let usdnIdStr = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
55
66 let usdnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 func tryGetString (key) = match getString(this, key) {
99 case b: String =>
1010 b
1111 case _ =>
1212 ""
1313 }
1414
1515
1616 func getAssetString (assetId) = match assetId {
1717 case b: ByteVector =>
1818 toBase58String(b)
1919 case _ =>
2020 "WAVES"
2121 }
2222
2323
2424 func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
2525 then unit
2626 else fromBase58String(assetIdStr)
2727
2828
2929 func getBalance (assetId) = match assetId {
3030 case x: Unit =>
3131 wavesBalance(this).available
3232 case _ =>
3333 assetBalance(this, value(assetId))
3434 }
3535
3636
3737 func swapInternal (i,routesStr,minToReceive,refKey) = {
3838 func doSwap (amount,swap) = {
3939 let swapLi = split(swap, ",")
4040 let $t09311012 = $Tuple4(swapLi[0], swapLi[1], swapLi[2], swapLi[3])
4141 let dApp = $t09311012._1
4242 let dAppType = $t09311012._2
4343 let t0Str = $t09311012._3
4444 let t1Str = $t09311012._4
4545 let t0 = getAssetBytes(t0Str)
4646 let amount0 = if ((amount != 0))
4747 then amount
4848 else getBalance(t0)
4949 let i1 = if ((dAppType == "swopfi"))
5050 then invoke(Address(fromBase58String(dApp)), "exchange", [1], [AttachedPayment(t0, amount0)])
5151 else invoke(Address(fromBase58String(dApp)), "swap", [t1Str, 0], [AttachedPayment(t0, amount0)])
5252 if ((i1 == i1))
5353 then 0
5454 else throw("Strict value is not equal to itself.")
5555 }
5656
5757 func doRoute (accum,route) = {
5858 let amountIn = parseIntValue(split(route, "/")[0])
5959 let swaps = split(split(route, "/")[1], ";")
6060 let swapsResult = {
6161 let $l = swaps
6262 let $s = size($l)
6363 let $acc0 = amountIn
6464 func $f0_1 ($a,$i) = if (($i >= $s))
6565 then $a
6666 else doSwap($a, $l[$i])
6767
6868 func $f0_2 ($a,$i) = if (($i >= $s))
6969 then $a
7070 else throw("List size exceeds 3")
7171
7272 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
7373 }
7474 if ((swapsResult == swapsResult))
7575 then (accum + swapsResult)
7676 else throw("Strict value is not equal to itself.")
7777 }
7878
7979 let asset1Str = split(routesStr, ",")[(size(split(routesStr, ",")) - 1)]
8080 let asset1 = getAssetBytes(asset1Str)
8181 let routes = split(routesStr, "|")
8282 let swaps = {
8383 let $l = routes
8484 let $s = size($l)
8585 let $acc0 = 0
8686 func $f0_1 ($a,$i) = if (($i >= $s))
8787 then $a
8888 else doRoute($a, $l[$i])
8989
9090 func $f0_2 ($a,$i) = if (($i >= $s))
9191 then $a
9292 else throw("List size exceeds 5")
9393
9494 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
9595 }
9696 if ((swaps == swaps))
9797 then {
9898 let totalOut = getBalance(asset1)
9999 let feeAmount = fraction(totalOut, 29, 10000)
100100 let cleanTotalAmount = (totalOut - feeAmount)
101101 if ((minToReceive > cleanTotalAmount))
102102 then throw(("amount to receive is lower than expected one " + toString(cleanTotalAmount)))
103103 else {
104104 let usdnFee = if ((asset1 == usdnId))
105105 then feeAmount
106106 else {
107107 let usdnBalanceBefore = getBalance(usdnId)
108108 if ((usdnBalanceBefore == usdnBalanceBefore))
109109 then {
110110 let convertedFee = invoke(Address(fromBase58String(tryGetString((("static_asset_" + asset1Str) + "_puzzlePool")))), "swap", [usdnIdStr, 0], [AttachedPayment(asset1, feeAmount)])
111111 if ((convertedFee == convertedFee))
112112 then {
113113 let usdnBalanceAfter = getBalance(usdnId)
114114 if ((usdnBalanceAfter == usdnBalanceAfter))
115115 then (usdnBalanceAfter - usdnBalanceBefore)
116116 else throw("Strict value is not equal to itself.")
117117 }
118118 else throw("Strict value is not equal to itself.")
119119 }
120120 else throw("Strict value is not equal to itself.")
121121 }
122122 if ((usdnFee == usdnFee))
123123 then {
124124 let referralAddress = if ((refKey == "muna"))
125125 then Address(base58'3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU')
126126 else if ((refKey == "keeper"))
127127 then Address(base58'3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM')
128128 else if ((refKey == "tci"))
129129 then Address(base58'3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM')
130130 else Address(base58'3PQxXXiQXpWsjDwQLYxyuoPiaLnVHjJguFo')
131131 let refUsdnShare = if ((refKey == "noref"))
132132 then 0
133133 else fraction(usdnFee, 2, 10)
134134 let topUp = invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(usdnId, (usdnFee - refUsdnShare))])
135135 if ((topUp == topUp))
136136 then {
137137 let asset0 = i.payments[0].assetId
138138 let amount0 = (getBalance(asset0) - (if ((asset0 == usdnId))
139139 then refUsdnShare
140140 else 0))
141141 let amount1 = (getBalance(asset1) - (if ((asset1 == usdnId))
142142 then refUsdnShare
143143 else 0))
144144 (([ScriptTransfer(i.caller, amount1, asset1)] ++ (if ((refUsdnShare != 0))
145145 then [ScriptTransfer(referralAddress, refUsdnShare, usdnId)]
146146 else nil)) ++ (if ((amount0 != 0))
147- then [ScriptTransfer(referralAddress, amount0, asset0)]
147+ then [ScriptTransfer(i.caller, amount0, asset0)]
148148 else nil))
149149 }
150150 else throw("Strict value is not equal to itself.")
151151 }
152152 else throw("Strict value is not equal to itself.")
153153 }
154154 }
155155 else throw("Strict value is not equal to itself.")
156156 }
157157
158158
159159 @Callable(i)
160160 func swap (routesStr,minToReceive) = swapInternal(i, routesStr, minToReceive, "noref")
161161
162162
163163
164164 @Callable(i)
165165 func swapWithReferral (routesStr,minToReceive,refKey) = swapInternal(i, routesStr, minToReceive, refKey)
166166
167167
168168
169169 @Callable(i)
170170 func addTokenPuzzlePool (assetIdStr,poolAddressStr) = if ((i.caller != Address(base58'3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd')))
171171 then throw("admin only")
172172 else [StringEntry((("static_asset_" + assetIdStr) + "_puzzlePool"), poolAddressStr)]
173173
174174
175175 @Verifier(tx)
176176 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
177177

github/deemru/w8io/6500d08 
30.37 ms