CardanoWalletConfig

fmgp.did.method.prism.cardano.CardanoWalletConfig
See theCardanoWalletConfig companion object
case class CardanoWalletConfig(mnemonic: Seq[String] = ..., passphrase: String = ...)

Value parameters

mnemonic

BIP-39 mnemonic sentence. TODO REMVOE default

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def account(index: Int = ...): HdAccount
Extension method from fmgp.did.method.prism.cardano
def address(account: HdAccount, network: CardanoNetwork): ShelleyAddress
Extension method from fmgp.did.method.prism.cardano
def address(index: Int, network: CardanoNetwork): ShelleyAddress
Extension method from fmgp.did.method.prism.cardano
def addressMainnet(account: HdAccount): ShelleyAddress
Extension method from fmgp.did.method.prism.cardano
def addressMainnet(index: Int = ...): ShelleyAddress
Extension method from fmgp.did.method.prism.cardano
def addressTestnet(account: HdAccount): ShelleyAddress
Extension method from fmgp.did.method.prism.cardano
def addressTestnet(index: Int = ...): ShelleyAddress
Extension method from fmgp.did.method.prism.cardano
def ed25519DerivePath(path: String): HdKeyPair
Extension method from fmgp.did.method.prism.cardano
def ed25519DerivePrism(didIndex: Int = ..., keyUsage: PrismKeyUsage, keyIndex: Int = ...): HdKeyPair
Extension method from fmgp.did.method.prism.cardano
def prismDeriveAuthentication(didIndex: Int = ..., keyIndex: Int = ...): HdKeyPair
Extension method from fmgp.did.method.prism.cardano
def prismDeriveMaster(didIndex: Int = ..., keyIndex: Int = ...): Secp256k1PrivateKey
Extension method from fmgp.did.method.prism.cardano
def prismDeriveVDR(didIndex: Int = ..., keyIndex: Int = ...): Secp256k1PrivateKey
Extension method from fmgp.did.method.prism.cardano
def secp256k1DerivePrism(didIndex: Int = ..., keyUsage: PrismKeyUsage, keyIndex: Int = ...): Secp256k1PrivateKey
Extension method from fmgp.did.method.prism.cardano
def secp256k1PrivateKey(depth: Int, childIndex: Int): Secp256k1PrivateKey
Extension method from fmgp.did.method.prism.cardano
def seed: Array[Byte]
Extension method from fmgp.did.method.prism.cardano
def signer(account: HdAccount): TransactionSigner
Extension method from fmgp.did.method.prism.cardano
def signer(index: Int = ...): TransactionSigner
Extension method from fmgp.did.method.prism.cardano
def x25519DerivePrism(didIndex: Int = ..., keyUsage: PrismKeyUsage = ..., keyIndex: Int = ...): OKPPrivateKeyWithoutKid
Extension method from fmgp.did.method.prism.cardano

Derives an X25519 key-agreement key from the HD wallet.

Derives an X25519 key-agreement key from the HD wallet.

Ed25519 (Twisted Edwards) and X25519 (Montgomery) are birationally equivalent forms of Curve25519. In BIP32-Ed25519, kL (the left 32 bytes of the extended key) is already a clamped scalar - identical to what X25519 scalar multiplication requires per RFC 7748. Passing kL directly to X25519.publicFromPrivate (which re-clamps internally) is idempotent and correct.

This is '''not''' equivalent to libsodium's crypto_sign_ed25519_sk_to_curve25519, which expects a standard RFC 8032 seed and SHA-512 hashes it first. BIP32-Ed25519 kL is already the scalar, not a seed, so no hashing is applied here.

Key separation: the X25519 key uses KeyAgreementKeyUsage (path 3'), while Ed25519 signing keys use distinct paths (4', 6', ...). Different paths produce different kL values, so there is no scalar reuse between signing and key-agreement keys.

Attributes

See also

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product