|
|
@@ -16,10 +16,10 @@ import (
|
|
|
"errors"
|
|
|
|
|
|
"code.google.com/p/go-uuid/uuid"
|
|
|
+ "github.com/ethereum/go-ethereum/common"
|
|
|
"github.com/ethereum/go-ethereum/crypto/ecies"
|
|
|
"github.com/ethereum/go-ethereum/crypto/secp256k1"
|
|
|
"github.com/ethereum/go-ethereum/crypto/sha3"
|
|
|
- "github.com/ethereum/go-ethereum/common"
|
|
|
"golang.org/x/crypto/pbkdf2"
|
|
|
"golang.org/x/crypto/ripemd160"
|
|
|
)
|
|
|
@@ -37,6 +37,15 @@ func Sha3(data ...[]byte) []byte {
|
|
|
return d.Sum(nil)
|
|
|
}
|
|
|
|
|
|
+func Sha3Hash(data ...[]byte) (h common.Hash) {
|
|
|
+ d := sha3.NewKeccak256()
|
|
|
+ for _, b := range data {
|
|
|
+ d.Write(b)
|
|
|
+ }
|
|
|
+ d.Sum(h[:])
|
|
|
+ return h
|
|
|
+}
|
|
|
+
|
|
|
// Creates an ethereum address given the bytes and the nonce
|
|
|
func CreateAddress(b []byte, nonce uint64) []byte {
|
|
|
return Sha3(common.NewValue([]interface{}{b, nonce}).Encode())[12:]
|