tx · 53QZLzBfPC4ENdQXo6u5nLDcHz4iErMNFqacefULKZ5P 3P3sLMbrhgyLkbeLdNh844pJ839gMe9z1Wb: -0.01000000 Waves 2022.04.24 06:35 [3087428] smart account 3P3sLMbrhgyLkbeLdNh844pJ839gMe9z1Wb > SELF 0.00000000 Waves
{ "type": 13, "id": "53QZLzBfPC4ENdQXo6u5nLDcHz4iErMNFqacefULKZ5P", "fee": 1000000, "feeAssetId": null, "timestamp": 1650771333321, "version": 1, "sender": "3P3sLMbrhgyLkbeLdNh844pJ839gMe9z1Wb", "senderPublicKey": "GhFZm6NL44hfTiQCNTV41UJ2SoDmgRjXePQTJZEjxMSd", "proofs": [ "5yKUaFFJ67t1g2KL4XWJWWhCnUy6k7kVV7mJqP6m2JQ3gjqMTHtYbxR7ATr6CwSkioJAKEMEM8ehU6EozCgq5FDQ" ], "script": "base64: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", "chainId": 87, "height": 3087428, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EvkKzjMhaA7CNdRgEpPT5it5SxT7MU8KDkvCEXGDXJjT Next: none Diff:
Old | New | Differences | |
---|---|---|---|
65 | 65 | ||
66 | 66 | @Callable(i) | |
67 | 67 | func withdraw (amount) = { | |
68 | - | let result = asInt(invoke(main, "withdraw", [usdc, amount], nil)) | |
69 | - | [ScriptTransfer(primary, amount, assetId)] | |
68 | + | let result = invoke(main, "withdraw", [usdc, amount], nil) | |
69 | + | if ((result == result)) | |
70 | + | then [ScriptTransfer(primary, amount, assetId)] | |
71 | + | else throw("Strict value is not equal to itself.") | |
70 | 72 | } | |
71 | 73 | ||
72 | 74 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func asInt (value) = match value { | |
5 | 5 | case int: Int => | |
6 | 6 | int | |
7 | 7 | case _ => | |
8 | 8 | throw("wrong type, expected: Int") | |
9 | 9 | } | |
10 | 10 | ||
11 | 11 | ||
12 | 12 | func asUserBalanceData (value) = match value { | |
13 | 13 | case x: (Int, Int, Int, Int, Int, Boolean) => | |
14 | 14 | x | |
15 | 15 | case t => | |
16 | 16 | throw("wrong type, expected: Int5&Boolean") | |
17 | 17 | } | |
18 | 18 | ||
19 | 19 | ||
20 | 20 | let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") | |
21 | 21 | ||
22 | 22 | let usdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" | |
23 | 23 | ||
24 | 24 | let assetId = fromBase58String(usdc) | |
25 | 25 | ||
26 | 26 | let usdcReserve = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") | |
27 | 27 | ||
28 | 28 | let primary = addressFromStringValue("3P54eYZMTtQnJn8XtUr7Ag3FeyJxpXq2hV7") | |
29 | 29 | ||
30 | 30 | let secondary = addressFromStringValue("3PHVvn3yCtCJZwBFhbfC6xoMpSqBrLKvJQf") | |
31 | 31 | ||
32 | 32 | @Callable(i) | |
33 | 33 | func deposit (amount,withdraw) = { | |
34 | 34 | let result = invoke(main, "deposit", [toString(usdcReserve), true], [AttachedPayment(fromBase58String(usdc), amount)]) | |
35 | 35 | if ((result == result)) | |
36 | 36 | then if (withdraw) | |
37 | 37 | then { | |
38 | 38 | let result2 = invoke(primary, "withdrawusdc", [amount], nil) | |
39 | 39 | if ((result2 == result2)) | |
40 | 40 | then $Tuple2(nil, result2) | |
41 | 41 | else throw("Strict value is not equal to itself.") | |
42 | 42 | } | |
43 | 43 | else $Tuple2(nil, result) | |
44 | 44 | else throw("Strict value is not equal to itself.") | |
45 | 45 | } | |
46 | 46 | ||
47 | 47 | ||
48 | 48 | ||
49 | 49 | @Callable(i) | |
50 | 50 | func deposit2 (amount,withdraw) = { | |
51 | 51 | let result = invoke(main, "deposit", [toString(usdcReserve), true], [AttachedPayment(fromBase58String(usdc), amount)]) | |
52 | 52 | if ((result == result)) | |
53 | 53 | then if (withdraw) | |
54 | 54 | then { | |
55 | 55 | let result2 = invoke(secondary, "withdrawusdc", [amount], nil) | |
56 | 56 | if ((result2 == result2)) | |
57 | 57 | then $Tuple2(nil, result2) | |
58 | 58 | else throw("Strict value is not equal to itself.") | |
59 | 59 | } | |
60 | 60 | else $Tuple2(nil, result) | |
61 | 61 | else throw("Strict value is not equal to itself.") | |
62 | 62 | } | |
63 | 63 | ||
64 | 64 | ||
65 | 65 | ||
66 | 66 | @Callable(i) | |
67 | 67 | func withdraw (amount) = { | |
68 | - | let result = asInt(invoke(main, "withdraw", [usdc, amount], nil)) | |
69 | - | [ScriptTransfer(primary, amount, assetId)] | |
68 | + | let result = invoke(main, "withdraw", [usdc, amount], nil) | |
69 | + | if ((result == result)) | |
70 | + | then [ScriptTransfer(primary, amount, assetId)] | |
71 | + | else throw("Strict value is not equal to itself.") | |
70 | 72 | } | |
71 | 73 | ||
72 | 74 |
github/deemru/w8io/0e76f2f 38.67 ms ◑