tx · 2KZNn4SvCY6wDqRsyMbSk5DjkwyRH1yDzTAtcub97Eoc

3PHVvn3yCtCJZwBFhbfC6xoMpSqBrLKvJQf:  -0.01000000 Waves

2022.04.06 21:37 [3062360] smart account 3PHVvn3yCtCJZwBFhbfC6xoMpSqBrLKvJQf > SELF 0.00000000 Waves

{ "type": 13, "id": "2KZNn4SvCY6wDqRsyMbSk5DjkwyRH1yDzTAtcub97Eoc", "fee": 1000000, "feeAssetId": null, "timestamp": 1649270265335, "version": 1, "sender": "3PHVvn3yCtCJZwBFhbfC6xoMpSqBrLKvJQf", "senderPublicKey": "CKXSVbhbLLxjsym2QuHcyNpRSWDPcxMrxRYNqmawQBP5", "proofs": [ "Nyon1itZjcyD6mwWCgVGjptWk9A6NunbT4De6b3FKStMDsqkQisej3fPDfwUmbvZ19VtuxPRqhBRnJSQC5N9Brr" ], "script": "base64:AAIFAAAAAAAAAAkIAhIAEgMKAQEAAAAFAQAAAAVhc0ludAAAAAEAAAAFdmFsdWUEAAAAByRtYXRjaDAFAAAABXZhbHVlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAUAAAADaW50CQAAAgAAAAECAAAAGXdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQBAAAAEWFzVXNlckJhbGFuY2VEYXRhAAAAAQAAAAV2YWx1ZQQAAAAHJG1hdGNoMAUAAAAFdmFsdWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAIihJbnQsIEludCwgSW50LCBJbnQsIEludCwgQm9vbGVhbikEAAAAAXgFAAAAByRtYXRjaDAFAAAAAXgEAAAAAXQFAAAAByRtYXRjaDAJAAACAAAAAQIAAAAid3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludDUmQm9vbGVhbgAAAAAEbWFpbgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BBWnY5dGdLMVBYN2RLUjdiNGtjaHE1cWRwVVMzRzVzWVQAAAAADGFzc2V0U3RyaW5ncwkABEwAAAACAgAAACw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgkABEwAAAACAgAAACwzNE45WWNFRVRMV245M3FZUTY0RXNQMXg4OXRTcnVKVTQ0UnJFTVNYWEVQSgkABEwAAAACAgAAACxERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAUAAAADbmlsAAAAAAhyZXNlcnZlcwkABEwAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEdDa3JIQnhGTWk3dHoxeHFueGdCcGVOdm41RTRNNGc4UwkABEwAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEVpRDF6SldUTVpOV1NDeXpodkJ3OXB4eEFXZUV3YWdoUgkABEwAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEN3RlhTcTh2ajhpS2l0QTV6cnJMUmJ1cWVoZm1pbXBjZQUAAAADbmlsAAAAAgAAAAFpAQAAAAt3aXRoZHJhd0FsbAAAAAAEAAAAB2Ftb3VudDAJAQAAAAVhc0ludAAAAAEJAAP8AAAABAUAAAAEdGhpcwIAAAAId2l0aGRyYXcJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsBQAAAANuaWwEAAAAB2Ftb3VudDEJAQAAAAVhc0ludAAAAAEJAAP8AAAABAUAAAAEdGhpcwIAAAAId2l0aGRyYXcJAARMAAAAAgAAAAAAAAAAAQUAAAADbmlsBQAAAANuaWwDCQAAZgAAAAIJAABkAAAAAgUAAAAHYW1vdW50MAUAAAAHYW1vdW50MQAAAAAAAA9CQAkABRQAAAACBQAAAANuaWwJAABkAAAAAgUAAAAHYW1vdW50MAUAAAAHYW1vdW50MQkAAAIAAAABAgAAABFub3RoaW5nIHdpdGhkcmF3bgAAAAFpAQAAAAh3aXRoZHJhdwAAAAEAAAAFYXNzZXQEAAAADWFzc2V0SWRTdHJpbmcJAAGRAAAAAgUAAAAMYXNzZXRTdHJpbmdzBQAAAAVhc3NldAQAAAAHYXNzZXRJZAkAAlkAAAABBQAAAA1hc3NldElkU3RyaW5nBAAAAAdyZXNlcnZlCQABkQAAAAIFAAAACHJlc2VydmVzBQAAAAVhc3NldAQAAAAJYXZhaWxhYmxlCQAD8AAAAAIFAAAAB3Jlc2VydmUFAAAAB2Fzc2V0SWQEAAAAD3VzZXJiYWxhbmNlZGF0YQkBAAAAEWFzVXNlckJhbGFuY2VEYXRhAAAAAQkAA/wAAAAEBQAAAAdyZXNlcnZlAgAAAAt1c2VyQmFsYW5jZQkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMFAAAAA25pbAUAAAADbmlsBAAAAAJscAgFAAAAD3VzZXJiYWxhbmNlZGF0YQAAAAJfMQQAAAAJbWF4QW1vdW50CAUAAAAPdXNlcmJhbGFuY2VkYXRhAAAAAl8yBAAAAApkZXBvc2l0VXNkCAUAAAAPdXNlcmJhbGFuY2VkYXRhAAAAAl8zBAAAAARkZWJ0CAUAAAAPdXNlcmJhbGFuY2VkYXRhAAAAAl80BAAAAAdkZWJ0VXNkCAUAAAAPdXNlcmJhbGFuY2VkYXRhAAAAAl81BAAAAAxhc0NvbGxhdGVyYWwIBQAAAA91c2VyYmFsYW5jZWRhdGEAAAACXzYEAAAAAXYDCQAAZgAAAAIFAAAACWF2YWlsYWJsZQUAAAAJbWF4QW1vdW50AP//////////AwkAAGYAAAACAAAAAAAAAAACBQAAAAVhc3NldAUAAAAJYXZhaWxhYmxlAP//////////BAAAAAZhbW91bnQJAQAAAAVhc0ludAAAAAEJAAP8AAAABAUAAAAEbWFpbgIAAAAId2l0aGRyYXcJAARMAAAAAgUAAAANYXNzZXRJZFN0cmluZwkABEwAAAACBQAAAAF2BQAAAANuaWwFAAAAA25pbAkABRQAAAACBQAAAANuaWwFAAAABmFtb3VudAAAAACo2aOE", "chainId": 87, "height": 3062360, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6so27X2f4ZTMaVTuawEGW1ncH76rozfp6wXXpKMPGxws Next: HthRrYuMuNcc3sWtEoehu74xeEYhdhtKX5vvZ4zYsV5j Diff:
OldNewDifferences
4949 let asCollateral = userbalancedata._6
5050 let v = if ((available > maxAmount))
5151 then -1
52- else available
52+ else if ((2 > asset))
53+ then available
54+ else -1
5355 let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil))
5456 $Tuple2(nil, amount)
5557 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func asInt (value) = match value {
55 case int: Int =>
66 int
77 case _ =>
88 throw("wrong type, expected: Int")
99 }
1010
1111
1212 func asUserBalanceData (value) = match value {
1313 case x: (Int, Int, Int, Int, Int, Boolean) =>
1414 x
1515 case t =>
1616 throw("wrong type, expected: Int5&Boolean")
1717 }
1818
1919
2020 let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
2121
2222 let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ", "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
2323
2424 let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR"), addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")]
2525
2626 @Callable(i)
2727 func withdrawAll () = {
2828 let amount0 = asInt(invoke(this, "withdraw", [0], nil))
2929 let amount1 = asInt(invoke(this, "withdraw", [1], nil))
3030 if (((amount0 + amount1) > 1000000))
3131 then $Tuple2(nil, (amount0 + amount1))
3232 else throw("nothing withdrawn")
3333 }
3434
3535
3636
3737 @Callable(i)
3838 func withdraw (asset) = {
3939 let assetIdString = assetStrings[asset]
4040 let assetId = fromBase58String(assetIdString)
4141 let reserve = reserves[asset]
4242 let available = assetBalance(reserve, assetId)
4343 let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil))
4444 let lp = userbalancedata._1
4545 let maxAmount = userbalancedata._2
4646 let depositUsd = userbalancedata._3
4747 let debt = userbalancedata._4
4848 let debtUsd = userbalancedata._5
4949 let asCollateral = userbalancedata._6
5050 let v = if ((available > maxAmount))
5151 then -1
52- else available
52+ else if ((2 > asset))
53+ then available
54+ else -1
5355 let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil))
5456 $Tuple2(nil, amount)
5557 }
5658
5759

github/deemru/w8io/3ef1775 
32.42 ms