tx · 7hhhdBvWtzv2sqPH73XXbCDchLUHBw8Lqi5f8Bsj7tPS

3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk:  -0.01000000 Waves

2022.09.13 00:11 [2226421] smart account 3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk > SELF 0.00000000 Waves

{ "type": 13, "id": "7hhhdBvWtzv2sqPH73XXbCDchLUHBw8Lqi5f8Bsj7tPS", "fee": 1000000, "feeAssetId": null, "timestamp": 1663017133302, "version": 2, "chainId": 84, "sender": "3N3dmyiBdj7pmjnQrzTTvmfzKSqndSzCMmk", "senderPublicKey": "AR4BeE6hYADMvKxgRQs4ADN3krEqb2j8WE3WfJxzL3zE", "proofs": [ "5VW5odx7RUDdFEQFavpKu7DHdQSpTxXDCMbWo17w3bs8Sj3SJDCzeWGChoEUc5mf7oduF8chULK1JCaNnYMzt4LD" ], "script": "base64:BgItCAISAwoBCBIAEgMKAQgSBAoCCAgSBQoDCAgBEgMKAQgSABIFCgMICAgSABIAFQAFd2F2ZXMAgMLXLwAOdGlja2V0UHJpY2VJbnQAwIQ9AAt0aWNrZXRQcmljZQUOdGlja2V0UHJpY2VJbnQABmludkZlZQCgwh4AEndpdGhkcmF3RmVlUGVyY2VudAAFABZmZWVDb2xsZWN0b3JBZGRyZXNzS2V5AhNmZWVDb2xsZWN0b3JBZGRyZXNzAA5kZXBvc2l0QXNzZXRJZAIsNXVlMWZpdVY2ajZVQnI2WGYyOFFtczZ5NUZxekt0cXZheHhod3U3aFRRNTgBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABEmdldFRpY2tldHNDb3VudEtleQENYWRkcmVzc1N0cmluZwkArAICBQ1hZGRyZXNzU3RyaW5nAg1fdGlja2V0c0NvdW50ARh0b3VybmFtZW50UHJpemVBbW91bnRLZXkBDHRvdXJuYW1lbnRJZAkArAICBQx0b3VybmFtZW50SWQCFl90b3VybmFtZW50UHJpemVBbW91bnQBGXRvdXJuYW1lbnRQcml6ZUFzc2V0SWRLZXkBDHRvdXJuYW1lbnRJZAkArAICBQx0b3VybmFtZW50SWQCF190b3VybmFtZW50UHJpemVBc3NldElkARN0b3VybmFtZW50U3RhdHVzS2V5AQx0b3VybmFtZW50SWQJAKwCAgUMdG91cm5hbWVudElkAhFfdG91cm5hbWVudFN0YXR1cwEhdG91cm5hbWVudFdpbm5pbmdUcmFuc2FjdGlvbklkS2V5AQx0b3VybmFtZW50SWQJAKwCAgUMdG91cm5hbWVudElkAh9fdG91cm5hbWVudFdpbm5pbmdUcmFuc2FjdGlvbklkAQ1nYW1lV2lubmVyS2V5AQZnYW1lSWQJAKwCAgUGZ2FtZUlkAgdfd2lubmVyARhhZGRyZXNzQXZhaWxhYmxlRnVuZHNLZXkBB2FkZHJlc3MJAKwCAgUHYWRkcmVzcwIPX2F2YWlsYWJsZUZ1bmRzARphZGRyZXNzVG90YWxMb2NrZWRGdW5kc0tleQEHYWRkcmVzcwkArAICBQdhZGRyZXNzAhFfdG90YWxMb2NrZWRGdW5kcwEhYWRkcmVzc0xvY2tlZEZ1bmRzVG90YWxIaXN0b3J5S2V5AQdhZGRyZXNzCQCsAgIFB2FkZHJlc3MCGF9sb2NrZWRGdW5kc1RvdGFsSGlzdG9yeQEcYWRkcmVzc0xvY2tlZEZ1bmRzRm9yR2FtZUtleQIHYWRkcmVzcwZnYW1lSWQJAKwCAgkArAICBQdhZGRyZXNzAg1fbG9ja2VkRnVuZHNfBQZnYW1lSWQBGmFkZHJlc3NBdmFpbGFibGVSZXdhcmRzS2V5AQdhZGRyZXNzCQCsAgIFB2FkZHJlc3MCEV9hdmFpbGFibGVSZXdhcmRzAQ9nZXRUaWNrZXRzQ291bnQBDWFkZHJlc3NTdHJpbmcJAQ10cnlHZXRJbnRlZ2VyAQkBEmdldFRpY2tldHNDb3VudEtleQEFDWFkZHJlc3NTdHJpbmcBDWNvbnN1bWVUaWNrZXQBCnBsYXllckFkZHIEEmN1cnJlbnRUaWNrZXRDb3VudAkBD2dldFRpY2tldHNDb3VudAEFCnBsYXllckFkZHIEFW5ld0N1cnJlbnRUaWNrZXRDb3VudAkAZQIFEmN1cnJlbnRUaWNrZXRDb3VudAABAwkAZgIAAAUVbmV3Q3VycmVudFRpY2tldENvdW50AAAFFW5ld0N1cnJlbnRUaWNrZXRDb3VudAoBaQEWc2V0RmVlQ29sbGVjdG9yQWRkcmVzcwENY29sbGVjdG9yQWRkcgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECCkFkbWluIE9ubHkJAMwIAgkBC1N0cmluZ0VudHJ5AgUWZmVlQ29sbGVjdG9yQWRkcmVzc0tleQUNY29sbGVjdG9yQWRkcgUDbmlsAWkBDGRlcG9zaXRGdW5kcwAEA3BtdAMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAJEDAggFAWkIcGF5bWVudHMAAAkAAgECIVBsZWFzZSBhdHRhY2ggZXhhY3RseSBvbmUgcGF5bWVudAMJAQIhPQIIBQNwbXQHYXNzZXRJZAkA2QQBBQ5kZXBvc2l0QXNzZXRJZAkAAgECGVlvdSBjYW4gb25seSBkZXBvc2l0IFVTRE4EDWNhbGxlckFkZHJTdHIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQVY3VycmVudEF2YWlsYWJsZUZ1bmRzCQENdHJ5R2V0SW50ZWdlcgEJARhhZGRyZXNzQXZhaWxhYmxlRnVuZHNLZXkBBQ1jYWxsZXJBZGRyU3RyCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJARhhZGRyZXNzQXZhaWxhYmxlRnVuZHNLZXkBBQ1jYWxsZXJBZGRyU3RyCQBkAgUVY3VycmVudEF2YWlsYWJsZUZ1bmRzCAUDcG10BmFtb3VudAUDbmlsAAEBaQEQY3JlYXRlVG91cm5hbWVudAEMdG91cm5hbWVudElkBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAiFQbGVhc2UgYXR0YWNoIGV4YWN0bHkgb25lIHBheW1lbnQEDHByaXplQXNzZXRJZAQHJG1hdGNoMAgFA3BtdAdhc3NldElkAwkAAQIFByRtYXRjaDACBFVuaXQEAWIFByRtYXRjaDACAAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWIJAAIBAgtNYXRjaCBlcnJvcgkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYdG91cm5hbWVudFByaXplQW1vdW50S2V5AQUMdG91cm5hbWVudElkCAUDcG10BmFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQEZdG91cm5hbWVudFByaXplQXNzZXRJZEtleQEFDHRvdXJuYW1lbnRJZAUMcHJpemVBc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJARN0b3VybmFtZW50U3RhdHVzS2V5AQUMdG91cm5hbWVudElkAgxyZWdpc3RyYXRpb24FA25pbAABAWkBEGZpbmlzaFRvdXJuYW1lbnQCDHRvdXJuYW1lbnRJZB13aW5uaW5nVHJhbnNmZXJ0VHJhbnNhY3Rpb25JZAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECCkFkbWluIE9ubHkJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQEhdG91cm5hbWVudFdpbm5pbmdUcmFuc2FjdGlvbklkS2V5AQUMdG91cm5hbWVudElkBR13aW5uaW5nVHJhbnNmZXJ0VHJhbnNhY3Rpb25JZAkAzAgCCQELU3RyaW5nRW50cnkCCQETdG91cm5hbWVudFN0YXR1c0tleQEFDHRvdXJuYW1lbnRJZAIIZmluaXNoZWQFA25pbAABAWkBDnBsYXllckV4aXRHYW1lAwZnYW1lSWQKcGxheWVyQWRkcg9leGl0U3RhY2tBbW91bnQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgpBZG1pbiBPbmx5BBdjdXJyZW50VG90YWxMb2NrZWRGdW5kcwkBDXRyeUdldEludGVnZXIBCQEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBBQpwbGF5ZXJBZGRyBCBjdXJyZW50R2FtZUxvY2tlZEFtb3VudEZvclBsYXllcgkBDXRyeUdldEludGVnZXIBCQEcYWRkcmVzc0xvY2tlZEZ1bmRzRm9yR2FtZUtleQIFCnBsYXllckFkZHIFBmdhbWVJZAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBBQpwbGF5ZXJBZGRyCQBlAgUXY3VycmVudFRvdGFsTG9ja2VkRnVuZHMFIGN1cnJlbnRHYW1lTG9ja2VkQW1vdW50Rm9yUGxheWVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEcYWRkcmVzc0xvY2tlZEZ1bmRzRm9yR2FtZUtleQIFCnBsYXllckFkZHIFBmdhbWVJZAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCnBsYXllckFkZHIFD2V4aXRTdGFja0Ftb3VudAkA2QQBBQ5kZXBvc2l0QXNzZXRJZAUDbmlsAAEBaQEQbG9ja0Z1bmRzRm9yR2FtZQEGZ2FtZUlkBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAiFQbGVhc2UgYXR0YWNoIGV4YWN0bHkgb25lIHBheW1lbnQDCQECIT0CCAUDcG10B2Fzc2V0SWQJANkEAQUOZGVwb3NpdEFzc2V0SWQJAAIBAhlZb3UgY2FuIG9ubHkgZGVwb3NpdCBVU0ROBA1jYWxsZXJBZGRyU3RyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEF2N1cnJlbnRUb3RhbExvY2tlZEZ1bmRzCQENdHJ5R2V0SW50ZWdlcgEJARphZGRyZXNzVG90YWxMb2NrZWRGdW5kc0tleQEFDWNhbGxlckFkZHJTdHIEHmN1cnJlbnRMb2NrZWRGdW5kc1RvdGFsSGlzdG9yeQkBDXRyeUdldEludGVnZXIBCQEhYWRkcmVzc0xvY2tlZEZ1bmRzVG90YWxIaXN0b3J5S2V5AQUNY2FsbGVyQWRkclN0cgkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaYWRkcmVzc1RvdGFsTG9ja2VkRnVuZHNLZXkBBQ1jYWxsZXJBZGRyU3RyCQBkAgUXY3VycmVudFRvdGFsTG9ja2VkRnVuZHMIBQNwbXQGYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEhYWRkcmVzc0xvY2tlZEZ1bmRzVG90YWxIaXN0b3J5S2V5AQUNY2FsbGVyQWRkclN0cgkAZAIFHmN1cnJlbnRMb2NrZWRGdW5kc1RvdGFsSGlzdG9yeQgFA3BtdAZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJARxhZGRyZXNzTG9ja2VkRnVuZHNGb3JHYW1lS2V5AgUNY2FsbGVyQWRkclN0cgUGZ2FtZUlkCAUDcG10BmFtb3VudAUDbmlsAAEBaQENd2l0aGRyYXdGdW5kcwAEDWNhbGxlckFkZHJTdHIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQQZmVlQ29sbGVjdG9yQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUWZmVlQ29sbGVjdG9yQWRkcmVzc0tleQQVY3VycmVudEF2YWlsYWJsZUZ1bmRzCQENdHJ5R2V0SW50ZWdlcgEJARhhZGRyZXNzQXZhaWxhYmxlRnVuZHNLZXkBBQ1jYWxsZXJBZGRyU3RyBAt3aXRoZHJhd0ZlZQkAawMFFWN1cnJlbnRBdmFpbGFibGVGdW5kcwUSd2l0aGRyYXdGZWVQZXJjZW50AGQEFGFjdHVhbEF2YWlsYWJsZUZ1bmRzCQBlAgUVY3VycmVudEF2YWlsYWJsZUZ1bmRzBQt3aXRoZHJhd0ZlZQMJAGcCAAAFFGFjdHVhbEF2YWlsYWJsZUZ1bmRzCQACAQIeTm8gYXZhaWxhYmxlIGZ1bmRzIHRvIHdpdGhkcmF3CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYYWRkcmVzc0F2YWlsYWJsZUZ1bmRzS2V5AQUNY2FsbGVyQWRkclN0cgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUUYWN0dWFsQXZhaWxhYmxlRnVuZHMJANkEAQUOZGVwb3NpdEFzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUQZmVlQ29sbGVjdG9yQWRkcgULd2l0aGRyYXdGZWUJANkEAQUOZGVwb3NpdEFzc2V0SWQFA25pbAFpARBzZXRXaW5uZXJIZWFkc1VwAwZnYW1lSWQNd2lubmVyQWRkclN0cg9vdGhlclBsYXllckFkZHIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgpBZG1pbiBPbmx5BBNhdmFpbGFibGVSZXdhcmRzS2V5CQEaYWRkcmVzc0F2YWlsYWJsZVJld2FyZHNLZXkBBQ13aW5uZXJBZGRyU3RyBBdjdXJyZW50QXZhaWxhYmxlUmV3YXJkcwkBDXRyeUdldEludGVnZXIBBRNhdmFpbGFibGVSZXdhcmRzS2V5BBRuZXdUaWNrZXRDb3VudFdpbm5lcgkBDWNvbnN1bWVUaWNrZXQBBQ13aW5uZXJBZGRyU3RyBBluZXdUaWNrZXRDb3VudE90aGVyUGxheWVyCQENY29uc3VtZVRpY2tldAEFD290aGVyUGxheWVyQWRkcgkAzAgCCQELU3RyaW5nRW50cnkCCQENZ2FtZVdpbm5lcktleQEFBmdhbWVJZAUNd2lubmVyQWRkclN0cgkAzAgCCQEMSW50ZWdlckVudHJ5AgUTYXZhaWxhYmxlUmV3YXJkc0tleQkAZAIFF2N1cnJlbnRBdmFpbGFibGVSZXdhcmRzCQBoAgULdGlja2V0UHJpY2UAAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEmdldFRpY2tldHNDb3VudEtleQEFDXdpbm5lckFkZHJTdHIFFG5ld1RpY2tldENvdW50V2lubmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQESZ2V0VGlja2V0c0NvdW50S2V5AQUPb3RoZXJQbGF5ZXJBZGRyBRluZXdUaWNrZXRDb3VudE90aGVyUGxheWVyBQNuaWwBaQEPd2l0aGRyYXdSZXdhcmRzAAQNY2FsbGVyQWRkclN0cgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBBBmZWVDb2xsZWN0b3JBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBRZmZWVDb2xsZWN0b3JBZGRyZXNzS2V5BBdjdXJyZW50QXZhaWxhYmxlUmV3YXJkcwkBDXRyeUdldEludGVnZXIBCQEaYWRkcmVzc0F2YWlsYWJsZVJld2FyZHNLZXkBBQ1jYWxsZXJBZGRyU3RyBAt3aXRoZHJhd0ZlZQkAawMFF2N1cnJlbnRBdmFpbGFibGVSZXdhcmRzBRJ3aXRoZHJhd0ZlZVBlcmNlbnQAZAQWYWN0dWFsQXZhaWxhYmxlUmV3YXJkcwkAZQIJAGUCBRdjdXJyZW50QXZhaWxhYmxlUmV3YXJkcwUGaW52RmVlBQt3aXRoZHJhd0ZlZQMJAGcCAAAFF2N1cnJlbnRBdmFpbGFibGVSZXdhcmRzCQACAQIgTm8gYXZhaWxhYmxlIHJld2FyZHMgdG8gd2l0aGRyYXcJAMwIAgkBDEludGVnZXJFbnRyeQIJARphZGRyZXNzQXZhaWxhYmxlUmV3YXJkc0tleQEFDWNhbGxlckFkZHJTdHIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFFmFjdHVhbEF2YWlsYWJsZVJld2FyZHMFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUQZmVlQ29sbGVjdG9yQWRkcgULd2l0aGRyYXdGZWUFBHVuaXQFA25pbAFpAQpidXlUaWNrZXRzAAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIhUGxlYXNlIGF0dGFjaCBleGFjdGx5IG9uZSBwYXltZW50AwkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAkAAgECJ1RpY2tldHMgY2FuIG9ubHkgaWJlIHB1cmNoYXNlZCBpbiBXYXZlcwMJAQIhPQIIBQNwbXQGYW1vdW50BQt0aWNrZXRQcmljZQkAAgEJAKwCAgkArAICAh9UaGUgcGF5bWVudCBtdXN0IGJlIG9mIGV4YWN0bHkgCQCkAwEFDnRpY2tldFByaWNlSW50AgYgd2F2ZXMEDWNhbGxlckFkZHJTdHIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQTY3VycmVudFRpY2tldHNDb3VudAkBDXRyeUdldEludGVnZXIBCQESZ2V0VGlja2V0c0NvdW50S2V5AQUNY2FsbGVyQWRkclN0cgkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQESZ2V0VGlja2V0c0NvdW50S2V5AQUNY2FsbGVyQWRkclN0cgkAZAIFE2N1cnJlbnRUaWNrZXRzQ291bnQAAQUDbmlsAAEBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V51HaL/Q==", "height": 2226421, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3u4MqWFpo79MyPqXPF7Q9ofjw2BY9hm7SRauNoSRhnyx Next: 57eWUDGBnqzWwfU4aGwETPzWoTUQQsQ8YhqSELYzAjsd Diff:
OldNewDifferences
2929 func l (m) = (m + "_ticketsCount")
3030
3131
32-func n (o) = (o + "_winner")
32+func n (o) = (o + "_tournamentPrizeAmount")
3333
3434
35-func p (q) = (q + "_availableFunds")
35+func p (o) = (o + "_tournamentPrizeAssetId")
3636
3737
38-func r (q) = (q + "_totalLockedFunds")
38+func q (o) = (o + "_tournamentStatus")
3939
4040
41-func s (q) = (q + "_lockedFundsTotalHistory")
41+func r (o) = (o + "_tournamentWinningTransactionId")
4242
4343
44-func t (q,o) = ((q + "_lockedFunds_") + o)
44+func s (t) = (t + "_winner")
4545
4646
47-func u (q) = (q + "_availableRewards")
47+func u (v) = (v + "_availableFunds")
4848
4949
50-func v (m) = h(l(m))
50+func w (v) = (v + "_totalLockedFunds")
5151
5252
53-func w (x) = {
54- let y = v(x)
55- let z = (y - 1)
56- if ((0 > z))
53+func x (v) = (v + "_lockedFundsTotalHistory")
54+
55+
56+func y (v,t) = ((v + "_lockedFunds_") + t)
57+
58+
59+func z (v) = (v + "_availableRewards")
60+
61+
62+func A (m) = h(l(m))
63+
64+
65+func B (C) = {
66+ let D = A(C)
67+ let E = (D - 1)
68+ if ((0 > E))
5769 then 0
58- else z
70+ else E
5971 }
6072
6173
62-@Callable(A)
63-func setFeeCollectorAddress (B) = if ((A.caller != this))
74+@Callable(F)
75+func setFeeCollectorAddress (G) = if ((F.caller != this))
6476 then throw("Admin Only")
65- else [StringEntry(f, B)]
77+ else [StringEntry(f, G)]
6678
6779
6880
69-@Callable(A)
81+@Callable(F)
7082 func depositFunds () = {
71- let C = if ((size(A.payments) == 1))
72- then A.payments[0]
83+ let H = if ((size(F.payments) == 1))
84+ then F.payments[0]
7385 else throw("Please attach exactly one payment")
74- if ((C.assetId != fromBase58String(g)))
86+ if ((H.assetId != fromBase58String(g)))
7587 then throw("You can only deposit USDN")
7688 else {
77- let D = toBase58String(A.caller.bytes)
78- let E = h(p(D))
79- $Tuple2([IntegerEntry(p(D), (E + C.amount))], 1)
89+ let I = toBase58String(F.caller.bytes)
90+ let J = h(u(I))
91+ $Tuple2([IntegerEntry(u(I), (J + H.amount))], 1)
8092 }
8193 }
8294
8395
8496
85-@Callable(A)
86-func playerExitGame (o,x,F) = if ((A.caller != this))
97+@Callable(F)
98+func createTournament (o) = {
99+ let H = if ((size(F.payments) == 1))
100+ then F.payments[0]
101+ else throw("Please attach exactly one payment")
102+ let K = {
103+ let j = H.assetId
104+ if ($isInstanceOf(j, "Unit"))
105+ then {
106+ let k = j
107+ ""
108+ }
109+ else if ($isInstanceOf(j, "ByteVector"))
110+ then {
111+ let k = j
112+ toBase58String(k)
113+ }
114+ else throw("Match error")
115+ }
116+ $Tuple2([IntegerEntry(n(o), H.amount), StringEntry(p(o), K), StringEntry(q(o), "registration")], 1)
117+ }
118+
119+
120+
121+@Callable(F)
122+func finishTournament (o,L) = if ((F.caller != this))
123+ then throw("Admin Only")
124+ else $Tuple2([StringEntry(r(o), L), StringEntry(q(o), "finished")], 1)
125+
126+
127+
128+@Callable(F)
129+func playerExitGame (t,C,M) = if ((F.caller != this))
87130 then throw("Admin Only")
88131 else {
89- let G = h(r(x))
90- let H = h(t(x, o))
91- $Tuple2([IntegerEntry(r(x), (G - H)), IntegerEntry(t(x, o), 0), ScriptTransfer(addressFromStringValue(x), F, fromBase58String(g))], 1)
132+ let N = h(w(C))
133+ let O = h(y(C, t))
134+ $Tuple2([IntegerEntry(w(C), (N - O)), IntegerEntry(y(C, t), 0), ScriptTransfer(addressFromStringValue(C), M, fromBase58String(g))], 1)
92135 }
93136
94137
95138
96-@Callable(A)
97-func lockFundsForGame (o) = {
98- let C = if ((size(A.payments) == 1))
99- then A.payments[0]
139+@Callable(F)
140+func lockFundsForGame (t) = {
141+ let H = if ((size(F.payments) == 1))
142+ then F.payments[0]
100143 else throw("Please attach exactly one payment")
101- if ((C.assetId != fromBase58String(g)))
144+ if ((H.assetId != fromBase58String(g)))
102145 then throw("You can only deposit USDN")
103146 else {
104- let D = toBase58String(A.caller.bytes)
105- let G = h(r(D))
106- let I = h(s(D))
107- $Tuple2([IntegerEntry(r(D), (G + C.amount)), IntegerEntry(s(D), (I + C.amount)), IntegerEntry(t(D, o), C.amount)], 1)
147+ let I = toBase58String(F.caller.bytes)
148+ let N = h(w(I))
149+ let P = h(x(I))
150+ $Tuple2([IntegerEntry(w(I), (N + H.amount)), IntegerEntry(x(I), (P + H.amount)), IntegerEntry(y(I, t), H.amount)], 1)
108151 }
109152 }
110153
111154
112155
113-@Callable(A)
156+@Callable(F)
114157 func withdrawFunds () = {
115- let D = toBase58String(A.caller.bytes)
116- let J = addressFromStringValue(getStringValue(f))
117- let E = h(p(D))
118- let K = fraction(E, e, 100)
119- let L = (E - K)
120- if ((0 >= L))
158+ let I = toBase58String(F.caller.bytes)
159+ let Q = addressFromStringValue(getStringValue(f))
160+ let J = h(u(I))
161+ let R = fraction(J, e, 100)
162+ let S = (J - R)
163+ if ((0 >= S))
121164 then throw("No available funds to withdraw")
122- else [IntegerEntry(p(D), 0), ScriptTransfer(A.caller, L, fromBase58String(g)), ScriptTransfer(J, K, fromBase58String(g))]
165+ else [IntegerEntry(u(I), 0), ScriptTransfer(F.caller, S, fromBase58String(g)), ScriptTransfer(Q, R, fromBase58String(g))]
123166 }
124167
125168
126169
127-@Callable(A)
128-func setWinnerHeadsUp (o,M,N) = if ((A.caller != this))
170+@Callable(F)
171+func setWinnerHeadsUp (t,T,U) = if ((F.caller != this))
129172 then throw("Admin Only")
130173 else {
131- let O = u(M)
132- let P = h(O)
133- let Q = w(M)
134- let R = w(N)
135-[StringEntry(n(o), M), IntegerEntry(O, (P + (c * 2))), IntegerEntry(l(M), Q), IntegerEntry(l(N), R)]
174+ let V = z(T)
175+ let W = h(V)
176+ let X = B(T)
177+ let Y = B(U)
178+[StringEntry(s(t), T), IntegerEntry(V, (W + (c * 2))), IntegerEntry(l(T), X), IntegerEntry(l(U), Y)]
136179 }
137180
138181
139182
140-@Callable(A)
183+@Callable(F)
141184 func withdrawRewards () = {
142- let D = toBase58String(A.caller.bytes)
143- let J = addressFromStringValue(getStringValue(f))
144- let P = h(u(D))
145- let K = fraction(P, e, 100)
146- let S = ((P - d) - K)
147- if ((0 >= P))
185+ let I = toBase58String(F.caller.bytes)
186+ let Q = addressFromStringValue(getStringValue(f))
187+ let W = h(z(I))
188+ let R = fraction(W, e, 100)
189+ let Z = ((W - d) - R)
190+ if ((0 >= W))
148191 then throw("No available rewards to withdraw")
149- else [IntegerEntry(u(D), 0), ScriptTransfer(A.caller, S, unit), ScriptTransfer(J, K, unit)]
192+ else [IntegerEntry(z(I), 0), ScriptTransfer(F.caller, Z, unit), ScriptTransfer(Q, R, unit)]
150193 }
151194
152195
153196
154-@Callable(A)
197+@Callable(F)
155198 func buyTickets () = {
156- let C = if ((size(A.payments) == 1))
157- then A.payments[0]
199+ let H = if ((size(F.payments) == 1))
200+ then F.payments[0]
158201 else throw("Please attach exactly one payment")
159- if (isDefined(C.assetId))
202+ if (isDefined(H.assetId))
160203 then throw("Tickets can only ibe purchased in Waves")
161- else if ((C.amount != c))
204+ else if ((H.amount != c))
162205 then throw((("The payment must be of exactly " + toString(b)) + " waves"))
163206 else {
164- let D = toBase58String(A.caller.bytes)
165- let T = h(l(D))
166- $Tuple2([IntegerEntry(l(D), (T + 1))], 1)
207+ let I = toBase58String(F.caller.bytes)
208+ let aa = h(l(I))
209+ $Tuple2([IntegerEntry(l(I), (aa + 1))], 1)
167210 }
168211 }
169212
170213
171-@Verifier(U)
172-func V () = sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
214+@Verifier(ab)
215+func ac () = sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
173216
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
32-func n (o) = (o + "_winner")
32+func n (o) = (o + "_tournamentPrizeAmount")
3333
3434
35-func p (q) = (q + "_availableFunds")
35+func p (o) = (o + "_tournamentPrizeAssetId")
3636
3737
38-func r (q) = (q + "_totalLockedFunds")
38+func q (o) = (o + "_tournamentStatus")
3939
4040
41-func s (q) = (q + "_lockedFundsTotalHistory")
41+func r (o) = (o + "_tournamentWinningTransactionId")
4242
4343
44-func t (q,o) = ((q + "_lockedFunds_") + o)
44+func s (t) = (t + "_winner")
4545
4646
47-func u (q) = (q + "_availableRewards")
47+func u (v) = (v + "_availableFunds")
4848
4949
50-func v (m) = h(l(m))
50+func w (v) = (v + "_totalLockedFunds")
5151
5252
53-func w (x) = {
54- let y = v(x)
55- let z = (y - 1)
56- if ((0 > z))
53+func x (v) = (v + "_lockedFundsTotalHistory")
54+
55+
56+func y (v,t) = ((v + "_lockedFunds_") + t)
57+
58+
59+func z (v) = (v + "_availableRewards")
60+
61+
62+func A (m) = h(l(m))
63+
64+
65+func B (C) = {
66+ let D = A(C)
67+ let E = (D - 1)
68+ if ((0 > E))
5769 then 0
58- else z
70+ else E
5971 }
6072
6173
62-@Callable(A)
63-func setFeeCollectorAddress (B) = if ((A.caller != this))
74+@Callable(F)
75+func setFeeCollectorAddress (G) = if ((F.caller != this))
6476 then throw("Admin Only")
65- else [StringEntry(f, B)]
77+ else [StringEntry(f, G)]
6678
6779
6880
69-@Callable(A)
81+@Callable(F)
7082 func depositFunds () = {
71- let C = if ((size(A.payments) == 1))
72- then A.payments[0]
83+ let H = if ((size(F.payments) == 1))
84+ then F.payments[0]
7385 else throw("Please attach exactly one payment")
74- if ((C.assetId != fromBase58String(g)))
86+ if ((H.assetId != fromBase58String(g)))
7587 then throw("You can only deposit USDN")
7688 else {
77- let D = toBase58String(A.caller.bytes)
78- let E = h(p(D))
79- $Tuple2([IntegerEntry(p(D), (E + C.amount))], 1)
89+ let I = toBase58String(F.caller.bytes)
90+ let J = h(u(I))
91+ $Tuple2([IntegerEntry(u(I), (J + H.amount))], 1)
8092 }
8193 }
8294
8395
8496
85-@Callable(A)
86-func playerExitGame (o,x,F) = if ((A.caller != this))
97+@Callable(F)
98+func createTournament (o) = {
99+ let H = if ((size(F.payments) == 1))
100+ then F.payments[0]
101+ else throw("Please attach exactly one payment")
102+ let K = {
103+ let j = H.assetId
104+ if ($isInstanceOf(j, "Unit"))
105+ then {
106+ let k = j
107+ ""
108+ }
109+ else if ($isInstanceOf(j, "ByteVector"))
110+ then {
111+ let k = j
112+ toBase58String(k)
113+ }
114+ else throw("Match error")
115+ }
116+ $Tuple2([IntegerEntry(n(o), H.amount), StringEntry(p(o), K), StringEntry(q(o), "registration")], 1)
117+ }
118+
119+
120+
121+@Callable(F)
122+func finishTournament (o,L) = if ((F.caller != this))
123+ then throw("Admin Only")
124+ else $Tuple2([StringEntry(r(o), L), StringEntry(q(o), "finished")], 1)
125+
126+
127+
128+@Callable(F)
129+func playerExitGame (t,C,M) = if ((F.caller != this))
87130 then throw("Admin Only")
88131 else {
89- let G = h(r(x))
90- let H = h(t(x, o))
91- $Tuple2([IntegerEntry(r(x), (G - H)), IntegerEntry(t(x, o), 0), ScriptTransfer(addressFromStringValue(x), F, fromBase58String(g))], 1)
132+ let N = h(w(C))
133+ let O = h(y(C, t))
134+ $Tuple2([IntegerEntry(w(C), (N - O)), IntegerEntry(y(C, t), 0), ScriptTransfer(addressFromStringValue(C), M, fromBase58String(g))], 1)
92135 }
93136
94137
95138
96-@Callable(A)
97-func lockFundsForGame (o) = {
98- let C = if ((size(A.payments) == 1))
99- then A.payments[0]
139+@Callable(F)
140+func lockFundsForGame (t) = {
141+ let H = if ((size(F.payments) == 1))
142+ then F.payments[0]
100143 else throw("Please attach exactly one payment")
101- if ((C.assetId != fromBase58String(g)))
144+ if ((H.assetId != fromBase58String(g)))
102145 then throw("You can only deposit USDN")
103146 else {
104- let D = toBase58String(A.caller.bytes)
105- let G = h(r(D))
106- let I = h(s(D))
107- $Tuple2([IntegerEntry(r(D), (G + C.amount)), IntegerEntry(s(D), (I + C.amount)), IntegerEntry(t(D, o), C.amount)], 1)
147+ let I = toBase58String(F.caller.bytes)
148+ let N = h(w(I))
149+ let P = h(x(I))
150+ $Tuple2([IntegerEntry(w(I), (N + H.amount)), IntegerEntry(x(I), (P + H.amount)), IntegerEntry(y(I, t), H.amount)], 1)
108151 }
109152 }
110153
111154
112155
113-@Callable(A)
156+@Callable(F)
114157 func withdrawFunds () = {
115- let D = toBase58String(A.caller.bytes)
116- let J = addressFromStringValue(getStringValue(f))
117- let E = h(p(D))
118- let K = fraction(E, e, 100)
119- let L = (E - K)
120- if ((0 >= L))
158+ let I = toBase58String(F.caller.bytes)
159+ let Q = addressFromStringValue(getStringValue(f))
160+ let J = h(u(I))
161+ let R = fraction(J, e, 100)
162+ let S = (J - R)
163+ if ((0 >= S))
121164 then throw("No available funds to withdraw")
122- else [IntegerEntry(p(D), 0), ScriptTransfer(A.caller, L, fromBase58String(g)), ScriptTransfer(J, K, fromBase58String(g))]
165+ else [IntegerEntry(u(I), 0), ScriptTransfer(F.caller, S, fromBase58String(g)), ScriptTransfer(Q, R, fromBase58String(g))]
123166 }
124167
125168
126169
127-@Callable(A)
128-func setWinnerHeadsUp (o,M,N) = if ((A.caller != this))
170+@Callable(F)
171+func setWinnerHeadsUp (t,T,U) = if ((F.caller != this))
129172 then throw("Admin Only")
130173 else {
131- let O = u(M)
132- let P = h(O)
133- let Q = w(M)
134- let R = w(N)
135-[StringEntry(n(o), M), IntegerEntry(O, (P + (c * 2))), IntegerEntry(l(M), Q), IntegerEntry(l(N), R)]
174+ let V = z(T)
175+ let W = h(V)
176+ let X = B(T)
177+ let Y = B(U)
178+[StringEntry(s(t), T), IntegerEntry(V, (W + (c * 2))), IntegerEntry(l(T), X), IntegerEntry(l(U), Y)]
136179 }
137180
138181
139182
140-@Callable(A)
183+@Callable(F)
141184 func withdrawRewards () = {
142- let D = toBase58String(A.caller.bytes)
143- let J = addressFromStringValue(getStringValue(f))
144- let P = h(u(D))
145- let K = fraction(P, e, 100)
146- let S = ((P - d) - K)
147- if ((0 >= P))
185+ let I = toBase58String(F.caller.bytes)
186+ let Q = addressFromStringValue(getStringValue(f))
187+ let W = h(z(I))
188+ let R = fraction(W, e, 100)
189+ let Z = ((W - d) - R)
190+ if ((0 >= W))
148191 then throw("No available rewards to withdraw")
149- else [IntegerEntry(u(D), 0), ScriptTransfer(A.caller, S, unit), ScriptTransfer(J, K, unit)]
192+ else [IntegerEntry(z(I), 0), ScriptTransfer(F.caller, Z, unit), ScriptTransfer(Q, R, unit)]
150193 }
151194
152195
153196
154-@Callable(A)
197+@Callable(F)
155198 func buyTickets () = {
156- let C = if ((size(A.payments) == 1))
157- then A.payments[0]
199+ let H = if ((size(F.payments) == 1))
200+ then F.payments[0]
158201 else throw("Please attach exactly one payment")
159- if (isDefined(C.assetId))
202+ if (isDefined(H.assetId))
160203 then throw("Tickets can only ibe purchased in Waves")
161- else if ((C.amount != c))
204+ else if ((H.amount != c))
162205 then throw((("The payment must be of exactly " + toString(b)) + " waves"))
163206 else {
164- let D = toBase58String(A.caller.bytes)
165- let T = h(l(D))
166- $Tuple2([IntegerEntry(l(D), (T + 1))], 1)
207+ let I = toBase58String(F.caller.bytes)
208+ let aa = h(l(I))
209+ $Tuple2([IntegerEntry(l(I), (aa + 1))], 1)
167210 }
168211 }
169212
170213
171-@Verifier(U)
172-func V () = sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
214+@Verifier(ab)
215+func ac () = sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
173216

github/deemru/w8io/169f3d6 
55.82 ms