tx · E8cM5giqzw6mscXVhAKh8GjhGNrHukmGYcMWNwMN9tn7
3Mu9qAjmg8fVTxxpwPZnBAH948ujt4m6Xvk: -0.01000000 Waves
2021.10.15 00:38 [1746491] smart account 3Mu9qAjmg8fVTxxpwPZnBAH948ujt4m6Xvk > SELF 0.00000000 Waves
{
"type": 13,
"id": "E8cM5giqzw6mscXVhAKh8GjhGNrHukmGYcMWNwMN9tn7",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1634247529768,
"version": 2,
"chainId": 84,
"sender": "3Mu9qAjmg8fVTxxpwPZnBAH948ujt4m6Xvk",
"senderPublicKey": "8v9pmcXqHz9DTc5k1Z8duTYyDwykFxN3EzdZ9WAn3KXJ",
"proofs": [
"YQ4TgtYDntG5SMFwDm8Ap2bQdAuEbzTEYmdXWKawd5BFBEMq9SgmPYoeL9Xyppkj5fNkapMdFgyNnPsAgfjs7Uc"
],
"script": "base64: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",
"height": 1746491,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 6tngKdUM3bN5Hy3BRcDgc8TczVyjoLmz69qPJFd7Bqow
Next: Dxmmapjih7X6uXGeptDJPXbQAP5KbF5nViKqnTLqRAXk
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | func a (b,c) = { |
---|
5 | | - | let d = 6 |
---|
6 | | - | let e = 10000 |
---|
7 | | - | ((e * ((100 - 6) / 100)) / c) |
---|
| 4 | + | let a = "$GAME_NUMBER" |
---|
| 5 | + | |
---|
| 6 | + | let b = "$LAST_PLAY" |
---|
| 7 | + | |
---|
| 8 | + | let c = 1 |
---|
| 9 | + | |
---|
| 10 | + | let d = 2 |
---|
| 11 | + | |
---|
| 12 | + | func e (f) = { |
---|
| 13 | + | let g = 6 |
---|
| 14 | + | let h = 10000 |
---|
| 15 | + | ((h * ((100 - 6) / 100)) / f) |
---|
8 | 16 | | } |
---|
9 | 17 | | |
---|
10 | 18 | | |
---|
11 | | - | func f (b) = { |
---|
12 | | - | let g = { |
---|
13 | | - | let h = getBinary(this, "lastPlay") |
---|
14 | | - | if ($isInstanceOf(h, "ByteVector")) |
---|
| 19 | + | func i (j) = { |
---|
| 20 | + | let k = { |
---|
| 21 | + | let l = getBinary(this, b) |
---|
| 22 | + | if ($isInstanceOf(l, "ByteVector")) |
---|
15 | 23 | | then { |
---|
16 | | - | let i = h |
---|
17 | | - | i |
---|
| 24 | + | let m = l |
---|
| 25 | + | m |
---|
18 | 26 | | } |
---|
19 | | - | else if ($isInstanceOf(h, "Unit")) |
---|
| 27 | + | else if ($isInstanceOf(l, "Unit")) |
---|
20 | 28 | | then base58'2ee4oFDYriWJ9EMeR' |
---|
21 | 29 | | else throw("Match error") |
---|
22 | 30 | | } |
---|
23 | | - | let j = (((((g + b.transactionId) + b.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)) |
---|
24 | | - | sha256(j) |
---|
| 31 | + | let n = (((((k + j.transactionId) + j.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)) |
---|
| 32 | + | sha256(n) |
---|
25 | 33 | | } |
---|
26 | 34 | | |
---|
27 | 35 | | |
---|
28 | | - | func k (b,l,m) = { |
---|
29 | | - | let n = (wavesBalance(this) / 100) |
---|
30 | | - | let o = extract(b.payment) |
---|
31 | | - | if (!(isDefined(b.payment))) |
---|
| 36 | + | func o (j,p,q) = { |
---|
| 37 | + | let r = (wavesBalance(this) / 100) |
---|
| 38 | + | let s = extract(j.payment) |
---|
| 39 | + | if (!(isDefined(j.payment))) |
---|
32 | 40 | | then throw("Should be with Payment in Waves") |
---|
33 | | - | else if (isDefined(o.assetId)) |
---|
| 41 | + | else if (isDefined(s.assetId)) |
---|
34 | 42 | | then throw("Payment should be in Waves") |
---|
35 | | - | else if ((o.amount > n)) |
---|
36 | | - | then throw(("Payment should be less than " + toString(n))) |
---|
37 | | - | else if ((0 > l)) |
---|
| 43 | + | else if ((s.amount > r)) |
---|
| 44 | + | then throw(("Payment should be less than " + toString(r))) |
---|
| 45 | + | else if ((0 > p)) |
---|
38 | 46 | | then throw("guessStart and guessEnd Must be in between 0-99") |
---|
39 | | - | else if ((m > 99)) |
---|
| 47 | + | else if ((q > 99)) |
---|
40 | 48 | | then throw("guessStart and guessEnd Must be in between 0-99") |
---|
41 | | - | else if ((l > m)) |
---|
| 49 | + | else if ((p > q)) |
---|
42 | 50 | | then throw("guessStart and guessEnd Must be in between 0-99") |
---|
43 | | - | else if ((5 > ((m - l) + 1))) |
---|
| 51 | + | else if ((5 > ((q - p) + 1))) |
---|
44 | 52 | | then throw("guessStart and guessEnd Must be at least 5 apart") |
---|
45 | | - | else if ((((m - l) + 1) > 95)) |
---|
46 | | - | then throw("guessStart and guessEnd Must be at least 5 apart") |
---|
| 53 | + | else if ((((q - p) + 1) > 95)) |
---|
| 54 | + | then throw("guessStart and guessEnd Must not be at least 95 apart") |
---|
47 | 55 | | else { |
---|
48 | | - | let p = toBase58String(b.caller.bytes) |
---|
49 | | - | let q = toBase58String(b.transactionId) |
---|
50 | | - | let r = f(b) |
---|
51 | | - | let j = (toInt(r) % 100) |
---|
52 | | - | if (if (((m + 1) > j)) |
---|
53 | | - | then (j > (l - 1)) |
---|
| 56 | + | let t = toBase58String(j.caller.bytes) |
---|
| 57 | + | let u = toBase58String(j.transactionId) |
---|
| 58 | + | let v = i(j) |
---|
| 59 | + | let n = (toInt(v) % 100) |
---|
| 60 | + | let w = { |
---|
| 61 | + | let l = getInteger(this, a) |
---|
| 62 | + | if ($isInstanceOf(l, "Int")) |
---|
| 63 | + | then { |
---|
| 64 | + | let x = l |
---|
| 65 | + | x |
---|
| 66 | + | } |
---|
| 67 | + | else if ($isInstanceOf(l, "Unit")) |
---|
| 68 | + | then 1 |
---|
| 69 | + | else throw("Match error") |
---|
| 70 | + | } |
---|
| 71 | + | if (if (((q + 1) > n)) |
---|
| 72 | + | then (n > (p - 1)) |
---|
54 | 73 | | else false) |
---|
55 | 74 | | then { |
---|
56 | | - | let s = ((((((((("01_WON_" + q) + "_") + p) + "_") + toString(l)) + "-") + toString(m)) + "_") + toString(j)) |
---|
57 | | - | let t = WriteSet([DataEntry("lastPlay", j), DataEntry(q, s)]) |
---|
58 | | - | ScriptResult(t, TransferSet([ScriptTransfer(b.caller, ((o.amount * a(b, ((m - l) + 1))) / 100), unit)])) |
---|
| 75 | + | let y = ((((((((((((toString(c) + "_WON_") + u) + "_") + t) + "_") + toString(w)) + "_") + toString(p)) + "-") + toString(q)) + "_") + toString(n)) |
---|
| 76 | + | let z = WriteSet([DataEntry(b, n), DataEntry((t + toString(w)), y), DataEntry(a, (w + 1))]) |
---|
| 77 | + | ScriptResult(z, TransferSet([ScriptTransfer(j.caller, ((s.amount * e(((q - p) + 1))) / 100), unit)])) |
---|
59 | 78 | | } |
---|
60 | 79 | | else { |
---|
61 | | - | let s = ((((((((("02_LOSE_" + q) + "_") + p) + "_") + toString(l)) + "-") + toString(m)) + "_") + toString(j)) |
---|
62 | | - | let t = WriteSet([DataEntry("lastPlay", j), DataEntry(q, s)]) |
---|
63 | | - | ScriptResult(t, TransferSet(nil)) |
---|
| 80 | + | let y = ((((((((((((toString(c) + "_LOSE_") + u) + "_") + t) + "_") + toString(w)) + "_") + toString(p)) + "-") + toString(q)) + "_") + toString(n)) |
---|
| 81 | + | let z = WriteSet([DataEntry(b, n), DataEntry((t + toString(w)), y), DataEntry(a, (w + 1))]) |
---|
| 82 | + | ScriptResult(z, TransferSet(nil)) |
---|
64 | 83 | | } |
---|
65 | 84 | | } |
---|
66 | 85 | | } |
---|
67 | 86 | | |
---|
68 | 87 | | |
---|
69 | | - | @Callable(b) |
---|
70 | | - | func zero2hero (l,m) = k(b, l, m) |
---|
| 88 | + | @Callable(j) |
---|
| 89 | + | func zero2hero (p,q) = o(j, p, q) |
---|
71 | 90 | | |
---|
72 | 91 | | |
---|