Type alias 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;
}
Type declaration
Optional$schema?: stringThe URI that identifies the JSON Schema used by this template. Try:
https://libauth.org/schemas/wallet-template-v0.schema.jsonto enable documentation, autocompletion, and validation in JSON documents.Optionaldescription?: stringAn 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
140characters 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.[entityId: string]: WalletTemplateEntity
Optionalname?: stringA single-line, Title Case, human-readable name for this authentication template (for use in user interfaces).
Optionalscenarios?: {
[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.[scenarioId: string]: WalletTemplateScenario
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.[scriptId: string]: WalletTemplateScript | WalletTemplateScriptLocking | WalletTemplateScriptTested | WalletTemplateScriptUnlocking
supported: AuthenticationVirtualMachineIdentifier[]
A list of authentication virtual machine versions supported by this template.
Virtual machine identifiers use the format
CODE_YYYY_MM, whereCODEis the currency code used to identify the network, andYYYY_MMis the year and month in which the specified VM version became active on the indicated network.Identifiers with the
_SPECsuffix 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.Optionalversion?: 0A number identifying the format of this WalletTemplate. Currently, this implementation allows
versionto be set to0.Deprecated
template versions are now specified via
$schema
Generated using TypeDoc

A
WalletTemplatespecifies 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.