tx · DZQhf8caCeq3XeEm9epqrJNLvkPbGpNv746NDcrWtE3e

3PDh7pUCV5r7VWPdqoxZvwcS7QcYgXXYmL1:  -0.01000000 Waves

2022.04.21 18:15 [3083795] smart account 3PDh7pUCV5r7VWPdqoxZvwcS7QcYgXXYmL1 > SELF 0.00000000 Waves

{ "type": 13, "id": "DZQhf8caCeq3XeEm9epqrJNLvkPbGpNv746NDcrWtE3e", "fee": 1000000, "feeAssetId": null, "timestamp": 1650554115000, "version": 2, "chainId": 87, "sender": "3PDh7pUCV5r7VWPdqoxZvwcS7QcYgXXYmL1", "senderPublicKey": "EmjEoZqUgTGicGoYN2ceWDhRdEU1HQJTPYCERjvHzf6s", "proofs": [ "gYLVpVfK6VCvcRPutaMjgrmsqSZhubKjgAQ9zimbkdfffpvFbWasBKs35pyNgbpn426TNpkzK3biAvoDtnxDgpu" ], "script": "base64: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", "height": 3083795, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GcriCeJjbdMA2V8RpyuM4k2em6o3m7vXxrrGEttkZTpW Next: CeyuJRd7RHZz9HN3rDAU1ohNC7omaFT1fm3UinKFvj7y Diff:
OldNewDifferences
99 }
1010
1111
12+func getI (key) = getInteger(this, key)
13+
14+
15+func writeInt (key,value) = if ((0 > value))
16+ then throw(((("writing negative value " + toString(value)) + " for key ") + key))
17+ else IntegerEntry(key, value)
18+
19+
1220 let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
1321
1422 let assetStringUsdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
1624 let reserveUsdc = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
1725
1826 let assetId = fromBase58String(assetStringUsdc)
27+
28+@Callable(i)
29+func initbal (bal) = $Tuple2([writeInt("MyBal", bal)], unit)
30+
31+
1932
2033 @Callable(i)
2134 func byebye (lowm) = {
3447 }
3548
3649
50+
51+@Callable(i)
52+func goodbye (lowm) = {
53+ let available = assetBalance(reserveUsdc, assetId)
54+ if ((lowm > available))
55+ then throw("1")
56+ else {
57+ let uc = valueOrElse(getI("MyBal"), 0)
58+ let v = if ((available > uc))
59+ then uc
60+ else available
61+ if ((lowm > v))
62+ then throw("2")
63+ else $Tuple2([writeInt("MyBal", (uc - v))], asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
64+ }
65+ }
66+
67+
68+
69+@Callable(i)
70+func bb1 (lowm) = {
71+ let available = assetBalance(reserveUsdc, assetId)
72+ let uc = asInt(invoke(reserveUsdc, "userDepositUSD", [toString(this)], nil))
73+ let v = if ((available > uc))
74+ then uc
75+ else available
76+ if ((1 > v))
77+ then throw("1")
78+ else $Tuple2(nil, asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
79+ }
80+
81+
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("expected: Int")
99 }
1010
1111
12+func getI (key) = getInteger(this, key)
13+
14+
15+func writeInt (key,value) = if ((0 > value))
16+ then throw(((("writing negative value " + toString(value)) + " for key ") + key))
17+ else IntegerEntry(key, value)
18+
19+
1220 let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
1321
1422 let assetStringUsdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
1523
1624 let reserveUsdc = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
1725
1826 let assetId = fromBase58String(assetStringUsdc)
27+
28+@Callable(i)
29+func initbal (bal) = $Tuple2([writeInt("MyBal", bal)], unit)
30+
31+
1932
2033 @Callable(i)
2134 func byebye (lowm) = {
2235 let available = assetBalance(reserveUsdc, assetId)
2336 if ((lowm > available))
2437 then throw("1")
2538 else {
2639 let uc = asInt(invoke(reserveUsdc, "userDepositUSD", [toString(this)], nil))
2740 let v = if ((available > uc))
2841 then uc
2942 else available
3043 if ((lowm > v))
3144 then throw("2")
3245 else $Tuple2(nil, asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
3346 }
3447 }
3548
3649
50+
51+@Callable(i)
52+func goodbye (lowm) = {
53+ let available = assetBalance(reserveUsdc, assetId)
54+ if ((lowm > available))
55+ then throw("1")
56+ else {
57+ let uc = valueOrElse(getI("MyBal"), 0)
58+ let v = if ((available > uc))
59+ then uc
60+ else available
61+ if ((lowm > v))
62+ then throw("2")
63+ else $Tuple2([writeInt("MyBal", (uc - v))], asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
64+ }
65+ }
66+
67+
68+
69+@Callable(i)
70+func bb1 (lowm) = {
71+ let available = assetBalance(reserveUsdc, assetId)
72+ let uc = asInt(invoke(reserveUsdc, "userDepositUSD", [toString(this)], nil))
73+ let v = if ((available > uc))
74+ then uc
75+ else available
76+ if ((1 > v))
77+ then throw("1")
78+ else $Tuple2(nil, asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
79+ }
80+
81+

github/deemru/w8io/3ef1775 
24.46 ms