Skip to content

Documentation / @cashconnect-js/core / templates/template

Template

ts
type Template = z.infer<typeof TemplateSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:132


TemplateBasicVariable

ts
type TemplateBasicVariable = z.infer<typeof TemplateBasicVariableSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:133


TemplateVariableObject

ts
type TemplateVariableObject = z.infer<typeof TemplateVariableObjectSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:134


TemplateVariable

ts
type TemplateVariable = z.infer<typeof TemplateVariableSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:137


TemplateVariables

ts
type TemplateVariables = z.infer<typeof TemplateVariablesSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:138


TemplateReturns

ts
type TemplateReturns = z.infer<typeof TemplateReturnsSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:139


TemplateAction

ts
type TemplateAction = z.infer<typeof TemplateActionSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:140


TemplateInstruction

ts
type TemplateInstruction = z.infer<typeof TemplateInstructionsSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:141


TemplateScriptDebug

ts
type TemplateScriptDebug = z.infer<typeof TemplateScriptDebugSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:142


TemplateScript

ts
type TemplateScript = z.infer<typeof TemplateScriptSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:143


TemplateScriptLocking

ts
type TemplateScriptLocking = z.infer<typeof TemplateScriptLockingSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:144


TemplateScriptUnlocking

ts
type TemplateScriptUnlocking = z.infer<typeof TemplateScriptUnlockingSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:145


TemplateScripts

ts
type TemplateScripts = z.infer<typeof TemplateScriptsSchema>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:148


TemplateScriptAny

ts
type TemplateScriptAny = 
  | TemplateScript
  | TemplateScriptLocking
  | TemplateScriptUnlocking;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:149


TemplateBasicVariableSchema

ts
const TemplateBasicVariableSchema: ZodDiscriminatedUnion<[ZodObject<{
  type: ZodEnum<{
     string: "string";
     number: "number";
     transaction: "transaction";
     enum: "enum";
     address: "address";
     bytes: "bytes";
     publicKey: "publicKey";
     satoshis: "satoshis";
     signature: "signature";
     transactionHash: "transactionHash";
  }>;
  name: ZodString;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
}, $strip>], "type">;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:24


TemplateVariableObjectSchema

ts
const TemplateVariableObjectSchema: ZodObject<{
  type: ZodLiteral<"object">;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
  properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<{
        string: "string";
        number: "number";
        transaction: "transaction";
        enum: "enum";
        address: "address";
        bytes: "bytes";
        publicKey: "publicKey";
        satoshis: "satoshis";
        signature: "signature";
        transactionHash: "transactionHash";
     }>;
     name: ZodString;
     required: ZodOptional<ZodDefault<ZodBoolean>>;
  }, $strip>], "type">>;
}, $strip>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:32


TemplateVariableSchema

ts
const TemplateVariableSchema: ZodDiscriminatedUnion<[ZodObject<{
  type: ZodLiteral<"array">;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
  properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<{
        string: ...;
        number: ...;
        transaction: ...;
        enum: ...;
        address: ...;
        bytes: ...;
        publicKey: ...;
        satoshis: ...;
        signature: ...;
        transactionHash: ...;
     }>;
     name: ZodString;
     required: ZodOptional<ZodDefault<...>>;
  }, $strip>], "type">>;
}, $strip>, ZodObject<{
  type: ZodLiteral<"object">;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
  properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<{
        string: ...;
        number: ...;
        transaction: ...;
        enum: ...;
        address: ...;
        bytes: ...;
        publicKey: ...;
        satoshis: ...;
        signature: ...;
        transactionHash: ...;
     }>;
     name: ZodString;
     required: ZodOptional<ZodDefault<...>>;
  }, $strip>], "type">>;
}, $strip>, ZodDiscriminatedUnion<[ZodObject<{
  type: ZodEnum<{
     string: "string";
     number: "number";
     transaction: "transaction";
     enum: "enum";
     address: "address";
     bytes: "bytes";
     publicKey: "publicKey";
     satoshis: "satoshis";
     signature: "signature";
     transactionHash: "transactionHash";
  }>;
  name: ZodString;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
}, $strip>], "type">], "type">;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:38


TemplateVariablesSchema

