github.com/hungdoo/bot@v0.0.0-20240325145135-dd1f386f7b81/src/packages/tombplus/key.go (about) 1 package tombplus 2 3 import ( 4 "crypto/ecdsa" 5 "errors" 6 7 "github.com/ethereum/go-ethereum/common" 8 "github.com/ethereum/go-ethereum/crypto" 9 ) 10 11 func PrivateKeyFromHex(privateKeyHex string) (*ecdsa.PrivateKey, error) { 12 return crypto.HexToECDSA(privateKeyHex) 13 } 14 15 func AddressFromPriKey(privateKeyECDSA *ecdsa.PrivateKey) (common.Address, error) { 16 publicKey := privateKeyECDSA.Public() 17 publicKeyECDSA, ok := publicKey.(*ecdsa.PublicKey) 18 if !ok { 19 return common.Address{}, errors.New("error casting public key to ECDSA") 20 } 21 22 return crypto.PubkeyToAddress(*publicKeyECDSA), nil 23 }