tx · 26gD36q2QH9TapSEqFCGvKtvUYB7vV74p3Ld8Vx8hTvu

3NCQUopB5f6HrvMJmbCGxmBygmPZH4idmij:  -0.01500000 Waves

2021.02.11 07:56 [1393069] smart account 3NCQUopB5f6HrvMJmbCGxmBygmPZH4idmij > SELF 0.00000000 Waves

{ "type": 13, "id": "26gD36q2QH9TapSEqFCGvKtvUYB7vV74p3Ld8Vx8hTvu", "fee": 1500000, "feeAssetId": null, "timestamp": 1613019379865, "version": 2, "chainId": 84, "sender": "3NCQUopB5f6HrvMJmbCGxmBygmPZH4idmij", "senderPublicKey": "FS5VX2VdN9PzMBscXm9o41X1kgy1CJguohUGFG6ijxk6", "proofs": [ "jR7xnw9X1WtdNugzVTyzZWMP7rvCktra3t2Bv4RjwbW1mnmmaQ4JfWhMd4GPYADNKRRdtKMdsCfJ5uPQ7EAGAb5" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEwAAAAAKZEFwcEFkZHJlcwIAAAArRjlEQ0dpWWdUOHl2QnExQVFGY1NwR0c0cDhzZHpOejltWmN6RHZKNDVMTAAAAAALdGlja2V0QXNzZXQBAAAAIEYc9ZUgYtXiRrToDJgiMgFmnQRu3R1NoyARqb9irygsAAAAAA10b2tlbnNQZXJQbGF5AAAAAAAF9eEAAAAAAA1sb3R0ZXJ5YW1vdW50AgAAAAdfYW1vdW50AAAAABJsb3R0ZXJ5cHJvYmFiaWxpdHkCAAAADF9wcm9iYWJpbGl0eQAAAAAZbG90dGVyeXByb2JhYmlsaXR5ZGVjaW1hbAIAAAAUX3Byb2JhYmlsaXR5X2RlY2ltYWwAAAAADGxvdHRlcnlQcmljZQIAAAAGX3ByaWNlAAAAAA1sb3R0ZXJ5UHJpY2VzAgAAAA9fbG90dGVyeV9wcmljZXMAAAAADmxvdHRlcnlBc3NldElkAgAAABFfbG90dGVyeV9hc3NldF9pZAAAAAANY291bnRPZlByaWNlcwIAAAANX2NvdW50X3ByaWNlcwAAAAAUbGFzdEhhc2hSYW5kb21OdW1iZXICAAAAFWxhc3Rfc3Bpbl9yYW5kb21faGFzaAAAAAATbGFzdFRva2VuUmFuZG9tSGFzaAIAAAAWbGFzdF90b2tlbl9yYW5kb21faGFzaAAAAAAQYWxsb3dTaXplTG90dGVyeQAAAAAAAAAABQAAAAARdG90YWxQcmljZXNJblBvb2wCAAAAEXRvdGFsX3ByaXplc19wb29sAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxh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bG90dGVyeVByaWNlcwUAAAASc3RvcmVkVG9rZW5zVmFsdWVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA1jb3VudE9mUHJpY2VzCQAAZAAAAAIFAAAAC2NvdW50VG9rZW5zAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAABlsb3R0ZXJ5cHJvYmFiaWxpdHlkZWNpbWFsBQAAAAtwcm9iRGVjaW1hbAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAAObG90dGVyeUFzc2V0SWQFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gFAAAABXRva2VuCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABF0b3RhbFByaWNlc0luUG9vbAUAAAAYdXBkYXRlZFRvdGFsQW1vdW50UHJpY2VzBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAABF1cGRhdGVMb3R0ZXJ5UG9vbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsCQAAAgAAAAEJAAEsAAAAAgIAAAAjTG90dGVyeSBwcmljZXMgaGFzIHJlYWNoZWQgbWF4aW11bSAJAAGkAAAAAQUAAAAQYWxsb3dTaXplTG90dGVyeQQAAAAJdG5CYWxhbmNlAwUAAAAObG90dGVyeUFzc2V0VE4JAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzCQAD6wAAAAIFAAAABHRoaXMJAAJbAAAAAQUAAAAHYXNzZXRJZAMJAABmAAAAAgUAAAATdG90YWxSZXF1aXJlZEFtb3VudAUAAAAJdG5CYWxhbmNlCQAAAgAAAAECAAAAF05vdCBlbm91Z2ggQXNzZXQgQW1vdW50BAAAAAl0ZW1wVmFsdWUEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAANbG90dGVyeVByaWNlcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAwkAAAEAAAACBQAA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AAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAMJAAAAAAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAAA9BbW91bnQgZXhjZWVkZWQEAAAADGFjdHVhbEFtb3VudAkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50AAAAAAAAAAABBAAAAAp0b2tlblByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAAxsb3R0ZXJ5UHJpY2UEAAAADHRva2VuQXNzZXRJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAAObG90dGVyeUFzc2V0SWQEAAAAEmN1cnJlbnRUb3RhbEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABF0b3RhbFByaWNlc0luUG9vbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAF0BQAAAAckbWF0Y2gwBQAAAAF0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAA11cGRhdGVkQW1vdW50CQAAZQAAAAIFAAAAEmN1cnJlbnRUb3RhbEFtb3VudAUAAAAKdG9rZW5QcmljZQMJAAAAAAAAAgUAAAAMYWN0dWFsQW1vdW50AAAAAAAAAAAABAAAABJzdG9yZWRUb2tlbnNWYWx1ZXMEAAAADyRsaXN0MTA5NTExMTAwMQUAAAAJcHJpY2VMaXN0BAAAAA8kc2l6ZTEwOTUxMTEwMDEJAAGQAAAAAQUAAAAPJGxpc3QxMDk1MTExMDAxBAAAAA8kYWNjMDEwOTUxMTEwMDEFAAAABXRva2VuAwkAAAAAAAACBQAAAA8kc2l6ZTEwOTUxMTEwMDEAAAAAAAAAAAAFAAAADyRhY2MwMTA5NTExMTAwMQQAAAAPJGFjYzExMDk1MTExMDAxCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA8kYWNjMDEwOTUxMTEwMDEJAAGRAAAAAgUAAAAPJGxpc3QxMDk1MTExMDAxAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTEwOTUxMTEwMDEAAAAAAAAAAAEFAAAADyRhY2MxMTA5NTExMTAwMQQAAAAPJGFjYzIxMDk1MTExMDAxCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA8kYWNjMTEwOTUxMTEwMDEJAAGRAAAAAgUAAAAPJGxpc3QxMDk1MTExMDAxAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTEwOTUxMTEwMDEAAAAAAAAAAAIFAAAADyRhY2MyMTA5NTExMTAwMQQAAAAPJGFjYzMxMDk1MTExMDAxCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA8kYWNjMjEwOTUxMTEwMDEJAAGRAAAAAgUAAAAPJGxpc3QxMDk1MTExMDAxAAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTEwOTUxMTEwMDEAAAAAAAAAAAMFAAAADyRhY2MzMTA5NTExMTAwMQQAAAAPJGFjYzQxMDk1MTExMDAxCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA8kYWNjMzEwOTUxMTEwMDEJAAGRAAAAAgUAAAAPJGxpc3QxMDk1MTExMDAxAAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTEwOTUxMTEwMDEAAAAAAAAAAAQFAAAADyRhY2M0MTA5NTExMTAwMQQAAAAPJGFjYzUxMDk1MTExMDAxCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA8kYWNjNDEwOTUxMTEwMDEJAAGRAAAAAgUAAAAPJGxpc3QxMDk1MTExMDAxAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTEwOTUxMTEwMDEAAAAAAAAAAAUFAAAADyRhY2M1MTA5NTExMTAwMQQAAAAPJGFjYzYxMDk1MTExMDAxCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA8kYWNjNTEwOTUxMTEwMDEJAAGRAAAAAgUAAAAPJGxpc3QxMDk1MTExMDAxAAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAAJdG9rZW5TaXplCQAAZQAAAAIJAABlAAAAAgkAATEAAAABBQAAABJzdG9yZWRUb2tlbnNWYWx1ZXMJAAExAAAAAQUAAAAFdG9rZW4AAAAAAAAAAAEEAAAADXVwZGF0ZWRQcmljZXMJAQAAAAl0YWtlUmlnaHQAAAACBQAAABJzdG9yZWRUb2tlbnNWYWx1ZXMFAAAACXRva2VuU2l6ZQQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAD193aW5uaW5nX3Rva2VuXwUAAAAFdG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAARX3dpbmlubmluZ19wcmljZV8FAAAACnRva2VuUHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADWNvdW50T2ZQcmljZXMJAABlAAAAAgUAAAALY291bnRUb2tlbnMAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADWxvdHRlcnlQcmljZXMFAAAADXVwZGF0ZWRQcmljZXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyBQAAAApyYW5kTnVtYmVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABF0b3RhbFByaWNlc0luUG9vbAUAAAANdXBkYXRlZEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAYQ29uZ3JhdHVsYXRpb25zIHlvdSB3b24hBQAAAANuaWwDCQAAAAAAAAIFAAAADHRva2VuQXNzZXRJZAIAAAAABAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAADWFjdHVhbEFzc2V0SWQJAAJZAAAAAQUAAAAMdG9rZW5Bc3NldElkBAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAADWFjdHVhbEFzc2V0SWQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAAEnN0b3JlZFRva2Vuc1ZhbHVlcwQAAAAPJGxpc3QxMjY1NjEyNzA2BQAAAAlwcmljZUxpc3QEAAAADyRzaXplMTI2NTYxMjcwNgkAAZAAAAABBQAAAA8kbGlzdDEyNjU2MTI3MDYEAAAADyRhY2MwMTI2NTYxMjcwNgUAAAAFdG9rZW4DCQAAAAAAAAIFAAAADyRzaXplMTI2NTYxMjcwNgAAAAAAAAAAAAUAAAAPJGFjYzAxMjY1NjEyNzA2BAAAAA8kYWNjMTEyNjU2MTI3MDYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADyRhY2MwMTI2NTYxMjcwNgkAAZEAAAACBQAAAA8kbGlzdDEyNjU2MTI3MDYAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTI2NTYxMjcwNgAAAAAAAAAAAQUAAAAPJGFjYzExMjY1NjEyNzA2BAAAAA8kYWNjMjEyNjU2MTI3MDYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADyRhY2MxMTI2NTYxMjcwNgkAAZEAAAACBQAAAA8kbGlzdDEyNjU2MTI3MDYAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTI2NTYxMjcwNgAAAAAAAAAAAgUAAAAPJGFjYzIxMjY1NjEyNzA2BAAAAA8kYWNjMzEyNjU2MTI3MDYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADyRhY2MyMTI2NTYxMjcwNgkAAZEAAAACBQAAAA8kbGlzdDEyNjU2MTI3MDYAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTI2NTYxMjcwNgAAAAAAAAAAAwUAAAAPJGFjYzMxMjY1NjEyNzA2BAAAAA8kYWNjNDEyNjU2MTI3MDYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADyRhY2MzMTI2NTYxMjcwNgkAAZEAAAACBQAAAA8kbGlzdDEyNjU2MTI3MDYAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTI2NTYxMjcwNgAAAAAAAAAABAUAAAAPJGFjYzQxMjY1NjEyNzA2BAAAAA8kYWNjNTEyNjU2MTI3MDYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADyRhY2M0MTI2NTYxMjcwNgkAAZEAAAACBQAAAA8kbGlzdDEyNjU2MTI3MDYAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTI2NTYxMjcwNgAAAAAAAAAABQUAAAAPJGFjYzUxMjY1NjEyNzA2BAAAAA8kYWNjNjEyNjU2MTI3MDYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADyRhY2M1MTI2NTYxMjcwNgkAAZEAAAACBQAAAA8kbGlzdDEyNjU2MTI3MDYAAAAAAAAAAAUJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCA1BAAAAAl0b2tlblNpemUJAABlAAAAAgkAAGUAAAACCQABMQAAAAEFAAAAEnN0b3JlZFRva2Vuc1ZhbHVlcwkAATEAAAABBQAAAAV0b2tlbgAAAAAAAAAAAQQAAAANdXBkYXRlZFByaWNlcwkBAAAACXRha2VSaWdodAAAAAIFAAAAEnN0b3JlZFRva2Vuc1ZhbHVlcwUAAAAJdG9rZW5TaXplBAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAAPX3dpbm5pbmdfdG9rZW5fBQAAAAV0b2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAABFfd2luaW5uaW5nX3ByaWNlXwUAAAAKdG9rZW5QcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAUAAAAMYWN0dWFsQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgUAAAAKcmFuZE51bWJlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAARdG90YWxQcmljZXNJblBvb2wFAAAADXVwZGF0ZWRBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAGENvbmdyYXR1bGF0aW9ucyB5b3Ugd29uIQUAAAADbmlsAwkAAAAAAAACBQAAAAx0b2tlbkFzc2V0SWQCAAAAAAQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAA1hY3R1YWxBc3NldElkCQACWQAAAAEFAAAADHRva2VuQXNzZXRJZAQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAA1hY3R1YWxBc3NldElkBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAlZb3UgbmVlZCAJAAJYAAAAAQUAAAALdGlja2V0QXNzZXQCAAAAEyB0byBwbGF5IHRoaXMgZ2FtZS4AAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXno4St4", "height": 1393069, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let dAppAddres = "F9DCGiYgT8yvBq1AQFcSpGG4p8sdzNz9mZczDvJ45LL"
5+
6+let ticketAsset = base58'5ih9jd4KV9kSey55yvKMgLSHcwsYYkQ4pRDJtRNoxUhy'
7+
8+let tokensPerPlay = 100000000
9+
10+let lotteryamount = "_amount"
11+
12+let lotteryprobability = "_probability"
13+
14+let lotteryprobabilitydecimal = "_probability_decimal"
15+
16+let lotteryPrice = "_price"
17+
18+let lotteryPrices = "_lottery_prices"
19+
20+let lotteryAssetId = "_lottery_asset_id"
21+
22+let countOfPrices = "_count_prices"
23+
24+let lastHashRandomNumber = "last_spin_random_hash"
25+
26+let lastTokenRandomHash = "last_token_random_hash"
27+
28+let allowSizeLottery = 5
29+
30+let totalPricesInPool = "total_prizes_pool"
31+
32+func randomizer (inv) = {
33+ let lastPlay = match getBinary(this, lastHashRandomNumber) {
34+ case s: ByteVector =>
35+ s
36+ case _: Unit =>
37+ base58'2ee4oFDYriWJ9EMeR'
38+ case _ =>
39+ throw("Match error")
40+ }
41+ let rand = (((((lastPlay + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
42+ sha256(rand)
43+ }
44+
45+
46+func generatorRandomHash (inv) = {
47+ let lastHashForToken = match getBinary(this, lastTokenRandomHash) {
48+ case s: ByteVector =>
49+ s
50+ case _: Unit =>
51+ base58'4dD7osCQzvuXJdTiGfKvTwnKT'
52+ case _ =>
53+ throw("Match error")
54+ }
55+ let rand = (((((lastHashForToken + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
56+ sha256(rand)
57+ }
58+
59+
60+func getPriceArray () = {
61+ let currentPrices = match getString(this, lotteryPrice) {
62+ case a: String =>
63+ a
64+ case _: Unit =>
65+ ""
66+ case _ =>
67+ throw("Match error")
68+ }
69+ let sizePrices = size(currentPrices)
70+ if ((sizePrices == 0))
71+ then nil
72+ else {
73+ let trimPrices = take(currentPrices, (size(currentPrices) - 1))
74+ let newArray = split(trimPrices, ",")
75+ newArray
76+ }
77+ }
78+
79+
80+func generateNewListOfPrices (token,val) = if (isDefined(val))
81+ then {
82+ let indexOfComma = indexOf(token, ",")
83+ let tokenAlreadyExist = indexOf(token, val)
84+ if (if (!(isDefined(indexOfComma)))
85+ then !(isDefined(tokenAlreadyExist))
86+ else false)
87+ then ((token + val) + ",")
88+ else if (if (!(isDefined(indexOfComma)))
89+ then isDefined(tokenAlreadyExist)
90+ else false)
91+ then (val + ",")
92+ else if (if (isDefined(tokenAlreadyExist))
93+ then isDefined(indexOfComma)
94+ else false)
95+ then token
96+ else if (if (isDefined(indexOfComma))
97+ then !(isDefined(tokenAlreadyExist))
98+ else false)
99+ then ((token + val) + ",")
100+ else ""
101+ }
102+ else token
103+
104+
105+func procedLottery (win,token) = if (if (isDefined(token))
106+ then true
107+ else (token != ""))
108+ then {
109+ let tokenProbability = getIntegerValue(this, (token + lotteryprobability))
110+ let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
111+ let probabilityValue = (tokenProbabilityDecimal * 1000)
112+ let probCompare = (tokenProbabilityDecimal % probabilityValue)
113+ let sizeOfWin = size(win)
114+ if ((sizeOfWin == 1))
115+ then {
116+ let randomNumber = win[0]
117+ let comp = toInt(fromBase64String(randomNumber))
118+ if ((probCompare > comp))
119+ then token :: win
120+ else win
121+ }
122+ else win
123+ }
124+ else win
125+
126+
127+@Callable(i)
128+func updateprobability (probability,amount,poolprice,probDecimal,assetId) = {
129+ let token = toBase64String(generatorRandomHash(i))
130+ let paymentIsDefined = if (!(isDefined(i.payment)))
131+ then false
132+ else true
133+ let lotteryAssetTN = if ((assetId == ""))
134+ then true
135+ else false
136+ let totalRequiredAmount = (amount * poolprice)
137+ let currentTotalAmount = match getInteger(this, totalPricesInPool) {
138+ case t: Int =>
139+ t
140+ case _: Unit =>
141+ 0
142+ case _ =>
143+ throw("Match error")
144+ }
145+ let updatedTotalAmountPrices = (currentTotalAmount + totalRequiredAmount)
146+ if ((paymentIsDefined == true))
147+ then {
148+ let payment = extract(i.payment)
149+ let paymentAssetId = match payment.assetId {
150+ case a: ByteVector =>
151+ toBase58String(a)
152+ case _: Unit =>
153+ ""
154+ case _ =>
155+ throw("Match error")
156+ }
157+ let paymentAmount = payment.amount
158+ if ((paymentAssetId != assetId))
159+ then throw("Asset Id not matching with Payment Asset Id")
160+ else if ((totalRequiredAmount > paymentAmount))
161+ then throw("Not enough Asset Amount")
162+ else {
163+ let tempValue = match getString(this, lotteryPrices) {
164+ case a: String =>
165+ a
166+ case _: Unit =>
167+ ""
168+ case _ =>
169+ throw("Match error")
170+ }
171+ let containKey = indexOf(tempValue, token)
172+ let storedTokensValues = match containKey {
173+ case _: Unit =>
174+ ((tempValue + token) + ",")
175+ case x: Int =>
176+ throw("Token is duplicated")
177+ case _ =>
178+ throw("Match error")
179+ }
180+ let countTokens = match getInteger(this, countOfPrices) {
181+ case a: Int =>
182+ a
183+ case _: Unit =>
184+ 0
185+ case _ =>
186+ throw("Match error")
187+ }
188+ if ((allowSizeLottery > countTokens))
189+ then {
190+ let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry(lotteryPrices, storedTokensValues), DataEntry(countOfPrices, (countTokens + 1)), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry(lastTokenRandomHash, token), DataEntry(totalPricesInPool, updatedTotalAmountPrices)])
191+ ScriptResult(updateLotteryPool, TransferSet(nil))
192+ }
193+ else throw(("Lottery prices has reached maximum " + toString(allowSizeLottery)))
194+ }
195+ }
196+ else {
197+ let tnBalance = if (lotteryAssetTN)
198+ then wavesBalance(this)
199+ else assetBalance(this, fromBase64String(assetId))
200+ if ((totalRequiredAmount > tnBalance))
201+ then throw("Not enough Asset Amount")
202+ else {
203+ let tempValue = match getString(this, lotteryPrices) {
204+ case a: String =>
205+ a
206+ case _: Unit =>
207+ ""
208+ case _ =>
209+ throw("Match error")
210+ }
211+ let containKey = indexOf(tempValue, token)
212+ let storedTokensValues = match containKey {
213+ case _: Unit =>
214+ ((tempValue + token) + ",")
215+ case x: Int =>
216+ throw("Token is duplicated")
217+ case _ =>
218+ throw("Match error")
219+ }
220+ let countTokens = match getInteger(this, countOfPrices) {
221+ case a: Int =>
222+ a
223+ case _: Unit =>
224+ 0
225+ case _ =>
226+ throw("Match error")
227+ }
228+ if ((allowSizeLottery > countTokens))
229+ then {
230+ let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry(lotteryPrices, storedTokensValues), DataEntry(countOfPrices, (countTokens + 1)), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry(lastTokenRandomHash, token), DataEntry(totalPricesInPool, updatedTotalAmountPrices)])
231+ ScriptResult(updateLotteryPool, TransferSet(nil))
232+ }
233+ else throw(("Lottery prices has reached maximum " + toString(allowSizeLottery)))
234+ }
235+ }
236+ }
237+
238+
239+
240+@Callable(i)
241+func startlotto () = {
242+ let paymentIsDefined = if (!(isDefined(i.payment)))
243+ then false
244+ else true
245+ if ((paymentIsDefined == true))
246+ then {
247+ let pmt = extract(i.payment)
248+ if (if ((pmt.assetId != ticketAsset))
249+ then true
250+ else (pmt.amount != tokensPerPlay))
251+ then throw("Incorrect asset passed or incorrect quantity passed")
252+ else {
253+ let currentKey = toBase58String(i.caller.bytes)
254+ let randhash = randomizer(i)
255+ let countTokens = match getInteger(this, countOfPrices) {
256+ case a: Int =>
257+ a
258+ case _: Unit =>
259+ 0
260+ case _ =>
261+ throw("Match error")
262+ }
263+ let priceList = getPriceArray()
264+ let randNumber = toBase64String(randhash)
265+ let winningToken = {
266+ let $list93169363 = priceList
267+ let $size93169363 = size($list93169363)
268+ let $acc093169363 = [randNumber]
269+ if (($size93169363 == 0))
270+ then $acc093169363
271+ else {
272+ let $acc193169363 = procedLottery($acc093169363, $list93169363[0])
273+ if (($size93169363 == 1))
274+ then $acc193169363
275+ else {
276+ let $acc293169363 = procedLottery($acc193169363, $list93169363[1])
277+ if (($size93169363 == 2))
278+ then $acc293169363
279+ else {
280+ let $acc393169363 = procedLottery($acc293169363, $list93169363[2])
281+ if (($size93169363 == 3))
282+ then $acc393169363
283+ else {
284+ let $acc493169363 = procedLottery($acc393169363, $list93169363[3])
285+ if (($size93169363 == 4))
286+ then $acc493169363
287+ else {
288+ let $acc593169363 = procedLottery($acc493169363, $list93169363[4])
289+ if (($size93169363 == 5))
290+ then $acc593169363
291+ else {
292+ let $acc693169363 = procedLottery($acc593169363, $list93169363[5])
293+ throw("List size exceed 5")
294+ }
295+ }
296+ }
297+ }
298+ }
299+ }
300+ }
301+ let sizeOfWinPrices = size(winningToken)
302+ if ((sizeOfWinPrices == 1))
303+ then {
304+ let writeSets = WriteSet([DataEntry("message", "Better luck next time!"), DataEntry(lastHashRandomNumber, randNumber)])
305+ ScriptResult(writeSets, TransferSet(nil))
306+ }
307+ else {
308+ let token = winningToken[0]
309+ let currentAmount = getIntegerValue(this, (token + lotteryamount))
310+ if ((currentAmount == 0))
311+ then throw("Amount exceeded")
312+ else {
313+ let actualAmount = (currentAmount - 1)
314+ let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
315+ let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
316+ let currentTotalAmount = match getInteger(this, totalPricesInPool) {
317+ case t: Int =>
318+ t
319+ case _: Unit =>
320+ 0
321+ case _ =>
322+ throw("Match error")
323+ }
324+ let updatedAmount = (currentTotalAmount - tokenPrice)
325+ if ((actualAmount == 0))
326+ then {
327+ let storedTokensValues = {
328+ let $list1095111001 = priceList
329+ let $size1095111001 = size($list1095111001)
330+ let $acc01095111001 = token
331+ if (($size1095111001 == 0))
332+ then $acc01095111001
333+ else {
334+ let $acc11095111001 = generateNewListOfPrices($acc01095111001, $list1095111001[0])
335+ if (($size1095111001 == 1))
336+ then $acc11095111001
337+ else {
338+ let $acc21095111001 = generateNewListOfPrices($acc11095111001, $list1095111001[1])
339+ if (($size1095111001 == 2))
340+ then $acc21095111001
341+ else {
342+ let $acc31095111001 = generateNewListOfPrices($acc21095111001, $list1095111001[2])
343+ if (($size1095111001 == 3))
344+ then $acc31095111001
345+ else {
346+ let $acc41095111001 = generateNewListOfPrices($acc31095111001, $list1095111001[3])
347+ if (($size1095111001 == 4))
348+ then $acc41095111001
349+ else {
350+ let $acc51095111001 = generateNewListOfPrices($acc41095111001, $list1095111001[4])
351+ if (($size1095111001 == 5))
352+ then $acc51095111001
353+ else {
354+ let $acc61095111001 = generateNewListOfPrices($acc51095111001, $list1095111001[5])
355+ throw("List size exceed 5")
356+ }
357+ }
358+ }
359+ }
360+ }
361+ }
362+ }
363+ let tokenSize = ((size(storedTokensValues) - size(token)) - 1)
364+ let updatedPrices = takeRight(storedTokensValues, tokenSize)
365+ let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_price_"), tokenPrice), DataEntry(countOfPrices, (countTokens - 1)), DataEntry(lotteryPrices, updatedPrices), DataEntry(lastHashRandomNumber, randNumber), DataEntry(totalPricesInPool, updatedAmount), DataEntry("message", "Congratulations you won!")])
366+ if ((tokenAssetId == ""))
367+ then {
368+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
369+ ScriptResult(writeSets, winTransfer)
370+ }
371+ else {
372+ let actualAssetId = fromBase58String(tokenAssetId)
373+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, actualAssetId)])
374+ ScriptResult(writeSets, winTransfer)
375+ }
376+ }
377+ else {
378+ let storedTokensValues = {
379+ let $list1265612706 = priceList
380+ let $size1265612706 = size($list1265612706)
381+ let $acc01265612706 = token
382+ if (($size1265612706 == 0))
383+ then $acc01265612706
384+ else {
385+ let $acc11265612706 = generateNewListOfPrices($acc01265612706, $list1265612706[0])
386+ if (($size1265612706 == 1))
387+ then $acc11265612706
388+ else {
389+ let $acc21265612706 = generateNewListOfPrices($acc11265612706, $list1265612706[1])
390+ if (($size1265612706 == 2))
391+ then $acc21265612706
392+ else {
393+ let $acc31265612706 = generateNewListOfPrices($acc21265612706, $list1265612706[2])
394+ if (($size1265612706 == 3))
395+ then $acc31265612706
396+ else {
397+ let $acc41265612706 = generateNewListOfPrices($acc31265612706, $list1265612706[3])
398+ if (($size1265612706 == 4))
399+ then $acc41265612706
400+ else {
401+ let $acc51265612706 = generateNewListOfPrices($acc41265612706, $list1265612706[4])
402+ if (($size1265612706 == 5))
403+ then $acc51265612706
404+ else {
405+ let $acc61265612706 = generateNewListOfPrices($acc51265612706, $list1265612706[5])
406+ throw("List size exceed 5")
407+ }
408+ }
409+ }
410+ }
411+ }
412+ }
413+ }
414+ let tokenSize = ((size(storedTokensValues) - size(token)) - 1)
415+ let updatedPrices = takeRight(storedTokensValues, tokenSize)
416+ let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_price_"), tokenPrice), DataEntry((token + lotteryamount), actualAmount), DataEntry(lastHashRandomNumber, randNumber), DataEntry(totalPricesInPool, updatedAmount), DataEntry("message", "Congratulations you won!")])
417+ if ((tokenAssetId == ""))
418+ then {
419+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
420+ ScriptResult(writeSets, winTransfer)
421+ }
422+ else {
423+ let actualAssetId = fromBase58String(tokenAssetId)
424+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, actualAssetId)])
425+ ScriptResult(writeSets, winTransfer)
426+ }
427+ }
428+ }
429+ }
430+ }
431+ }
432+ else throw((("You need " + toBase58String(ticketAsset)) + " to play this game."))
433+ }
434+
435+
436+@Verifier(tx)
437+func verify () = match tx {
438+ case _ =>
439+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
440+}
441+

github/deemru/w8io/169f3d6 
41.66 ms