Skip to content

Commit

Permalink
add DeriveBtcPrivateKey
Browse files Browse the repository at this point in the history
  • Loading branch information
lizhenchun committed Oct 29, 2021
1 parent afd0d2d commit cefae5e
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 2 deletions.
5 changes: 5 additions & 0 deletions btc/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package btc

import (
"github.com/btcsuite/btcd/chaincfg"
"github.com/btcsuite/btcd/chaincfg/chainhash"
"github.com/btcsuite/btcutil"
"github.com/btcsuite/btcwallet/wallet/txauthor"
"github.com/btcsuite/btcwallet/wallet/txrules"
Expand All @@ -12,6 +13,10 @@ func DecodeAddress(addr string, chainCfg *chaincfg.Params) (btcutil.Address, err
return btcutil.DecodeAddress(addr, chainCfg)
}

func HexToHash(s string) (*chainhash.Hash, error) {
return chainhash.NewHashFromStr(s)
}

func BtcToSatoshi(v float64) int64 {
amt, _ := btcutil.NewAmount(v)
return int64(amt)
Expand Down
4 changes: 4 additions & 0 deletions eth/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ func HexToAddress(addr string) (common.Address, error) {
return common.HexToAddress(addr), nil
}

func HexToHash(s string) common.Hash {
return common.HexToHash(s)
}

func WeiToGwei(v *big.Int) int64 {
return big.NewInt(0).Div(v, BigIntEthGWei).Int64()
}
Expand Down
2 changes: 0 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,11 @@ github.com/btcsuite/btcwallet/wallet/txrules v1.0.0/go.mod h1:UwQE78yCerZ313EXZw
github.com/btcsuite/btcwallet/wallet/txrules v1.1.0/go.mod h1:Zn9UTqpiTH+HOd5BLzSBzULzlOPmcoeyQIA0cp0WbQQ=
github.com/btcsuite/btcwallet/wallet/txsizes v1.0.0/go.mod h1:pauEU8UuMFiThe5PB3EO+gO5kx87Me5NvdQDsTuq6cs=
github.com/btcsuite/btcwallet/wallet/txsizes v1.1.0/go.mod h1:pauEU8UuMFiThe5PB3EO+gO5kx87Me5NvdQDsTuq6cs=
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw=
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I=
github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc=
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34=
Expand Down
4 changes: 4 additions & 0 deletions wallet/wallet_btc.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,10 @@ func (w *BtcWallet) DerivePrivateKey() string {
return wif.String()
}

func (w *BtcWallet) DeriveBtcPrivateKey() *btcec.PrivateKey {
return w.privateKey
}

func DerivePrivateKeyByPath(masterKey *hdkeychain.ExtendedKey, path string, fixIssue172 bool) (*btcec.PrivateKey, error) {
dpath, err := accounts.ParseDerivationPath(path)
if err != nil {
Expand Down
4 changes: 4 additions & 0 deletions wallet/wallet_eth.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,10 @@ func (w *EthWallet) DerivePrivateKey() string {
return hex.EncodeToString(crypto.FromECDSA(w.privateKey))
}

func (w *EthWallet) DeriveEthPrivateKey() *ecdsa.PrivateKey {
return w.privateKey
}

func derivePublicKey(privateKey *ecdsa.PrivateKey) (*ecdsa.PublicKey, error) {
publicKey := privateKey.Public()
publicKeyECDSA, ok := publicKey.(*ecdsa.PublicKey)
Expand Down

0 comments on commit cefae5e

Please sign in to comment.