tx · 2qULXx2d5FqYxmUXU1JqHCCSohqrQ1EVhySadskW6J3Z

3N4pvyW25MGvt2xF4ur55NuGbpKvmp3YXfW:  -0.01500000 Waves

2019.07.12 12:36 [582336] smart account 3N4pvyW25MGvt2xF4ur55NuGbpKvmp3YXfW > SELF 0.00000000 Waves

{ "type": 13, "id": "2qULXx2d5FqYxmUXU1JqHCCSohqrQ1EVhySadskW6J3Z", "fee": 1500000, "feeAssetId": null, "timestamp": 1562924208790, "version": 1, "sender": "3N4pvyW25MGvt2xF4ur55NuGbpKvmp3YXfW", "senderPublicKey": "6Vs6C6CLyS6vKCB2u3VMq5chJQa4k6XHUizPRetDYMGd", "proofs": [ "33z8vbyqnbkTFiG5bqUFYaHJgDcoYHmoS4xA6wvZJ31cy3xTeq1ZiMQjH8D2dcZRqxcQF389rWRpKMo5GZYJmfJB" ], "script": "base64:AAIDAAAAAAAAAAAAAAABAAAAAAlwdWJsaWNLZXkCAAAAh2Jhc2U2NDpNRnd3RFFZSktvWklodmNOQVFFQkJRQURTd0F3U0FKQkFNWnVMb0xIVjVmY3VxUC9LakhvUTZWc1pTa1NXRjJBd1JBTHJMZ1RVZlhZc2RKdzF6djB0OXY3SUhSNjNnN1lyb0N2VUZTWG0xUm1PaFMxWGpyNXlJRUNBd0VBQVE9PQAAAAEAAAABaQEAAAAJY2hlY2tTaWduAAAABAAAAAZudW1iZXIAAAAEVHhJZAAAAAlTaWduYXR1cmUAAAAJUHVibGljS2V5BAAAAAFhCQAB+AAAAAQFAAAABlNIQTI1NgkAAZsAAAABBQAAAARUeElkBQAAAAlTaWduYXR1cmUFAAAACVB1YmxpY0tleQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAZudW1iZXICAAAABF9QdWIFAAAACVB1YmxpY0tleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAZudW1iZXICAAAABV9UWElEBQAAAARUeElkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABm51bWJlcgIAAAAKX1NpZ25hdHVyZQUAAAAJU2lnbmF0dXJlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABm51bWJlcgIAAAAHX1ZlcmlmeQUAAAABYQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAbEbLzV", "chainId": 84, "height": 582336, "spentComplexity": 0 } View: original | compacted Prev: DV5TMpm47yxCv1eksZUMLkDQ8z6pBQvunet6GPgtNZZP Next: 3mWz1BYUfBpNTrBw2xpdmCkv6xdLiSKyUp8a48wSv5kA Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = 100000000
4+let a = "base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMZuLoLHV5fcuqP/KjHoQ6VsZSkSWF2AwRALrLgTUfXYsdJw1zv0t9v7IHR63g7YroCvUFSXm1RmOhS1Xjr5yIECAwEAAQ=="
55
6-let b = (1 * a)
7-
8-let c = (5 * a)
9-
10-let d = (10 * a)
11-
12-let e = (25 * a)
13-
14-let f = (100 * a)
15-
16-let g = 5000000
17-
18-let h = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMZuLoLHV5fcuqP/KjHoQ6VsZSkSWF2A
19-wRALrLgTUfXYsdJw1zv0t9v7IHR63g7YroCvUFSXm1RmOhS1Xjr5yIECAwEAAQ=="
20-
21-let i = 1440
22-
23-let j = "Accepted"
24-
25-let k = "Win"
26-
27-let l = "WinByTimeout"
28-
29-let m = "Lose"
30-
31-@Callable(n)
32-func bet (o) = {
33- let p = extract(n.payment)
34- let q = toBase58String(n.transactionId)
35- let r = height
36- let s = {
37- let t = {
38- let u = getInteger(this, "GamesCounter")
39- let v = u
40- if ($isInstanceOf(v, "Int"))
41- then {
42- let w = v
43- w
44- }
45- else 0
46- }
47- (t + 1)
48- }
49- let x = isDefined(p.assetId)
50- let y = toBase58String(n.callerPublicKey)
51- let z = if (if ((o == "1"))
52- then true
53- else (o == "2"))
54- then o
55- else throw("Player's choice is incorrect")
56- let A = {
57- let B = (p.amount - g)
58- if (if (if (if (if ((B == b))
59- then true
60- else (B == c))
61- then true
62- else (B == d))
63- then true
64- else (B == e))
65- then true
66- else (B == f))
67- then (B * 2)
68- else throw("Payment amount is incorrect")
69- }
70- let C = {
71- let D = {
72- let E = getInteger(this, "Reserved")
73- let v = E
74- if ($isInstanceOf(v, "Int"))
75- then {
76- let F = v
77- F
78- }
79- else 0
80- }
81- let G = (D + A)
82- if ((wavesBalance(this) >= G))
83- then {
84- let H = G
85- H
86- }
87- else throw("Bet was rejected. Insufficient funds on game account.")
88- }
89- if (x)
90- then throw("You can make bet in Waves only")
91- else {
92- let I = ((((((((j + "_") + y) + "_") + z) + "_") + toString(A)) + "_") + toString(r))
93- WriteSet([DataEntry("Reserved", C), DataEntry(q, I)])
94- }
6+@Callable(b)
7+func checkSign (c,d,e,f) = {
8+ let g = rsaVerify(SHA256, toBytes(d), e, f)
9+ WriteSet([DataEntry((c + "_Pub"), f), DataEntry((c + "_TXID"), d), DataEntry((c + "_Signature"), e), DataEntry((c + "_Verify"), g)])
9510 }
9611
9712
98-
99-@Callable(n)
100-func withdraw (q,J) = {
101- let K = {
102- let L = getString(this, q)
103- let F = {
104- let v = L
105- if ($isInstanceOf(v, "String"))
106- then {
107- let F = v
108- F
109- }
110- else throw("GameId was not found")
111- }
112- split(F, "_")
113- }
114- let M = K[0]
115- let N = {
116- let F = K[1]
117- addressFromPublicKey(fromBase58String(F))
118- }
119- let z = K[2]
120- let O = {
121- let P = rsaVerify(SHA256, toBytes(q), J, toBytes(h))
122- if (P)
123- then {
124- let Q = ((toInt(sha256(J)) % 99) + 1)
125- if (if ((Q > 0))
126- then (100 >= Q)
127- else false)
128- then Q
129- else throw("Rsa integer is not in range")
130- }
131- else throw("Rsa Signature is invalid")
132- }
133- let r = {
134- let F = K[4]
135- parseIntValue(F)
136- }
137- let A = {
138- let F = K[3]
139- parseIntValue(F)
140- }
141- let G = {
142- let E = getInteger(this, "Reserved")
143- let R = {
144- let v = E
145- if ($isInstanceOf(v, "Int"))
146- then {
147- let F = v
148- F
149- }
150- else 0
151- }
152- let S = (R - A)
153- if ((S > 0))
154- then S
155- else throw("Reserved balance couldn't be less than 0")
156- }
157- let T = ((((((K[1] + "_") + K[2]) + "_") + K[3]) + "_") + K[4])
158- let U = (i > (height - r))
159- let V = (M == j)
160- if (V)
161- then if (U)
162- then {
163- let W = {
164- let X = if ((48 > O))
165- then "1"
166- else if ((O > 52))
167- then "2"
168- else "3"
169- (X == z)
170- }
171- if (W)
172- then ScriptResult(WriteSet([DataEntry(q, ((((k + "_") + T) + "_") + toString(O))), DataEntry("Reserved", G)]), TransferSet([ScriptTransfer(N, A, unit)]))
173- else WriteSet([DataEntry(q, ((((m + "_") + T) + "_") + toString(O))), DataEntry("Reserved", G)])
174- }
175- else throw("Game state is invalid")
176- else ScriptResult(WriteSet([DataEntry(q, ((((l + "_") + T) + "_") + "00")), DataEntry("Reserved", G)]), TransferSet([ScriptTransfer(N, A, unit)]))
177- }
178-
179-
180-@Verifier(Y)
181-func Z () = {
182- let v = Y
183- if ($isInstanceOf(v, "TransferTransaction"))
184- then {
185- let aa = v
186- let E = getInteger(this, "Reserved")
187- let C = {
188- let ab = E
189- if ($isInstanceOf(ab, "Int"))
190- then {
191- let F = ab
192- F
193- }
194- else 0
195- }
196- let ac = (wavesBalance(this) - C)
197- let ad = (ac >= aa.amount)
198- let ae = sigVerify(aa.bodyBytes, aa.proofs[0], aa.senderPublicKey)
199- if (ad)
200- then ae
201- else false
202- }
203- else if ($isInstanceOf(v, "SetScriptTransaction"))
204- then {
205- let af = v
206- sigVerify(af.bodyBytes, af.proofs[0], af.senderPublicKey)
207- }
208- else if ($isInstanceOf(v, "InvokeScriptTransaction"))
209- then {
210- let ag = v
211- true
212- }
213- else false
214- }
13+@Verifier(h)
14+func i () = true
21515

github/deemru/w8io/169f3d6 
33.84 ms