tx · AgYjXXuqPA5wGcYL7xJ19ttrTn2DAcTG4fMNxjEVhdB9 3P9x6gzQVWkEFHgv6o8ZujwznKaJtw5wxAx: -0.01000000 Waves 2022.05.31 10:36 [3141056] smart account 3P9x6gzQVWkEFHgv6o8ZujwznKaJtw5wxAx > SELF 0.00000000 Waves
{ "type": 13, "id": "AgYjXXuqPA5wGcYL7xJ19ttrTn2DAcTG4fMNxjEVhdB9", "fee": 1000000, "feeAssetId": null, "timestamp": 1653982661848, "version": 1, "sender": "3P9x6gzQVWkEFHgv6o8ZujwznKaJtw5wxAx", "senderPublicKey": "3txc1RC6cNDwB6jUWV472XPE2c5irLTmC89JL6ohjKnY", "proofs": [ "xhTVpbSzJykd6WriwVj4pDwuGNkvz6CGALfFovDdqMvrYMvERznrLzk7xzD88hTuA3hE9LVWqmfNBfmLgf2nPwQ" ], "script": "base64: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", "chainId": 87, "height": 3141056, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2zv3DzQu8hVVMgFK1MQmJ1YiRcXD7RdxUgmE6AsxhQzm Next: DaNn4Rx6YctP6LmUA9Y8Z14zkMZBxgnGLhHiGabjSBsh Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | func | |
4 | + | func aI (value) = match value { | |
5 | 5 | case int: Int => | |
6 | 6 | int | |
7 | 7 | case _ => | |
8 | - | throw(" | |
8 | + | throw("NO") | |
9 | 9 | } | |
10 | 10 | ||
11 | 11 | ||
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 | + | @Callable(i) | |
13 | + | func vA (amo) = if ((toString(i.caller) != "3PMrUpDUwcErsUP23h3DAbdZHex8etdgGm3")) | |
14 | + | then throw("no") | |
15 | + | else { | |
16 | + | let av = assetBalance(addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ")) | |
17 | + | if ((100000000 > av)) | |
18 | + | then $Tuple2(nil, av) | |
19 | + | else { | |
20 | + | let am = aI(invoke(addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT"), "withdraw", ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", amo], nil)) | |
21 | + | $Tuple2([ScriptTransfer(addressFromStringValue("3PEUhXY45M1Nud7PRQ6ahgfPfC2DSBX6nUC"), (am / 25), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"))], am) | |
22 | + | } | |
23 | + | } | |
18 | 24 | ||
19 | 25 | ||
20 | - | let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") | |
21 | - | ||
22 | - | let assetString = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ" | |
23 | - | ||
24 | - | let reserve = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR") | |
25 | - | ||
26 | - | let f = addressFromStringValue("3PAve5HxxCt7eGpUogoVBimw6DK8S3YvADU") | |
27 | 26 | ||
28 | 27 | @Callable(i) | |
29 | - | func withdraw (pass,min) = { | |
30 | - | let assetId = fromBase58String(assetString) | |
31 | - | let available = assetBalance(reserve, assetId) | |
32 | - | if ((min > available)) | |
33 | - | then if (pass) | |
34 | - | then $Tuple2(nil, available) | |
35 | - | else throw(toString(available)) | |
36 | - | else { | |
37 | - | let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil)) | |
38 | - | let lp = userbalancedata._1 | |
39 | - | let maxAmount = userbalancedata._2 | |
40 | - | let depositUsd = userbalancedata._3 | |
41 | - | let debt = userbalancedata._4 | |
42 | - | let debtUsd = userbalancedata._5 | |
43 | - | let asCollateral = userbalancedata._6 | |
44 | - | let v = if ((available > maxAmount)) | |
45 | - | then -1 | |
46 | - | else available | |
47 | - | let amount = asInt(invoke(main, "withdraw", [assetString, v], nil)) | |
48 | - | $Tuple2([ScriptTransfer(f, (amount / 25), assetId)], amount) | |
49 | - | } | |
50 | - | } | |
28 | + | func wA (amo) = if ((toString(i.caller) != "3PMrUpDUwcErsUP23h3DAbdZHex8etdgGm3")) | |
29 | + | then throw("no") | |
30 | + | else { | |
31 | + | let av = assetBalance(addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ")) | |
32 | + | if ((100000000 > av)) | |
33 | + | then $Tuple2(nil, av) | |
34 | + | else { | |
35 | + | let v = if ((av > 1000000000)) | |
36 | + | then 1000000000 | |
37 | + | else amo | |
38 | + | let am = aI(invoke(addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT"), "withdraw", ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", v], nil)) | |
39 | + | $Tuple2([ScriptTransfer(addressFromStringValue("3PEUhXY45M1Nud7PRQ6ahgfPfC2DSBX6nUC"), (am / 25), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"))], am) | |
40 | + | } | |
41 | + | } | |
42 | + | ||
43 | + | ||
44 | + | ||
45 | + | @Callable(i) | |
46 | + | func xA (amo) = if ((toString(i.caller) != "3PMrUpDUwcErsUP23h3DAbdZHex8etdgGm3")) | |
47 | + | then throw("no") | |
48 | + | else { | |
49 | + | let am = aI(invoke(addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT"), "withdraw", ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", amo], nil)) | |
50 | + | $Tuple2([ScriptTransfer(addressFromStringValue("3PEUhXY45M1Nud7PRQ6ahgfPfC2DSBX6nUC"), (am / 25), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"))], am) | |
51 | + | } | |
52 | + | ||
53 | + | ||
54 | + | ||
55 | + | @Callable(i) | |
56 | + | func bA (amo) = if ((toString(i.caller) != "3PMrUpDUwcErsUP23h3DAbdZHex8etdgGm3")) | |
57 | + | then throw("no") | |
58 | + | else { | |
59 | + | let am = aI(invoke(addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT"), "borrow", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", amo], nil)) | |
60 | + | $Tuple2(nil, am) | |
61 | + | } | |
62 | + | ||
63 | + | ||
64 | + | ||
65 | + | @Callable(i) | |
66 | + | func cA (amo) = if ((toString(i.caller) != "3PMrUpDUwcErsUP23h3DAbdZHex8etdgGm3")) | |
67 | + | then throw("no") | |
68 | + | else { | |
69 | + | let test = getBooleanValue(addressFromStringValue("3P2rJGfb5MbeivZNSqdVmsD1Y2Mz8y6Jr3Z"), "system_paused") | |
70 | + | if (test) | |
71 | + | then $Tuple2(nil, nil) | |
72 | + | else { | |
73 | + | let am = aI(invoke(addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT"), "borrow", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", amo], nil)) | |
74 | + | $Tuple2(nil, am) | |
75 | + | } | |
76 | + | } | |
51 | 77 | ||
52 | 78 |
github/deemru/w8io/3ef1775 37.96 ms ◑