@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.
- package/README.md +2 -3
- package/dist/auth.d.ts +7 -7
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +5 -5
- package/dist/auth.js.map +1 -1
- package/dist/canisters/document_storage/document_storage.did.d.ts.map +1 -1
- package/dist/canisters/document_storage/document_storage.did.js +90 -21
- package/dist/canisters/document_storage/document_storage.did.js.map +1 -1
- package/dist/canisters/document_verification/document_verification.did.d.ts.map +1 -1
- package/dist/canisters/document_verification/document_verification.did.js +132 -0
- package/dist/canisters/document_verification/document_verification.did.js.map +1 -1
- package/dist/canisters/email_service/email_service.did.d.ts.map +1 -1
- package/dist/canisters/email_service/email_service.did.js +40 -0
- package/dist/canisters/email_service/email_service.did.js.map +1 -1
- package/dist/canisters/land_registry_integration/land_registry_integration.did.d.ts.map +1 -1
- package/dist/canisters/land_registry_integration/land_registry_integration.did.js +186 -12
- package/dist/canisters/land_registry_integration/land_registry_integration.did.js.map +1 -1
- package/dist/canisters/ledger_manager/ledger_manager.did.d.ts.map +1 -1
- package/dist/canisters/ledger_manager/ledger_manager.did.js +55 -0
- package/dist/canisters/ledger_manager/ledger_manager.did.js.map +1 -1
- package/dist/canisters/transaction_manager/transaction_manager.did.d.ts.map +1 -1
- package/dist/canisters/transaction_manager/transaction_manager.did.js +338 -40
- package/dist/canisters/transaction_manager/transaction_manager.did.js.map +1 -1
- package/dist/canisters/user_management/user_management.did.d.ts.map +1 -1
- package/dist/canisters/user_management/user_management.did.js +122 -2
- package/dist/canisters/user_management/user_management.did.js.map +1 -1
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mock.js +1 -1
- package/dist/mock.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -6
- package/src/auth.ts +8 -9
- package/src/canisters/document_storage/document_storage.did +82 -12
- package/src/canisters/document_storage/document_storage.did.d.ts +86 -9
- package/src/canisters/document_storage/document_storage.did.js +128 -19
- package/src/canisters/document_verification/document_verification.did +150 -0
- package/src/canisters/document_verification/document_verification.did.d.ts +125 -1
- package/src/canisters/document_verification/document_verification.did.js +160 -0
- package/src/canisters/email_service/email_service.did +49 -0
- package/src/canisters/email_service/email_service.did.d.ts +49 -2
- package/src/canisters/email_service/email_service.did.js +68 -0
- package/src/canisters/land_registry_integration/land_registry_integration.did +118 -19
- package/src/canisters/land_registry_integration/land_registry_integration.did.d.ts +89 -19
- package/src/canisters/land_registry_integration/land_registry_integration.did.js +213 -11
- package/src/canisters/ledger_manager/ledger_manager.did +78 -0
- package/src/canisters/ledger_manager/ledger_manager.did.d.ts +66 -0
- package/src/canisters/ledger_manager/ledger_manager.did.js +75 -0
- package/src/canisters/transaction_manager/transaction_manager.did +438 -47
- package/src/canisters/transaction_manager/transaction_manager.did.d.ts +379 -36
- package/src/canisters/transaction_manager/transaction_manager.did.js +346 -40
- package/src/canisters/user_management/user_management.did +153 -3
- package/src/canisters/user_management/user_management.did.d.ts +121 -2
- package/src/canisters/user_management/user_management.did.js +166 -6
- package/src/client.ts +1 -1
- package/src/index.ts +2 -2
- package/src/mock.ts +1 -1
- package/src/types.ts +1 -1
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
type WarrantyItem =
|
|
2
|
+
record {
|
|
3
|
+
document: TA6Document;
|
|
4
|
+
present: TA6Answer;
|
|
5
|
+
};
|
|
6
|
+
type Urgency =
|
|
7
|
+
variant {
|
|
8
|
+
blocking;
|
|
9
|
+
later;
|
|
10
|
+
soon;
|
|
11
|
+
};
|
|
1
12
|
type TransactionTimeline =
|
|
2
13
|
record {
|
|
3
14
|
blockchainCompletedAt: opt int;
|
|
@@ -115,55 +126,48 @@ type TA7LeaseholdInformation =
|
|
|
115
126
|
serviceChargePaymentFrequency: text;
|
|
116
127
|
sublettingAllowed: bool;
|
|
117
128
|
};
|
|
129
|
+
type TA6Response =
|
|
130
|
+
record {
|
|
131
|
+
answer: TA6Answer;
|
|
132
|
+
details: opt text;
|
|
133
|
+
};
|
|
118
134
|
type TA6PropertyInformation =
|
|
119
135
|
record {
|
|
120
|
-
alterations: opt TA6Alterations;
|
|
121
|
-
boundaries: text;
|
|
122
|
-
boundaryDisputes: opt TA6BoundaryDisputes;
|
|
123
136
|
completedAt: opt int;
|
|
124
137
|
completedBy: principal;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
environmentalDetails: text;
|
|
128
|
-
environmentalIssues: vec text;
|
|
129
|
-
estateManagement: opt TA6EstateManagement;
|
|
130
|
-
guarantees: text;
|
|
131
|
-
insurance: text;
|
|
138
|
+
formVersion: text;
|
|
139
|
+
jurisdiction: Jurisdiction;
|
|
132
140
|
lastModifiedAt: int;
|
|
133
141
|
lastModifiedBy: principal;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
};
|
|
157
|
-
type TA6BoundaryDisputes =
|
|
158
|
-
record {
|
|
159
|
-
details: text;
|
|
160
|
-
hasDisputes: bool;
|
|
142
|
+
section1: Section1PropertyAndSeller;
|
|
143
|
+
section10: Section10Parking;
|
|
144
|
+
section11: Section11Services;
|
|
145
|
+
section12: Section12Connections;
|
|
146
|
+
section13: Section13Transaction;
|
|
147
|
+
section14: Section14Completion;
|
|
148
|
+
section15: Section15AdditionalInfo;
|
|
149
|
+
section2: Section2Boundaries;
|
|
150
|
+
section3: Section3Disputes;
|
|
151
|
+
section4: Section4Notices;
|
|
152
|
+
section5: Section5Alterations;
|
|
153
|
+
section6: Section6Guarantees;
|
|
154
|
+
section7: Section7Insurance;
|
|
155
|
+
section8: Section8Environmental;
|
|
156
|
+
section9: Section9Rights;
|
|
157
|
+
};
|
|
158
|
+
type TA6Document =
|
|
159
|
+
variant {
|
|
160
|
+
Attached: nat;
|
|
161
|
+
NotApplicable;
|
|
162
|
+
NotAvailable;
|
|
163
|
+
ToFollow;
|
|
161
164
|
};
|
|
162
|
-
type
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
type TA6Answer =
|
|
166
|
+
variant {
|
|
167
|
+
No;
|
|
168
|
+
NotApplicable;
|
|
169
|
+
NotKnown;
|
|
170
|
+
Yes;
|
|
167
171
|
};
|
|
168
172
|
type TA10Room =
|
|
169
173
|
record {
|
|
@@ -228,6 +232,198 @@ type SolicitorRecord =
|
|
|
228
232
|
tasks: vec SolicitorTask;
|
|
229
233
|
verified: bool;
|
|
230
234
|
};
|
|
235
|
+
type SolicitorContact =
|
|
236
|
+
record {
|
|
237
|
+
address: text;
|
|
238
|
+
contactName: text;
|
|
239
|
+
email: opt text;
|
|
240
|
+
firmName: text;
|
|
241
|
+
phone: opt text;
|
|
242
|
+
postcode: text;
|
|
243
|
+
};
|
|
244
|
+
type SolarPower =
|
|
245
|
+
record {
|
|
246
|
+
electricityBill: TA6Document;
|
|
247
|
+
fitOrSegAgreement: TA6Document;
|
|
248
|
+
installDate: opt text;
|
|
249
|
+
mcsCertificate: TA6Document;
|
|
250
|
+
ownedOutright: opt bool;
|
|
251
|
+
supplyAgreement: TA6Document;
|
|
252
|
+
};
|
|
253
|
+
type SewerageSystem =
|
|
254
|
+
record {
|
|
255
|
+
dischargeType: opt DischargeType;
|
|
256
|
+
infiltrationSystem: TA6Answer;
|
|
257
|
+
lastServiceDate: opt text;
|
|
258
|
+
location: opt text;
|
|
259
|
+
otherDetails: opt text;
|
|
260
|
+
regulationCompliant: TA6Answer;
|
|
261
|
+
source: SewerageSource;
|
|
262
|
+
};
|
|
263
|
+
type SewerageSource =
|
|
264
|
+
variant {
|
|
265
|
+
Cesspool;
|
|
266
|
+
Mains;
|
|
267
|
+
Other;
|
|
268
|
+
SepticTank;
|
|
269
|
+
SewageTreatmentPlant;
|
|
270
|
+
};
|
|
271
|
+
type SellerRole =
|
|
272
|
+
variant {
|
|
273
|
+
Administrator;
|
|
274
|
+
Attorney;
|
|
275
|
+
Executor;
|
|
276
|
+
Seller;
|
|
277
|
+
Trustee;
|
|
278
|
+
};
|
|
279
|
+
type SellerParty =
|
|
280
|
+
record {
|
|
281
|
+
fullName: text;
|
|
282
|
+
ownershipOrAuthorityDate: opt text;
|
|
283
|
+
role: SellerRole;
|
|
284
|
+
};
|
|
285
|
+
type Section9Rights =
|
|
286
|
+
record {
|
|
287
|
+
q9_1Rights: vec Right;
|
|
288
|
+
q9_1RightsExercised: TA6Response;
|
|
289
|
+
q9_2Amount: opt nat;
|
|
290
|
+
q9_2Contributions: TA6Response;
|
|
291
|
+
q9_3Disagreements: TA6Response;
|
|
292
|
+
q9_4OthersRights: TA6Response;
|
|
293
|
+
q9_4Rights: vec Right;
|
|
294
|
+
q9_5Amount: opt nat;
|
|
295
|
+
q9_5ContributionsReceived: TA6Response;
|
|
296
|
+
q9_6Disagreements: TA6Response;
|
|
297
|
+
q9_7CrossingOtherProperty: TA6Response;
|
|
298
|
+
q9_8LeadingToOthers: TA6Response;
|
|
299
|
+
q9_9Arrangement: opt Arrangement;
|
|
300
|
+
};
|
|
301
|
+
type Section8Environmental =
|
|
302
|
+
record {
|
|
303
|
+
q8_1Flooded: TA6Response;
|
|
304
|
+
q8_2FloodDefences: TA6Response;
|
|
305
|
+
q8_3RadonTest: TA6Response;
|
|
306
|
+
q8_4RadonMeasures: TA6Response;
|
|
307
|
+
q8_5CurrentBill: TA6Document;
|
|
308
|
+
q8_5GreenDeal: TA6Response;
|
|
309
|
+
q8_6JapaneseKnotweed: TA6Response;
|
|
310
|
+
q8_7KnotweedSurvey: TA6Answer;
|
|
311
|
+
q8_7SurveyDocument: TA6Document;
|
|
312
|
+
};
|
|
313
|
+
type Section7Insurance =
|
|
314
|
+
record {
|
|
315
|
+
q7_1DoYouInsure: TA6Answer;
|
|
316
|
+
q7_1WhoInsuresIfNot: opt text;
|
|
317
|
+
q7_2DifficultOrSpecialConditions: TA6Response;
|
|
318
|
+
q7_3Claims: TA6Response;
|
|
319
|
+
};
|
|
320
|
+
type Section6Guarantees =
|
|
321
|
+
record {
|
|
322
|
+
q6_1CentralHeating: WarrantyItem;
|
|
323
|
+
q6_1DampProofing: WarrantyItem;
|
|
324
|
+
q6_1ElectricalWork: WarrantyItem;
|
|
325
|
+
q6_1NewHomeWarranty: WarrantyItem;
|
|
326
|
+
q6_1Other: WarrantyItem;
|
|
327
|
+
q6_1OtherDetails: opt text;
|
|
328
|
+
q6_1Roofing: WarrantyItem;
|
|
329
|
+
q6_1TimberTreatment: WarrantyItem;
|
|
330
|
+
q6_1Underpinning: WarrantyItem;
|
|
331
|
+
q6_1WindowsDoors: WarrantyItem;
|
|
332
|
+
q6_2Claims: TA6Response;
|
|
333
|
+
q6_3Breaches: TA6Response;
|
|
334
|
+
};
|
|
335
|
+
type Section5Alterations =
|
|
336
|
+
record {
|
|
337
|
+
q5_1Alterations: AlterationTypes;
|
|
338
|
+
q5_2Documents: vec TA6Document;
|
|
339
|
+
q5_3NonResidentialUse: TA6Response;
|
|
340
|
+
q5_4Breaches: TA6Response;
|
|
341
|
+
q5_5UnresolvedIssues: TA6Response;
|
|
342
|
+
q5_6Solar: opt SolarPower;
|
|
343
|
+
q5_7ListedBuilding: TA6Response;
|
|
344
|
+
q5_8ConservationArea: TA6Response;
|
|
345
|
+
q5_9TreePreservationOrder: TA6Response;
|
|
346
|
+
};
|
|
347
|
+
type Section4Notices =
|
|
348
|
+
record {
|
|
349
|
+
q4_1NoticesReceived: TA6Response;
|
|
350
|
+
q4_2NearbyDevelopment: TA6Response;
|
|
351
|
+
q4_3NearbyUseChange: TA6Response;
|
|
352
|
+
};
|
|
353
|
+
type Section3Disputes =
|
|
354
|
+
record {
|
|
355
|
+
q3_1ExistingDisputes: TA6Response;
|
|
356
|
+
q3_2PotentialDisputes: TA6Response;
|
|
357
|
+
};
|
|
358
|
+
type Section2Boundaries =
|
|
359
|
+
record {
|
|
360
|
+
q2_1Features: vec BoundaryFeature;
|
|
361
|
+
q2_2IrregularDescription: opt text;
|
|
362
|
+
q2_3MovedOrAltered: TA6Response;
|
|
363
|
+
};
|
|
364
|
+
type Section1PropertyAndSeller =
|
|
365
|
+
record {
|
|
366
|
+
postcode: text;
|
|
367
|
+
propertyAddress: text;
|
|
368
|
+
sellerCompany: opt CompanySeller;
|
|
369
|
+
sellers: vec SellerParty;
|
|
370
|
+
solicitor: SolicitorContact;
|
|
371
|
+
uprn: opt text;
|
|
372
|
+
};
|
|
373
|
+
type Section15AdditionalInfo =
|
|
374
|
+
record {
|
|
375
|
+
additionalNotes: opt text;
|
|
376
|
+
consentsAttachedList: opt text;
|
|
377
|
+
consentsNotAvailableList: opt text;
|
|
378
|
+
consentsToFollowList: opt text;
|
|
379
|
+
q15_1ConsentsAttached: vec TA6Document;
|
|
380
|
+
};
|
|
381
|
+
type Section14Completion =
|
|
382
|
+
record {
|
|
383
|
+
q14_1ProceedsClearCharges: TA6Response;
|
|
384
|
+
q14_2Commitments: CompletionCommitments;
|
|
385
|
+
};
|
|
386
|
+
type Section13Transaction =
|
|
387
|
+
record {
|
|
388
|
+
q13_1DependentPurchase: TA6Response;
|
|
389
|
+
q13_2MovingDateRequirements: TA6Response;
|
|
390
|
+
q13_3SellerLivesAtProperty: TA6Answer;
|
|
391
|
+
q13_4OtherOccupiers17Plus: TA6Response;
|
|
392
|
+
q13_5: TA6Response;
|
|
393
|
+
q13_6: TA6Response;
|
|
394
|
+
q13_7Occupiers: vec Occupier;
|
|
395
|
+
};
|
|
396
|
+
type Section12Connections =
|
|
397
|
+
record {
|
|
398
|
+
q12_1Connections: TA6Response;
|
|
399
|
+
q12_1Documents: vec TA6Document;
|
|
400
|
+
};
|
|
401
|
+
type Section11Services =
|
|
402
|
+
record {
|
|
403
|
+
q11_1ElectricalWorks: TA6Response;
|
|
404
|
+
q11_2Document: TA6Document;
|
|
405
|
+
q11_2ElectricalCertificates: TA6Answer;
|
|
406
|
+
q11_3Date: opt text;
|
|
407
|
+
q11_3Eicr: TA6Answer;
|
|
408
|
+
q11_3Report: TA6Document;
|
|
409
|
+
q11_4HeatingSystems: vec HeatingSystem;
|
|
410
|
+
q11_5MainsConnections: MainsConnections;
|
|
411
|
+
q11_6SewerageSource: SewerageSource;
|
|
412
|
+
q11_7SewerageSystem: opt SewerageSystem;
|
|
413
|
+
};
|
|
414
|
+
type Section10Parking =
|
|
415
|
+
record {
|
|
416
|
+
q10_1Arrangements: vec ParkingType;
|
|
417
|
+
q10_1Details: opt text;
|
|
418
|
+
q10_2PermitRequired: TA6Response;
|
|
419
|
+
q10_3EvChargingPoint: TA6Response;
|
|
420
|
+
q10_3InstallConsent: TA6Document;
|
|
421
|
+
};
|
|
422
|
+
type Right =
|
|
423
|
+
record {
|
|
424
|
+
description: text;
|
|
425
|
+
overProperty: opt text;
|
|
426
|
+
};
|
|
231
427
|
type Result_9 =
|
|
232
428
|
variant {
|
|
233
429
|
err: text;
|
|
@@ -266,12 +462,20 @@ type Result_3 =
|
|
|
266
462
|
err: text;
|
|
267
463
|
ok: OfficialSearchResult;
|
|
268
464
|
};
|
|
465
|
+
type Result_20 =
|
|
466
|
+
variant {
|
|
467
|
+
err: text;
|
|
468
|
+
ok: record {
|
|
469
|
+
registrations: nat;
|
|
470
|
+
transactions: nat;
|
|
471
|
+
};
|
|
472
|
+
};
|
|
269
473
|
type Result_2 =
|
|
270
474
|
variant {
|
|
271
475
|
err: text;
|
|
272
476
|
ok: TransactionParty;
|
|
273
477
|
};
|
|
274
|
-
type
|
|
478
|
+
type Result_19 =
|
|
275
479
|
variant {
|
|
276
480
|
err: text;
|
|
277
481
|
ok: record {
|
|
@@ -279,11 +483,16 @@ type Result_18 =
|
|
|
279
483
|
text;
|
|
280
484
|
};
|
|
281
485
|
};
|
|
282
|
-
type
|
|
486
|
+
type Result_18 =
|
|
283
487
|
variant {
|
|
284
488
|
err: text;
|
|
285
489
|
ok: Phase;
|
|
286
490
|
};
|
|
491
|
+
type Result_17 =
|
|
492
|
+
variant {
|
|
493
|
+
err: text;
|
|
494
|
+
ok: NextStepRecommendation;
|
|
495
|
+
};
|
|
287
496
|
type Result_16 =
|
|
288
497
|
variant {
|
|
289
498
|
err: text;
|
|
@@ -371,6 +580,16 @@ type PartyProgress =
|
|
|
371
580
|
parties: vec TransactionParty;
|
|
372
581
|
totalParties: nat;
|
|
373
582
|
};
|
|
583
|
+
type ParkingType =
|
|
584
|
+
variant {
|
|
585
|
+
Allocated;
|
|
586
|
+
Driveway;
|
|
587
|
+
Garage;
|
|
588
|
+
None;
|
|
589
|
+
OnRoad;
|
|
590
|
+
Other;
|
|
591
|
+
Permit;
|
|
592
|
+
};
|
|
374
593
|
type OfficialSearchResult =
|
|
375
594
|
record {
|
|
376
595
|
advisoryEntries: vec text;
|
|
@@ -380,6 +599,12 @@ type OfficialSearchResult =
|
|
|
380
599
|
priorityExpiry: text;
|
|
381
600
|
registerChanged: bool;
|
|
382
601
|
};
|
|
602
|
+
type Occupier =
|
|
603
|
+
record {
|
|
604
|
+
age: opt nat;
|
|
605
|
+
consentToSale: TA6Document;
|
|
606
|
+
fullName: text;
|
|
607
|
+
};
|
|
383
608
|
type Notification =
|
|
384
609
|
record {
|
|
385
610
|
createdAt: Time;
|
|
@@ -392,6 +617,30 @@ type Notification =
|
|
|
392
617
|
transactionId: text;
|
|
393
618
|
uploadedBy: principal;
|
|
394
619
|
};
|
|
620
|
+
type NextStepRecommendation =
|
|
621
|
+
record {
|
|
622
|
+
blocker: text;
|
|
623
|
+
blockerLabel: text;
|
|
624
|
+
options: vec NextStepOption;
|
|
625
|
+
partial: bool;
|
|
626
|
+
urgency: Urgency;
|
|
627
|
+
why: text;
|
|
628
|
+
};
|
|
629
|
+
type NextStepOption =
|
|
630
|
+
record {
|
|
631
|
+
action: text;
|
|
632
|
+
displayLabel: text;
|
|
633
|
+
estimatedDelayIfSkipped: opt nat;
|
|
634
|
+
whyThis: text;
|
|
635
|
+
};
|
|
636
|
+
type MainsConnections =
|
|
637
|
+
record {
|
|
638
|
+
broadband: TA6Answer;
|
|
639
|
+
electricity: TA6Answer;
|
|
640
|
+
gas: TA6Answer;
|
|
641
|
+
sewerage: TA6Answer;
|
|
642
|
+
water: TA6Answer;
|
|
643
|
+
};
|
|
395
644
|
type LandRegistryStatus =
|
|
396
645
|
variant {
|
|
397
646
|
application_received;
|
|
@@ -441,6 +690,62 @@ type LandRegistryIntegration =
|
|
|
441
690
|
submittedToLRAt: opt int;
|
|
442
691
|
totalLRCosts: nat;
|
|
443
692
|
};
|
|
693
|
+
type Jurisdiction =
|
|
694
|
+
variant {
|
|
695
|
+
England;
|
|
696
|
+
Wales;
|
|
697
|
+
};
|
|
698
|
+
type HeatingType =
|
|
699
|
+
variant {
|
|
700
|
+
DistrictHeating;
|
|
701
|
+
Electric;
|
|
702
|
+
GasCentral;
|
|
703
|
+
HeatPumpAir;
|
|
704
|
+
HeatPumpGround;
|
|
705
|
+
Lpg;
|
|
706
|
+
Oil;
|
|
707
|
+
Other;
|
|
708
|
+
SolarThermal;
|
|
709
|
+
SolidFuel;
|
|
710
|
+
};
|
|
711
|
+
type HeatingSystem =
|
|
712
|
+
record {
|
|
713
|
+
certificate: TA6Document;
|
|
714
|
+
heatingType: HeatingType;
|
|
715
|
+
installDate: opt text;
|
|
716
|
+
lastServiceDate: opt text;
|
|
717
|
+
otherDetails: opt text;
|
|
718
|
+
};
|
|
719
|
+
type DischargeType =
|
|
720
|
+
variant {
|
|
721
|
+
GroundWater;
|
|
722
|
+
SurfaceWater;
|
|
723
|
+
};
|
|
724
|
+
type CompletionCommitments =
|
|
725
|
+
record {
|
|
726
|
+
leaveServiceInfo: TA6Answer;
|
|
727
|
+
removeSellersItems: TA6Answer;
|
|
728
|
+
vacantPossession: TA6Answer;
|
|
729
|
+
};
|
|
730
|
+
type CompanySeller =
|
|
731
|
+
record {
|
|
732
|
+
companyName: text;
|
|
733
|
+
companyNumber: text;
|
|
734
|
+
countryOfIncorporation: text;
|
|
735
|
+
director: text;
|
|
736
|
+
};
|
|
737
|
+
type BoundaryOwnership =
|
|
738
|
+
variant {
|
|
739
|
+
NotKnown;
|
|
740
|
+
OwnedByNeighbour;
|
|
741
|
+
OwnedBySeller;
|
|
742
|
+
Shared;
|
|
743
|
+
};
|
|
744
|
+
type BoundaryFeature =
|
|
745
|
+
record {
|
|
746
|
+
ownership: BoundaryOwnership;
|
|
747
|
+
position: text;
|
|
748
|
+
};
|
|
444
749
|
type BotConnection =
|
|
445
750
|
record {
|
|
446
751
|
addedAt: int;
|
|
@@ -448,6 +753,12 @@ type BotConnection =
|
|
|
448
753
|
name: text;
|
|
449
754
|
"principal": principal;
|
|
450
755
|
};
|
|
756
|
+
type Arrangement =
|
|
757
|
+
record {
|
|
758
|
+
contributionAmount: opt nat;
|
|
759
|
+
description: text;
|
|
760
|
+
document: TA6Document;
|
|
761
|
+
};
|
|
451
762
|
type ApplicationStatusUpdate =
|
|
452
763
|
record {
|
|
453
764
|
applicationReference: text;
|
|
@@ -457,6 +768,19 @@ type ApplicationStatusUpdate =
|
|
|
457
768
|
previousStatus: LandRegistryStatus;
|
|
458
769
|
statusChanged: bool;
|
|
459
770
|
};
|
|
771
|
+
type AlterationTypes =
|
|
772
|
+
record {
|
|
773
|
+
changeOfUse: bool;
|
|
774
|
+
conservatory: bool;
|
|
775
|
+
extension: bool;
|
|
776
|
+
garageConversion: bool;
|
|
777
|
+
internalWallsRemoved: bool;
|
|
778
|
+
loftConversion: bool;
|
|
779
|
+
other: bool;
|
|
780
|
+
otherDetails: opt text;
|
|
781
|
+
structuralRoofWorks: bool;
|
|
782
|
+
windowsPost2002: bool;
|
|
783
|
+
};
|
|
460
784
|
type AMLStatus =
|
|
461
785
|
variant {
|
|
462
786
|
not_started;
|
|
@@ -473,6 +797,7 @@ service : {
|
|
|
473
797
|
(Result);
|
|
474
798
|
assignSolicitorRecord: (transactionId: text, solicitorRecord:
|
|
475
799
|
SolicitorRecord) -> (Result_1);
|
|
800
|
+
backfillTransactionMembers: () -> (Result_20);
|
|
476
801
|
bootstrapDocumentStorageCanister: (canisterId: principal) -> (Result);
|
|
477
802
|
canAccessTransaction: (transactionId: text) -> (bool) query;
|
|
478
803
|
connectBot: (transactionId: text, botPrincipal: principal, botName:
|
|
@@ -492,7 +817,7 @@ service : {
|
|
|
492
817
|
postcode: text, titleNumber: text, seller: principal, previousOwner:
|
|
493
818
|
text, amount: nat64, transactionType: text, userRole: text, propertyType:
|
|
494
819
|
text, propertyCategory: text, mode: text, deposit: nat64, mortgageAmount:
|
|
495
|
-
nat64, completionDate: text) -> (
|
|
820
|
+
nat64, completionDate: text) -> (Result_19);
|
|
496
821
|
deleteTransaction: (transactionId: text) -> (Result);
|
|
497
822
|
disconnectBot: (transactionId: text, botPrincipal: principal) -> (Result_1);
|
|
498
823
|
doesTransactionExist: (transactionId: text) -> (bool) query;
|
|
@@ -501,17 +826,20 @@ service : {
|
|
|
501
826
|
text;
|
|
502
827
|
}) query;
|
|
503
828
|
getAllTransactions: () -> (vec Transaction) query;
|
|
504
|
-
getCurrentPhase: (transactionId: text) -> (
|
|
829
|
+
getCurrentPhase: (transactionId: text) -> (Result_18) query;
|
|
505
830
|
getCycles: () -> (nat) query;
|
|
506
831
|
getDocumentStorageCanister: () -> (opt principal) query;
|
|
507
832
|
getExpiringSearches: (withinDays: nat) -> (vec Transaction) query;
|
|
508
833
|
getFlowState: (transactionId: text) -> (opt text) query;
|
|
509
834
|
getInviteCode: (transactionId: text) -> (Result) query;
|
|
835
|
+
getLandRegistryCanister: () -> (text) query;
|
|
510
836
|
getLandRegistryDetail: (transactionID: text) ->
|
|
511
837
|
(opt LandRegistryIntegration) query;
|
|
838
|
+
getLedgerManagerCanister: () -> (text) query;
|
|
512
839
|
getListingData: (transactionId: text) -> (opt text) query;
|
|
513
840
|
getMyNotifications: () -> (vec Notification) query;
|
|
514
841
|
getMyTransactions: () -> (vec Transaction) query;
|
|
842
|
+
getNextStep: (id: text) -> (Result_17) composite_query;
|
|
515
843
|
getOutstandingRequisitions: () -> (vec record {
|
|
516
844
|
text;
|
|
517
845
|
Requisition;
|
|
@@ -519,6 +847,7 @@ service : {
|
|
|
519
847
|
getPartyProgress: (transactionId: text) -> (Result_16) query;
|
|
520
848
|
getPendingLRApplications: () -> (vec Transaction) query;
|
|
521
849
|
getPhaseMilestones: (transactionId: text) -> (Result_15) query;
|
|
850
|
+
getPropertyRegistryCanister: () -> (text) query;
|
|
522
851
|
getSolicitorStatus: (transactionId: text) -> (Result_14) query;
|
|
523
852
|
getTA10: (txId: text) -> (Result_13) query;
|
|
524
853
|
getTA6: (txId: text) -> (Result_12) query;
|
|
@@ -542,27 +871,83 @@ service : {
|
|
|
542
871
|
(opt TransactionTimeline) query;
|
|
543
872
|
initiate_blockchain_completion: (transactionID: text, buyerFundsHash:
|
|
544
873
|
text, completionStatementHash: text) -> (Result);
|
|
874
|
+
joinAsBotByInviteCode: (inviteCode: text, botName: text) -> (Result_6);
|
|
545
875
|
joinTransactionByInviteCode: (inviteCode: text) -> (Result_6);
|
|
876
|
+
joinTransactionByInviteCodeAsBuyer: (inviteCode: text) -> (Result_6);
|
|
877
|
+
/// Caller-initiated removal from a transaction they joined but didn't
|
|
878
|
+
/// create. Counterpart to `removeParty` (which is seller/admin-driven and
|
|
879
|
+
/// gated against primary parties) — this is the "I want out" path for a
|
|
880
|
+
/// joined buyer or any other access-list member.
|
|
881
|
+
///
|
|
882
|
+
/// Gates:
|
|
883
|
+
/// - Anonymous callers rejected outright.
|
|
884
|
+
/// - Seller / createdBy cannot leave their own transaction (they
|
|
885
|
+
/// dispose via deleteTransaction).
|
|
886
|
+
/// - Caller must currently have access to the transaction.
|
|
887
|
+
/// - Locked after contract exchange (same posture as assignBuyer):
|
|
888
|
+
/// once the deal is signed nobody walks away by toggling a button.
|
|
889
|
+
///
|
|
890
|
+
/// Effects:
|
|
891
|
+
/// - Caller is removed from `accessList`.
|
|
892
|
+
/// - If the caller is the assigned buyer (`txn.buyer == msg.caller`),
|
|
893
|
+
/// the buyer slot is reset to the seller placeholder, matching the
|
|
894
|
+
/// sentinel state that `assignBuyer` checks for. The transaction
|
|
895
|
+
/// re-enters the "Awaiting buyer" state and the invite code is
|
|
896
|
+
/// reusable by a new joiner.
|
|
897
|
+
/// - Audit event `buyer_left` (or `party_left` for non-buyer leavers)
|
|
898
|
+
/// is logged via the existing ledger pattern.
|
|
899
|
+
///
|
|
900
|
+
/// Concurrency: uses the same acquireTxLock/finally releaseTxLock
|
|
901
|
+
/// posture as assignBuyer so a leave can't race against an in-flight
|
|
902
|
+
/// stage write.
|
|
903
|
+
leaveTransaction: (transactionId: text) -> (Result);
|
|
546
904
|
linkTransactionToChain: (myTransactionId: text, buyingTransactionId:
|
|
547
905
|
text) -> (Result_1);
|
|
548
906
|
markAllNotificationsRead: () -> (nat);
|
|
549
907
|
markContractDrafted: (transactionId: text) -> (Result_1);
|
|
550
908
|
markNotificationRead: (notificationId: nat) -> (Result_1);
|
|
551
909
|
markSearchesOrdered: (transactionId: text) -> (Result_1);
|
|
910
|
+
/// Heal developer-plot transactions whose `seller` doesn't match the
|
|
911
|
+
/// org's current developer principal. Two cases this addresses:
|
|
912
|
+
/// 1. Pre-migration txs (seller = buyer placeholder) created before the
|
|
913
|
+
/// developer-on-chain work landed.
|
|
914
|
+
/// 2. Stale-pin txs where the org's pinned principal changed after the
|
|
915
|
+
/// tx was created (e.g. admin password reset → new ICP key, or org
|
|
916
|
+
/// ownership transferred to a different admin).
|
|
917
|
+
///
|
|
918
|
+
/// Idempotent over the target: re-running with the same developerPrincipal
|
|
919
|
+
/// returns an error (already at target), so admin-driven backfill scripts
|
|
920
|
+
/// don't silently re-touch state. Always rejects:
|
|
921
|
+
/// - non-development mode txs
|
|
922
|
+
/// - developerPrincipal == buyer (would break Principal.equal checks)
|
|
923
|
+
/// - anonymous principal
|
|
924
|
+
migrateDevPlotSeller: (transactionId: text, developerPrincipal:
|
|
925
|
+
principal) -> (Result);
|
|
552
926
|
onDocumentRegistered: (transactionId: text, docType: text, documentHash:
|
|
553
927
|
text, uploadedBy: principal) -> ();
|
|
554
928
|
on_blockchain_completion_success: (transactionID: text) -> (Result);
|
|
555
929
|
pollAllPendingApplications: () -> (Result_5);
|
|
556
930
|
pollApplicationStatus: (transactionID: text) -> (Result_4);
|
|
931
|
+
/// Closes #31 (TOCTOU): per-transaction lock blocks concurrent solicitors
|
|
932
|
+
/// from racing to record exchange while canModifyTransaction await is in flight.
|
|
557
933
|
recordContractExchange: (transactionID: text, buyerSolicitorSignature:
|
|
558
934
|
text, sellerSolicitorSignature: text) -> (Result);
|
|
935
|
+
recordConveyancerSelected: (txId: text, conveyancerId: text,
|
|
936
|
+
acceptedQuoteHash: text, finalAmountPence: nat) -> (Result_1);
|
|
559
937
|
recordFormUpload: (txId: text, formType: text, fileHash: text, fileName:
|
|
560
938
|
text) -> (Result_1);
|
|
561
939
|
/// Record a single party's signature on-chain.
|
|
562
940
|
/// The canister identifies the caller as buyer or seller from the transaction principals.
|
|
563
941
|
/// When both parties have signed, the status auto-advances to #exchanged.
|
|
942
|
+
/// Closes #31 (TOCTOU): per-transaction lock blocks concurrent mutation
|
|
943
|
+
/// (buyer + seller racing to sign) while canModifyTransaction await is in flight.
|
|
564
944
|
recordPartySignature: (transactionID: text, signatureHash: text,
|
|
565
945
|
signingRole: text) -> (Result);
|
|
946
|
+
recordQuoteReceived: (txId: text, conveyancerId: text, quoteHash: text,
|
|
947
|
+
quotedAmountPence: nat) -> (Result_1);
|
|
948
|
+
recordQuoteRequested: (txId: text, conveyancerId: text) -> (Result_1);
|
|
949
|
+
/// Closes #31 (TOCTOU): per-transaction lock blocks concurrent mutation
|
|
950
|
+
/// while the isAdmin await is in flight.
|
|
566
951
|
recordRequisition: (transactionID: text, requisition: Requisition) ->
|
|
567
952
|
(Result_1);
|
|
568
953
|
removeParty: (transactionId: text, partyPrincipal: principal) -> (Result_1);
|
|
@@ -571,12 +956,17 @@ service : {
|
|
|
571
956
|
seller;
|
|
572
957
|
}) -> (Result_1);
|
|
573
958
|
requestOfficialSearch: (transactionID: text) -> (Result_3);
|
|
959
|
+
/// Closes #31 (TOCTOU): per-transaction lock blocks concurrent mutation
|
|
960
|
+
/// while canModifyTransaction await is in flight.
|
|
574
961
|
respondToRequisition: (transactionID: text, requisitionId: text,
|
|
575
962
|
responseText: text, _supportingDocumentHashes: vec text) -> (Result_1);
|
|
576
963
|
revokeBuyer: (transactionId: text, buyerPrincipal: principal) -> (Result);
|
|
577
964
|
setDocumentStorageCanister: (canisterId: principal) -> (Result);
|
|
578
965
|
setFlowState: (transactionId: text, jsonData: text) -> (Result);
|
|
966
|
+
setLandRegistryCanister: (canisterId: text) -> (Result);
|
|
967
|
+
setLedgerManagerCanister: (canisterId: text) -> (Result);
|
|
579
968
|
setListingData: (transactionId: text, jsonData: text) -> (Result);
|
|
969
|
+
setPropertyRegistryCanister: (canisterId: text) -> (Result);
|
|
580
970
|
setUserManagementCanister: (canisterId: text) -> (Result);
|
|
581
971
|
trigger_land_registry_submission: (transactionID: text) -> (Result);
|
|
582
972
|
updatePartyAMLDoc: (transactionId: text, partyPrincipal: principal,
|
|
@@ -592,7 +982,8 @@ service : {
|
|
|
592
982
|
updateTA10: (txId: text, data: TA10FittingsAndContents) -> (Result_1);
|
|
593
983
|
updateTA6: (txId: text, data: TA6PropertyInformation) -> (Result_1);
|
|
594
984
|
updateTA7: (txId: text, data: TA7LeaseholdInformation) -> (Result_1);
|
|
595
|
-
|
|
985
|
+
updateTitleNumber: (transactionId: text, newTitleNumber: text) -> (Result);
|
|
986
|
+
updateTransactionStatus: (_transactionId: nat, _newStatus: text) -> (bool);
|
|
596
987
|
update_land_registry_status: (transactionID: text, lrStatus:
|
|
597
988
|
LandRegistryStatus, confirmationNumber: opt text, estimatedCompletionTime:
|
|
598
989
|
opt int) -> (Result);
|