tx · 9wRa37kVK2YZzw54mDtXLrF4MdcpeBdRUUWvB4KCHd6H

3Mynaio8coZLr58tu2AdBEhmCvB17vTBRkA:  -0.01000000 Waves

2023.06.03 23:52 [2607006] smart account 3Mynaio8coZLr58tu2AdBEhmCvB17vTBRkA > SELF 0.00000000 Waves

{ "type": 13, "id": "9wRa37kVK2YZzw54mDtXLrF4MdcpeBdRUUWvB4KCHd6H", "fee": 1000000, "feeAssetId": null, "timestamp": 1685825546120, "version": 2, "chainId": 84, "sender": "3Mynaio8coZLr58tu2AdBEhmCvB17vTBRkA", "senderPublicKey": "Dx7cJVhpJb4qUDGiDnSjj6Wfjdj5nmzwVLfaggkbjDtv", "proofs": [ "47TVV8a22GYSnjq9P3nXQxWGUtgYxMtkPqyfBp4emYnr8FgCx3H8MfZKebi5XdtBnsezq6sWMYzBWkCnBAjmkq2H" ], "script": "base64:BgILCAISABIAEgMKAQEHAQpudW1Ub1dhdmVzAQNudW0JAGgCBQNudW0AgMLXLwELaXNQYXltZW50T2sBAWkEEWFjY2VwdGFibGVBc3NldElkASAiRKbniFR9USiuale6D2n6duEOdzftqEerUh9pTZRCRwMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhRQYXltZW50IG5vdCBhdHRhY2hlZAQBcAkAkQMCCAUBaQhwYXltZW50cwAABAckbWF0Y2gwCAUBcAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEB2Fzc2V0SWQFByRtYXRjaDADCQAAAgUHYXNzZXRJZAURYWNjZXB0YWJsZUFzc2V0SWQJAGcCCAUBcAZhbW91bnQJAQpudW1Ub1dhdmVzAQABBwkAZwIIBQFwBmFtb3VudAkBCm51bVRvV2F2ZXMBAAEBE2dldEx1Y2t5V2hlZWxCZXRLZXkBAWkJAKwCAgIPYmV0X0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgETZ2V0THVja3lXaGVlbFdvbktleQEBaQkArAICAg93b25fTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyARxnZXRMdWNreVdoZWVsUmFuZG9tTnVtYmVyS2V5AQFpCQCsAgICGHJhbmRvbU51bWJlcl9MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXIBE2dldEx1Y2t5V2hlZWxMb2dLZXkBAWkJAKwCAgkArAICCQCsAgICD2xvZ19MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXICAV8JANgEAQgFAWkNdHJhbnNhY3Rpb25JZAEZZ2FtZUx1Y2t5V2hlZWxXaGF0VXNlcldvbgEFdmFsdWUEByRtYXRjaDAFBXZhbHVlAwkAAAIAAQUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAIDCQAAAgADBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEAAQMJAAACAAcFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQAGAwkAAAIACQUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAEAAAMBaQEQY29tbWl0THVja3lXaGVlbAADCQEBIQEJAQtpc1BheW1lbnRPawEFAWkJAAIBAh1Xcm9uZyBwYXltZW50IGFtb3VudCBvciBhc3NldAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE2dldEx1Y2t5V2hlZWxCZXRLZXkBBQFpCQBkAgUGaGVpZ2h0AAEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBHGdldEx1Y2t5V2hlZWxSYW5kb21OdW1iZXJLZXkBBQFpCQDMCAIJAQtEZWxldGVFbnRyeQEJARNnZXRMdWNreVdoZWVsV29uS2V5AQUBaQUDbmlsAWkBEHJldmVhbEx1Y2t5V2hlZWwABAxjb21taXRIZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkBEUBleHRyTmF0aXZlKDEwNTUpAQkBE2dldEx1Y2t5V2hlZWxCZXRLZXkBBQFpAg1CZXQgbm90IGZvdW5kAwkAZgIFDGNvbW1pdEhlaWdodAUGaGVpZ2h0CQACAQkArAICCQCsAgICBXdhaXQgCQCkAwEJAGUCBQxjb21taXRIZWlnaHQFBmhlaWdodAIZIGJsb2NrcyB0byByZXZlYWwgdGhpcyBpZAQLcmV2ZWFsQmxvY2sJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBBQxjb21taXRIZWlnaHQCEXVuZXhjcGVjdGVkIGVycm9yBAN2cmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IECnJhbmRvbUhhc2gJAPcDAQkBBXZhbHVlAQUDdnJmBApyYW5kb21TZWVkCQBqAgkAsgkCBQpyYW5kb21IYXNoABAADAQMcmFuZG9tTnVtYmVyCQBkAgkAagIFCnJhbmRvbVNlZWQJAGQCCQBlAgAMAAEAAQABBA13aW5uaW5nQW1vdW50CQEZZ2FtZUx1Y2t5V2hlZWxXaGF0VXNlcldvbgEFDHJhbmRvbU51bWJlcgMJAGYCBQ13aW5uaW5nQW1vdW50AAAJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBE2dldEx1Y2t5V2hlZWxCZXRLZXkBBQFpCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUNd2lubmluZ0Ftb3VudAUEdW5pdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE2dldEx1Y2t5V2hlZWxXb25LZXkBBQFpBQ13aW5uaW5nQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEcZ2V0THVja3lXaGVlbFJhbmRvbU51bWJlcktleQEFAWkFDHJhbmRvbU51bWJlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE2dldEx1Y2t5V2hlZWxMb2dLZXkBBQFpBQ13aW5uaW5nQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpyYW5kb21TZWVkBQpyYW5kb21TZWVkBQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBE2dldEx1Y2t5V2hlZWxCZXRLZXkBBQFpCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQETZ2V0THVja3lXaGVlbFdvbktleQEFAWkFDXdpbm5pbmdBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJARxnZXRMdWNreVdoZWVsUmFuZG9tTnVtYmVyS2V5AQUBaQUMcmFuZG9tTnVtYmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQETZ2V0THVja3lXaGVlbExvZ0tleQEFAWkFDXdpbm5pbmdBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICCnJhbmRvbVNlZWQFCnJhbmRvbVNlZWQFA25pbAFpAQd0ZXN0VlJGAQFoBAtyZXZlYWxCbG9jawkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDtBwEFAWgCEXVuZXhjcGVjdGVkIGVycm9yBAN2cmYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IECnJhbmRvbUhhc2gJAPcDAQkBBXZhbHVlAQUDdnJmBApyYW5kb21TZWVkCQBqAgkAsgkCBQpyYW5kb21IYXNoABAADAQMcmFuZG9tTnVtYmVyCQBkAgkAagIFCnJhbmRvbVNlZWQJAGQCCQBlAgAMAAEAAQABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICAWgJAKQDAQUBaAUMcmFuZG9tTnVtYmVyBQNuaWwA6vV//g==", "height": 2607006, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GzkY8pZWuuJ45NHhpurZAw4nkVNoCW4WupRZCBv2ZUEo Next: none Diff:
OldNewDifferences
7474 }
7575
7676
77+
78+@Callable(i)
79+func testVRF (h) = {
80+ let revealBlock = valueOrErrorMessage(blockInfoByHeight(h), "unexcpected error")
81+ let vrf = valueOrErrorMessage(revealBlock.vrf, "unexcpected error")
82+ let randomHash = sha256(value(vrf))
83+ let randomSeed = (toInt(randomHash, 16) % 12)
84+ let randomNumber = ((randomSeed % ((12 - 1) + 1)) + 1)
85+[IntegerEntry(("h" + toString(h)), randomNumber)]
86+ }
87+
88+
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 ((7 == $match0))
4444 then numToWaves(6)
4545 else if ((9 == $match0))
4646 then numToWaves(1)
4747 else 0
4848 }
4949
5050
5151 @Callable(i)
5252 func commitLuckyWheel () = if (!(isPaymentOk(i)))
5353 then throw("Wrong payment amount or asset")
5454 else [IntegerEntry(getLuckyWheelBetKey(i), (height + 1)), DeleteEntry(getLuckyWheelRandomNumberKey(i)), DeleteEntry(getLuckyWheelWonKey(i))]
5555
5656
5757
5858 @Callable(i)
5959 func revealLuckyWheel () = {
6060 let commitHeight = valueOrErrorMessage(getIntegerValue(getLuckyWheelBetKey(i)), "Bet not found")
6161 if ((commitHeight > height))
6262 then throw((("wait " + toString((commitHeight - height))) + " blocks to reveal this id"))
6363 else {
6464 let revealBlock = valueOrErrorMessage(blockInfoByHeight(commitHeight), "unexcpected error")
6565 let vrf = valueOrErrorMessage(revealBlock.vrf, "unexcpected error")
6666 let randomHash = sha256(value(vrf))
6767 let randomSeed = (toInt(randomHash, 16) % 12)
6868 let randomNumber = ((randomSeed % ((12 - 1) + 1)) + 1)
6969 let winningAmount = gameLuckyWheelWhatUserWon(randomNumber)
7070 if ((winningAmount > 0))
7171 then [DeleteEntry(getLuckyWheelBetKey(i)), ScriptTransfer(i.caller, winningAmount, unit), IntegerEntry(getLuckyWheelWonKey(i), winningAmount), IntegerEntry(getLuckyWheelRandomNumberKey(i), randomNumber), IntegerEntry(getLuckyWheelLogKey(i), winningAmount), IntegerEntry("randomSeed", randomSeed)]
7272 else [DeleteEntry(getLuckyWheelBetKey(i)), IntegerEntry(getLuckyWheelWonKey(i), winningAmount), IntegerEntry(getLuckyWheelRandomNumberKey(i), randomNumber), IntegerEntry(getLuckyWheelLogKey(i), winningAmount), IntegerEntry("randomSeed", randomSeed)]
7373 }
7474 }
7575
7676
77+
78+@Callable(i)
79+func testVRF (h) = {
80+ let revealBlock = valueOrErrorMessage(blockInfoByHeight(h), "unexcpected error")
81+ let vrf = valueOrErrorMessage(revealBlock.vrf, "unexcpected error")
82+ let randomHash = sha256(value(vrf))
83+ let randomSeed = (toInt(randomHash, 16) % 12)
84+ let randomNumber = ((randomSeed % ((12 - 1) + 1)) + 1)
85+[IntegerEntry(("h" + toString(h)), randomNumber)]
86+ }
87+
88+

github/deemru/w8io/169f3d6 
45.59 ms