ts
const TemplateVariablesSchema: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
  type: ZodLiteral<"array">;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
  properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<...>;
     name: ZodString;
     required: ZodOptional<...>;
  }, $strip>], "type">>;
}, $strip>, ZodObject<{
  type: ZodLiteral<"object">;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
  properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<...>;
     name: ZodString;
     required: ZodOptional<...>;
  }, $strip>], "type">>;
}, $strip>, ZodDiscriminatedUnion<[ZodObject<{
  type: ZodEnum<{
     string: "string";
     number: "number";
     transaction: "transaction";
     enum: "enum";
     address: "address";
     bytes: "bytes";
     publicKey: "publicKey";
     satoshis: "satoshis";
     signature: "signature";
     transactionHash: "transactionHash";
  }>;
  name: ZodString;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
}, $strip>], "type">], "type">>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:48


TemplateReturnsSchema

ts
const TemplateReturnsSchema: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
  type: ZodLiteral<"array">;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
  properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<...>;
     name: ZodString;
     required: ZodOptional<...>;
  }, $strip>], "type">>;
}, $strip>, ZodObject<{
  type: ZodLiteral<"object">;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
  properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<...>;
     name: ZodString;
     required: ZodOptional<...>;
  }, $strip>], "type">>;
}, $strip>, ZodDiscriminatedUnion<[ZodObject<{
  type: ZodEnum<{
     string: "string";
     number: "number";
     transaction: "transaction";
     enum: "enum";
     address: "address";
     bytes: "bytes";
     publicKey: "publicKey";
     satoshis: "satoshis";
     signature: "signature";
     transactionHash: "transactionHash";
  }>;
  name: ZodString;
  required: ZodOptional<ZodDefault<ZodBoolean>>;
}, $strip>], "type">], "type">>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:52


TemplateInstructionsSchemaBase

ts
const TemplateInstructionsSchemaBase: ZodDiscriminatedUnion<[ZodObject<{
  type: ZodLiteral<"resolve">;
  payload: ZodRecord<ZodString, ZodUnion<readonly [ZodString, ZodObject<{
     script: ZodString;
     resolve: ZodOptional<ZodRecord<..., ...>>;
  }, $strip>]>>;
}, $strip>, ZodObject<{
  type: ZodLiteral<"transaction">;
  $if: ZodOptional<ZodString>;
  payload: ZodObject<{
     name: ZodString;
     version: ZodNumber;
     locktime: ZodUnion<readonly [ZodString, ZodNumber]>;
     inputs: ZodArray<ZodUnion<readonly [ZodObject<{
        $if: ...;
        unlockingBytecode: ...;
        outpointTransactionHash: ...;
        outpointIndex: ...;
        sequenceNumber: ...;
     }, $strip>, ZodLiteral<"*">]>>;
     outputs: ZodArray<ZodUnion<readonly [ZodObject<{
        $if: ...;
        lockingBytecode: ...;
        valueSatoshis: ...;
        token: ...;
     }, $strip>, ZodLiteral<"*">]>>;
     validate: ZodDefault<ZodOptional<ZodBoolean>>;
  }, $strip>;
}, $strip>], "type">;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:58


TemplateInstructionsSchema

ts
const TemplateInstructionsSchema: ZodIntersection<ZodDiscriminatedUnion<[ZodObject<{
  type: ZodLiteral<"resolve">;
  payload: ZodRecord<ZodString, ZodUnion<readonly [ZodString, ZodObject<{
     script: ZodString;
     resolve: ZodOptional<...>;
  }, $strip>]>>;
}, $strip>, ZodObject<{
  type: ZodLiteral<"transaction">;
  $if: ZodOptional<ZodString>;
  payload: ZodObject<{
     name: ZodString;
     version: ZodNumber;
     locktime: ZodUnion<readonly [ZodString, ZodNumber]>;
     inputs: ZodArray<ZodUnion<readonly [ZodObject<..., ...>, ZodLiteral<...>]>>;
     outputs: ZodArray<ZodUnion<readonly [ZodObject<..., ...>, ZodLiteral<...>]>>;
     validate: ZodDefault<ZodOptional<ZodBoolean>>;
  }, $strip>;
}, $strip>], "type">, ZodObject<{
  $if: ZodOptional<ZodString>;
}, $strip>>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:63


TemplateActionSchema

