tx · LABGwxh84eozYhc5Rob8cqxD99p8opTyWYbVcBt8zv9

3N3UmzKXACreLX3MxuUSf1zKdxC6GjE8wHD:  -0.01400000 Waves

2021.02.09 10:57 [1390373] smart account 3N3UmzKXACreLX3MxuUSf1zKdxC6GjE8wHD > SELF 0.00000000 Waves

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

github/deemru/w8io/873ac7e 
56.15 ms