tx · F6ftXhEUqGwT1DAo2gDUu8PtDKkwaNjLNmasNW9Xbh4J 3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ: -0.01000000 Waves 2023.05.31 01:04 [2601282] smart account 3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ > SELF 0.00000000 Waves
{ "type": 13, "id": "F6ftXhEUqGwT1DAo2gDUu8PtDKkwaNjLNmasNW9Xbh4J", "fee": 1000000, "feeAssetId": null, "timestamp": 1685484356851, "version": 2, "chainId": 84, "sender": "3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ", "senderPublicKey": "y5twTW93XMmi75S5bati2cok9QLLFivsrwJedxJeUkX", "proofs": [ "3uSxGZ4jhBXB6Y12yR1kFpv3ad3JKPWFAnuZvTUiB9fFiWExNRSVSzCVU1pjzTMmRvFhs1q7h2MnoxKrrBfDhXgu" ], "script": "base64:BgIECAISAAUBD2dldFJhbmRvbU51bWJlcgAED3JhbmRvbVNlZWRCbG9jawkBBXZhbHVlAQkA7QcBCQBlAgUGaGVpZ2h0AAEECnJhbmRvbUhhc2gJANQWAQkBBXZhbHVlAQgFD3JhbmRvbVNlZWRCbG9jawN2cmYEA3N0cgkA2AQBBQpyYW5kb21IYXNoBAhsYXN0Q2hhcgkAsgICBQNzdHIAAgUIbGFzdENoYXIBEGdldFJhbmRvbU51bWJlcjIABA9yYW5kb21TZWVkQmxvY2sJAQV2YWx1ZQEJAO0HAQkAZQIFBmhlaWdodAABBApyYW5kb21IYXNoCQDUFgEJAQV2YWx1ZQEIBQ9yYW5kb21TZWVkQmxvY2sDdnJmCQCyAgIJAKQDAQkAsQkBBQpyYW5kb21IYXNoAAEBBnJhbmRvbQEBaQQPcmFuZG9tU2VlZEJsb2NrCQEFdmFsdWUBCQDtBwEJAGUCBQZoZWlnaHQAAQQKcmFuZG9tSGFzaAkA1BYBCQEFdmFsdWUBCAUPcmFuZG9tU2VlZEJsb2NrA3ZyZgQIbGFzdENoYXIJALICAgkApAMBCQCxCQEFCnJhbmRvbUhhc2gAAQQJbGFzdENoYXIyCQCyAgIJAKQDAQkAsQkBCAUBaQ10cmFuc2FjdGlvbklkAAEJAKwCAgUIbGFzdENoYXIFCWxhc3RDaGFyMgEHcmFuZG9tMgEBaQQFb2ZzZXQJAQ1wYXJzZUludFZhbHVlAQkAsgICCQCkAwEJALEJAQgFAWkNdHJhbnNhY3Rpb25JZAABBA9yYW5kb21TZWVkQmxvY2sJAQV2YWx1ZQEJAO0HAQkAZQIFBmhlaWdodAUFb2ZzZXQECnJhbmRvbUhhc2gJANQWAQkBBXZhbHVlAQgFD3JhbmRvbVNlZWRCbG9jawN2cmYECGxhc3RDaGFyCQCyAgIJAKQDAQkAsQkBBQpyYW5kb21IYXNoAAEJAQ1wYXJzZUludFZhbHVlAQUIbGFzdENoYXIBEGdldFJhbmRvbU51bWJlcjQBAWkED3JhbmRvbVNlZWRCbG9jawkBBXZhbHVlAQkA7QcBCQBlAgUGaGVpZ2h0AAEECnJhbmRvbUhhc2gJANQWAQkBBXZhbHVlAQgFD3JhbmRvbVNlZWRCbG9jawN2cmYJAKQDAQkAsQkBBQpyYW5kb21IYXNoAQFpAQV0ZXN0NwAEB2FkZHJlc3MJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQCcjMJAQdyYW5kb20yAQUBaQkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgZyYW5kb20FAnIzBQNuaWwAAQAxRcV9", "height": 2601282, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dr7DN4Fwi7snEaeAuANYcSv8iQXk3NAvGJUBXZh4uNo4 Next: D2bTuZTuNAHdifBZwPsKJ4c1wURa4zryj2yrUeDbR5rZ Diff:
Old | New | Differences | |
---|---|---|---|
26 | 26 | } | |
27 | 27 | ||
28 | 28 | ||
29 | + | func random2 (i) = { | |
30 | + | let ofset = parseIntValue(takeRight(toString(toInt(i.transactionId)), 1)) | |
31 | + | let randomSeedBlock = value(blockInfoByHeight((height - ofset))) | |
32 | + | let randomHash = sha256_16Kb(value(randomSeedBlock.vrf)) | |
33 | + | let lastChar = takeRight(toString(toInt(randomHash)), 1) | |
34 | + | parseIntValue(lastChar) | |
35 | + | } | |
36 | + | ||
37 | + | ||
29 | 38 | func getRandomNumber4 (i) = { | |
30 | 39 | let randomSeedBlock = value(blockInfoByHeight((height - 1))) | |
31 | 40 | let randomHash = sha256_16Kb(value(randomSeedBlock.vrf)) | |
36 | 45 | @Callable(i) | |
37 | 46 | func test7 () = { | |
38 | 47 | let address = toBase58String(i.caller.bytes) | |
39 | - | let r3 = | |
40 | - | $Tuple2([ | |
48 | + | let r3 = random2(i) | |
49 | + | $Tuple2([IntegerEntry("random", r3)], 1) | |
41 | 50 | } | |
42 | 51 | ||
43 | 52 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func getRandomNumber () = { | |
5 | 5 | let randomSeedBlock = value(blockInfoByHeight((height - 1))) | |
6 | 6 | let randomHash = sha256_16Kb(value(randomSeedBlock.vrf)) | |
7 | 7 | let str = toBase58String(randomHash) | |
8 | 8 | let lastChar = takeRight(str, 2) | |
9 | 9 | lastChar | |
10 | 10 | } | |
11 | 11 | ||
12 | 12 | ||
13 | 13 | func getRandomNumber2 () = { | |
14 | 14 | let randomSeedBlock = value(blockInfoByHeight((height - 1))) | |
15 | 15 | let randomHash = sha256_16Kb(value(randomSeedBlock.vrf)) | |
16 | 16 | takeRight(toString(toInt(randomHash)), 1) | |
17 | 17 | } | |
18 | 18 | ||
19 | 19 | ||
20 | 20 | func random (i) = { | |
21 | 21 | let randomSeedBlock = value(blockInfoByHeight((height - 1))) | |
22 | 22 | let randomHash = sha256_16Kb(value(randomSeedBlock.vrf)) | |
23 | 23 | let lastChar = takeRight(toString(toInt(randomHash)), 1) | |
24 | 24 | let lastChar2 = takeRight(toString(toInt(i.transactionId)), 1) | |
25 | 25 | (lastChar + lastChar2) | |
26 | 26 | } | |
27 | 27 | ||
28 | 28 | ||
29 | + | func random2 (i) = { | |
30 | + | let ofset = parseIntValue(takeRight(toString(toInt(i.transactionId)), 1)) | |
31 | + | let randomSeedBlock = value(blockInfoByHeight((height - ofset))) | |
32 | + | let randomHash = sha256_16Kb(value(randomSeedBlock.vrf)) | |
33 | + | let lastChar = takeRight(toString(toInt(randomHash)), 1) | |
34 | + | parseIntValue(lastChar) | |
35 | + | } | |
36 | + | ||
37 | + | ||
29 | 38 | func getRandomNumber4 (i) = { | |
30 | 39 | let randomSeedBlock = value(blockInfoByHeight((height - 1))) | |
31 | 40 | let randomHash = sha256_16Kb(value(randomSeedBlock.vrf)) | |
32 | 41 | toString(toInt(randomHash)) | |
33 | 42 | } | |
34 | 43 | ||
35 | 44 | ||
36 | 45 | @Callable(i) | |
37 | 46 | func test7 () = { | |
38 | 47 | let address = toBase58String(i.caller.bytes) | |
39 | - | let r3 = | |
40 | - | $Tuple2([ | |
48 | + | let r3 = random2(i) | |
49 | + | $Tuple2([IntegerEntry("random", r3)], 1) | |
41 | 50 | } | |
42 | 51 | ||
43 | 52 |
github/deemru/w8io/169f3d6 28.40 ms ◑