Fetch the repository succeeded.
package solana
import (
"github.com/centrifuge/go-substrate-rpc-client/v4/types"
"github.com/portto/solana-go-sdk/common"
)
type Util struct {
}
func NewUtil() *Util {
return &Util{}
}
// MARK - Implement the protocol wallet.Util
func (u *Util) EncodePublicKeyToAddress(publicKey string) (string, error) {
return EncodePublicKeyToAddress(publicKey)
}
// Warning: eth cannot support decode address to public key
func (u *Util) DecodeAddressToPublicKey(address string) (string, error) {
return DecodeAddressToPublicKey(address)
}
// Check if address is 40 hexadecimal characters
func (u *Util) IsValidAddress(address string) bool {
return IsValidAddress(address)
}
// MARK - like wallet.Util
func EncodePublicKeyToAddress(publicKey string) (string, error) {
bytes, err := types.HexDecodeString(publicKey)
if err != nil {
return "", err
}
pubKey := common.PublicKeyFromBytes(bytes)
return pubKey.ToBase58(), nil
}
func DecodeAddressToPublicKey(address string) (string, error) {
pubKey := common.PublicKeyFromString(address)
return types.HexEncodeToString(pubKey.Bytes()), nil
}
func IsValidAddress(address string) bool {
if len(address) != 44 {
return false
}
pub := common.PublicKeyFromString(address)
addr2 := pub.ToBase58()
return address == addr2
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。