tx · C5rXC9w7saky9tsPD7H7USp8u1FsNR86eQdUj6qQgn2S 3Mu9qAjmg8fVTxxpwPZnBAH948ujt4m6Xvk: -0.01000000 Waves 2021.10.14 21:40 [1746321] smart account 3Mu9qAjmg8fVTxxpwPZnBAH948ujt4m6Xvk > SELF 0.00000000 Waves
{ "type": 13, "id": "C5rXC9w7saky9tsPD7H7USp8u1FsNR86eQdUj6qQgn2S", "fee": 1000000, "feeAssetId": null, "timestamp": 1634236905958, "version": 2, "chainId": 84, "sender": "3Mu9qAjmg8fVTxxpwPZnBAH948ujt4m6Xvk", "senderPublicKey": "8v9pmcXqHz9DTc5k1Z8duTYyDwykFxN3EzdZ9WAn3KXJ", "proofs": [ "5DaVQjU8bVq1wTG2Pq83WeE65Kaomucqjq8rLXUAK4zwEoyiBGdjX2A2nzap6H8DSMPZwTpfL1KXJQD1aRJhxc2f" ], "script": "base64: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", "height": 1746321, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7V2dyp9oNZPAGjFinKLfGDdnXdMa9mEpVE3oD4UuvhAJ Next: 4pxR83t4yTJeEoEXLJbuBMvD8knX9kXrRNjVA9M1UieR Diff:
Old | New | Differences | |
---|---|---|---|
38 | 38 | let m = a(b) | |
39 | 39 | let f = (toInt(m) % 101) | |
40 | 40 | let n = getIntegerValue(this, (toBase58String(b.caller.bytes) + "_win_amount")) | |
41 | - | let o = getIntegerValue(this, (toBase58String(b.caller.bytes) + "_play_amount")) | |
41 | + | let o = if (isDefined(n)) | |
42 | + | then n | |
43 | + | else 0 | |
44 | + | let p = getIntegerValue(this, (toBase58String(b.caller.bytes) + "_play_amount")) | |
45 | + | let q = if (isDefined(p)) | |
46 | + | then p | |
47 | + | else 0 | |
42 | 48 | if (if ((i > f)) | |
43 | 49 | then (f > h) | |
44 | 50 | else false) | |
45 | 51 | then { | |
46 | - | let | |
47 | - | ScriptResult( | |
52 | + | let r = WriteSet([DataEntry("lastPlay", f), DataEntry("lastbet", ((toString(h) + "_") + toString(i))), DataEntry((l + "_play_amount"), (p + 1)), DataEntry((l + "_win_amount"), (n + 1))]) | |
53 | + | ScriptResult(r, TransferSet([ScriptTransfer(b.caller, ((k.amount * 190) / 100), unit)])) | |
48 | 54 | } | |
49 | 55 | else { | |
50 | - | let | |
51 | - | ScriptResult( | |
56 | + | let r = WriteSet([DataEntry("lastPlay", f), DataEntry("lastbet", ((toString(h) + "_") + toString(i))), DataEntry((l + "_play_amount"), (p + 1)), DataEntry((l + "_win_amount"), n)]) | |
57 | + | ScriptResult(r, TransferSet(nil)) | |
52 | 58 | } | |
53 | 59 | } | |
54 | 60 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func a (b) = { | |
5 | 5 | let c = { | |
6 | 6 | let d = getBinary(this, "lastPlay") | |
7 | 7 | if ($isInstanceOf(d, "ByteVector")) | |
8 | 8 | then { | |
9 | 9 | let e = d | |
10 | 10 | e | |
11 | 11 | } | |
12 | 12 | else if ($isInstanceOf(d, "Unit")) | |
13 | 13 | then base58'2ee4oFDYriWJ9EMeR' | |
14 | 14 | else throw("Match error") | |
15 | 15 | } | |
16 | 16 | let f = (((((c + b.transactionId) + b.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)) | |
17 | 17 | sha256(f) | |
18 | 18 | } | |
19 | 19 | ||
20 | 20 | ||
21 | 21 | func g (b,h,i) = { | |
22 | 22 | let j = (wavesBalance(this) / 100) | |
23 | 23 | let k = extract(b.payment) | |
24 | 24 | if (!(isDefined(b.payment))) | |
25 | 25 | then throw("Should be with Payment in Waves") | |
26 | 26 | else if (isDefined(k.assetId)) | |
27 | 27 | then throw("Payment should be in Waves") | |
28 | 28 | else if ((k.amount > j)) | |
29 | 29 | then throw(("Payment should be less than " + toString(j))) | |
30 | 30 | else if ((0 > h)) | |
31 | 31 | then throw("guessStart and guessEnd Must be in between 0-100") | |
32 | 32 | else if ((i > 100)) | |
33 | 33 | then throw("guessStart and guessEnd Must be in between 0-100") | |
34 | 34 | else if ((h > i)) | |
35 | 35 | then throw("guessStart and guessEnd Must be in between 0-100") | |
36 | 36 | else { | |
37 | 37 | let l = toBase58String(b.caller.bytes) | |
38 | 38 | let m = a(b) | |
39 | 39 | let f = (toInt(m) % 101) | |
40 | 40 | let n = getIntegerValue(this, (toBase58String(b.caller.bytes) + "_win_amount")) | |
41 | - | let o = getIntegerValue(this, (toBase58String(b.caller.bytes) + "_play_amount")) | |
41 | + | let o = if (isDefined(n)) | |
42 | + | then n | |
43 | + | else 0 | |
44 | + | let p = getIntegerValue(this, (toBase58String(b.caller.bytes) + "_play_amount")) | |
45 | + | let q = if (isDefined(p)) | |
46 | + | then p | |
47 | + | else 0 | |
42 | 48 | if (if ((i > f)) | |
43 | 49 | then (f > h) | |
44 | 50 | else false) | |
45 | 51 | then { | |
46 | - | let | |
47 | - | ScriptResult( | |
52 | + | let r = WriteSet([DataEntry("lastPlay", f), DataEntry("lastbet", ((toString(h) + "_") + toString(i))), DataEntry((l + "_play_amount"), (p + 1)), DataEntry((l + "_win_amount"), (n + 1))]) | |
53 | + | ScriptResult(r, TransferSet([ScriptTransfer(b.caller, ((k.amount * 190) / 100), unit)])) | |
48 | 54 | } | |
49 | 55 | else { | |
50 | - | let | |
51 | - | ScriptResult( | |
56 | + | let r = WriteSet([DataEntry("lastPlay", f), DataEntry("lastbet", ((toString(h) + "_") + toString(i))), DataEntry((l + "_play_amount"), (p + 1)), DataEntry((l + "_win_amount"), n)]) | |
57 | + | ScriptResult(r, TransferSet(nil)) | |
52 | 58 | } | |
53 | 59 | } | |
54 | 60 | } | |
55 | 61 | ||
56 | 62 | ||
57 | 63 | @Callable(b) | |
58 | 64 | func zero2hero (h,i) = g(b, h, i) | |
59 | 65 | ||
60 | 66 |
github/deemru/w8io/169f3d6 54.53 ms ◑