Interface AuthenticationTemplate

An AuthenticationTemplate (A.K.A. CashAssembly Template) specifies a set of locking scripts, unlocking scripts, and other information required to use a certain authentication scheme. Templates fully describe wallets and protocols in a way that can be shared between software clients.

Hierarchy

  • AuthenticationTemplate

Properties

$schema?: string

The URI that identifies the JSON Schema used by this template. Try: https://libauth.org/schemas/authentication-template-v0.schema.json to enable documentation, autocompletion, and validation in JSON documents.

description?: string

An optionally multi-line, free-form, human-readable description for this authentication template (for use in user interfaces). If displayed, this description should use a monospace font to properly render ASCII diagrams.

entities: {
    [entityId: string]: AuthenticationTemplateEntity;
}

A map of entities defined in this authentication template.

Object keys are used as entity identifiers, and by convention, should use snake_case.

Type declaration

name?: string

A single-line, Title Case, human-readable name for this authentication template (for use in user interfaces).

scenarios?: {
    [scenarioId: string]: AuthenticationTemplateScenario;
}

A scenario describes a context in which one or more scripts might be used. Scenarios are used for transaction estimation and as an integrated testing system for authentication templates.

Object keys are used as scenario identifiers, and by convention, should use snake_case.

Type declaration

A map of scripts used in this authentication template.

Object keys are used as script identifiers, and by convention, should use snake_case.

A list of authentication virtual machine versions supported by this template.

Virtual machine identifiers use the format CODE_YYYY_MM, where CODE is the currency code used to identify the network, and YYYY_MM is the year and month in which the specified VM version became active on the indicated network.

Identifiers with the _SPEC suffix indicate that this template is intended for compatibility with a future virtual machine version, but at the time the template was created, that virtual machine had not yet become active on the specified chain.

version: 0

A number identifying the format of this AuthenticationTemplate. Currently, this implementation requires version be set to 0.

Generated using TypeDoc