tx · Cj8q5BDCh1RCB8eptCecCaL63fovPPqJt6idCqHu4PoH

3P5MGmcsL5xUvMVM3sSihRza89CYtfJrMcP:  -0.01000000 Waves

2022.04.14 13:58 [3073452] smart account 3P5MGmcsL5xUvMVM3sSihRza89CYtfJrMcP > SELF 0.00000000 Waves

{ "type": 13, "id": "Cj8q5BDCh1RCB8eptCecCaL63fovPPqJt6idCqHu4PoH", "fee": 1000000, "feeAssetId": null, "timestamp": 1649933894057, "version": 1, "sender": "3P5MGmcsL5xUvMVM3sSihRza89CYtfJrMcP", "senderPublicKey": "3woh1e9YVr8Pmy1JXHUK37JxpnZRwj2YQ3BFTs5BGUds", "proofs": [ "4NnUvUNy7t9o51nBN1c6HrBkLB59Xk4NNbcdpbxq2dNR7Yk8rj57Y7cGVae913jkD255ZuvmA4QobtgjS3EbbpXA" ], "script": "base64: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", "chainId": 87, "height": 3073452, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2tprZhfXwVPUisGnggFzUaiAjUUJreFwek1jqiJz3BHF Next: 7NkrfGsLwAifAtH4WeUstukbTkRiCthHheHQ9FvbQziD Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func asInt (value) = match value {
5- case int: Int =>
6- int
7- case _ =>
8- throw("wrong type, expected: Int")
4+func p22 (v) = match v {
5+ case x: (Int, Int, Int, Int, Int, Boolean) =>
6+ x._2
7+ case t =>
8+ throw("p22")
99 }
1010
1111
12-func asUserBalanceData (value) = match value {
13- case x: (Int, Int, Int, Int, Int, Boolean) =>
14- x
15- case t =>
16- throw("wrong type, expected: Int5&Boolean")
17-}
12+let a = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
13+
14+let d = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
15+
16+let m = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
17+
18+func n () = {
19+ let b = assetBalance(d, a)
20+ if ((10 > b))
21+ then 0
22+ else {
23+ let z = p22(invoke(d, "userBalance", [toString(this)], nil))
24+ let i = invoke(m, "withdraw", [toBase58String(a), if ((b > z))
25+ then -1
26+ else b], nil)
27+ if ((i == i))
28+ then 1
29+ else throw("Strict value is not equal to itself.")
30+ }
31+ }
1832
1933
20-let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
34+@Callable(i)
35+func f () = if ((i.caller != this))
36+ then throw("admin")
37+ else if ((n() == -1))
38+ then throw("too low reserve")
39+ else nil
2140
22-let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ", "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
2341
24-let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR"), addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")]
2542
2643 @Callable(i)
27-func withdraw (asset,pass,min) = {
28- let admin = "3P5MGmcsL5xUvMVM3sSihRza89CYtfJrMcP"
29- if ((toString(i.caller) != admin))
30- then throw("only admin can do")
31- else {
32- let assetIdString = assetStrings[asset]
33- let assetId = fromBase58String(assetIdString)
34- let reserve = reserves[asset]
35- let available = assetBalance(reserve, assetId)
36- if ((min > available))
37- then if (pass)
38- then $Tuple2(nil, available)
39- else throw(toString(available))
44+func g () = if ((i.caller != this))
45+ then throw("admin")
46+ else {
47+ let b = assetBalance(d, a)
48+ if ((b == b))
49+ then if ((100000000 > b))
50+ then throw("too low reserve")
4051 else {
41- let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil))
42- let lp = userbalancedata._1
43- let maxAmount = userbalancedata._2
44- let depositUsd = userbalancedata._3
45- let debt = userbalancedata._4
46- let debtUsd = userbalancedata._5
47- let asCollateral = userbalancedata._6
48- let v = if ((available > maxAmount))
49- then -1
50- else if ((2 > asset))
51- then available
52- else -1
53- let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil))
54- $Tuple2(nil, amount)
52+ let z = p22(invoke(d, "userBalance", [toString(this)], nil))
53+ if ((z == z))
54+ then {
55+ let x = invoke(addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT"), "withdraw", [toBase58String(a), if ((b > z))
56+ then -1
57+ else b], nil)
58+ if ((x == x))
59+ then nil
60+ else throw("Strict value is not equal to itself.")
61+ }
62+ else throw("Strict value is not equal to itself.")
5563 }
56- }
57- }
64+ else throw("Strict value is not equal to itself.")
65+ }
5866
5967

github/deemru/w8io/6500d08 
44.41 ms