@fairmint/canton-fairmint-sdk 0.0.23 → 0.0.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 (41) hide show
  1. package/dist/clients/postgres-db-api/fairmint-db/app-markers.d.ts +26 -0
  2. package/dist/clients/postgres-db-api/fairmint-db/app-markers.d.ts.map +1 -0
  3. package/dist/clients/postgres-db-api/fairmint-db/app-markers.js +219 -0
  4. package/dist/clients/postgres-db-api/fairmint-db/app-markers.js.map +1 -0
  5. package/dist/clients/postgres-db-api/fairmint-db/base.d.ts +30 -0
  6. package/dist/clients/postgres-db-api/fairmint-db/base.d.ts.map +1 -0
  7. package/dist/clients/postgres-db-api/fairmint-db/base.js +208 -0
  8. package/dist/clients/postgres-db-api/fairmint-db/base.js.map +1 -0
  9. package/dist/clients/postgres-db-api/fairmint-db/index.d.ts +9 -0
  10. package/dist/clients/postgres-db-api/fairmint-db/index.d.ts.map +1 -0
  11. package/dist/clients/postgres-db-api/fairmint-db/index.js +21 -0
  12. package/dist/clients/postgres-db-api/fairmint-db/index.js.map +1 -0
  13. package/dist/clients/postgres-db-api/fairmint-db/ocf-deployments.d.ts +95 -0
  14. package/dist/clients/postgres-db-api/fairmint-db/ocf-deployments.d.ts.map +1 -0
  15. package/dist/clients/postgres-db-api/fairmint-db/ocf-deployments.js +592 -0
  16. package/dist/clients/postgres-db-api/fairmint-db/ocf-deployments.js.map +1 -0
  17. package/dist/clients/postgres-db-api/fairmint-db/parties.d.ts +26 -0
  18. package/dist/clients/postgres-db-api/fairmint-db/parties.d.ts.map +1 -0
  19. package/dist/clients/postgres-db-api/fairmint-db/parties.js +190 -0
  20. package/dist/clients/postgres-db-api/fairmint-db/parties.js.map +1 -0
  21. package/dist/clients/postgres-db-api/fairmint-db/reward-coupons.d.ts +41 -0
  22. package/dist/clients/postgres-db-api/fairmint-db/reward-coupons.d.ts.map +1 -0
  23. package/dist/clients/postgres-db-api/fairmint-db/reward-coupons.js +467 -0
  24. package/dist/clients/postgres-db-api/fairmint-db/reward-coupons.js.map +1 -0
  25. package/dist/clients/postgres-db-api/fairmint-db/time-series.d.ts +48 -0
  26. package/dist/clients/postgres-db-api/fairmint-db/time-series.d.ts.map +1 -0
  27. package/dist/clients/postgres-db-api/fairmint-db/time-series.js +419 -0
  28. package/dist/clients/postgres-db-api/fairmint-db/time-series.js.map +1 -0
  29. package/dist/clients/postgres-db-api/fairmint-db/transfers.d.ts +25 -0
  30. package/dist/clients/postgres-db-api/fairmint-db/transfers.d.ts.map +1 -0
  31. package/dist/clients/postgres-db-api/fairmint-db/transfers.js +206 -0
  32. package/dist/clients/postgres-db-api/fairmint-db/transfers.js.map +1 -0
  33. package/dist/clients/postgres-db-api/fairmint-db/valuation-reports.d.ts +11 -0
  34. package/dist/clients/postgres-db-api/fairmint-db/valuation-reports.d.ts.map +1 -0
  35. package/dist/clients/postgres-db-api/fairmint-db/valuation-reports.js +54 -0
  36. package/dist/clients/postgres-db-api/fairmint-db/valuation-reports.js.map +1 -0
  37. package/dist/clients/postgres-db-api/fairmintDbClient.d.ts +87 -132
  38. package/dist/clients/postgres-db-api/fairmintDbClient.d.ts.map +1 -1
  39. package/dist/clients/postgres-db-api/fairmintDbClient.js +183 -2973
  40. package/dist/clients/postgres-db-api/fairmintDbClient.js.map +1 -1
  41. package/package.json +1 -1
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PartiesRepository = void 0;
4
+ const base_1 = require("./base");
5
+ /**
6
+ * Repository for Canton Party operations.
7
+ */
8
+ class PartiesRepository extends base_1.BaseRepository {
9
+ constructor(pool, config, network, transfersRepo) {
10
+ super(pool, config, network);
11
+ this.transfersRepo = transfersRepo;
12
+ }
13
+ async insertCantonParty(party) {
14
+ const query = `
15
+ INSERT INTO canton_parties (
16
+ party_id, portal_id, provider, last_payment_until, is_active_customer_since
17
+ ) VALUES ($1, $2, $3, $4, $5)
18
+ RETURNING *
19
+ `;
20
+ const values = [
21
+ party.party_id,
22
+ party.portal_id,
23
+ party.provider,
24
+ party.last_payment_until,
25
+ party.is_active_customer_since,
26
+ ];
27
+ const result = await this.pool.query(query, values);
28
+ return this.mapPartyFromDb(result.rows[0]);
29
+ }
30
+ async getCantonParty(id) {
31
+ const query = `
32
+ SELECT
33
+ cp.*,
34
+ p.company
35
+ FROM canton_parties cp
36
+ LEFT JOIN portal p ON cp.portal_id = p.id
37
+ WHERE cp.id = $1
38
+ `;
39
+ const result = await this.pool.query(query, [id]);
40
+ return result.rows.length > 0 ? this.mapPartyFromDb(result.rows[0]) : null;
41
+ }
42
+ async getCantonPartyByPartyId(partyId) {
43
+ const query = `
44
+ SELECT
45
+ cp.*,
46
+ p.company
47
+ FROM canton_parties cp
48
+ LEFT JOIN portal p ON cp.portal_id = p.id
49
+ WHERE cp.party_id = $1
50
+ `;
51
+ const result = await this.pool.query(query, [partyId]);
52
+ return result.rows.length > 0 ? this.mapPartyFromDb(result.rows[0]) : null;
53
+ }
54
+ async updateCantonParty(id, updates) {
55
+ const setClauses = [];
56
+ const values = [];
57
+ let paramIndex = 1;
58
+ // Build dynamic update query - exclude amulets field
59
+ Object.entries(updates).forEach(([key, value]) => {
60
+ if (key !== 'id' && key !== 'created_at' && key !== 'amulets') {
61
+ setClauses.push(`${this.toSnakeCase(key)} = $${paramIndex}`);
62
+ values.push(value);
63
+ paramIndex++;
64
+ }
65
+ });
66
+ if (setClauses.length === 0) {
67
+ throw new Error('No valid fields to update');
68
+ }
69
+ values.push(id);
70
+ const query = `
71
+ UPDATE canton_parties
72
+ SET ${setClauses.join(', ')}, updated_at = NOW()
73
+ WHERE id = $${paramIndex}
74
+ RETURNING id
75
+ `;
76
+ const result = await this.pool.query(query, values);
77
+ if (result.rows.length > 0) {
78
+ return this.getCantonParty(id);
79
+ }
80
+ return null;
81
+ }
82
+ async updateCantonPartyByPartyId(partyId, updates) {
83
+ const setClauses = [];
84
+ const values = [];
85
+ let paramIndex = 1;
86
+ // Build dynamic update query - exclude amulets field
87
+ Object.entries(updates).forEach(([key, value]) => {
88
+ if (key !== 'id' && key !== 'created_at' && key !== 'amulets') {
89
+ setClauses.push(`${this.toSnakeCase(key)} = $${paramIndex}`);
90
+ values.push(value);
91
+ paramIndex++;
92
+ }
93
+ });
94
+ if (setClauses.length === 0) {
95
+ throw new Error('No valid fields to update');
96
+ }
97
+ values.push(partyId);
98
+ const query = `
99
+ UPDATE canton_parties
100
+ SET ${setClauses.join(', ')}, updated_at = NOW()
101
+ WHERE party_id = $${paramIndex}
102
+ RETURNING party_id
103
+ `;
104
+ const result = await this.pool.query(query, values);
105
+ if (result.rows.length > 0) {
106
+ return this.getCantonPartyByPartyId(partyId);
107
+ }
108
+ return null;
109
+ }
110
+ async getActiveCustomersWithExpiredPayment() {
111
+ const query = `
112
+ SELECT
113
+ cp.*,
114
+ p.company
115
+ FROM canton_parties cp
116
+ LEFT JOIN portal p ON cp.portal_id = p.id
117
+ WHERE cp.is_active_customer_since IS NOT NULL
118
+ AND (cp.last_payment_until IS NULL OR cp.last_payment_until < NOW())
119
+ ORDER BY cp.last_payment_until ASC NULLS FIRST
120
+ `;
121
+ const result = await this.pool.query(query);
122
+ return result.rows.map(row => this.mapPartyFromDb(row));
123
+ }
124
+ async getAllParties(provider) {
125
+ let query = `
126
+ SELECT
127
+ cp.*,
128
+ p.company
129
+ FROM canton_parties cp
130
+ INNER JOIN portal p ON cp.portal_id = p.id
131
+ `;
132
+ const values = [];
133
+ if (provider) {
134
+ // Handle 5n-broker case since database enum doesn't support it yet
135
+ if (provider === '5n-broker') {
136
+ // For now, return empty array since 5n-broker parties aren't in the database yet
137
+ return [];
138
+ }
139
+ query += ` WHERE cp.provider = $1`;
140
+ values.push(provider);
141
+ }
142
+ query += ` ORDER BY cp.created_at ASC`;
143
+ const result = await this.pool.query(query, values);
144
+ const parties = result.rows.map(row => this.mapPartyFromDb(row));
145
+ // Get payment statistics for all parties
146
+ const partyIds = parties.map(party => party.party_id);
147
+ const paymentStats = await this.transfersRepo.getLifetimePaymentStatisticsForParties(partyIds);
148
+ // Merge payment statistics with party data
149
+ return parties.map(party => {
150
+ const stats = paymentStats.get(party.party_id);
151
+ return {
152
+ ...party,
153
+ payment_count: stats?.paymentCount ?? 0,
154
+ total_value_sent: stats?.totalValueSent ?? 0,
155
+ total_fees_paid: stats?.totalFeesPaid ?? 0,
156
+ };
157
+ });
158
+ }
159
+ async getPortalsNeedingCantonParties() {
160
+ const query = `
161
+ SELECT DISTINCT
162
+ p.id as portal_id,
163
+ p.company,
164
+ (
165
+ SELECT json_build_object(
166
+ 'wallet_address', u.wallet_address,
167
+ 'user_id', u.id
168
+ )
169
+ FROM portal_role pr
170
+ JOIN "user" u ON pr.user_id = u.id
171
+ WHERE pr.portal_id = p.id
172
+ AND pr.role = 'owner'
173
+ AND u.wallet_address IS NOT NULL
174
+ LIMIT 1
175
+ ) as owner
176
+ FROM portal p
177
+ JOIN latest_ocf_objects loo ON p.id = loo.portal_id
178
+ WHERE loo.type = 'ISSUER'
179
+ AND NOT EXISTS (
180
+ SELECT 1 FROM canton_parties cp
181
+ WHERE cp.portal_id = p.id
182
+ )
183
+ ORDER BY p.id
184
+ `;
185
+ const result = await this.pool.query(query);
186
+ return result.rows;
187
+ }
188
+ }
189
+ exports.PartiesRepository = PartiesRepository;
190
+ //# sourceMappingURL=parties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parties.js","sourceRoot":"","sources":["../../../../src/clients/postgres-db-api/fairmint-db/parties.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { BaseRepository } from './base';
2
+ import { type AppRewardCouponStatus, type CantonAppRewardCoupon, type GetRewardCouponOptions, type GetRewardCouponsOptions, type RewardCouponWithTransfer } from '../types';
3
+ /**
4
+ * Repository for Canton App Reward Coupon operations.
5
+ */
6
+ export declare class RewardCouponsRepository extends BaseRepository {
7
+ insertCantonAppRewardCoupon(coupon: CantonAppRewardCoupon): Promise<CantonAppRewardCoupon>;
8
+ batchInsertCantonAppRewardCoupons(coupons: CantonAppRewardCoupon[]): Promise<{
9
+ insertedCount: number;
10
+ skippedCount: number;
11
+ }>;
12
+ upsertCantonAppRewardCouponWithStatus(coupon: CantonAppRewardCoupon): Promise<CantonAppRewardCoupon>;
13
+ getCantonAppRewardCoupon(id: number): Promise<CantonAppRewardCoupon | null>;
14
+ getCantonAppRewardCouponByContractId(contractId: string): Promise<CantonAppRewardCoupon | null>;
15
+ getCantonAppRewardCouponsByContractIds(contractIds: string[]): Promise<CantonAppRewardCoupon[]>;
16
+ getCantonAppRewardCouponsByStatus(status: AppRewardCouponStatus, limit?: number, sortOrder?: 'ASC' | 'DESC', beneficiaryPartyId?: string): Promise<CantonAppRewardCoupon[]>;
17
+ countCantonAppRewardCouponsByStatus(status: AppRewardCouponStatus): Promise<number>;
18
+ getOldestCreatedCantonAppRewardCoupons(limit?: number): Promise<CantonAppRewardCoupon[]>;
19
+ getCantonAppRewardCouponsByDateRange(startDate: Date, endDate: Date, status?: AppRewardCouponStatus, limit?: number, sortOrder?: 'ASC' | 'DESC'): Promise<CantonAppRewardCoupon[]>;
20
+ updateCantonAppRewardCoupon(id: number, updates: Partial<CantonAppRewardCoupon>): Promise<CantonAppRewardCoupon | null>;
21
+ batchUpdateCantonAppRewardCouponsByContractIds(contractIds: string[], updates: Partial<CantonAppRewardCoupon>): Promise<CantonAppRewardCoupon[]>;
22
+ getRewardCoupons(options?: GetRewardCouponsOptions): Promise<RewardCouponWithTransfer[]>;
23
+ getRewardCoupon(options: GetRewardCouponOptions): Promise<RewardCouponWithTransfer | null>;
24
+ getMonthlyAppRewardAmountTotal(monthStart: Date, monthEnd: Date): Promise<number>;
25
+ getLatestCouponAmounts(): Promise<{
26
+ featuredAmount: number;
27
+ unfeaturedAmount: number;
28
+ }>;
29
+ getLastAppRewardCouponTimestamp(partyFilter?: string): Promise<Date | null>;
30
+ getLifetimeAppRewards(): Promise<number>;
31
+ getUniqueCouponBeneficiaryParties(): Promise<Array<{
32
+ party_id: string;
33
+ coupon_count: number;
34
+ }>>;
35
+ getHistoricalIssuanceRates(roundNumbers: number[]): Promise<Array<{
36
+ roundNumber: number;
37
+ issuancePerFeaturedAppRewardCoupon: number;
38
+ issuancePerUnfeaturedAppRewardCoupon: number;
39
+ }>>;
40
+ }
41
+ //# sourceMappingURL=reward-coupons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reward-coupons.d.ts","sourceRoot":"","sources":["../../../../src/clients/postgres-db-api/fairmint-db/reward-coupons.ts"],"names":[],"mappings":"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"}