laconicd/nitro/util.go
Roy Crihfield 4003a44d20 [wip] nitro bank, server
go mod update for nitro

[wip] nitro.Service

[wip] run protocgen

[wip] nitrobank account
2025-02-13 11:41:58 +08:00

33 lines
789 B
Go

package nitro
import (
errorsmod "cosmossdk.io/errors"
"github.com/cosmos/cosmos-sdk/crypto/keyring"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
)
// cosmos-sdk crypto/keyring/record.go:138
func extractPrivKeyFromLocal(rl *keyring.Record_Local) (cryptotypes.PrivKey, error) {
if rl.PrivKey == nil {
return nil, keyring.ErrPrivKeyNotAvailable
}
priv, ok := rl.PrivKey.GetCachedValue().(cryptotypes.PrivKey)
if !ok {
return nil, errorsmod.Wrap(keyring.ErrCastAny, "PrivKey")
}
return priv, nil
}
func extractPrivKeyBytes(kr keyring.Keyring, uid string) ([]byte, error) {
ethkr, err := kr.Key(uid)
if err != nil {
return nil, err
}
ethkey, err := extractPrivKeyFromLocal(ethkr.GetLocal())
if err != nil {
return nil, err
}
return ethkey.Bytes(), nil
}