@huma-finance/sdk 0.0.41 → 0.0.42-beta.100

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,6 +1,7 @@
1
1
  import { TransactionResponse, Web3Provider } from '@ethersproject/providers';
2
2
  import { BigNumberish, ethers, Overrides } from 'ethers';
3
3
  import { POOL_NAME, POOL_TYPE, RealWorldReceivableInfo } from '@huma-finance/shared';
4
+ import { Pagination } from './SubgraphService';
4
5
  /**
5
6
  * Fetches the tokenId of a RealWorldReceivable, or null if it doesn't exist, given a metadata URI
6
7
  *
@@ -123,9 +124,23 @@ declare function createReceivableWithMetadata(signerOrProvider: Web3Provider | e
123
124
  * @param {string} owner - The receivable token owner to query from.
124
125
  * @param {POOL_NAME} poolName - The pool name. Used to lookup the pool address to pay to.
125
126
  * @param {POOL_TYPE} poolType - The pool type. Used to lookup the pool address to pay to.
127
+ * @param {Pagination} pagination - The pagination option.
126
128
  * @returns {Promise<RealWorldReceivableInfo[]>} - An array of receivables owned by the owner for the pool.
127
129
  */
128
- declare function loadReceivablesOfOwnerWithMetadata<T>(signerOrProvider: Web3Provider | ethers.Signer, owner: string, poolName: POOL_NAME, poolType: POOL_TYPE): Promise<RealWorldReceivableInfo<T>[]>;
130
+ declare function loadReceivablesOfOwnerWithMetadata<T>(signerOrProvider: Web3Provider | ethers.Signer, owner: string, poolName: POOL_NAME, poolType: POOL_TYPE, pagination?: Pagination): Promise<RealWorldReceivableInfo<T>[]>;
131
+ /**
132
+ * Get the total count of all RWRs belonging to the specified owner
133
+ *
134
+ * @async
135
+ * @function
136
+ * @memberof ReceivableService
137
+ * @param {Web3Provider | ethers.Signer} signerOrProvider - If calling this function from a browser, this function expects a Web3Provider.
138
+ * If calling this function from a server, this function expects an ethers Signer. Note that privateKey only needs to be included
139
+ * from server calls.
140
+ * @param {string} owner - The receivable token owner to query from.
141
+ * @returns {Promise<number>} - Total count of receivables owned by the owner for the pool.
142
+ */
143
+ declare function getTotalCountOfReceivables(signerOrProvider: Web3Provider | ethers.Signer, owner: string): Promise<number>;
129
144
  /**
130
145
  * An object that contains functions to interact with Huma's receivables.
131
146
  * @namespace ReceivableService
@@ -136,6 +151,7 @@ export declare const ReceivableService: {
136
151
  declareReceivablePaymentByTokenId: typeof declareReceivablePaymentByTokenId;
137
152
  declareReceivablePaymentByReferenceId: typeof declareReceivablePaymentByReferenceId;
138
153
  loadReceivablesOfOwnerWithMetadata: typeof loadReceivablesOfOwnerWithMetadata;
154
+ getTotalCountOfReceivables: typeof getTotalCountOfReceivables;
139
155
  uploadOrFetchMetadataURI: typeof uploadOrFetchMetadataURI;
140
156
  getTokenIdByURI: typeof getTokenIdByURI;
141
157
  };
@@ -8,6 +8,7 @@ const graphql_request_1 = require("graphql-request");
8
8
  const ARWeaveService_1 = require("./ARWeaveService");
9
9
  const helpers_1 = require("../helpers");
10
10
  const utils_1 = require("../utils");
11
+ const SubgraphService_1 = require("./SubgraphService");
11
12
  /**
12
13
  * Fetches the tokenId of a RealWorldReceivable, or null if it doesn't exist, given a metadata URI
13
14
  *
@@ -264,10 +265,10 @@ async function createReceivableWithMetadata(signerOrProvider, privateKey, chainI
264
265
  * @param {string} owner - The receivable token owner to query from.
265
266
  * @param {POOL_NAME} poolName - The pool name. Used to lookup the pool address to pay to.
266
267
  * @param {POOL_TYPE} poolType - The pool type. Used to lookup the pool address to pay to.
268
+ * @param {Pagination} pagination - The pagination option.
267
269
  * @returns {Promise<RealWorldReceivableInfo[]>} - An array of receivables owned by the owner for the pool.
268
270
  */
