diff options
Diffstat (limited to 'vendor/github.com/tangerine-network/tangerine-consensus/common/utils.go')
-rw-r--r-- | vendor/github.com/tangerine-network/tangerine-consensus/common/utils.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/github.com/tangerine-network/tangerine-consensus/common/utils.go b/vendor/github.com/tangerine-network/tangerine-consensus/common/utils.go new file mode 100644 index 000000000..0e847900f --- /dev/null +++ b/vendor/github.com/tangerine-network/tangerine-consensus/common/utils.go @@ -0,0 +1,41 @@ +package common + +import ( + "math/rand" + "time" +) + +var random *rand.Rand + +func init() { + random = rand.New(rand.NewSource(time.Now().Unix())) +} + +// NewRandomHash returns a random Hash-like value. +func NewRandomHash() Hash { + x := Hash{} + for i := 0; i < HashLength; i++ { + x[i] = byte(random.Int() % 256) + } + return x +} + +// GenerateRandomBytes generates bytes randomly. +func GenerateRandomBytes() []byte { + randomness := make([]byte, 32) + _, err := rand.Read(randomness) + if err != nil { + panic(err) + } + return randomness +} + +// CopyBytes copies byte slice. +func CopyBytes(src []byte) (dst []byte) { + if len(src) == 0 { + return + } + dst = make([]byte, len(src)) + copy(dst, src) + return +} |