ts
const TemplateActionSchema: ZodObject<{
  meta: ZodOptional<ZodObject<{
     title: ZodString;
     description: ZodString;
  }, $strip>>;
  params: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodLiteral<"array">;
     required: ZodOptional<ZodDefault<ZodBoolean>>;
     properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<..., ...>], "type">>;
   }, $strip>, ZodObject<{
     type: ZodLiteral<"object">;
     required: ZodOptional<ZodDefault<ZodBoolean>>;
     properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<..., ...>], "type">>;
   }, $strip>, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<{
        string: ...;
        number: ...;
        transaction: ...;
        enum: ...;
        address: ...;
        bytes: ...;
        publicKey: ...;
        satoshis: ...;
        signature: ...;
        transactionHash: ...;
     }>;
     name: ZodString;
     required: ZodOptional<ZodDefault<...>>;
  }, $strip>], "type">], "type">>;
  instructions: ZodArray<ZodIntersection<ZodDiscriminatedUnion<[ZodObject<{
     type: ZodLiteral<"resolve">;
     payload: ZodRecord<ZodString, ZodUnion<readonly [..., ...]>>;
   }, $strip>, ZodObject<{
     type: ZodLiteral<"transaction">;
     $if: ZodOptional<ZodString>;
     payload: ZodObject<{
        name: ZodString;
        version: ZodNumber;
        locktime: ZodUnion<...>;
        inputs: ZodArray<...>;
        outputs: ZodArray<...>;
        validate: ZodDefault<...>;
     }, $strip>;
   }, $strip>], "type">, ZodObject<{
     $if: ZodOptional<ZodString>;
  }, $strip>>>;
  returns: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodLiteral<"array">;
     required: ZodOptional<ZodDefault<ZodBoolean>>;
     properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<..., ...>], "type">>;
   }, $strip>, ZodObject<{
     type: ZodLiteral<"object">;
     required: ZodOptional<ZodDefault<ZodBoolean>>;
     properties: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<..., ...>], "type">>;
   }, $strip>, ZodDiscriminatedUnion<[ZodObject<{
     type: ZodEnum<{
        string: ...;
        number: ...;
        transaction: ...;
        enum: ...;
        address: ...;
        bytes: ...;
        publicKey: ...;
        satoshis: ...;
        signature: ...;
        transactionHash: ...;
     }>;
     name: ZodString;
     required: ZodOptional<ZodDefault<...>>;
  }, $strip>], "type">], "type">>;
}, $strip>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:70


TemplateScriptDebugSchema

ts
const TemplateScriptDebugSchema: ZodObject<{
  name: ZodString;
  source: ZodString;
  sourceMap: ZodString;
  requires: ZodOptional<ZodReadonly<ZodArray<ZodObject<{
     ip: ZodNumber;
     line: ZodNumber;
     message: ZodOptional<ZodString>;
  }, $strip>>>>;
}, $strip>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:82


TemplateScriptSchema

ts
const TemplateScriptSchema: ZodObject<{
  name: ZodOptional<ZodString>;
  description: ZodOptional<ZodString>;
  script: ZodString;
  debug: ZodOptional<ZodObject<{
     name: ZodString;
     source: ZodString;
     sourceMap: ZodString;
     requires: ZodOptional<ZodReadonly<ZodArray<ZodObject<{
        ip: ZodNumber;
        line: ZodNumber;
        message: ZodOptional<...>;
     }, $strip>>>>;
  }, $strip>>;
}, $strip>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:98


TemplateScriptLockingSchema

ts
const TemplateScriptLockingSchema: ZodObject<{
  name: ZodOptional<ZodString>;
  description: ZodOptional<ZodString>;
  script: ZodString;
  debug: ZodOptional<ZodObject<{
     name: ZodString;
     source: ZodString;
     sourceMap: ZodString;
     requires: ZodOptional<ZodReadonly<ZodArray<ZodObject<{
        ip: ZodNumber;
        line: ZodNumber;
        message: ZodOptional<...>;
     }, $strip>>>>;
  }, $strip>>;
  lockingType: ZodString;
}, $strip>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:105


TemplateScriptUnlockingSchema

ts
const TemplateScriptUnlockingSchema: ZodObject<{
  name: ZodOptional<ZodString>;
  description: ZodOptional<ZodString>;
  script: ZodString;
  debug: ZodOptional<ZodObject<{
     name: ZodString;
     source: ZodString;
     sourceMap: ZodString;
     requires: ZodOptional<ZodReadonly<ZodArray<ZodObject<{
        ip: ZodNumber;
        line: ZodNumber;
        message: ZodOptional<...>;
     }, $strip>>>>;
  }, $strip>>;
  unlocks: ZodString;
}, $strip>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:109


