@ottochain/sdk 1.7.0-beta.2 → 2.1.0

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.
Files changed (113) hide show
  1. package/dist/cjs/apps/contracts/index.js +1 -1
  2. package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +272 -0
  3. package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +284 -0
  4. package/dist/cjs/apps/contracts/state-machines/contract-universal.js +93 -0
  5. package/dist/cjs/apps/contracts/state-machines/index.js +177 -1
  6. package/dist/cjs/apps/corporate/state-machines/corp-board.js +1022 -0
  7. package/dist/cjs/apps/corporate/state-machines/corp-entity.js +671 -0
  8. package/dist/cjs/apps/corporate/state-machines/corp-securities.js +998 -0
  9. package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +1102 -0
  10. package/dist/cjs/apps/corporate/state-machines/index.js +20 -4440
  11. package/dist/cjs/apps/governance/index.js +7 -7
  12. package/dist/cjs/apps/governance/state-machines/dao-multisig.js +467 -0
  13. package/dist/cjs/apps/governance/state-machines/dao-reputation.js +458 -0
  14. package/dist/cjs/apps/governance/state-machines/dao-single.js +199 -0
  15. package/dist/cjs/apps/governance/state-machines/dao-token.js +503 -0
  16. package/dist/cjs/apps/governance/state-machines/governance-simple.js +482 -0
  17. package/dist/cjs/apps/governance/state-machines/governance-universal.js +138 -0
  18. package/dist/cjs/apps/governance/state-machines/index.js +16 -2934
  19. package/dist/cjs/apps/identity/constants.js +20 -20
  20. package/dist/cjs/apps/identity/index.js +13 -21
  21. package/dist/cjs/apps/identity/state-machines/identity-agent.js +256 -0
  22. package/dist/cjs/apps/identity/state-machines/identity-oracle.js +321 -0
  23. package/dist/cjs/apps/identity/state-machines/identity-universal.js +106 -0
  24. package/dist/cjs/apps/identity/state-machines/index.js +15 -784
  25. package/dist/cjs/apps/markets/index.js +1 -1
  26. package/dist/cjs/apps/markets/state-machines/index.js +14 -2298
  27. package/dist/cjs/apps/markets/state-machines/market-auction.js +283 -0
  28. package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +312 -0
  29. package/dist/cjs/apps/markets/state-machines/market-group-buy.js +407 -0
  30. package/dist/cjs/apps/markets/state-machines/market-prediction.js +485 -0
  31. package/dist/cjs/apps/markets/state-machines/market-universal.js +129 -0
  32. package/dist/cjs/apps/oracles/index.js +36 -0
  33. package/dist/cjs/generated/index.js +14 -7
  34. package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +197 -198
  35. package/dist/cjs/schema/fiber-app.js +55 -0
  36. package/dist/cjs/schema/index.js +20 -0
  37. package/dist/esm/apps/contracts/index.js +3 -3
  38. package/dist/esm/apps/contracts/state-machines/contract-agreement.js +269 -0
  39. package/dist/esm/apps/contracts/state-machines/contract-escrow.js +281 -0
  40. package/dist/esm/apps/contracts/state-machines/contract-universal.js +90 -0
  41. package/dist/esm/apps/contracts/state-machines/index.js +177 -1
  42. package/dist/esm/apps/corporate/index.js +3 -3
  43. package/dist/esm/apps/corporate/state-machines/corp-board.js +1019 -0
  44. package/dist/esm/apps/corporate/state-machines/corp-entity.js +668 -0
  45. package/dist/esm/apps/corporate/state-machines/corp-securities.js +995 -0
  46. package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +1099 -0
  47. package/dist/esm/apps/corporate/state-machines/index.js +15 -4439
  48. package/dist/esm/apps/governance/index.js +9 -9
  49. package/dist/esm/apps/governance/state-machines/dao-multisig.js +464 -0
  50. package/dist/esm/apps/governance/state-machines/dao-reputation.js +455 -0
  51. package/dist/esm/apps/governance/state-machines/dao-single.js +196 -0
  52. package/dist/esm/apps/governance/state-machines/dao-token.js +500 -0
  53. package/dist/esm/apps/governance/state-machines/governance-simple.js +479 -0
  54. package/dist/esm/apps/governance/state-machines/governance-universal.js +135 -0
  55. package/dist/esm/apps/governance/state-machines/index.js +9 -2933
  56. package/dist/esm/apps/identity/constants.js +21 -21
  57. package/dist/esm/apps/identity/index.js +13 -22
  58. package/dist/esm/apps/identity/state-machines/identity-agent.js +253 -0
  59. package/dist/esm/apps/identity/state-machines/identity-oracle.js +318 -0
  60. package/dist/esm/apps/identity/state-machines/identity-universal.js +103 -0
  61. package/dist/esm/apps/identity/state-machines/index.js +11 -783
  62. package/dist/esm/apps/index.js +5 -5
  63. package/dist/esm/apps/markets/index.js +3 -3
  64. package/dist/esm/apps/markets/state-machines/index.js +8 -2297
  65. package/dist/esm/apps/markets/state-machines/market-auction.js +280 -0
  66. package/dist/esm/apps/markets/state-machines/market-crowdfund.js +309 -0
  67. package/dist/esm/apps/markets/state-machines/market-group-buy.js +404 -0
  68. package/dist/esm/apps/markets/state-machines/market-prediction.js +482 -0
  69. package/dist/esm/apps/markets/state-machines/market-universal.js +126 -0
  70. package/dist/esm/apps/oracles/index.js +21 -0
  71. package/dist/esm/generated/index.js +8 -3
  72. package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +196 -197
  73. package/dist/esm/schema/fiber-app.js +47 -0
  74. package/dist/esm/schema/index.js +4 -0
  75. package/dist/types/apps/contracts/index.d.ts +151 -2
  76. package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +462 -0
  77. package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +511 -0
  78. package/dist/types/apps/contracts/state-machines/contract-universal.d.ts +147 -0
  79. package/dist/types/apps/contracts/state-machines/index.d.ts +149 -0
  80. package/dist/types/apps/corporate/index.d.ts +5263 -3825
  81. package/dist/types/apps/corporate/state-machines/corp-board.d.ts +1479 -0
  82. package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +970 -0
  83. package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +1381 -0
  84. package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +1631 -0
  85. package/dist/types/apps/corporate/state-machines/index.d.ts +5245 -3802
  86. package/dist/types/apps/governance/index.d.ts +875 -37
  87. package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +644 -0
  88. package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +610 -0
  89. package/dist/types/apps/governance/state-machines/dao-single.d.ts +276 -0
  90. package/dist/types/apps/governance/state-machines/dao-token.d.ts +601 -0
  91. package/dist/types/apps/governance/state-machines/governance-simple.d.ts +652 -0
  92. package/dist/types/apps/governance/state-machines/governance-universal.d.ts +181 -0
  93. package/dist/types/apps/governance/state-machines/index.d.ts +9 -2136
  94. package/dist/types/apps/identity/constants.d.ts +4 -7
  95. package/dist/types/apps/identity/index.d.ts +1082 -592
  96. package/dist/types/apps/identity/state-machines/identity-agent.d.ts +401 -0
  97. package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +550 -0
  98. package/dist/types/apps/identity/state-machines/identity-universal.d.ts +151 -0
  99. package/dist/types/apps/identity/state-machines/index.d.ts +1069 -567
  100. package/dist/types/apps/index.d.ts +5 -5
  101. package/dist/types/apps/markets/index.d.ts +535 -7
  102. package/dist/types/apps/markets/state-machines/index.d.ts +8 -1678
  103. package/dist/types/apps/markets/state-machines/market-auction.d.ts +392 -0
  104. package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +443 -0
  105. package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +539 -0
  106. package/dist/types/apps/markets/state-machines/market-prediction.d.ts +651 -0
  107. package/dist/types/apps/markets/state-machines/market-universal.d.ts +191 -0
  108. package/dist/types/apps/oracles/index.d.ts +18 -0
  109. package/dist/types/generated/index.d.ts +3 -1
  110. package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +43 -64
  111. package/dist/types/schema/fiber-app.d.ts +139 -0
  112. package/dist/types/schema/index.d.ts +4 -0
  113. package/package.json +1 -1
