[#851] util/rand: use single random source
It is much more convenient to skip source creation. Also fix some bugs: 1. `cryptoSource.Int63()` now returns number in [0, 1<<63) as required by `rand.Source` interface. 2. Replace `cryptoSource.Uint63()` with `cryptoSource.Uint64` to allow generate uint64 numbers directly (see rand.Source64 docs). Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
c35cdb3684
commit
5828f43e52
8 changed files with 56 additions and 66 deletions
|
@ -40,8 +40,7 @@ func initMorphComponents(c *cfg) {
|
|||
fatalOnErr(errors.New("missing Neo RPC endpoints"))
|
||||
}
|
||||
|
||||
crand := rand.New() // math/rand with cryptographic source
|
||||
crand.Shuffle(len(addresses), func(i, j int) {
|
||||
rand.Shuffle(len(addresses), func(i, j int) {
|
||||
addresses[i], addresses[j] = addresses[j], addresses[i]
|
||||
})
|
||||
|
||||
|
@ -185,8 +184,7 @@ func listenMorphNotifications(c *cfg) {
|
|||
endpoints := morphconfig.NotificationEndpoint(c.appCfg)
|
||||
timeout := morphconfig.DialTimeout(c.appCfg)
|
||||
|
||||
crand := rand.New() // math/rand with cryptographic source
|
||||
crand.Shuffle(len(endpoints), func(i, j int) {
|
||||
rand.Shuffle(len(endpoints), func(i, j int) {
|
||||
endpoints[i], endpoints[j] = endpoints[j], endpoints[i]
|
||||
})
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue