tx · 2GH9x8YjBAn6UcyGVpSVPuGk7YwpAjqgWrB9A7LVPDr3 3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ: -0.01000000 Waves 2023.05.30 13:40 [2600596] smart account 3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ > SELF 0.00000000 Waves
{ "type": 13, "id": "2GH9x8YjBAn6UcyGVpSVPuGk7YwpAjqgWrB9A7LVPDr3", "fee": 1000000, "feeAssetId": null, "timestamp": 1685443260678, "version": 2, "chainId": 84, "sender": "3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ", "senderPublicKey": "y5twTW93XMmi75S5bati2cok9QLLFivsrwJedxJeUkX", "proofs": [ "3VuT8pJQhocvXKJXnarhm1r8fpXRfigD87ci1iKLiCqDYDuhPyJkYWEbHtCgKqDtYoMubMmJNADn2K2HgK3zPpAf" ], "script": "base64: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", "height": 2600596, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5otyGrT1E8ogXLANz3FUeJTfgHULBVA2dHVYkxjnk4Qk Next: 93uMUcasUPv5cQVh6Ui5Zk3wY5Ksz6H5MU1n9SfMrVwi Diff:
Old | New | Differences | |
---|---|---|---|
33 | 33 | case _ => | |
34 | 34 | if ((1 == $match0)) | |
35 | 35 | then numToWaves(2) | |
36 | - | else if (( | |
36 | + | else if ((5 == $match0)) | |
37 | 37 | then numToWaves(1) | |
38 | - | else if ((5 == $match0)) | |
39 | - | then numToWaves(1) | |
40 | - | else if ((7 == $match0)) | |
41 | - | then numToWaves(4) | |
42 | - | else if ((9 == $match0)) | |
43 | - | then numToWaves(1) | |
44 | - | else if ((11 == $match0)) | |
45 | - | then numToWaves(1) | |
46 | - | else 0 | |
38 | + | else if ((7 == $match0)) | |
39 | + | then numToWaves(4) | |
40 | + | else if ((11 == $match0)) | |
41 | + | then numToWaves(1) | |
42 | + | else 0 | |
47 | 43 | } | |
48 | 44 | ||
49 | 45 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func numToWaves (num) = (num * 100000000) | |
5 | 5 | ||
6 | 6 | ||
7 | 7 | func generateRandomNumber (i,min,max) = { | |
8 | 8 | let randomSeed = toInt(keccak256(i.transactionId)) | |
9 | 9 | let randomNumber = ((randomSeed % ((max - min) + 1)) + min) | |
10 | 10 | randomNumber | |
11 | 11 | } | |
12 | 12 | ||
13 | 13 | ||
14 | 14 | func isPaymentOk (i) = { | |
15 | 15 | let acceptableAssetId = base58'3JmaWyFqWo8YSA8x3DXCBUW7veesxacvKx19dMv7wTMg' | |
16 | 16 | if ((size(i.payments) == 0)) | |
17 | 17 | then throw("Payment not attached") | |
18 | 18 | else { | |
19 | 19 | let p = i.payments[0] | |
20 | 20 | match p.assetId { | |
21 | 21 | case assetId: ByteVector => | |
22 | 22 | if ((assetId == acceptableAssetId)) | |
23 | 23 | then (p.amount >= numToWaves(1)) | |
24 | 24 | else false | |
25 | 25 | case _ => | |
26 | 26 | (p.amount >= numToWaves(1)) | |
27 | 27 | } | |
28 | 28 | } | |
29 | 29 | } | |
30 | 30 | ||
31 | 31 | ||
32 | 32 | func gameLuckyWheelWhatUserWon (value) = match value { | |
33 | 33 | case _ => | |
34 | 34 | if ((1 == $match0)) | |
35 | 35 | then numToWaves(2) | |
36 | - | else if (( | |
36 | + | else if ((5 == $match0)) | |
37 | 37 | then numToWaves(1) | |
38 | - | else if ((5 == $match0)) | |
39 | - | then numToWaves(1) | |
40 | - | else if ((7 == $match0)) | |
41 | - | then numToWaves(4) | |
42 | - | else if ((9 == $match0)) | |
43 | - | then numToWaves(1) | |
44 | - | else if ((11 == $match0)) | |
45 | - | then numToWaves(1) | |
46 | - | else 0 | |
38 | + | else if ((7 == $match0)) | |
39 | + | then numToWaves(4) | |
40 | + | else if ((11 == $match0)) | |
41 | + | then numToWaves(1) | |
42 | + | else 0 | |
47 | 43 | } | |
48 | 44 | ||
49 | 45 | ||
50 | 46 | @Callable(i) | |
51 | 47 | func gameLuckyWheel (id) = if (!(isPaymentOk(i))) | |
52 | 48 | then throw("Wrong payment amount or asset") | |
53 | 49 | else { | |
54 | 50 | let randomNumber = generateRandomNumber(i, 1, 12) | |
55 | 51 | let winningAmount = gameLuckyWheelWhatUserWon(randomNumber) | |
56 | 52 | if ((winningAmount == numToWaves(1))) | |
57 | 53 | then [ScriptTransfer(i.caller, winningAmount, unit), StringEntry(("game_status_" + id), "roll"), IntegerEntry(("game_" + id), winningAmount), IntegerEntry(("test_game_randomNumber_" + id), randomNumber), IntegerEntry(("test_game_winningAmount_" + id), winningAmount)] | |
58 | 54 | else if ((winningAmount > 0)) | |
59 | 55 | then [ScriptTransfer(i.caller, winningAmount, unit), StringEntry(("game_status_" + id), "win"), IntegerEntry(("game_" + id), winningAmount), IntegerEntry(("test_game_randomNumber_" + id), randomNumber), IntegerEntry(("test_game_winningAmount_" + id), winningAmount)] | |
60 | 56 | else [IntegerEntry(("game_" + id), winningAmount), StringEntry(("game_status_" + id), "lose"), IntegerEntry(("test_game_randomNumber_" + id), randomNumber), IntegerEntry(("test_game_winningAmount_" + id), winningAmount)] | |
61 | 57 | } | |
62 | 58 | ||
63 | 59 |
github/deemru/w8io/c3f4982 41.09 ms ◑