tx · F7DASibMaqREShmHN5RRKvJA9KxLtHHhas9U5AtHWq3q

3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk:  -0.01000000 Waves

2022.08.03 02:45 [2167554] smart account 3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk > SELF 0.00000000 Waves

{ "type": 13, "id": "F7DASibMaqREShmHN5RRKvJA9KxLtHHhas9U5AtHWq3q", "fee": 1000000, "feeAssetId": null, "timestamp": 1659483990709, "version": 2, "chainId": 84, "sender": "3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk", "senderPublicKey": "AR4BeE6hYADMvKxgRQs4ADN3krEqb2j8WE3WfJxzL3zE", "proofs": [ "3KLWtGoF1k4ebfKuqjiNFtW8mDQtvUW5uP38nhEbwQyqk4wrZv1NVhw9ymnAdWCc8frig6rwiwaiUzL3J6rK3P5r" ], "script": "base64:BgIjCAISAwoBCBIAEgUKAwgIARIECgIIARIAEgUKAwgICBIAEgARAAV3YXZlcwCAwtcvAA50aWNrZXRQcmljZUludADAhD0AC3RpY2tldFByaWNlBQ50aWNrZXRQcmljZUludAAGaW52RmVlAKDCHgASd2l0aGRyYXdGZWVQZXJjZW50AAUAFmZlZUNvbGxlY3RvckFkZHJlc3NLZXkCE2ZlZUNvbGxlY3RvckFkZHJlc3MADmRlcG9zaXRBc3NldElkAiw1dWUxZml1VjZqNlVCcjZYZjI4UW1zNnk1RnF6S3RxdmF4eGh3dTdoVFE1OAENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAESZ2V0VGlja2V0c0NvdW50S2V5AQ1hZGRyZXNzU3RyaW5nCQCsAgIFDWFkZHJlc3NTdHJpbmcCDV90aWNrZXRzQ291bnQBDWdhbWVXaW5uZXJLZXkBBmdhbWVJZAkArAICBQZnYW1lSWQCB193aW5uZXIBGGFkZHJlc3NBdmFpbGFibGVGdW5kc0tleQEHYWRkcmVzcwkArAICBQdhZGRyZXNzAg9fYXZhaWxhYmxlRnVuZHMBGmFkZHJlc3NUb3RhbExvY2tlZEZ1bmRzS2V5AQdhZGRyZXNzCQCsAgIFB2FkZHJlc3MCEV90b3RhbExvY2tlZEZ1bmRzASFhZGRyZXNzTG9ja2VkRnVuZHNUb3RhbEhpc3RvcnlLZXkBB2FkZHJlc3MJAKwCAgUHYWRkcmVzcwIYX2xvY2tlZEZ1bmRzVG90YWxIaXN0b3J5ARxhZGRyZXNzTG9ja2VkRnVuZHNGb3JHYW1lS2V5AgdhZGRyZXNzBmdhbWVJZAkArAICCQCsAgIFB2FkZHJlc3MCDV9sb2NrZWRGdW5kc18FBmdhbWVJZAEaYWRkcmVzc0F2YWlsYWJsZVJld2FyZHNLZXkBB2FkZHJlc3MJAKwCAgUHYWRkcmVzcwIRX2F2YWlsYWJsZVJld2FyZHMBD2dldFRpY2tldHNDb3VudAENYWRkcmVzc1N0cmluZwkBDXRyeUdldEludGVnZXIBCQESZ2V0VGlja2V0c0NvdW50S2V5AQUNYWRkcmVzc1N0cmluZwENY29uc3VtZVRpY2tldAEKcGxheWVyQWRkcgQSY3VycmVudFRpY2tldENvdW50CQEPZ2V0VGlja2V0c0NvdW50AQUKcGxheWVyQWRkcgQVbmV3Q3VycmVudFRpY2tldENvdW50CQBlAgUSY3VycmVudFRpY2tldENvdW50AAEDCQBmAgAABRVuZXdDdXJyZW50VGlja2V0Q291bnQAAAUVbmV3Q3VycmVudFRpY2tldENvdW50CAFpARZzZXRGZWVDb2xsZWN0b3JBZGRyZXNzAQ1jb2xsZWN0b3JBZGRyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKQWRtaW4gT25seQkAzAgCCQELU3RyaW5nRW50cnkCBRZmZWVDb2xsZWN0b3JBZGRyZXNzS2V5BQ1jb2xsZWN0b3JBZGRyBQNuaWwBaQEMZGVwb3NpdEZ1bmRzAAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIhUGxlYXNlIGF0dGFjaCBleGFjdGx5IG9uZSBwYXltZW50AwkBAiE9AggFA3BtdAdhc3NldElkCQDZBAEFDmRlcG9zaXRBc3NldElkCQACAQIZWW91IGNhbiBvbmx5IGRlcG9zaXQgVVNETgQNY2FsbGVyQWRkclN0cgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBBVjdXJyZW50QXZhaWxhYmxlRnVuZHMJAQ10cnlHZXRJbnRlZ2VyAQkBGGFkZHJlc3NBdmFpbGFibGVGdW5kc0tleQEFDWNhbGxlckFkZHJTdHIJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGFkZHJlc3NBdmFpbGFibGVGdW5kc0tleQEFDWNhbGxlckFkZHJTdHIJAGQCBRVjdXJyZW50QXZhaWxhYmxlRnVuZHMIBQNwbXQGYW1vdW50BQNuaWwAAQFpAQ5wbGF5ZXJFeGl0R2FtZQMGZ2FtZUlkCnBsYXllckFkZHIPZXhpdFN0YWNrQW1vdW50AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKQWRtaW4gT25seQQXY3VycmVudFRvdGFsTG9ja2VkRnVuZHMJAQ10cnlHZXRJbnRlZ2VyAQkBGmFkZHJlc3NUb3RhbExvY2tlZEZ1bmRzS2V5AQUKcGxheWVyQWRkcgQVY3VycmVudEF2YWlsYWJsZUZ1bmRzCQENdHJ5R2V0SW50ZWdlcgEJARhhZGRyZXNzQXZhaWxhYmxlRnVuZHNLZXkBBQpwbGF5ZXJBZGRyBCBjdXJyZW50R2FtZUxvY2tlZEFtb3VudEZvclBsYXllcgkBDXRyeUdldEludGVnZXIBCQEcYWRkcmVzc0xvY2tlZEZ1bmRzRm9yR2FtZUtleQIFCnBsYXllckFkZHIFBmdhbWVJZAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYYWRkcmVzc0F2YWlsYWJsZUZ1bmRzS2V5AQUKcGxheWVyQWRkcgkAZAIFFWN1cnJlbnRBdmFpbGFibGVGdW5kcwUPZXhpdFN0YWNrQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBBQpwbGF5ZXJBZGRyCQBlAgUXY3VycmVudFRvdGFsTG9ja2VkRnVuZHMFIGN1cnJlbnRHYW1lTG9ja2VkQW1vdW50Rm9yUGxheWVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEcYWRkcmVzc0xvY2tlZEZ1bmRzRm9yR2FtZUtleQIFCnBsYXllckFkZHIFBmdhbWVJZAAABQNuaWwAAQFpARBsb2NrRnVuZHNGb3JHYW1lAgZnYW1lSWQMYW1vdW50VG9Mb2NrBA1jYWxsZXJBZGRyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEFWN1cnJlbnRBdmFpbGFibGVGdW5kcwkBDXRyeUdldEludGVnZXIBCQEYYWRkcmVzc0F2YWlsYWJsZUZ1bmRzS2V5AQUNY2FsbGVyQWRkclN0cgQXY3VycmVudFRvdGFsTG9ja2VkRnVuZHMJAQ10cnlHZXRJbnRlZ2VyAQkBGmFkZHJlc3NUb3RhbExvY2tlZEZ1bmRzS2V5AQUNY2FsbGVyQWRkclN0cgQeY3VycmVudExvY2tlZEZ1bmRzVG90YWxIaXN0b3J5CQENdHJ5R2V0SW50ZWdlcgEJASFhZGRyZXNzTG9ja2VkRnVuZHNUb3RhbEhpc3RvcnlLZXkBBQ1jYWxsZXJBZGRyU3RyAwkAZgIFDGFtb3VudFRvTG9jawUVY3VycmVudEF2YWlsYWJsZUZ1bmRzCQACAQIiTm90IGVub3VnaCBhdmFpbGFibGUgZnVuZHMgdG8gbG9jawkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYYWRkcmVzc0F2YWlsYWJsZUZ1bmRzS2V5AQUNY2FsbGVyQWRkclN0cgkAZQIFFWN1cnJlbnRBdmFpbGFibGVGdW5kcwUMYW1vdW50VG9Mb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBBQ1jYWxsZXJBZGRyU3RyCQBkAgUXY3VycmVudFRvdGFsTG9ja2VkRnVuZHMFDGFtb3VudFRvTG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgkBIWFkZHJlc3NMb2NrZWRGdW5kc1RvdGFsSGlzdG9yeUtleQEFDWNhbGxlckFkZHJTdHIJAGQCBR5jdXJyZW50TG9ja2VkRnVuZHNUb3RhbEhpc3RvcnkFDGFtb3VudFRvTG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHGFkZHJlc3NMb2NrZWRGdW5kc0ZvckdhbWVLZXkCBQ1jYWxsZXJBZGRyU3RyBQZnYW1lSWQFDGFtb3VudFRvTG9jawUDbmlsAAEBaQENd2l0aGRyYXdGdW5kcwAEDWNhbGxlckFkZHJTdHIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQQZmVlQ29sbGVjdG9yQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUWZmVlQ29sbGVjdG9yQWRkcmVzc0tleQQVY3VycmVudEF2YWlsYWJsZUZ1bmRzCQENdHJ5R2V0SW50ZWdlcgEJARhhZGRyZXNzQXZhaWxhYmxlRnVuZHNLZXkBBQ1jYWxsZXJBZGRyU3RyBAt3aXRoZHJhd0ZlZQkAawMFFWN1cnJlbnRBdmFpbGFibGVGdW5kcwUSd2l0aGRyYXdGZWVQZXJjZW50AGQEFGFjdHVhbEF2YWlsYWJsZUZ1bmRzCQBlAgUVY3VycmVudEF2YWlsYWJsZUZ1bmRzBQt3aXRoZHJhd0ZlZQMJAGcCAAAFFGFjdHVhbEF2YWlsYWJsZUZ1bmRzCQACAQIeTm8gYXZhaWxhYmxlIGZ1bmRzIHRvIHdpdGhkcmF3CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYYWRkcmVzc0F2YWlsYWJsZUZ1bmRzS2V5AQUNY2FsbGVyQWRkclN0cgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUUYWN0dWFsQXZhaWxhYmxlRnVuZHMJANkEAQUOZGVwb3NpdEFzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUQZmVlQ29sbGVjdG9yQWRkcgULd2l0aGRyYXdGZWUJANkEAQUOZGVwb3NpdEFzc2V0SWQFA25pbAFpARBzZXRXaW5uZXJIZWFkc1VwAwZnYW1lSWQNd2lubmVyQWRkclN0cg9vdGhlclBsYXllckFkZHIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgpBZG1pbiBPbmx5BBNhdmFpbGFibGVSZXdhcmRzS2V5CQEaYWRkcmVzc0F2YWlsYWJsZVJld2FyZHNLZXkBBQ13aW5uZXJBZGRyU3RyBBdjdXJyZW50QXZhaWxhYmxlUmV3YXJkcwkBDXRyeUdldEludGVnZXIBBRNhdmFpbGFibGVSZXdhcmRzS2V5BBRuZXdUaWNrZXRDb3VudFdpbm5lcgkBDWNvbnN1bWVUaWNrZXQBBQ13aW5uZXJBZGRyU3RyBBluZXdUaWNrZXRDb3VudE90aGVyUGxheWVyCQENY29uc3VtZVRpY2tldAEFD290aGVyUGxheWVyQWRkcgkAzAgCCQELU3RyaW5nRW50cnkCCQENZ2FtZVdpbm5lcktleQEFBmdhbWVJZAUNd2lubmVyQWRkclN0cgkAzAgCCQEMSW50ZWdlckVudHJ5AgUTYXZhaWxhYmxlUmV3YXJkc0tleQkAZAIFF2N1cnJlbnRBdmFpbGFibGVSZXdhcmRzCQBoAgULdGlja2V0UHJpY2UAAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEmdldFRpY2tldHNDb3VudEtleQEFDXdpbm5lckFkZHJTdHIFFG5ld1RpY2tldENvdW50V2lubmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQESZ2V0VGlja2V0c0NvdW50S2V5AQUPb3RoZXJQbGF5ZXJBZGRyBRluZXdUaWNrZXRDb3VudE90aGVyUGxheWVyBQNuaWwBaQEPd2l0aGRyYXdSZXdhcmRzAAQNY2FsbGVyQWRkclN0cgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBBBmZWVDb2xsZWN0b3JBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBRZmZWVDb2xsZWN0b3JBZGRyZXNzS2V5BBdjdXJyZW50QXZhaWxhYmxlUmV3YXJkcwkBDXRyeUdldEludGVnZXIBCQEaYWRkcmVzc0F2YWlsYWJsZVJld2FyZHNLZXkBBQ1jYWxsZXJBZGRyU3RyBAt3aXRoZHJhd0ZlZQkAawMFF2N1cnJlbnRBdmFpbGFibGVSZXdhcmRzBRJ3aXRoZHJhd0ZlZVBlcmNlbnQAZAQWYWN0dWFsQXZhaWxhYmxlUmV3YXJkcwkAZQIJAGUCBRdjdXJyZW50QXZhaWxhYmxlUmV3YXJkcwUGaW52RmVlBQt3aXRoZHJhd0ZlZQMJAGcCAAAFF2N1cnJlbnRBdmFpbGFibGVSZXdhcmRzCQACAQIgTm8gYXZhaWxhYmxlIHJld2FyZHMgdG8gd2l0aGRyYXcJAMwIAgkBDEludGVnZXJFbnRyeQIJARphZGRyZXNzQXZhaWxhYmxlUmV3YXJkc0tleQEFDWNhbGxlckFkZHJTdHIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFFmFjdHVhbEF2YWlsYWJsZVJld2FyZHMFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUQZmVlQ29sbGVjdG9yQWRkcgULd2l0aGRyYXdGZWUFBHVuaXQFA25pbAFpAQpidXlUaWNrZXRzAAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIhUGxlYXNlIGF0dGFjaCBleGFjdGx5IG9uZSBwYXltZW50AwkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAkAAgECJ1RpY2tldHMgY2FuIG9ubHkgaWJlIHB1cmNoYXNlZCBpbiBXYXZlcwMJAQIhPQIIBQNwbXQGYW1vdW50BQt0aWNrZXRQcmljZQkAAgEJAKwCAgkArAICAh9UaGUgcGF5bWVudCBtdXN0IGJlIG9mIGV4YWN0bHkgCQCkAwEFDnRpY2tldFByaWNlSW50AgYgd2F2ZXMEDWNhbGxlckFkZHJTdHIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQTY3VycmVudFRpY2tldHNDb3VudAkBDXRyeUdldEludGVnZXIBCQESZ2V0VGlja2V0c0NvdW50S2V5AQUNY2FsbGVyQWRkclN0cgkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQESZ2V0VGlja2V0c0NvdW50S2V5AQUNY2FsbGVyQWRkclN0cgkAZAIFE2N1cnJlbnRUaWNrZXRzQ291bnQAAQUDbmlsAAEBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5OqYpag==", "height": 2167554, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FTFWuXbYyq8zjwFy9HFTPir7s42q8cQTr4SsL67f7j3V Next: 3u4MqWFpo79MyPqXPF7Q9ofjw2BY9hm7SRauNoSRhnyx Diff:
OldNewDifferences
3838 func r (q) = (q + "_totalLockedFunds")
3939
4040
41-func s (q,o) = ((q + "_lockedFunds_") + o)
41+func s (q) = (q + "_lockedFundsTotalHistory")
4242
4343
44-func t (q) = (q + "_availableRewards")
44+func t (q,o) = ((q + "_lockedFunds_") + o)
4545
4646
47-func u (m) = h(l(m))
47+func u (q) = (q + "_availableRewards")
4848
4949
50-func v (w) = {
51- let x = u(w)
52- let y = (x - 1)
53- if ((0 > y))
50+func v (m) = h(l(m))
51+
52+
53+func w (x) = {
54+ let y = v(x)
55+ let z = (y - 1)
56+ if ((0 > z))
5457 then 0
55- else y
58+ else z
5659 }
5760
5861
59-@Callable(z)
60-func setFeeCollectorAddress (A) = if ((z.caller != this))
62+@Callable(A)
63+func setFeeCollectorAddress (B) = if ((A.caller != this))
6164 then throw("Admin Only")
62- else [StringEntry(f, A)]
65+ else [StringEntry(f, B)]
6366
6467
6568
66-@Callable(z)
69+@Callable(A)
6770 func depositFunds () = {
68- let B = if ((size(z.payments) == 1))
69- then z.payments[0]
71+ let C = if ((size(A.payments) == 1))
72+ then A.payments[0]
7073 else throw("Please attach exactly one payment")
71- if ((B.assetId != fromBase58String(g)))
74+ if ((C.assetId != fromBase58String(g)))
7275 then throw("You can only deposit USDN")
7376 else {
74- let C = toBase58String(z.caller.bytes)
75- let D = h(p(C))
76- $Tuple2([IntegerEntry(p(C), (D + B.amount))], 1)
77+ let D = toBase58String(A.caller.bytes)
78+ let E = h(p(D))
79+ $Tuple2([IntegerEntry(p(D), (E + C.amount))], 1)
7780 }
7881 }
7982
8083
8184
82-@Callable(z)
83-func playerExitGame (o,w,E) = if ((z.caller != this))
85+@Callable(A)
86+func playerExitGame (o,x,F) = if ((A.caller != this))
8487 then throw("Admin Only")
8588 else {
86- let F = h(r(w))
87- let D = h(p(w))
88- let G = h(s(w, o))
89- $Tuple2([IntegerEntry(p(w), (D + E)), IntegerEntry(r(w), (F - G)), IntegerEntry(s(w, o), 0)], 1)
89+ let G = h(r(x))
90+ let E = h(p(x))
91+ let H = h(t(x, o))
92+ $Tuple2([IntegerEntry(p(x), (E + F)), IntegerEntry(r(x), (G - H)), IntegerEntry(t(x, o), 0)], 1)
9093 }
9194
9295
9396
94-@Callable(z)
95-func lockFundsForGame (o,H) = {
96- let C = toBase58String(z.caller.bytes)
97- let D = h(p(C))
98- let F = h(r(C))
99- if ((H > D))
97+@Callable(A)
98+func lockFundsForGame (o,I) = {
99+ let D = toBase58String(A.caller.bytes)
100+ let E = h(p(D))
101+ let G = h(r(D))
102+ let J = h(s(D))
103+ if ((I > E))
100104 then throw("Not enough available funds to lock")
101- else $Tuple2([IntegerEntry(p(C), (D - H)), IntegerEntry(r(C), (F + H)), IntegerEntry(s(C, o), H)], 1)
105+ else $Tuple2([IntegerEntry(p(D), (E - I)), IntegerEntry(r(D), (G + I)), IntegerEntry(s(D), (J + I)), IntegerEntry(t(D, o), I)], 1)
102106 }
103107
104108
105109
106-@Callable(z)
110+@Callable(A)
107111 func withdrawFunds () = {
108- let C = toBase58String(z.caller.bytes)
109- let I = addressFromStringValue(getStringValue(f))
110- let D = h(p(C))
111- let J = fraction(D, e, 100)
112- let K = (D - J)
113- if ((0 >= K))
112+ let D = toBase58String(A.caller.bytes)
113+ let K = addressFromStringValue(getStringValue(f))
114+ let E = h(p(D))
115+ let L = fraction(E, e, 100)
116+ let M = (E - L)
117+ if ((0 >= M))
114118 then throw("No available funds to withdraw")
115- else [IntegerEntry(p(C), 0), ScriptTransfer(z.caller, K, fromBase58String(g)), ScriptTransfer(I, J, fromBase58String(g))]
119+ else [IntegerEntry(p(D), 0), ScriptTransfer(A.caller, M, fromBase58String(g)), ScriptTransfer(K, L, fromBase58String(g))]
116120 }
117121
118122
119123
120-@Callable(z)
121-func setWinnerHeadsUp (o,L,M) = if ((z.caller != this))
124+@Callable(A)
125+func setWinnerHeadsUp (o,N,O) = if ((A.caller != this))
122126 then throw("Admin Only")
123127 else {
124- let N = t(L)
125- let O = h(N)
126- let P = v(L)
127- let Q = v(M)
128-[StringEntry(n(o), L), IntegerEntry(N, (O + (c * 2))), IntegerEntry(l(L), P), IntegerEntry(l(M), Q)]
128+ let P = u(N)
129+ let Q = h(P)
130+ let R = w(N)
131+ let S = w(O)
132+[StringEntry(n(o), N), IntegerEntry(P, (Q + (c * 2))), IntegerEntry(l(N), R), IntegerEntry(l(O), S)]
129133 }
130134
131135
132136
133-@Callable(z)
137+@Callable(A)
134138 func withdrawRewards () = {
135- let C = toBase58String(z.caller.bytes)
136- let I = addressFromStringValue(getStringValue(f))
137- let O = h(t(C))
138- let J = fraction(O, e, 100)
139- let R = ((O - d) - J)
140- if ((0 >= O))
139+ let D = toBase58String(A.caller.bytes)
140+ let K = addressFromStringValue(getStringValue(f))
141+ let Q = h(u(D))
142+ let L = fraction(Q, e, 100)
143+ let T = ((Q - d) - L)
144+ if ((0 >= Q))
141145 then throw("No available rewards to withdraw")
142- else [IntegerEntry(t(C), 0), ScriptTransfer(z.caller, R, unit), ScriptTransfer(I, J, unit)]
146+ else [IntegerEntry(u(D), 0), ScriptTransfer(A.caller, T, unit), ScriptTransfer(K, L, unit)]
143147 }
144148
145149
146150
147-@Callable(z)
151+@Callable(A)
148152 func buyTickets () = {
149- let B = if ((size(z.payments) == 1))
150- then z.payments[0]
153+ let C = if ((size(A.payments) == 1))
154+ then A.payments[0]
151155 else throw("Please attach exactly one payment")
152- if (isDefined(B.assetId))
156+ if (isDefined(C.assetId))
153157 then throw("Tickets can only ibe purchased in Waves")
154- else if ((B.amount != c))
158+ else if ((C.amount != c))
155159 then throw((("The payment must be of exactly " + toString(b)) + " waves"))
156160 else {
157- let C = toBase58String(z.caller.bytes)
158- let S = h(l(C))
159- $Tuple2([IntegerEntry(l(C), (S + 1))], 1)
161+ let D = toBase58String(A.caller.bytes)
162+ let U = h(l(D))
163+ $Tuple2([IntegerEntry(l(D), (U + 1))], 1)
160164 }
161165 }
162166
163167
164-@Verifier(T)
165-func U () = sigVerify(T.bodyBytes, T.proofs[0], T.senderPublicKey)
168+@Verifier(V)
169+func W () = sigVerify(V.bodyBytes, V.proofs[0], V.senderPublicKey)
166170
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = 1000000
77
88 let c = b
99
1010 let d = 500000
1111
1212 let e = 5
1313
1414 let f = "feeCollectorAddress"
1515
1616 let g = "5ue1fiuV6j6UBr6Xf28Qms6y5FqzKtqvaxxhwu7hTQ58"
1717
1818 func h (i) = {
1919 let j = getInteger(this, i)
2020 if ($isInstanceOf(j, "Int"))
2121 then {
2222 let k = j
2323 k
2424 }
2525 else 0
2626 }
2727
2828
2929 func l (m) = (m + "_ticketsCount")
3030
3131
3232 func n (o) = (o + "_winner")
3333
3434
3535 func p (q) = (q + "_availableFunds")
3636
3737
3838 func r (q) = (q + "_totalLockedFunds")
3939
4040
41-func s (q,o) = ((q + "_lockedFunds_") + o)
41+func s (q) = (q + "_lockedFundsTotalHistory")
4242
4343
44-func t (q) = (q + "_availableRewards")
44+func t (q,o) = ((q + "_lockedFunds_") + o)
4545
4646
47-func u (m) = h(l(m))
47+func u (q) = (q + "_availableRewards")
4848
4949
50-func v (w) = {
51- let x = u(w)
52- let y = (x - 1)
53- if ((0 > y))
50+func v (m) = h(l(m))
51+
52+
53+func w (x) = {
54+ let y = v(x)
55+ let z = (y - 1)
56+ if ((0 > z))
5457 then 0
55- else y
58+ else z
5659 }
5760
5861
59-@Callable(z)
60-func setFeeCollectorAddress (A) = if ((z.caller != this))
62+@Callable(A)
63+func setFeeCollectorAddress (B) = if ((A.caller != this))
6164 then throw("Admin Only")
62- else [StringEntry(f, A)]
65+ else [StringEntry(f, B)]
6366
6467
6568
66-@Callable(z)
69+@Callable(A)
6770 func depositFunds () = {
68- let B = if ((size(z.payments) == 1))
69- then z.payments[0]
71+ let C = if ((size(A.payments) == 1))
72+ then A.payments[0]
7073 else throw("Please attach exactly one payment")
71- if ((B.assetId != fromBase58String(g)))
74+ if ((C.assetId != fromBase58String(g)))
7275 then throw("You can only deposit USDN")
7376 else {
74- let C = toBase58String(z.caller.bytes)
75- let D = h(p(C))
76- $Tuple2([IntegerEntry(p(C), (D + B.amount))], 1)
77+ let D = toBase58String(A.caller.bytes)
78+ let E = h(p(D))
79+ $Tuple2([IntegerEntry(p(D), (E + C.amount))], 1)
7780 }
7881 }
7982
8083
8184
82-@Callable(z)
83-func playerExitGame (o,w,E) = if ((z.caller != this))
85+@Callable(A)
86+func playerExitGame (o,x,F) = if ((A.caller != this))
8487 then throw("Admin Only")
8588 else {
86- let F = h(r(w))
87- let D = h(p(w))
88- let G = h(s(w, o))
89- $Tuple2([IntegerEntry(p(w), (D + E)), IntegerEntry(r(w), (F - G)), IntegerEntry(s(w, o), 0)], 1)
89+ let G = h(r(x))
90+ let E = h(p(x))
91+ let H = h(t(x, o))
92+ $Tuple2([IntegerEntry(p(x), (E + F)), IntegerEntry(r(x), (G - H)), IntegerEntry(t(x, o), 0)], 1)
9093 }
9194
9295
9396
94-@Callable(z)
95-func lockFundsForGame (o,H) = {
96- let C = toBase58String(z.caller.bytes)
97- let D = h(p(C))
98- let F = h(r(C))
99- if ((H > D))
97+@Callable(A)
98+func lockFundsForGame (o,I) = {
99+ let D = toBase58String(A.caller.bytes)
100+ let E = h(p(D))
101+ let G = h(r(D))
102+ let J = h(s(D))
103+ if ((I > E))
100104 then throw("Not enough available funds to lock")
101- else $Tuple2([IntegerEntry(p(C), (D - H)), IntegerEntry(r(C), (F + H)), IntegerEntry(s(C, o), H)], 1)
105+ else $Tuple2([IntegerEntry(p(D), (E - I)), IntegerEntry(r(D), (G + I)), IntegerEntry(s(D), (J + I)), IntegerEntry(t(D, o), I)], 1)
102106 }
103107
104108
105109
106-@Callable(z)
110+@Callable(A)
107111 func withdrawFunds () = {
108- let C = toBase58String(z.caller.bytes)
109- let I = addressFromStringValue(getStringValue(f))
110- let D = h(p(C))
111- let J = fraction(D, e, 100)
112- let K = (D - J)
113- if ((0 >= K))
112+ let D = toBase58String(A.caller.bytes)
113+ let K = addressFromStringValue(getStringValue(f))
114+ let E = h(p(D))
115+ let L = fraction(E, e, 100)
116+ let M = (E - L)
117+ if ((0 >= M))
114118 then throw("No available funds to withdraw")
115- else [IntegerEntry(p(C), 0), ScriptTransfer(z.caller, K, fromBase58String(g)), ScriptTransfer(I, J, fromBase58String(g))]
119+ else [IntegerEntry(p(D), 0), ScriptTransfer(A.caller, M, fromBase58String(g)), ScriptTransfer(K, L, fromBase58String(g))]
116120 }
117121
118122
119123
120-@Callable(z)
121-func setWinnerHeadsUp (o,L,M) = if ((z.caller != this))
124+@Callable(A)
125+func setWinnerHeadsUp (o,N,O) = if ((A.caller != this))
122126 then throw("Admin Only")
123127 else {
124- let N = t(L)
125- let O = h(N)
126- let P = v(L)
127- let Q = v(M)
128-[StringEntry(n(o), L), IntegerEntry(N, (O + (c * 2))), IntegerEntry(l(L), P), IntegerEntry(l(M), Q)]
128+ let P = u(N)
129+ let Q = h(P)
130+ let R = w(N)
131+ let S = w(O)
132+[StringEntry(n(o), N), IntegerEntry(P, (Q + (c * 2))), IntegerEntry(l(N), R), IntegerEntry(l(O), S)]
129133 }
130134
131135
132136
133-@Callable(z)
137+@Callable(A)
134138 func withdrawRewards () = {
135- let C = toBase58String(z.caller.bytes)
136- let I = addressFromStringValue(getStringValue(f))
137- let O = h(t(C))
138- let J = fraction(O, e, 100)
139- let R = ((O - d) - J)
140- if ((0 >= O))
139+ let D = toBase58String(A.caller.bytes)
140+ let K = addressFromStringValue(getStringValue(f))
141+ let Q = h(u(D))
142+ let L = fraction(Q, e, 100)
143+ let T = ((Q - d) - L)
144+ if ((0 >= Q))
141145 then throw("No available rewards to withdraw")
142- else [IntegerEntry(t(C), 0), ScriptTransfer(z.caller, R, unit), ScriptTransfer(I, J, unit)]
146+ else [IntegerEntry(u(D), 0), ScriptTransfer(A.caller, T, unit), ScriptTransfer(K, L, unit)]
143147 }
144148
145149
146150
147-@Callable(z)
151+@Callable(A)
148152 func buyTickets () = {
149- let B = if ((size(z.payments) == 1))
150- then z.payments[0]
153+ let C = if ((size(A.payments) == 1))
154+ then A.payments[0]
151155 else throw("Please attach exactly one payment")
152- if (isDefined(B.assetId))
156+ if (isDefined(C.assetId))
153157 then throw("Tickets can only ibe purchased in Waves")
154- else if ((B.amount != c))
158+ else if ((C.amount != c))
155159 then throw((("The payment must be of exactly " + toString(b)) + " waves"))
156160 else {
157- let C = toBase58String(z.caller.bytes)
158- let S = h(l(C))
159- $Tuple2([IntegerEntry(l(C), (S + 1))], 1)
161+ let D = toBase58String(A.caller.bytes)
162+ let U = h(l(D))
163+ $Tuple2([IntegerEntry(l(D), (U + 1))], 1)
160164 }
161165 }
162166
163167
164-@Verifier(T)
165-func U () = sigVerify(T.bodyBytes, T.proofs[0], T.senderPublicKey)
168+@Verifier(V)
169+func W () = sigVerify(V.bodyBytes, V.proofs[0], V.senderPublicKey)
166170

github/deemru/w8io/873ac7e 
67.47 ms