tx · 4B8RqB1MKxCxzkzbi3iy4zr4WFq2PFsahEiXreSF8M82

3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT:  -0.01400000 Waves

2019.06.30 12:52 [564702] smart account 3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT > SELF 0.00000000 Waves

{ "type": 13, "id": "4B8RqB1MKxCxzkzbi3iy4zr4WFq2PFsahEiXreSF8M82", "fee": 1400000, "feeAssetId": null, "timestamp": 1561888368310, "version": 1, "sender": "3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT", "senderPublicKey": "Bhyvkx4xdbEi4KPJNZSzx9gZgzgyLEsavuj2kYSt7SST", "proofs": [ "EkwdtSKbXQ91k2vpt7kRTrJPQTpR49bxDgfmRmzB28S3QzBZ7MX7k2i3kfamVCxobdxW3Tz8pB17c9rJ4CTRCeZ" ], "script": "base64:AAIDAAAAAAAAAAAAAAAbAAAAAA9TZXJ2ZXJQdWJsaWNLZXkBAAAAIL79hxhmqWX34iA/RS9p36FY3qCJjLclClmAz4vj6GlBAAAAAA1TZXJ2ZXJBZGRyZXNzCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAECAAAAIzNNdThvS1NjV0N3UjMzWW9tVDV1a1U3M1A3akxyeVpUazRzAAAAABBSb3VsZXR0ZVNlY3Rpb25zAAAAAAAAAAAVAAAAABFEYXRhR2FtZU51bWJlcktleQIAAAALQVBQX0dBTUVfSUQAAAAADURhdGFBbW91bnRLZXkCAAAABkFNT1VOVAAAAAAORGF0YVNlY3Rpb25LZXkCAAAAB1NFQ1RJT04AAAAADURhdGFTdGF0dXNLZXkCAAAABlNUQVRVUwAAAAANRGF0YVJlc3VsdEtleQIAAAAGUkVTVUxUAAAAAA1EYXRhU3RhdHVzTmV3AgAAAANORVcAAAAADURhdGFTdGF0dXNXaW4CAAAAA1dJTgAAAAAPRGF0YVN0YXR1c0xvb3NlAgAAAAVMT09TRQAAAAAHV0FWRUxFVAkAAGgAAAACCQAAaAAAAAIAAAAAAAAAAGQAAAAAAAAAA+gAAAAAAAAAA+gAAAAACkNPTU1JU1NJT04JAABpAAAAAgkAAGgAAAACAAAAAAAAAAAFBQAAAAdXQVZFTEVUAAAAAAAAAAPoAAAAABZFcnJvck9ubHlXYXZlc0FjY2VwdGVkAgAAABNPbmx5IHdhdmVzIGFjY2VwdGVkAAAAABVFcnJvck11c3RHcmVhdGVyVGhhbjACAAAAJVBhcmFtZXRlciBzaXplIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAAAAAAFEVycm9yTXVzdExlc3NUaGFuMTAwAgAAACRQYXJhbWV0ZXIgc2l6ZSBtdXN0IGJlIGxlc3MgdGhhbiAxMDAAAAAAFUVycm9yQmV0TXVzdEJlSW5XYXZlcwIAAAAbQmV0IGFtb3VudCBtdXN0IGJlIGluIFdhdmVzAAAAAB1FcnJvclRyYW5zYWN0aW9uTXVzdEJlSW5XYXZlcwIAAAAiVHJhbnNhY3Rpb24ncyBmZWUgbXVzdCBiZSBpbiBXYXZlcwAAAAAURXJyb3JUcmFuc2FjdGlvblVzZWQCAAAAL1Bh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AAAAA3BtdAAAAAZhbW91bnQDBQAAAA1iZXROb3RJbldhdmVzCQAAAgAAAAEFAAAAFUVycm9yQmV0TXVzdEJlSW5XYXZlcwMFAAAADWZlZU5vdEluV2F2ZXMJAAACAAAAAQUAAAAdRXJyb3JUcmFuc2FjdGlvbk11c3RCZUluV2F2ZXMDBQAAAAh0eElkVXNlZAkAAAIAAAABBQAAABRFcnJvclRyYW5zYWN0aW9uVXNlZAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEWdhbWVUcmFuc2FjdGlvbklkBQAAAAdhZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABFEYXRhR2FtZU51bWJlcktleQUAAAAKZ2FtZU51bWJlcgkABEwAAAACCQEAAAAMU3RvcmVEYXRhSW50AAAAAwUAAAARZ2FtZVRyYW5zYWN0aW9uSWQFAAAADURhdGFBbW91bnRLZXkFAAAABmFtb3VudAkABEwAAAACCQEAAAAMU3RvcmVEYXRhSW50AAAAAwUAAAARZ2FtZVRyYW5zYWN0aW9uSWQFAAAADkRhdGFTZWN0aW9uS2V5BQAAAA5leHBlY3RlZFJlc3VsdAkABEwAAAACCQEAAAAJU3RvcmVEYXRhAAAAAwUAAAARZ2FtZVRyYW5zYWN0aW9uSWQFAAAADURhdGFTdGF0dXNLZXkFAAAADURhdGFTdGF0dXNOZXcFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA1TZXJ2ZXJBZGRyZXNzBQAAAApDT01NSVNTSU9OBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAGcmVzdWx0AAAAAgAAABFnYW1lVHJhbnNhY3Rpb25JZAAAAANyc2EEAAAABHJhbmQJAQAAAA9HZW5lcmF0ZVJhbmRJbnQAAAACBQAAABFnYW1lVHJhbnNhY3Rpb25JZAUAAAADcnNhBAAAAA9zZWxlY3RlZFNlY3Rpb24JAQAAAApHZXREYXRhSW50AAAAAgUAAAARZ2FtZVRyYW5zYWN0aW9uSWQFAAAADkRhdGFTZWN0aW9uS2V5BAAAAAZzdGF0dXMJAQAAAA1HZXREYXRhU3RyaW5nAAAAAgUAAAARZ2FtZVRyYW5zYWN0aW9uSWQFAAAADURhdGFTdGF0dXNLZXkDCQAAAAAAAAIFAAAABnN0YXR1cwUAAAANRGF0YVN0YXR1c05ldwQAAAAFaXNXaW4JAAAAAAAAAgUAAAAEcmFuZAUAAAAPc2VsZWN0ZWRTZWN0aW9uBAAAAAh3cml0ZVNldAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJU3RvcmVEYXRhAAAAAwUAAAARZ2FtZVRyYW5zYWN0aW9uSWQFAAAADURhdGFTdGF0dXNLZXkJAAGlAAAAAQUAAAAFaXNXaW4JAARMAAAAAgkBAAAADFN0b3JlRGF0YUludAAAAAMFAAAAEWdhbWVUcmFuc2FjdGlvbklkBQAAAA1EYXRhUmVzdWx0S2V5BQAAAARyYW5kBQAAAANuaWwDBQAAAAVpc1dpbgkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACHdyaXRlU2V0CQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADVNlcnZlckFkZHJlc3MFAAAACkNPTU1JU1NJT04FAAAABHVuaXQFAAAAA25pbAUAAAAId3JpdGVTZXQJAAACAAAAAQkAASwAAAACBQAAAA1FcnJvckdhbWVPdmVyBQAAAAZzdGF0dXMAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAAAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAADc3R4BQAAAAckbWF0Y2gwBgcHpkBsCA==", "chainId": 84, "height": 564702, "spentComplexity": 0 } View: original | compacted Prev: C9dqVAdzvnoKxh1hkB3A6LKonAUh48xmwyj6hPFkqyuA Next: EwVUvZRsrSG7vs6RhtUGcsVEwjuzurjkbsAdyVTa6KWV Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'DrYgfD7j6AKD1iXtn9uhMka95ATZB42B1kGKCUATP2UG'
55
6-let b = 21
6+let b = addressFromStringValue("3Mu8oKScWCwR33YomT5ukU73P7jLryZTk4s")
77
8-let c = "APP_GAME_ID"
8+let c = 21
99
10-let d = "AMOUNT"
10+let d = "APP_GAME_ID"
1111
12-let e = "SECTION"
12+let e = "AMOUNT"
1313
14-let f = "STATUS"
14+let f = "SECTION"
1515
16-let g = "NEW"
16+let g = "STATUS"
1717
18-let h = "WIN"
18+let h = "RESULT"
1919
20-let i = "LOOSE"
20+let i = "NEW"
2121
22-let j = "Only waves accepted"
22+let j = "WIN"
2323
24-let k = "Parameter size must be greater than 0"
24+let k = "LOOSE"
2525
26-let l = "Parameter size must be less than 100"
26+let l = ((100 * 1000) * 1000)
2727
28-let m = "Bet amount must be in Waves"
28+let m = ((5 * l) / 1000)
2929
30-let n = "Transaction's fee must be in Waves"
30+let n = "Only waves accepted"
3131
32-let o = "Passed txId had been used before. Game aborted."
32+let o = "Parameter size must be greater than 0"
3333
34-let p = "Key not found: "
34+let p = "Parameter size must be less than 100"
3535
36-let q = "Game already is over"
36+let q = "Bet amount must be in Waves"
3737
38-func r (s,t,u) = DataEntry(((s + "_") + t), u)
38+let r = "Transaction's fee must be in Waves"
39+
40+let s = "Passed txId had been used before. Game aborted."
41+
42+let t = "Key not found: "
43+
44+let u = "Game already is over"
45+
46+func v (w,x,y) = DataEntry(((w + "_") + x), y)
3947
4048
41-func v (s,t,u) = DataEntry(((s + "_") + t), u)
49+func z (w,x,y) = DataEntry(((w + "_") + x), y)
4250
4351
44-func w (s,t) = {
45- let x = ((s + "_") + t)
46- let y = getString(this, x)
47- if ($isInstanceOf(y, "String"))
52+func A (w,x) = {
53+ let B = ((w + "_") + x)
54+ let C = getString(this, B)
55+ if ($isInstanceOf(C, "String"))
4856 then {
49- let z = y
50- z
57+ let D = C
58+ D
5159 }
52- else throw((p + x))
60+ else throw((t + B))
5361 }
5462
5563
56-func A (s,t) = {
57- let x = ((s + "_") + t)
58- let y = getInteger(this, x)
59- if ($isInstanceOf(y, "Int"))
64+func E (w,x) = {
65+ let B = ((w + "_") + x)
66+ let C = getInteger(this, B)
67+ if ($isInstanceOf(C, "Int"))
6068 then {
61- let z = y
62- z
69+ let D = C
70+ D
6371 }
64- else throw((p + x))
72+ else throw((t + B))
6573 }
6674
6775
68-func B () = {
69- let C = {
70- let y = getInteger(this, c)
71- if ($isInstanceOf(y, "Int"))
76+func F () = {
77+ let G = {
78+ let C = getInteger(this, d)
79+ if ($isInstanceOf(C, "Int"))
7280 then {
73- let D = y
74- D
81+ let H = C
82+ H
7583 }
7684 else 0
7785 }
78- (C + 1)
86+ (G + 1)
7987 }
8088
8189
82-func E (F,G) = {
83- let H = sigVerify(fromBase58String(F), fromBase58String(G), a)
84- if (H)
90+func I (J,K) = {
91+ let L = sigVerify(fromBase58String(J), fromBase58String(K), a)
92+ if (L)
8593 then {
86- let I = (toInt(sha256(toBytes(G))) % b)
87- if ((0 > I))
88- then (-1 * I)
89- else I
94+ let M = (toInt(sha256(toBytes(K))) % c)
95+ if ((0 > M))
96+ then (-1 * M)
97+ else M
9098 }
9199 else throw("Invalid RSA signature")
92100 }
93101
94102
95-@Callable(J)
96-func bet (K) = {
97- let L = B()
98- let M = toBase58String(J.transactionId)
99- let N = toBase58String(J.caller.bytes)
100- let O = extract(J.payment)
101- let P = isDefined(getString(this, M))
102- let Q = isDefined(O.assetId)
103- let R = isDefined(O.assetId)
104- let S = O.amount
105- if (Q)
106- then throw(m)
107- else if (R)
108- then throw(n)
109- else if (P)
110- then throw(o)
111- else WriteSet([DataEntry(M, N), DataEntry(c, L), v(M, d, S), v(M, e, K), r(M, f, g)])
103+@Callable(N)
104+func bet (O) = {
105+ let P = F()
106+ let Q = toBase58String(N.transactionId)
107+ let R = toBase58String(N.caller.bytes)
108+ let S = extract(N.payment)
109+ let T = isDefined(getString(this, Q))
110+ let U = isDefined(S.assetId)
111+ let V = isDefined(S.assetId)
112+ let W = S.amount
113+ if (U)
114+ then throw(q)
115+ else if (V)
116+ then throw(r)
117+ else if (T)
118+ then throw(s)
119+ else ScriptResult(WriteSet([DataEntry(Q, R), DataEntry(d, P), z(Q, e, W), z(Q, f, O), v(Q, g, i)]), TransferSet([ScriptTransfer(b, m, unit)]))
112120 }
113121
114122
115123
116-@Callable(J)
117-func result (M,T) = {
118- let I = E(M, T)
119- let U = A(M, e)
120- let V = w(M, f)
121- if ((V == g))
124+@Callable(N)
125+func result (Q,X) = {
126+ let M = I(Q, X)
127+ let Y = E(Q, f)
128+ let Z = A(Q, g)
129+ if ((Z == i))
122130 then {
123- let W = (I == U)
124- if (W)
125- then WriteSet([r(M, f, h)])
126- else WriteSet([r(M, f, i)])
131+ let aa = (M == Y)
132+ let ab = WriteSet([v(Q, g, toString(aa)), z(Q, h, M)])
133+ if (aa)
134+ then ScriptResult(ab, TransferSet([ScriptTransfer(b, m, unit)]))
135+ else ab
127136 }
128- else throw((q + V))
137+ else throw((u + Z))
129138 }
130139
131140
132-@Verifier(X)
133-func Y () = if (sigVerify(X.bodyBytes, X.proofs[0], X.senderPublicKey))
141+@Verifier(ac)
142+func ad () = if (sigVerify(ac.bodyBytes, ac.proofs[0], ac.senderPublicKey))
134143 then {
135- let y = X
136- if ($isInstanceOf(y, "SetScriptTransaction"))
144+ let C = ac
145+ if ($isInstanceOf(C, "SetScriptTransaction"))
137146 then {
138- let Z = y
147+ let ae = C
139148 true
140149 }
141150 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'DrYgfD7j6AKD1iXtn9uhMka95ATZB42B1kGKCUATP2UG'
55
6-let b = 21
6+let b = addressFromStringValue("3Mu8oKScWCwR33YomT5ukU73P7jLryZTk4s")
77
8-let c = "APP_GAME_ID"
8+let c = 21
99
10-let d = "AMOUNT"
10+let d = "APP_GAME_ID"
1111
12-let e = "SECTION"
12+let e = "AMOUNT"
1313
14-let f = "STATUS"
14+let f = "SECTION"
1515
16-let g = "NEW"
16+let g = "STATUS"
1717
18-let h = "WIN"
18+let h = "RESULT"
1919
20-let i = "LOOSE"
20+let i = "NEW"
2121
22-let j = "Only waves accepted"
22+let j = "WIN"
2323
24-let k = "Parameter size must be greater than 0"
24+let k = "LOOSE"
2525
26-let l = "Parameter size must be less than 100"
26+let l = ((100 * 1000) * 1000)
2727
28-let m = "Bet amount must be in Waves"
28+let m = ((5 * l) / 1000)
2929
30-let n = "Transaction's fee must be in Waves"
30+let n = "Only waves accepted"
3131
32-let o = "Passed txId had been used before. Game aborted."
32+let o = "Parameter size must be greater than 0"
3333
34-let p = "Key not found: "
34+let p = "Parameter size must be less than 100"
3535
36-let q = "Game already is over"
36+let q = "Bet amount must be in Waves"
3737
38-func r (s,t,u) = DataEntry(((s + "_") + t), u)
38+let r = "Transaction's fee must be in Waves"
39+
40+let s = "Passed txId had been used before. Game aborted."
41+
42+let t = "Key not found: "
43+
44+let u = "Game already is over"
45+
46+func v (w,x,y) = DataEntry(((w + "_") + x), y)
3947
4048
41-func v (s,t,u) = DataEntry(((s + "_") + t), u)
49+func z (w,x,y) = DataEntry(((w + "_") + x), y)
4250
4351
44-func w (s,t) = {
45- let x = ((s + "_") + t)
46- let y = getString(this, x)
47- if ($isInstanceOf(y, "String"))
52+func A (w,x) = {
53+ let B = ((w + "_") + x)
54+ let C = getString(this, B)
55+ if ($isInstanceOf(C, "String"))
4856 then {
49- let z = y
50- z
57+ let D = C
58+ D
5159 }
52- else throw((p + x))
60+ else throw((t + B))
5361 }
5462
5563
56-func A (s,t) = {
57- let x = ((s + "_") + t)
58- let y = getInteger(this, x)
59- if ($isInstanceOf(y, "Int"))
64+func E (w,x) = {
65+ let B = ((w + "_") + x)
66+ let C = getInteger(this, B)
67+ if ($isInstanceOf(C, "Int"))
6068 then {
61- let z = y
62- z
69+ let D = C
70+ D
6371 }
64- else throw((p + x))
72+ else throw((t + B))
6573 }
6674
6775
68-func B () = {
69- let C = {
70- let y = getInteger(this, c)
71- if ($isInstanceOf(y, "Int"))
76+func F () = {
77+ let G = {
78+ let C = getInteger(this, d)
79+ if ($isInstanceOf(C, "Int"))
7280 then {
73- let D = y
74- D
81+ let H = C
82+ H
7583 }
7684 else 0
7785 }
78- (C + 1)
86+ (G + 1)
7987 }
8088
8189
82-func E (F,G) = {
83- let H = sigVerify(fromBase58String(F), fromBase58String(G), a)
84- if (H)
90+func I (J,K) = {
91+ let L = sigVerify(fromBase58String(J), fromBase58String(K), a)
92+ if (L)
8593 then {
86- let I = (toInt(sha256(toBytes(G))) % b)
87- if ((0 > I))
88- then (-1 * I)
89- else I
94+ let M = (toInt(sha256(toBytes(K))) % c)
95+ if ((0 > M))
96+ then (-1 * M)
97+ else M
9098 }
9199 else throw("Invalid RSA signature")
92100 }
93101
94102
95-@Callable(J)
96-func bet (K) = {
97- let L = B()
98- let M = toBase58String(J.transactionId)
99- let N = toBase58String(J.caller.bytes)
100- let O = extract(J.payment)
101- let P = isDefined(getString(this, M))
102- let Q = isDefined(O.assetId)
103- let R = isDefined(O.assetId)
104- let S = O.amount
105- if (Q)
106- then throw(m)
107- else if (R)
108- then throw(n)
109- else if (P)
110- then throw(o)
111- else WriteSet([DataEntry(M, N), DataEntry(c, L), v(M, d, S), v(M, e, K), r(M, f, g)])
103+@Callable(N)
104+func bet (O) = {
105+ let P = F()
106+ let Q = toBase58String(N.transactionId)
107+ let R = toBase58String(N.caller.bytes)
108+ let S = extract(N.payment)
109+ let T = isDefined(getString(this, Q))
110+ let U = isDefined(S.assetId)
111+ let V = isDefined(S.assetId)
112+ let W = S.amount
113+ if (U)
114+ then throw(q)
115+ else if (V)
116+ then throw(r)
117+ else if (T)
118+ then throw(s)
119+ else ScriptResult(WriteSet([DataEntry(Q, R), DataEntry(d, P), z(Q, e, W), z(Q, f, O), v(Q, g, i)]), TransferSet([ScriptTransfer(b, m, unit)]))
112120 }
113121
114122
115123
116-@Callable(J)
117-func result (M,T) = {
118- let I = E(M, T)
119- let U = A(M, e)
120- let V = w(M, f)
121- if ((V == g))
124+@Callable(N)
125+func result (Q,X) = {
126+ let M = I(Q, X)
127+ let Y = E(Q, f)
128+ let Z = A(Q, g)
129+ if ((Z == i))
122130 then {
123- let W = (I == U)
124- if (W)
125- then WriteSet([r(M, f, h)])
126- else WriteSet([r(M, f, i)])
131+ let aa = (M == Y)
132+ let ab = WriteSet([v(Q, g, toString(aa)), z(Q, h, M)])
133+ if (aa)
134+ then ScriptResult(ab, TransferSet([ScriptTransfer(b, m, unit)]))
135+ else ab
127136 }
128- else throw((q + V))
137+ else throw((u + Z))
129138 }
130139
131140
132-@Verifier(X)
133-func Y () = if (sigVerify(X.bodyBytes, X.proofs[0], X.senderPublicKey))
141+@Verifier(ac)
142+func ad () = if (sigVerify(ac.bodyBytes, ac.proofs[0], ac.senderPublicKey))
134143 then {
135- let y = X
136- if ($isInstanceOf(y, "SetScriptTransaction"))
144+ let C = ac
145+ if ($isInstanceOf(C, "SetScriptTransaction"))
137146 then {
138- let Z = y
147+ let ae = C
139148 true
140149 }
141150 else false
142151 }
143152 else false
144153

github/deemru/w8io/169f3d6 
61.64 ms