269
- async function loadReceivablesOfOwnerWithMetadata(signerOrProvider, owner, poolName, poolType) {
270
- var _a, _b;
271
+ async function loadReceivablesOfOwnerWithMetadata(signerOrProvider, owner, poolName, poolType, pagination) {
271
272
  if (!ethers_1.ethers.utils.isAddress(owner)) {
272
273
  throw new Error('Invalid owner address');
273
274
  }
@@ -275,44 +276,37 @@ async function loadReceivablesOfOwnerWithMetadata(signerOrProvider, owner, poolN
275
276
  if (!chainId) {
276
277
  throw new Error('No Chain Id found');
277
278
  }
278
- const poolInfo = chainId
279
- ? (_b = (_a = shared_1.PoolContractMap[chainId]) === null || _a === void 0 ? void 0 : _a[poolType]) === null || _b === void 0 ? void 0 : _b[poolName]
280
- : undefined;
281
- if (!poolInfo) {
282
- throw new Error('RealWorldReceivable is not available on this network');
279
+ const rwReceivablesBase = await SubgraphService_1.SubgraphService.getRWReceivableInfo(owner, chainId, poolName, poolType, pagination);
280
+ const fetchMetadata = async (rwrInfoBase) => ARWeaveService_1.ARWeaveService.fetchMetadataFromUrl(rwrInfoBase.tokenURI);
281
+ const metadatas = await Promise.all(rwReceivablesBase.map(fetchMetadata));
282
+ return rwReceivablesBase.map((rwrInfoBase, index) => (Object.assign(Object.assign({}, rwrInfoBase), { metadata: metadatas[index] })));
283
+ }
284
+ /**
285
+ * Get the total count of all RWRs belonging to the specified owner
286
+ *
287
+ * @async
288
+ * @function
289
+ * @memberof ReceivableService
290
+ * @param {Web3Provider | ethers.Signer} signerOrProvider - If calling this function from a browser, this function expects a Web3Provider.
291
+ * If calling this function from a server, this function expects an ethers Signer. Note that privateKey only needs to be included
292
+ * from server calls.
293
+ * @param {string} owner - The receivable token owner to query from.
294
+ * @returns {Promise<number>} - Total count of receivables owned by the owner for the pool.
295
+ */
296
+ async function getTotalCountOfReceivables(signerOrProvider, owner) {
297
+ if (!ethers_1.ethers.utils.isAddress(owner)) {
298
+ throw new Error('Invalid owner address');
299
+ }
300
+ const chainId = await (0, utils_1.getChainIdFromSignerOrProvider)(signerOrProvider);
301
+ if (!chainId) {
302
+ throw new Error('No Chain Id found');
283
303
  }
284
304
  const rwrContract = (0, helpers_1.getRealWorldReceivableContract)(signerOrProvider, chainId);
285
305
  if (!rwrContract) {
286
306
  throw new Error('Could not find RealWorldReceivable contract');
287
307
  }
288
- // Load all receivables of owner
289
308
  const balance = await rwrContract.balanceOf(owner);
290
- // Create empty array with length of balance
291
- const tokens = Array.from(Array(balance.toNumber()));
292
- const fetchPromises = tokens.map(async (_, tokenIndex) => {
293
- const tokenId = await rwrContract.tokenOfOwnerByIndex(owner, tokenIndex);
294
- const rwrInfo = await rwrContract.rwrInfoMapping(tokenId);
295
- // If a RWR uploaded by an owner is not for this specific pool, skip it
296
- if (rwrInfo.poolAddress.toLowerCase() !== poolInfo.pool.toLowerCase()) {
297
- return undefined;
298
- }
299
- const tokenURI = await rwrContract.tokenURI(tokenId);
300
- const metadata = await ARWeaveService_1.ARWeaveService.fetchMetadataFromUrl(tokenURI);
301
- return {
302
- tokenId,
303
- poolAddress: rwrInfo.poolAddress,
304
- receivableAmount: rwrInfo.receivableAmount,
305
- paidAmount: rwrInfo.paidAmount,
306
- creationDate: rwrInfo.creationDate,
307
- maturityDate: rwrInfo.maturityDate,
308
- currencyCode: rwrInfo.currencyCode,
309
- tokenURI,
310
- metadata,
311
- };
312
- });
313
- const tokenData = await Promise.all(fetchPromises);
314
- // Filter undefined
315
- return tokenData.filter((token) => token !== undefined);
309
+ return balance.toNumber();
316
310
  }
317
311
  /**
318
312
  * An object that contains functions to interact with Huma's receivables.
@@ -324,6 +318,7 @@ exports.ReceivableService = {
324
318
  declareReceivablePaymentByTokenId,
325
319
  declareReceivablePaymentByReferenceId,
326
320
  loadReceivablesOfOwnerWithMetadata,
321
+ getTotalCountOfReceivables,
327
322
  uploadOrFetchMetadataURI,
328
323
  getTokenIdByURI,
329
324
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReceivableService.js","sourceRoot":"","sources":["../../../src/services/ReceivableService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReceivableService.js","sourceRoot":"","sources":["../../../src/services/ReceivableService.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,4 @@
1
- import { POOL_NAME, POOL_TYPE } from '@huma-finance/shared';
2
- /**
3
- * Returns the subgraph URL for a given chain ID.
4
- *
5
- * @memberof SubgraphService
6
- * @param {number} chainId - The ID of the chain.
7
- * @returns {string} The subgraph URL for the given chain ID.
8
- */
9
- declare function getSubgraphUrlForChainId(chainId: number): string;
1
+ import { POOL_NAME, POOL_TYPE, RealWorldReceivableInfoBase } from '@huma-finance/shared';
10
2
  /**
11
3
  * Represents the payload of a credit event.
12
4
  * @typedef {Object} CreditEventPayload
@@ -18,6 +10,24 @@ export type CreditEventPayload = {
18
10
  pool?: string;
19
11
  event?: string;
20
12
  };
13
+ /**
14
+ * Represents the pagination options for a query.
15
+ * @typedef {Object} Pagination
16
+ */
17
+ export type Pagination = {
18
+ first: number | null;
19
+ skip: number | null;
20
+ orderBy: string;
21
+ orderDirection: 'desc' | 'asc';
22
+ };
23
+ /**
24
+ * Returns the subgraph URL for a given chain ID.
25
+ *
26
+ * @memberof SubgraphService
27
+ * @param {number} chainId - The ID of the chain.
28
+ * @returns {string} The subgraph URL for the given chain ID.
29
+ */
30
+ declare function getSubgraphUrlForChainId(chainId: number): string;
21
31
  /**
22
32
  * Returns the credit events for a given user.
23
33
  *
@@ -41,6 +51,18 @@ declare function getCreditEventsForUser(userAddress: string, chainId: number, po
41
51
  * @returns {Promise<number>} The last factorized amount for the given user and pool.
42
52
  */
43
53
  declare function getLastFactorizedAmountFromPool(userAddress: string, chainId: number, poolName: POOL_NAME, poolType: POOL_TYPE): Promise<number>;
54
+ /**
55
+ * Returns the paginated real world receivables' info.
56
+ *
57
+ * @memberof SubgraphService
58
+ * @param {string} userAddress - The address of the user.
59
+ * @param {number} chainId - The ID of the chain.
60
+ * @param {POOL_NAME} poolName - The name of the pool.
61
+ * @param {POOL_TYPE} poolType - The type of the pool.
62
+ * @param {Pagination} pagination - The pagination option.
63
+ * @returns {Promise<RealWorldReceivableInfoBase>} The paginated real world receivables' info.
64
+ */
65
+ declare function getRWReceivableInfo(userAddress: string, chainId: number, poolName: POOL_NAME, poolType: POOL_TYPE, pagination?: Pagination): Promise<RealWorldReceivableInfoBase[]>;
44
66
  /**
45
67
  * An object that contains functions to interact with Huma's Subgraph storage.
46
68
  * @namespace SubgraphService
@@ -49,5 +71,6 @@ export declare const SubgraphService: {
49
71
  getSubgraphUrlForChainId: typeof getSubgraphUrlForChainId;
50
72
  getCreditEventsForUser: typeof getCreditEventsForUser;
51
73
  getLastFactorizedAmountFromPool: typeof getLastFactorizedAmountFromPool;
74
+ getRWReceivableInfo: typeof getRWReceivableInfo;
52
75
  };
53
76
  export {};
@@ -10,16 +10,8 @@ const shared_1 = require("@huma-finance/shared");
10
10
  * @returns {string} The subgraph URL for the given chain ID.
11
11
  */
12
12
  function getSubgraphUrlForChainId(chainId) {
13
- switch (chainId) {
14
- case 5:
15
- return 'https://api.thegraph.com/subgraphs/name/00labs/huma-goerli';
16
- case 137:
17
- return 'https://api.thegraph.com/subgraphs/name/00labs/huma-polygon';
18
- case 80001:
19
- return 'https://api.thegraph.com/subgraphs/name/00labs/huma-mumbai';
20
- default:
21
- return '';
22
- }
13
+ var _a, _b;
14
+ return (_b = (_a = shared_1.PoolSubgraphMap[chainId]) === null || _a === void 0 ? void 0 : _a.subgraph) !== null && _b !== void 0 ? _b : '';
23
15
  }
24
16
  /**
25
17
  * Returns the credit events for a given user.
@@ -82,6 +74,68 @@ function getLastFactorizedAmountFromPool(userAddress, chainId, poolName, poolTyp
82
74
  shared_1.CreditEvent.DrawdownMadeWithReceivable,
83
75
  ]).then((events) => Number(events[0].amount));
84
76
  }
77
+ /**
78
+ * Returns the paginated real world receivables' info.
79
+ *
80
+ * @memberof SubgraphService
81
+ * @param {string} userAddress - The address of the user.
82
+ * @param {number} chainId - The ID of the chain.
83
+ * @param {POOL_NAME} poolName - The name of the pool.
84
+ * @param {POOL_TYPE} poolType - The type of the pool.
85
+ * @param {Pagination} pagination - The pagination option.
86
+ * @returns {Promise<RealWorldReceivableInfoBase>} The paginated real world receivables' info.
87
+ */
88
+ function getRWReceivableInfo(userAddress, chainId, poolName, poolType, pagination = {
89
+ first: null,
90
+ skip: null,
91
+ orderBy: 'tokenId',
92
+ orderDirection: 'desc',
93
+ }) {
94
+ var _a, _b, _c, _d;
95
+ const url = (_a = shared_1.PoolSubgraphMap[chainId]) === null || _a === void 0 ? void 0 : _a.receivablesSubgraph;
96
+ if (!url) {
97
+ return Promise.resolve([]);
98
+ }
99
+ const poolAddress = (_d = (_c = (_b = shared_1.PoolContractMap[chainId]) === null || _b === void 0 ? void 0 : _b[poolType]) === null || _c === void 0 ? void 0 : _c[poolName]) === null || _d === void 0 ? void 0 : _d.pool;
100
+ const RWReceivablesQuery = `
101
+ query {
102
+ rwreceivables(
103
+ where: {
104
+ owner: "${userAddress}",
105
+ pool: "${poolAddress}",
106
+ }
107
+ first: ${pagination.first}
108
+ skip: ${pagination.skip}
109
+ orderBy: "${pagination.orderBy}"
110
+ orderDirection: "${pagination.orderDirection}"
111
+ ) {
112
+ id
113
+ tokenId
114
+ receivableAmount
115
+ paidAmount
116
+ owner
117
+ pool
118
+ maturityDate
119
+ currencyCode
120
+ tokenUri
121
+ status
122
+ }
123
+ }
124
+ `;
125
+ return (0, shared_1.requestPost)(url, JSON.stringify({ query: RWReceivablesQuery }), {
126
+ withCredentials: false,
127
+ }).then((res) => {
128
+ if (res.errors) {
129
+ console.error(res.errors);
130
+ return [];
131
+ }
132
+ return res.data.rwreceivables.map((item) => {
133
+ item.poolAddress = item.pool;
134
+ item.tokenURI = item.tokenUri;
135
+ return item;
136
+ });
137
+ });
138
+ }
85
139
  /**
86
140
  * An object that contains functions to interact with Huma's Subgraph storage.
87
141
  * @namespace SubgraphService
@@ -90,5 +144,6 @@ exports.SubgraphService = {
90
144
  getSubgraphUrlForChainId,
91
145
  getCreditEventsForUser,
92
146
  getLastFactorizedAmountFromPool,
147
+ getRWReceivableInfo,
93
148
  };
94
149
  //# sourceMappingURL=SubgraphService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubgraphService.js","sourceRoot":"","sources":["../../../src/services/SubgraphService.ts"],"names":[],"mappings":";;;AAAA,iDAM6B;AAE7B;;;;;;GAMG;AACH,SAAS,wBAAwB,CAAC,OAAe;IAC/C,QAAQ,OAAO,EAAE;QACf,KAAK,CAAC;YACJ,OAAO,4DAA4D,CAAA;QACrE,KAAK,GAAG;YACN,OAAO,6DAA6D,CAAA;QACtE,KAAK,KAAK;YACR,OAAO,4DAA4D,CAAA;QACrE;YACE,OAAO,EAAE,CAAA;KACZ;AACH,CAAC;AAcD;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAC7B,WAAmB,EACnB,OAAe,EACf,QAAmB,EACnB,QAAmB,EACnB,KAAe;;IAEf,MAAM,GAAG,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;KAC3B;IAED,MAAM,WAAW,GAAG,MAAA,MAAA,MAAA,wBAAe,CAAC,OAAO,CAAC,0CAAG,QAAQ,CAAC,0CAAG,QAAQ,CAAC,0CAAE,IAAI,CAAA;IAE1E,MAAM,KAAK,GAAG;;;;oBAII,WAAW;mBACZ,WAAW;uBACP,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;GAYnC,CAAA;IAED,8DAA8D;IAC9D,OAAO,IAAA,oBAAW,EAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;QACnE,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzB,OAAO,EAAE,CAAA;SACV;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,+BAA+B,CACtC,WAAmB,EACnB,OAAe,EACf,QAAmB,EACnB,QAAmB;IAEnB,OAAO,sBAAsB,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACtE,oBAAW,CAAC,0BAA0B;KACvC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED;;;GAGG;AACU,QAAA,eAAe,GAAG;IAC7B,wBAAwB;IACxB,sBAAsB;IACtB,+BAA+B;CAChC,CAAA"}
1
+ {"version":3,"file":"SubgraphService.js","sourceRoot":"","sources":["../../../src/services/SubgraphService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { TransactionResponse, Web3Provider } from '@ethersproject/providers';
2
2
  import { BigNumberish, ethers, Overrides } from 'ethers';
3
3
  import { POOL_NAME, POOL_TYPE, RealWorldReceivableInfo } from '@huma-finance/shared';
4
+ import { Pagination } from './SubgraphService';
4
5
  /**
5
6
  * Fetches the tokenId of a RealWorldReceivable, or null if it doesn't exist, given a metadata URI
6
7
  *
@@ -123,9 +124,23 @@ declare function createReceivableWithMetadata(signerOrProvider: Web3Provider | e
123
124
  * @param {string} owner - The receivable token owner to query from.
124
125
  * @param {POOL_NAME} poolName - The pool name. Used to lookup the pool address to pay to.
125
126
  * @param {POOL_TYPE} poolType - The pool type. Used to lookup the pool address to pay to.
127
+ * @param {Pagination} pagination - The pagination option.
126
128
  * @returns {Promise<RealWorldReceivableInfo[]>} - An array of receivables owned by the owner for the pool.
127
129
  */
128
- declare function loadReceivablesOfOwnerWithMetadata<T>(signerOrProvider: Web3Provider | ethers.Signer, owner: string, poolName: POOL_NAME, poolType: POOL_TYPE): Promise<RealWorldReceivableInfo<T>[]>;
130
+ declare function loadReceivablesOfOwnerWithMetadata<T>(signerOrProvider: Web3Provider | ethers.Signer, owner: string, poolName: POOL_NAME, poolType: POOL_TYPE, pagination?: Pagination): Promise<RealWorldReceivableInfo<T>[]>;
131
+ /**
132
+ * Get the total count of all RWRs belonging to the specified owner
133
+ *
134
+ * @async
135
+ * @function
136
+ * @memberof ReceivableService
137
+ * @param {Web3Provider | ethers.Signer} signerOrProvider - If calling this function from a browser, this function expects a Web3Provider.
138
+ * If calling this function from a server, this function expects an ethers Signer. Note that privateKey only needs to be included
139
+ * from server calls.
140
+ * @param {string} owner - The receivable token owner to query from.
141
+ * @returns {Promise<number>} - Total count of receivables owned by the owner for the pool.
142
+ */
143
+ declare function getTotalCountOfReceivables(signerOrProvider: Web3Provider | ethers.Signer, owner: string): Promise<number>;
129
144
  /**
130
145
  * An object that contains functions to interact with Huma's receivables.
131
146
  * @namespace ReceivableService
@@ -136,6 +151,7 @@ export declare const ReceivableService: {
136
151
  declareReceivablePaymentByTokenId: typeof declareReceivablePaymentByTokenId;
137
152
  declareReceivablePaymentByReferenceId: typeof declareReceivablePaymentByReferenceId;
138
153
  loadReceivablesOfOwnerWithMetadata: typeof loadReceivablesOfOwnerWithMetadata;
154
+ getTotalCountOfReceivables: typeof getTotalCountOfReceivables;
139
155
  uploadOrFetchMetadataURI: typeof uploadOrFetchMetadataURI;
140
156
  getTokenIdByURI: typeof getTokenIdByURI;
141
157
  };
@@ -5,6 +5,7 @@ import { request, gql } from 'graphql-request';
5
5
  import { ARWeaveService } from './ARWeaveService';
6
6
  import { getRealWorldReceivableContract } from '../helpers';
7
7
  import { getDefaultGasOptions, getChainIdFromSignerOrProvider } from '../utils';
8
+ import { SubgraphService } from './SubgraphService';
8
9
  /**
9
10
  * Fetches the tokenId of a RealWorldReceivable, or null if it doesn't exist, given a metadata URI
10
11
  *
@@ -261,10 +262,10 @@ async function createReceivableWithMetadata(signerOrProvider, privateKey, chainI
261
262
  * @param {string} owner - The receivable token owner to query from.
262
263
  * @param {POOL_NAME} poolName - The pool name. Used to lookup the pool address to pay to.
263
264
  * @param {POOL_TYPE} poolType - The pool type. Used to lookup the pool address to pay to.
265
+ * @param {Pagination} pagination - The pagination option.
264
266
  * @returns {Promise<RealWorldReceivableInfo[]>} - An array of receivables owned by the owner for the pool.
265
267
  */
266
- async function loadReceivablesOfOwnerWithMetadata(signerOrProvider, owner, poolName, poolType) {
267
- var _a, _b;
268
+ async function loadReceivablesOfOwnerWithMetadata(signerOrProvider, owner, poolName, poolType, pagination) {
268
269
  if (!ethers.utils.isAddress(owner)) {
269
270
  throw new Error('Invalid owner address');
270
271
  }
@@ -272,44 +273,37 @@ async function loadReceivablesOfOwnerWithMetadata(signerOrProvider, owner, poolN
272
273
  if (!chainId) {
273
274
  throw new Error('No Chain Id found');
274
275
  }
275
- const poolInfo = chainId
276
- ? (_b = (_a = PoolContractMap[chainId]) === null || _a === void 0 ? void 0 : _a[poolType]) === null || _b === void 0 ? void 0 : _b[poolName]
277
- : undefined;
278
- if (!poolInfo) {
279
- throw new Error('RealWorldReceivable is not available on this network');
276
+ const rwReceivablesBase = await SubgraphService.getRWReceivableInfo(owner, chainId, poolName, poolType, pagination);
277
+ const fetchMetadata = async (rwrInfoBase) => ARWeaveService.fetchMetadataFromUrl(rwrInfoBase.tokenURI);
278
+ const metadatas = await Promise.all(rwReceivablesBase.map(fetchMetadata));
279
+ return rwReceivablesBase.map((rwrInfoBase, index) => (Object.assign(Object.assign({}, rwrInfoBase), { metadata: metadatas[index] })));
280
+ }
281
+ /**
282
+ * Get the total count of all RWRs belonging to the specified owner
283
+ *
284
+ * @async
285
+ * @function
286
+ * @memberof ReceivableService
287
+ * @param {Web3Provider | ethers.Signer} signerOrProvider - If calling this function from a browser, this function expects a Web3Provider.
288
+ * If calling this function from a server, this function expects an ethers Signer. Note that privateKey only needs to be included
289
+ * from server calls.
290
+ * @param {string} owner - The receivable token owner to query from.
291
+ * @returns {Promise<number>} - Total count of receivables owned by the owner for the pool.
292
+ */
293
+ async function getTotalCountOfReceivables(signerOrProvider, owner) {
294
+ if (!ethers.utils.isAddress(owner)) {
295
+ throw new Error('Invalid owner address');
296
+ }
297
+ const chainId = await getChainIdFromSignerOrProvider(signerOrProvider);
298
+ if (!chainId) {
299
+ throw new Error('No Chain Id found');
280
300
  }
281
301
  const rwrContract = getRealWorldReceivableContract(signerOrProvider, chainId);
282
302
  if (!rwrContract) {
283
303
  throw new Error('Could not find RealWorldReceivable contract');
284
304
  }
285
- // Load all receivables of owner
286
305
  const balance = await rwrContract.balanceOf(owner);
287
- // Create empty array with length of balance
288
- const tokens = Array.from(Array(balance.toNumber()));
289
- const fetchPromises = tokens.map(async (_, tokenIndex) => {
290
- const tokenId = await rwrContract.tokenOfOwnerByIndex(owner, tokenIndex);
291
- const rwrInfo = await rwrContract.rwrInfoMapping(tokenId);
292
- // If a RWR uploaded by an owner is not for this specific pool, skip it
293
- if (rwrInfo.poolAddress.toLowerCase() !== poolInfo.pool.toLowerCase()) {
294
- return undefined;
295
- }
296
- const tokenURI = await rwrContract.tokenURI(tokenId);
297
- const metadata = await ARWeaveService.fetchMetadataFromUrl(tokenURI);
298
- return {
299
- tokenId,
300
- poolAddress: rwrInfo.poolAddress,
301
- receivableAmount: rwrInfo.receivableAmount,
302
- paidAmount: rwrInfo.paidAmount,
303
- creationDate: rwrInfo.creationDate,
304
- maturityDate: rwrInfo.maturityDate,
305
- currencyCode: rwrInfo.currencyCode,
306
- tokenURI,
307
- metadata,
308
- };
309
- });
310
- const tokenData = await Promise.all(fetchPromises);
311
- // Filter undefined
312
- return tokenData.filter((token) => token !== undefined);
306
+ return balance.toNumber();
313
307
  }
314
308
  /**
315
309
  * An object that contains functions to interact with Huma's receivables.
@@ -321,6 +315,7 @@ export const ReceivableService = {
321
315
  declareReceivablePaymentByTokenId,
322
316
  declareReceivablePaymentByReferenceId,
323
317
  loadReceivablesOfOwnerWithMetadata,
318
+ getTotalCountOfReceivables,
324
319
  uploadOrFetchMetadataURI,
325
320
  getTokenIdByURI,
326
321
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReceivableService.js","sourceRoot":"","sources":["../../src/services/ReceivableService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReceivableService.js","sourceRoot":"","sources":["../../src/services/ReceivableService.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,4 @@
1
- import { POOL_NAME, POOL_TYPE } from '@huma-finance/shared';
2
- /**
3
- * Returns the subgraph URL for a given chain ID.
4
- *
5
- * @memberof SubgraphService
6
- * @param {number} chainId - The ID of the chain.
7
- * @returns {string} The subgraph URL for the given chain ID.
8
- */
9
- declare function getSubgraphUrlForChainId(chainId: number): string;
1
+ import { POOL_NAME, POOL_TYPE, RealWorldReceivableInfoBase } from '@huma-finance/shared';
10
2
  /**
11
3
  * Represents the payload of a credit event.
12
4
  * @typedef {Object} CreditEventPayload
@@ -18,6 +10,24 @@ export type CreditEventPayload = {
18
10
  pool?: string;
19
11
  event?: string;
20
12
  };
13
+ /**
14
+ * Represents the pagination options for a query.
15
+ * @typedef {Object} Pagination
16
+ */
17
+ export type Pagination = {
18
+ first: number | null;
19
+ skip: number | null;
20
+ orderBy: string;
21
+ orderDirection: 'desc' | 'asc';
22
+ };
23
+ /**
24
+ * Returns the subgraph URL for a given chain ID.
25
+ *
26
+ * @memberof SubgraphService
27
+ * @param {number} chainId - The ID of the chain.
28
+ * @returns {string} The subgraph URL for the given chain ID.
29
+ */
30
+ declare function getSubgraphUrlForChainId(chainId: number): string;
21
31
  /**
22
32
  * Returns the credit events for a given user.
23
33
  *
@@ -41,6 +51,18 @@ declare function getCreditEventsForUser(userAddress: string, chainId: number, po
41
51
  * @returns {Promise<number>} The last factorized amount for the given user and pool.
42
52
  */
43
53
  declare function getLastFactorizedAmountFromPool(userAddress: string, chainId: number, poolName: POOL_NAME, poolType: POOL_TYPE): Promise<number>;
54
+ /**
55
+ * Returns the paginated real world receivables' info.
56
+ *
57
+ * @memberof SubgraphService
58
+ * @param {string} userAddress - The address of the user.
59
+ * @param {number} chainId - The ID of the chain.
60
+ * @param {POOL_NAME} poolName - The name of the pool.
61
+ * @param {POOL_TYPE} poolType - The type of the pool.
62
+ * @param {Pagination} pagination - The pagination option.
63
+ * @returns {Promise<RealWorldReceivableInfoBase>} The paginated real world receivables' info.
64
+ */
65
+ declare function getRWReceivableInfo(userAddress: string, chainId: number, poolName: POOL_NAME, poolType: POOL_TYPE, pagination?: Pagination): Promise<RealWorldReceivableInfoBase[]>;
44
66
  /**
45
67
  * An object that contains functions to interact with Huma's Subgraph storage.
46
68
  * @namespace SubgraphService
@@ -49,5 +71,6 @@ export declare const SubgraphService: {
49
71
  getSubgraphUrlForChainId: typeof getSubgraphUrlForChainId;
50
72
  getCreditEventsForUser: typeof getCreditEventsForUser;
51
73
  getLastFactorizedAmountFromPool: typeof getLastFactorizedAmountFromPool;
74
+ getRWReceivableInfo: typeof getRWReceivableInfo;
52
75
  };
53
76
  export {};