@xo-cash/types 0.0.1 → 0.0.2-development.15414648562

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,213 +1,95 @@
1
1
  import { Input, Output } from "@bitauth/libauth";
2
2
 
3
- //#region source/invitation.d.ts
3
+ //#region source/utilities.d.ts
4
4
  /**
5
- * The requirements for an invitation.
5
+ * Union of all property values in an object type.
6
+ *
7
+ * Use this to derive a string literal union from a runtime const object declared
8
+ * with `as const`.
9
+ *
10
+ * @example
11
+ * export const XOTemplateLockingTypes = {
12
+ * P2S: 'p2s',
13
+ * P2PKH: 'p2pkh',
14
+ * P2SH: 'p2sh',
15
+ * } as const;
16
+ *
17
+ * export type XOTemplateLockingType = ValueOf<typeof XOTemplateLockingTypes>;
18
+ * // 'p2s' | 'p2pkh' | 'p2sh'
6
19
  */
7
- type XOInvitationRoleRequirement = {
8
- variables?: string[];
9
- inputs?: string[];
10
- outputs?: string[];
11
- };
20
+ type ValueOf<T> = T[keyof T];
21
+ //#endregion
22
+ //#region source/template.d.ts
12
23
  /**
13
- * The requirements for an invitation with a role.
24
+ * Type for satoshis.
14
25
  */
15
- type XOInvitationRequirements = XOInvitationRoleRequirement & {
16
- roles?: Record<string, XOInvitationRoleRequirement>;
17
- };
26
+ type Satoshis = bigint;
18
27
  /**
19
- * The value of a variable in an invitation.
28
+ * A fungible token amount.
20
29
  */
21
- type XOInvitationVariableValue = bigint | boolean | number | string;
30
+ type FungibleTokenAmount = bigint;
22
31
  /**
23
- * A variable in an invitation.
32
+ * Values for BCH VM versions that an XO template can declare support for.
24
33
  */
