tx · 3nZkP1tv4SHv5DkdtSTeR8C6VTsmhy9W471qUTXu7e8w 3PCs3SYkQwSqXwv5FN42b8DXM6WEA8JNDkx: -0.01000000 Waves 2022.04.21 18:40 [3083818] smart account 3PCs3SYkQwSqXwv5FN42b8DXM6WEA8JNDkx > SELF 0.00000000 Waves
{ "type": 13, "id": "3nZkP1tv4SHv5DkdtSTeR8C6VTsmhy9W471qUTXu7e8w", "fee": 1000000, "feeAssetId": null, "timestamp": 1650555675015, "version": 2, "chainId": 87, "sender": "3PCs3SYkQwSqXwv5FN42b8DXM6WEA8JNDkx", "senderPublicKey": "4613XFozFm1Nc8jhYYFisKKAzjau7tRhD4TyVKaE6srm", "proofs": [ "2g4iSG9Yw1cjxCHvmFNYJ9pFQb8ChX6ByXPXYpjJCXE1nRS7CoijMu4srGhRCQ391FShewd81wmRdkTJmCmmG91H" ], "script": "base64:AAIFAAAAAAAAABEIAhIDCgEBEgMKAQESAwoBAQAAAAkBAAAAEWFzVXNlckJhbGFuY2VEYXRhAAAAAQAAAAFhBAAAAAckbWF0Y2gwBQAAAAFhAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAACIoSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEJvb2xlYW4pBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAIndyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQ1JkJvb2xlYW4AAAAABG1haW4JAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQQVp2OXRnSzFQWDdkS1I3YjRrY2hxNXFkcFVTM0c1c1lUAAAAAA5hc3NldFN0cmluZ0JUQwIAAAAsOExRVzhmN1A1ZDVQWk03R3RaRUJnYXFSUEdTelMzRGZQdWlYclVSSjRBSlMAAAAACnJlc2VydmVCVEMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQQTdRTUZ5SE10SGVQNjZTVVFud0Nnd0tRSEtwQ3lYV3dkAAAAAA9hc3NldFN0cmluZ1VTRFQCAAAALDM0TjlZY0VFVExXbjkzcVlRNjRFc1AxeDg5dFNydUpVNDRSckVNU1hYRVBKAAAAAAtyZXNlcnZlVVNEVAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BFaUQxekpXVE1aTldTQ3l6aHZCdzlweHhBV2VFd2FnaFIAAAAAD2Fzc2V0U3RyaW5nVVNEQwIAAAAsNlh0SGpwWGJzOVJSSlAyU3I5R1V5VnF6QUNjYnk5VGtUaEhYbmpWQzVDREoAAAAAC3Jlc2VydmVVU0RDCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEdDa3JIQnhGTWk3dHoxeHFueGdCcGVOdm41RTRNNGc4UwEAAAAId2l0aGRyYXcAAAADAAAAC2Fzc2V0U3RyaW5nAAAAB3Jlc2VydmUAAAADbWluBAAAAAdhc3NldElkCQACWQAAAAEFAAAAC2Fzc2V0U3RyaW5nBAAAAAlhdmFpbGFibGUJAAPwAAAAAgUAAAAHcmVzZXJ2ZQUAAAAHYXNzZXRJZAMJAABnAAAAAgUAAAAJYXZhaWxhYmxlBQAAAANtaW4EAAAAD3VzZXJiYWxhbmNlZGF0YQkBAAAAEWFzVXNlckJhbGFuY2VEYXRhAAAAAQkAA/wAAAAEBQAAAAdyZXNlcnZlAgAAAAt1c2VyQmFsYW5jZQkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMFAAAAA25pbAUAAAADbmlsBAAAAAltYXhBbW91bnQIBQAAAA91c2VyYmFsYW5jZWRhdGEAAAACXzIEAAAAAXYDCQAAZgAAAAIFAAAACWF2YWlsYWJsZQUAAAAJbWF4QW1vdW50AP//////////BQAAAAlhdmFpbGFibGUEAAAAAXIKAAAAAAFACQAD/AAAAAQFAAAABG1haW4CAAAACHdpdGhkcmF3CQAETAAAAAIFAAAAC2Fzc2V0U3RyaW5nCQAETAAAAAIFAAAAAXYFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAFAAgAAAANJbnQFAAAAAUAJAAACAAAAAQIAAAAYQ291bGRuJ3QgY2FzdCBBbnkgdG8gSW50AwkAAAAAAAACBQAAAAFyBQAAAAFyBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBQAAAANuaWwAAAADAAAAAWkBAAAAC3dpdGhkcmF3QlRDAAAAAQAAAANtaW4DCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAFYWRtaW4JAQAAAAh3aXRoZHJhdwAAAAMFAAAADmFzc2V0U3RyaW5nQlRDBQAAAApyZXNlcnZlQlRDBQAAAANtaW4AAAABaQEAAAAMd2l0aGRyYXdVU0RUAAAAAQAAAANtaW4DCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAFYWRtaW4JAQAAAAh3aXRoZHJhdwAAAAMFAAAAD2Fzc2V0U3RyaW5nVVNEVAUAAAALcmVzZXJ2ZVVTRFQFAAAAA21pbgAAAAFpAQAAAAx3aXRoZHJhd1VTREMAAAABAAAAA21pbgMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAAAVhZG1pbgkBAAAACHdpdGhkcmF3AAAAAwUAAAAPYXNzZXRTdHJpbmdVU0RDBQAAAAtyZXNlcnZlVVNEQwUAAAADbWluAAAAANoap/Q=", "height": 3083818, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: A8MKByRmdp73rk3whbFdiWaaj6dFXo1FpK99KDdESfwT Next: ALAiX1Ruwm5FmToaF3fbj1rqhCcdycBYn2YLfBaqKtqB Diff:
Old | New | Differences | |
---|---|---|---|
11 | 11 | ||
12 | 12 | let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") | |
13 | 13 | ||
14 | - | let | |
14 | + | let assetStringBTC = "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" | |
15 | 15 | ||
16 | - | let | |
16 | + | let reserveBTC = addressFromStringValue("3PA7QMFyHMtHeP66SUQnwCgwKQHKpCyXWwd") | |
17 | 17 | ||
18 | 18 | let assetStringUSDT = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ" | |
19 | 19 | ||
48 | 48 | ||
49 | 49 | ||
50 | 50 | @Callable(i) | |
51 | - | func | |
51 | + | func withdrawBTC (min) = if ((i.caller != this)) | |
52 | 52 | then throw("admin") | |
53 | - | else withdraw( | |
53 | + | else withdraw(assetStringBTC, reserveBTC, min) | |
54 | 54 | ||
55 | 55 | ||
56 | 56 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func asUserBalanceData (a) = match a { | |
5 | 5 | case a: (Int, Int, Int, Int, Int, Boolean) => | |
6 | 6 | a | |
7 | 7 | case _ => | |
8 | 8 | throw("wrong type, expected: Int5&Boolean") | |
9 | 9 | } | |
10 | 10 | ||
11 | 11 | ||
12 | 12 | let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") | |
13 | 13 | ||
14 | - | let | |
14 | + | let assetStringBTC = "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" | |
15 | 15 | ||
16 | - | let | |
16 | + | let reserveBTC = addressFromStringValue("3PA7QMFyHMtHeP66SUQnwCgwKQHKpCyXWwd") | |
17 | 17 | ||
18 | 18 | let assetStringUSDT = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ" | |
19 | 19 | ||
20 | 20 | let reserveUSDT = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR") | |
21 | 21 | ||
22 | 22 | let assetStringUSDC = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" | |
23 | 23 | ||
24 | 24 | let reserveUSDC = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") | |
25 | 25 | ||
26 | 26 | func withdraw (assetString,reserve,min) = { | |
27 | 27 | let assetId = fromBase58String(assetString) | |
28 | 28 | let available = assetBalance(reserve, assetId) | |
29 | 29 | if ((available >= min)) | |
30 | 30 | then { | |
31 | 31 | let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil)) | |
32 | 32 | let maxAmount = userbalancedata._2 | |
33 | 33 | let v = if ((available > maxAmount)) | |
34 | 34 | then -1 | |
35 | 35 | else available | |
36 | 36 | let r = { | |
37 | 37 | let @ = invoke(main, "withdraw", [assetString, v], nil) | |
38 | 38 | if ($isInstanceOf(@, "Int")) | |
39 | 39 | then @ | |
40 | 40 | else throw("Couldn't cast Any to Int") | |
41 | 41 | } | |
42 | 42 | if ((r == r)) | |
43 | 43 | then nil | |
44 | 44 | else throw("Strict value is not equal to itself.") | |
45 | 45 | } | |
46 | 46 | else nil | |
47 | 47 | } | |
48 | 48 | ||
49 | 49 | ||
50 | 50 | @Callable(i) | |
51 | - | func | |
51 | + | func withdrawBTC (min) = if ((i.caller != this)) | |
52 | 52 | then throw("admin") | |
53 | - | else withdraw( | |
53 | + | else withdraw(assetStringBTC, reserveBTC, min) | |
54 | 54 | ||
55 | 55 | ||
56 | 56 | ||
57 | 57 | @Callable(i) | |
58 | 58 | func withdrawUSDT (min) = if ((i.caller != this)) | |
59 | 59 | then throw("admin") | |
60 | 60 | else withdraw(assetStringUSDT, reserveUSDT, min) | |
61 | 61 | ||
62 | 62 | ||
63 | 63 | ||
64 | 64 | @Callable(i) | |
65 | 65 | func withdrawUSDC (min) = if ((i.caller != this)) | |
66 | 66 | then throw("admin") | |
67 | 67 | else withdraw(assetStringUSDC, reserveUSDC, min) | |
68 | 68 | ||
69 | 69 |
github/deemru/w8io/3ef1775 34.58 ms ◑![]()