tx · 3H7pEvmiSF7JMZpYMVFeST3sfsNUdX9gGshGegah5tVz

3MrfW5HU9H1r5yAGY5Gzcr1A7ACNPLKsDcC:  -0.01500000 Waves

2019.06.28 14:59 [561940] smart account 3MrfW5HU9H1r5yAGY5Gzcr1A7ACNPLKsDcC > SELF 0.00000000 Waves

{ "type": 13, "id": "3H7pEvmiSF7JMZpYMVFeST3sfsNUdX9gGshGegah5tVz", "fee": 1500000, "feeAssetId": null, "timestamp": 1561723188854, "version": 1, "sender": "3MrfW5HU9H1r5yAGY5Gzcr1A7ACNPLKsDcC", "senderPublicKey": "BDtnN9kD7UvV7LaFXb4HFhUc4ijcMMsbUJ7JU8ZUGv3t", "proofs": [ "3AmCqXPrQt3TLrMCZ1KD3Znz3T8Zeo3C5hvtM5NriHctEuoU7Cr9nPizmKdobL7MAhTaUQqxvTKA8vDm9eGb8GTh" ], "script": "base64:AAIDAAAAAAAAAAAAAAAmAAAAAAlSU0FQVUJMSUMJAAJbAAAAAQIAAAGPYmFzZTY0Ok1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcWxBaUFOU21CcERIWUtQOXNLZ2VOL2wxYkFiMjhnL3RHbGdEa3dUNUZpTU40WDNwd2R2ZHhFN212U1I4LzQxZFU5cng0akcrNnRacGIxVUxWRFBzNDMxdFIySVJhVFh3NUNqK0FjMnZoTCs1SmFtQ2VyR0QxVVcrYmgvRUdRdHhvOFczWUxEcm9mWEI1UUhKeDRQa3oyS2dmK29TL0M4aEh1Qi9VNGtyTzc2VTA1MDdHVGpaUFA5a1JRMHVMU01lcVFYdDh3WFMrbk1wNXdhanF4UHBETE1hU1JFZ3NLd3YvQUVrUDRkenBUWWJpa0xCWWw0cXRkSnNEODRITEZTa2l3ZDNCaGNPclBqb0lZbUx4UXVCRDVUSU1LVEtEM3NkWmdhWTlyc3lxeDNBMDBpbm55eEQ2enAzYjRnRnBVT1g4SnhLWmRFQzJteUVxbGVOZ2c3R3p3SURBUUFCAAAAAAZTRVJWRVIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM05DaUcyOExtV3lUaWdXRzEzRTVRbnZkSEJzWkZZWFNTMmoAAAAAE1JBTkRPUkFDTEVUSU1FRlJBTUUAAAAAAAAAC0AAAAAAB1dBVkVMRVQJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoAAAAAApDT01NSVNTSU9OCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAABQUAAAAHV0FWRUxFVAAAAAAAAAAD6AAAAAAEQkVUMQkAAGgAAAACAAAAAAAAAAABBQAAAAdXQVZFTEVUAAAAAARCRVQyCQAAaAAAAAIAAAAAAAAAAAIFAAAAB1dBVkVMRVQAAAAABEJFVDQJAABoAAAAAgAAAAAAAAAABAUAAAAHV0FWRUxFVAAAAAAEQkVUOAkAAGgAAAACAAAAAAAAAAAIBQAAAAdXQVZFTEVUAAAAAAVCRVQxNAkAAGgAAAACAAAAAAAAAAAOBQAAAAdXQVZFTEVUAAAAAAhSQVRFTVVMVAAAAAAAAAAnEAAAAAAEUkFURQAAAAAAAABKOAAAAAAMSWR4R2FtZVN0YXRlAAAAAAAAAAAAAAAAAA9JZHhQbGF5ZXJDaG9pY2UAAAAAAAAAAAEAAAAAEUlkeFBsYXllclB1YktleTU4AAAAAAAAAAACAAAAABBJZHhTdGFydGVkSGVpZ2h0AAAAAAAAAAADAAAAAAlJZHhXaW5BbXQAAAAAAAAAAAQAAAAADklkeFJhbmRPckVtcHR5AAAAAAAAAAAFAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAPR0FNRVNDT1VOVEVSS0VZAgAAAAkkR0FNRV9OVU0AAAAADlNUQVRFU1VCTUlUVEVEAgAAAAlTVUJNSVRURUQAAAAACFNUQVRFV09OAgAAAANXT04AAAAACVNUQVRFTE9TVAIAAAAETE9TVAEAAAAQSW5jcmVtZW50R2FtZU51bQAAAAAEAAAAB2dhbWVOdW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAPR0FNRVNDT1VOVEVSS0VZAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA251bQUAAAAHJG1hdGNoMAUAAAADbnVtAAAAAAAAAAAACQAAZAAAAAIFAAAAB2dhbWVOdW0AAAAAAAAAAAEBAAAAEkV4dHJhY3RSZXNlcnZlZEFtdAAAAAAEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAOUkVTRVJWQVRJT05LRVkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAeVmFsaWRhdGVBbmRJbmNyZWFzZVJlc2VydmVkQW10AAAAAQAAAAZ3aW5BbXQEAAAAEW5ld1Jlc2VydmVkQW1vdW50CQAAZAAAAAIJAQAAABJFeHRyYWN0UmVzZXJ2ZWRBbXQAAAAABQAAAAZ3aW5BbXQEAAAAB2JhbGFuY2UJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzAwkAAGYAAAACBQAAABFuZXdSZXNlcnZlZEFtb3VudAUAAAAHYmFsYW5jZQkAAAIAAAABAgAAAFRJbnN1ZmZpY2llbnQgZnVuZHMgb24gRGljZSBSb2xsZXIgYWNjb3VudC4gVHJhbnNhY3Rpb24gd2FzIHJlamVjdGVkIGZvciB5b3VyIHNhZmV0eS4FAAAAEW5ld1Jlc2VydmVkQW1vdW50AQAAABNEZWNyZWFzZVJlc2VydmVkQW10AAAAAgAAAAZnYW1lSWQAAAAGd2luQW10BAAAABFuZXdSZXNlcnZlZEFtb3VudAkAAGUAAAACCQEAAAASRXh0cmFjdFJlc2VydmVkQW10AAAAAAUAAAAGd2luQW10AwkAAGYAAAACAAAAAAAAAAAABQAAABFuZXdSZXNlcnZlZEFtb3VudAkAAAIAAAABAgAAAEJJbnZhbGlkIERpY2UgUm9sbGVyIGFjY291bnQgc3RhdGUgLSByZXNlcnZlZCBhbW91bnQgaXMgbGVzcyB0aGFuIDAJAQAAAAlEYXRhRW50cnkAAAACBQAAAA5SRVNFUlZBVElPTktFWQUAAAARbmV3UmVzZXJ2ZWRBbW91bnQBAAAAGlZhbGlkYXRlQmV0QW5kRGVmaW5lV2luQW10AAAAAgAAAAZiZXRBbXQAAAAMcGxheWVyQ2hvaWNlBAAAAAtiZXRBbXRWYWxpZAMDAwMJAAAAAAAAAgUAAAAGYmV0QW10CQAAZAAAAAIFAAAABEJFVDEFAAAACkNPTU1JU1NJT04GCQAAAAAAAAIFAAAABmJldEFtdAkAAGQAAAACBQAAAARCRVQyBQAAAApDT01NSVNTSU9OBgkAAAAAAAACBQAAAAZiZXRBbXQJAABkAAAAAgUAAAAEQkVUNAUAAAAKQ09NTUlTU0lPTgYJAAAAAAAAAgUAAAAGYmV0QW10CQAAZAAAAAIFAAAABEJFVDgFAAAACkNPTU1JU1NJT04GCQAAAAAAAAIFAAAABmJldEFtdAkAAGQAAAACBQAAAAVCRVQxNAUAAAAKQ09NTUlTU0lPTgMFAAAAC2JldEFtdFZhbGlkBAAAAApjaG9pY2VTaXplCQABMQAAAAEFAAAADHBsYXllckNob2ljZQQAAAADYmV0CQAAZQAAAAIFAAAABmJldEFtdAUAAAAKQ09NTUlTU0lPTgMJAAAAAAAAAgUAAAAKY2hvaWNlU2l6ZQAAAAAAAAAAAQkAAGkAAAACCQAAaAAAAAIFAAAAA2JldAUAAAAEUkFURQUAAAAIUkFURU1VTFQJAAACAAAAAQIAAAAeSW52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AAAADXN0YXJ0ZWRIZWlnaHQAAAAAAAAAAAAJAARMAAAAAgkAAZEAAAACBQAAAAZ3aW5BbXQAAAAAAAAAAAAFAAAAA25pbAEAAAATRXh0cmFjdEdhbWVEYXRhTGlzdAAAAAEAAAAGZ2FtZUlkBAAAAApyYXdEYXRhU3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAABmdhbWVJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAANzdHIFAAAAByRtYXRjaDAFAAAAA3N0cgkAAAIAAAABCQABLAAAAAICAAAAFkNvdWxkbid0IGZpbmQgZ2FtZSBieSAFAAAABmdhbWVJZAkBAAAAE1BhcnNlR2FtZVJhd0RhdGFTdHIAAAABBQAAAApyYXdEYXRhU3RyAQAAAAxXaW5TY3JpcHRTZXQAAAAGAAAABmdhbWVJZAAAAA1wbGF5ZXJBZGRyZXNzAAAABndpbkFtdAAAAA5uZXdHYW1lRGF0YVN0cgAAAAx3aW5CeVRpbWVvdXQAAAARZGVjcmVhc2VkUmVzZXJ2ZXMEAAAADndTZXRDb21tb25EYXRhCQAETAAAAAIFAAAAEWRlY3JlYXNlZFJlc2VydmVzBQAAAANuaWwEAAAADnRTZXRDb21tb25EYXRhCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADXBsYXllckFkZHJlc3MFAAAABndpbkFtdAUAAAAEdW5pdAUAAAADbmlsAwUAAAAMd2luQnlUaW1lb3V0BAAAABZuZXdHYW1lRGF0YVN0ckFkanVzdGVkCQABLAAAAAIJAAEsAAAAAgUAAAAObmV3R2FtZURhdGFTdHICAAAAAV8JAQAAABNGb3JtYXRHYW1lRGF0YVBhcmFtAAAAAQIAAAAHVElNRU9VVAQAAAAIZ2FtZURhdGEJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZnYW1lSWQFAAAAFm5ld0dhbWVEYXRhU3RyQWRqdXN0ZWQJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIFAAAACGdhbWVEYXRhBQAAAA53U2V0Q29tbW9uRGF0YQkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAAOdFNldENvbW1vbkRhdGEEAAAACGdhbWVEYXRhCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAAA5uZXdHYW1lRGF0YVN0cgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgUAAAAIZ2FtZURhdGEFAAAADndTZXRDb21tb25EYXRhCQEAAAALVHJhbnNmZXJTZXQAAAABBQAAAA50U2V0Q29tbW9uRGF0YQAAAAEAAAABaQEAAAAId2l0aGRyYXcAAAACAAAABmdhbWVJZAAAAAdyc2FTaWduBAAAAAxnYW1lRGF0YUxpc3QJAQAAABNFeHRyYWN0R2FtZURhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAxJZHhHYW1lU3RhdGUEAAAADHBsYXllckNob2ljZQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAD0lkeFBsYXllckNob2ljZQQAAAANc3RhcnRlZEhlaWdodAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAQSWR4U3RhcnRlZEhlaWdodAQAAAAGd2luQW10CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAlJZHhXaW5BbXQEAAAADnBsYXllclB1YktleTU4CQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAARSWR4UGxheWVyUHViS2V5NTgEAAAADXBsYXllckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAOcGxheWVyUHViS2V5NTgEAAAADHdpbkJ5VGltZW91dAkAAGYAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAANc3RhcnRlZEhlaWdodAUAAAATUkFORE9SQUNMRVRJTUVGUkFNRQQAAAARZGVjcmVhc2VkUmVzZXJ2ZXMJAQAAABNEZWNyZWFzZVJlc2VydmVkQW10AAAAAgUAAAAGZ2FtZUlkBQAAAAZ3aW5BbXQDCQEAAAACIT0AAAACBQAAAAlnYW1lU3RhdGUFAAAADlNUQVRFU1VCTUlUVEVECQAAAgAAAAECAAAAJEludmFsaWQgZ2FtZSBzdGF0ZSBmb3IgcGFzc2VkIGdhbWVJZAMFAAAADHdpbkJ5VGltZW91dAQAAAAHcmFuZFN0cgkAAS8AAAACBQAAAAxwbGF5ZXJDaG9pY2UAAAAAAAAAAAEEAAAADm5ld0dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAGBQAAAAhTVEFURVdPTgUAAAAMcGxheWVyQ2hvaWNlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAANc3RhcnRlZEhlaWdodAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAMV2luU2NyaXB0U2V0AAAABgUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAADm5ld0dhbWVEYXRhU3RyBQAAAAx3aW5CeVRpbWVvdXQFAAAAEWRlY3JlYXNlZFJlc2VydmVzBAAAAAdyYW5kU3RyCQEAAAAJUmFuZFRvU3RyAAAAAQkBAAAAD0dlbmVyYXRlUmFuZEludAAAAAIFAAAABmdhbWVJZAUAAAAHcnNhU2lnbgMJAQAAAAtJc1BsYXllcldpbgAAAAIFAAAADHBsYXllckNob2ljZQUAAAAHcmFuZFN0cgQAAAAObmV3R2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAACFNUQVRFV09OBQAAAAxwbGF5ZXJDaG9pY2UFAAAADnBsYXllclB1YktleTU4BQAAAA1zdGFydGVkSGVpZ2h0BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAxXaW5TY3JpcHRTZXQAAAAGBQAAAAZnYW1lSWQFAAAADXBsYXllckFkZHJlc3MFAAAABndpbkFtdAUAAAAObmV3R2FtZURhdGFTdHIFAAAADHdpbkJ5VGltZW91dAUAAAARZGVjcmVhc2VkUmVzZXJ2ZXMEAAAADm5ld0dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAGBQAAAAlTVEFURUxPU1QFAAAADHBsYXllckNob2ljZQUAAAAOcGxheWVyUHViS2V5NTgFAAAADXN0YXJ0ZWRIZWlnaHQFAAAABndpbkFtdAUAAAAHcmFuZFN0cgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAAA5uZXdHYW1lRGF0YVN0cgkABEwAAAACBQAAABFkZWNyZWFzZWRSZXNlcnZlcwUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAADdHR4BQAAAAckbWF0Y2gwCQAAZwAAAAIJAABlAAAAAgkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAABHRoaXMIBQAAAAN0dHgAAAAGYW1vdW50CQEAAAASRXh0cmFjdFJlc2VydmVkQW10AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAA3N0eAUAAAAHJG1hdGNoMAYHByvZf68=", "chainId": 84, "height": 561940, "spentComplexity": 0 } View: original | compacted Prev: 3W3sidfoW4ZUFpyKffnQs7RQZbTPnjEDWNgnSBUPXLpT Next: 2dFEzpMAwGH2fj8g6WdUDbnKrfSrepgfhn6fQTk5Ug5G Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlAiANSmBpDHYKP9sKgeN/l1bAb28g/tGlgDkwT5FiMN4X3pwdvdxE7mvSR8/41dU9rx4jG+6tZpb1ULVDPs431tR2IRaTXw5Cj+Ac2vhL+5JamCerGD1UW+bh/EGQtxo8W3YLDrofXB5QHJx4Pkz2Kgf+oS/C8hHuB/U4krO76U0507GTjZPP9kRQ0uLSMeqQXt8wXS+nMp5wajqxPpDLMaSREgsKwv/AEkP4dzpTYbikLBYl4qtdJsD84HLFSkiwd3BhcOrPjoIYmLxQuBD5TIMKTKD3sdZgaY9rsyqx3A00innyxD6zp3b4gFpUOX8JxKZdEC2myEqleNgg7GzwIDAQAB")
55
6-let b = addressFromStringValue("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH")
6+let b = addressFromStringValue("3NCiG28LmWyTigWG13E5QnvdHBsZFYXSS2j")
77
88 let c = 2880
99
1111
1212 let e = ((5 * d) / 1000)
1313
14-let f = ((1 * d) / 2)
14+let f = (1 * d)
1515
16-let g = (6 * d)
16+let g = (2 * d)
1717
18-let h = ((1 * d) / 10)
18+let h = (4 * d)
1919
20-let i = 10000
20+let i = (8 * d)
2121
22-let j = 96
22+let j = (14 * d)
2323
24-let k = 94
24+let k = 10000
2525
26-let l = 9860
26+let l = 19000
2727
28-let m = 93
28+let m = 0
2929
30-let n = 87
30+let n = 1
3131
32-let o = 9800
32+let o = 2
3333
34-let p = 86
34+let p = 3
3535
36-let q = 86
36+let q = 4
3737
38-let r = 9750
38+let r = 5
3939
40-let s = 85
40+let s = "$RESERVED_AMOUNT"
4141
42-let t = 84
42+let t = "$GAME_NUM"
4343
44-let u = 9670
44+let u = "SUBMITTED"
4545
46-let v = 83
46+let v = "WON"
4747
48-let w = 83
48+let w = "LOST"
4949
50-let x = 9630
51-
52-let y = 82
53-
54-let z = 67
55-
56-let A = 9610
57-
58-let B = 66
59-
60-let C = 56
61-
62-let D = 9560
63-
64-let E = 55
65-
66-let F = 38
67-
68-let G = 9500
69-
70-let H = 37
71-
72-let I = 3
73-
74-let J = 9290
75-
76-let K = 2
77-
78-let L = 1
79-
80-let M = 9860
81-
82-let N = 0
83-
84-let O = 1
85-
86-let P = 2
87-
88-let Q = 3
89-
90-let R = 4
91-
92-let S = 5
93-
94-let T = "$RESERVED_AMOUNT"
95-
96-let U = "$GAME_NUM"
97-
98-let V = "SUBMITTED"
99-
100-let W = "WON"
101-
102-let X = "LOST"
103-
104-func Y () = {
105- let Z = {
106- let aa = getInteger(this, U)
107- if ($isInstanceOf(aa, "Int"))
50+func x () = {
51+ let y = {
52+ let z = getInteger(this, t)
53+ if ($isInstanceOf(z, "Int"))
10854 then {
109- let ab = aa
110- ab
55+ let A = z
56+ A
11157 }
11258 else 0
11359 }
114- (Z + 1)
60+ (y + 1)
11561 }
11662
11763
118-func ac () = {
119- let aa = getInteger(this, T)
120- if ($isInstanceOf(aa, "Int"))
64+func B () = {
65+ let z = getInteger(this, s)
66+ if ($isInstanceOf(z, "Int"))
12167 then {
122- let ad = aa
123- ad
68+ let C = z
69+ C
12470 }
12571 else 0
12672 }
12773
12874
129-func ae (af) = {
130- let ag = (ac() + af)
131- let ah = wavesBalance(this)
132- if ((ag > ah))
133- then throw("Insufficient funds on Waves Rider account. Transaction was rejected for your safety.")
134- else ag
75+func D (E) = {
76+ let F = (B() + E)
77+ let G = wavesBalance(this)
78+ if ((F > G))
79+ then throw("Insufficient funds on Dice Roller account. Transaction was rejected for your safety.")
80+ else F
13581 }
13682
13783
138-func ai (aj,af) = {
139- let ag = (ac() - af)
140- if ((0 > ag))
84+func H (I,E) = {
85+ let F = (B() - E)
86+ if ((0 > F))
14187 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
142- else DataEntry(T, ag)
88+ else DataEntry(s, F)
14389 }
14490
14591
146-func ak (al,am) = {
147- let an = (al - e)
148- let ao = if (if ((an >= f))
149- then (g >= an)
150- else false)
151- then ((an % h) == 0)
152- else false
153- if (ao)
92+func J (K,L) = {
93+ let M = if (if (if (if ((K == (f + e)))
94+ then true
95+ else (K == (g + e)))
96+ then true
97+ else (K == (h + e)))
98+ then true
99+ else (K == (i + e)))
100+ then true
101+ else (K == (j + e))
102+ if (M)
154103 then {
155- let ap = parseIntValue(am)
156- if (if ((ap >= 1))
157- then (96 >= ap)
158- else false)
159- then {
160- let aq = if (if ((j >= ap))
161- then (ap >= k)
162- else false)
163- then l
164- else if (if ((m >= ap))
165- then (ap >= n)
166- else false)
167- then o
168- else if (if ((p >= ap))
169- then (ap >= q)
170- else false)
171- then r
172- else if (if ((s >= ap))
173- then (ap >= t)
174- else false)
175- then u
176- else if (if ((v >= ap))
177- then (ap >= w)
178- else false)
179- then x
180- else if (if ((y >= ap))
181- then (ap >= z)
182- else false)
183- then A
184- else if (if ((B >= ap))
185- then (ap >= C)
186- else false)
187- then D
188- else if (if ((E >= ap))
189- then (ap >= F)
190- else false)
191- then G
192- else if (if ((H >= ap))
193- then (ap >= I)
194- else false)
195- then J
196- else if (if ((K >= ap))
197- then (ap >= L)
198- else false)
199- then M
200- else throw(("Couldn't define range: playerChoice=" + am))
201- ((((100 * aq) / ap) * an) / i)
202- }
203- else throw("Player choice is out of the condition below: 1 <= choice <= 96")
104+ let N = size(L)
105+ let O = (K - e)
106+ if ((N == 1))
107+ then ((O * l) / k)
108+ else throw("Invalid player's choice format")
204109 }
205- else throw(((((("Bet amount is not in range: minBet=" + toString(f)) + " maxBet=") + toString(g)) + " betStep=") + toString(h)))
110+ else throw("Bet amount is not in range")
206111 }
207112
208113
209-func ar (as) = if (if ((as >= 1))
210- then (100 >= as)
211- else false)
212- then toString(as)
213- else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(as)))
114+func P (Q) = if ((Q == 0))
115+ then "0"
116+ else if ((Q == 1))
117+ then "1"
118+ else throw(("Unsupported r parameter passed: expected=[0,...,1] actual=" + toString(Q)))
214119
215120
216-func at (aj,au) = {
217- let av = rsaVerify(SHA256, toBytes(aj), au, a)
218- if (av)
121+func R (I,S) = {
122+ let T = rsaVerify(SHA256, toBytes(I), S, a)
123+ if (T)
219124 then {
220- let aw = (toInt(sha256(au)) % 100)
221- if ((0 > aw))
222- then ((-1 * aw) + 1)
223- else (aw + 1)
125+ let U = (toInt(sha256(S)) % 2)
126+ if ((0 > U))
127+ then (-1 * U)
128+ else U
224129 }
225130 else throw("Invalid RSA signature")
226131 }
227132
228133
229-func ax (am,aw) = {
230- let ap = parseIntValue(am)
231- (ap >= aw)
134+func V (L,W) = {
135+ let X = size(L)
136+ if ((X == 1))
137+ then (L == W)
138+ else false
232139 }
233140
234141
235-func ay (az) = {
236- let aA = size(az)
237- if ((aA == 0))
142+func Y (Z) = {
143+ let X = size(Z)
144+ if ((X == 0))
238145 then throw("Parameter size must be greater then 0")
239- else if ((aA > 99))
146+ else if ((X > 99))
240147 then throw("Parameter size must be less then 100")
241- else if ((10 > aA))
242- then (("0" + toString(aA)) + az)
243- else (toString(aA) + az)
148+ else if ((10 > X))
149+ then (("0" + toString(X)) + Z)
150+ else (toString(X) + Z)
244151 }
245152
246153
247-func aB (aC,am,aD,aE,af,aF) = {
248- let aG = ((((((((ay(aC) + "_") + ay(am)) + "_") + ay(aD)) + "_") + ay(toString(aE))) + "_") + ay(toString(af)))
249- if ((aF == ""))
250- then aG
251- else ((aG + "_") + ay(aF))
154+func aa (ab,L,ac,ad,E,ae) = {
155+ let af = ((((((((Y(ab) + "_") + Y(L)) + "_") + Y(ac)) + "_") + Y(toString(ad))) + "_") + Y(toString(E)))
156+ if ((ae == ""))
157+ then af
158+ else ((af + "_") + Y(ae))
252159 }
253160
254161
255-func aH (aI) = if ((size(aI) > 0))
256- then drop(aI, 1)
257- else aI
162+func ag (ah) = if ((size(ah) > 0))
163+ then drop(ah, 1)
164+ else ah
258165
259166
260-func aJ (aI) = {
261- let aA = size(aI)
262- if ((aA > 0))
167+func ai (ah) = {
168+ let X = size(ah)
169+ if ((X > 0))
263170 then {
264- let aK = parseIntValue(take(aI, 2))
265- let aL = take(drop(aI, 2), aK)
266- let aM = drop(aI, (aK + 2))
267- let aN = aH(aM)
268-[aL, aN]
171+ let aj = parseIntValue(take(ah, 2))
172+ let ak = take(drop(ah, 2), aj)
173+ let al = drop(ah, (aj + 2))
174+ let am = ag(al)
175+[ak, am]
269176 }
270177 else throw("Empty string was passed into parseNextAttribute func")
271178 }
272179
273180
274-func aO (aP) = {
275- let aC = aJ(aP)
276- let am = aJ(aC[1])
277- let aD = aJ(am[1])
278- let aE = aJ(aD[1])
279- let af = aJ(aE[1])
280-[aC[0], am[0], aD[0], aE[0], af[0]]
181+func an (ao) = {
182+ let ab = ai(ao)
183+ let L = ai(ab[1])
184+ let ac = ai(L[1])
185+ let ad = ai(ac[1])
186+ let E = ai(ad[1])
187+[ab[0], L[0], ac[0], ad[0], E[0]]
281188 }
282189
283190
284-func aQ (aj) = {
285- let aR = {
286- let aa = getString(this, aj)
287- if ($isInstanceOf(aa, "String"))
191+func ap (I) = {
192+ let aq = {
193+ let z = getString(this, I)
194+ if ($isInstanceOf(z, "String"))
288195 then {
289- let aS = aa
290- aS
196+ let ar = z
197+ ar
291198 }
292- else throw(("Couldn't find game by " + aj))
199+ else throw(("Couldn't find game by " + I))
293200 }
294- aO(aR)
201+ an(aq)
295202 }
296203
297204
298-func aT (aj,aU,af,aV,aW,aX) = {
299- let aY = [aX]
300- let aZ = [ScriptTransfer(aU, af, unit)]
301- if (aW)
205+func as (I,at,E,au,av,aw) = {
206+ let ax = [aw]
207+ let ay = [ScriptTransfer(at, E, unit)]
208+ if (av)
302209 then {
303- let ba = ((aV + "_") + ay("TIMEOUT"))
304- let bb = DataEntry(aj, ba)
305- ScriptResult(WriteSet(bb :: aY), TransferSet(aZ))
210+ let az = ((au + "_") + Y("TIMEOUT"))
211+ let aA = DataEntry(I, az)
212+ ScriptResult(WriteSet(aA :: ax), TransferSet(ay))
306213 }
307214 else {
308- let bb = DataEntry(aj, aV)
309- ScriptResult(WriteSet(bb :: aY), TransferSet(aZ))
215+ let aA = DataEntry(I, au)
216+ ScriptResult(WriteSet(aA :: ax), TransferSet(ay))
310217 }
311218 }
312219
313220
314-@Callable(bc)
315-func bet (am) = {
316- let bd = Y()
317- let aj = toBase58String(bc.transactionId)
318- let be = extract(bc.payment)
319- let bf = isDefined(be.assetId)
320- let bg = isDefined(be.assetId)
321- let af = ak(be.amount, am)
322- let bh = isDefined(getString(this, aj))
323- if (bf)
324- then throw("Bet amount must be in Waves")
325- else if (bg)
326- then throw("Transaction's fee must be in Waves")
327- else if (bh)
328- then throw("Passed txId had been used before. Game aborted.")
329- else {
330- let aD = toBase58String(bc.callerPublicKey)
331- let bi = aB(V, am, aD, height, af, "")
332- ScriptResult(WriteSet([DataEntry(T, ae(af)), DataEntry(U, bd), DataEntry(aj, bi)]), TransferSet([ScriptTransfer(b, e, unit)]))
333- }
334- }
335-
336-
337-
338-@Callable(bc)
339-func withdraw (aj,au) = {
340- let bj = aQ(aj)
341- let aC = bj[N]
342- let am = bj[O]
343- let aE = parseIntValue(bj[Q])
344- let af = parseIntValue(bj[R])
345- let aD = bj[P]
346- let aU = addressFromPublicKey(fromBase58String(aD))
347- let aW = ((height - aE) > c)
348- let aX = ai(aj, af)
349- if ((aC != V))
221+@Callable(aB)
222+func withdraw (I,S) = {
223+ let aC = ap(I)
224+ let ab = aC[m]
225+ let L = aC[n]
226+ let ad = parseIntValue(aC[p])
227+ let E = parseIntValue(aC[q])
228+ let ac = aC[o]
229+ let at = addressFromPublicKey(fromBase58String(ac))
230+ let av = ((height - ad) > c)
231+ let aw = H(I, E)
232+ if ((ab != u))
350233 then throw("Invalid game state for passed gameId")
351- else if (aW)
234+ else if (av)
352235 then {
353- let bk = am
354- let aV = aB(W, am, aD, aE, af, bk)
355- aT(aj, aU, af, aV, aW, aX)
236+ let W = take(L, 1)
237+ let au = aa(v, L, ac, ad, E, W)
238+ as(I, at, E, au, av, aw)
356239 }
357240 else {
358- let aw = at(aj, au)
359- let bk = ar(aw)
360- if (ax(am, aw))
241+ let W = P(R(I, S))
242+ if (V(L, W))
361243 then {
362- let aV = aB(W, am, aD, aE, af, bk)
363- aT(aj, aU, af, aV, aW, aX)
244+ let au = aa(v, L, ac, ad, E, W)
245+ as(I, at, E, au, av, aw)
364246 }
365247 else {
366- let aV = aB(X, am, aD, aE, af, bk)
367- WriteSet([DataEntry(aj, aV), aX])
248+ let au = aa(w, L, ac, ad, E, W)
249+ WriteSet([DataEntry(I, au), aw])
368250 }
369251 }
370252 }
371253
372254
373-@Verifier(bl)
374-func bm () = if (sigVerify(bl.bodyBytes, bl.proofs[0], bl.senderPublicKey))
255+@Verifier(aD)
256+func aE () = if (sigVerify(aD.bodyBytes, aD.proofs[0], aD.senderPublicKey))
375257 then {
376- let aa = bl
377- if ($isInstanceOf(aa, "TransferTransaction"))
258+ let z = aD
259+ if ($isInstanceOf(z, "TransferTransaction"))
378260 then {
379- let bn = aa
380- ((wavesBalance(this) - bn.amount) >= ac())
261+ let aF = z
262+ ((wavesBalance(this) - aF.amount) >= B())
381263 }
382- else if ($isInstanceOf(aa, "SetScriptTransaction"))
264+ else if ($isInstanceOf(z, "SetScriptTransaction"))
383265 then {
384- let bo = aa
266+ let aG = z
385267 true
386268 }
387269 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlAiANSmBpDHYKP9sKgeN/l1bAb28g/tGlgDkwT5FiMN4X3pwdvdxE7mvSR8/41dU9rx4jG+6tZpb1ULVDPs431tR2IRaTXw5Cj+Ac2vhL+5JamCerGD1UW+bh/EGQtxo8W3YLDrofXB5QHJx4Pkz2Kgf+oS/C8hHuB/U4krO76U0507GTjZPP9kRQ0uLSMeqQXt8wXS+nMp5wajqxPpDLMaSREgsKwv/AEkP4dzpTYbikLBYl4qtdJsD84HLFSkiwd3BhcOrPjoIYmLxQuBD5TIMKTKD3sdZgaY9rsyqx3A00innyxD6zp3b4gFpUOX8JxKZdEC2myEqleNgg7GzwIDAQAB")
55
6-let b = addressFromStringValue("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH")
6+let b = addressFromStringValue("3NCiG28LmWyTigWG13E5QnvdHBsZFYXSS2j")
77
88 let c = 2880
99
1010 let d = ((100 * 1000) * 1000)
1111
1212 let e = ((5 * d) / 1000)
1313
14-let f = ((1 * d) / 2)
14+let f = (1 * d)
1515
16-let g = (6 * d)
16+let g = (2 * d)
1717
18-let h = ((1 * d) / 10)
18+let h = (4 * d)
1919
20-let i = 10000
20+let i = (8 * d)
2121
22-let j = 96
22+let j = (14 * d)
2323
24-let k = 94
24+let k = 10000
2525
26-let l = 9860
26+let l = 19000
2727
28-let m = 93
28+let m = 0
2929
30-let n = 87
30+let n = 1
3131
32-let o = 9800
32+let o = 2
3333
34-let p = 86
34+let p = 3
3535
36-let q = 86
36+let q = 4
3737
38-let r = 9750
38+let r = 5
3939
40-let s = 85
40+let s = "$RESERVED_AMOUNT"
4141
42-let t = 84
42+let t = "$GAME_NUM"
4343
44-let u = 9670
44+let u = "SUBMITTED"
4545
46-let v = 83
46+let v = "WON"
4747
48-let w = 83
48+let w = "LOST"
4949
50-let x = 9630
51-
52-let y = 82
53-
54-let z = 67
55-
56-let A = 9610
57-
58-let B = 66
59-
60-let C = 56
61-
62-let D = 9560
63-
64-let E = 55
65-
66-let F = 38
67-
68-let G = 9500
69-
70-let H = 37
71-
72-let I = 3
73-
74-let J = 9290
75-
76-let K = 2
77-
78-let L = 1
79-
80-let M = 9860
81-
82-let N = 0
83-
84-let O = 1
85-
86-let P = 2
87-
88-let Q = 3
89-
90-let R = 4
91-
92-let S = 5
93-
94-let T = "$RESERVED_AMOUNT"
95-
96-let U = "$GAME_NUM"
97-
98-let V = "SUBMITTED"
99-
100-let W = "WON"
101-
102-let X = "LOST"
103-
104-func Y () = {
105- let Z = {
106- let aa = getInteger(this, U)
107- if ($isInstanceOf(aa, "Int"))
50+func x () = {
51+ let y = {
52+ let z = getInteger(this, t)
53+ if ($isInstanceOf(z, "Int"))
10854 then {
109- let ab = aa
110- ab
55+ let A = z
56+ A
11157 }
11258 else 0
11359 }
114- (Z + 1)
60+ (y + 1)
11561 }
11662
11763
118-func ac () = {
119- let aa = getInteger(this, T)
120- if ($isInstanceOf(aa, "Int"))
64+func B () = {
65+ let z = getInteger(this, s)
66+ if ($isInstanceOf(z, "Int"))
12167 then {
122- let ad = aa
123- ad
68+ let C = z
69+ C
12470 }
12571 else 0
12672 }
12773
12874
129-func ae (af) = {
130- let ag = (ac() + af)
131- let ah = wavesBalance(this)
132- if ((ag > ah))
133- then throw("Insufficient funds on Waves Rider account. Transaction was rejected for your safety.")
134- else ag
75+func D (E) = {
76+ let F = (B() + E)
77+ let G = wavesBalance(this)
78+ if ((F > G))
79+ then throw("Insufficient funds on Dice Roller account. Transaction was rejected for your safety.")
80+ else F
13581 }
13682
13783
138-func ai (aj,af) = {
139- let ag = (ac() - af)
140- if ((0 > ag))
84+func H (I,E) = {
85+ let F = (B() - E)
86+ if ((0 > F))
14187 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
142- else DataEntry(T, ag)
88+ else DataEntry(s, F)
14389 }
14490
14591
146-func ak (al,am) = {
147- let an = (al - e)
148- let ao = if (if ((an >= f))
149- then (g >= an)
150- else false)
151- then ((an % h) == 0)
152- else false
153- if (ao)
92+func J (K,L) = {
93+ let M = if (if (if (if ((K == (f + e)))
94+ then true
95+ else (K == (g + e)))
96+ then true
97+ else (K == (h + e)))
98+ then true
99+ else (K == (i + e)))
100+ then true
101+ else (K == (j + e))
102+ if (M)
154103 then {
155- let ap = parseIntValue(am)
156- if (if ((ap >= 1))
157- then (96 >= ap)
158- else false)
159- then {
160- let aq = if (if ((j >= ap))
161- then (ap >= k)
162- else false)
163- then l
164- else if (if ((m >= ap))
165- then (ap >= n)
166- else false)
167- then o
168- else if (if ((p >= ap))
169- then (ap >= q)
170- else false)
171- then r
172- else if (if ((s >= ap))
173- then (ap >= t)
174- else false)
175- then u
176- else if (if ((v >= ap))
177- then (ap >= w)
178- else false)
179- then x
180- else if (if ((y >= ap))
181- then (ap >= z)
182- else false)
183- then A
184- else if (if ((B >= ap))
185- then (ap >= C)
186- else false)
187- then D
188- else if (if ((E >= ap))
189- then (ap >= F)
190- else false)
191- then G
192- else if (if ((H >= ap))
193- then (ap >= I)
194- else false)
195- then J
196- else if (if ((K >= ap))
197- then (ap >= L)
198- else false)
199- then M
200- else throw(("Couldn't define range: playerChoice=" + am))
201- ((((100 * aq) / ap) * an) / i)
202- }
203- else throw("Player choice is out of the condition below: 1 <= choice <= 96")
104+ let N = size(L)
105+ let O = (K - e)
106+ if ((N == 1))
107+ then ((O * l) / k)
108+ else throw("Invalid player's choice format")
204109 }
205- else throw(((((("Bet amount is not in range: minBet=" + toString(f)) + " maxBet=") + toString(g)) + " betStep=") + toString(h)))
110+ else throw("Bet amount is not in range")
206111 }
207112
208113
209-func ar (as) = if (if ((as >= 1))
210- then (100 >= as)
211- else false)
212- then toString(as)
213- else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(as)))
114+func P (Q) = if ((Q == 0))
115+ then "0"
116+ else if ((Q == 1))
117+ then "1"
118+ else throw(("Unsupported r parameter passed: expected=[0,...,1] actual=" + toString(Q)))
214119
215120
216-func at (aj,au) = {
217- let av = rsaVerify(SHA256, toBytes(aj), au, a)
218- if (av)
121+func R (I,S) = {
122+ let T = rsaVerify(SHA256, toBytes(I), S, a)
123+ if (T)
219124 then {
220- let aw = (toInt(sha256(au)) % 100)
221- if ((0 > aw))
222- then ((-1 * aw) + 1)
223- else (aw + 1)
125+ let U = (toInt(sha256(S)) % 2)
126+ if ((0 > U))
127+ then (-1 * U)
128+ else U
224129 }
225130 else throw("Invalid RSA signature")
226131 }
227132
228133
229-func ax (am,aw) = {
230- let ap = parseIntValue(am)
231- (ap >= aw)
134+func V (L,W) = {
135+ let X = size(L)
136+ if ((X == 1))
137+ then (L == W)
138+ else false
232139 }
233140
234141
235-func ay (az) = {
236- let aA = size(az)
237- if ((aA == 0))
142+func Y (Z) = {
143+ let X = size(Z)
144+ if ((X == 0))
238145 then throw("Parameter size must be greater then 0")
239- else if ((aA > 99))
146+ else if ((X > 99))
240147 then throw("Parameter size must be less then 100")
241- else if ((10 > aA))
242- then (("0" + toString(aA)) + az)
243- else (toString(aA) + az)
148+ else if ((10 > X))
149+ then (("0" + toString(X)) + Z)
150+ else (toString(X) + Z)
244151 }
245152
246153
247-func aB (aC,am,aD,aE,af,aF) = {
248- let aG = ((((((((ay(aC) + "_") + ay(am)) + "_") + ay(aD)) + "_") + ay(toString(aE))) + "_") + ay(toString(af)))
249- if ((aF == ""))
250- then aG
251- else ((aG + "_") + ay(aF))
154+func aa (ab,L,ac,ad,E,ae) = {
155+ let af = ((((((((Y(ab) + "_") + Y(L)) + "_") + Y(ac)) + "_") + Y(toString(ad))) + "_") + Y(toString(E)))
156+ if ((ae == ""))
157+ then af
158+ else ((af + "_") + Y(ae))
252159 }
253160
254161
255-func aH (aI) = if ((size(aI) > 0))
256- then drop(aI, 1)
257- else aI
162+func ag (ah) = if ((size(ah) > 0))
163+ then drop(ah, 1)
164+ else ah
258165
259166
260-func aJ (aI) = {
261- let aA = size(aI)
262- if ((aA > 0))
167+func ai (ah) = {
168+ let X = size(ah)
169+ if ((X > 0))
263170 then {
264- let aK = parseIntValue(take(aI, 2))
265- let aL = take(drop(aI, 2), aK)
266- let aM = drop(aI, (aK + 2))
267- let aN = aH(aM)
268-[aL, aN]
171+ let aj = parseIntValue(take(ah, 2))
172+ let ak = take(drop(ah, 2), aj)
173+ let al = drop(ah, (aj + 2))
174+ let am = ag(al)
175+[ak, am]
269176 }
270177 else throw("Empty string was passed into parseNextAttribute func")
271178 }
272179
273180
274-func aO (aP) = {
275- let aC = aJ(aP)
276- let am = aJ(aC[1])
277- let aD = aJ(am[1])
278- let aE = aJ(aD[1])
279- let af = aJ(aE[1])
280-[aC[0], am[0], aD[0], aE[0], af[0]]
181+func an (ao) = {
182+ let ab = ai(ao)
183+ let L = ai(ab[1])
184+ let ac = ai(L[1])
185+ let ad = ai(ac[1])
186+ let E = ai(ad[1])
187+[ab[0], L[0], ac[0], ad[0], E[0]]
281188 }
282189
283190
284-func aQ (aj) = {
285- let aR = {
286- let aa = getString(this, aj)
287- if ($isInstanceOf(aa, "String"))
191+func ap (I) = {
192+ let aq = {
193+ let z = getString(this, I)
194+ if ($isInstanceOf(z, "String"))
288195 then {
289- let aS = aa
290- aS
196+ let ar = z
197+ ar
291198 }
292- else throw(("Couldn't find game by " + aj))
199+ else throw(("Couldn't find game by " + I))
293200 }
294- aO(aR)
201+ an(aq)
295202 }
296203
297204
298-func aT (aj,aU,af,aV,aW,aX) = {
299- let aY = [aX]
300- let aZ = [ScriptTransfer(aU, af, unit)]
301- if (aW)
205+func as (I,at,E,au,av,aw) = {
206+ let ax = [aw]
207+ let ay = [ScriptTransfer(at, E, unit)]
208+ if (av)
302209 then {
303- let ba = ((aV + "_") + ay("TIMEOUT"))
304- let bb = DataEntry(aj, ba)
305- ScriptResult(WriteSet(bb :: aY), TransferSet(aZ))
210+ let az = ((au + "_") + Y("TIMEOUT"))
211+ let aA = DataEntry(I, az)
212+ ScriptResult(WriteSet(aA :: ax), TransferSet(ay))
306213 }
307214 else {
308- let bb = DataEntry(aj, aV)
309- ScriptResult(WriteSet(bb :: aY), TransferSet(aZ))
215+ let aA = DataEntry(I, au)
216+ ScriptResult(WriteSet(aA :: ax), TransferSet(ay))
310217 }
311218 }
312219
313220
314-@Callable(bc)
315-func bet (am) = {
316- let bd = Y()
317- let aj = toBase58String(bc.transactionId)
318- let be = extract(bc.payment)
319- let bf = isDefined(be.assetId)
320- let bg = isDefined(be.assetId)
321- let af = ak(be.amount, am)
322- let bh = isDefined(getString(this, aj))
323- if (bf)
324- then throw("Bet amount must be in Waves")
325- else if (bg)
326- then throw("Transaction's fee must be in Waves")
327- else if (bh)
328- then throw("Passed txId had been used before. Game aborted.")
329- else {
330- let aD = toBase58String(bc.callerPublicKey)
331- let bi = aB(V, am, aD, height, af, "")
332- ScriptResult(WriteSet([DataEntry(T, ae(af)), DataEntry(U, bd), DataEntry(aj, bi)]), TransferSet([ScriptTransfer(b, e, unit)]))
333- }
334- }
335-
336-
337-
338-@Callable(bc)
339-func withdraw (aj,au) = {
340- let bj = aQ(aj)
341- let aC = bj[N]
342- let am = bj[O]
343- let aE = parseIntValue(bj[Q])
344- let af = parseIntValue(bj[R])
345- let aD = bj[P]
346- let aU = addressFromPublicKey(fromBase58String(aD))
347- let aW = ((height - aE) > c)
348- let aX = ai(aj, af)
349- if ((aC != V))
221+@Callable(aB)
222+func withdraw (I,S) = {
223+ let aC = ap(I)
224+ let ab = aC[m]
225+ let L = aC[n]
226+ let ad = parseIntValue(aC[p])
227+ let E = parseIntValue(aC[q])
228+ let ac = aC[o]
229+ let at = addressFromPublicKey(fromBase58String(ac))
230+ let av = ((height - ad) > c)
231+ let aw = H(I, E)
232+ if ((ab != u))
350233 then throw("Invalid game state for passed gameId")
351- else if (aW)
234+ else if (av)
352235 then {
353- let bk = am
354- let aV = aB(W, am, aD, aE, af, bk)
355- aT(aj, aU, af, aV, aW, aX)
236+ let W = take(L, 1)
237+ let au = aa(v, L, ac, ad, E, W)
238+ as(I, at, E, au, av, aw)
356239 }
357240 else {
358- let aw = at(aj, au)
359- let bk = ar(aw)
360- if (ax(am, aw))
241+ let W = P(R(I, S))
242+ if (V(L, W))
361243 then {
362- let aV = aB(W, am, aD, aE, af, bk)
363- aT(aj, aU, af, aV, aW, aX)
244+ let au = aa(v, L, ac, ad, E, W)
245+ as(I, at, E, au, av, aw)
364246 }
365247 else {
366- let aV = aB(X, am, aD, aE, af, bk)
367- WriteSet([DataEntry(aj, aV), aX])
248+ let au = aa(w, L, ac, ad, E, W)
249+ WriteSet([DataEntry(I, au), aw])
368250 }
369251 }
370252 }
371253
372254
373-@Verifier(bl)
374-func bm () = if (sigVerify(bl.bodyBytes, bl.proofs[0], bl.senderPublicKey))
255+@Verifier(aD)
256+func aE () = if (sigVerify(aD.bodyBytes, aD.proofs[0], aD.senderPublicKey))
375257 then {
376- let aa = bl
377- if ($isInstanceOf(aa, "TransferTransaction"))
258+ let z = aD
259+ if ($isInstanceOf(z, "TransferTransaction"))
378260 then {
379- let bn = aa
380- ((wavesBalance(this) - bn.amount) >= ac())
261+ let aF = z
262+ ((wavesBalance(this) - aF.amount) >= B())
381263 }
382- else if ($isInstanceOf(aa, "SetScriptTransaction"))
264+ else if ($isInstanceOf(z, "SetScriptTransaction"))
383265 then {
384- let bo = aa
266+ let aG = z
385267 true
386268 }
387269 else false
388270 }
389271 else false
390272

github/deemru/w8io/169f3d6 
89.35 ms