tx · 5sFckGZotCEAFfYKT1xHHZCrHYzhEfzJZHTMdy4JdCCL 3N6duRDuMLd3cGKK2SyUEQqzwSnszE2ref9: -0.01000000 Waves 2022.05.27 14:25 [2070018] smart account 3N6duRDuMLd3cGKK2SyUEQqzwSnszE2ref9 > SELF 0.00000000 Waves
{ "type": 13, "id": "5sFckGZotCEAFfYKT1xHHZCrHYzhEfzJZHTMdy4JdCCL", "fee": 1000000, "feeAssetId": null, "timestamp": 1653650762673, "version": 2, "chainId": 84, "sender": "3N6duRDuMLd3cGKK2SyUEQqzwSnszE2ref9", "senderPublicKey": "6zr1iyU8SSf8L5v5mqH2NPVtQTNceVtet4Hf1wFLqoy9", "proofs": [ "2RFRZMeAazgygiCyRPdx2yR9padqQaAanH5v9DeYRr2Dus5aWggc2HEUUmTvJCe1CVuA9XCnKTfAxtqpCLDDUDKB" ], "script": "base64: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", "height": 2070018, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: uhgm62U4fdnqNM4reuwS3hUQDtbgcovE76u9RVdFwca Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | ||
5 | + | ||
6 | + | @Callable(i) | |
7 | + | func start (action,type,valueAction) = { | |
8 | + | let transactionId = toBase58String(i.transactionId) | |
9 | + | let currentWalletBytes = i.caller | |
10 | + | let payAmount = value(i.payments[0].amount) | |
11 | + | let currentWallet = toBase58String(i.caller.bytes) | |
12 | + | let nameNft = ((((((("nft_" + type) + "_") + take(transactionId, 10)) + "_") + currentWallet) + "_") + transactionId) | |
13 | + | let timestamp = take(toString(lastBlock.timestamp), 10) | |
14 | + | let exanBalance = match getInteger(this, ("exan_balance_" + currentWallet)) { | |
15 | + | case t: Int => | |
16 | + | t | |
17 | + | case _ => | |
18 | + | 0 | |
19 | + | } | |
20 | + | let crownBalance = match getInteger(this, ("crown_balance_" + currentWallet)) { | |
21 | + | case t: Int => | |
22 | + | t | |
23 | + | case _ => | |
24 | + | 0 | |
25 | + | } | |
26 | + | let historicId = match getInteger(this, "historicId") { | |
27 | + | case t: Int => | |
28 | + | t | |
29 | + | case _ => | |
30 | + | 0 | |
31 | + | } | |
32 | + | let initialPowerNft = match getInteger(this, ("List_NFT_" + type)) { | |
33 | + | case t: Int => | |
34 | + | t | |
35 | + | case _ => | |
36 | + | 0 | |
37 | + | } | |
38 | + | let power = match getInteger(this, ("power_" + currentWallet)) { | |
39 | + | case t: Int => | |
40 | + | t | |
41 | + | case _ => | |
42 | + | 0 | |
43 | + | } | |
44 | + | let nftPower = match getInteger(this, valueAction) { | |
45 | + | case t: Int => | |
46 | + | t | |
47 | + | case _ => | |
48 | + | 0 | |
49 | + | } | |
50 | + | let crownTimestamp = match getInteger(this, ("crown_timestamp_" + currentWallet)) { | |
51 | + | case t: Int => | |
52 | + | t | |
53 | + | case _ => | |
54 | + | 0 | |
55 | + | } | |
56 | + | let saveCrown = match getInteger(this, ("save_crown_" + currentWallet)) { | |
57 | + | case t: Int => | |
58 | + | t | |
59 | + | case _ => | |
60 | + | 0 | |
61 | + | } | |
62 | + | let newTokenPurchase = (i.payments[0].amount * 10000) | |
63 | + | let totalExanBalance = (exanBalance + newTokenPurchase) | |
64 | + | let newPower = (power + initialPowerNft) | |
65 | + | let nowTimestamp = parseIntValue(timestamp) | |
66 | + | let calcRequestTimestamp = (nowTimestamp - crownTimestamp) | |
67 | + | let calcCrown24hours = if ((power > 0)) | |
68 | + | then (86400 / (power / 100)) | |
69 | + | else 0 | |
70 | + | let calcTotalCrowns = if ((calcCrown24hours > 0)) | |
71 | + | then ((calcRequestTimestamp * 100000000) / calcCrown24hours) | |
72 | + | else 0 | |
73 | + | let newBalance = ((crownBalance + calcTotalCrowns) + saveCrown) | |
74 | + | let newSaveReward = if ((power == 0)) | |
75 | + | then 0 | |
76 | + | else (saveCrown + calcTotalCrowns) | |
77 | + | if (if ((action == "Buy NFT")) | |
78 | + | then ((payAmount / 100000) == initialPowerNft) | |
79 | + | else false) | |
80 | + | then [Issue(((take(type, 6) + "_") + take(transactionId, 9)), "", 1, 0, false), IntegerEntry(nameNft, initialPowerNft), IntegerEntry(("power_" + currentWallet), newPower), IntegerEntry(("crown_timestamp_" + currentWallet), nowTimestamp), IntegerEntry(("save_crown_" + currentWallet), newSaveReward)] | |
81 | + | else if (if (if ((action == "Send NFT")) | |
82 | + | then (currentWallet == "3NAx9AnXvb5nH6oEynVKoBgfyvSst59Qeg2") | |
83 | + | else false) | |
84 | + | then (payAmount == 1000000) | |
85 | + | else false) | |
86 | + | then [ScriptTransfer(Address(fromBase58String(type)), 1, fromBase58String(valueAction))] | |
87 | + | else if (if (if ((action == "Request")) | |
88 | + | then (calcTotalCrowns > 0) | |
89 | + | else false) | |
90 | + | then (payAmount == 1000000) | |
91 | + | else false) | |
92 | + | then [IntegerEntry(("crown_balance_" + currentWallet), newBalance), IntegerEntry(("crown_timestamp_" + currentWallet), nowTimestamp), IntegerEntry(("save_crown_" + currentWallet), 0)] | |
93 | + | else throw("We were unable to fulfill your request! Make sure you have enough balance for the transaction!") | |
94 | + | } | |
95 | + | ||
96 | + |
github/deemru/w8io/169f3d6 21.36 ms ◑![]()