Type alias WalletTemplate

WalletTemplate: {
    $schema?: string;
    description?: string;
    entities: {
        [entityId: string]: WalletTemplateEntity;
    };
    name?: string;
    scenarios?: {
        [scenarioId: string]: WalletTemplateScenario;
    };
    scripts: {
        [scriptId: string]: WalletTemplateScript | WalletTemplateScriptLocking | WalletTemplateScriptTested | WalletTemplateScriptUnlocking;
    };
    supported: AuthenticationVirtualMachineIdentifier[];
    version?: 0;
}

A WalletTemplate specifies a set of locking scripts, unlocking scripts, and other information required to use a certain wallet protocol. Templates fully describe wallet protocols in a way that can be shared between software clients.

Type declaration

  • Optional $schema?: string

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

  • Optional description?: string

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

    Descriptions have no length limit, but in user interfaces with limited space, they should be hidden beyond the first newline character or 140 characters until revealed by the user (e.g. by hiding the remaining description until the user activates a "show more" link).

  • entities: {
        [entityId: string]: WalletTemplateEntity;
    }

    A map of entities defined in this wallet template.

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

  • Optional name?: string

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

  • Optional scenarios?: {
        [scenarioId: string]: WalletTemplateScenario;
    }

    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 wallet templates.

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

  • scripts: {
        [scriptId: string]: WalletTemplateScript | WalletTemplateScriptLocking | WalletTemplateScriptTested | WalletTemplateScriptUnlocking;
    }

    A map of scripts used in this wallet template.

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

  • supported: AuthenticationVirtualMachineIdentifier[]

    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.

  • Optional version?: 0

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

    Deprecated

    template versions are now specified via $schema

Generated using TypeDoc