@huma-finance/sdk 0.0.54 → 0.0.55-beta.429

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 (27) hide show
  1. package/API.md +21 -4
  2. package/dist/cjs/helpers/v2/ReceivableBackedCreditLineContractHelper.js +36 -14
  3. package/dist/cjs/helpers/v2/ReceivableBackedCreditLineContractHelper.js.map +1 -1
  4. package/dist/cjs/helpers/v2/ReceivableContractHelper.d.ts +15 -6
  5. package/dist/cjs/helpers/v2/ReceivableContractHelper.js +18 -17
  6. package/dist/cjs/helpers/v2/ReceivableContractHelper.js.map +1 -1
  7. package/dist/cjs/services/v2/HumaReceivableFactory.js +4 -1
  8. package/dist/cjs/services/v2/HumaReceivableFactory.js.map +1 -1
  9. package/dist/cjs/services/v2/HumaReceivableHandler.js +1 -1
  10. package/dist/cjs/services/v2/HumaReceivableHandler.js.map +1 -1
  11. package/dist/cjs/utils/chain.d.ts +1 -0
  12. package/dist/cjs/utils/chain.js +9 -5
  13. package/dist/cjs/utils/chain.js.map +1 -1
  14. package/dist/helpers/v2/ReceivableBackedCreditLineContractHelper.js +37 -15
  15. package/dist/helpers/v2/ReceivableBackedCreditLineContractHelper.js.map +1 -1
  16. package/dist/helpers/v2/ReceivableContractHelper.d.ts +15 -6
  17. package/dist/helpers/v2/ReceivableContractHelper.js +18 -17
  18. package/dist/helpers/v2/ReceivableContractHelper.js.map +1 -1
  19. package/dist/services/v2/HumaReceivableFactory.js +4 -1
  20. package/dist/services/v2/HumaReceivableFactory.js.map +1 -1
  21. package/dist/services/v2/HumaReceivableHandler.js +1 -1
  22. package/dist/services/v2/HumaReceivableHandler.js.map +1 -1
  23. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  24. package/dist/utils/chain.d.ts +1 -0
  25. package/dist/utils/chain.js +8 -5
  26. package/dist/utils/chain.js.map +1 -1
  27. package/package.json +3 -3
package/API.md CHANGED
@@ -60,9 +60,11 @@ associated with the given pool name on the current chain.</p></dd>
60
60
  <dd><p>Makes a payment with a receivable.</p></dd>
61
61
  <dt><a href="#makePrincipalPaymentAndDrawdownWithReceivable">makePrincipalPaymentAndDrawdownWithReceivable(signer, poolName, paymentReceivableId, paymentAmount, drawdownReceivableId, drawdownAmount, [gasOpts])</a> ⇒ <code>Promise.&lt;TransactionResponse&gt;</code></dt>
62
62
  <dd><p>Makes a principal payment and drawdown with receivables.</p></dd>
63
- <dt><a href="#getReceivableContractV2">getReceivableContractV2(signerOrProvider, chainId)</a> ⇒ <code>Contract</code> | <code>null</code></dt>
63
+ <dt><a href="#getReceivableContractV2">getReceivableContractV2(poolName, signer)</a> ⇒ <code>Contract</code> | <code>null</code></dt>
64
64
  <dd><p>Returns an ethers contract instance for the V2 Receivable contract
65
65
  associated with the given pool name on the current chain.</p></dd>
66
+ <dt><a href="#getReceivableTokenIdFromReferenceId">getReceivableTokenIdFromReferenceId(referenceId, creator, poolName, signer)</a> ⇒</dt>
67
+ <dd><p>Retrieves the receivable token ID associated with a given reference ID.</p></dd>
66
68
  <dt><a href="#useContract">useContract(address, ABI, signerOrProvider)</a> ⇒ <code>T</code> | <code>null</code></dt>
67
69
  <dd><p>Custom hook for creating an ethers instance of a smart contract.</p></dd>
68
70
  <dt><a href="#useERC20TransferableReceivableContract">useERC20TransferableReceivableContract(signerOrProvider, chainId, poolName)</a> ⇒ <code>Contract</code> | <code>null</code></dt>
@@ -897,7 +899,7 @@ associated with the given pool name on the current chain.</p>
897
899
 
898
900
  <a name="getReceivableContractV2"></a>
899
901
 
900
- ## getReceivableContractV2(signerOrProvider, chainId) ⇒ <code>Contract</code> \| <code>null</code>
902
+ ## getReceivableContractV2(poolName, signer) ⇒ <code>Contract</code> \| <code>null</code>
901
903
  <p>Returns an ethers contract instance for the V2 Receivable contract
902
904
  associated with the given pool name on the current chain.</p>
903
905
 
@@ -906,8 +908,23 @@ associated with the given pool name on the current chain.</p>
906
908
 
907
909
  | Param | Type | Description |
908
910
  | --- | --- | --- |
909
- | signerOrProvider | <code>ethers.providers.Provider</code> \| <code>ethers.Signer</code> | <p>The provider or signer instance to use for the contract.</p> |
910
- | chainId | <code>number</code> | <p>The chain id where the contract instance exists</p> |
911
+ | poolName | <code>POOL\_NAME</code> | <p>The name of the pool.</p> |
912
+ | signer | <code>ethers.Signer</code> | <p>The signer instance to use for the contract.</p> |
913
+
914
+ <a name="getReceivableTokenIdFromReferenceId"></a>
915
+
916
+ ## getReceivableTokenIdFromReferenceId(referenceId, creator, poolName, signer) ⇒
917
+ <p>Retrieves the receivable token ID associated with a given reference ID.</p>
918
+
919
+ **Kind**: global function
920
+ **Returns**: <p>A promise that resolves to the receivable token ID.</p>
921
+
922
+ | Param | Description |
923
+ | --- | --- |
924
+ | referenceId | <p>The reference ID of the receivable.</p> |
925
+ | creator | <p>The creator of the receivable.</p> |
926
+ | poolName | <p>The name of the pool.</p> |
927
+ | signer | <p>The signer used for the contract interaction.</p> |
911
928
 
