tx · DVaRhMDpyBabQs3dgM7uuDBPb6QyQ3gNreiRq9su1xT1

3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc:  -0.01000000 Waves

2022.04.26 12:19 [3090670] smart account 3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc > SELF 0.00000000 Waves

{ "type": 13, "id": "DVaRhMDpyBabQs3dgM7uuDBPb6QyQ3gNreiRq9su1xT1", "fee": 1000000, "feeAssetId": null, "timestamp": 1650964790896, "version": 2, "chainId": 87, "sender": "3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc", "senderPublicKey": "BtEpTJKCNdpyvw4hDiXTx6VFSKKkFp5phwbfxtek1KRm", "proofs": [ "672s2Yn5kPqvGCKQ7AP48RzipKxD2RrR4jNDfunoZ62NjeVxb29rF9ave3dfGQhhcdEwju3BCkXM5yTUL2KoDxRR" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIBAQAAAAEBAAAADWFzVXNlckRlcG9zaXQAAAABAAAABXZhbHVlBAAAAAckbWF0Y2gwBQAAAAV2YWx1ZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFKEludCkEAAAAAXgFAAAAByRtYXRjaDAFAAAAAXgJAAACAAAAAQIAAAAGZXJyb3JzAAAAAQAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAGY29pbmlkAAAACm1pbl9hbW91bnQEAAAAB3Jlc2VydmUJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQR0NrckhCeEZNaTd0ejF4cW54Z0JwZU52bjVFNE00ZzhTBAAAAAdkZXBvc2l0CQEAAAANYXNVc2VyRGVwb3NpdAAAAAEJAAP8AAAABAUAAAAHcmVzZXJ2ZQIAAAAOdXNlckRlcG9zaXRVU0QJAARMAAAAAgIAAAAsMzROOVljRUVUTFduOTNxWVE2NEVzUDF4ODl0U3J1SlU0NFJyRU1TWFhFUEoFAAAAA25pbAUAAAADbmlsCQAAAgAAAAEJAAGkAAAAAQgFAAAAB2RlcG9zaXQAAAACXzIAAAAAzyrA1w==", "height": 3090670, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HQnwJTfioXD85ZeZNc8YzLTTASbBaeBvXqqDJc4cytCU Next: 5Ft8ogpgqMRNb3GZjMw2QNkKbt8R3mhprSmErMMrU2hh 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
4+func asUserDeposit (value) = match value {
5+ case x: (Int) =>
6+ x
77 case _ =>
8- throw("expected: Int")
8+ throw("errors")
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-}
18-
19-
20-let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
21-
22-let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"]
23-
24-let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR")]
25-
2612 @Callable(i)
2713 func withdraw (coinid,min_amount) = {
28- let assetIdString = assetStrings[coinid]
29- let assetId = fromBase58String(assetIdString)
30- let reserve = reserves[coinid]
31- let available = assetBalance(reserve, assetId)
32- if ((min_amount > available))
33- then throw(((((((((((("this:" + toString(this)) + "assetId:") + assetIdString) + "reserve: ") + toString(reserve)) + ",userAddress:") + toString(this)) + ", currentAvailable: ") + toString(available)) + ", min_amount: ") + toString(min_amount)))
34- else {
35- let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil))
36- let depositUsd = userbalancedata._3
37- let midValue = if ((available > depositUsd))
38- then depositUsd
39- else available
40- let v = if ((midValue > 1000))
41- then 1000
42- else midValue
43- if ((min_amount > v))
44- then throw(toString(v))
45- else {
46- let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil))
47- $Tuple2(nil, amount)
48- }
49- }
14+ let reserve = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
15+ let deposit = asUserDeposit(invoke(reserve, "userDepositUSD", ["34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"], nil))
16+ throw(toString(deposit._2))
5017 }
5118
5219

github/deemru/w8io/6500d08 
28.18 ms