@@ -0,0 +1,1381 @@
1
+ /**
2
+ * Securities state machine tracking the lifecycle of equity from authorization through issuance, transfer, and retirement.
3
+ * Manages stock certificates, book entry positions, and restricted securities.
4
+ */
5
+ export declare const corpSecuritiesDef: {
6
+ metadata: {
7
+ name: string;
8
+ app: string;
9
+ type: string;
10
+ version: string;
11
+ description: string;
12
+ crossReferences: {
13
+ entity: {
14
+ machine: string;
15
+ description: string;
16
+ foreignKey: string;
17
+ };
18
+ resolutions: {
19
+ machine: string;
20
+ description: string;
21
+ foreignKey: string;
22
+ };
23
+ shareholders: {
24
+ machine: string;
25
+ description: string;
26
+ foreignKey: string;
27
+ };
28
+ };
29
+ };
30
+ createSchema: {
31
+ required: readonly ["securityId", "entityId", "shareClass", "shareClassName", "shareCount", "parValue"];
32
+ properties: {
33
+ securityId: {
34
+ type: "string";
35
+ description: string;
36
+ immutable: true;
37
+ };
38
+ entityId: {
39
+ type: "string";
40
+ description: string;
41
+ immutable: true;
42
+ };
43
+ shareClass: {
44
+ type: "string";
45
+ description: string;
46
+ };
47
+ shareClassName: {
48
+ type: "string";
49
+ description: string;
50
+ };
51
+ shareCount: {
52
+ type: "integer";
53
+ description: string;
54
+ };
55
+ parValue: {
56
+ type: "number";
57
+ description: string;
58
+ };
59
+ };
60
+ };
61
+ stateSchema: {
62
+ properties: {
63
+ securityId: {
64
+ type: "string";
65
+ immutable: true;
66
+ };
67
+ entityId: {
68
+ type: "string";
69
+ immutable: true;
70
+ };
71
+ shareClass: {
72
+ type: "string";
73
+ };
74
+ shareClassName: {
75
+ type: "string";
76
+ };
77
+ certificateNumber: {
78
+ type: "string";
79
+ nullable: true;
80
+ description: string;
81
+ };
82
+ cusip: {
83
+ type: "string";
84
+ nullable: true;
85
+ description: string;
86
+ };
87
+ shareCount: {
88
+ type: "integer";
89
+ };
90
+ parValue: {
91
+ type: "number";
92
+ };
93
+ issuancePrice: {
94
+ type: "number";
95
+ nullable: true;
96
+ description: string;
97
+ computed: true;
98
+ };
99
+ issuanceDate: {
100
+ type: "string";
101
+ format: string;
102
+ nullable: true;
103
+ computed: true;
104
+ };
105
+ form: {
106
+ type: "string";
107
+ enum: readonly ["CERTIFICATED", "BOOK_ENTRY", "DRS"];
108
+ description: string;
109
+ computed: true;
110
+ };
111
+ holder: {
112
+ $ref: string;
113
+ nullable: true;
114
+ computed: true;
115
+ };
116
+ restrictions: {
117
+ $ref: string;
118
+ computed: true;
119
+ };
120
+ authorization: {
121
+ $ref: string;
122
+ nullable: true;
123
+ computed: true;
124
+ };
125
+ issuanceDetails: {
126
+ $ref: string;
127
+ nullable: true;
128
+ computed: true;
129
+ };
130
+ transferHistory: {
131
+ type: "array";
132
+ items: {
133
+ $ref: string;
134
+ };
135
+ computed: true;
136
+ };
137
+ corporateActions: {
138
+ type: "array";
139
+ items: {
140
+ $ref: string;
141
+ };
142
+ computed: true;
143
+ };
144
+ retirementDetails: {
145
+ $ref: string;
146
+ nullable: true;
147
+ computed: true;
148
+ };
149
+ status: {
150
+ type: "string";
151
+ enum: readonly ["AUTHORIZED", "ISSUED", "TREASURY", "TRANSFERRED", "RETIRED"];
152
+ computed: true;
153
+ };
154
+ createdAt: {
155
+ type: "timestamp";
156
+ computed: true;
157
+ };
158
+ updatedAt: {
159
+ type: "timestamp";
160
+ computed: true;
161
+ };
162
+ };
163
+ };
164
+ eventSchemas: {
165
+ authorize_shares: {
166
+ description: string;
167
+ required: readonly ["securityId", "entityId", "shareClass", "shareClassName", "shareCount", "parValue", "authorizedDate"];
168
+ properties: {
169
+ securityId: {
170
+ type: "string";
171
+ };
172
+ entityId: {
173
+ type: "string";
174
+ };
175
+ shareClass: {
176
+ type: "string";
177
+ };
178
+ shareClassName: {
179
+ type: "string";
180
+ };
181
+ shareCount: {
182
+ type: "integer";
183
+ };
184
+ parValue: {
185
+ type: "number";
186
+ };
187
+ authorizedDate: {
188
+ type: "string";
189
+ format: string;
190
+ };
191
+ charterProvision: {
192
+ type: "string";
193
+ };
194
+ };
195
+ };
196
+ issue_shares: {
197
+ description: string;
198
+ required: readonly ["holderId", "holderType", "holderName", "issuanceDate", "form", "boardResolutionRef", "consideration"];
199
+ properties: {
200
+ holderId: {
201
+ type: "string";
202
+ };
203
+ holderType: {
204
+ type: "string";
205
+ };
206
+ holderName: {
207
+ type: "string";
208
+ };
209
+ address: {
210
+ type: "object";
211
+ };
212
+ issuanceDate: {
213
+ type: "string";
214
+ format: string;
215
+ };
216
+ issuancePrice: {
217
+ type: "number";
218
+ };
219
+ form: {
220
+ type: "string";
221
+ enum: readonly ["CERTIFICATED", "BOOK_ENTRY", "DRS"];
222
+ };
223
+ certificateNumber: {
224
+ type: "string";
225
+ };
226
+ boardResolutionRef: {
227
+ type: "string";
228
+ };
229
+ consideration: {
230
+ type: "object";
231
+ };
232
+ isRestricted: {
233
+ type: "boolean";
234
+ default: boolean;
235
+ };
236
+ restrictionType: {
237
+ type: "array";
238
+ };
239
+ legends: {
240
+ type: "array";
241
+ };
242
+ exemptionUsed: {
243
+ type: "string";
244
+ };
245
+ accreditedInvestor: {
246
+ type: "boolean";
247
+ };
248
+ };
249
+ };
250
+ initiate_transfer: {
251
+ description: string;
252
+ required: readonly ["transferId", "toHolderId", "toHolderName", "toHolderType", "transferType", "transferDate"];
253
+ properties: {
254
+ transferId: {
255
+ type: "string";
256
+ };
257
+ toHolderId: {
258
+ type: "string";
259
+ };
260
+ toHolderName: {
261
+ type: "string";
262
+ };
263
+ toHolderType: {
264
+ type: "string";
265
+ };
266
+ toAddress: {
267
+ type: "object";
268
+ };
269
+ transferType: {
270
+ type: "string";
271
+ };
272
+ pricePerShare: {
273
+ type: "number";
274
+ };
275
+ transferDate: {
276
+ type: "string";
277
+ format: string;
278
+ };
279
+ };
280
+ };
281
+ complete_transfer: {
282
+ description: string;
283
+ required: readonly ["toHolderId", "toHolderName", "toHolderType", "completedDate"];
284
+ properties: {
285
+ transferAgentConfirmation: {
286
+ type: "string";
287
+ };
288
+ newCertificateNumber: {
289
+ type: "string";
290
+ };
291
+ toHolderId: {
292
+ type: "string";
293
+ };
294
+ toHolderName: {
295
+ type: "string";
296
+ };
297
+ toHolderType: {
298
+ type: "string";
299
+ };
300
+ toAddress: {
301
+ type: "object";
302
+ };
303
+ completedDate: {
304
+ type: "string";
305
+ format: string;
306
+ };
307
+ costBasis: {
308
+ type: "number";
309
+ };
310
+ };
311
+ };
312
+ repurchase: {
313
+ description: string;
314
+ required: readonly ["repurchaseDate", "pricePerShare", "boardResolutionRef"];
315
+ properties: {
316
+ repurchaseDate: {
317
+ type: "string";
318
+ format: string;
319
+ };
320
+ pricePerShare: {
321
+ type: "number";
322
+ };
323
+ boardResolutionRef: {
324
+ type: "string";
325
+ };
326
+ repurchaseAgreementRef: {
327
+ type: "string";
328
+ };
329
+ };
330
+ };
331
+ reissue_from_treasury: {
332
+ description: string;
333
+ required: readonly ["holderId", "holderName", "holderType", "reissueDate", "boardResolutionRef"];
334
+ properties: {
335
+ holderId: {
336
+ type: "string";
337
+ };
338
+ holderName: {
339
+ type: "string";
340
+ };
341
+ holderType: {
342
+ type: "string";
343
+ };
344
+ address: {
345
+ type: "object";
346
+ };
347
+ reissueDate: {
348
+ type: "string";
349
+ format: string;
350
+ };
351
+ issuancePrice: {
352
+ type: "number";
353
+ };
354
+ boardResolutionRef: {
355
+ type: "string";
356
+ };
357
+ };
358
+ };
359
+ retire: {
360
+ description: string;
361
+ required: readonly ["retiredDate", "retirementMethod", "boardResolutionRef"];
362
+ properties: {
363
+ retiredDate: {
364
+ type: "string";
365
+ format: string;
366
+ };
367
+ retirementMethod: {
368
+ type: "string";
369
+ };
370
+ boardResolutionRef: {
371
+ type: "string";
372
+ };
373
+ repurchasePrice: {
374
+ type: "number";
375
+ };
376
+ };
377
+ };
378
+ stock_split: {
379
+ description: string;
380
+ required: readonly ["actionId", "splitRatio", "effectiveDate", "resolutionRef", "newShareCount"];
381
+ properties: {
382
+ actionId: {
383
+ type: "string";
384
+ };
385
+ splitRatio: {
386
+ type: "string";
387
+ description: string;
388
+ };
389
+ effectiveDate: {
390
+ type: "string";
391
+ format: string;
392
+ };
393
+ resolutionRef: {
394
+ type: "string";
395
+ };
396
+ newShareCount: {
397
+ type: "integer";
398
+ };
399
+ };
400
+ };
401
+ declare_dividend: {
402
+ description: string;
403
+ required: readonly ["actionId", "dividendType", "recordDate", "paymentDate", "resolutionRef"];
404
+ properties: {
405
+ actionId: {
406
+ type: "string";
407
+ };
408
+ dividendType: {
409
+ type: "string";
410
+ enum: readonly ["CASH", "STOCK"];
411
+ };
412
+ recordDate: {
413
+ type: "string";
414
+ format: string;
415
+ };
416
+ paymentDate: {
417
+ type: "string";
418
+ format: string;
419
+ };
420
+ cashAmount: {
421
+ type: "number";
422
+ };
423
+ stockShares: {
424
+ type: "integer";
425
+ };
426
+ resolutionRef: {
427
+ type: "string";
428
+ };
429
+ };
430
+ };
431
+ remove_restriction: {
432
+ description: string;
433
+ required: readonly ["restrictionType", "removedDate"];
434
+ properties: {
435
+ restrictionType: {
436
+ type: "string";
437
+ };
438
+ removedDate: {
439
+ type: "string";
440
+ format: string;
441
+ };
442
+ reason: {
443
+ type: "string";
444
+ };
445
+ legalOpinionRef: {
446
+ type: "string";
447
+ };
448
+ };
449
+ };
450
+ };
451
+ definitions: {
452
+ Holder: {
453
+ type: "object";
454
+ nullable: true;
455
+ properties: {
456
+ holderId: {
457
+ type: "string";
458
+ };
459
+ holderType: {
460
+ type: "string";
461
+ enum: readonly ["INDIVIDUAL", "ENTITY", "TRUST", "TREASURY"];
462
+ };
463
+ name: {
464
+ type: "string";
465
+ };
466
+ taxId: {
467
+ type: "string";
468
+ nullable: true;
469
+ };
470
+ address: {
471
+ type: "object";
472
+ nullable: true;
473
+ };
474
+ acquisitionDate: {
475
+ type: "string";
476
+ format: string;
477
+ };
478
+ acquisitionMethod: {
479
+ type: "string";
480
+ enum: readonly ["ORIGINAL_ISSUANCE", "PURCHASE", "GIFT", "INHERITANCE", "STOCK_SPLIT", "CONVERSION", "EXERCISE"];
481
+ };
482
+ costBasis: {
483
+ type: "number";
484
+ nullable: true;
485
+ };
486
+ };
487
+ };
488
+ Restrictions: {
489
+ type: "object";
490
+ properties: {
491
+ isRestricted: {
492
+ type: "boolean";
493
+ default: boolean;
494
+ };
495
+ restrictionType: {
496
+ type: "array";
497
+ items: {
498
+ type: "string";
499
+ enum: readonly ["RULE_144", "SECTION_4(a)(2)", "REG_D", "REG_S", "LOCK_UP", "VESTING", "RIGHT_OF_FIRST_REFUSAL"];
500
+ };
501
+ };
502
+ restrictionEndDate: {
503
+ type: "string";
504
+ format: string;
505
+ nullable: true;
506
+ };
507
+ legends: {
508
+ type: "array";
509
+ items: {
510
+ type: "string";
511
+ };
512
+ description: string;
513
+ };
514
+ vestingSchedule: {
515
+ type: "object";
516
+ nullable: true;
517
+ properties: {
518
+ vestingStartDate: {
519
+ type: "string";
520
+ format: string;
521
+ };
522
+ totalShares: {
523
+ type: "integer";
524
+ };
525
+ vestedShares: {
526
+ type: "integer";
527
+ };
528
+ vestingScheduleRef: {
529
+ type: "string";
530
+ };
531
+ };
532
+ };
533
+ lockUpExpiration: {
534
+ type: "string";
535
+ format: string;
536
+ nullable: true;
537
+ };
538
+ rofr: {
539
+ type: "object";
540
+ nullable: true;
541
+ description: string;
542
+ properties: {
543
+ holderIds: {
544
+ type: "array";
545
+ items: {
546
+ type: "string";
547
+ };
548
+ };
549
+ noticePeriodDays: {
550
+ type: "integer";
551
+ };
552
+ };
553
+ };
554
+ };
555
+ };
556
+ Authorization: {
557
+ type: "object";
558
+ nullable: true;
559
+ description: string;
560
+ properties: {
561
+ authorizedDate: {
562
+ type: "string";
563
+ format: string;
564
+ };
565
+ charterProvision: {
566
+ type: "string";
567
+ };
568
+ authorizedShares: {
569
+ type: "integer";
570
+ };
571
+ };
572
+ };
573
+ IssuanceDetails: {
574
+ type: "object";
575
+ nullable: true;
576
+ properties: {
577
+ boardResolutionRef: {
578
+ type: "string";
579
+ };
580
+ issuanceAgreementRef: {
581
+ type: "string";
582
+ };
583
+ consideration: {
584
+ type: "object";
585
+ properties: {
586
+ type: {
587
+ type: "string";
588
+ enum: readonly ["CASH", "PROPERTY", "SERVICES", "DEBT_CONVERSION", "STOCK_CONVERSION"];
589
+ };
590
+ value: {
591
+ type: "number";
592
+ };
593
+ description: {
594
+ type: "string";
595
+ };
596
+ };
597
+ };
598
+ exemptionUsed: {
599
+ type: "string";
600
+ nullable: true;
601
+ };
602
+ accreditedInvestor: {
603
+ type: "boolean";
604
+ nullable: true;
605
+ };
606
+ };
607
+ };
608
+ TransferRecord: {
609
+ type: "object";
610
+ properties: {
611
+ transferId: {
612
+ type: "string";
613
+ };
614
+ transferDate: {
615
+ type: "string";
616
+ format: string;
617
+ };
618
+ fromHolderId: {
619
+ type: "string";
620
+ };
621
+ toHolderId: {
622
+ type: "string";
623
+ };
624
+ shares: {
625
+ type: "integer";
626
+ };
627
+ transferType: {
628
+ type: "string";
629
+ enum: readonly ["SALE", "GIFT", "INHERITANCE", "INTERNAL"];
630
+ };
631
+ pricePerShare: {
632
+ type: "number";
633
+ nullable: true;
634
+ };
635
+ transferAgentConfirmation: {
636
+ type: "string";
637
+ nullable: true;
638
+ };
639
+ };
640
+ };
641
+ CorporateAction: {
642
+ type: "object";
643
+ description: string;
644
+ properties: {
645
+ actionId: {
646
+ type: "string";
647
+ };
648
+ actionType: {
649
+ type: "string";
650
+ enum: readonly ["STOCK_SPLIT", "REVERSE_SPLIT", "STOCK_DIVIDEND", "CONVERSION", "RECLASSIFICATION"];
651
+ };
652
+ actionDate: {
653
+ type: "string";
654
+ format: string;
655
+ };
656
+ ratio: {
657
+ type: "string";
658
+ nullable: true;
659
+ description: string;
660
+ };
661
+ sharesBeforeAction: {
662
+ type: "integer";
663
+ };
664
+ sharesAfterAction: {
665
+ type: "integer";
666
+ };
667
+ resolutionRef: {
668
+ type: "string";
669
+ };
670
+ };
671
+ };
672
+ RetirementDetails: {
673
+ type: "object";
674
+ nullable: true;
675
+ properties: {
676
+ retiredDate: {
677
+ type: "string";
678
+ format: string;
679
+ };
680
+ retirementMethod: {
681
+ type: "string";
682
+ enum: readonly ["REPURCHASE", "REDEMPTION", "CANCELLATION", "CONVERSION"];
683
+ };
684
+ repurchasePrice: {
685
+ type: "number";
686
+ nullable: true;
687
+ };
688
+ boardResolutionRef: {
689
+ type: "string";
690
+ };
691
+ };
692
+ };
693
+ };
694
+ states: {
695
+ AUTHORIZED: {
696
+ id: string;
697
+ isFinal: false;
698
+ description: string;
699
+ };
700
+ ISSUED: {
701
+ id: string;
702
+ isFinal: false;
703
+ description: string;
704
+ };
705
+ TREASURY: {
706
+ id: string;
707
+ isFinal: false;
708
+ description: string;
709
+ };
710
+ TRANSFERRED: {
711
+ id: string;
712
+ isFinal: false;
713
+ description: string;
714
+ };
715
+ RETIRED: {
716
+ id: string;
717
+ isFinal: true;
718
+ description: string;
719
+ };
720
+ };
721
+ initialState: "AUTHORIZED";
722
+ transitions: ({
723
+ from: "AUTHORIZED";
724
+ to: "AUTHORIZED";
725
+ eventName: "authorize_shares";
726
+ guard: {
727
+ "==": number[];
728
+ and?: undefined;
729
+ };
730
+ effect: {
731
+ merge: ({
732
+ var: string;
733
+ securityId?: undefined;
734
+ entityId?: undefined;
735
+ shareClass?: undefined;
736
+ shareClassName?: undefined;
737
+ shareCount?: undefined;
738
+ parValue?: undefined;
739
+ authorization?: undefined;
740
+ transferHistory?: undefined;
741
+ corporateActions?: undefined;
742
+ } | {
743
+ securityId: {
744
+ var: string;
745
+ };
746
+ entityId: {
747
+ var: string;
748
+ };
749
+ shareClass: {
750
+ var: string;
751
+ };
752
+ shareClassName: {
753
+ var: string;
754
+ };
755
+ shareCount: {
756
+ var: string;
757
+ };
758
+ parValue: {
759
+ var: string;
760
+ };
761
+ authorization: {
762
+ authorizedDate: {
763
+ var: string;
764
+ };
765
+ charterProvision: {
766
+ var: string;
767
+ };
768
+ authorizedShares: {
769
+ var: string;
770
+ };
771
+ };
772
+ transferHistory: never[];
773
+ corporateActions: never[];
774
+ var?: undefined;
775
+ })[];
776
+ if?: undefined;
777
+ };
778
+ dependencies?: undefined;
779
+ emits?: undefined;
780
+ } | {
781
+ from: "AUTHORIZED";
782
+ to: "ISSUED";
783
+ eventName: "issue_shares";
784
+ guard: {
785
+ "==": number[];
786
+ and?: undefined;
787
+ };
788
+ dependencies: {
789
+ machine: string;
790
+ instanceRef: {
791
+ var: string;
792
+ };
793
+ requiredState: string;
794
+ }[];
795
+ effect: {
796
+ merge: ({
797
+ var: string;
798
+ status?: undefined;
799
+ form?: undefined;
800
+ certificateNumber?: undefined;
801
+ issuanceDate?: undefined;
802
+ issuancePrice?: undefined;
803
+ holder?: undefined;
804
+ restrictions?: undefined;
805
+ issuanceDetails?: undefined;
806
+ } | {
807
+ status: string;
808
+ form: {
809
+ var: string;
810
+ };
811
+ certificateNumber: {
812
+ var: string;
813
+ };
814
+ issuanceDate: {
815
+ var: string;
816
+ };
817
+ issuancePrice: {
818
+ var: string;
819
+ };
820
+ holder: {
821
+ holderId: {
822
+ var: string;
823
+ };
824
+ holderType: {
825
+ var: string;
826
+ };
827
+ name: {
828
+ var: string;
829
+ };
830
+ address: {
831
+ var: string;
832
+ };
833
+ acquisitionDate: {
834
+ var: string;
835
+ };
836
+ acquisitionMethod: string;
837
+ costBasis: {
838
+ "*": {
839
+ var: string;
840
+ }[];
841
+ };
842
+ };
843
+ restrictions: {
844
+ isRestricted: {
845
+ var: string;
846
+ };
847
+ restrictionType: {
848
+ var: string;
849
+ };
850
+ legends: {
851
+ var: string;
852
+ };
853
+ };
854
+ issuanceDetails: {
855
+ boardResolutionRef: {
856
+ var: string;
857
+ };
858
+ consideration: {
859
+ var: string;
860
+ };
861
+ exemptionUsed: {
862
+ var: string;
863
+ };
864
+ accreditedInvestor: {
865
+ var: string;
866
+ };
867
+ };
868
+ var?: undefined;
869
+ })[];
870
+ if?: undefined;
871
+ };
872
+ emits: string[];
873
+ } | {
874
+ from: "ISSUED";
875
+ to: "TRANSFERRED";
876
+ eventName: "initiate_transfer";
877
+ guard: {
878
+ and: ({
879
+ or: ({
880
+ "==": (boolean | {
881
+ var: string;
882
+ })[];
883
+ ">="?: undefined;
884
+ } | {
885
+ "==": ({
886
+ var: string;
887
+ } | null)[];
888
+ ">="?: undefined;
889
+ } | {
890
+ ">=": {
891
+ var: string;
892
+ }[];
893
+ "=="?: undefined;
894
+ })[];
895
+ "=="?: undefined;
896
+ } | {
897
+ "==": ({
898
+ var: string;
899
+ } | null)[];
900
+ or?: undefined;
901
+ })[];
902
+ "=="?: undefined;
903
+ };
904
+ effect: {
905
+ merge: ({
906
+ var: string;
907
+ status?: undefined;
908
+ transferHistory?: undefined;
909
+ } | {
910
+ status: string;
911
+ transferHistory: {
912
+ cat: ({
913
+ var: string;
914
+ } | {
915
+ transferId: {
916
+ var: string;
917
+ };
918
+ transferDate: {
919
+ var: string;
920
+ };
921
+ fromHolderId: {
922
+ var: string;
923
+ };
924
+ toHolderId: {
925
+ var: string;
926
+ };
927
+ shares: {
928
+ var: string;
929
+ };
930
+ transferType: {
931
+ var: string;
932
+ };
933
+ pricePerShare: {
934
+ var: string;
935
+ };
936
+ }[])[];
937
+ };
938
+ var?: undefined;
939
+ })[];
940
+ if?: undefined;
941
+ };
942
+ emits: string[];
943
+ dependencies?: undefined;
944
+ } | {
945
+ from: "TRANSFERRED";
946
+ to: "ISSUED";
947
+ eventName: "complete_transfer";
948
+ guard: {
949
+ "==": number[];
950
+ and?: undefined;
951
+ };
952
+ effect: {
953
+ merge: ({
954
+ var: string;
955
+ status?: undefined;
956
+ holder?: undefined;
957
+ certificateNumber?: undefined;
958
+ } | {
959
+ status: string;
960
+ holder: {
961
+ holderId: {
962
+ var: string;
963
+ };
964
+ holderType: {
965
+ var: string;
966
+ };
967
+ name: {
968
+ var: string;
969
+ };
970
+ address: {
971
+ var: string;
972
+ };
973
+ acquisitionDate: {
974
+ var: string;
975
+ };
976
+ acquisitionMethod: string;
977
+ costBasis: {
978
+ var: string;
979
+ };
980
+ };
981
+ certificateNumber: {
982
+ if: ({
983
+ "!=": ({
984
+ var: string;
985
+ } | null)[];
986
+ var?: undefined;
987
+ } | {
988
+ var: string;
989
+ "!="?: undefined;
990
+ })[];
991
+ };
992
+ var?: undefined;
993
+ })[];
994
+ if?: undefined;
995
+ };
996
+ emits: string[];
997
+ dependencies?: undefined;
998
+ } | {
999
+ from: "ISSUED";
1000
+ to: "TREASURY";
1001
+ eventName: "repurchase";
1002
+ guard: {
1003
+ "==": number[];
1004
+ and?: undefined;
1005
+ };
1006
+ dependencies: {
1007
+ machine: string;
1008
+ instanceRef: {
1009
+ var: string;
1010
+ };
1011
+ requiredState: string;
1012
+ }[];
1013
+ effect: {
1014
+ merge: ({
1015
+ var: string;
1016
+ status?: undefined;
1017
+ transferHistory?: undefined;
1018
+ holder?: undefined;
1019
+ } | {
1020
+ status: string;
1021
+ transferHistory: {
1022
+ cat: ({
1023
+ var: string;
1024
+ } | {
1025
+ transferId: {
1026
+ cat: (string | {
1027
+ var: string;
1028
+ })[];
1029
+ };
1030
+ transferDate: {
1031
+ var: string;
1032
+ };
1033
+ fromHolderId: {
1034
+ var: string;
1035
+ };
1036
+ toHolderId: string;
1037
+ shares: {
1038
+ var: string;
1039
+ };
1040
+ transferType: string;
1041
+ pricePerShare: {
1042
+ var: string;
1043
+ };
1044
+ }[])[];
1045
+ };
1046
+ holder: {
1047
+ holderId: string;
1048
+ holderType: string;
1049
+ name: string;
1050
+ acquisitionDate: {
1051
+ var: string;
1052
+ };
1053
+ acquisitionMethod: string;
1054
+ costBasis: {
1055
+ "*": {
1056
+ var: string;
1057
+ }[];
1058
+ };
1059
+ };
1060
+ var?: undefined;
1061
+ })[];
1062
+ if?: undefined;
1063
+ };
1064
+ emits: string[];
1065
+ } | {
1066
+ from: "TREASURY";
1067
+ to: "ISSUED";
1068
+ eventName: "reissue_from_treasury";
1069
+ guard: {
1070
+ "==": number[];
1071
+ and?: undefined;
1072
+ };
1073
+ dependencies: {
1074
+ machine: string;
1075
+ instanceRef: {
1076
+ var: string;
1077
+ };
1078
+ requiredState: string;
1079
+ }[];
1080
+ effect: {
1081
+ merge: ({
1082
+ var: string;
1083
+ status?: undefined;
1084
+ holder?: undefined;
1085
+ } | {
1086
+ status: string;
1087
+ holder: {
1088
+ holderId: {
1089
+ var: string;
1090
+ };
1091
+ holderType: {
1092
+ var: string;
1093
+ };
1094
+ name: {
1095
+ var: string;
1096
+ };
1097
+ address: {
1098
+ var: string;
1099
+ };
1100
+ acquisitionDate: {
1101
+ var: string;
1102
+ };
1103
+ acquisitionMethod: string;
1104
+ costBasis: {
1105
+ "*": {
1106
+ var: string;
1107
+ }[];
1108
+ };
1109
+ };
1110
+ var?: undefined;
1111
+ })[];
1112
+ if?: undefined;
1113
+ };
1114
+ emits: string[];
1115
+ } | {
1116
+ from: "ISSUED";
1117
+ to: "RETIRED";
1118
+ eventName: "retire";
1119
+ guard: {
1120
+ "==": number[];
1121
+ and?: undefined;
1122
+ };
1123
+ dependencies: {
1124
+ machine: string;
1125
+ instanceRef: {
1126
+ var: string;
1127
+ };
1128
+ requiredState: string;
1129
+ }[];
1130
+ effect: {
1131
+ merge: ({
1132
+ var: string;
1133
+ status?: undefined;
1134
+ retirementDetails?: undefined;
1135
+ holder?: undefined;
1136
+ } | {
1137
+ status: string;
1138
+ retirementDetails: {
1139
+ retiredDate: {
1140
+ var: string;
1141
+ };
1142
+ retirementMethod: {
1143
+ var: string;
1144
+ };
1145
+ repurchasePrice: {
1146
+ var: string;
1147
+ };
1148
+ boardResolutionRef: {
1149
+ var: string;
1150
+ };
1151
+ };
1152
+ holder: null;
1153
+ var?: undefined;
1154
+ })[];
1155
+ if?: undefined;
1156
+ };
1157
+ emits: string[];
1158
+ } | {
1159
+ from: "TREASURY";
1160
+ to: "RETIRED";
1161
+ eventName: "retire";
1162
+ guard: {
1163
+ "==": number[];
1164
+ and?: undefined;
1165
+ };
1166
+ dependencies: {
1167
+ machine: string;
1168
+ instanceRef: {
1169
+ var: string;
1170
+ };
1171
+ requiredState: string;
1172
+ }[];
1173
+ effect: {
1174
+ merge: ({
1175
+ var: string;
1176
+ status?: undefined;
1177
+ retirementDetails?: undefined;
1178
+ holder?: undefined;
1179
+ } | {
1180
+ status: string;
1181
+ retirementDetails: {
1182
+ retiredDate: {
1183
+ var: string;
1184
+ };
1185
+ retirementMethod: {
1186
+ var: string;
1187
+ };
1188
+ repurchasePrice: {
1189
+ var: string;
1190
+ };
1191
+ boardResolutionRef: {
1192
+ var: string;
1193
+ };
1194
+ };
1195
+ holder: null;
1196
+ var?: undefined;
1197
+ })[];
1198
+ if?: undefined;
1199
+ };
1200
+ emits: string[];
1201
+ } | {
1202
+ from: "ISSUED";
1203
+ to: "ISSUED";
1204
+ eventName: "stock_split";
1205
+ guard: {
1206
+ "==": number[];
1207
+ and?: undefined;
1208
+ };
1209
+ effect: {
1210
+ merge: ({
1211
+ var: string;
1212
+ corporateActions?: undefined;
1213
+ shareCount?: undefined;
1214
+ } | {
1215
+ corporateActions: {
1216
+ cat: ({
1217
+ var: string;
1218
+ } | {
1219
+ actionId: {
1220
+ var: string;
1221
+ };
1222
+ actionType: string;
1223
+ actionDate: {
1224
+ var: string;
1225
+ };
1226
+ ratio: {
1227
+ var: string;
1228
+ };
1229
+ sharesBeforeAction: {
1230
+ var: string;
1231
+ };
1232
+ sharesAfterAction: {
1233
+ var: string;
1234
+ };
1235
+ resolutionRef: {
1236
+ var: string;
1237
+ };
1238
+ }[])[];
1239
+ };
1240
+ shareCount: {
1241
+ var: string;
1242
+ };
1243
+ var?: undefined;
1244
+ })[];
1245
+ if?: undefined;
1246
+ };
1247
+ emits: string[];
1248
+ dependencies?: undefined;
1249
+ } | {
1250
+ from: "ISSUED";
1251
+ to: "ISSUED";
1252
+ eventName: "declare_dividend";
1253
+ guard: {
1254
+ "==": number[];
1255
+ and?: undefined;
1256
+ };
1257
+ dependencies: {
1258
+ machine: string;
1259
+ instanceRef: {
1260
+ var: string;
1261
+ };
1262
+ requiredState: string;
1263
+ }[];
1264
+ effect: {
1265
+ if: ({
1266
+ "==": (string | {
1267
+ var: string;
1268
+ })[];
1269
+ merge?: undefined;
1270
+ var?: undefined;
1271
+ } | {
1272
+ merge: ({
1273
+ var: string;
1274
+ corporateActions?: undefined;
1275
+ shareCount?: undefined;
1276
+ } | {
1277
+ corporateActions: {
1278
+ cat: ({
1279
+ var: string;
1280
+ } | {
1281
+ actionId: {
1282
+ var: string;
1283
+ };
1284
+ actionType: string;
1285
+ actionDate: {
1286
+ var: string;
1287
+ };
1288
+ sharesBeforeAction: {
1289
+ var: string;
1290
+ };
1291
+ sharesAfterAction: {
1292
+ "+": {
1293
+ var: string;
1294
+ }[];
1295
+ };
1296
+ resolutionRef: {
1297
+ var: string;
1298
+ };
1299
+ }[])[];
1300
+ };
1301
+ shareCount: {
1302
+ "+": {
1303
+ var: string;
1304
+ }[];
1305
+ };
1306
+ var?: undefined;
1307
+ })[];
1308
+ "=="?: undefined;
1309
+ var?: undefined;
1310
+ } | {
1311
+ var: string;
1312
+ "=="?: undefined;
1313
+ merge?: undefined;
1314
+ })[];
1315
+ merge?: undefined;
1316
+ };
1317
+ emits?: undefined;
1318
+ } | {
1319
+ from: "ISSUED";
1320
+ to: "ISSUED";
1321
+ eventName: "remove_restriction";
1322
+ guard: {
1323
+ "==": number[];
1324
+ and?: undefined;
1325
+ };
1326
+ effect: {
1327
+ merge: ({
1328
+ var: string;
1329
+ restrictions?: undefined;
1330
+ } | {
1331
+ restrictions: {
1332
+ merge: ({
1333
+ var: string;
1334
+ restrictionType?: undefined;
1335
+ isRestricted?: undefined;
1336
+ } | {
1337
+ restrictionType: {
1338
+ filter: ({
1339
+ var: string;
1340
+ "!="?: undefined;
1341
+ } | {
1342
+ "!=": {
1343
+ var: string;
1344
+ }[];
1345
+ var?: undefined;
1346
+ })[];
1347
+ };
1348
+ isRestricted: {
1349
+ ">": (number | {
1350
+ reduce: (number | {
1351
+ filter: ({
1352
+ var: string;
1353
+ "!="?: undefined;
1354
+ } | {
1355
+ "!=": {
1356
+ var: string;
1357
+ }[];
1358
+ var?: undefined;
1359
+ })[];
1360
+ "+"?: undefined;
1361
+ } | {
1362
+ "+": (number | {
1363
+ var: string;
1364
+ })[];
1365
+ filter?: undefined;
1366
+ })[];
1367
+ })[];
1368
+ };
1369
+ var?: undefined;
1370
+ })[];
1371
+ };
1372
+ var?: undefined;
1373
+ })[];
1374
+ if?: undefined;
1375
+ };
1376
+ emits: string[];
1377
+ dependencies?: undefined;
1378
+ })[];
1379
+ };
1380
+ export type CorpSecuritiesState = keyof typeof corpSecuritiesDef.states;
1381
+ export type CorpSecuritiesEvent = (typeof corpSecuritiesDef.transitions)[number]["eventName"];