tx · C3K1QmU4eNmqdcnYn3YJQwMwN3EqxtWv3ta9QwL1HJcF

3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc:  -0.01000000 Waves

2022.04.24 05:34 [3087365] smart account 3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc > SELF 0.00000000 Waves

{ "type": 13, "id": "C3K1QmU4eNmqdcnYn3YJQwMwN3EqxtWv3ta9QwL1HJcF", "fee": 1000000, "feeAssetId": null, "timestamp": 1650767675208, "version": 2, "chainId": 87, "sender": "3P3jbpfBQ95gwKga8Nk4GbCB21R3Z66gHJc", "senderPublicKey": "BtEpTJKCNdpyvw4hDiXTx6VFSKKkFp5phwbfxtek1KRm", "proofs": [ "2Bapg71chw6iwZuEFmymUpccE1Nn9dAv5R97bmCvEjyupt4Zx4Yu6g1nFbJZWsA5u3shXMhYmdwiPQwVeb2ALvG1" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIBAQAAAAkBAAAABWFzSW50AAAAAQAAAAV2YWx1ZQQAAAAHJG1hdGNoMAUAAAAFdmFsdWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADaW50BQAAAAckbWF0Y2gwBQAAAANpbnQJAAACAAAAAQIAAAANZXhwZWN0ZWQ6IEludAEAAAARYXNVc2VyQmFsYW5jZURhdGEAAAABAAAABXZhbHVlBAAAAAckbWF0Y2gwBQAAAAV2YWx1ZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAiKEludCwgSW50LCBJbnQsIEludCwgSW50LCBCb29sZWFuKQQAAAABeAUAAAAHJG1hdGNoMAUAAAABeAQAAAABdAUAAAAHJG1hdGNoMAkAAAIAAAABAgAAACJ3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50NSZCb29sZWFuAAAAAARtYWluCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEFadjl0Z0sxUFg3ZEtSN2I0a2NocTVxZHBVUzNHNXNZVAAAAAAPYXNzZXRTdHJpbmdVc2RjAgAAACw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgAAAAALcmVzZXJ2ZVVzZGMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQR0NrckhCeEZNaTd0ejF4cW54Z0JwZU52bjVFNE00ZzhTAAAAAA9hc3NldFN0cmluZ1VzZHQCAAAALDM0TjlZY0VFVExXbjkzcVlRNjRFc1AxeDg5dFNydUpVNDRSckVNU1hYRVBKAAAAAAtyZXNlcnZlVXNkdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BFaUQxekpXVE1aTldTQ3l6aHZCdzlweHhBV2VFd2FnaFIAAAAADGFzc2V0U3RyaW5ncwkABEwAAAACAgAAACw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgkABEwAAAACAgAAACwzNE45WWNFRVRMV245M3FZUTY0RXNQMXg4OXRTcnVKVTQ0UnJFTVNYWEVQSgUAAAADbmlsAAAAAAhyZXNlcnZlcwkABEwAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEdDa3JIQnhGTWk3dHoxeHFueGdCcGVOdm41RTRNNGc4UwkABEwAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEVpRDF6SldUTVpOV1NDeXpodkJ3OXB4eEFXZUV3YWdoUgUAAAADbmlsAAAAAQAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAGY29pbmlkAAAACm1pbl9hbW91bnQEAAAADWFzc2V0SWRTdHJpbmcJAAGRAAAAAgUAAAAMYXNzZXRTdHJpbmdzBQAAAAZjb2luaWQEAAAAB3Jlc2VydmUJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQTmlrTTZ5cDROcWNTVThndXhRdG1SNW9ucjJENGU4eVRKBAAAAAlhdmFpbGFibGUJAAPwAAAAAgUAAAAHcmVzZXJ2ZQkAAZsAAAABBQAAAA1hc3NldElkU3RyaW5nBAAAAA91c2VyYmFsYW5jZWRhdGEJAQAAABFhc1VzZXJCYWxhbmNlRGF0YQAAAAEJAAP8AAAABAUAAAAHcmVzZXJ2ZQIAAAALdXNlckJhbGFuY2UJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzBQAAAANuaWwFAAAAA25pbAQAAAAKZGVwb3NpdFVzZAgFAAAAD3VzZXJiYWxhbmNlZGF0YQAAAAJfMwMJAABmAAAAAgUAAAAKbWluX2Ftb3VudAUAAAAJYXZhaWxhYmxlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFdGhpczoJAAQlAAAAAQUAAAAEdGhpcwIAAAAIYXNzZXRJZDoFAAAADWFzc2V0SWRTdHJpbmcCAAAACXJlc2VydmU6IAkABCUAAAABBQAAAAdyZXNlcnZlAgAAAA0sdXNlckFkZHJlc3M6CQAEJQAAAAEFAAAABHRoaXMCAAAADSwgZGVwb3NpdFVzZDoJAAGkAAAAAQUAAAAKZGVwb3NpdFVzZAIAAAASY3VycmVudEF2YWlsYWJsZTogCQABpAAAAAEFAAAACWF2YWlsYWJsZQIAAAAOLCBtaW5fYW1vdW50OiAJAAGkAAAAAQUAAAAKbWluX2Ftb3VudAQAAAABdgMJAABmAAAAAgUAAAAJYXZhaWxhYmxlBQAAAApkZXBvc2l0VXNkBQAAAApkZXBvc2l0VXNkBQAAAAlhdmFpbGFibGUDCQAAZgAAAAIFAAAACm1pbl9hbW91bnQFAAAAAXYJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAMbWluIGFtb3VudDogCQABpAAAAAEFAAAACm1pbl9hbW91bnQCAAAABCwgdjoJAAGkAAAAAQUAAAABdgQAAAAGYW1vdW50CQEAAAAFYXNJbnQAAAABCQAD/AAAAAQFAAAABG1haW4CAAAACHdpdGhkcmF3CQAETAAAAAIFAAAADWFzc2V0SWRTdHJpbmcJAARMAAAAAgUAAAABdgUAAAADbmlsBQAAAANuaWwJAAUUAAAAAgUAAAADbmlsBQAAAAZhbW91bnQAAAAAgCj1xg==", "height": 3087365, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DCyRDaeN2ZXRARWLHLX19AMJ2FsE5DNRBNs9xFqG613k Next: 6iyzQDqrx4Yqoq9Jp7s5bRVvsKtNHMYAQ7YLhHJMQ2fy 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
7+ case _ =>
8+ throw("expected: Int")
9+}
410
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+}
18+
19+
20+let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
21+
22+let assetStringUsdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
23+
24+let reserveUsdc = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
25+
26+let assetStringUsdt = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"
27+
28+let reserveUsdt = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR")
29+
30+let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"]
31+
32+let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR")]
533
634 @Callable(i)
735 func withdraw (coinid,min_amount) = {
8- let reserve = base58'3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce'
9- let assetId = base58'54boH45WXwH9gkxFyF3nx4rQLc81qrw8HxrLFTWVvGwv'
10- let available = assetBalance(Address(reserve), assetId)
11- throw(toString(available))
36+ let assetIdString = assetStrings[coinid]
37+ let reserve = addressFromStringValue("3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ")
38+ let available = assetBalance(reserve, toBytes(assetIdString))
39+ let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil))
40+ let depositUsd = userbalancedata._3
41+ if ((min_amount > available))
42+ then throw(((((((((((((("this:" + toString(this)) + "assetId:") + assetIdString) + "reserve: ") + toString(reserve)) + ",userAddress:") + toString(this)) + ", depositUsd:") + toString(depositUsd)) + "currentAvailable: ") + toString(available)) + ", min_amount: ") + toString(min_amount)))
43+ else {
44+ let v = if ((available > depositUsd))
45+ then depositUsd
46+ else available
47+ if ((min_amount > v))
48+ then throw(((("min amount: " + toString(min_amount)) + ", v:") + toString(v)))
49+ else {
50+ let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil))
51+ $Tuple2(nil, amount)
52+ }
53+ }
1254 }
1355
1456

github/deemru/w8io/3ef1775 
32.74 ms