912
929
  <a name="useContract"></a>
913
930
 
@@ -51,12 +51,18 @@ exports.getTotalDueV2 = getTotalDueV2;
51
51
  * @returns {Promise<TransactionResponse>} - A Promise of the transaction response.
52
52
  */
53
53
  async function drawdownWithReceivable(signer, poolName, receivableId, drawdownAmount, gasOpts = {}) {
54
- const creditContract = await getReceivableBackedCreditLineContractV2(poolName, signer);
54
+ const [creditContract, chainId] = await Promise.all([
55
+ getReceivableBackedCreditLineContractV2(poolName, signer),
56
+ (0, shared_1.getChainIdFromSignerOrProvider)(signer),
57
+ ]);
55
58
  if (!creditContract) {
56
59
  throw new Error('Could not find credit contract');
57
60
  }
61
+ if (!chainId) {
62
+ throw new Error('Could not find chain ID');
63
+ }
58
64
  const approveTx = await (0, ReceivableContractHelper_1.approveReceivableTransferIfNeeded)(signer, poolName, receivableId);
59
- await (approveTx === null || approveTx === void 0 ? void 0 : approveTx.wait(5));
65
+ await (approveTx === null || approveTx === void 0 ? void 0 : approveTx.wait((0, utils_1.getChainConfirmations)(chainId)));
60
66
  return creditContract.drawdownWithReceivable(receivableId, drawdownAmount, gasOpts);
61
67
  }
62
68
  exports.drawdownWithReceivable = drawdownWithReceivable;
@@ -74,20 +80,26 @@ exports.drawdownWithReceivable = drawdownWithReceivable;
74
80
  * @returns {Promise<TransactionResponse>} - A Promise of the transaction response.
75
81
  */
