@propxchain/core-client 0.2.1 → 0.3.0-canary.24

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 (63) hide show
  1. package/README.md +2 -3
  2. package/dist/auth.d.ts +7 -7
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +5 -5
  5. package/dist/auth.js.map +1 -1
  6. package/dist/canisters/document_storage/document_storage.did.d.ts.map +1 -1
  7. package/dist/canisters/document_storage/document_storage.did.js +90 -21
  8. package/dist/canisters/document_storage/document_storage.did.js.map +1 -1
  9. package/dist/canisters/document_verification/document_verification.did.d.ts.map +1 -1
  10. package/dist/canisters/document_verification/document_verification.did.js +132 -0
  11. package/dist/canisters/document_verification/document_verification.did.js.map +1 -1
  12. package/dist/canisters/email_service/email_service.did.d.ts.map +1 -1
  13. package/dist/canisters/email_service/email_service.did.js +40 -0
  14. package/dist/canisters/email_service/email_service.did.js.map +1 -1
  15. package/dist/canisters/land_registry_integration/land_registry_integration.did.d.ts.map +1 -1
  16. package/dist/canisters/land_registry_integration/land_registry_integration.did.js +186 -12
  17. package/dist/canisters/land_registry_integration/land_registry_integration.did.js.map +1 -1
  18. package/dist/canisters/ledger_manager/ledger_manager.did.d.ts.map +1 -1
  19. package/dist/canisters/ledger_manager/ledger_manager.did.js +55 -0
  20. package/dist/canisters/ledger_manager/ledger_manager.did.js.map +1 -1
  21. package/dist/canisters/transaction_manager/transaction_manager.did.d.ts.map +1 -1
  22. package/dist/canisters/transaction_manager/transaction_manager.did.js +338 -40
  23. package/dist/canisters/transaction_manager/transaction_manager.did.js.map +1 -1
  24. package/dist/canisters/user_management/user_management.did.d.ts.map +1 -1
  25. package/dist/canisters/user_management/user_management.did.js +122 -2
  26. package/dist/canisters/user_management/user_management.did.js.map +1 -1
  27. package/dist/client.js +1 -1
  28. package/dist/client.js.map +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/mock.js +1 -1
  34. package/dist/mock.js.map +1 -1
  35. package/dist/types.d.ts +1 -1
  36. package/dist/types.d.ts.map +1 -1
  37. package/package.json +3 -6
  38. package/src/auth.ts +8 -9
  39. package/src/canisters/document_storage/document_storage.did +82 -12
  40. package/src/canisters/document_storage/document_storage.did.d.ts +86 -9
  41. package/src/canisters/document_storage/document_storage.did.js +128 -19
  42. package/src/canisters/document_verification/document_verification.did +150 -0
  43. package/src/canisters/document_verification/document_verification.did.d.ts +125 -1
  44. package/src/canisters/document_verification/document_verification.did.js +160 -0
  45. package/src/canisters/email_service/email_service.did +49 -0
  46. package/src/canisters/email_service/email_service.did.d.ts +49 -2
  47. package/src/canisters/email_service/email_service.did.js +68 -0
  48. package/src/canisters/land_registry_integration/land_registry_integration.did +118 -19
  49. package/src/canisters/land_registry_integration/land_registry_integration.did.d.ts +89 -19
  50. package/src/canisters/land_registry_integration/land_registry_integration.did.js +213 -11
  51. package/src/canisters/ledger_manager/ledger_manager.did +78 -0
  52. package/src/canisters/ledger_manager/ledger_manager.did.d.ts +66 -0
  53. package/src/canisters/ledger_manager/ledger_manager.did.js +75 -0
  54. package/src/canisters/transaction_manager/transaction_manager.did +438 -47
  55. package/src/canisters/transaction_manager/transaction_manager.did.d.ts +379 -36
  56. package/src/canisters/transaction_manager/transaction_manager.did.js +346 -40
  57. package/src/canisters/user_management/user_management.did +153 -3
  58. package/src/canisters/user_management/user_management.did.d.ts +121 -2
  59. package/src/canisters/user_management/user_management.did.js +166 -6
  60. package/src/client.ts +1 -1
  61. package/src/index.ts +2 -2
  62. package/src/mock.ts +1 -1
  63. package/src/types.ts +1 -1
@@ -6,6 +6,18 @@ export type AMLStatus = { 'verified' : null } |
6
6
  { 'pending' : null } |
