tx · CR6CM2F5nStwJ9UjqiwTpcUqbeg4j5dTZ4ajEit8ayWv
3PMMFsPmLo1gX6FyQVtcT3v5cyYhaseid4Q: -0.01000000 Waves
2022.04.09 23:27 [3066846] smart account 3PMMFsPmLo1gX6FyQVtcT3v5cyYhaseid4Q > SELF 0.00000000 Waves
{
"type": 13,
"id": "CR6CM2F5nStwJ9UjqiwTpcUqbeg4j5dTZ4ajEit8ayWv",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1649536100985,
"version": 2,
"chainId": 87,
"sender": "3PMMFsPmLo1gX6FyQVtcT3v5cyYhaseid4Q",
"senderPublicKey": "AodDFfU5Rebx5MeBbATwFNS5DiEo5tHpb9Ctb4Hdava6",
"proofs": [
"r9W7NfUQRNdR1FVKS1PKJAuzCc8oWvRs7voog5DJHWTqMdMndnHQAyS7m3igD4XwULqxh7t6nRALaDWDDjucdiw"
],
"script": "base64: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",
"height": 3066846,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 92UP4U4yu3HbnwUnYsCJrTTC2R7NdBzyPnVkcs7oKDA3
Next: 5DK1q7K4Pc6Ej2vndaX7MTDcNyVfLcyfZ8Wa4sc3a7PD
Diff:
Old | New | | Differences |
---|
8 | 8 | | let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") |
---|
9 | 9 | | |
---|
10 | 10 | | let assetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" |
---|
| 11 | + | |
---|
| 12 | + | let assetId = fromBase58String(assetIdString) |
---|
11 | 13 | | |
---|
12 | 14 | | let reserve = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") |
---|
13 | 15 | | |
---|
|
31 | 33 | | func w () = if ((i.caller != admin)) |
---|
32 | 34 | | then throw("!") |
---|
33 | 35 | | else { |
---|
34 | | - | let assetId = fromBase58String(assetIdString) |
---|
35 | 36 | | let available = assetBalance(reserve, assetId) |
---|
36 | 37 | | let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil)) |
---|
37 | 38 | | if ((userbalancedata == userbalancedata)) |
---|
|
58 | 59 | | func ww () = if ((i.caller != admin)) |
---|
59 | 60 | | then throw("!") |
---|
60 | 61 | | else { |
---|
61 | | - | let assetId = fromBase58String(assetIdString) |
---|
62 | 62 | | let available = assetBalance(reserve, assetId) |
---|
63 | | - | let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil)) |
---|
64 | | - | let maxAmount = userbalancedata._2 |
---|
65 | | - | let v = if ((available > maxAmount)) |
---|
66 | | - | then -1 |
---|
67 | | - | else available |
---|
68 | | - | let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil)) |
---|
| 63 | + | let amount = asInt(invoke(main, "withdraw", [assetIdString, available], nil)) |
---|
69 | 64 | | if ((amount == amount)) |
---|
70 | | - | then $Tuple2(nil, toString(amount)) |
---|
| 65 | + | then nil |
---|
71 | 66 | | else throw("Strict value is not equal to itself.") |
---|
72 | 67 | | } |
---|
73 | 68 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let admin = addressFromStringValue("3PMMFsPmLo1gX6FyQVtcT3v5cyYhaseid4Q") |
---|
5 | 5 | | |
---|
6 | 6 | | let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ' |
---|
7 | 7 | | |
---|
8 | 8 | | let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") |
---|
9 | 9 | | |
---|
10 | 10 | | let assetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" |
---|
| 11 | + | |
---|
| 12 | + | let assetId = fromBase58String(assetIdString) |
---|
11 | 13 | | |
---|
12 | 14 | | let reserve = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") |
---|
13 | 15 | | |
---|
14 | 16 | | func asInt (value) = match value { |
---|
15 | 17 | | case int: Int => |
---|
16 | 18 | | int |
---|
17 | 19 | | case _ => |
---|
18 | 20 | | throw("wrong type, expected: Int") |
---|
19 | 21 | | } |
---|
20 | 22 | | |
---|
21 | 23 | | |
---|
22 | 24 | | func asUserBalanceData (value) = match value { |
---|
23 | 25 | | case x: (Int, Int, Int, Int, Int, Boolean) => |
---|
24 | 26 | | x |
---|
25 | 27 | | case t => |
---|
26 | 28 | | throw("expected int5&boolean") |
---|
27 | 29 | | } |
---|
28 | 30 | | |
---|
29 | 31 | | |
---|
30 | 32 | | @Callable(i) |
---|
31 | 33 | | func w () = if ((i.caller != admin)) |
---|
32 | 34 | | then throw("!") |
---|
33 | 35 | | else { |
---|
34 | | - | let assetId = fromBase58String(assetIdString) |
---|
35 | 36 | | let available = assetBalance(reserve, assetId) |
---|
36 | 37 | | let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil)) |
---|
37 | 38 | | if ((userbalancedata == userbalancedata)) |
---|
38 | 39 | | then { |
---|
39 | 40 | | let maxAmount = userbalancedata._2 |
---|
40 | 41 | | let v = if ((available > maxAmount)) |
---|
41 | 42 | | then -1 |
---|
42 | 43 | | else available |
---|
43 | 44 | | if ((v >= 10000000)) |
---|
44 | 45 | | then { |
---|
45 | 46 | | let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil)) |
---|
46 | 47 | | if ((amount == amount)) |
---|
47 | 48 | | then nil |
---|
48 | 49 | | else throw("Strict value is not equal to itself.") |
---|
49 | 50 | | } |
---|
50 | 51 | | else throw("too low reserve") |
---|
51 | 52 | | } |
---|
52 | 53 | | else throw("Strict value is not equal to itself.") |
---|
53 | 54 | | } |
---|
54 | 55 | | |
---|
55 | 56 | | |
---|
56 | 57 | | |
---|
57 | 58 | | @Callable(i) |
---|
58 | 59 | | func ww () = if ((i.caller != admin)) |
---|
59 | 60 | | then throw("!") |
---|
60 | 61 | | else { |
---|
61 | | - | let assetId = fromBase58String(assetIdString) |
---|
62 | 62 | | let available = assetBalance(reserve, assetId) |
---|
63 | | - | let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil)) |
---|
64 | | - | let maxAmount = userbalancedata._2 |
---|
65 | | - | let v = if ((available > maxAmount)) |
---|
66 | | - | then -1 |
---|
67 | | - | else available |
---|
68 | | - | let amount = asInt(invoke(main, "withdraw", [assetIdString, v], nil)) |
---|
| 63 | + | let amount = asInt(invoke(main, "withdraw", [assetIdString, available], nil)) |
---|
69 | 64 | | if ((amount == amount)) |
---|
70 | | - | then $Tuple2(nil, toString(amount)) |
---|
| 65 | + | then nil |
---|
71 | 66 | | else throw("Strict value is not equal to itself.") |
---|
72 | 67 | | } |
---|
73 | 68 | | |
---|
74 | 69 | | |
---|