tx · BxkMwGNPQ1dyMgqujMCm8EsUC81dubvjHqhd3RdkFzJq 3PBEvXY6erPKwEijJU37UP4wKYECnr46PAU: -0.01000000 Waves 2022.04.13 20:48 [3072427] smart account 3PBEvXY6erPKwEijJU37UP4wKYECnr46PAU > SELF 0.00000000 Waves
{ "type": 13, "id": "BxkMwGNPQ1dyMgqujMCm8EsUC81dubvjHqhd3RdkFzJq", "fee": 1000000, "feeAssetId": null, "timestamp": 1649872116364, "version": 1, "sender": "3PBEvXY6erPKwEijJU37UP4wKYECnr46PAU", "senderPublicKey": "EKrRHxGJ18L5hgwDfMDJQuDNEajBwvAsoyDCoLJpefDc", "proofs": [ "2T62QPLSRvPSC8QcWa9RprVudTH3aih8Q5Z4RZT26c2KiZFfLqKAWWLPnxg4SXmLyLpVfPdskaKN4LPqSAPba5hR" ], "script": "base64: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", "chainId": 87, "height": 3072427, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: BsVUvuvHTW2vrLHk6KB6Q2f9MVV1NUy1jmngpCoMRRL8 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
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 { | |
25 | + | case x: (Int, Int, Int, Int, Int, Boolean) => | |
26 | + | x._2 | |
27 | + | case t => | |
28 | + | throw("#err") | |
29 | + | } | |
30 | + | ||
31 | + | ||
32 | + | func w_usdc () = { | |
33 | + | let scBalance = assetBalance(Address(viresUsdcAddress), USDC) | |
34 | + | if ((100000000 > scBalance)) | |
35 | + | then throw("scBalance is less 100000000") | |
36 | + | 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 | + | } | |
49 | + | } | |
50 | + | } | |
51 | + | ||
52 | + | ||
53 | + | @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 | |
61 | + | } | |
62 | + | ||
63 | + |
github/deemru/w8io/6500d08 19.29 ms ◑