BCHdeserialize

open override fun BCHdeserialize(stream: BCHserialized): BCHserialized

Rehydrates this destination from the bytes produced by serializeDerived.

Expected stream layout (matches the writer exactly): secret: varByteshdIndex: i64contractName: nullString

Mutates this instance in place — the deserialization constructor pattern (see Pay2PubKeyTemplateDestination's secondary constructor in payDestination.kt) instantiates with placeholder primary-ctor args and then calls this to overwrite them with the real values from the stream.

Does NOT call super.BCHdeserialize(): the parent's version expects the format written by Pay2TemplateDestination.serializeDerived (template / constraint / visibleConstraint blobs), which we deliberately don't emit. Instead we re-run the init logic to rebuild constraint / visibleConstraint from the loaded primary inputs — same reason serializeDerived skips those fields.

Restricted to DISK format for symmetry with serializeDerived.