func CreateAddress(b types.Address, nonce uint64) types.Address {
	data, _ := rlp.EncodeToBytes([]interface{}{b, nonce})
	return types.BytesToAddress(Keccak256(data)[12:])
}
CreateAddress creates an ethereum address given the bytes and the nonce
package crypto
import (
	"crypto/ecdsa"
	"crypto/elliptic"
	"crypto/rand"
	"encoding/hex"
	"errors"
	"fmt"
	"github.com/MinterTeam/minter-go-node/coreV2/types"
	"github.com/MinterTeam/minter-go-node/math"
	"github.com/MinterTeam/minter-go-node/rlp"
	"io"
	"io/ioutil"
	"math/big"
	"os"
	"golang.org/x/crypto/sha3"
)
var (
	secp256k1N, _  = new(big.Int).SetString("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", 16)
	secp256k1halfN = new(big.Int).Div(secp256k1N, big.NewInt(2))
)
var errInvalidPubkey = errors.New("invalid secp256k1 public key")
func Keccak256(data ...[]byte) []byte {
	d := sha3.NewLegacyKeccak256()
	for _, b := range data {
		d.Write(b)
	}
	return d.Sum(nil)
}
func Keccak256Hash(data ...[]byte) (h types.Hash) {
	d := sha3.NewLegacyKeccak256()
	for _, b := range data {
		d.Write(b)
	}
	d.Sum(h[:0])
	return h
}