fmgp.did.method.prism.cardano

Members list

Type members

Classlikes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class CardanoMetadataCBOR(index: Int, tx: String, cbor: String) extends CardanoMetadata

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class CardanoMetadataJson(index: Int, tx: String, content: Json) extends CardanoMetadata

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait CardanoNetwork

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class CardanoPrismEntry(index: Int, tx: String, content: PrismObject)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class CardanoTransactionMetadataPrismCBOR(version: Int, protoBytes: Array[Byte])

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class CardanoWalletConfig(mnemonic: Seq[String] = ..., passphrase: String = ...)

Value parameters

mnemonic

BIP-39 mnemonic sentence. TODO REMVOE default

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class Cip0000(didIndex: Int, keyUsage: PrismKeyUsage, keyIndex: Int)

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Cip0000.type
object Cip0000JVM

Attributes

See also
Supertypes
class Object
trait Matchable
class Any
Self type
Cip0000JVM.type
object DIDExtra

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
DIDExtra.type
case class EventCursor(b: Int, o: Int) extends PrismEventIndex

Like EventRef

Like EventRef

Value parameters

b

Index relative to the Cardano Trasation with PRISM_LABE

o

Index relative to the PrismBlock

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class PrivateCardanoNetwork(blockfrostURL: String, protocolMagic: Long) extends CardanoNetwork

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

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

Attributes

Companion
enum
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
object TxHash

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
TxHash.type

Types

opaque type TxHash

Transaction Hash

Transaction Hash

Attributes

Value members

Concrete fields

https://cips.cardano.org/cip/CIP-20

https://github.com/input-output-hk/prism-did-method-spec/blob/main/w3c-spec/PRISM-method.md

https://github.com/input-output-hk/prism-did-method-spec/blob/main/w3c-spec/PRISM-method.md

The value 21325 represents the last 16 bits of 344977920845, which is the decimal representation of the concatenation of the hexadecimals 50 52 49 53 4d that form the word PRISM in ASCII.

Attributes

Extensions

Extensions

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

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