forked from mirror/go-ethereum
parent
c87cc59bdf
commit
d2e75cc957
@ -1,24 +0,0 @@ |
|||||||
package ethutil |
|
||||||
|
|
||||||
import ( |
|
||||||
"crypto/rand" |
|
||||||
"encoding/binary" |
|
||||||
"io" |
|
||||||
) |
|
||||||
|
|
||||||
func randomUint64(r io.Reader) (uint64, error) { |
|
||||||
b := make([]byte, 8) |
|
||||||
n, err := r.Read(b) |
|
||||||
if n != len(b) { |
|
||||||
return 0, io.ErrShortBuffer |
|
||||||
} |
|
||||||
if err != nil { |
|
||||||
return 0, err |
|
||||||
} |
|
||||||
return binary.BigEndian.Uint64(b), nil |
|
||||||
} |
|
||||||
|
|
||||||
// RandomUint64 returns a cryptographically random uint64 value.
|
|
||||||
func RandomUint64() (uint64, error) { |
|
||||||
return randomUint64(rand.Reader) |
|
||||||
} |
|
@ -1,17 +0,0 @@ |
|||||||
package ethutil |
|
||||||
|
|
||||||
import ( |
|
||||||
checker "gopkg.in/check.v1" |
|
||||||
) |
|
||||||
|
|
||||||
type RandomSuite struct{} |
|
||||||
|
|
||||||
var _ = checker.Suite(&RandomSuite{}) |
|
||||||
|
|
||||||
func (s *RandomSuite) TestRandomUint64(c *checker.C) { |
|
||||||
res1, _ := RandomUint64() |
|
||||||
res2, _ := RandomUint64() |
|
||||||
c.Assert(res1, checker.NotNil) |
|
||||||
c.Assert(res2, checker.NotNil) |
|
||||||
c.Assert(res1, checker.Not(checker.Equals), res2) |
|
||||||
} |
|
@ -1,19 +0,0 @@ |
|||||||
// +build !windows
|
|
||||||
|
|
||||||
package ethutil |
|
||||||
|
|
||||||
import "github.com/ethereum/serpent-go" |
|
||||||
|
|
||||||
// General compile function
|
|
||||||
func Compile(script string, silent bool) (ret []byte, err error) { |
|
||||||
if len(script) > 2 { |
|
||||||
byteCode, err := serpent.Compile(script) |
|
||||||
if err != nil { |
|
||||||
return nil, err |
|
||||||
} |
|
||||||
|
|
||||||
return byteCode, nil |
|
||||||
} |
|
||||||
|
|
||||||
return nil, nil |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
// +build windows
|
|
||||||
|
|
||||||
package ethutil |
|
||||||
|
|
||||||
// General compile function
|
|
||||||
func Compile(script string, silent bool) (ret []byte, err error) { |
|
||||||
if len(script) > 2 { |
|
||||||
return nil, nil |
|
||||||
} |
|
||||||
|
|
||||||
return nil, nil |
|
||||||
} |
|
@ -1,36 +0,0 @@ |
|||||||
package ethutil |
|
||||||
|
|
||||||
type Settable interface { |
|
||||||
AsSet() UniqueSet |
|
||||||
} |
|
||||||
|
|
||||||
type Stringable interface { |
|
||||||
String() string |
|
||||||
} |
|
||||||
|
|
||||||
type UniqueSet map[string]struct{} |
|
||||||
|
|
||||||
func NewSet(v ...Stringable) UniqueSet { |
|
||||||
set := make(UniqueSet) |
|
||||||
for _, val := range v { |
|
||||||
set.Insert(val) |
|
||||||
} |
|
||||||
|
|
||||||
return set |
|
||||||
} |
|
||||||
|
|
||||||
func (self UniqueSet) Insert(k Stringable) UniqueSet { |
|
||||||
self[k.String()] = struct{}{} |
|
||||||
|
|
||||||
return self |
|
||||||
} |
|
||||||
|
|
||||||
func (self UniqueSet) Include(k Stringable) bool { |
|
||||||
_, ok := self[k.String()] |
|
||||||
|
|
||||||
return ok |
|
||||||
} |
|
||||||
|
|
||||||
func Set(s Settable) UniqueSet { |
|
||||||
return s.AsSet() |
|
||||||
} |
|
Loading…
Reference in new issue