2022.01.26 05:30 [2960320] smart account 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU > SELF 0.00000000 Waves

{ "type": 13, "id": "6mmyMRhGGwm7ueyEydwX6ENxjjmjeqqssWFP9sktnDk9", "fee": 1400000, "feeAssetId": null, "timestamp": 1643164276336, "version": 2, "chainId": 87, "sender": "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU", "senderPublicKey": "Dmn1fWHxpwN789LPfoMHFj7uSYKSsb5VFfyNQyQ629f9", "proofs": [ "TyM5QUAJo5PuFt6ABLoshEEYTarqnE24YAMpRfcCX7pHCrkt644ZGnw58772TNQw87VukiDzgwLjxw9F8spexzk" ], "script": "base64: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", "height": 2960320, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 83RWpp9T7hXpTGKfnc4A5J4idEJ66qYbxZpmfaxU45Ae Next: 21p7Y5eqwGq66kZ6H6WdJMSniU8pTdzYxjsWctFuBgg2 Diff:
OldNewDifferences
8989 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
9090 }
9191 if ((totalOut == totalOut))
92- then if ((minToReceive > totalOut))
93- then throw(("amount to receive is lower than expected one " + toString(totalOut)))
92+ then if (false)
93+ then throw("hey")
9494 else [ScriptTransfer(i.caller, totalOut, getAssetBytes(split(routesStr, ",")[(size(split(routesStr, ",")) - 1)]))]
9595 else throw("Strict value is not equal to itself.")
9696 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func getAssetString (assetId) = match assetId {
55 case b: ByteVector =>
66 toBase58String(b)
77 case _ =>
88 "WAVES"
99 }
1010
1111
1212 func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
1313 then unit
1414 else fromBase58String(assetIdStr)
1515
1616
1717 func getBalance (assetId) = match assetId {
1818 case x: Unit =>
1919 wavesBalance(this).available
2020 case _ =>
2121 assetBalance(this, value(assetId))
2222 }
2323
2424
2525 @Callable(i)
2626 func swap (routesStr,minToReceive) = {
2727 func doSwap (amount0,swap) = {
2828 let swapLi = split(swap, ",")
2929 let $t0663744 = $Tuple4(swapLi[0], swapLi[1], swapLi[2], swapLi[3])
3030 let dApp = $t0663744._1
3131 let dAppType = $t0663744._2
3232 let t0Str = $t0663744._3
3333 let t1Str = $t0663744._4
3434 let t0 = getAssetBytes(t0Str)
3535 let t1 = getAssetBytes(t1Str)
3636 let balanceBefore = getBalance(t1)
3737 if ((balanceBefore == balanceBefore))
3838 then {
3939 let i1 = if ((dAppType == "swopfi"))
4040 then invoke(Address(fromBase58String(dApp)), "exchange", [1], [AttachedPayment(t0, amount0)])
4141 else invoke(Address(fromBase58String(dApp)), "swap", [t1Str, 1], [AttachedPayment(t0, amount0)])
4242 if ((i1 == i1))
4343 then {
4444 let balanceAfter = getBalance(t1)
4545 if ((balanceAfter == balanceAfter))
4646 then (balanceAfter - balanceBefore)
4747 else throw("Strict value is not equal to itself.")
4848 }
4949 else throw("Strict value is not equal to itself.")
5050 }
5151 else throw("Strict value is not equal to itself.")
5252 }
5353
5454 func doRoute (accum,route) = {
5555 let amountIn = parseIntValue(split(route, "/")[0])
5656 let swaps = split(split(route, "/")[1], ";")
5757 let swapsResult = {
5858 let $l = swaps
5959 let $s = size($l)
6060 let $acc0 = amountIn
6161 func $f0_1 ($a,$i) = if (($i >= $s))
6262 then $a
6363 else doSwap($a, $l[$i])
6464
6565 func $f0_2 ($a,$i) = if (($i >= $s))
6666 then $a
6767 else throw("List size exceeds 3")
6868
6969 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
7070 }
7171 if ((swapsResult == swapsResult))
7272 then (accum + swapsResult)
7373 else throw("Strict value is not equal to itself.")
7474 }
7575
7676 let routes = split(routesStr, "|")
7777 let totalOut = {
7878 let $l = routes
7979 let $s = size($l)
8080 let $acc0 = 0
8181 func $f0_1 ($a,$i) = if (($i >= $s))
8282 then $a
8383 else doRoute($a, $l[$i])
8484
8585 func $f0_2 ($a,$i) = if (($i >= $s))
8686 then $a
8787 else throw("List size exceeds 5")
8888
8989 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
9090 }
9191 if ((totalOut == totalOut))
92- then if ((minToReceive > totalOut))
93- then throw(("amount to receive is lower than expected one " + toString(totalOut)))
92+ then if (false)
93+ then throw("hey")
9494 else [ScriptTransfer(i.caller, totalOut, getAssetBytes(split(routesStr, ",")[(size(split(routesStr, ",")) - 1)]))]
9595 else throw("Strict value is not equal to itself.")
9696 }
9797
9898
9999 @Verifier(tx)
100100 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
101101

github/deemru/w8io/786bc32 
36.38 ms