7
7
  { 'rejected' : null } |
8
8
  { 'not_started' : null };
9
+ export interface AlterationTypes {
10
+ 'conservatory' : boolean,
11
+ 'otherDetails' : [] | [string],
12
+ 'other' : boolean,
13
+ 'changeOfUse' : boolean,
14
+ 'structuralRoofWorks' : boolean,
15
+ 'windowsPost2002' : boolean,
16
+ 'internalWallsRemoved' : boolean,
17
+ 'loftConversion' : boolean,
18
+ 'garageConversion' : boolean,
19
+ 'extension' : boolean,
20
+ }
9
21
  export interface ApplicationStatusUpdate {
10
22
  'lastUpdated' : string,
11
23
  'applicationReference' : string,
@@ -14,12 +26,57 @@ export interface ApplicationStatusUpdate {
14
26
  'currentStatus' : LandRegistryStatus,
15
27
  'previousStatus' : LandRegistryStatus,
16
28
  }
29
+ export interface Arrangement {
30
+ 'description' : string,
31
+ 'document' : TA6Document,
32
+ 'contributionAmount' : [] | [bigint],
33
+ }
17
34
  export interface BotConnection {
18
35
  'principal' : Principal,
19
36
  'name' : string,
20
37
  'addedAt' : bigint,
21
38
  'addedBy' : Principal,
22
39
  }
40
+ export interface BoundaryFeature {
41
+ 'ownership' : BoundaryOwnership,
42
+ 'position' : string,
43
+ }
44
+ export type BoundaryOwnership = { 'NotKnown' : null } |
45
+ { 'Shared' : null } |
46
+ { 'OwnedBySeller' : null } |
47
+ { 'OwnedByNeighbour' : null };
48
+ export interface CompanySeller {
49
+ 'countryOfIncorporation' : string,
50
+ 'director' : string,
51
+ 'companyNumber' : string,
52
+ 'companyName' : string,
53
+ }
54
+ export interface CompletionCommitments {
55
+ 'removeSellersItems' : TA6Answer,
56
+ 'vacantPossession' : TA6Answer,
57
+ 'leaveServiceInfo' : TA6Answer,
58
+ }
59
+ export type DischargeType = { 'GroundWater' : null } |
60
+ { 'SurfaceWater' : null };
61
+ export interface HeatingSystem {
62
+ 'certificate' : TA6Document,
63
+ 'otherDetails' : [] | [string],
64
+ 'installDate' : [] | [string],
65
+ 'heatingType' : HeatingType,
66
+ 'lastServiceDate' : [] | [string],
67
+ }
68
+ export type HeatingType = { 'Lpg' : null } |
69
+ { 'Oil' : null } |
70
+ { 'SolarThermal' : null } |
71
+ { 'SolidFuel' : null } |
72
+ { 'DistrictHeating' : null } |
73
+ { 'Electric' : null } |
74
+ { 'HeatPumpAir' : null } |
75
+ { 'Other' : null } |
76
+ { 'GasCentral' : null } |
77
+ { 'HeatPumpGround' : null };
78
+ export type Jurisdiction = { 'Wales' : null } |
79
+ { 'England' : null };
23
80
  export interface LandRegistryIntegration {
24
81
  'status' : LandRegistryStatus,
25
82
  'lastPolledAt' : [] | [bigint],
@@ -65,6 +122,27 @@ export type LandRegistryStatus = { 'cancelled' : null } |
65
122
  { 'official_search_expired' : null } |
66
123
  { 'failed' : null } |
67
124
  { 'registered' : null };
125
+ export interface MainsConnections {
126
+ 'gas' : TA6Answer,
127
+ 'sewerage' : TA6Answer,
128
+ 'electricity' : TA6Answer,
129
+ 'water' : TA6Answer,
130
+ 'broadband' : TA6Answer,
131
+ }
132
+ export interface NextStepOption {
133
+ 'action' : string,
134
+ 'displayLabel' : string,
135
+ 'estimatedDelayIfSkipped' : [] | [bigint],
136
+ 'whyThis' : string,
137
+ }
138
+ export interface NextStepRecommendation {
139
+ 'why' : string,
140
+ 'urgency' : Urgency,
141
+ 'blocker' : string,
142
+ 'blockerLabel' : string,
143
+ 'options' : Array<NextStepOption>,
144
+ 'partial' : boolean,
145
+ }
68
146
  export interface Notification {
69
147
  'id' : bigint,
70
148
  'documentHash' : string,
@@ -76,6 +154,11 @@ export interface Notification {
76
154
  'uploadedBy' : Principal,
77
155
  'transactionId' : string,
78
156
  }
157
+ export interface Occupier {
158
+ 'age' : [] | [bigint],
159
+ 'fullName' : string,
160
+ 'consentToSale' : TA6Document,
161
+ }
79
162
  export interface OfficialSearchResult {
80
163
  'officialCopyTimestamp' : [] | [string],
81
164
  'advisoryEntries' : Array<string>,
@@ -84,6 +167,13 @@ export interface OfficialSearchResult {
84
167
  'priorityExpiry' : string,
85
168
  'certificateRef' : string,
86
169
  }
170
+ export type ParkingType = { 'OnRoad' : null } |
171
+ { 'None' : null } |
172
+ { 'Permit' : null } |
173
+ { 'Garage' : null } |
174
+ { 'Other' : null } |
175
+ { 'Allocated' : null } |
176
+ { 'Driveway' : null };
87
177
  export interface PartyProgress {
88
178
  'completedParties' : bigint,
89
179
  'overallProgress' : bigint,
@@ -136,12 +226,18 @@ export type Result_15 = { 'ok' : PhaseMilestones } |
136
226
  { 'err' : string };
137
227
  export type Result_16 = { 'ok' : TransactionPartyProgress } |
138
228
  { 'err' : string };
139
- export type Result_17 = { 'ok' : Phase } |
229
+ export type Result_17 = { 'ok' : NextStepRecommendation } |
230
+ { 'err' : string };
231
+ export type Result_18 = { 'ok' : Phase } |
140
232
  { 'err' : string };
141
- export type Result_18 = { 'ok' : [string, string] } |
233
+ export type Result_19 = { 'ok' : [string, string] } |
142
234
  { 'err' : string };
143
235
  export type Result_2 = { 'ok' : TransactionParty } |
144
236
  { 'err' : string };
237
+ export type Result_20 = {
238
+ 'ok' : { 'registrations' : bigint, 'transactions' : bigint }
239
+ } |
240
+ { 'err' : string };
145
241
  export type Result_3 = { 'ok' : OfficialSearchResult } |
146
242
  { 'err' : string };
147
243
  export type Result_4 = { 'ok' : ApplicationStatusUpdate } |
@@ -161,6 +257,172 @@ export type Result_8 = { 'ok' : Array<Notification> } |
161
257
  { 'err' : string };
162
258
  export type Result_9 = { 'ok' : Array<Transaction> } |
163
259
  { 'err' : string };
260
+ export interface Right {
261
+ 'overProperty' : [] | [string],
262
+ 'description' : string,
263
+ }
264
+ export interface Section10Parking {
265
+ 'q10_3InstallConsent' : TA6Document,
266
+ 'q10_1Details' : [] | [string],
267
+ 'q10_1Arrangements' : Array<ParkingType>,
268
+ 'q10_2PermitRequired' : TA6Response,
269
+ 'q10_3EvChargingPoint' : TA6Response,
270
+ }
271
+ export interface Section11Services {
272
+ 'q11_2Document' : TA6Document,
273
+ 'q11_4HeatingSystems' : Array<HeatingSystem>,
274
+ 'q11_5MainsConnections' : MainsConnections,
275
+ 'q11_3Date' : [] | [string],
276
+ 'q11_3Eicr' : TA6Answer,
277
+ 'q11_6SewerageSource' : SewerageSource,
278
+ 'q11_1ElectricalWorks' : TA6Response,
279
+ 'q11_2ElectricalCertificates' : TA6Answer,
280
+ 'q11_3Report' : TA6Document,
281
+ 'q11_7SewerageSystem' : [] | [SewerageSystem],
282
+ }
283
+ export interface Section12Connections {
284
+ 'q12_1Connections' : TA6Response,
285
+ 'q12_1Documents' : Array<TA6Document>,
286
+ }
287
+ export interface Section13Transaction {
288
+ 'q13_4OtherOccupiers17Plus' : TA6Response,
289
+ 'q13_5' : TA6Response,
290
+ 'q13_6' : TA6Response,
291
+ 'q13_1DependentPurchase' : TA6Response,
292
+ 'q13_7Occupiers' : Array<Occupier>,
293
+ 'q13_3SellerLivesAtProperty' : TA6Answer,
294
+ 'q13_2MovingDateRequirements' : TA6Response,
295
+ }
296
+ export interface Section14Completion {
297
+ 'q14_2Commitments' : CompletionCommitments,
298
+ 'q14_1ProceedsClearCharges' : TA6Response,
299
+ }
300
+ export interface Section15AdditionalInfo {
301
+ 'additionalNotes' : [] | [string],
302
+ 'q15_1ConsentsAttached' : Array<TA6Document>,
303
+ 'consentsNotAvailableList' : [] | [string],
304
+ 'consentsToFollowList' : [] | [string],
305
+ 'consentsAttachedList' : [] | [string],
306
+ }
307
+ export interface Section1PropertyAndSeller {
308
+ 'postcode' : string,
309
+ 'uprn' : [] | [string],
310
+ 'solicitor' : SolicitorContact,
311
+ 'propertyAddress' : string,
312
+ 'sellers' : Array<SellerParty>,
313
+ 'sellerCompany' : [] | [CompanySeller],
314
+ }
315
+ export interface Section2Boundaries {
316
+ 'q2_3MovedOrAltered' : TA6Response,
317
+ 'q2_2IrregularDescription' : [] | [string],
318
+ 'q2_1Features' : Array<BoundaryFeature>,
319
+ }
320
+ export interface Section3Disputes {
321
+ 'q3_2PotentialDisputes' : TA6Response,
322
+ 'q3_1ExistingDisputes' : TA6Response,
323
+ }
324
+ export interface Section4Notices {
325
+ 'q4_2NearbyDevelopment' : TA6Response,
326
+ 'q4_1NoticesReceived' : TA6Response,
327
+ 'q4_3NearbyUseChange' : TA6Response,
328
+ }
329
+ export interface Section5Alterations {
330
+ 'q5_6Solar' : [] | [SolarPower],
331
+ 'q5_3NonResidentialUse' : TA6Response,
332
+ 'q5_8ConservationArea' : TA6Response,
333
+ 'q5_9TreePreservationOrder' : TA6Response,
334
+ 'q5_2Documents' : Array<TA6Document>,
335
+ 'q5_4Breaches' : TA6Response,
336
+ 'q5_5UnresolvedIssues' : TA6Response,
337
+ 'q5_1Alterations' : AlterationTypes,
338
+ 'q5_7ListedBuilding' : TA6Response,
339
+ }
340
+ export interface Section6Guarantees {
341
+ 'q6_1CentralHeating' : WarrantyItem,
342
+ 'q6_3Breaches' : TA6Response,
343
+ 'q6_1DampProofing' : WarrantyItem,
344
+ 'q6_1Roofing' : WarrantyItem,
345
+ 'q6_1NewHomeWarranty' : WarrantyItem,
346
+ 'q6_1ElectricalWork' : WarrantyItem,
347
+ 'q6_1WindowsDoors' : WarrantyItem,
348
+ 'q6_1Underpinning' : WarrantyItem,
349
+ 'q6_1TimberTreatment' : WarrantyItem,
350
+ 'q6_1OtherDetails' : [] | [string],
351
+ 'q6_2Claims' : TA6Response,
352
+ 'q6_1Other' : WarrantyItem,
353
+ }
354
+ export interface Section7Insurance {
355
+ 'q7_2DifficultOrSpecialConditions' : TA6Response,
356
+ 'q7_1DoYouInsure' : TA6Answer,
357
+ 'q7_1WhoInsuresIfNot' : [] | [string],
358
+ 'q7_3Claims' : TA6Response,
359
+ }
360
+ export interface Section8Environmental {
361
+ 'q8_5GreenDeal' : TA6Response,
362
+ 'q8_6JapaneseKnotweed' : TA6Response,
363
+ 'q8_5CurrentBill' : TA6Document,
364
+ 'q8_7SurveyDocument' : TA6Document,
365
+ 'q8_3RadonTest' : TA6Response,
366
+ 'q8_4RadonMeasures' : TA6Response,
367
+ 'q8_7KnotweedSurvey' : TA6Answer,
368
+ 'q8_1Flooded' : TA6Response,
369
+ 'q8_2FloodDefences' : TA6Response,
370
+ }
371
+ export interface Section9Rights {
372
+ 'q9_4Rights' : Array<Right>,
373
+ 'q9_9Arrangement' : [] | [Arrangement],
374
+ 'q9_1RightsExercised' : TA6Response,
375
+ 'q9_4OthersRights' : TA6Response,
376
+ 'q9_2Amount' : [] | [bigint],
377
+ 'q9_8LeadingToOthers' : TA6Response,
378
+ 'q9_7CrossingOtherProperty' : TA6Response,
379
+ 'q9_5ContributionsReceived' : TA6Response,
380
+ 'q9_1Rights' : Array<Right>,
381
+ 'q9_3Disagreements' : TA6Response,
382
+ 'q9_5Amount' : [] | [bigint],
383
+ 'q9_2Contributions' : TA6Response,
384
+ 'q9_6Disagreements' : TA6Response,
385
+ }
386
+ export interface SellerParty {
387
+ 'role' : SellerRole,
388
+ 'fullName' : string,
389
+ 'ownershipOrAuthorityDate' : [] | [string],
390
+ }
391
+ export type SellerRole = { 'Administrator' : null } |
392
+ { 'Executor' : null } |
393
+ { 'Seller' : null } |
394
+ { 'Trustee' : null } |
395
+ { 'Attorney' : null };
396
+ export type SewerageSource = { 'SewageTreatmentPlant' : null } |
397
+ { 'Mains' : null } |
398
+ { 'SepticTank' : null } |
399
+ { 'Other' : null } |
400
+ { 'Cesspool' : null };
401
+ export interface SewerageSystem {
402
+ 'otherDetails' : [] | [string],
403
+ 'source' : SewerageSource,
404
+ 'infiltrationSystem' : TA6Answer,
405
+ 'lastServiceDate' : [] | [string],
406
+ 'regulationCompliant' : TA6Answer,
407
+ 'location' : [] | [string],
408
+ 'dischargeType' : [] | [DischargeType],
409
+ }
410
+ export interface SolarPower {
411
+ 'supplyAgreement' : TA6Document,
412
+ 'ownedOutright' : [] | [boolean],
413
+ 'mcsCertificate' : TA6Document,
414
+ 'installDate' : [] | [string],
415
+ 'electricityBill' : TA6Document,
416
+ 'fitOrSegAgreement' : TA6Document,
417
+ }
418
+ export interface SolicitorContact {
419
+ 'postcode' : string,
420
+ 'contactName' : string,
421
+ 'firmName' : string,
422
+ 'email' : [] | [string],
423
+ 'address' : string,
424
+ 'phone' : [] | [string],
425
+ }
164
426
  export interface SolicitorRecord {
165
427
  'consentRecordedAt' : Time,
166
428
  'tasks' : Array<SolicitorTask>,
@@ -211,44 +473,38 @@ export interface TA10Room {
211
473
  'fittings' : Array<TA10FittingItem>,
212
474
  'roomName' : string,
213
475
  }
214
- export interface TA6Alterations {
215
- 'hasAlterations' : boolean,
216
- 'requiresPermission' : boolean,
217
- 'details' : string,
218
- }
219
- export interface TA6BoundaryDisputes {
220
- 'details' : string,
221
- 'hasDisputes' : boolean,
222
- }
223
- export interface TA6Disputes { 'details' : string, 'disputeType' : string }
224
- export interface TA6EstateManagement {
225
- 'isManaged' : boolean,
226
- 'annualCharge' : bigint,
227
- 'managementCompany' : string,
228
- }
229
- export interface TA6Notices { 'noticeType' : string, 'details' : string }
476
+ export type TA6Answer = { 'No' : null } |
477
+ { 'Yes' : null } |
478
+ { 'NotApplicable' : null } |
479
+ { 'NotKnown' : null };
480
+ export type TA6Document = { 'NotApplicable' : null } |
481
+ { 'NotAvailable' : null } |
482
+ { 'Attached' : bigint } |
483
+ { 'ToFollow' : null };
230
484
  export interface TA6PropertyInformation {
231
485
  'completedAt' : [] | [bigint],
232
486
  'completedBy' : Principal,
233
- 'disputes' : [] | [TA6Disputes],
234
- 'boundaries' : string,
235
- 'otherInformation' : string,
236
- 'notices' : [] | [TA6Notices],
237
- 'environmentalDetails' : string,
238
- 'guarantees' : string,
239
- 'insurance' : string,
240
- 'alterations' : [] | [TA6Alterations],
241
- 'estateManagement' : [] | [TA6EstateManagement],
242
- 'environmentalIssues' : Array<string>,
243
- 'boundaryDisputes' : [] | [TA6BoundaryDisputes],
487
+ 'formVersion' : string,
488
+ 'jurisdiction' : Jurisdiction,
489
+ 'section10' : Section10Parking,
490
+ 'section11' : Section11Services,
491
+ 'section12' : Section12Connections,
492
+ 'section13' : Section13Transaction,
493
+ 'section14' : Section14Completion,
494
+ 'section15' : Section15AdditionalInfo,
244
495
  'lastModifiedAt' : bigint,
245
496
  'lastModifiedBy' : Principal,
246
- 'parkingDetails' : string,
247
- 'connectionAgreements' : string,
248
- 'services' : string,
249
- 'rightsAndEasements' : string,
250
- 'parkingSpaces' : bigint,
497
+ 'section1' : Section1PropertyAndSeller,
498
+ 'section2' : Section2Boundaries,
499
+ 'section3' : Section3Disputes,
500
+ 'section4' : Section4Notices,
501
+ 'section5' : Section5Alterations,
502
+ 'section6' : Section6Guarantees,
503
+ 'section7' : Section7Insurance,
504
+ 'section8' : Section8Environmental,
505
+ 'section9' : Section9Rights,
251
506
  }
507
+ export interface TA6Response { 'answer' : TA6Answer, 'details' : [] | [string] }
252
508
  export interface TA7LeaseholdInformation {
253
509
  'completedAt' : [] | [bigint],
254
510
  'completedBy' : Principal,
@@ -355,12 +611,20 @@ export interface TransactionTimeline {
355
611
  'totalTimeToCompletion' : bigint,
356
612
  'totalTimeIncludingLR' : bigint,
357
613
  }
614
+ export type Urgency = { 'blocking' : null } |
615
+ { 'soon' : null } |
616
+ { 'later' : null };
617
+ export interface WarrantyItem {
618
+ 'present' : TA6Answer,
619
+ 'document' : TA6Document,
620
+ }
358
621
  export interface _SERVICE {
359
622
  'addParty' : ActorMethod<[string, string, string, string, boolean], Result_2>,
360
623
  'adminForceDeleteTransaction' : ActorMethod<[string], Result>,
361
624
  'assignBuyer' : ActorMethod<[string, Principal], Result>,
362
625
  'assignSolicitor' : ActorMethod<[string, Principal], Result>,
363
626
  'assignSolicitorRecord' : ActorMethod<[string, SolicitorRecord], Result_1>,
627
+ 'backfillTransactionMembers' : ActorMethod<[], Result_20>,
364
628
  'bootstrapDocumentStorageCanister' : ActorMethod<[Principal], Result>,
365
629
  'canAccessTransaction' : ActorMethod<[string], boolean>,
366
630
  'connectBot' : ActorMethod<[string, Principal, string], Result_1>,
@@ -406,30 +670,34 @@ export interface _SERVICE {
406
670
  bigint,
407
671
  string,
408
672
  ],
409
- Result_18
673
+ Result_19
410
674
  >,
411
675
  'deleteTransaction' : ActorMethod<[string], Result>,
412
676
  'disconnectBot' : ActorMethod<[string, Principal], Result_1>,
413
677
  'doesTransactionExist' : ActorMethod<[string], boolean>,
414
678
  'getAllInviteCodes' : ActorMethod<[], Array<[string, string]>>,
415
679
  'getAllTransactions' : ActorMethod<[], Array<Transaction>>,
416
- 'getCurrentPhase' : ActorMethod<[string], Result_17>,
680
+ 'getCurrentPhase' : ActorMethod<[string], Result_18>,
417
681
  'getCycles' : ActorMethod<[], bigint>,
418
682
  'getDocumentStorageCanister' : ActorMethod<[], [] | [Principal]>,
419
683
  'getExpiringSearches' : ActorMethod<[bigint], Array<Transaction>>,
420
684
  'getFlowState' : ActorMethod<[string], [] | [string]>,
421
685
  'getInviteCode' : ActorMethod<[string], Result>,
686
+ 'getLandRegistryCanister' : ActorMethod<[], string>,
422
687
  'getLandRegistryDetail' : ActorMethod<
423
688
  [string],
424
689
  [] | [LandRegistryIntegration]
425
690
  >,
691
+ 'getLedgerManagerCanister' : ActorMethod<[], string>,
426
692
  'getListingData' : ActorMethod<[string], [] | [string]>,
427
693
  'getMyNotifications' : ActorMethod<[], Array<Notification>>,
428
694
  'getMyTransactions' : ActorMethod<[], Array<Transaction>>,
695
+ 'getNextStep' : ActorMethod<[string], Result_17>,
429
696
  'getOutstandingRequisitions' : ActorMethod<[], Array<[string, Requisition]>>,
430
697
  'getPartyProgress' : ActorMethod<[string], Result_16>,
431
698
  'getPendingLRApplications' : ActorMethod<[], Array<Transaction>>,
432
699
  'getPhaseMilestones' : ActorMethod<[string], Result_15>,
700
+ 'getPropertyRegistryCanister' : ActorMethod<[], string>,
433
701
  'getSolicitorStatus' : ActorMethod<[string], Result_14>,
434
702
  'getTA10' : ActorMethod<[string], Result_13>,
435
703
  'getTA6' : ActorMethod<[string], Result_12>,
@@ -457,12 +725,60 @@ export interface _SERVICE {
457
725
  [string, string, string],
458
726
  Result
459
727
  >,
728
+ 'joinAsBotByInviteCode' : ActorMethod<[string, string], Result_6>,
460
729
  'joinTransactionByInviteCode' : ActorMethod<[string], Result_6>,
730
+ 'joinTransactionByInviteCodeAsBuyer' : ActorMethod<[string], Result_6>,
731
+ /**
732
+ * / Caller-initiated removal from a transaction they joined but didn't
733
+ * / create. Counterpart to `removeParty` (which is seller/admin-driven and
734
+ * / gated against primary parties) — this is the "I want out" path for a
735
+ * / joined buyer or any other access-list member.
736
+ * /
737
+ * / Gates:
738
+ * / - Anonymous callers rejected outright.
739
+ * / - Seller / createdBy cannot leave their own transaction (they
740
+ * / dispose via deleteTransaction).
741
+ * / - Caller must currently have access to the transaction.
742
+ * / - Locked after contract exchange (same posture as assignBuyer):
743
+ * / once the deal is signed nobody walks away by toggling a button.
744
+ * /
745
+ * / Effects:
746
+ * / - Caller is removed from `accessList`.
747
+ * / - If the caller is the assigned buyer (`txn.buyer == msg.caller`),
748
+ * / the buyer slot is reset to the seller placeholder, matching the
749
+ * / sentinel state that `assignBuyer` checks for. The transaction
750
+ * / re-enters the "Awaiting buyer" state and the invite code is
751
+ * / reusable by a new joiner.
752
+ * / - Audit event `buyer_left` (or `party_left` for non-buyer leavers)
753
+ * / is logged via the existing ledger pattern.
754
+ * /
755
+ * / Concurrency: uses the same acquireTxLock/finally releaseTxLock
756
+ * / posture as assignBuyer so a leave can't race against an in-flight
757
+ * / stage write.
758
+ */
759
+ 'leaveTransaction' : ActorMethod<[string], Result>,
461
760
  'linkTransactionToChain' : ActorMethod<[string, string], Result_1>,
462
761
  'markAllNotificationsRead' : ActorMethod<[], bigint>,
463
762
  'markContractDrafted' : ActorMethod<[string], Result_1>,
464
763
  'markNotificationRead' : ActorMethod<[bigint], Result_1>,
465
764
  'markSearchesOrdered' : ActorMethod<[string], Result_1>,
765
+ /**
766
+ * / Heal developer-plot transactions whose `seller` doesn't match the
767
+ * / org's current developer principal. Two cases this addresses:
768
+ * / 1. Pre-migration txs (seller = buyer placeholder) created before the
769
+ * / developer-on-chain work landed.
770
+ * / 2. Stale-pin txs where the org's pinned principal changed after the
771
+ * / tx was created (e.g. admin password reset → new ICP key, or org
772
+ * / ownership transferred to a different admin).
773
+ * /
774
+ * / Idempotent over the target: re-running with the same developerPrincipal
775
+ * / returns an error (already at target), so admin-driven backfill scripts
776
+ * / don't silently re-touch state. Always rejects:
777
+ * / - non-development mode txs
778
+ * / - developerPrincipal == buyer (would break Principal.equal checks)
779
+ * / - anonymous principal
780
+ */
781
+ 'migrateDevPlotSeller' : ActorMethod<[string, Principal], Result>,
466
782
  'onDocumentRegistered' : ActorMethod<
467
783
  [string, string, string, Principal],
468
784
  undefined
@@ -470,14 +786,33 @@ export interface _SERVICE {
470
786
  'on_blockchain_completion_success' : ActorMethod<[string], Result>,
471
787
  'pollAllPendingApplications' : ActorMethod<[], Result_5>,
472
788
  'pollApplicationStatus' : ActorMethod<[string], Result_4>,
789
+ /**
790
+ * / Closes #31 (TOCTOU): per-transaction lock blocks concurrent solicitors
791
+ * / from racing to record exchange while canModifyTransaction await is in flight.
792
+ */
473
793
  'recordContractExchange' : ActorMethod<[string, string, string], Result>,
794
+ 'recordConveyancerSelected' : ActorMethod<
795
+ [string, string, string, bigint],
796
+ Result_1
797
+ >,
474
798
  'recordFormUpload' : ActorMethod<[string, string, string, string], Result_1>,
475
799
  /**
476
800
  * / Record a single party's signature on-chain.
477
801
  * / The canister identifies the caller as buyer or seller from the transaction principals.
478
802
  * / When both parties have signed, the status auto-advances to #exchanged.
803
+ * / Closes #31 (TOCTOU): per-transaction lock blocks concurrent mutation
804
+ * / (buyer + seller racing to sign) while canModifyTransaction await is in flight.
479
805
  */
480
806
  'recordPartySignature' : ActorMethod<[string, string, string], Result>,
807
+ 'recordQuoteReceived' : ActorMethod<
808
+ [string, string, string, bigint],
809
+ Result_1
810
+ >,
811
+ 'recordQuoteRequested' : ActorMethod<[string, string], Result_1>,
812
+ /**
813
+ * / Closes #31 (TOCTOU): per-transaction lock blocks concurrent mutation
814
+ * / while the isAdmin await is in flight.
815
+ */
481
816
  'recordRequisition' : ActorMethod<[string, Requisition], Result_1>,
482
817
  'removeParty' : ActorMethod<[string, Principal], Result_1>,
483
818
  'removeSolicitor' : ActorMethod<
@@ -485,6 +820,10 @@ export interface _SERVICE {
485
820
  Result_1
486
821
  >,
487
822
  'requestOfficialSearch' : ActorMethod<[string], Result_3>,
823
+ /**
824
+ * / Closes #31 (TOCTOU): per-transaction lock blocks concurrent mutation
825
+ * / while canModifyTransaction await is in flight.
826
+ */
488
827
  'respondToRequisition' : ActorMethod<
489
828
  [string, string, string, Array<string>],
490
829
  Result_1
@@ -492,7 +831,10 @@ export interface _SERVICE {
492
831
  'revokeBuyer' : ActorMethod<[string, Principal], Result>,
493
832
  'setDocumentStorageCanister' : ActorMethod<[Principal], Result>,
494
833
  'setFlowState' : ActorMethod<[string, string], Result>,
834
+ 'setLandRegistryCanister' : ActorMethod<[string], Result>,
835
+ 'setLedgerManagerCanister' : ActorMethod<[string], Result>,
495
836
  'setListingData' : ActorMethod<[string, string], Result>,
837
+ 'setPropertyRegistryCanister' : ActorMethod<[string], Result>,
496
838
  'setUserManagementCanister' : ActorMethod<[string], Result>,
497
839
  'trigger_land_registry_submission' : ActorMethod<[string], Result>,
498
840
  'updatePartyAMLDoc' : ActorMethod<[string, Principal, string], Result_2>,
@@ -507,6 +849,7 @@ export interface _SERVICE {
507
849
  'updateTA10' : ActorMethod<[string, TA10FittingsAndContents], Result_1>,
508
850
  'updateTA6' : ActorMethod<[string, TA6PropertyInformation], Result_1>,
509
851
  'updateTA7' : ActorMethod<[string, TA7LeaseholdInformation], Result_1>,
852
+ 'updateTitleNumber' : ActorMethod<[string, string], Result>,
510
853
  'updateTransactionStatus' : ActorMethod<[bigint, string], boolean>,
511
854
  'update_land_registry_status' : ActorMethod<
512
855
  [string, LandRegistryStatus, [] | [string], [] | [bigint]],