@propxchain/core-client 0.2.1-canary.21 → 0.2.1-canary.22

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.
@@ -1,232 +1,232 @@
1
- type VerificationStatus =
2
- variant {
3
- failed;
4
- pending;
5
- verified;
6
- };
7
- type UserLedgerEntry =
8
- record {
9
- accountID: text;
10
- completedDate: opt Time;
11
- costsSaved: nat;
12
- counterparties: vec Counterparty;
13
- documentStatus: DocumentVerification;
14
- entryID: text;
15
- initiatedDate: Time;
16
- propertyAddress: text;
17
- propertyValue: nat;
18
- roleInTransaction: TransactionRole;
19
- status: TransactionStatus;
20
- transactionID: text;
21
- };
22
- type UserAccount =
23
- record {
24
- accountID: text;
25
- accountType: AccountType;
26
- companyName: opt text;
27
- email: text;
28
- isActive: bool;
29
- name: text;
30
- registrationDate: Time;
31
- taxID: opt text;
32
- };
33
- type TransactionStatus =
34
- variant {
35
- active;
36
- completed;
37
- failed;
38
- pending;
39
- };
40
- type TransactionRole =
41
- variant {
42
- agent;
43
- buyer;
44
- seller;
45
- solicitor;
46
- };
47
- type Time = int;
48
- type TeamPermissions =
49
- record {
50
- canInitiate: bool;
51
- canManageTeam: bool;
52
- canSign: bool;
53
- canViewAnalytics: bool;
54
- };
55
- type TeamMemberRole =
56
- variant {
57
- admin;
58
- manager;
59
- viewer;
60
- };
61
- type Result_2 =
62
- variant {
63
- err: text;
64
- ok: nat;
65
- };
66
- type Result_1 =
67
- variant {
68
- err: text;
69
- ok;
70
- };
71
- type Result =
72
- variant {
73
- err: text;
74
- ok: text;
75
- };
76
- type LandRegistryCostEntry =
77
- record {
78
- apiEndpoint: text;
79
- calledAt: int;
80
- calledBy: principal;
81
- costPence: nat;
82
- description: text;
83
- id: nat;
84
- invoiceReference: opt text;
85
- titleNumber: text;
86
- transactionId: text;
87
- };
88
- type LRCostReport =
89
- record {
90
- avgCostPerTransaction: nat;
91
- byEndpoint: vec record {
92
- text;
93
- nat;
94
- };
95
- entryCount: nat;
96
- totalGBP: text;
97
- totalPence: nat;
98
- };
99
- type DocumentVerification =
100
- record {
101
- landRegistryConfirm: VerificationStatus;
102
- mortgageApproval: VerificationStatus;
103
- propertyDeed: VerificationStatus;
104
- surveyReport: VerificationStatus;
105
- };
106
- type Counterparty =
107
- record {
108
- accountID: text;
109
- name: text;
110
- };
111
- type CompanyTeamMember =
112
- record {
113
- accountID: text;
114
- email: text;
115
- joinDate: Time;
116
- memberID: text;
117
- name: text;
118
- permissions: TeamPermissions;
119
- role: TeamMemberRole;
120
- };
121
- type CompanyLedger =
122
- record {
123
- activeTransactions: nat;
124
- avgCompletionTime: nat;
125
- companyAccountID: text;
126
- completedThisMonth: nat;
127
- costSavings: nat;
128
- teamMemberCount: nat;
129
- totalTransactions: nat;
130
- };
131
- type BudgetStatus =
132
- record {
133
- dailyLimit: nat;
134
- dailyRemaining: nat;
135
- dailySpent: nat;
136
- isOverDailyBudget: bool;
137
- isOverMonthlyBudget: bool;
138
- monthlyLimit: nat;
139
- monthlyRemaining: nat;
140
- monthlySpent: nat;
141
- };
142
- type BlockchainEfficiencyMetrics =
143
- record {
144
- avgBlockchainCompletionDays: nat;
145
- avgBlockchainCost: nat;
146
- avgTraditionalCompletionDays: nat;
147
- avgTraditionalCost: nat;
148
- costReductionPercent: nat;
149
- timeReductionPercent: nat;
150
- totalCostSaved: nat;
151
- totalTimeSavedDays: nat;
152
- transactionsCompleted: nat;
153
- };
154
- type AuditEvent =
155
- record {
156
- caller: principal;
157
- details: text;
158
- eventId: nat;
159
- eventType: text;
160
- metadata: opt text;
161
- timestamp: int;
162
- transactionId: text;
163
- };
164
- type Analytics =
165
- record {
166
- avgCompletionTime: nat;
167
- completedTransactions: nat;
168
- period: text;
169
- totalCostSavings: nat;
170
- totalTransactions: nat;
171
- transactionVolume: nat;
172
- };
173
- type AccountType =
174
- variant {
175
- company;
176
- individual;
177
- };
178
- service : {
179
- addTransactionToLedger: (accountID: text, transactionID: text,
180
- roleInTransaction: TransactionRole, propertyAddress: text, propertyValue:
181
- nat, counterparties: vec Counterparty) -> (bool);
182
- canAffordAPICall: (costPence: nat) -> (bool) query;
183
- clearFailedAuditEvents: () -> ();
184
- createCompanyTeamMember: (companyID: text, name: text, email: text, role:
185
- TeamMemberRole, permissions: TeamPermissions) -> (text);
186
- createUserAccount: (name: text, email: text, accountType: AccountType,
187
- companyName: opt text, taxID: opt text) -> (text);
188
- getAllAuditEvents: () -> (vec AuditEvent) query;
189
- getBlockchainEfficiencyMetrics: (accountID: text) ->
190
- (BlockchainEfficiencyMetrics) query;
191
- getBudgetStatus: () -> (BudgetStatus) query;
192
- getCompanyLedger: (companyAccountID: text) -> (CompanyLedger) query;
193
- getCompanyTeamMembers: (companyAccountID: text) ->
194
- (vec CompanyTeamMember) query;
195
- getCycles: () -> (nat) query;
196
- getDailyLRSpend: () -> (nat) query;
197
- getEventsByTransaction: (transactionId: text) -> (vec AuditEvent) query;
198
- getFailedAuditEvents: () -> (vec AuditEvent) query;
199
- getGlobalBlockchainStats: () -> (BlockchainEfficiencyMetrics) query;
200
- getLRCostReport: (fromDate: int, toDate: int) -> (LRCostReport) query;
201
- getLRCostsForTransaction: (transactionId: text) ->
202
- (vec LandRegistryCostEntry) query;
203
- getLRSpendByEndpoint: (fromDate: int, toDate: int) ->
204
- (vec record {
205
- text;
206
- nat;
207
- }) query;
208
- getLedgerAnalytics: (accountID: text, period: text) -> (Analytics) query;
209
- getMonthlyLRSpend: () -> (nat) query;
210
- getMyAccount: () -> (opt UserAccount) query;
211
- getMyLedger: () -> (vec UserLedgerEntry) query;
212
- getUserAccount: (accountID: text) -> (opt UserAccount) query;
213
- getUserLedger: (accountID: text) -> (vec UserLedgerEntry) query;
214
- logEvent: (transactionId: text, eventType: text, details: text, metadata:
215
- opt text) -> (Result_2);
216
- recordLandRegistryCost: (transactionId: text, apiEndpoint: text, costPence:
217
- nat, titleNumber: text, description: text, invoiceReference: opt text) ->
218
- (Result_2);
219
- setDailyBudget: (limitPence: nat) -> (Result_1);
220
- setDocumentStorageCanister: (canisterId: principal) -> ();
221
- setDocumentVerificationCanister: (canisterId: principal) -> ();
222
- setMonthlyBudget: (limitPence: nat) -> (Result_1);
223
- setPropertyRegistryCanister: (canisterId: principal) -> ();
224
- setTransactionManagerCanister: (canisterId: principal) -> ();
225
- setUserManagementCanister: (canisterId: principal) -> ();
226
- syncTransactionToLedger: (transactionId: nat, userPrincipal: principal) ->
227
- (Result);
228
- updateTeamMemberPermissions: (companyID: text, memberID: text, permissions:
229
- TeamPermissions) -> (bool);
230
- updateTransactionStatus: (transactionID: text, accountID: text, newStatus:
231
- TransactionStatus) -> (bool);
232
- }
1
+ type VerificationStatus =
2
+ variant {
3
+ failed;
4
+ pending;
5
+ verified;
6
+ };
7
+ type UserLedgerEntry =
8
+ record {
9
+ accountID: text;
10
+ completedDate: opt Time;
11
+ costsSaved: nat;
12
+ counterparties: vec Counterparty;
13
+ documentStatus: DocumentVerification;
14
+ entryID: text;
15
+ initiatedDate: Time;
16
+ propertyAddress: text;
17
+ propertyValue: nat;
18
+ roleInTransaction: TransactionRole;
19
+ status: TransactionStatus;
20
+ transactionID: text;
21
+ };
22
+ type UserAccount =
23
+ record {
24
+ accountID: text;
25
+ accountType: AccountType;
26
+ companyName: opt text;
27
+ email: text;
28
+ isActive: bool;
29
+ name: text;
30
+ registrationDate: Time;
31
+ taxID: opt text;
32
+ };
33
+ type TransactionStatus =
34
+ variant {
35
+ active;
36
+ completed;
37
+ failed;
38
+ pending;
39
+ };
40
+ type TransactionRole =
41
+ variant {
42
+ agent;
43
+ buyer;
44
+ seller;
45
+ solicitor;
46
+ };
47
+ type Time = int;
48
+ type TeamPermissions =
49
+ record {
50
+ canInitiate: bool;
51
+ canManageTeam: bool;
52
+ canSign: bool;
53
+ canViewAnalytics: bool;
54
+ };
55
+ type TeamMemberRole =
56
+ variant {
57
+ admin;
58
+ manager;
59
+ viewer;
60
+ };
61
+ type Result_2 =
62
+ variant {
63
+ err: text;
64
+ ok: nat;
65
+ };
66
+ type Result_1 =
67
+ variant {
68
+ err: text;
69
+ ok;
70
+ };
71
+ type Result =
72
+ variant {
73
+ err: text;
74
+ ok: text;
75
+ };
76
+ type LandRegistryCostEntry =
77
+ record {
78
+ apiEndpoint: text;
79
+ calledAt: int;
80
+ calledBy: principal;
81
+ costPence: nat;
82
+ description: text;
83
+ id: nat;
84
+ invoiceReference: opt text;
85
+ titleNumber: text;
86
+ transactionId: text;
87
+ };
88
+ type LRCostReport =
89
+ record {
90
+ avgCostPerTransaction: nat;
91
+ byEndpoint: vec record {
92
+ text;
93
+ nat;
94
+ };
95
+ entryCount: nat;
96
+ totalGBP: text;
97
+ totalPence: nat;
98
+ };
99
+ type DocumentVerification =
100
+ record {
101
+ landRegistryConfirm: VerificationStatus;
102
+ mortgageApproval: VerificationStatus;
103
+ propertyDeed: VerificationStatus;
104
+ surveyReport: VerificationStatus;
105
+ };
106
+ type Counterparty =
107
+ record {
108
+ accountID: text;
109
+ name: text;
110
+ };
111
+ type CompanyTeamMember =
112
+ record {
113
+ accountID: text;
114
+ email: text;
115
+ joinDate: Time;
116
+ memberID: text;
117
+ name: text;
118
+ permissions: TeamPermissions;
119
+ role: TeamMemberRole;
120
+ };
121
+ type CompanyLedger =
122
+ record {
123
+ activeTransactions: nat;
124
+ avgCompletionTime: nat;
125
+ companyAccountID: text;
126
+ completedThisMonth: nat;
127
+ costSavings: nat;
128
+ teamMemberCount: nat;
129
+ totalTransactions: nat;
130
+ };
131
+ type BudgetStatus =
132
+ record {
133
+ dailyLimit: nat;
134
+ dailyRemaining: nat;
135
+ dailySpent: nat;
136
+ isOverDailyBudget: bool;
137
+ isOverMonthlyBudget: bool;
138
+ monthlyLimit: nat;
139
+ monthlyRemaining: nat;
140
+ monthlySpent: nat;
141
+ };
142
+ type BlockchainEfficiencyMetrics =
143
+ record {
144
+ avgBlockchainCompletionDays: nat;
145
+ avgBlockchainCost: nat;
146
+ avgTraditionalCompletionDays: nat;
147
+ avgTraditionalCost: nat;
148
+ costReductionPercent: nat;
149
+ timeReductionPercent: nat;
150
+ totalCostSaved: nat;
151
+ totalTimeSavedDays: nat;
152
+ transactionsCompleted: nat;
153
+ };
154
+ type AuditEvent =
155
+ record {
156
+ caller: principal;
157
+ details: text;
158
+ eventId: nat;
159
+ eventType: text;
160
+ metadata: opt text;
161
+ timestamp: int;
162
+ transactionId: text;
163
+ };
164
+ type Analytics =
165
+ record {
166
+ avgCompletionTime: nat;
167
+ completedTransactions: nat;
168
+ period: text;
169
+ totalCostSavings: nat;
170
+ totalTransactions: nat;
171
+ transactionVolume: nat;
172
+ };
173
+ type AccountType =
174
+ variant {
175
+ company;
176
+ individual;
177
+ };
178
+ service : {
179
+ addTransactionToLedger: (accountID: text, transactionID: text,
180
+ roleInTransaction: TransactionRole, propertyAddress: text, propertyValue:
181
+ nat, counterparties: vec Counterparty) -> (bool);
182
+ canAffordAPICall: (costPence: nat) -> (bool) query;
183
+ clearFailedAuditEvents: () -> ();
184
+ createCompanyTeamMember: (companyID: text, name: text, email: text, role:
185
+ TeamMemberRole, permissions: TeamPermissions) -> (text);
186
+ createUserAccount: (name: text, email: text, accountType: AccountType,
187
+ companyName: opt text, taxID: opt text) -> (text);
188
+ getAllAuditEvents: () -> (vec AuditEvent) query;
189
+ getBlockchainEfficiencyMetrics: (accountID: text) ->
190
+ (BlockchainEfficiencyMetrics) query;
191
+ getBudgetStatus: () -> (BudgetStatus) query;
192
+ getCompanyLedger: (companyAccountID: text) -> (CompanyLedger) query;
193
+ getCompanyTeamMembers: (companyAccountID: text) ->
194
+ (vec CompanyTeamMember) query;
195
+ getCycles: () -> (nat) query;
196
+ getDailyLRSpend: () -> (nat) query;
197
+ getEventsByTransaction: (transactionId: text) -> (vec AuditEvent) query;
198
+ getFailedAuditEvents: () -> (vec AuditEvent) query;
199
+ getGlobalBlockchainStats: () -> (BlockchainEfficiencyMetrics) query;
200
+ getLRCostReport: (fromDate: int, toDate: int) -> (LRCostReport) query;
201
+ getLRCostsForTransaction: (transactionId: text) ->
202
+ (vec LandRegistryCostEntry) query;
203
+ getLRSpendByEndpoint: (fromDate: int, toDate: int) ->
204
+ (vec record {
205
+ text;
206
+ nat;
207
+ }) query;
208
+ getLedgerAnalytics: (accountID: text, period: text) -> (Analytics) query;
209
+ getMonthlyLRSpend: () -> (nat) query;
210
+ getMyAccount: () -> (opt UserAccount) query;
211
+ getMyLedger: () -> (vec UserLedgerEntry) query;
212
+ getUserAccount: (accountID: text) -> (opt UserAccount) query;
213
+ getUserLedger: (accountID: text) -> (vec UserLedgerEntry) query;
214
+ logEvent: (transactionId: text, eventType: text, details: text, metadata:
215
+ opt text) -> (Result_2);
216
+ recordLandRegistryCost: (transactionId: text, apiEndpoint: text, costPence:
217
+ nat, titleNumber: text, description: text, invoiceReference: opt text) ->
218
+ (Result_2);
219
+ setDailyBudget: (limitPence: nat) -> (Result_1);
220
+ setDocumentStorageCanister: (canisterId: principal) -> ();
221
+ setDocumentVerificationCanister: (canisterId: principal) -> ();
222
+ setMonthlyBudget: (limitPence: nat) -> (Result_1);
223
+ setPropertyRegistryCanister: (canisterId: principal) -> ();
224
+ setTransactionManagerCanister: (canisterId: principal) -> ();
225
+ setUserManagementCanister: (canisterId: principal) -> ();
226
+ syncTransactionToLedger: (transactionId: nat, userPrincipal: principal) ->
227
+ (Result);
228
+ updateTeamMemberPermissions: (companyID: text, memberID: text, permissions:
229
+ TeamPermissions) -> (bool);
230
+ updateTransactionStatus: (transactionID: text, accountID: text, newStatus:
231
+ TransactionStatus) -> (bool);
232
+ }