76
82
  async function makePaymentWithReceivable(signer, poolName, receivableId, paymentAmount, principalOnly, gasOpts = {}) {
77
- const creditContract = await getReceivableBackedCreditLineContractV2(poolName, signer);
83
+ const [creditContract, poolSafeContract, underlyingToken, chainId] = await Promise.all([
84
+ getReceivableBackedCreditLineContractV2(poolName, signer),
85
+ (0, shared_1.getPoolSafeContractV2)(poolName, signer.provider),
86
+ (0, shared_1.getPoolUnderlyingTokenContractV2)(poolName, signer.provider),
87
+ (0, shared_1.getChainIdFromSignerOrProvider)(signer),
88
+ ]);
78
89
  if (!creditContract) {
79
90
  throw new Error('Could not find credit contract');
80
91
  }
81
- const poolSafeContract = await (0, shared_1.getPoolSafeContractV2)(poolName, signer.provider);
82
92
  if (!poolSafeContract) {
83
93
  throw new Error('Could not find pool safe contract');
84
94
  }
85
- const underlyingToken = await (0, shared_1.getPoolUnderlyingTokenContractV2)(poolName, signer.provider);
86
95
  if (!underlyingToken) {
87
96
  throw new Error('Could not find underlying token contract');
88
97
  }
98
+ if (!chainId) {
99
+ throw new Error('Could not find chain ID');
100
+ }
89
101
  const approveERC20Tx = await (0, ERC20ContractHelper_1.approveERC20AllowanceIfInsufficient)(signer, underlyingToken.address, poolSafeContract.address, paymentAmount, gasOpts);
90
- await (approveERC20Tx === null || approveERC20Tx === void 0 ? void 0 : approveERC20Tx.wait(5));
102
+ await (approveERC20Tx === null || approveERC20Tx === void 0 ? void 0 : approveERC20Tx.wait((0, utils_1.getChainConfirmations)(chainId)));
91
103
  let paymentTx;
92
104
  if (principalOnly) {
93
105
  paymentTx = await creditContract.makePrincipalPaymentWithReceivable(receivableId, paymentAmount, gasOpts);
@@ -113,22 +125,32 @@ exports.makePaymentWithReceivable = makePaymentWithReceivable;
113
125
  * @returns {Promise<TransactionResponse>} - A Promise of the transaction response.
114
126
  */
115
127
  async function makePrincipalPaymentAndDrawdownWithReceivable(signer, poolName, paymentReceivableId, paymentAmount, drawdownReceivableId, drawdownAmount, gasOpts = {}) {
116
- const creditContract = await getReceivableBackedCreditLineContractV2(poolName, signer);
128
+ const [creditContract, underlyingToken, poolSafeContract, chainId] = await Promise.all([
129
+ getReceivableBackedCreditLineContractV2(poolName, signer),
130
+ (0, shared_1.getPoolUnderlyingTokenContractV2)(poolName, signer.provider),
131
+ (0, shared_1.getPoolSafeContractV2)(poolName, signer.provider),
132
+ (0, shared_1.getChainIdFromSignerOrProvider)(signer),
133
+ ]);
117
134
  if (!creditContract) {
118
135
  throw new Error('Could not find credit contract');
119
136
  }
120
- const underlyingToken = await (0, shared_1.getPoolUnderlyingTokenContractV2)(poolName, signer.provider);
121
- const poolSafeContract = await (0, shared_1.getPoolSafeContractV2)(poolName, signer.provider);
137
+ if (!underlyingToken) {
138
+ throw new Error('Could not find underlying token contract');
139
+ }
122
140
  if (!poolSafeContract) {
123
141
  throw new Error('Could not find pool safe contract');
124
142
  }
125
- if (!underlyingToken) {
126
- throw new Error('Could not find underlying token contract');
143
+ if (!chainId) {
144
+ throw new Error('Could not find chain ID');
127
145
  }
128
146
  const approveERC20Tx = await (0, ERC20ContractHelper_1.approveERC20AllowanceIfInsufficient)(signer, underlyingToken.address, poolSafeContract.address, paymentAmount, gasOpts);
129
- await (approveERC20Tx === null || approveERC20Tx === void 0 ? void 0 : approveERC20Tx.wait(5));
130
- const approveTx = await (0, ReceivableContractHelper_1.approveReceivableTransferIfNeeded)(signer, poolName, drawdownReceivableId);
131
- await (approveTx === null || approveTx === void 0 ? void 0 : approveTx.wait(5));
147
+ if (approveERC20Tx) {
148
+ await approveERC20Tx.wait((0, utils_1.getChainConfirmations)(chainId));
149
+ }
150
+ const approveTx = await (0, ReceivableContractHelper_1.approveReceivableTransferIfNeeded)(signer, poolName, drawdownReceivableId, gasOpts);
151
+ if (approveTx) {
152
+ await (approveTx === null || approveTx === void 0 ? void 0 : approveTx.wait((0, utils_1.getChainConfirmations)(chainId)));
153
+ }
132
154
  return creditContract.makePrincipalPaymentAndDrawdownWithReceivable(paymentReceivableId, paymentAmount, drawdownReceivableId, drawdownAmount, gasOpts);
133
155
  }
134
156
  exports.makePrincipalPaymentAndDrawdownWithReceivable = makePrincipalPaymentAndDrawdownWithReceivable;
@@ -1 +1 @@
1
- {"version":3,"file":"ReceivableBackedCreditLineContractHelper.js","sourceRoot":"","sources":["../../../../src/helpers/v2/ReceivableBackedCreditLineContractHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReceivableBackedCreditLineContractHelper.js","sourceRoot":"","sources":["../../../../src/helpers/v2/ReceivableBackedCreditLineContractHelper.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,24 @@
1
1
  import { BigNumber, BigNumberish, Overrides, ethers } from 'ethers';
2
2
  import { POOL_NAME, v2Contracts } from '@huma-finance/shared';
3
- import { JsonRpcProvider, TransactionResponse, Web3Provider } from '@ethersproject/providers';
3
+ import { TransactionResponse } from '@ethersproject/providers';
4
4
  /**
5
5
  * Returns an ethers contract instance for the V2 Receivable contract
6
6
  * associated with the given pool name on the current chain.
7
7
  *
8
- * @param {ethers.providers.Provider | ethers.Signer} signerOrProvider The provider or signer instance to use for the contract.
9
- * @param {number} chainId The chain id where the contract instance exists
8
+ * @param {POOL_NAME} poolName The name of the pool.
9
+ * @param {ethers.Signer} signer The signer instance to use for the contract.
10
10
  * @returns {Contract | null} A contract instance for the Receivable contract or null if it could not be found.
11
11
  */
12
- export declare function getReceivableContractV2(poolName: POOL_NAME, signerOrProvider: JsonRpcProvider | Web3Provider | ethers.Signer): Promise<v2Contracts.Receivable | null>;
13
- export declare function getReceivableTokenIdFromReferenceId(referenceId: string, creator: string, poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider): Promise<BigNumber>;
14
- export declare function getReceivableReferenceAlreadyExists(referenceId: string, signerAddress: string, poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider): Promise<boolean>;
12
+ export declare function getReceivableContractV2(poolName: POOL_NAME, signer: ethers.Signer): Promise<v2Contracts.Receivable | null>;
13
+ /**
14
+ * Retrieves the receivable token ID associated with a given reference ID.
15
+ *
16
+ * @param referenceId - The reference ID of the receivable.
17
+ * @param creator - The creator of the receivable.
18
+ * @param poolName - The name of the pool.
19
+ * @param signer - The signer used for the contract interaction.
20
+ * @returns A promise that resolves to the receivable token ID.
21
+ */
22
+ export declare function getReceivableTokenIdFromReferenceId(referenceId: string, creator: string, poolName: POOL_NAME, signer: ethers.Signer): Promise<BigNumber>;
23
+ export declare function getReceivableReferenceAlreadyExists(referenceId: string, signerAddress: string, poolName: POOL_NAME, signer: ethers.Signer): Promise<boolean>;
15
24
  export declare function approveReceivableTransferIfNeeded(signer: ethers.Signer, poolName: POOL_NAME, receivableId: BigNumberish, gasOpts?: Overrides): Promise<TransactionResponse | null>;
@@ -1,35 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.approveReceivableTransferIfNeeded = exports.getReceivableReferenceAlreadyExists = exports.getReceivableTokenIdFromReferenceId = exports.getReceivableContractV2 = void 0;
4
- const ethers_1 = require("ethers");
5
4
  const shared_1 = require("@huma-finance/shared");
6
5
  const utils_1 = require("../../utils");
7
6
  /**
8
7
  * Returns an ethers contract instance for the V2 Receivable contract
9
8
  * associated with the given pool name on the current chain.
10
9
  *
11
- * @param {ethers.providers.Provider | ethers.Signer} signerOrProvider The provider or signer instance to use for the contract.
12
- * @param {number} chainId The chain id where the contract instance exists
10
+ * @param {POOL_NAME} poolName The name of the pool.
11
+ * @param {ethers.Signer} signer The signer instance to use for the contract.
13
12
  * @returns {Contract | null} A contract instance for the Receivable contract or null if it could not be found.
14
13
  */
15
- async function getReceivableContractV2(poolName, signerOrProvider) {
16
- let provider;
17
- if (signerOrProvider instanceof ethers_1.ethers.Signer) {
18
- provider = signerOrProvider.provider;
19
- }
20
- else {
21
- provider = signerOrProvider;
22
- }
23
- const poolConfigContract = await (0, shared_1.getPoolConfigContractV2)(poolName, provider);
14
+ async function getReceivableContractV2(poolName, signer) {
15
+ const poolConfigContract = await (0, shared_1.getPoolConfigContractV2)(poolName, signer.provider);
24
16
  if (!poolConfigContract) {
25
17
  throw new Error('Could not find PoolConfig contract');
26
18
  }
27
19
  const receivableAsset = await poolConfigContract.receivableAsset();
28
- return (0, utils_1.getContract)(receivableAsset, shared_1.RECEIVABLE_V2_ABI, signerOrProvider);
20
+ return (0, utils_1.getContract)(receivableAsset, shared_1.RECEIVABLE_V2_ABI, signer);
29
21
  }
30
22
  exports.getReceivableContractV2 = getReceivableContractV2;
31
- async function getReceivableTokenIdFromReferenceId(referenceId, creator, poolName, provider) {
32
- const contract = await getReceivableContractV2(poolName, provider);
23
+ /**
24
+ * Retrieves the receivable token ID associated with a given reference ID.
25
+ *
26
+ * @param referenceId - The reference ID of the receivable.
27
+ * @param creator - The creator of the receivable.
28
+ * @param poolName - The name of the pool.
29
+ * @param signer - The signer used for the contract interaction.
30
+ * @returns A promise that resolves to the receivable token ID.
31
+ */
32
+ async function getReceivableTokenIdFromReferenceId(referenceId, creator, poolName, signer) {
33
+ const contract = await getReceivableContractV2(poolName, signer);
33
34
  if (!contract) {
34
35
  throw new Error('Could not find Receivable contract');
35
36
  }
@@ -37,8 +38,8 @@ async function getReceivableTokenIdFromReferenceId(referenceId, creator, poolNam
37
38
  return contract.referenceIdHashToTokenId(referenceIdHash);
38
39
  }
39
40
  exports.getReceivableTokenIdFromReferenceId = getReceivableTokenIdFromReferenceId;
40
- async function getReceivableReferenceAlreadyExists(referenceId, signerAddress, poolName, provider) {
41
- const tokenId = await getReceivableTokenIdFromReferenceId(referenceId, signerAddress, poolName, provider);
41
+ async function getReceivableReferenceAlreadyExists(referenceId, signerAddress, poolName, signer) {
42
+ const tokenId = await getReceivableTokenIdFromReferenceId(referenceId, signerAddress, poolName, signer);
42
43
  return !tokenId.isZero();
43
44
  }
44
45
  exports.getReceivableReferenceAlreadyExists = getReceivableReferenceAlreadyExists;
@@ -1 +1 @@
1
- {"version":3,"file":"ReceivableContractHelper.js","sourceRoot":"","sources":["../../../../src/helpers/v2/ReceivableContractHelper.ts"],"names":[],"mappings":";;;AAAA,mCAAmE;AACnE,iDAM6B;AAO7B,uCAAyC;AAEzC;;;;;;;GAOG;AACI,KAAK,UAAU,uBAAuB,CAC3C,QAAmB,EACnB,gBAAgE;IAEhE,IAAI,QAAQ,CAAA;IACZ,IAAI,gBAAgB,YAAY,eAAM,CAAC,MAAM,EAAE;QAC7C,QAAQ,GAAG,gBAAgB,CAAC,QAA0C,CAAA;KACvE;SAAM;QACL,QAAQ,GAAG,gBAAgB,CAAA;KAC5B;IAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAuB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5E,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IACD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,CAAA;IAElE,OAAO,IAAA,mBAAW,EAChB,eAAe,EACf,0BAAiB,EACjB,gBAAgB,CACjB,CAAA;AACH,CAAC;AAvBD,0DAuBC;AAEM,KAAK,UAAU,mCAAmC,CACvD,WAAmB,EACnB,OAAe,EACf,QAAmB,EACnB,QAAwC;IAExC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClE,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CACvD,WAAW,EACX,OAAO,CACR,CAAA;IAED,OAAO,QAAQ,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAA;AAC3D,CAAC;AAjBD,kFAiBC;AAEM,KAAK,UAAU,mCAAmC,CACvD,WAAmB,EACnB,aAAqB,EACrB,QAAmB,EACnB,QAAwC;IAExC,MAAM,OAAO,GAAG,MAAM,mCAAmC,CACvD,WAAW,EACX,aAAa,EACb,QAAQ,EACR,QAAQ,CACT,CAAA;IAED,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;AAC1B,CAAC;AAdD,kFAcC;AAEM,KAAK,UAAU,iCAAiC,CACrD,MAAqB,EACrB,QAAmB,EACnB,YAA0B,EAC1B,UAAqB,EAAE;IAEvB,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE1E,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,mEAAmE;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA0C,CAAA;IAClE,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAuB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5E,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;KACvD;IAED,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1E,IACE,kBAAkB,CAAC,OAAO;QAC1B,eAAe,KAAK,kBAAkB,CAAC,OAAO,EAC9C;QACA,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,kBAAkB,CAAC,OAAO,CAC/B,kBAAkB,CAAC,OAAO,EAC1B,YAAY,EACZ,OAAO,CACR,CAAA;AACH,CAAC;AAjCD,8EAiCC"}
1
+ {"version":3,"file":"ReceivableContractHelper.js","sourceRoot":"","sources":["../../../../src/helpers/v2/ReceivableContractHelper.ts"],"names":[],"mappings":";;;AACA,iDAM6B;AAO7B,uCAAyC;AAEzC;;;;;;;GAOG;AACI,KAAK,UAAU,uBAAuB,CAC3C,QAAmB,EACnB,MAAqB;IAErB,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAuB,EACtD,QAAQ,EACR,MAAM,CAAC,QAA0C,CAClD,CAAA;IAED,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IACD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,CAAA;IAElE,OAAO,IAAA,mBAAW,EAChB,eAAe,EACf,0BAAiB,EACjB,MAAM,CACP,CAAA;AACH,CAAC;AAnBD,0DAmBC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,mCAAmC,CACvD,WAAmB,EACnB,OAAe,EACf,QAAmB,EACnB,MAAqB;IAErB,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAChE,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CACvD,WAAW,EACX,OAAO,CACR,CAAA;IAED,OAAO,QAAQ,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAA;AAC3D,CAAC;AAjBD,kFAiBC;AAEM,KAAK,UAAU,mCAAmC,CACvD,WAAmB,EACnB,aAAqB,EACrB,QAAmB,EACnB,MAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,mCAAmC,CACvD,WAAW,EACX,aAAa,EACb,QAAQ,EACR,MAAM,CACP,CAAA;IAED,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;AAC1B,CAAC;AAdD,kFAcC;AAEM,KAAK,UAAU,iCAAiC,CACrD,MAAqB,EACrB,QAAmB,EACnB,YAA0B,EAC1B,UAAqB,EAAE;IAEvB,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE1E,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,mEAAmE;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA0C,CAAA;IAClE,MAAM,kBAAkB,GAAG,MAAM,IAAA,gCAAuB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5E,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;KACvD;IAED,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1E,IACE,kBAAkB,CAAC,OAAO;QAC1B,eAAe,KAAK,kBAAkB,CAAC,OAAO,EAC9C;QACA,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,kBAAkB,CAAC,OAAO,CAC/B,kBAAkB,CAAC,OAAO,EAC1B,YAAY,EACZ,OAAO,CACR,CAAA;AACH,CAAC;AAjCD,8EAiCC"}
@@ -76,9 +76,12 @@ class HumaReceivableFactory {
76
76
  return balance.toNumber();
77
77
  }
78
78
  async throwIfReferenceIdExists(referenceId) {
79
+ if (referenceId === '') {
80
+ return;
81
+ }
79
82
  // Check whether a token already exists with this reference ID
80
83
  const signerAddress = await tslib_1.__classPrivateFieldGet(this, _HumaReceivableFactory_humaContext, "f").signer.getAddress();
81
- const receivableAlreadyExists = await (0, ReceivableContractHelper_1.getReceivableReferenceAlreadyExists)(referenceId, signerAddress, tslib_1.__classPrivateFieldGet(this, _HumaReceivableFactory_humaContext, "f").poolName, tslib_1.__classPrivateFieldGet(this, _HumaReceivableFactory_humaContext, "f").provider);
84
+ const receivableAlreadyExists = await (0, ReceivableContractHelper_1.getReceivableReferenceAlreadyExists)(referenceId, signerAddress, tslib_1.__classPrivateFieldGet(this, _HumaReceivableFactory_humaContext, "f").poolName, tslib_1.__classPrivateFieldGet(this, _HumaReceivableFactory_humaContext, "f").signer);
82
85
  if (receivableAlreadyExists) {
83
86
  throw new Error('A token already exists with this reference ID');
84
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HumaReceivableFactory.js","sourceRoot":"","sources":["../../../../src/services/v2/HumaReceivableFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HumaReceivableFactory.js","sourceRoot":"","sources":["../../../../src/services/v2/HumaReceivableFactory.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ class HumaReceivableHandler {
20
20
  }
21
21
  gasOpts = await (0, utils_1.getDefaultGasOptions)(gasOpts, tslib_1.__classPrivateFieldGet(this, _HumaReceivableHandler_humaContext, "f").chainId);
22
22
  const signerAddress = await tslib_1.__classPrivateFieldGet(this, _HumaReceivableHandler_humaContext, "f").signer.getAddress();
23
- const tokenId = await (0, helpers_1.getReceivableTokenIdFromReferenceId)(referenceId, signerAddress, tslib_1.__classPrivateFieldGet(this, _HumaReceivableHandler_humaContext, "f").poolName, tslib_1.__classPrivateFieldGet(this, _HumaReceivableHandler_humaContext, "f").provider);
23
+ const tokenId = await (0, helpers_1.getReceivableTokenIdFromReferenceId)(referenceId, signerAddress, tslib_1.__classPrivateFieldGet(this, _HumaReceivableHandler_humaContext, "f").poolName, tslib_1.__classPrivateFieldGet(this, _HumaReceivableHandler_humaContext, "f").signer);
24
24
  if (!tokenId) {
25
25
  throw new Error('Could not find tokenId');
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HumaReceivableHandler.js","sourceRoot":"","sources":["../../../../src/services/v2/HumaReceivableHandler.ts"],"names":[],"mappings":";;;;;AAGA,uCAAkD;AAClD,2CAGsB;AAEtB,MAAa,qBAAqB;IAGhC,YAAY,EAAE,WAAW,EAAgC;QAFzD,qDAAyB;QAGvB,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;SAC/C;QAED,+BAAA,IAAI,sCAAgB,WAAW,MAAA,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,aAAwB,EACxB,cAAsB,EAAE,EACxB,UAAqB,EAAE;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAuB,EAC5C,+BAAA,IAAI,0CAAa,CAAC,QAAQ,EAC1B,+BAAA,IAAI,0CAAa,CAAC,MAAM,CACzB,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QAED,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,+BAAA,IAAI,0CAAa,CAAC,OAAO,CAAC,CAAA;QAExE,MAAM,aAAa,GAAG,MAAM,+BAAA,IAAI,0CAAa,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;QACjE,MAAM,OAAO,GAAG,MAAM,IAAA,6CAAmC,EACvD,WAAW,EACX,aAAa,EACb,+BAAA,IAAI,0CAAa,CAAC,QAAQ,EAC1B,+BAAA,IAAI,0CAAa,CAAC,QAAQ,CAC3B,CAAA;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;SAC1C;QAED,OAAO,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAqB,EACrB,UAAqB,EAAE;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAuB,EAC5C,+BAAA,IAAI,0CAAa,CAAC,QAAQ,EAC1B,+BAAA,IAAI,0CAAa,CAAC,MAAM,CACzB,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QAED,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,+BAAA,IAAI,0CAAa,CAAC,OAAO,CAAC,CAAA;QAExE,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;CACF;AAzDD,sDAyDC"}
1
+ {"version":3,"file":"HumaReceivableHandler.js","sourceRoot":"","sources":["../../../../src/services/v2/HumaReceivableHandler.ts"],"names":[],"mappings":";;;;;AAGA,uCAAkD;AAClD,2CAGsB;AAEtB,MAAa,qBAAqB;IAGhC,YAAY,EAAE,WAAW,EAAgC;QAFzD,qDAAyB;QAGvB,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;SAC/C;QAED,+BAAA,IAAI,sCAAgB,WAAW,MAAA,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,aAAwB,EACxB,cAAsB,EAAE,EACxB,UAAqB,EAAE;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAuB,EAC5C,+BAAA,IAAI,0CAAa,CAAC,QAAQ,EAC1B,+BAAA,IAAI,0CAAa,CAAC,MAAM,CACzB,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QAED,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,+BAAA,IAAI,0CAAa,CAAC,OAAO,CAAC,CAAA;QAExE,MAAM,aAAa,GAAG,MAAM,+BAAA,IAAI,0CAAa,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;QACjE,MAAM,OAAO,GAAG,MAAM,IAAA,6CAAmC,EACvD,WAAW,EACX,aAAa,EACb,+BAAA,IAAI,0CAAa,CAAC,QAAQ,EAC1B,+BAAA,IAAI,0CAAa,CAAC,MAAM,CACzB,CAAA;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;SAC1C;QAED,OAAO,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAqB,EACrB,UAAqB,EAAE;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAuB,EAC5C,+BAAA,IAAI,0CAAa,CAAC,QAAQ,EAC1B,+BAAA,IAAI,0CAAa,CAAC,MAAM,CACzB,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QAED,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,+BAAA,IAAI,0CAAa,CAAC,OAAO,CAAC,CAAA;QAExE,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;CACF;AAzDD,sDAyDC"}
@@ -1,5 +1,6 @@
1
1
  import { JsonRpcProvider, JsonRpcSigner } from '@ethersproject/providers';
2
2
  import { ethers } from 'ethers';
3
+ export declare function getChainConfirmations(chainId: number): number;
3
4
  export declare function isPolygonNetwork(network: number): boolean;
4
5
  /**
5
6
  * Get the chain ID from a signer or provider object.
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getChainIdFromSignerOrProvider = exports.getChainIdFromJsonSignerOrProvider = exports.isPolygonNetwork = void 0;
4
- const providers_1 = require("@ethersproject/providers");
3
+ exports.getChainIdFromSignerOrProvider = exports.getChainIdFromJsonSignerOrProvider = exports.isPolygonNetwork = exports.getChainConfirmations = void 0;
5
4
  const shared_1 = require("@huma-finance/shared");
5
+ function getChainConfirmations(chainId) {
6
+ return chainId === shared_1.ChainEnum.Localhost ? 1 : 5;
7
+ }
8
+ exports.getChainConfirmations = getChainConfirmations;
6
9
  function isPolygonNetwork(network) {
7
10
  return network === 137 || network === 80001 || network === 80002;
8
11
  }
@@ -13,9 +16,10 @@ exports.isPolygonNetwork = isPolygonNetwork;
13
16
  * @returns {number} - The chain ID.
14
17
  */
15
18
  function getChainIdFromJsonSignerOrProvider(signerOrProvider) {
16
- return signerOrProvider instanceof providers_1.JsonRpcProvider
17
- ? signerOrProvider.network.chainId
18
- : signerOrProvider.provider.network.chainId;
19
+ if ('network' in signerOrProvider) {
20
+ return signerOrProvider.network.chainId;
21
+ }
22
+ return signerOrProvider.provider.network.chainId;
19
23
  }
20
24
  exports.getChainIdFromJsonSignerOrProvider = getChainIdFromJsonSignerOrProvider;
21
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/utils/chain.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AACzE,iDAA+G;AAG/G,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,CAAA;AAClE,CAAC;AAFD,4CAEC;AAED;;;;GAIG;AACH,SAAgB,kCAAkC,CAChD,gBAAiD;IAEjD,OAAO,gBAAgB,YAAY,2BAAe;QAChD,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO;QAClC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;AAC/C,CAAC;AAND,gFAMC;AAED;;;;GAIG;AACI,KAAK,UAAU,8BAA8B,CAClD,gBAA2D;IAE3D,OAAO,IAAA,uCAAsC,EAAC,gBAAgB,CAAC,CAAA;AACjE,CAAC;AAJD,wEAIC"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/utils/chain.ts"],"names":[],"mappings":";;;AACA,iDAG6B;AAG7B,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,OAAO,KAAK,kBAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAChD,CAAC;AAFD,sDAEC;AAED,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,CAAA;AAClE,CAAC;AAFD,4CAEC;AAED;;;;GAIG;AACH,SAAgB,kCAAkC,CAChD,gBAAiD;IAEjD,IAAI,SAAS,IAAI,gBAAgB,EAAE;QACjC,OAAO,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAA;KACxC;IAED,OAAO,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;AAClD,CAAC;AARD,gFAQC;AAED;;;;GAIG;AACI,KAAK,UAAU,8BAA8B,CAClD,gBAA2D;IAE3D,OAAO,IAAA,uCAAsC,EAAC,gBAAgB,CAAC,CAAA;AACjE,CAAC;AAJD,wEAIC"}
@@ -1,5 +1,5 @@
1
1
  import { getChainIdFromSignerOrProvider, getCreditRecordV2, getPoolInfoV2, getPoolSafeContractV2, getPoolUnderlyingTokenContractV2, POOL_TYPE, RECEIVABLE_BACKED_CREDIT_LINE_V2_ABI, } from '@huma-finance/shared';
2
- import { getContract } from '../../utils';
2
+ import { getChainConfirmations, getContract } from '../../utils';
3
3
  import { approveERC20AllowanceIfInsufficient } from '../ERC20ContractHelper';
4
4
  import { approveReceivableTransferIfNeeded } from './ReceivableContractHelper';
5
5
  /**
@@ -46,12 +46,18 @@ export async function getTotalDueV2(poolName, account, provider) {
46
46
  * @returns {Promise<TransactionResponse>} - A Promise of the transaction response.
47
47
  */
48
48
  export async function drawdownWithReceivable(signer, poolName, receivableId, drawdownAmount, gasOpts = {}) {
49
- const creditContract = await getReceivableBackedCreditLineContractV2(poolName, signer);
49
+ const [creditContract, chainId] = await Promise.all([
50
+ getReceivableBackedCreditLineContractV2(poolName, signer),
51
+ getChainIdFromSignerOrProvider(signer),
52
+ ]);
50
53
  if (!creditContract) {
51
54
  throw new Error('Could not find credit contract');
52
55
  }
56
+ if (!chainId) {
57
+ throw new Error('Could not find chain ID');
58
+ }
53
59
  const approveTx = await approveReceivableTransferIfNeeded(signer, poolName, receivableId);
54
- await (approveTx === null || approveTx === void 0 ? void 0 : approveTx.wait(5));
60
+ await (approveTx === null || approveTx === void 0 ? void 0 : approveTx.wait(getChainConfirmations(chainId)));
55
61
  return creditContract.drawdownWithReceivable(receivableId, drawdownAmount, gasOpts);
56
62
  }
57
63
  /**
@@ -68,20 +74,26 @@ export async function drawdownWithReceivable(signer, poolName, receivableId, dra
68
74
  * @returns {Promise<TransactionResponse>} - A Promise of the transaction response.
69
75
  */
70
76
  export async function makePaymentWithReceivable(signer, poolName, receivableId, paymentAmount, principalOnly, gasOpts = {}) {
71
- const creditContract = await getReceivableBackedCreditLineContractV2(poolName, signer);
77
+ const [creditContract, poolSafeContract, underlyingToken, chainId] = await Promise.all([
78
+ getReceivableBackedCreditLineContractV2(poolName, signer),
79
+ getPoolSafeContractV2(poolName, signer.provider),
80
+ getPoolUnderlyingTokenContractV2(poolName, signer.provider),
81
+ getChainIdFromSignerOrProvider(signer),
82
+ ]);
72
83
  if (!creditContract) {
73
84
  throw new Error('Could not find credit contract');
74
85
  }
75
- const poolSafeContract = await getPoolSafeContractV2(poolName, signer.provider);
76
86
  if (!poolSafeContract) {
77
87
  throw new Error('Could not find pool safe contract');
78
88
  }
79
- const underlyingToken = await getPoolUnderlyingTokenContractV2(poolName, signer.provider);
80
89
  if (!underlyingToken) {
81
90
  throw new Error('Could not find underlying token contract');
82
91
  }
92
+ if (!chainId) {
93
+ throw new Error('Could not find chain ID');
94
+ }
83
95
  const approveERC20Tx = await approveERC20AllowanceIfInsufficient(signer, underlyingToken.address, poolSafeContract.address, paymentAmount, gasOpts);
84
- await (approveERC20Tx === null || approveERC20Tx === void 0 ? void 0 : approveERC20Tx.wait(5));
96
+ await (approveERC20Tx === null || approveERC20Tx === void 0 ? void 0 : approveERC20Tx.wait(getChainConfirmations(chainId)));
85
97
  let paymentTx;
86
98
  if (principalOnly) {
87
99
  paymentTx = await creditContract.makePrincipalPaymentWithReceivable(receivableId, paymentAmount, gasOpts);
@@ -106,22 +118,32 @@ export async function makePaymentWithReceivable(signer, poolName, receivableId,
106
118
  * @returns {Promise<TransactionResponse>} - A Promise of the transaction response.
107
119
  */
108
120
  export async function makePrincipalPaymentAndDrawdownWithReceivable(signer, poolName, paymentReceivableId, paymentAmount, drawdownReceivableId, drawdownAmount, gasOpts = {}) {
109
- const creditContract = await getReceivableBackedCreditLineContractV2(poolName, signer);
121
+ const [creditContract, underlyingToken, poolSafeContract, chainId] = await Promise.all([
122
+ getReceivableBackedCreditLineContractV2(poolName, signer),
123
+ getPoolUnderlyingTokenContractV2(poolName, signer.provider),
124
+ getPoolSafeContractV2(poolName, signer.provider),
125
+ getChainIdFromSignerOrProvider(signer),
126
+ ]);
110
127
  if (!creditContract) {
111
128
  throw new Error('Could not find credit contract');
112
129
  }
113
- const underlyingToken = await getPoolUnderlyingTokenContractV2(poolName, signer.provider);
114
- const poolSafeContract = await getPoolSafeContractV2(poolName, signer.provider);
130
+ if (!underlyingToken) {
131
+ throw new Error('Could not find underlying token contract');
132
+ }
115
133
  if (!poolSafeContract) {
116
134
  throw new Error('Could not find pool safe contract');
117
135
  }
118
- if (!underlyingToken) {
119
- throw new Error('Could not find underlying token contract');
136
+ if (!chainId) {
137
+ throw new Error('Could not find chain ID');
120
138
  }
121
139
  const approveERC20Tx = await approveERC20AllowanceIfInsufficient(signer, underlyingToken.address, poolSafeContract.address, paymentAmount, gasOpts);
122
- await (approveERC20Tx === null || approveERC20Tx === void 0 ? void 0 : approveERC20Tx.wait(5));
123
- const approveTx = await approveReceivableTransferIfNeeded(signer, poolName, drawdownReceivableId);
124
- await (approveTx === null || approveTx === void 0 ? void 0 : approveTx.wait(5));
140
+ if (approveERC20Tx) {
141
+ await approveERC20Tx.wait(getChainConfirmations(chainId));
142
+ }
143
+ const approveTx = await approveReceivableTransferIfNeeded(signer, poolName, drawdownReceivableId, gasOpts);
144
+ if (approveTx) {
145
+ await (approveTx === null || approveTx === void 0 ? void 0 : approveTx.wait(getChainConfirmations(chainId)));
146
+ }
125
147
  return creditContract.makePrincipalPaymentAndDrawdownWithReceivable(paymentReceivableId, paymentAmount, drawdownReceivableId, drawdownAmount, gasOpts);
126
148
  }
127
149
  //# sourceMappingURL=ReceivableBackedCreditLineContractHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReceivableBackedCreditLineContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/v2/ReceivableBackedCreditLineContractHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReceivableBackedCreditLineContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/v2/ReceivableBackedCreditLineContractHelper.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,24 @@
1
1
  import { BigNumber, BigNumberish, Overrides, ethers } from 'ethers';
2
2
  import { POOL_NAME, v2Contracts } from '@huma-finance/shared';
3
- import { JsonRpcProvider, TransactionResponse, Web3Provider } from '@ethersproject/providers';
3
+ import { TransactionResponse } from '@ethersproject/providers';
4
4
  /**
5
5
  * Returns an ethers contract instance for the V2 Receivable contract
6
6
  * associated with the given pool name on the current chain.
7
7
  *
8
- * @param {ethers.providers.Provider | ethers.Signer} signerOrProvider The provider or signer instance to use for the contract.
9
- * @param {number} chainId The chain id where the contract instance exists
8
+ * @param {POOL_NAME} poolName The name of the pool.
9
+ * @param {ethers.Signer} signer The signer instance to use for the contract.
10
10
  * @returns {Contract | null} A contract instance for the Receivable contract or null if it could not be found.
11
11
  */
12
- export declare function getReceivableContractV2(poolName: POOL_NAME, signerOrProvider: JsonRpcProvider | Web3Provider | ethers.Signer): Promise<v2Contracts.Receivable | null>;
13
- export declare function getReceivableTokenIdFromReferenceId(referenceId: string, creator: string, poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider): Promise<BigNumber>;
14
- export declare function getReceivableReferenceAlreadyExists(referenceId: string, signerAddress: string, poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider): Promise<boolean>;
12
+ export declare function getReceivableContractV2(poolName: POOL_NAME, signer: ethers.Signer): Promise<v2Contracts.Receivable | null>;
13
+ /**
14
+ * Retrieves the receivable token ID associated with a given reference ID.
15
+ *
16
+ * @param referenceId - The reference ID of the receivable.
17
+ * @param creator - The creator of the receivable.
18
+ * @param poolName - The name of the pool.
19
+ * @param signer - The signer used for the contract interaction.
20
+ * @returns A promise that resolves to the receivable token ID.
21
+ */
22
+ export declare function getReceivableTokenIdFromReferenceId(referenceId: string, creator: string, poolName: POOL_NAME, signer: ethers.Signer): Promise<BigNumber>;
23
+ export declare function getReceivableReferenceAlreadyExists(referenceId: string, signerAddress: string, poolName: POOL_NAME, signer: ethers.Signer): Promise<boolean>;
15
24
  export declare function approveReceivableTransferIfNeeded(signer: ethers.Signer, poolName: POOL_NAME, receivableId: BigNumberish, gasOpts?: Overrides): Promise<TransactionResponse | null>;
@@ -1,39 +1,40 @@
1
- import { ethers } from 'ethers';
2
1
  import { RECEIVABLE_V2_ABI, getPoolConfigContractV2, getPoolCreditContractV2, } from '@huma-finance/shared';
3
2
  import { getContract } from '../../utils';
4
3
  /**
5
4
  * Returns an ethers contract instance for the V2 Receivable contract
6
5
  * associated with the given pool name on the current chain.
7
6
  *
8
- * @param {ethers.providers.Provider | ethers.Signer} signerOrProvider The provider or signer instance to use for the contract.
9
- * @param {number} chainId The chain id where the contract instance exists
7
+ * @param {POOL_NAME} poolName The name of the pool.
8
+ * @param {ethers.Signer} signer The signer instance to use for the contract.
10
9
  * @returns {Contract | null} A contract instance for the Receivable contract or null if it could not be found.
11
10
  */
12
- export async function getReceivableContractV2(poolName, signerOrProvider) {
13
- let provider;
14
- if (signerOrProvider instanceof ethers.Signer) {
15
- provider = signerOrProvider.provider;
16
- }
17
- else {
18
- provider = signerOrProvider;
19
- }
20
- const poolConfigContract = await getPoolConfigContractV2(poolName, provider);
11
+ export async function getReceivableContractV2(poolName, signer) {
12
+ const poolConfigContract = await getPoolConfigContractV2(poolName, signer.provider);
21
13
  if (!poolConfigContract) {
22
14
  throw new Error('Could not find PoolConfig contract');
23
15
  }
24
16
  const receivableAsset = await poolConfigContract.receivableAsset();
25
- return getContract(receivableAsset, RECEIVABLE_V2_ABI, signerOrProvider);
17
+ return getContract(receivableAsset, RECEIVABLE_V2_ABI, signer);
26
18
  }
27
- export async function getReceivableTokenIdFromReferenceId(referenceId, creator, poolName, provider) {
28
- const contract = await getReceivableContractV2(poolName, provider);
19
+ /**
20
+ * Retrieves the receivable token ID associated with a given reference ID.
21
+ *
22
+ * @param referenceId - The reference ID of the receivable.
23
+ * @param creator - The creator of the receivable.
24
+ * @param poolName - The name of the pool.
25
+ * @param signer - The signer used for the contract interaction.
26
+ * @returns A promise that resolves to the receivable token ID.
27
+ */
28
+ export async function getReceivableTokenIdFromReferenceId(referenceId, creator, poolName, signer) {
29
+ const contract = await getReceivableContractV2(poolName, signer);
29
30
  if (!contract) {
30
31
  throw new Error('Could not find Receivable contract');
31
32
  }
32
33
  const referenceIdHash = await contract.getReferenceIdHash(referenceId, creator);
33
34
  return contract.referenceIdHashToTokenId(referenceIdHash);
34
35
  }
35
- export async function getReceivableReferenceAlreadyExists(referenceId, signerAddress, poolName, provider) {
36
- const tokenId = await getReceivableTokenIdFromReferenceId(referenceId, signerAddress, poolName, provider);
36
+ export async function getReceivableReferenceAlreadyExists(referenceId, signerAddress, poolName, signer) {
37
+ const tokenId = await getReceivableTokenIdFromReferenceId(referenceId, signerAddress, poolName, signer);
37
38
  return !tokenId.isZero();
38
39
  }
39
40
  export async function approveReceivableTransferIfNeeded(signer, poolName, receivableId, gasOpts = {}) {