tx · 7PH4zSeYNSg5p72C513K2EvCVe4jcA43dBVAep3Ga9qq

3Mynaio8coZLr58tu2AdBEhmCvB17vTBRkA:  -0.01000000 Waves

2023.06.03 21:57 [2606888] smart account 3Mynaio8coZLr58tu2AdBEhmCvB17vTBRkA > SELF 0.00000000 Waves

{ "type": 13, "id": "7PH4zSeYNSg5p72C513K2EvCVe4jcA43dBVAep3Ga9qq", "fee": 1000000, "feeAssetId": null, "timestamp": 1685818638871, "version": 2, "chainId": 84, "sender": "3Mynaio8coZLr58tu2AdBEhmCvB17vTBRkA", "senderPublicKey": "Dx7cJVhpJb4qUDGiDnSjj6Wfjdj5nmzwVLfaggkbjDtv", "proofs": [ "58pMnTFqdrcgtxKreRuDRDtg2UFJgjTgqWzomifuvyQG11XjhfHaDWBDRtM2wiFpHmDGQstKnYvjUp9pwDveeGjp" ], "script": "base64:BgIGCAISABIABwEKbnVtVG9XYXZlcwEDbnVtCQBoAgUDbnVtAIDC1y8BC2lzUGF5bWVudE9rAQFpBBFhY2NlcHRhYmxlQXNzZXRJZAEgIkSm54hUfVEormpXug9p+nbhDnc37ahHq1IfaU2UQkcDCQAAAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUUGF5bWVudCBub3QgYXR0YWNoZWQEAXAJAJEDAggFAWkIcGF5bWVudHMAAAQHJG1hdGNoMAgFAXAHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAdhc3NldElkBQckbWF0Y2gwAwkAAAIFB2Fzc2V0SWQFEWFjY2VwdGFibGVBc3NldElkCQBnAggFAXAGYW1vdW50CQEKbnVtVG9XYXZlcwEAAQcJAGcCCAUBcAZhbW91bnQJAQpudW1Ub1dhdmVzAQABARNnZXRMdWNreVdoZWVsQmV0S2V5AQFpCQCsAgICD2JldF9MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXIBE2dldEx1Y2t5V2hlZWxXb25LZXkBAWkJAKwCAgIPd29uX0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgEcZ2V0THVja3lXaGVlbFJhbmRvbU51bWJlcktleQEBaQkArAICAhhyYW5kb21OdW1iZXJfTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyARNnZXRMdWNreVdoZWVsTG9nS2V5AQFpCQCsAgIJAKwCAgkArAICAg9sb2dfTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyAgFfCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQBGWdhbWVMdWNreVdoZWVsV2hhdFVzZXJXb24BBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAACAAEFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQACAwkAAAIAAwUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAEDCQAAAgAFBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEAAQMJAAACAAcFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQAGAwkAAAIACQUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAEDCQAAAgALBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEAAQAAAgFpARBjb21taXRMdWNreVdoZWVsAAMJAQEhAQkBC2lzUGF5bWVudE9rAQUBaQkAAgECHVdyb25nIHBheW1lbnQgYW1vdW50IG9yIGFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQETZ2V0THVja3lXaGVlbEJldEtleQEFAWkJAGQCBQZoZWlnaHQAAQkAzAgCCQELRGVsZXRlRW50cnkBCQEcZ2V0THVja3lXaGVlbFJhbmRvbU51bWJlcktleQEFAWkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBE2dldEx1Y2t5V2hlZWxXb25LZXkBBQFpBQNuaWwBaQEQcmV2ZWFsTHVja3lXaGVlbAAEDGNvbW1pdEhlaWdodAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQERQGV4dHJOYXRpdmUoMTA1NSkBCQETZ2V0THVja3lXaGVlbEJldEtleQEFAWkCDUJldCBub3QgZm91bmQDCQBmAgUMY29tbWl0SGVpZ2h0BQZoZWlnaHQJAAIBCQCsAgIJAKwCAgIFd2FpdCAJAKQDAQkAZQIFDGNvbW1pdEhlaWdodAUGaGVpZ2h0AhkgYmxvY2tzIHRvIHJldmVhbCB0aGlzIGlkBAtyZXZlYWxCbG9jawkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDtBwEFDGNvbW1pdEhlaWdodAIRdW5leGNwZWN0ZWQgZXJyb3IEA3ZyZgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCAULcmV2ZWFsQmxvY2sDdnJmAhF1bmV4Y3BlY3RlZCBlcnJvcgQKcmFuZG9tSGFzaAkA9wMBCQEFdmFsdWUBBQN2cmYECnJhbmRvbVNlZWQJAGoCCQCyCQIFCnJhbmRvbUhhc2gAEAAMBAxyYW5kb21OdW1iZXIJAGQCCQBqAgUKcmFuZG9tU2VlZAkAZAIJAGUCAAwAAQABAAEEDXdpbm5pbmdBbW91bnQJARlnYW1lTHVja3lXaGVlbFdoYXRVc2VyV29uAQUMcmFuZG9tTnVtYmVyAwkAZgIFDXdpbm5pbmdBbW91bnQAAAkAzAgCCQELRGVsZXRlRW50cnkBCQETZ2V0THVja3lXaGVlbEJldEtleQEFAWkJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQ13aW5uaW5nQW1vdW50BQR1bml0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQETZ2V0THVja3lXaGVlbFdvbktleQEFAWkFDXdpbm5pbmdBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJARxnZXRMdWNreVdoZWVsUmFuZG9tTnVtYmVyS2V5AQUBaQUMcmFuZG9tTnVtYmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQETZ2V0THVja3lXaGVlbExvZ0tleQEFAWkFDXdpbm5pbmdBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICCnJhbmRvbVNlZWQFCnJhbmRvbVNlZWQFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQETZ2V0THVja3lXaGVlbEJldEtleQEFAWkJAMwIAgkBDEludGVnZXJFbnRyeQIJARNnZXRMdWNreVdoZWVsV29uS2V5AQUBaQUNd2lubmluZ0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHGdldEx1Y2t5V2hlZWxSYW5kb21OdW1iZXJLZXkBBQFpBQxyYW5kb21OdW1iZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJARNnZXRMdWNreVdoZWVsTG9nS2V5AQUBaQUNd2lubmluZ0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgIKcmFuZG9tU2VlZAUKcmFuZG9tU2VlZAUDbmlsACq+ImE=", "height": 2606888, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5RZWLx9adpK5iuTaRGATKhnKDh2qttEJkP2WVESssJhN Next: xEc8Yznj2JmVyQ9jJDWaFu6wQyrdj1fLqrbhpQsnSNP Diff:
OldNewDifferences
6767 else {
6868 let revealBlock = valueOrErrorMessage(blockInfoByHeight(commitHeight), "unexcpected error")
6969 let vrf = valueOrErrorMessage(revealBlock.vrf, "unexcpected error")
70- let randomSeed = toInt(keccak256(vrf))
70+ let randomHash = sha256(value(vrf))
71+ let randomSeed = (toInt(randomHash, 16) % 12)
7172 let randomNumber = ((randomSeed % ((12 - 1) + 1)) + 1)
7273 let winningAmount = gameLuckyWheelWhatUserWon(randomNumber)
7374 if ((winningAmount > 0))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func numToWaves (num) = (num * 100000000)
55
66
77 func isPaymentOk (i) = {
88 let acceptableAssetId = base58'3JmaWyFqWo8YSA8x3DXCBUW7veesxacvKx19dMv7wTMg'
99 if ((size(i.payments) == 0))
1010 then throw("Payment not attached")
1111 else {
1212 let p = i.payments[0]
1313 match p.assetId {
1414 case assetId: ByteVector =>
1515 if ((assetId == acceptableAssetId))
1616 then (p.amount >= numToWaves(1))
1717 else false
1818 case _ =>
1919 (p.amount >= numToWaves(1))
2020 }
2121 }
2222 }
2323
2424
2525 func getLuckyWheelBetKey (i) = ("bet_LuckyWheel_" + toString(i.caller))
2626
2727
2828 func getLuckyWheelWonKey (i) = ("won_LuckyWheel_" + toString(i.caller))
2929
3030
3131 func getLuckyWheelRandomNumberKey (i) = ("randomNumber_LuckyWheel_" + toString(i.caller))
3232
3333
3434 func getLuckyWheelLogKey (i) = ((("log_LuckyWheel_" + toString(i.caller)) + "_") + toBase58String(i.transactionId))
3535
3636
3737 func gameLuckyWheelWhatUserWon (value) = match value {
3838 case _ =>
3939 if ((1 == $match0))
4040 then numToWaves(2)
4141 else if ((3 == $match0))
4242 then numToWaves(1)
4343 else if ((5 == $match0))
4444 then numToWaves(1)
4545 else if ((7 == $match0))
4646 then numToWaves(6)
4747 else if ((9 == $match0))
4848 then numToWaves(1)
4949 else if ((11 == $match0))
5050 then numToWaves(1)
5151 else 0
5252 }
5353
5454
5555 @Callable(i)
5656 func commitLuckyWheel () = if (!(isPaymentOk(i)))
5757 then throw("Wrong payment amount or asset")
5858 else [IntegerEntry(getLuckyWheelBetKey(i), (height + 1)), DeleteEntry(getLuckyWheelRandomNumberKey(i)), DeleteEntry(getLuckyWheelWonKey(i))]
5959
6060
6161
6262 @Callable(i)
6363 func revealLuckyWheel () = {
6464 let commitHeight = valueOrErrorMessage(getIntegerValue(getLuckyWheelBetKey(i)), "Bet not found")
6565 if ((commitHeight > height))
6666 then throw((("wait " + toString((commitHeight - height))) + " blocks to reveal this id"))
6767 else {
6868 let revealBlock = valueOrErrorMessage(blockInfoByHeight(commitHeight), "unexcpected error")
6969 let vrf = valueOrErrorMessage(revealBlock.vrf, "unexcpected error")
70- let randomSeed = toInt(keccak256(vrf))
70+ let randomHash = sha256(value(vrf))
71+ let randomSeed = (toInt(randomHash, 16) % 12)
7172 let randomNumber = ((randomSeed % ((12 - 1) + 1)) + 1)
7273 let winningAmount = gameLuckyWheelWhatUserWon(randomNumber)
7374 if ((winningAmount > 0))
7475 then [DeleteEntry(getLuckyWheelBetKey(i)), ScriptTransfer(i.caller, winningAmount, unit), IntegerEntry(getLuckyWheelWonKey(i), winningAmount), IntegerEntry(getLuckyWheelRandomNumberKey(i), randomNumber), IntegerEntry(getLuckyWheelLogKey(i), winningAmount), IntegerEntry("randomSeed", randomSeed)]
7576 else [DeleteEntry(getLuckyWheelBetKey(i)), IntegerEntry(getLuckyWheelWonKey(i), winningAmount), IntegerEntry(getLuckyWheelRandomNumberKey(i), randomNumber), IntegerEntry(getLuckyWheelLogKey(i), winningAmount), IntegerEntry("randomSeed", randomSeed)]
7677 }
7778 }
7879
7980

github/deemru/w8io/873ac7e 
33.00 ms