tx · 5i7tbaGqDdJ4yUbxG2Q24WJyWDEusqqABVp9MwJdjc7g

3PEKQpaZWzprBgM7964JoLovajRrTyikn2H:  -0.01000000 Waves

2022.06.06 20:23 [3150377] smart account 3PEKQpaZWzprBgM7964JoLovajRrTyikn2H > SELF 0.00000000 Waves

{ "type": 13, "id": "5i7tbaGqDdJ4yUbxG2Q24WJyWDEusqqABVp9MwJdjc7g", "fee": 1000000, "feeAssetId": null, "timestamp": 1654536237814, "version": 2, "chainId": 87, "sender": "3PEKQpaZWzprBgM7964JoLovajRrTyikn2H", "senderPublicKey": "6NyEeU4JHE6LDFt1xLZJifpKnnMacXM2hLYGpibdFbrA", "proofs": [ "sLmJW9DYhEMCu4GAgD56EJ4BV4dnZaR92a8SxLNcygZjYg43egjixAjLRTtXpYKdzssHgWDyvFSRPqFepDiF24v" ], "script": "base64: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", "height": 3150377, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 9z9ScmSEJZCDJGPXuyEb9mvoAdjdfChU43jeH4mrgnfU Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let BUsd = base58'8DLiYZjo3UUaRBTHU7Ayoqg4ihwb6YH1AfXrrhdjQ7K1'
5+
6+let dAppFees = base58'3PG1NyiC2rdgX46jb8c5zPGuEAzWXhr4L2W'
7+
8+@Callable(i)
9+func DepositFunds () = {
10+ let UserLiquidity = (toBase58String(i.caller.bytes) + "_Liq")
11+ let LastUnstakeBlock = (toBase58String(i.caller.bytes) + "_LastUnstake")
12+ let UserBalance = match getInteger(this, UserLiquidity) {
13+ case a: Int =>
14+ a
15+ case _ =>
16+ 0
17+ }
18+ let pmt = if ((size(i.payments) == 1))
19+ then i.payments[0]
20+ else throw("Attached payment is required")
21+ if ((UserBalance != 0))
22+ then throw("You already have funds supplied, cannot supply more than once")
23+ else if (if (((50 * 100000000) > pmt.amount))
24+ then true
25+ else (pmt.assetId != BUsd))
26+ then throw("Can only deposit BUsd tokens, and amount should be at least 50 BUsd")
27+ else {
28+ let NewBalance = (UserBalance + pmt.amount)
29+[IntegerEntry((toBase58String(i.caller.bytes) + "_Liq"), NewBalance), IntegerEntry((toBase58String(i.caller.bytes) + "_Deposit"), NewBalance), IntegerEntry((toBase58String(i.caller.bytes) + "_LastUnstake"), height)]
30+ }
31+ }
32+
33+
34+
35+@Callable(i)
36+func WithdrawLiq () = {
37+ let UserLiquidity = (toBase58String(i.caller.bytes) + "_Liq")
38+ let LastUnstakeBlock = (toBase58String(i.caller.bytes) + "_LastUnstake")
39+ let trxUnstakeNum = (toBase58String(i.caller.bytes) + "_trxUnstake")
40+ let User1stDeposit = (toBase58String(i.caller.bytes) + "_Deposit")
41+ let dAppFrees = Address(dAppFees)
42+ let FeePaid = 1
43+ let User1stDepositValue = match getInteger(this, User1stDeposit) {
44+ case a: Int =>
45+ a
46+ case _ =>
47+ 0
48+ }
49+ let amount = match getInteger(this, UserLiquidity) {
50+ case a: Int =>
51+ a
52+ case _ =>
53+ 0
54+ }
55+ let trxUnstakeValue = match getInteger(this, trxUnstakeNum) {
56+ case a: Int =>
57+ a
58+ case _ =>
59+ 0
60+ }
61+ let LastUnstakeBlockValue = match getInteger(this, LastUnstakeBlock) {
62+ case a: Int =>
63+ a
64+ case _ =>
65+ 0
66+ }
67+ if ((amount == 0))
68+ then throw(("You do not have enough funds to withdraw, your available funds are: " + toString((amount / 100000000))))
69+ else {
70+ let WaitTime = if ((trxUnstakeValue == 0))
71+ then (1 * 10)
72+ else (1 * 1440)
73+ if (((LastUnstakeBlockValue + WaitTime) > height))
74+ then throw((("Second withdraw cannot be done before " + toString(((height - LastUnstakeBlockValue) - WaitTime))) + " min"))
75+ else {
76+ let PaidtrxValue = if ((trxUnstakeValue == 3))
77+ then 0
78+ else (trxUnstakeValue + 1)
79+ let WithdrawAmount = ((User1stDepositValue / 4) - (FeePaid * 100000000))
80+ let UserAccount = if ((trxUnstakeValue == 3))
81+ then 0
82+ else (User1stDepositValue - (PaidtrxValue * (WithdrawAmount + (FeePaid * 100000000))))
83+ $Tuple2([IntegerEntry((toBase58String(i.caller.bytes) + "_trxUnstake"), PaidtrxValue), IntegerEntry((toBase58String(i.caller.bytes) + "_Liq"), UserAccount), IntegerEntry((toBase58String(i.caller.bytes) + "_LastUnstake"), height), ScriptTransfer(i.caller, WithdrawAmount, BUsd), ScriptTransfer(dAppFrees, (FeePaid * 100000000), BUsd)], BUsd)
84+ }
85+ }
86+ }
87+
88+

github/deemru/w8io/6500d08 
25.84 ms