TemplateScriptsSchema

ts
const TemplateScriptsSchema: ZodRecord<ZodString, ZodUnion<readonly [ZodObject<{
  name: ZodOptional<ZodString>;
  description: ZodOptional<ZodString>;
  script: ZodString;
  debug: ZodOptional<ZodObject<{
     name: ZodString;
     source: ZodString;
     sourceMap: ZodString;
     requires: ZodOptional<ZodReadonly<ZodArray<...>>>;
  }, $strip>>;
}, $strip>, ZodObject<{
  name: ZodOptional<ZodString>;
  description: ZodOptional<ZodString>;
  script: ZodString;
  debug: ZodOptional<ZodObject<{
     name: ZodString;
     source: ZodString;
     sourceMap: ZodString;
     requires: ZodOptional<ZodReadonly<ZodArray<...>>>;
  }, $strip>>;
  lockingType: ZodString;
}, $strip>, ZodObject<{
  name: ZodOptional<ZodString>;
  description: ZodOptional<ZodString>;
  script: ZodString;
  debug: ZodOptional<ZodObject<{
     name: ZodString;
     source: ZodString;
     sourceMap: ZodString;
     requires: ZodOptional<ZodReadonly<ZodArray<...>>>;
  }, $strip>>;
  unlocks: ZodString;
}, $strip>]>>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:113


TemplateSchema

ts
const TemplateSchema: ZodObject<{
  name: ZodString;
  description: ZodOptional<ZodString>;
  actions: ZodRecord<ZodString, ZodObject<{
     meta: ZodOptional<ZodObject<{
        title: ZodString;
        description: ZodString;
     }, $strip>>;
     params: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
        type: ZodLiteral<...>;
        required: ZodOptional<...>;
        properties: ZodRecord<..., ...>;
      }, $strip>, ZodObject<{
        type: ZodLiteral<...>;
        required: ZodOptional<...>;
        properties: ZodRecord<..., ...>;
     }, $strip>, ZodDiscriminatedUnion<[ZodObject<..., ...>], "type">], "type">>;
     instructions: ZodArray<ZodIntersection<ZodDiscriminatedUnion<[ZodObject<{
        type: ...;
        payload: ...;
      }, $strip>, ZodObject<{
        type: ...;
        $if: ...;
        payload: ...;
      }, $strip>], "type">, ZodObject<{
        $if: ZodOptional<ZodString>;
     }, $strip>>>;
     returns: ZodRecord<ZodString, ZodDiscriminatedUnion<[ZodObject<{
        type: ZodLiteral<...>;
        required: ZodOptional<...>;
        properties: ZodRecord<..., ...>;
      }, $strip>, ZodObject<{
        type: ZodLiteral<...>;
        required: ZodOptional<...>;
        properties: ZodRecord<..., ...>;
     }, $strip>, ZodDiscriminatedUnion<[ZodObject<..., ...>], "type">], "type">>;
  }, $strip>>;
  scripts: ZodOptional<ZodRecord<ZodString, ZodUnion<readonly [ZodObject<{
     name: ZodOptional<ZodString>;
     description: ZodOptional<ZodString>;
     script: ZodString;
     debug: ZodOptional<ZodObject<{
        name: ...;
        source: ...;
        sourceMap: ...;
        requires: ...;
     }, $strip>>;
   }, $strip>, ZodObject<{
     name: ZodOptional<ZodString>;
     description: ZodOptional<ZodString>;
     script: ZodString;
     debug: ZodOptional<ZodObject<{
        name: ...;
        source: ...;
        sourceMap: ...;
        requires: ...;
     }, $strip>>;
     lockingType: ZodString;
   }, $strip>, ZodObject<{
     name: ZodOptional<ZodString>;
     description: ZodOptional<ZodString>;
     script: ZodString;
     debug: ZodOptional<ZodObject<{
        name: ...;
        source: ...;
        sourceMap: ...;
        requires: ...;
     }, $strip>>;
     unlocks: ZodString;
  }, $strip>]>>>;
  supported: ZodOptional<ZodArray<ZodString>>;
}, $strip>;

Defined in: cashconnect-js/packages/core/src/templates/template.ts:123