tx · 6V8Pd3AwFcYnxwALZywD5QnoQuu6QLJPDemrrq45ixRX

3Mwb8GE6NHaDxJTby35u2sNAEmDQMWYupCn:  -0.01000000 Waves

2023.06.11 18:02 [2618164] smart account 3Mwb8GE6NHaDxJTby35u2sNAEmDQMWYupCn > SELF 0.00000000 Waves

{ "type": 13, "id": "6V8Pd3AwFcYnxwALZywD5QnoQuu6QLJPDemrrq45ixRX", "fee": 1000000, "feeAssetId": null, "timestamp": 1686495782063, "version": 2, "chainId": 84, "sender": "3Mwb8GE6NHaDxJTby35u2sNAEmDQMWYupCn", "senderPublicKey": "6oJuynzr7rKRYRDWhDrENciDLidQuVGfe82pK7hr5nev", "proofs": [ "2WFtb34DhdwsHJ6W69R8W6wFHvsZySbPxD2oXZZxA4BbuoJ3F2yqqfxtZQ36dGLznuEJqYVxhwbFiBZMPreEru2i" ], "script": "base64:BgIJCAISABIDCgEBBAALcmFuZG9tRGVsYXkAAgEJa2V5Q29tbWl0AQdhZGRyZXNzCQCsAgICE2ZpbmlzaEJsb2NrRm9yQWRkcl8FB2FkZHJlc3MBD2dldFJhbmRvbU51bWJlcgIIbWF4VmFsdWUMZmluaXNoSGVpZ2h0BA9yYW5kb21TZWVkQmxvY2sJAQV2YWx1ZQEJAO0HAQUMZmluaXNoSGVpZ2h0BApyYW5kb21IYXNoCQD3AwEJAQV2YWx1ZQEIBQ9yYW5kb21TZWVkQmxvY2sDdnJmCQBqAgkAsgkCBQpyYW5kb21IYXNoABAFCG1heFZhbHVlAQZwc2V1ZG8BAW4ECnJhbmRvbUhhc2gJAPcDAQkAywECCQEFdmFsdWUBCAkBBXZhbHVlAQkA7QcBBQZoZWlnaHQDdnJmCQCaAwEFAW4EB2hhc2hJbnQJALIJAgUKcmFuZG9tSGFzaAAYCQBqAgUHaGFzaEludAAlAgFpAQZjb21taXQABAtmaW5pc2hCbG9jawkAZAIFBmhlaWdodAULcmFuZG9tRGVsYXkJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBCWtleUNvbW1pdAEJAKUIAQgFAWkGY2FsbGVyBQtmaW5pc2hCbG9jawUDbmlsBQtmaW5pc2hCbG9jawFpAQZyZXZlYWwBCG1heFZhbHVlBAdjb21tS2V5CQEJa2V5Q29tbWl0AQkApQgBCAUBaQZjYWxsZXIEC2ZpbmlzaEJsb2NrCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQUHY29tbUtleQIbWW91IGhhdmUgdG8gY29tbWl0KCkgZmlyc3QhAwkAZgIFC2ZpbmlzaEJsb2NrBQZoZWlnaHQJAAIBAh5SYW5kb20gbnVtYmVyIGlzIG5vdCByZWFkeSB5ZXQEBHJhbmQJAQ9nZXRSYW5kb21OdW1iZXICBQhtYXhWYWx1ZQULZmluaXNoQmxvY2sJAJQKAgkAzAgCCQELRGVsZXRlRW50cnkBBQdjb21tS2V5BQNuaWwFBHJhbmQA0Sf8CA==", "height": 2618164, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2g1LSyZQYnkTk1SpMxLGcv9GwGBdPFMShqphRtf9KVzi Next: TcKU55zrnPBc5WgtxP5CTqSh3NvA4GVc3ijvT8NF7XU Diff:
OldNewDifferences
1616 func pseudo (n) = {
1717 let randomHash = sha256((value(value(blockInfoByHeight(height)).vrf) + toBytes(n)))
1818 let hashInt = toInt(randomHash, 24)
19- $Tuple2(hashInt, (hashInt % 37))
19+ (hashInt % 37)
2020 }
2121
2222
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let randomDelay = 2
55
66 func keyCommit (address) = ("finishBlockForAddr_" + address)
77
88
99 func getRandomNumber (maxValue,finishHeight) = {
1010 let randomSeedBlock = value(blockInfoByHeight(finishHeight))
1111 let randomHash = sha256(value(randomSeedBlock.vrf))
1212 (toInt(randomHash, 16) % maxValue)
1313 }
1414
1515
1616 func pseudo (n) = {
1717 let randomHash = sha256((value(value(blockInfoByHeight(height)).vrf) + toBytes(n)))
1818 let hashInt = toInt(randomHash, 24)
19- $Tuple2(hashInt, (hashInt % 37))
19+ (hashInt % 37)
2020 }
2121
2222
2323 @Callable(i)
2424 func commit () = {
2525 let finishBlock = (height + randomDelay)
2626 $Tuple2([IntegerEntry(keyCommit(toString(i.caller)), finishBlock)], finishBlock)
2727 }
2828
2929
3030
3131 @Callable(i)
3232 func reveal (maxValue) = {
3333 let commKey = keyCommit(toString(i.caller))
3434 let finishBlock = valueOrErrorMessage(getInteger(commKey), "You have to commit() first!")
3535 if ((finishBlock > height))
3636 then throw("Random number is not ready yet")
3737 else {
3838 let rand = getRandomNumber(maxValue, finishBlock)
3939 $Tuple2([DeleteEntry(commKey)], rand)
4040 }
4141 }
4242
4343

github/deemru/w8io/c3f4982 
24.23 ms