25
- type XOInvitationVariable = {
26
- /**
27
- * The variable identifier for this variable.
28
- */
29
- variableIdentifier: string;
30
- /**
31
- * The value of this variable.
32
- */
33
- value: XOInvitationVariableValue;
34
- /**
35
- * The role identifier this variable belongs to.
36
- */
37
- roleIdentifier?: string;
34
+ declare const BchVmVersions: {
35
+ readonly BCH_2020_05: "BCH_2020_05";
36
+ readonly BCH_2021_05: "BCH_2021_05";
37
+ readonly BCH_2022_05: "BCH_2022_05";
38
+ readonly BCH_2023_05: "BCH_2023_05";
39
+ readonly BCH_2024_05: "BCH_2024_05";
40
+ readonly BCH_2025_05: "BCH_2025_05";
41
+ readonly BCH_2026_05: "BCH_2026_05";
38
42
  };
39
43
  /**
40
- * A transaction input in an invitation.
44
+ * The set of BCH VM versions that an XO template can declare support for.
41
45
  */
42
- type XOInvitationInput = Partial<Input> & {
43
- /**
44
- * The input identifier for this input.
45
- */
46
- inputIdentifier?: string;
47
- /**
48
- * The position/index this input should occupy in the final transaction.
49
- */
50
- transactionIndex?: number;
51
- /**
52
- * The role identifier this input belongs to.
53
- * If undefined, this is generic data applicable to the whole invitation.
54
- */
55
- roleIdentifier?: string;
56
- /**
57
- * The parent commit's item that this item extends.
58
- */
59
- mergesWith?: {
60
- /**
61
- * The commit identifier of the parent commit.
62
- */
63
- commitIdentifier: string;
64
- /**
65
- * The array index of the item in the parent commit's data array.
66
- * 0-based index (0 = first item, 1 = second item, etc.)
67
- */
68
- index: number;
69
- };
70
- };
46
+ type BchVmVersion = ValueOf<typeof BchVmVersions>;
71
47
  /**
72
- * A transaction output in an invitation.
48
+ * Values for NFT capability on template token fields.
73
49
  */
74
- type XOInvitationOutput = Partial<Output> & {
75
- /**
76
- * The output identifier for this output.
77
- */
78
- outputIdentifier?: string;
79
- /**
80
- * The position/index this output should occupy in the final transaction.
81
- */
82
- transactionIndex?: number;
83
- /**
84
- * The secret identifier for this output.
85
- */
86
- secretIdentifier?: string;
87
- /**
88
- * The role identifier this output belongs to.
89
- */
90
- roleIdentifier?: string;
91
- /**
92
- * The parent commit's item that this item extends.
93
- */
94
- mergesWith?: {
95
- /**
96
- * The commit identifier of the parent commit.
97
- */
98
- commitIdentifier: string;
99
- /**
100
- * The array index of the item in the parent commit's data array.
101
- * 0-based index (0 = first item, 1 = second item, etc.)
102
- */
103
- index: number;
104
- };
50
+ declare const XOTemplateNftCapabilities: {
51
+ readonly NONE: "none";
52
+ readonly MUTABLE: "mutable";
53
+ readonly MINTING: "minting";
105
54
  };
106
55
  /**
107
- * Represents a commit in the invitation.
56
+ * The capability of a non-fungible token.
57
+ * `minting` can create new NFTs of the same category.
58
+ * `mutable` can update its own commitment data.
59
+ * `none` means the commitment is immutable.
108
60
  */
109
- type XOInvitationCommit = {
110
- /**
111
- * The commit identifier for this commit.
112
- */
113
- commitIdentifier: string;
114
- /**
115
- * The identifier of the previous commit.
116
- */
117
- previousCommitIdentifier: string | undefined;
118
- /**
119
- * The entity identifier that made this commit.
120
- */
121
- entityIdentifier: string;
122
- /**
123
- * The data contributed by this commit.
124
- */
125
- data: {
126
- /**
127
- * The version of the transaction.
128
- */
129
- transactionVersion?: number;
130
- /**
131
- * The locktime for the transaction.
132
- */
133
- transactionLocktime?: number;
134
- /**
135
- * Variables provided in this commit.
136
- */
137
- variables?: XOInvitationVariable[];
138
- /**
139
- * Transaction inputs provided in this commit.
140
- */
141
- inputs?: XOInvitationInput[];
142
- /**
143
- * Transaction outputs provided in this commit.
144
- */
145
- outputs?: XOInvitationOutput[];
146
- };
147
- /**
148
- * Signature of the entity committing this data.
149
- */
150
- signature: string;
151
- /**
152
- * Expiration timestamp for this specific commit.
153
- */
154
- expiresAtTimestamp: number;
155
- };
61
+ type XOTemplateNftCapability = ValueOf<typeof XOTemplateNftCapabilities>;
156
62
  /**
157
- * An invitation to be shared among the participants using the xo stack.
63
+ * Values for XO template locking script types.
158
64
  */
159
- type XOInvitation = {
160
- /**
161
- * The invitation identifier for the invitation.
162
- */
163
- invitationIdentifier: string;
164
- /**
165
- * The timestamp when the invitation was created.
166
- */
167
- createdAtTimestamp: number;
168
- /**
169
- * The template identifier.
170
- */
171
- templateIdentifier: string;
172
- /**
173
- * The action identifier.
174
- */
175
- actionIdentifier: string;
176
- /**
177
- * The commits in the invitation.
178
- */
179
- commits: XOInvitationCommit[];
65
+ declare const XOTemplateLockingTypes: {
66
+ readonly P2S: "p2s";
67
+ readonly P2PKH: "p2pkh";
68
+ readonly P2SH: "p2sh";
180
69
  };
181
- //#endregion
182
- //#region source/template.d.ts
183
70
  /**
184
- * Type for satoshis.
185
- */
186
- type Satoshis = bigint;
187
- /**
188
- * A fungible token amount.
189
- */
190
- type FungibleTokenAmount = bigint;
191
- /**
192
- * The set of BCH VM versions that an XO template can declare support for.
193
- */
194
- type BchVmVersion = 'BCH_2020_05' | 'BCH_2021_05' | 'BCH_2022_05' | 'BCH_2023_05' | 'BCH_2024_05' | 'BCH_2025_05' | 'BCH_2026_05';
195
- /**
196
- * The capability of a non-fungible token.
197
- * - `minting` — can create new NFTs of the same category.
198
- * - `mutable` — can update its own commitment data.
199
- * - `none` — commitment is immutable.
71
+ * The standard locking script types supported by XO.
72
+ *
200
73
  */
201
- type XOTemplateNftCapability = 'minting' | 'mutable' | 'none';
74
+ type XOTemplateLockingType = ValueOf<typeof XOTemplateLockingTypes>;
202
75
  /**
203
- * The standard locking script types supported on BCH and by XO.
76
+ * Values for primitive types declared in an XO template.
77
+ * Used by constants, variables, and data fields.
204
78
  */
205
- type XOTemplateLockingType = 'p2s' | 'p2pkh' | 'p2sh';
79
+ declare const XOTemplatePrimitiveTypes: {
80
+ readonly BOOLEAN: "boolean";
81
+ readonly BYTES: "bytes";
82
+ readonly INTEGER: "integer";
83
+ readonly BIGINT: "bigint";
84
+ readonly STRING: "string";
85
+ readonly PRIVATE_KEY: "private_key";
86
+ readonly PUBLIC_KEY: "public_key";
87
+ };
206
88
  /**
207
89
  * The primitive types that can be declared in an XO template.
208
90
  * Used by constants, variables, and data fields.
209
91
  */
210
- type XOTemplatePrimitiveType = 'boolean' | 'bytes' | 'integer' | 'bigint' | 'string' | 'private_key' | 'public_key';
92
+ type XOTemplatePrimitiveType = ValueOf<typeof XOTemplatePrimitiveTypes>;
211
93
  /** Identifies a role defined in the template's roles. */
212
94
  type XOTemplateRoleIdentifier = string;
213
95
  /** Identifies an action defined in the template's actions. */
@@ -230,6 +112,8 @@ type XOTemplateConstantIdentifier = string;
230
112
  type XOTemplateDataIdentifier = string;
231
113
  /** Identifies a secret defined in a role or action's secrets list. */
232
114
  type XOTemplateSecretIdentifier = string;
115
+ /** Identifier for an XO template. */
116
+ type XOTemplateIdentifier = string;
233
117
  /**
234
118
  * Human-readable display properties shared by most template elements.
235
119
  */
@@ -243,7 +127,7 @@ type XOTemplateViewProperties = {
243
127
  */
244
128
  description: string;
245
129
  /**
246
- * An optional icon identifier or URL for this element.
130
+ * An optional icon identifier.
247
131
  */
248
132
  icon?: string;
249
133
  };
@@ -254,10 +138,9 @@ type XOTemplateViewProperties = {
254
138
  */
255
139
  type XOTemplateIntent = {
256
140
  /**
257
- * An optional reference to a target defined in a different template, enabling
258
- * cross-template interaction.
141
+ * Optional identifier for the template used in this intent. If not provided, uses the current template.
259
142
  */
260
- templateIdentifier?: string;
143
+ templateIdentifier?: XOTemplateIdentifier;
261
144
  /**
262
145
  * Identifiers for items to generate when this intent is resolved (e.g. keys or secrets).
263
146
  */
@@ -275,7 +158,7 @@ type XOTemplateIntent = {
275
158
  */
276
159
  secrets?: Array<Record<XOTemplateSecretIdentifier, unknown>>;
277
160
  /**
278
- * The identifier for the intended role for this intent.
161
+ * Optional identifier for the role used in this intent.
279
162
  */
280
163
  role?: XOTemplateRoleIdentifier;
281
164
  };
@@ -367,7 +250,11 @@ type XOTemplateRoleSlot = {
367
250
  */
368
251
  type XOTemplateActionRequirements = {
369
252
  /**
370
- * The participants for this action.
253
+ * List of variable identifiers required for this action.
254
+ */
255
+ variables?: Array<XOTemplateVariableIdentifier>;
256
+ /**
257
+ * The participants required for this action.
371
258
  */
372
259
  participants?: Array<XOTemplateRoleSlot>;
373
260
  /**
@@ -380,7 +267,7 @@ type XOTemplateActionRequirements = {
380
267
  */
381
268
  type XOTemplateAction = XOTemplateViewProperties & {
382
269
  /**
383
- * The roles for this action.
270
+ * Specific context for each role participating in this action.
384
271
  */
385
272
  roles?: Record<XOTemplateRoleIdentifier, XOTemplateActionRole>;
386
273
  /**
@@ -428,9 +315,7 @@ type XOTemplateToken = {
428
315
  */
429
316
  category?: string;
430
317
  /**
431
- * The amount of fungible tokens.
432
- * - `bigint`: A specific token amount.
433
- * - `string`: A CashASM expression that resolves to the amount.
318
+ * The amount of fungible tokens as a bigint, a CashASM expression resolving to a bigint, or null indicating no FT is present.
434
319
  */
435
320
  amount?: bigint | string | null;
436
321
  /**
@@ -460,8 +345,10 @@ type XOTemplateAssetAmounts = {
460
345
  /**
461
346
  * Whether a non-fungible token is present (0 for absent, 1 for present),
462
347
  * or a CashASM expression that evaluates to 0 or 1.
463
- * - `true`: all, i.e. the entire amount
464
- * - `0`: None, i.e. nothing in expected to be included
348
+ * - `true`: resolves to 1 if an NFT is present, or 0 if none is present. Use this when
349
+ * the NFT is optional, to express that the NFT is estimated to be part of the balance
350
+ * if present, or absent from it if not.
351
+ * - `0`: None, i.e. nothing is expected to be included
465
352
  * - `1`: present and complete, as value > 1 does not make sense for non-fungible tokens
466
353
  * - `string`: A CashASM expression that evaluates to 0 or 1.
467
354
  */
@@ -473,11 +360,11 @@ type XOTemplateAssetAmounts = {
473
360
  */
474
361
  type XOTemplateState = {
475
362
  /**
476
- * List of variable identifiers tracked in state.
363
+ * List of variable identifiers to track in state.
477
364
  */
478
365
  variables?: Array<XOTemplateVariableIdentifier>;
479
366
  /**
480
- * List of secret identifiers tracked in state.
367
+ * List of secret identifiers to track in state.
481
368
  */
482
369
  secrets?: Array<XOTemplateSecretIdentifier>;
483
370
  };
@@ -486,7 +373,7 @@ type XOTemplateState = {
486
373
  */
487
374
  type XOTemplateLockingScriptRole = Partial<XOTemplateViewProperties> & {
488
375
  /**
489
- * State configuration for this role.
376
+ * List of items to track as state for this role.
490
377
  */
491
378
  state?: XOTemplateState;
492
379
  /**
@@ -494,11 +381,11 @@ type XOTemplateLockingScriptRole = Partial<XOTemplateViewProperties> & {
494
381
  */
495
382
  actions?: Array<XOTemplateActionIntent>;
496
383
  /**
497
- * Balance configuration for this role. Partial — any subset of asset amounts may be specified.
384
+ * Estimated ownership in the optional set of asset amounts specified.
498
385
  */
499
386
  balance?: Partial<XOTemplateAssetAmounts>;
500
387
  /**
501
- * Whether outputs locked to this script should be selectable for coin selection.
388
+ * Whether outputs locked to this script should be available for coin selection.
502
389
  */
503
390
  selectable?: boolean;
504
391
  /**
@@ -521,7 +408,7 @@ type XOTemplateLockingScript = XOTemplateViewProperties & {
521
408
  */
522
409
  lockingBytecode: string;
523
410
  /**
524
- * The unlocking script bytecode.
411
+ * Optional default unlocking bytecode when used in automatic coin selection.
525
412
  */
526
413
  unlockingBytecode?: string;
527
414
  /**
@@ -529,15 +416,15 @@ type XOTemplateLockingScript = XOTemplateViewProperties & {
529
416
  */
530
417
  actions?: Array<XOTemplateActionIntent>;
531
418
  /**
532
- * State configuration for this locking script.
419
+ * List of items to track as state for all participants.
533
420
  */
534
421
  state?: XOTemplateState;
535
422
  /**
536
- * Balance configuration for this locking script. Partial — any subset of asset amounts may be specified.
423
+ * Estimated ownership in the optional set of asset amounts specified.
537
424
  */
538
425
  balance?: Partial<XOTemplateAssetAmounts>;
539
426
  /**
540
- * Whether outputs locked to this script should be selectable for coin selection.
427
+ * Whether outputs locked to this script should be available for coin selection.
541
428
  */
542
429
  selectable?: boolean;
543
430
  /**
@@ -547,7 +434,7 @@ type XOTemplateLockingScript = XOTemplateViewProperties & {
547
434
  */
548
435
  privacy?: number | string;
549
436
  /**
550
- * A map of roles defined for this locking script.
437
+ * Specific context for each role participating in this locking script.
551
438
  */
552
439
  roles?: Record<XOTemplateRoleIdentifier, XOTemplateLockingScriptRole>;
553
440
  };
@@ -572,11 +459,11 @@ type XOTemplateInput = XOTemplateViewProperties & {
572
459
  */
573
460
  sequenceNumber?: number | string;
574
461
  /**
575
- * The unlocking script for this input.
462
+ * Identifier of the unlocking script to use for the UTXO provided for this input.
576
463
  */
577
464
  unlockingScript?: string;
578
465
  /**
579
- * Omit amount change configuration for this input.
466
+ * Amount of change that should be omitted from the automatic change handling. WARNING: Setting this can result in loss of funds!
580
467
  */
581
468
  omitChangeAmounts?: XOTemplateAssetAmounts;
582
469
  };
@@ -588,7 +475,7 @@ type XOTemplateInput = XOTemplateViewProperties & {
588
475
  */
589
476
  type XOTemplateOutput = Omit<XOTemplateLockingScript, 'lockingType' | 'lockingBytecode' | 'unlockingBytecode'> & {
590
477
  /**
591
- * The identifier of the locking script in template definition used by this output.
478
+ * Identifier of the locking script to use for this output.
592
479
  */
593
480
  lockingScript: XOTemplateLockingScriptIdentifier;
594
481
  /**
@@ -651,8 +538,10 @@ type XOTemplateTransaction = XOTemplateViewProperties & {
651
538
  version?: number;
652
539
  /**
653
540
  * The locktime for this transaction.
541
+ * - `number`: A specific locktime value.
542
+ * - `string`: A CashASM expression that resolves to the locktime.
654
543
  */
655
- locktime?: number;
544
+ locktime?: number | string;
656
545
  /**
657
546
  * The inputs for this transaction.
658
547
  */
@@ -662,7 +551,7 @@ type XOTemplateTransaction = XOTemplateViewProperties & {
662
551
  */
663
552
  outputs: Array<XOTemplateTransactionOutput>;
664
553
  /**
665
- * The roles required for this transaction.
554
+ * Specific context for each role participating in this transaction.
666
555
  */
667
556
  roles?: Record<XOTemplateRoleIdentifier, XOTemplateTransactionRoleData>;
668
557
  /**
@@ -740,7 +629,7 @@ type XOTemplateIcon = {
740
629
  */
741
630
  name: string;
742
631
  /**
743
- * The identifier of the icon resource.
632
+ * The identifier of the icon.
744
633
  */
745
634
  hash: string;
746
635
  };
@@ -759,7 +648,7 @@ type XOTemplateResource = XOTemplateViewProperties & {
759
648
  */
760
649
  type XOTemplateDefaults = {
761
650
  /**
762
- * The default change output intent applied when a transaction generates change.
651
+ * Instructions for how to construct automated change output.
763
652
  */
764
653
  change?: XOTemplateOutputIntent;
765
654
  };
@@ -773,7 +662,7 @@ type XOTemplate = XOTemplateViewProperties & {
773
662
  */
774
663
  $schema: string;
775
664
  /**
776
- * A string identifying the format version of this template.
665
+ * A string identifying the version of this template.
777
666
  */
778
667
  version?: string;
779
668
  /**
@@ -789,7 +678,7 @@ type XOTemplate = XOTemplateViewProperties & {
789
678
  */
790
679
  roles: Record<XOTemplateRoleIdentifier, XOTemplateViewProperties>;
791
680
  /**
792
- * A list of entry points defining which actions are available to each role at the start.
681
+ * A list of entry points defining which actions are available at the start.
793
682
  */
794
683
  start: Array<XOTemplateActionIntent>;
795
684
  /**
@@ -843,5 +732,566 @@ type XOTemplate = XOTemplateViewProperties & {
843
732
  scenarios?: unknown;
844
733
  };
845
734
  //#endregion
846
- export { BchVmVersion, FungibleTokenAmount, Satoshis, XOInvitation, XOInvitationCommit, XOInvitationInput, XOInvitationOutput, XOInvitationRequirements, XOInvitationRoleRequirement, XOInvitationVariable, XOInvitationVariableValue, XOTemplate, XOTemplateAction, XOTemplateActionIdentifier, XOTemplateActionIntent, XOTemplateActionRequirements, XOTemplateActionRole, XOTemplateActionRoleRequirements, XOTemplateAssetAmounts, XOTemplateConstant, XOTemplateConstantIdentifier, XOTemplateData, XOTemplateDataIdentifier, XOTemplateDefaults, XOTemplateIcon, XOTemplateImportDefaultValue, XOTemplateInput, XOTemplateInputIdentifier, XOTemplateIntent, XOTemplateLockingScript, XOTemplateLockingScriptIdentifier, XOTemplateLockingScriptIntent, XOTemplateLockingScriptRole, XOTemplateLockingType, XOTemplateNftCapability, XOTemplateNonFungibleTokenDetails, XOTemplateOutput, XOTemplateOutputIdentifier, XOTemplateOutputIntent, XOTemplatePrimitiveType, XOTemplateResource, XOTemplateRoleIdentifier, XOTemplateRoleSlot, XOTemplateRoleSlotsRequirements, XOTemplateScriptIdentifier, XOTemplateSecretIdentifier, XOTemplateState, XOTemplateToken, XOTemplateTransaction, XOTemplateTransactionIdentifier, XOTemplateTransactionInput, XOTemplateTransactionOutput, XOTemplateTransactionRoleData, XOTemplateVariable, XOTemplateVariableIdentifier, XOTemplateViewProperties };
735
+ //#region source/invitation.d.ts
736
+ /**
737
+ * Identifier for an XO invitation.
738
+ */
739
+ type XOInvitationIdentifier = string;
740
+ /**
741
+ * Commit Identifier within an invitation.
742
+ */
743
+ type XOInvitationCommitIdentifier = string;
744
+ /**
745
+ * Entity Identifier identifying an entity that signed an invitation commit.
746
+ */
747
+ type XOInvitationEntityIdentifier = string;
748
+ /**
749
+ * The position/index that the input should occupy in the final transaction structure produced by the invitation.
750
+ */
751
+ type XOInvitationTransactionInputIndex = number;
752
+ /**
753
+ * The position/index that the output should occupy in the final transaction structure produced by the invitation.
754
+ */
755
+ type XOInvitationTransactionOutputIndex = number;
756
+ /**
757
+ * Index of an item within a commit data array. Used in `mergesWith.itemIndex` to locate the referenced item.
758
+ */
759
+ type XOInvitationCommitDataItemIndex = number;
760
+ /**
761
+ * Signature of the entity producing a commit or result.
762
+ * - commit.signature: Signature of the entity that made the commit, including `data`, `createdAtTimestamp`, and optional `memo`.
763
+ * - result.createdBySignature: Signature of the entity that created the transaction before broadcasting or produced data.
764
+ * - result.broadcastedBySignature: Signature of the entity that broadcasted the transaction.
765
+ */
766
+ type XOInvitationSignature = string;
767
+ /**
768
+ * Timestamps in an invitation e.g.
769
+ * - createdAtTimestamp: When the invitation, commit, or result was created.
770
+ * - expiresAtTimestamp: When the commit expires.
771
+ * - broadcastedAtTimestamp: When the transaction was broadcasted.
772
+ */
773
+ type XOInvitationTimestamp = number;
774
+ /**
775
+ * The Hash of a Transaction.
776
+ */
777
+ type XOInvitationTransactionHash = string;
778
+ /**
779
+ * The transaction version in the final transaction structure produced by the invitation.
780
+ */
781
+ type XOInvitationTransactionVersion = number;
782
+ /**
783
+ * The transaction locktime in the final transaction structure produced by the invitation.
784
+ */
785
+ type XOInvitationTransactionLocktime = number;
786
+ /**
787
+ * Pair of template and action identifiers used to resolve a template action for an invitation commit.
788
+ *
789
+ * ```
790
+ * {
791
+ * "invitationIdentifier": "...",
792
+ * ...
793
+ * "commits": [
794
+ * {
795
+ * "commitIdentifier": "...",
796
+ * "actionReference": {
797
+ * "templateIdentifier": "...",
798
+ * "actionIdentifier": "..."
799
+ * } ← this type
800
+ * ...
801
+ * }
802
+ * ...
803
+ * ]
804
+ * }
805
+ * ```
806
+ */
807
+ type XOInvitationActionReference = {
808
+ /**
809
+ * The template that defines the action.
810
+ */
811
+ templateIdentifier: XOTemplateIdentifier;
812
+ /**
813
+ * The action within that template.
814
+ */
815
+ actionIdentifier: XOTemplateActionIdentifier;
816
+ };
817
+ /**
818
+ * Reference to an item in an earlier commit that a variable, input, or output extends.
819
+ *
820
+ * ```
821
+ * {
822
+ * "invitationIdentifier": "...",
823
+ * ...
824
+ * "commits": [
825
+ * {
826
+ * "commitIdentifier": "...",
827
+ * "data": {
828
+ * "variables|inputs|outputs": [
829
+ * {
830
+ * "mergesWith": {
831
+ * "commitIdentifier": "...",
832
+ * "itemIndex": 0
833
+ * } ← this type
834
+ * }
835
+ * ]
836
+ * }
837
+ * ...
838
+ * }
839
+ * ...
840
+ * ]
841
+ * }
842
+ * ```
843
+ */
844
+ type XOInvitationMergesWithReference = {
845
+ /**
846
+ * Identifier of the earlier commit that contains the item being extended.
847
+ */
848
+ commitIdentifier: XOInvitationCommitIdentifier;
849
+ /**
850
+ * Together with `commitIdentifier`, this identifies the exact item to extend when a later
851
+ * commit supplies information that was not added earlier. For example, when an input was
852
+ * already provided without `unlockingBytecode`, a follow up commit can add a new input
853
+ * entry with `mergesWith`, `itemIndex` and `unlockingBytecode`. The merger then uses this index to
854
+ * locate that earlier input and populate the missing field without replacing the commit.
855
+ *
856
+ * This variable is named 'item' because it's used with variables, inputs and outputs.
857
+ *
858
+ * Note: The index starts at 0 for the first item in the commit data array.
859
+ */
860
+ itemIndex: XOInvitationCommitDataItemIndex;
861
+ };
862
+ /**
863
+ * The requirements for an invitation.
864
+ */
865
+ type XOInvitationRoleRequirement = {
866
+ variables?: XOInvitationVariable[];
867
+ inputs?: XOInvitationInput[];
868
+ outputs?: XOInvitationOutput[];
869
+ };
870
+ /**
871
+ * The requirements for an invitation with a role.
872
+ */
873
+ type XOInvitationRequirements = XOInvitationRoleRequirement & {
874
+ roles?: Record<XOTemplateRoleIdentifier, XOInvitationRoleRequirement>;
875
+ };
876
+ /**
877
+ * The value of a variable in an invitation.
878
+ */
879
+ type XOInvitationVariableValue = bigint | boolean | number | string;
880
+ /**
881
+ * A variable provided in a commit.
882
+ *
883
+ * ```
884
+ * {
885
+ * "invitationIdentifier": "...",
886
+ * ...
887
+ * "commits": [
888
+ * {
889
+ * "commitIdentifier": "...",
890
+ * "data": {
891
+ * "variables": [
892
+ * {
893
+ * "variableIdentifier": "...",
894
+ * "value": "..."
895
+ * } ← this type
896
+ * ]
897
+ * }
898
+ * ...
899
+ * }
900
+ * ...
901
+ * ]
902
+ * }
903
+ * ```
904
+ */
905
+ type XOInvitationVariable = {
906
+ /**
907
+ * The identifier of this variable.
908
+ */
909
+ variableIdentifier: XOTemplateVariableIdentifier;
910
+ /**
911
+ * The value of this variable.
912
+ */
913
+ value: XOInvitationVariableValue;
914
+ /**
915
+ * The role identifier this variable belongs to.
916
+ */
917
+ roleIdentifier?: XOTemplateRoleIdentifier;
918
+ /**
919
+ * Reference to a variable in an earlier commit that this variable extends.
920
+ */
921
+ mergesWith?: XOInvitationMergesWithReference;
922
+ };
923
+ /**
924
+ * A transaction input provided in a commit.
925
+ *
926
+ * ```
927
+ * {
928
+ * "invitationIdentifier": "...",
929
+ * ...
930
+ * "commits": [
931
+ * {
932
+ * "commitIdentifier": "...",
933
+ * "data": {
934
+ * "inputs": [
935
+ * {
936
+ * "inputIdentifier": "...",
937
+ * "transactionIndex": 0
938
+ * } ← this type
939
+ * ]
940
+ * }
941
+ * ...
942
+ * }
943
+ * ...
944
+ * ]
945
+ * }
946
+ * ```
947
+ */
948
+ type XOInvitationInput = Partial<Input> & {
949
+ /**
950
+ * The identifier of this input.
951
+ */
952
+ inputIdentifier?: XOTemplateInputIdentifier;
953
+ /**
954
+ * The position/index this input should occupy in the final transaction.
955
+ */
956
+ transactionIndex?: XOInvitationTransactionInputIndex;
957
+ /**
958
+ * The role identifier this input belongs to.
959
+ * If undefined, this is generic data applicable to the whole invitation.
960
+ */
961
+ roleIdentifier?: XOTemplateRoleIdentifier;
962
+ /**
963
+ * Reference to an input in an earlier commit that this input extends.
964
+ */
965
+ mergesWith?: XOInvitationMergesWithReference;
966
+ };
967
+ /**
968
+ * A transaction output provided in a commit.
969
+ *
970
+ * ```
971
+ * {
972
+ * "invitationIdentifier": "...",
973
+ * ...
974
+ * "commits": [
975
+ * {
976
+ * "commitIdentifier": "...",
977
+ * "data": {
978
+ * "outputs": [
979
+ * {
980
+ * "outputIdentifier": "...",
981
+ * "transactionIndex": 0
982
+ * } ← this type
983
+ * ]
984
+ * }
985
+ * ...
986
+ * }
987
+ * ...
988
+ * ]
989
+ * }
990
+ * ```
991
+ */
992
+ type XOInvitationOutput = Partial<Output> & {
993
+ /**
994
+ * The identifier of this output.
995
+ */
996
+ outputIdentifier?: XOTemplateOutputIdentifier;
997
+ /**
998
+ * The position/index this output should occupy in the final transaction.
999
+ */
1000
+ transactionIndex?: XOInvitationTransactionOutputIndex;
1001
+ /**
1002
+ * The secret identifier of this output.
1003
+ */
1004
+ secretIdentifier?: XOTemplateSecretIdentifier;
1005
+ /**
1006
+ * The role identifier this output belongs to.
1007
+ */
1008
+ roleIdentifier?: XOTemplateRoleIdentifier;
1009
+ /**
1010
+ * Reference to an output in an earlier commit that this output extends.
1011
+ */
1012
+ mergesWith?: XOInvitationMergesWithReference;
1013
+ };
1014
+ /**
1015
+ * Payload provided by a single invitation commit.
1016
+ *
1017
+ * ```
1018
+ * {
1019
+ * "invitationIdentifier": "...",
1020
+ * ...
1021
+ * "commits": [
1022
+ * {
1023
+ * "commitIdentifier": "...",
1024
+ * "data": { } ← this type
1025
+ * ...
1026
+ * }
1027
+ * ...
1028
+ * ]
1029
+ * }
1030
+ * ```
1031
+ */
1032
+ type XOInvitationCommitData = {
1033
+ /**
1034
+ * The version of the transaction.
1035
+ */
1036
+ transactionVersion?: XOInvitationTransactionVersion;
1037
+ /**
1038
+ * The locktime for the transaction.
1039
+ */
1040
+ transactionLocktime?: XOInvitationTransactionLocktime;
1041
+ /**
1042
+ * Variables provided in this commit.
1043
+ */
1044
+ variables?: XOInvitationVariable[];
1045
+ /**
1046
+ * Transaction inputs provided in this commit.
1047
+ */
1048
+ inputs?: XOInvitationInput[];
1049
+ /**
1050
+ * Transaction outputs provided in this commit.
1051
+ */
1052
+ outputs?: XOInvitationOutput[];
1053
+ };
1054
+ /**
1055
+ * Human readable note attached to a commit so participants can coordinate better or just general notes.
1056
+ *
1057
+ * Note: When present, the engine includes the memo in the commit signing payload so peers can trust the text.
1058
+ */
1059
+ type XOInvitationMemo = string;
1060
+ /**
1061
+ * A signed commit in an invitation history chain.
1062
+ *
1063
+ * ```
1064
+ * {
1065
+ * "invitationIdentifier": "...",
1066
+ * ...
1067
+ * "commits": [
1068
+ * {
1069
+ * "commitIdentifier": "...",
1070
+ * "createdAtTimestamp": 1717000000000,
1071
+ * "memo": "Invoice 1042",
1072
+ * ...
1073
+ * } ← this type
1074
+ * ...
1075
+ * ]
1076
+ * }
1077
+ * ```
1078
+ */
1079
+ type XOInvitationCommit = {
1080
+ /**
1081
+ * The commit identifier for this commit.
1082
+ */
1083
+ commitIdentifier: XOInvitationCommitIdentifier;
1084
+ /**
1085
+ * The identifier of the previous commit.
1086
+ */
1087
+ previousCommitIdentifier: XOInvitationCommitIdentifier | undefined;
1088
+ /**
1089
+ * The entity identifier that made this commit.
1090
+ */
1091
+ entityIdentifier: XOInvitationEntityIdentifier;
1092
+ /**
1093
+ * When this commit was created.
1094
+ */
1095
+ createdAtTimestamp: XOInvitationTimestamp;
1096
+ /**
1097
+ * When set, the engine resolves the template action from these identifiers for this commit.
1098
+ * When omitted, it uses the invitation root `templateIdentifier` and `actionIdentifier`.
1099
+ */
1100
+ actionReference?: XOInvitationActionReference;
1101
+ /**
1102
+ * The data provided by this commit.
1103
+ */
1104
+ data: XOInvitationCommitData;
1105
+ /**
1106
+ * Signature of the entity committing this data.
1107
+ */
1108
+ signature: XOInvitationSignature;
1109
+ /**
1110
+ * Expiration timestamp for this specific commit.
1111
+ */
1112
+ expiresAtTimestamp: XOInvitationTimestamp;
1113
+ /**
1114
+ * Optional note from the entity.
1115
+ */
1116
+ memo?: XOInvitationMemo;
1117
+ };
1118
+ /**
1119
+ * Core transaction result fields that are always present, regardless of whether the transaction has been broadcasted.
1120
+ */
1121
+ type XOInvitationTransactionResultBase = {
1122
+ /**
1123
+ * Transaction hash of the resulting transaction.
1124
+ */
1125
+ transactionHash: XOInvitationTransactionHash;
1126
+ /**
1127
+ * Timestamp when the transaction was created i.e. before broadcasting.
1128
+ */
1129
+ createdAtTimestamp: XOInvitationTimestamp;
1130
+ /**
1131
+ * The entity identifier that created the transaction i.e. before broadcasting.
1132
+ */
1133
+ createdByEntityIdentifier: XOInvitationEntityIdentifier;
1134
+ /**
1135
+ * Signature of the entity that created the transaction i.e. before broadcasting.
1136
+ *
1137
+ * Note: The signature should cover the transaction data, entity details and the timestamp.
1138
+ */
1139
+ createdBySignature: XOInvitationSignature;
1140
+ };
1141
+ /**
1142
+ * The broadcast fields added once the transaction has been submitted to the network.
1143
+ */
1144
+ type XOInvitationTransactionBroadcastDetails = {
1145
+ /**
1146
+ * Timestamp when the transaction was broadcasted.
1147
+ */
1148
+ broadcastedAtTimestamp: XOInvitationTimestamp;
1149
+ /**
1150
+ * The entity identifier that broadcasted the transaction.
1151
+ */
1152
+ broadcastedByEntityIdentifier: XOInvitationEntityIdentifier;
1153
+ /**
1154
+ * Signature of the entity that broadcasted the transaction.
1155
+ *
1156
+ * Note: The signature should cover the transaction data, the timestamp, entity details that created the transaction
1157
+ * and the entity details that broadcasts the transaction.
1158
+ */
1159
+ broadcastedBySignature: XOInvitationSignature;
1160
+ };
1161
+ /**
1162
+ * Result for a completed invitation process that resulted in a transaction.
1163
+ *
1164
+ * ```
1165
+ * {
1166
+ * "transactions": {
1167
+ * "requestSatoshisTransaction": {
1168
+ * "transactionHash": "..."
1169
+ * } ← this type
1170
+ * }
1171
+ * }
1172
+ * ```
1173
+ *
1174
+ * Note: The broadcast fields are either all present or all absent.
1175
+ */
1176
+ type XOInvitationTransactionResult = XOInvitationTransactionResultBase | (XOInvitationTransactionResultBase & XOInvitationTransactionBroadcastDetails);
1177
+ /**
1178
+ * Result for a completed invitation process that resulted in a data field.
1179
+ *
1180
+ * ```
1181
+ * {
1182
+ * "data": {
1183
+ * "messageSignature": {
1184
+ * "value": "..."
1185
+ * } ← this type
1186
+ * }
1187
+ * }
1188
+ * ```
1189
+ */
1190
+ type XOInvitationDataResult = {
1191
+ /**
1192
+ * Resolved value for the data.
1193
+ */
1194
+ value: XOInvitationVariableValue;
1195
+ /**
1196
+ * Timestamp when the data was created.
1197
+ */
1198
+ createdAtTimestamp: XOInvitationTimestamp;
1199
+ /**
1200
+ * The entity identifier that created this data.
1201
+ */
1202
+ createdByEntityIdentifier: XOInvitationEntityIdentifier;
1203
+ /**
1204
+ * Signature of the entity that created this data.
1205
+ */
1206
+ createdBySignature: XOInvitationSignature;
1207
+ };
1208
+ /**
1209
+ * Result of a completed invitation. An invitation may produce one or more transactions or data fields.
1210
+ *
1211
+ * ```
1212
+ * {
1213
+ * "invitationIdentifier": "...",
1214
+ * ...
1215
+ * "result": {
1216
+ * "transactions": {
1217
+ * "requestSatoshisTransaction": {
1218
+ * "transactionHash": "...",
1219
+ * "transactionHex": "..."
1220
+ * },
1221
+ * },
1222
+ * "data": {
1223
+ * "messageSignature": {
1224
+ * "value": "..."
1225
+ * }
1226
+ * }
1227
+ * } ← this type
1228
+ * }
1229
+ * ```
1230
+ */
1231
+ type XOInvitationResult = {
1232
+ /**
1233
+ * Transactions resulting from the invitation process.
1234
+ *
1235
+ * Note: The existing workflow does not support multiple transactions, but this structure already supports it.
1236
+ */
1237
+ transactions?: Record<XOTemplateTransactionIdentifier, XOInvitationTransactionResult>;
1238
+ /**
1239
+ * Data resulting from the invitation process.
1240
+ */
1241
+ data?: Record<XOTemplateDataIdentifier, XOInvitationDataResult>;
1242
+ };
1243
+ /**
1244
+ * An invitation shared among participants in the XO stack.
1245
+ *
1246
+ * ```
1247
+ * {
1248
+ * "invitationIdentifier": "...",
1249
+ * "templateIdentifier": "...",
1250
+ * "actionIdentifier": "...",
1251
+ * ...
1252
+ * "commits": [
1253
+ * {
1254
+ * "commitIdentifier": "...",
1255
+ * ...
1256
+ * },
1257
+ * {
1258
+ * "commitIdentifier": "...",
1259
+ * ...
1260
+ * }
1261
+ * ],
1262
+ * "result": {
1263
+ * "transactions": { },
1264
+ * "data": { }
1265
+ * }
1266
+ * } ← this type
1267
+ * ```
1268
+ */
1269
+ type XOInvitation = {
1270
+ /**
1271
+ * The invitation identifier for the invitation.
1272
+ */
1273
+ invitationIdentifier: XOInvitationIdentifier;
1274
+ /**
1275
+ * The timestamp when the invitation was created.
1276
+ */
1277
+ createdAtTimestamp: XOInvitationTimestamp;
1278
+ /**
1279
+ * The template identifier.
1280
+ */
1281
+ templateIdentifier: XOTemplateIdentifier;
1282
+ /**
1283
+ * The action identifier.
1284
+ */
1285
+ actionIdentifier: XOTemplateActionIdentifier;
1286
+ /**
1287
+ * The commits in the invitation.
1288
+ */
1289
+ commits: XOInvitationCommit[];
1290
+ /**
1291
+ * Result of the invitation process
1292
+ */
1293
+ result?: XOInvitationResult;
1294
+ };
1295
+ //#endregion
1296
+ export { BchVmVersion, BchVmVersions, FungibleTokenAmount, Satoshis, ValueOf, XOInvitation, XOInvitationActionReference, XOInvitationCommit, XOInvitationCommitData, XOInvitationCommitDataItemIndex, XOInvitationCommitIdentifier, XOInvitationDataResult, XOInvitationEntityIdentifier, XOInvitationIdentifier, XOInvitationInput, XOInvitationMemo, XOInvitationMergesWithReference, XOInvitationOutput, XOInvitationRequirements, XOInvitationResult, XOInvitationRoleRequirement, XOInvitationSignature, XOInvitationTimestamp, XOInvitationTransactionBroadcastDetails, XOInvitationTransactionHash, XOInvitationTransactionInputIndex, XOInvitationTransactionLocktime, XOInvitationTransactionOutputIndex, XOInvitationTransactionResult, XOInvitationTransactionVersion, XOInvitationVariable, XOInvitationVariableValue, XOTemplate, XOTemplateAction, XOTemplateActionIdentifier, XOTemplateActionIntent, XOTemplateActionRequirements, XOTemplateActionRole, XOTemplateActionRoleRequirements, XOTemplateAssetAmounts, XOTemplateConstant, XOTemplateConstantIdentifier, XOTemplateData, XOTemplateDataIdentifier, XOTemplateDefaults, XOTemplateIcon, XOTemplateIdentifier, XOTemplateImportDefaultValue, XOTemplateInput, XOTemplateInputIdentifier, XOTemplateIntent, XOTemplateLockingScript, XOTemplateLockingScriptIdentifier, XOTemplateLockingScriptIntent, XOTemplateLockingScriptRole, XOTemplateLockingType, XOTemplateLockingTypes, XOTemplateNftCapabilities, XOTemplateNftCapability, XOTemplateNonFungibleTokenDetails, XOTemplateOutput, XOTemplateOutputIdentifier, XOTemplateOutputIntent, XOTemplatePrimitiveType, XOTemplatePrimitiveTypes, XOTemplateResource, XOTemplateRoleIdentifier, XOTemplateRoleSlot, XOTemplateRoleSlotsRequirements, XOTemplateScriptIdentifier, XOTemplateSecretIdentifier, XOTemplateState, XOTemplateToken, XOTemplateTransaction, XOTemplateTransactionIdentifier, XOTemplateTransactionInput, XOTemplateTransactionOutput, XOTemplateTransactionRoleData, XOTemplateVariable, XOTemplateVariableIdentifier, XOTemplateViewProperties };
847
1297
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../source/invitation.ts","../source/template.ts"],"mappings":";;;;;AAKA;KAAY,2BAAA;EACR,SAAA;EACA,MAAA;EACA,OAAA;AAAA;;;;KAMQ,wBAAA,GAA2B,2BAAA;EACnC,KAAA,GAAQ,MAAA,SAAe,2BAAA;AAAA;;;;KAMf,yBAAA;;;;KAKA,oBAAA;EAXe;;;EAgBvB,kBAAA;EAViC;;;EAejC,KAAA,EAAO,yBAAA;EAVC;;;EAeR,cAAA;AAAA;;;;KAMQ,iBAAA,GAAoB,OAAA,CAAQ,KAAA;EANtB;AAMlB;;EAKI,eAAA;EALmC;;;EAUnC,gBAAA;EAAA;;;;EAMA,cAAA;EAgBS;;AAOb;EAlBI,UAAA;IAkBqC;;;IAbjC,gBAAA;IAkBJ;;;;IAZI,KAAA;EAAA;AAAA;;;AAkDR;KA3CY,kBAAA,GAAqB,OAAA,CAAQ,MAAA;;;;EAKrC,gBAAA;EAmFgC;;;EA9EhC,gBAAA;EAgDA;;;EA3CA,gBAAA;EA+DI;;;EA1DJ,cAAA;EAoEI;;;EA/DJ,UAAA;IA0EkB;;AAMtB;IA3EQ,gBAAA;IAoGK;;;;IA9FL,KAAA;EAAA;AAAA;;;;KAOI,kBAAA;;;AC1HZ;ED+HI,gBAAA;;;;EAKA,wBAAA;EC/H2B;;;EDoI3B,gBAAA;EC/HQ;;;EDoIR,IAAA;ICpIoB;AAQxB;;IDiIQ,kBAAA;ICjI2B;;AAKnC;IDiIQ,mBAAA;ICjIyB;;;IDsIzB,SAAA,GAAY,oBAAA;IChIe;;;IDqI3B,MAAA,GAAS,iBAAA;IC9HL;;;IDmIJ,OAAA,GAAU,kBAAA;EAAA;EChIN;;;EDsIR,SAAA;ECtIkC;AAGtC;;EDwII,kBAAA;AAAA;;ACrIJ;;KD2IY,YAAA;EC3I0B;;AAGtC;ED6II,oBAAA;;;;EAKA,kBAAA;EC/IkC;;;EDoJlC,kBAAA;ECjJQ;;;EDsJR,gBAAA;ECtJuC;AAG3C;;EDwJI,OAAA,EAAS,kBAAA;AAAA;;;;;;KCjND,QAAA;;;;KAKA,mBAAA;;;;KAKA,YAAA;ADHZ;;;;;;AAAA,KCWY,uBAAA;;;;KAKA,qBAAA;;;;ADTZ;KCeY,uBAAA;;KAOA,wBAAA;;KAGA,0BAAA;;KAGA,yBAAA;;KAGA,0BAAA;;KAGA,iCAAA;;KAGA,0BAAA;;KAGA,+BAAA;;KAGA,4BAAA;;KAGA,4BAAA;;KAGA,wBAAA;;KAGA,0BAAA;;;;KASA,wBAAA;EDHC;AAOb;;ECCI,IAAA;EDDoC;;;ECMpC,WAAA;EDIA;;;ECCA,IAAA;AAAA;;;;ADgCJ;;KCpBY,gBAAA;EDuDQ;;;;ECjDhB,kBAAA;EDmBA;;;ECdA,QAAA,GAAW,KAAA;EDkCP;;;EC7BJ,SAAA,GAAY,KAAA,CAAM,MAAA,CAAO,4BAAA;ED4CrB;;;ECvCJ,SAAA,GAAY,KAAA,CAAM,MAAA,CAAO,4BAAA;EDkDzB;;;EC7CA,OAAA,GAAU,KAAA,CAAM,MAAA,CAAO,0BAAA;EDwDf;;;ECnDR,IAAA,GAAO,wBAAA;AAAA;;;;KAMC,sBAAA,GAAyB,gBAAA;EDsExB;;;ECjET,MAAA,EAAQ,0BAAA;AAAA;;AAhJZ;;KAsJY,sBAAA,GAAyB,gBAAA;EAtJjB;;AAKpB;EAsJI,MAAA,EAAQ,0BAAA;AAAA;;;AAjJZ;KAuJY,6BAAA,GAAgC,gBAAA;;;;EAKxC,aAAA,EAAe,iCAAA;AAAA;;;;AA/InB;KA0JY,gCAAA;;;;EAKR,SAAA,GAAY,KAAA,CAAM,4BAAA;EAzJa;;;EA8J/B,OAAA,GAAU,KAAA,CAAM,0BAAA;AAAA;;;;KAMR,oBAAA,GAAuB,OAAA,CAAQ,wBAAA;EA1J/B;;;;EAgKR,QAAA,GAAW,KAAA;EA7JH;;;EAkKR,YAAA,GAAe,gCAAA;AAAA;AA/JnB;;;;AAAA,KAsKY,+BAAA;EAnKA;;;EAwKR,GAAA;EAxKyC;AAG7C;;EA0KI,GAAA;AAAA;;AAvKJ;;;KA8KY,kBAAA;EA9K+B;AAG3C;;EAgLI,IAAA,EAAM,wBAAA;EAhL8B;;AAGxC;EAkLI,KAAA,EAAO,+BAAA;AAAA;;;AA/KX;KAqLY,4BAAA;;;;EAKR,YAAA,GAAe,KAAA,CAAM,kBAAA;EAvLa;;;EA4LlC,OAAA,GAAU,KAAA,CAAM,0BAAA;AAAA;;;;KAMR,gBAAA,GAAmB,wBAAA;EA/K3B;;;EAoLA,KAAA,GAAQ,MAAA,CAAO,wBAAA,EAA0B,oBAAA;EAnKjC;;;EAwKR,YAAA,GAAe,4BAAA;EAxJU;;;;;EA+JzB,UAAA,GAAa,KAAA;EArJU;;;;EA2JvB,WAAA,GAAc,+BAAA;EAtJiB;;;;;;EA8J/B,IAAA,GAAO,wBAAA;AAAA;;;;KAUC,iCAAA;EA7KR;;;EAkLA,UAAA,GAAa,uBAAA;EA7Kb;;;EAkLA,UAAA;AAAA;;;;KAMQ,eAAA;EA7KR;;;EAkLA,QAAA;EA5KQ;;;;;EAmLR,MAAA;EA9KQ;;;EAmLR,GAAA,GAAM,iCAAA;AAAA;;;;;KAOE,sBAAA;EA/KwC;;AAWpD;;;;EA4KI,QAAA,GAAW,QAAA;EAlKK;;;;;;EA0KhB,cAAA,GAAiB,mBAAA;EA1KjB;;;;;AAMJ;;;EA8KI,iBAAA;AAAA;;;;;KAWQ,eAAA;EAzL+B;;;EA8LvC,SAAA,GAAY,KAAA,CAAM,4BAAA;EAnLH;;;EAwLf,OAAA,GAAU,KAAA,CAAM,0BAAA;AAAA;;;;KAUR,2BAAA,GAA8B,OAAA,CAAQ,wBAAA;EA1KpB;;;EA+K1B,KAAA,GAAQ,eAAA;EA1KF;;;EA+KN,OAAA,GAAU,KAAA,CAAM,sBAAA;EA1KsB;AAM1C;;EAyKI,OAAA,GAAU,OAAA,CAAQ,sBAAA;EApKG;;;EAyKrB,UAAA;EApKe;;;;;EA2Kf,OAAA;AAAA;;;;KAMQ,uBAAA,GAA0B,wBAAA;EA3KV;;;EAgLxB,WAAA,GAAc,qBAAA;EA3K2B;;;EAgLzC,eAAA;EA9Jc;;;EAmKd,iBAAA;EA1L2B;;;EA+L3B,OAAA,GAAU,KAAA,CAAM,sBAAA;EA1LyB;;;EA+LzC,KAAA,GAAQ,eAAA;EAnLK;;;EAwLb,OAAA,GAAU,OAAA,CAAQ,sBAAA;EA1KX;;;EA+KP,UAAA;EArKyC;;;;;EA4KzC,OAAA;EAlKU;;AAMd;EAiKI,KAAA,GAAQ,MAAA,CAAO,wBAAA,EAA0B,2BAAA;AAAA;;;;KAUjC,eAAA,GAAkB,wBAAA;EA1JpB;;;AAOV;;EA0JI,aAAA,GAAgB,QAAA;EA1IoB;;;EA+IpC,KAAA,GAAQ,eAAA;EA/IS;;;;AAqBrB;EAiII,cAAA;;;;EAKA,eAAA;EA5HU;;;EAiIV,iBAAA,GAAoB,sBAAA;AAAA;;;;;;;KAaZ,gBAAA,GAAmB,IAAA,CAAK,uBAAA;EApIG;;;EAyInC,aAAA,EAAe,iCAAA;EApIP;;;;;EA2IR,aAAA,GAAgB,QAAA;EAjIC;;;EAsIjB,KAAA,GAAQ,eAAA;AAAA;;;;KAUA,0BAAA;EAhJE;;;EAqJV,KAAA,EAAO,yBAAA;EAzIA;;AAMX;EAwII,UAAA;AAAA;;;;KAMQ,2BAAA;EArHA;;;EA0HR,MAAA,EAAQ,0BAAA;EApGiC;;;EAyGzC,WAAA;AAAA;;;;KAMQ,6BAAA,GAAgC,OAAA,CAAQ,wBAAA;EA1IhD;;;EA+IA,MAAA,GAAS,KAAA,CAAM,0BAAA;EA1IP;;;EA+IR,OAAA,GAAU,KAAA,CAAM,2BAAA;AAAA;;;;KAMR,qBAAA,GAAwB,wBAAA;EA/HS;;;EAoIzC,OAAA;EA1HuB;;;EA+HvB,QAAA;EAnHQ;;;EAwHR,MAAA,EAAQ,KAAA,CAAM,0BAAA;EApIY;;;EAyI1B,OAAA,EAAS,KAAA,CAAM,2BAAA;EA7HP;;;EAkIR,KAAA,GAAQ,MAAA,CAAO,wBAAA,EAA0B,6BAAA;EAjHrB;;;EAsHpB,UAAA;AAAA;;;;KAUQ,kBAAA,GAAqB,wBAAA;EAvGb;;;EA4GhB,IAAA,EAAM,uBAAA;EAxHqB;;;EA6H3B,KAAA;EAjHA;;;EAsHA,IAAA;AAAA;;AAvGJ;;;;KA+GY,4BAAA,GAA+B,gBAAA,GAAmB,OAAA,CAAQ,wBAAA;;;;KAK1D,kBAAA,GAAqB,wBAAA;EApGrB;;;EAyGR,IAAA,GAAO,uBAAA;EApGP;;;EAyGA,IAAA;EApGW;AAMf;;;;EAqGI,kBAAA,GAAqB,4BAAA;AAAA;;;;;;KAQb,cAAA;EA7GwC;;;EAkHhD,IAAA,EAAM,uBAAA;EAxGN;;;EA6GA,KAAA;EA7G2C;AAM/C;;EA4GI,IAAA;AAAA;;;;KAUQ,cAAA;EA7FO;;;EAkGf,IAAA;EAlGc;;;EAuGd,IAAA;AAAA;;;;;KAOQ,kBAAA,GAAqB,wBAAA;EA9G7B;;;EAmHA,GAAA;AAAA;;;AApGJ;KA8GY,kBAAA;;;;EAKR,MAAA,GAAS,sBAAA;AAAA;;;;KAMD,UAAA,GAAa,wBAAA;EAlGb;;;;EAwGR,OAAA;EAxG0D;;;EA6G1D,OAAA;EA7G0D;;;EAkH1D,SAAA,EAAW,KAAA,CAAM,YAAA;EA7GT;;;EAkHR,QAAA,GAAW,kBAAA;EA7GJ;;;EAkHP,KAAA,EAAO,MAAA,CAAO,wBAAA,EAA0B,wBAAA;EAvHX;;;EA4H7B,KAAA,EAAO,KAAA,CAAM,sBAAA;EA3Gb;;;EAgHA,OAAA,EAAS,MAAA,CAAO,0BAAA,EAA4B,gBAAA;EAxGpC;;;EA6GR,IAAA,GAAO,MAAA,CAAO,wBAAA,EAA0B,cAAA;EAxGxC;;;EA6GA,YAAA,GAAe,MAAA,CAAO,+BAAA,EAAiC,qBAAA;EAnGnD;;AAUR;EA8FI,MAAA,EAAQ,MAAA,CAAO,yBAAA,EAA2B,eAAA;;;;EAK1C,OAAA,EAAS,MAAA,CAAO,0BAAA,EAA4B,gBAAA;EAlFlB;;;EAuF1B,cAAA,EAAgB,MAAA,CAAO,iCAAA,EAAmC,uBAAA;EAxElD;;;;EA8ER,OAAA,EAAS,MAAA,CAAO,0BAAA;EAnER;;;EAwER,SAAA,GAAY,MAAA,CAAO,4BAAA,EAA8B,kBAAA;EAxDhC;;;EA6DjB,SAAA,GAAY,MAAA,CAAO,4BAAA,EAA8B,kBAAA;EAnDT;;;EAwDxC,SAAA,GAAY,KAAA,CAAM,kBAAA;EA9CF;;;EAmDhB,KAAA,GAAQ,KAAA,CAAM,cAAA;EA9C0B;;;EAmDxC,SAAA;AAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../source/utilities.ts","../source/template.ts","../source/invitation.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1 +1,46 @@
1
- export { };
1
+ //#region source/template.ts
2
+ /**
3
+ * Values for BCH VM versions that an XO template can declare support for.
4
+ */
5
+ const BchVmVersions = {
6
+ BCH_2020_05: "BCH_2020_05",
7
+ BCH_2021_05: "BCH_2021_05",
8
+ BCH_2022_05: "BCH_2022_05",
9
+ BCH_2023_05: "BCH_2023_05",
10
+ BCH_2024_05: "BCH_2024_05",
11
+ BCH_2025_05: "BCH_2025_05",
12
+ BCH_2026_05: "BCH_2026_05"
13
+ };
14
+ /**
15
+ * Values for NFT capability on template token fields.
16
+ */
17
+ const XOTemplateNftCapabilities = {
18
+ NONE: "none",
19
+ MUTABLE: "mutable",
20
+ MINTING: "minting"
21
+ };
22
+ /**
23
+ * Values for XO template locking script types.
24
+ */
25
+ const XOTemplateLockingTypes = {
26
+ P2S: "p2s",
27
+ P2PKH: "p2pkh",
28
+ P2SH: "p2sh"
29
+ };
30
+ /**
31
+ * Values for primitive types declared in an XO template.
32
+ * Used by constants, variables, and data fields.
33
+ */
34
+ const XOTemplatePrimitiveTypes = {
35
+ BOOLEAN: "boolean",
36
+ BYTES: "bytes",
37
+ INTEGER: "integer",
38
+ BIGINT: "bigint",
39
+ STRING: "string",
40
+ PRIVATE_KEY: "private_key",
41
+ PUBLIC_KEY: "public_key"
42
+ };
43
+
44
+ //#endregion
45
+ export { BchVmVersions, XOTemplateLockingTypes, XOTemplateNftCapabilities, XOTemplatePrimitiveTypes };
46
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../source/template.ts"],"sourcesContent":["import type { ValueOf } from './utilities.ts';\n\n// ============================================================\n// Base types\n// ============================================================\n\n/**\n * Type for satoshis.\n */\nexport type Satoshis = bigint;\n\n/**\n * A fungible token amount.\n */\nexport type FungibleTokenAmount = bigint;\n\n/**\n * Values for BCH VM versions that an XO template can declare support for.\n */\nexport const BchVmVersions = {\n BCH_2020_05: 'BCH_2020_05',\n BCH_2021_05: 'BCH_2021_05',\n BCH_2022_05: 'BCH_2022_05',\n BCH_2023_05: 'BCH_2023_05',\n BCH_2024_05: 'BCH_2024_05',\n BCH_2025_05: 'BCH_2025_05',\n BCH_2026_05: 'BCH_2026_05',\n} as const;\n\n/**\n * The set of BCH VM versions that an XO template can declare support for.\n */\nexport type BchVmVersion = ValueOf<typeof BchVmVersions>;\n\n/**\n * Values for NFT capability on template token fields.\n */\nexport const XOTemplateNftCapabilities = {\n NONE: 'none',\n MUTABLE: 'mutable',\n MINTING: 'minting',\n} as const;\n\n/**\n * The capability of a non-fungible token.\n * `minting` can create new NFTs of the same category.\n * `mutable` can update its own commitment data.\n * `none` means the commitment is immutable.\n */\nexport type XOTemplateNftCapability = ValueOf<typeof XOTemplateNftCapabilities>;\n\n/**\n * Values for XO template locking script types.\n */\nexport const XOTemplateLockingTypes = {\n P2S: 'p2s',\n P2PKH: 'p2pkh',\n P2SH: 'p2sh',\n} as const;\n\n/**\n * The standard locking script types supported by XO.\n *\n */\nexport type XOTemplateLockingType = ValueOf<typeof XOTemplateLockingTypes>;\n\n/**\n * Values for primitive types declared in an XO template.\n * Used by constants, variables, and data fields.\n */\nexport const XOTemplatePrimitiveTypes = {\n BOOLEAN: 'boolean',\n BYTES: 'bytes',\n INTEGER: 'integer',\n BIGINT: 'bigint',\n STRING: 'string',\n PRIVATE_KEY: 'private_key',\n PUBLIC_KEY: 'public_key',\n} as const;\n\n/**\n * The primitive types that can be declared in an XO template.\n * Used by constants, variables, and data fields.\n */\nexport type XOTemplatePrimitiveType = ValueOf<typeof XOTemplatePrimitiveTypes>;\n\n// ============================================================\n// Identifier Types\n// ============================================================\n\n/** Identifies a role defined in the template's roles. */\nexport type XOTemplateRoleIdentifier = string;\n\n/** Identifies an action defined in the template's actions. */\nexport type XOTemplateActionIdentifier = string;\n\n/** Identifies an input defined in the template's inputs. */\nexport type XOTemplateInputIdentifier = string;\n\n/** Identifies an output defined in the template's outputs. */\nexport type XOTemplateOutputIdentifier = string;\n\n/** Identifies a locking script defined in the template's lockingScripts. */\nexport type XOTemplateLockingScriptIdentifier = string;\n\n/** Identifies a script defined in the template's scripts. */\nexport type XOTemplateScriptIdentifier = string;\n\n/** Identifies a transaction defined in the template's transactions. */\nexport type XOTemplateTransactionIdentifier = string;\n\n/** Identifies a variable defined in the template's variables. */\nexport type XOTemplateVariableIdentifier = string;\n\n/** Identifies a constant defined in the template's constants. */\nexport type XOTemplateConstantIdentifier = string;\n\n/** Identifies a data field defined in the template's data. */\nexport type XOTemplateDataIdentifier = string;\n\n/** Identifies a secret defined in a role or action's secrets list. */\nexport type XOTemplateSecretIdentifier = string;\n\n/** Identifier for an XO template. */\nexport type XOTemplateIdentifier = string;\n\n// ============================================================\n// View Properties\n// ============================================================\n\n/**\n * Human-readable display properties shared by most template elements.\n */\nexport type XOTemplateViewProperties = {\n\n /**\n * A short human-readable label for this element.\n */\n name: string;\n\n /**\n * A human-readable explanation of what this element does and when it is relevant.\n */\n description: string;\n\n /**\n * An optional icon identifier.\n */\n icon?: string;\n};\n\n// ============================================================\n// Intents\n// ============================================================\n\n/**\n * The base intent structure. Describes the common data parameters shared by all intent types\n * regardless of what they target. An optional templateIdentifier allows the intent to reference\n * a target defined in a different template.\n */\nexport type XOTemplateIntent = {\n\n /**\n * Optional identifier for the template used in this intent. If not provided, uses the current template.\n */\n templateIdentifier?: XOTemplateIdentifier;\n\n /**\n * Identifiers for items to generate when this intent is resolved (e.g. keys or secrets).\n */\n generate?: Array<string>;\n\n /**\n * Variable values to apply when this intent is resolved.\n */\n variables?: Array<Record<XOTemplateVariableIdentifier, unknown>>;\n\n /**\n * Constant values to apply when this intent is resolved.\n */\n constants?: Array<Record<XOTemplateConstantIdentifier, unknown>>;\n\n /**\n * Secret values to apply when this intent is resolved.\n */\n secrets?: Array<Record<XOTemplateSecretIdentifier, unknown>>;\n\n /**\n * Optional identifier for the role used in this intent.\n */\n role?: XOTemplateRoleIdentifier;\n};\n\n/**\n * An intent that targets a specific action.\n */\nexport type XOTemplateActionIntent = XOTemplateIntent & {\n\n /**\n * The identifier for the intended action.\n */\n action: XOTemplateActionIdentifier;\n};\n\n/**\n * An intent that targets a specific output.\n */\nexport type XOTemplateOutputIntent = XOTemplateIntent & {\n\n /**\n * The identifier for the intended output.\n */\n output: XOTemplateOutputIdentifier;\n};\n\n/**\n * An intent that targets a specific locking script.\n */\nexport type XOTemplateLockingScriptIntent = XOTemplateIntent & {\n\n /**\n * The identifier for the intended locking script.\n */\n lockingScript: XOTemplateLockingScriptIdentifier;\n};\n\n// ============================================================\n// Actions\n// ============================================================\n\n/**\n * Requirements for a specific role within an action. Describes what data or secrets\n * the role must provide when participating.\n */\nexport type XOTemplateActionRoleRequirements = {\n\n /**\n * List of variable identifiers required for this role.\n */\n variables?: Array<XOTemplateVariableIdentifier>;\n\n /**\n * List of secret identifiers required for this role.\n */\n secrets?: Array<XOTemplateSecretIdentifier>;\n};\n\n/**\n * A role specific definition within an action.\n */\nexport type XOTemplateActionRole = Partial<XOTemplateViewProperties> & {\n\n /**\n * Identifiers for data items that should be generated for this role\n * when participating in the action.\n */\n generate?: Array<string>;\n\n /**\n * The requirements for this role within this action.\n */\n requirements?: XOTemplateActionRoleRequirements;\n};\n\n/**\n * Slot configuration for a role. Declares how many participants of a given\n * role are needed to satisfy the action's requirements.\n */\nexport type XOTemplateRoleSlotsRequirements = {\n\n /**\n * Minimum number of participants required for this role.\n */\n min: number;\n\n /**\n * Maximum number of participants allowed for this role. Undefined means unlimited.\n */\n max?: number;\n};\n\n/**\n * A role entry in an action's requirements block.\n * Declares which role must participate and how many slots are needed.\n */\nexport type XOTemplateRoleSlot = {\n\n /**\n * The role identifier that this requirement applies to.\n */\n role: XOTemplateRoleIdentifier;\n\n /**\n * Slot configuration specifying how many participants of this role are required.\n */\n slots: XOTemplateRoleSlotsRequirements;\n};\n\n/**\n * Requirements for an action. Declares which roles must participate and what secrets must be available.\n */\nexport type XOTemplateActionRequirements = {\n\n /**\n * List of variable identifiers required for this action.\n */\n variables?: Array<XOTemplateVariableIdentifier>;\n\n /**\n * The participants required for this action.\n */\n participants?: Array<XOTemplateRoleSlot>;\n\n /**\n * The secrets required for this action.\n */\n secrets?: Array<XOTemplateSecretIdentifier>;\n};\n\n/**\n * An action within a template.\n */\nexport type XOTemplateAction = XOTemplateViewProperties & {\n\n /**\n * Specific context for each role participating in this action.\n */\n roles?: Record<XOTemplateRoleIdentifier, XOTemplateActionRole>;\n\n /**\n * The requirements for this action.\n */\n requirements?: XOTemplateActionRequirements;\n\n /**\n * Conditions that must be met for this action to be available.\n *\n * @todo More work needs to be done on this field.\n */\n conditions?: Array<string>;\n\n /**\n * The identifier of the transaction this action produces, referencing an entry\n * in the template's transactions.\n */\n transaction?: XOTemplateTransactionIdentifier;\n\n /**\n * The identifier of the data field this action produces, referencing an entry\n * in the template's data.\n *\n * @todo More work needs to be done on this field.\n */\n data?: XOTemplateDataIdentifier;\n};\n\n// ============================================================\n// Tokens & Amounts\n// ============================================================\n\n/**\n * Non-fungible token configuration within a token field.\n */\nexport type XOTemplateNonFungibleTokenDetails = {\n\n /**\n * The capability of the NFT. May be a known capability value or a CashASM expression resolving to a capability.\n */\n capability?: XOTemplateNftCapability | string;\n\n /**\n * The commitment data for the NFT, as a string or CashASM expression resolving to a commitment.\n */\n commitment?: string;\n};\n\n/**\n * Token configuration for outputs and inputs.\n */\nexport type XOTemplateToken = {\n\n /**\n * The category of the token, as a string or CashASM expression resolving to a category.\n */\n category?: string;\n\n /**\n * The amount of fungible tokens as a bigint, a CashASM expression resolving to a bigint, or null indicating no FT is present.\n */\n amount?: bigint | string | null;\n\n /**\n * Non-fungible token configuration. Null indicates no NFT is present.\n */\n nft?: XOTemplateNonFungibleTokenDetails | null;\n};\n\n/**\n * Asset amounts configuration. Used for balance tracking on locking scripts and their roles, and for omitting change amounts.\n * All fields are optional. Values may be literal amounts or CashASM expressions resolving to amounts.\n */\nexport type XOTemplateAssetAmounts = {\n\n /**\n * The satoshi amount.\n * - `Satoshis`: A specific bigint amount.\n * - `string`: A CashASM expression that resolves to the amount.\n * - `true`: all, i.e. the entire amount\n */\n satoshis?: Satoshis | string | true;\n\n /**\n * The fungible token amount.\n * - `FungibleTokenAmount`: A specific bigint amount.\n * - `string`: A CashASM expression that resolves to the amount.\n * - `true`: all, i.e. the entire amount\n */\n fungibleTokens?: FungibleTokenAmount | string | true;\n\n /**\n * Whether a non-fungible token is present (0 for absent, 1 for present),\n * or a CashASM expression that evaluates to 0 or 1.\n * - `true`: resolves to 1 if an NFT is present, or 0 if none is present. Use this when\n * the NFT is optional, to express that the NFT is estimated to be part of the balance\n * if present, or absent from it if not.\n * - `0`: None, i.e. nothing is expected to be included\n * - `1`: present and complete, as value > 1 does not make sense for non-fungible tokens\n * - `string`: A CashASM expression that evaluates to 0 or 1.\n */\n nonfungibleTokens?: true | 0 | 1 | string;\n};\n\n// ============================================================\n// Shared State\n// ============================================================\n\n/**\n * State configuration shared by a locking script and its individual roles.\n * Declares which variables and secrets are tracked in the on-chain state for that participant.\n */\nexport type XOTemplateState = {\n\n /**\n * List of variable identifiers to track in state.\n */\n variables?: Array<XOTemplateVariableIdentifier>;\n\n /**\n * List of secret identifiers to track in state.\n */\n secrets?: Array<XOTemplateSecretIdentifier>;\n};\n\n// ============================================================\n// Locking Scripts\n// ============================================================\n\n/**\n * A role definition within a locking script.\n */\nexport type XOTemplateLockingScriptRole = Partial<XOTemplateViewProperties> & {\n\n /**\n * List of items to track as state for this role.\n */\n state?: XOTemplateState;\n\n /**\n * List of action references available to this role.\n */\n actions?: Array<XOTemplateActionIntent>;\n\n /**\n * Estimated ownership in the optional set of asset amounts specified.\n */\n balance?: Partial<XOTemplateAssetAmounts>;\n\n /**\n * Whether outputs locked to this script should be available for coin selection.\n */\n selectable?: boolean;\n\n /**\n * Privacy level for outputs locked to this script.\n * - `number`: A numeric privacy level.\n * - `string`: A CashASM expression that evaluates to a privacy level.\n */\n privacy?: number | string;\n};\n\n/**\n * A locking script definition in the template.\n */\nexport type XOTemplateLockingScript = XOTemplateViewProperties & {\n\n /**\n * The type of locking mechanism. Defaults to 'p2s' if not specified.\n */\n lockingType?: XOTemplateLockingType;\n\n /**\n * The locking script bytecode.\n */\n lockingBytecode: string;\n\n /**\n * Optional default unlocking bytecode when used in automatic coin selection.\n */\n unlockingBytecode?: string;\n\n /**\n * The actions available for this locking script.\n */\n actions?: Array<XOTemplateActionIntent>;\n\n /**\n * List of items to track as state for all participants.\n */\n state?: XOTemplateState;\n\n /**\n * Estimated ownership in the optional set of asset amounts specified.\n */\n balance?: Partial<XOTemplateAssetAmounts>;\n\n /**\n * Whether outputs locked to this script should be available for coin selection.\n */\n selectable?: boolean;\n\n /**\n * Privacy level for outputs locked to this script.\n * - `number`: A numeric privacy level.\n * - `string`: A CashASM expression that evaluates to a privacy level.\n */\n privacy?: number | string;\n\n /**\n * Specific context for each role participating in this locking script.\n */\n roles?: Record<XOTemplateRoleIdentifier, XOTemplateLockingScriptRole>;\n};\n\n// ============================================================\n// Inputs\n// ============================================================\n\n/**\n * An input definition in the template.\n */\nexport type XOTemplateInput = XOTemplateViewProperties & {\n\n /**\n * The amount of satoshis for this input.\n * - `Satoshis`: A specific amount of satoshis.\n * - `string`: A CashASM expression that resolves to the satoshi amount.\n */\n valueSatoshis?: Satoshis | string;\n\n /**\n * Token configuration for this input.\n */\n token?: XOTemplateToken | null;\n\n /**\n * The sequence number of this input.\n * - `number`: A specific sequence number.\n * - `string`: A CashASM expression that resolves to the sequence number.\n */\n sequenceNumber?: number | string;\n\n /**\n * Identifier of the unlocking script to use for the UTXO provided for this input.\n */\n unlockingScript?: string;\n\n /**\n * Amount of change that should be omitted from the automatic change handling. WARNING: Setting this can result in loss of funds!\n */\n omitChangeAmounts?: XOTemplateAssetAmounts;\n};\n\n// ============================================================\n// Outputs\n// ============================================================\n\n/**\n * An output definition in the template. Inherits all fields from `XOTemplateLockingScript`\n * except `lockingType`, `lockingBytecode` and `unlockingBytecode`: outputs reference a locking script by identifier\n * rather than defining one inline, so repeating any of these fields here would create an ambiguity\n * about which declaration takes precedence.\n */\nexport type XOTemplateOutput = Omit<XOTemplateLockingScript, 'lockingType' | 'lockingBytecode' | 'unlockingBytecode'> & {\n\n /**\n * Identifier of the locking script to use for this output.\n */\n lockingScript: XOTemplateLockingScriptIdentifier;\n\n /**\n * The amount of satoshis for this output.\n * - `Satoshis`: A specific amount of satoshis.\n * - `string`: A CashASM expression that resolves to the satoshi amount.\n */\n valueSatoshis?: Satoshis | string;\n\n /**\n * Token configuration for this output.\n */\n token?: XOTemplateToken | null;\n};\n\n// ============================================================\n// Transactions\n// ============================================================\n\n/**\n * Reference to an input in a transaction definition in the template.\n */\nexport type XOTemplateTransactionInput = {\n\n /**\n * The input definition identifier.\n */\n input: XOTemplateInputIdentifier;\n\n /**\n * Optional index of this input in the transaction.\n */\n inputIndex?: number;\n};\n\n/**\n * Reference to an output in a transaction definition in the template.\n */\nexport type XOTemplateTransactionOutput = {\n\n /**\n * The output definition identifier.\n */\n output: XOTemplateOutputIdentifier;\n\n /**\n * Optional index of this output in the transaction.\n */\n outputIndex?: number;\n};\n\n/**\n * Role-specific data for a transaction within a template.\n */\nexport type XOTemplateTransactionRoleData = Partial<XOTemplateViewProperties> & {\n\n /**\n * The inputs required for this role.\n */\n inputs?: Array<XOTemplateTransactionInput>;\n\n /**\n * The outputs required for this role.\n */\n outputs?: Array<XOTemplateTransactionOutput>;\n};\n\n/**\n * A transaction template definition.\n */\nexport type XOTemplateTransaction = XOTemplateViewProperties & {\n\n /**\n * The version of the transaction.\n */\n version?: number;\n\n /**\n * The locktime for this transaction.\n * - `number`: A specific locktime value.\n * - `string`: A CashASM expression that resolves to the locktime.\n */\n locktime?: number | string;\n\n /**\n * The inputs for this transaction.\n */\n inputs: Array<XOTemplateTransactionInput>;\n\n /**\n * The outputs for this transaction.\n */\n outputs: Array<XOTemplateTransactionOutput>;\n\n /**\n * Specific context for each role participating in this transaction.\n */\n roles?: Record<XOTemplateRoleIdentifier, XOTemplateTransactionRoleData>;\n\n /**\n * Whether this transaction can be composed with other transactions.\n */\n composable?: boolean;\n};\n\n// ============================================================\n// Template Data\n// ============================================================\n\n/**\n * A constant value definition in the template.\n */\nexport type XOTemplateConstant = XOTemplateViewProperties & {\n\n /**\n * The data type of this constant.\n */\n type: XOTemplatePrimitiveType;\n\n /**\n * The value of this constant.\n */\n value: unknown;\n\n /**\n * An optional hint to help apps and users understand what this constant represents.\n */\n hint?: string;\n};\n\n/**\n * An import default value intent. Extends the base intent with optional view\n * properties that the engine evaluates at runtime to produce human-readable output.\n * The engine overrides whatever values are set here when resolving the target for a participant.\n */\nexport type XOTemplateImportDefaultValue = XOTemplateIntent & Partial<XOTemplateViewProperties>;\n\n/**\n * A variable definition in the template.\n */\nexport type XOTemplateVariable = XOTemplateViewProperties & {\n\n /**\n * The data type of this variable.\n */\n type?: XOTemplatePrimitiveType;\n\n /**\n * A hint to help users understand what value to provide.\n */\n hint?: string;\n\n /**\n * A neutral intent that the engine uses to populate the default value for this variable.\n * View properties (name, description, icon) may contain CashASM expressions that the\n * engine evaluates at runtime to produce human-readable output.\n */\n importDefaultValue?: XOTemplateImportDefaultValue;\n};\n\n/**\n * A data field definition in the template.\n *\n * @todo More work needs to be done on this type.\n */\nexport type XOTemplateData = {\n\n /**\n * The data type of this data field.\n */\n type: XOTemplatePrimitiveType;\n\n /**\n * The value for this data field.\n */\n value: unknown;\n\n /**\n * An optional hint to help apps and users understand this data field.\n */\n hint?: string;\n};\n\n// ============================================================\n// Template Resources\n// ============================================================\n\n/**\n * An icon reference in the template.\n */\nexport type XOTemplateIcon = {\n\n /**\n * A name for this icon.\n */\n name: string;\n\n /**\n * The identifier of the icon.\n */\n hash: string;\n};\n\n/**\n * A resource reference attached to a template. Extends view properties with a URL\n * pointing to external documentation or tooling.\n */\nexport type XOTemplateResource = XOTemplateViewProperties & {\n\n /**\n * The URL for this resource.\n */\n url: string;\n};\n\n// ============================================================\n// Template\n// ============================================================\n\n/**\n * Default settings applied across the template when no explicit per-action overrides are given.\n */\nexport type XOTemplateDefaults = {\n\n /**\n * Instructions for how to construct automated change output.\n */\n change?: XOTemplateOutputIntent;\n};\n\n/**\n * The XO Template.\n */\nexport type XOTemplate = XOTemplateViewProperties & {\n\n /**\n * The URI that identifies the JSON Schema used by this template.\n * This enables documentation, autocompletion, and validation in JSON documents.\n */\n $schema: string;\n\n /**\n * A string identifying the version of this template.\n */\n version?: string;\n\n /**\n * The BCH VM versions that this template supports. At least one version is required.\n */\n supported: Array<BchVmVersion>;\n\n /**\n * Optional default settings used in this template.\n */\n defaults?: XOTemplateDefaults;\n\n /**\n * The roles defined in this template.\n */\n roles: Record<XOTemplateRoleIdentifier, XOTemplateViewProperties>;\n\n /**\n * A list of entry points defining which actions are available at the start.\n */\n start: Array<XOTemplateActionIntent>;\n\n /**\n * The actions defined in this template.\n */\n actions: Record<XOTemplateActionIdentifier, XOTemplateAction>;\n\n /**\n * The data fields defined in this template.\n */\n data?: Record<XOTemplateDataIdentifier, XOTemplateData>;\n\n /**\n * The transaction templates defined in this template.\n */\n transactions?: Record<XOTemplateTransactionIdentifier, XOTemplateTransaction>;\n\n /**\n * The inputs defined in this template.\n */\n inputs: Record<XOTemplateInputIdentifier, XOTemplateInput>;\n\n /**\n * The outputs defined in this template.\n */\n outputs: Record<XOTemplateOutputIdentifier, XOTemplateOutput>;\n\n /**\n * The locking script templates defined in this template.\n */\n lockingScripts: Record<XOTemplateLockingScriptIdentifier, XOTemplateLockingScript>;\n\n /**\n * The scripts used in this template, The keys are identifiers of the scripts and\n * the values are the bytecode or cashASM expressions.\n */\n scripts: Record<XOTemplateScriptIdentifier, string>;\n\n /**\n * The constants defined in this template.\n */\n constants?: Record<XOTemplateConstantIdentifier, XOTemplateConstant>;\n\n /**\n * The variables that must be provided for use in the template's scripts.\n */\n variables?: Record<XOTemplateVariableIdentifier, XOTemplateVariable>;\n\n /**\n * Resource references providing external documentation or tooling links.\n */\n resources?: Array<XOTemplateResource>;\n\n /**\n * The icons available for use throughout the template.\n */\n icons?: Array<XOTemplateIcon>;\n\n /**\n * The scenarios defined in this template.\n */\n scenarios?: unknown;\n};\n"],"mappings":";;;;AAmBA,MAAa,gBAAgB;CACzB,aAAa;CACb,aAAa;CACb,aAAa;CACb,aAAa;CACb,aAAa;CACb,aAAa;CACb,aAAa;CAChB;;;;AAUD,MAAa,4BAA4B;CACrC,MAAM;CACN,SAAS;CACT,SAAS;CACZ;;;;AAaD,MAAa,yBAAyB;CAClC,KAAK;CACL,OAAO;CACP,MAAM;CACT;;;;;AAYD,MAAa,2BAA2B;CACpC,SAAS;CACT,OAAO;CACP,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,aAAa;CACb,YAAY;CACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xo-cash/types",
3
- "version": "0.0.1",
3
+ "version": "0.0.2-development.15414648562",
4
4
  "description": "XO type definitions and interfaces",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.mts",
@@ -44,6 +44,9 @@
44
44
  "dependencies": {
45
45
  "@bitauth/libauth": "^3.1.0-next.8"
46
46
  },
47
+ "overrides": {
48
+ "echarts": "6.1.0"
49
+ },
47
50
  "devDependencies": {
48
51
  "@chalp/eslint-airbnb": "^1.3.0",
49
52
  "@generalprotocols/cspell-dictionary": "^1.0.1",