tx · BsVUvuvHTW2vrLHk6KB6Q2f9MVV1NUy1jmngpCoMRRL8 3PBEvXY6erPKwEijJU37UP4wKYECnr46PAU: -0.01000000 Waves 2022.04.14 14:36 [3073489] smart account 3PBEvXY6erPKwEijJU37UP4wKYECnr46PAU > SELF 0.00000000 Waves
{ "type": 13, "id": "BsVUvuvHTW2vrLHk6KB6Q2f9MVV1NUy1jmngpCoMRRL8", "fee": 1000000, "feeAssetId": null, "timestamp": 1649936255243, "version": 1, "sender": "3PBEvXY6erPKwEijJU37UP4wKYECnr46PAU", "senderPublicKey": "EKrRHxGJ18L5hgwDfMDJQuDNEajBwvAsoyDCoLJpefDc", "proofs": [ "4dWDT2hMhVSFHtNUcbxihRYJfdtpb8ud2J7cCUWLxTTkQ2xp5Uvnbk3qcreYqpPHEDPyRDmSzdMkrkoiBYka1mf9" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAABQEAAAADcDIyAAAAAQAAAAF2BAAAAAckbWF0Y2gwBQAAAAF2AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAACIoSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEJvb2xlYW4pBAAAAAF4BQAAAAckbWF0Y2gwCAUAAAABeAAAAAJfMgQAAAABdAUAAAAHJG1hdGNoMAkAAAIAAAABAgAAAANwMjIAAAAAAWEBAAAAIFIz2eGXiCbl4h/C/eqINLiHdqOMsYPvyGAcfgoSVCYlAAAAAAFkCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEdDa3JIQnhGTWk3dHoxeHFueGdCcGVOdm41RTRNNGc4UwAAAAABbQkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BBWnY5dGdLMVBYN2RLUjdiNGtjaHE1cWRwVVMzRzVzWVQBAAAAAW4AAAAABAAAAAFiCQAD8AAAAAIFAAAAAWQFAAAAAWEDCQAAZgAAAAIAAAAAAAAAAAoFAAAAAWIAAAAAAAAAAAAEAAAAAXoJAQAAAANwMjIAAAABCQAD/AAAAAQFAAAAAWQCAAAAC3VzZXJCYWxhbmNlCQAETAAAAAIJAAQlAAAAAQUAAAAEdGhpcwUAAAADbmlsBQAAAANuaWwEAAAAAWkJAAP8AAAABAUAAAABbQIAAAAId2l0aGRyYXcJAARMAAAAAgkAAlgAAAABBQAAAAFhCQAETAAAAAIDCQAAZgAAAAIFAAAAAWIFAAAAAXoA//////////8FAAAAAWIFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAFpBQAAAAFpAAAAAAAAAAABCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAEAAAABaQEAAAABZwAAAAAEAAAABWFkbWluCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUDVNR21jc0w1eFV2TVZNM3NTaWhSemE4OUNZdGZKck1jUAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAFYWRtaW4JAAACAAAAAQIAAAAFYWRtaW4EAAAAAWIJAAPwAAAAAgUAAAABZAUAAAABYQMJAAAAAAAAAgUAAAABYgUAAAABYgMJAABmAAAAAgAAAAAABfXhAAUAAAABYgkAAAIAAAABAgAAAA90b28gbG93IHJlc2VydmUEAAAAAXoJAQAAAANwMjIAAAABCQAD/AAAAAQFAAAAAWQCAAAAC3VzZXJCYWxhbmNlCQAETAAAAAIJAAQlAAAAAQUAAAAEdGhpcwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAXoFAAAAAXoEAAAAAXgJAAP8AAAABAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BBWnY5dGdLMVBYN2RLUjdiNGtjaHE1cWRwVVMzRzVzWVQCAAAACHdpdGhkcmF3CQAETAAAAAIJAAJYAAAAAQUAAAABYQkABEwAAAACAwkAAGYAAAACBQAAAAFiBQAAAAF6AP//////////BQAAAAFiBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAABeAUAAAABeAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAANvWMxk=", "chainId": 87, "height": 3073489, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BxkMwGNPQ1dyMgqujMCm8EsUC81dubvjHqhd3RdkFzJq Next: AWdQN45463TXG5vQ8W6yvHUiDkSdNYK4tyx6AU39qkG2 Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT' | |
5 | - | ||
6 | - | let viresConfigAddress = base58'3P2rJGfb5MbeivZNSqdVmsD1Y2Mz8y6Jr3Z' | |
7 | - | ||
8 | - | let viresWavesAddress = base58'3P8G747fnB1DTQ4d5uD114vjAaeezCW4FaM' | |
9 | - | ||
10 | - | let viresUsdnAddress = base58'3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce' | |
11 | - | ||
12 | - | let viresUsdtAddress = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR' | |
13 | - | ||
14 | - | let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S' | |
15 | - | ||
16 | - | let viresBtcAddress = base58'3PA7QMFyHMtHeP66SUQnwCgwKQHKpCyXWwd' | |
17 | - | ||
18 | - | let viresEthAddress = base58'3PPdeWwrzaxqgr6BuReoF3sWfxW8SYv743D' | |
19 | - | ||
20 | - | let viresEurnAddress = base58'3PBjqiMwwag72VWUtHNnVrxTBrNK8D7bVcN' | |
21 | - | ||
22 | - | let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ' | |
23 | - | ||
24 | - | func getAmountFromUserBalance (v) = match v { | |
4 | + | func p22 (v) = match v { | |
25 | 5 | case x: (Int, Int, Int, Int, Int, Boolean) => | |
26 | 6 | x._2 | |
27 | 7 | case t => | |
28 | - | throw(" | |
8 | + | throw("p22") | |
29 | 9 | } | |
30 | 10 | ||
31 | 11 | ||
32 | - | func w_usdc () = { | |
33 | - | let scBalance = assetBalance(Address(viresUsdcAddress), USDC) | |
34 | - | if ((100000000 > scBalance)) | |
35 | - | then throw("scBalance is less 100000000") | |
12 | + | let a = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ' | |
13 | + | ||
14 | + | let d = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") | |
15 | + | ||
16 | + | let m = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") | |
17 | + | ||
18 | + | func n () = { | |
19 | + | let b = assetBalance(d, a) | |
20 | + | if ((10 > b)) | |
21 | + | then 0 | |
36 | 22 | else { | |
37 | - | let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil)) | |
38 | - | if ((100000000 > userBalance)) | |
39 | - | then throw("userBalance is less 100000000") | |
40 | - | else { | |
41 | - | let amount = if ((scBalance > userBalance)) | |
42 | - | then -1 | |
43 | - | else scBalance | |
44 | - | let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), amount], nil) | |
45 | - | if ((inv == inv)) | |
46 | - | then 1 | |
47 | - | else throw("Strict value is not equal to itself.") | |
48 | - | } | |
23 | + | let z = p22(invoke(d, "userBalance", [toString(this)], nil)) | |
24 | + | let i = invoke(m, "withdraw", [toBase58String(a), if ((b > z)) | |
25 | + | then -1 | |
26 | + | else b], nil) | |
27 | + | if ((i == i)) | |
28 | + | then 1 | |
29 | + | else throw("Strict value is not equal to itself.") | |
49 | 30 | } | |
50 | 31 | } | |
51 | 32 | ||
52 | 33 | ||
53 | 34 | @Callable(i) | |
54 | - | func usdc_v2 () = { | |
55 | - | let admin = "3P5MGmcsL5xUvMVM3sSihRza89CYtfJrMcP" | |
56 | - | if ((toString(i.caller) != admin)) | |
57 | - | then throw("only admin can do") | |
58 | - | else if ((w_usdc() != 1)) | |
59 | - | then throw("!") | |
60 | - | else nil | |
35 | + | func g () = { | |
36 | + | let admin = addressFromStringValue("3P5MGmcsL5xUvMVM3sSihRza89CYtfJrMcP") | |
37 | + | if ((i.caller != admin)) | |
38 | + | then throw("admin") | |
39 | + | else { | |
40 | + | let b = assetBalance(d, a) | |
41 | + | if ((b == b)) | |
42 | + | then if ((100000000 > b)) | |
43 | + | then throw("too low reserve") | |
44 | + | else { | |
45 | + | let z = p22(invoke(d, "userBalance", [toString(this)], nil)) | |
46 | + | if ((z == z)) | |
47 | + | then { | |
48 | + | let x = invoke(addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT"), "withdraw", [toBase58String(a), if ((b > z)) | |
49 | + | then -1 | |
50 | + | else b], nil) | |
51 | + | if ((x == x)) | |
52 | + | then nil | |
53 | + | else throw("Strict value is not equal to itself.") | |
54 | + | } | |
55 | + | else throw("Strict value is not equal to itself.") | |
56 | + | } | |
57 | + | else throw("Strict value is not equal to itself.") | |
58 | + | } | |
61 | 59 | } | |
62 | 60 | ||
63 | 61 |
github/deemru/w8io/3ef1775 52.19 ms ◑