tx · F8PMCQCXbycWrCXmVcwZ8SFFfBanUQC8JvwXg5XCN4aG

3MsRQhp2cbXJQxHETzdZQdj2QfP4b3Mp6UL:  -0.01000000 Waves

2022.04.24 13:50 [2022490] smart account 3MsRQhp2cbXJQxHETzdZQdj2QfP4b3Mp6UL > SELF 0.00000000 Waves

{ "type": 13, "id": "F8PMCQCXbycWrCXmVcwZ8SFFfBanUQC8JvwXg5XCN4aG", "fee": 1000000, "feeAssetId": null, "timestamp": 1650797438246, "version": 2, "chainId": 84, "sender": "3MsRQhp2cbXJQxHETzdZQdj2QfP4b3Mp6UL", "senderPublicKey": "FuM9F3sAdx6ZQfJfJMCdjC9w4wzTDx6F1KgWCbAM1KRy", "proofs": [ "UipA2hQjXxnbaHYb9hoouGEFFKHYcH3gozZSdjasxQN5FDWv5Z3R2PVxC3JaNWboryrXfe4jvz5RtYmACzuhXku" ], "script": "base64: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", "height": 2022490, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5PbM7v1xj6HCY2UmPNGd2RUVYyVN9Azhwp5qYkduappV Next: 2iWvKK2fE6JTabQkUfCnnSz3mQEXwZZvKiV6fbsmGBHE Diff:
OldNewDifferences
1717 else IntegerEntry(key, value)
1818
1919
20-func changeBy (key,value) = writeInt(key, (valueOrElse(getI(key), 0) + value))
21-
22-
2320 let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
2421
2522 let assetStringUsdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
2825
2926 let assetId = fromBase58String(assetStringUsdc)
3027
31-let balkey = "MyBal"
28+@Callable(i)
29+func initbal (bal,key) = $Tuple2([writeInt("MyBal", bal), writeInt(key, 0)], unit)
30+
31+
3232
3333 @Callable(i)
3434 func byebye (lowm) = {
4040 let v = if ((available > uc))
4141 then uc
4242 else available
43- if ((lowm > v))
43+ if ((v == 0))
4444 then throw("2")
4545 else $Tuple2(nil, asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
4646 }
4949
5050
5151 @Callable(i)
52-func initbal (bal) = $Tuple2([writeInt("MyBal", bal)], unit)
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 ((v == 0))
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 kissmegoodbye (limitd,key) = {
71+ let available = assetBalance(reserveUsdc, assetId)
72+ if ((limitd > available))
73+ then throw("1")
74+ else {
75+ let flag = valueOrElse(getI(key), 0)
76+ if ((flag == 1))
77+ then throw("2")
78+ else $Tuple2([writeInt(key, 1)], asInt(invoke(main, "withdraw", [assetStringUsdc, limitd], nil)))
79+ }
80+ }
81+
82+
83+
84+@Callable(i)
85+func bb1 (lowm) = {
86+ let available = assetBalance(reserveUsdc, assetId)
87+ let uc = asInt(invoke(reserveUsdc, "userDepositUSD", [toString(this)], nil))
88+ let v = if ((available > uc))
89+ then uc
90+ else available
91+ if ((1 > v))
92+ then throw("1")
93+ else $Tuple2(nil, asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
94+ }
5395
5496
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
1212 func getI (key) = getInteger(this, key)
1313
1414
1515 func writeInt (key,value) = if ((0 > value))
1616 then throw(((("writing negative value " + toString(value)) + " for key ") + key))
1717 else IntegerEntry(key, value)
1818
1919
20-func changeBy (key,value) = writeInt(key, (valueOrElse(getI(key), 0) + value))
21-
22-
2320 let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
2421
2522 let assetStringUsdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
2623
2724 let reserveUsdc = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
2825
2926 let assetId = fromBase58String(assetStringUsdc)
3027
31-let balkey = "MyBal"
28+@Callable(i)
29+func initbal (bal,key) = $Tuple2([writeInt("MyBal", bal), writeInt(key, 0)], unit)
30+
31+
3232
3333 @Callable(i)
3434 func byebye (lowm) = {
3535 let available = assetBalance(reserveUsdc, assetId)
3636 if ((lowm > available))
3737 then throw("1")
3838 else {
3939 let uc = asInt(invoke(reserveUsdc, "userDepositUSD", [toString(this)], nil))
4040 let v = if ((available > uc))
4141 then uc
4242 else available
43- if ((lowm > v))
43+ if ((v == 0))
4444 then throw("2")
4545 else $Tuple2(nil, asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
4646 }
4747 }
4848
4949
5050
5151 @Callable(i)
52-func initbal (bal) = $Tuple2([writeInt("MyBal", bal)], unit)
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 ((v == 0))
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 kissmegoodbye (limitd,key) = {
71+ let available = assetBalance(reserveUsdc, assetId)
72+ if ((limitd > available))
73+ then throw("1")
74+ else {
75+ let flag = valueOrElse(getI(key), 0)
76+ if ((flag == 1))
77+ then throw("2")
78+ else $Tuple2([writeInt(key, 1)], asInt(invoke(main, "withdraw", [assetStringUsdc, limitd], nil)))
79+ }
80+ }
81+
82+
83+
84+@Callable(i)
85+func bb1 (lowm) = {
86+ let available = assetBalance(reserveUsdc, assetId)
87+ let uc = asInt(invoke(reserveUsdc, "userDepositUSD", [toString(this)], nil))
88+ let v = if ((available > uc))
89+ then uc
90+ else available
91+ if ((1 > v))
92+ then throw("1")
93+ else $Tuple2(nil, asInt(invoke(main, "withdraw", [assetStringUsdc, v], nil)))
94+ }
5395
5496

github/deemru/w8io/026f985 
34.62 ms