@huma-finance/sdk 0.0.62-beta.597 → 0.0.62-beta.612

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 (101) hide show
  1. package/API.md +39 -21
  2. package/dist/cjs/graphql/generatedTypes.js +1 -2
  3. package/dist/cjs/graphql/generatedTypes.js.map +1 -1
  4. package/dist/cjs/helpers/ERC20ContractHelper.js +1 -2
  5. package/dist/cjs/helpers/ERC20ContractHelper.js.map +1 -1
  6. package/dist/cjs/helpers/ERC20TransferableReceivableContractHelper.js +1 -2
  7. package/dist/cjs/helpers/ERC20TransferableReceivableContractHelper.js.map +1 -1
  8. package/dist/cjs/helpers/PoolContractHelper.js +6 -7
  9. package/dist/cjs/helpers/PoolContractHelper.js.map +1 -1
  10. package/dist/cjs/helpers/RealWorldReceivableContractHelper.js +1 -2
  11. package/dist/cjs/helpers/RealWorldReceivableContractHelper.js.map +1 -1
  12. package/dist/cjs/helpers/index.d.ts +3 -0
  13. package/dist/cjs/helpers/index.js +3 -0
  14. package/dist/cjs/helpers/index.js.map +1 -1
  15. package/dist/cjs/helpers/solana/HumaSolanaContext.d.ts +19 -0
  16. package/dist/cjs/helpers/solana/HumaSolanaContext.js +47 -0
  17. package/dist/cjs/helpers/solana/HumaSolanaContext.js.map +1 -0
  18. package/dist/cjs/helpers/solana/HumaSolanaProgramHelper.d.ts +14 -0
  19. package/dist/cjs/helpers/solana/HumaSolanaProgramHelper.js +175 -0
  20. package/dist/cjs/helpers/solana/HumaSolanaProgramHelper.js.map +1 -0
  21. package/dist/cjs/helpers/solana/HumaSolanaReceivableHelper.d.ts +29 -0
  22. package/dist/cjs/helpers/solana/HumaSolanaReceivableHelper.js +126 -0
  23. package/dist/cjs/helpers/solana/HumaSolanaReceivableHelper.js.map +1 -0
  24. package/dist/cjs/helpers/solana/SolanaProgramHelper.d.ts +6 -0
  25. package/dist/cjs/helpers/solana/SolanaProgramHelper.js +88 -0
  26. package/dist/cjs/helpers/solana/SolanaProgramHelper.js.map +1 -0
  27. package/dist/cjs/helpers/solana/SolanaReceivableHelper.d.ts +13 -0
  28. package/dist/cjs/helpers/solana/SolanaReceivableHelper.js +92 -0
  29. package/dist/cjs/helpers/solana/SolanaReceivableHelper.js.map +1 -0
  30. package/dist/cjs/helpers/v2/CreditContractHelper.js +3 -4
  31. package/dist/cjs/helpers/v2/CreditContractHelper.js.map +1 -1
  32. package/dist/cjs/helpers/v2/ReceivableBackedCreditLineContractHelper.js +5 -6
  33. package/dist/cjs/helpers/v2/ReceivableBackedCreditLineContractHelper.js.map +1 -1
  34. package/dist/cjs/helpers/v2/ReceivableContractHelper.js +4 -5
  35. package/dist/cjs/helpers/v2/ReceivableContractHelper.js.map +1 -1
  36. package/dist/cjs/services/ARWeaveService.d.ts +38 -21
  37. package/dist/cjs/services/ARWeaveService.js +67 -80
  38. package/dist/cjs/services/ARWeaveService.js.map +1 -1
  39. package/dist/cjs/services/ReceivableService.js +1 -1
  40. package/dist/cjs/services/ReceivableService.js.map +1 -1
  41. package/dist/cjs/services/SubgraphService.js.map +1 -1
  42. package/dist/cjs/services/v2/HumaContext.js.map +1 -1
  43. package/dist/cjs/services/v2/HumaReceivableFactory.js +1 -1
  44. package/dist/cjs/services/v2/HumaReceivableFactory.js.map +1 -1
  45. package/dist/cjs/services/v2/HumaReceivableHandler.js.map +1 -1
  46. package/dist/cjs/utils/chain.js +4 -5
  47. package/dist/cjs/utils/chain.js.map +1 -1
  48. package/dist/cjs/utils/index.d.ts +1 -0
  49. package/dist/cjs/utils/index.js +1 -0
  50. package/dist/cjs/utils/index.js.map +1 -1
  51. package/dist/cjs/utils/maticGasStation.js +3 -4
  52. package/dist/cjs/utils/maticGasStation.js.map +1 -1
  53. package/dist/cjs/utils/solana/getReceivableReferenceAccount.d.ts +8 -0
  54. package/dist/cjs/utils/solana/getReceivableReferenceAccount.js +38 -0
  55. package/dist/cjs/utils/solana/getReceivableReferenceAccount.js.map +1 -0
  56. package/dist/cjs/utils/web3.js +3 -4
  57. package/dist/cjs/utils/web3.js.map +1 -1
  58. package/dist/helpers/ERC20ContractHelper.js.map +1 -1
  59. package/dist/helpers/PoolContractHelper.js.map +1 -1
  60. package/dist/helpers/index.d.ts +3 -0
  61. package/dist/helpers/index.js +3 -0
  62. package/dist/helpers/index.js.map +1 -1
  63. package/dist/helpers/solana/HumaSolanaContext.d.ts +19 -0
  64. package/dist/helpers/solana/HumaSolanaContext.js +43 -0
  65. package/dist/helpers/solana/HumaSolanaContext.js.map +1 -0
  66. package/dist/helpers/solana/HumaSolanaProgramHelper.d.ts +14 -0
  67. package/dist/helpers/solana/HumaSolanaProgramHelper.js +171 -0
  68. package/dist/helpers/solana/HumaSolanaProgramHelper.js.map +1 -0
  69. package/dist/helpers/solana/HumaSolanaReceivableHelper.d.ts +29 -0
  70. package/dist/helpers/solana/HumaSolanaReceivableHelper.js +122 -0
  71. package/dist/helpers/solana/HumaSolanaReceivableHelper.js.map +1 -0
  72. package/dist/helpers/solana/SolanaProgramHelper.d.ts +6 -0
  73. package/dist/helpers/solana/SolanaProgramHelper.js +83 -0
  74. package/dist/helpers/solana/SolanaProgramHelper.js.map +1 -0
  75. package/dist/helpers/solana/SolanaReceivableHelper.d.ts +13 -0
  76. package/dist/helpers/solana/SolanaReceivableHelper.js +86 -0
  77. package/dist/helpers/solana/SolanaReceivableHelper.js.map +1 -0
  78. package/dist/helpers/v2/CreditContractHelper.js.map +1 -1
  79. package/dist/helpers/v2/ReceivableBackedCreditLineContractHelper.js.map +1 -1
  80. package/dist/helpers/v2/ReceivableContractHelper.js.map +1 -1
  81. package/dist/services/ARWeaveService.d.ts +38 -21
  82. package/dist/services/ARWeaveService.js +65 -78
  83. package/dist/services/ARWeaveService.js.map +1 -1
  84. package/dist/services/ReceivableService.js +1 -1
  85. package/dist/services/ReceivableService.js.map +1 -1
  86. package/dist/services/SubgraphService.js.map +1 -1
  87. package/dist/services/v2/HumaContext.js.map +1 -1
  88. package/dist/services/v2/HumaReceivableFactory.js +1 -1
  89. package/dist/services/v2/HumaReceivableFactory.js.map +1 -1
  90. package/dist/services/v2/HumaReceivableHandler.js.map +1 -1
  91. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  92. package/dist/utils/chain.js.map +1 -1
  93. package/dist/utils/index.d.ts +1 -0
  94. package/dist/utils/index.js +1 -0
  95. package/dist/utils/index.js.map +1 -1
  96. package/dist/utils/maticGasStation.js.map +1 -1
  97. package/dist/utils/solana/getReceivableReferenceAccount.d.ts +8 -0
  98. package/dist/utils/solana/getReceivableReferenceAccount.js +33 -0
  99. package/dist/utils/solana/getReceivableReferenceAccount.js.map +1 -0
  100. package/dist/utils/web3.js.map +1 -1
  101. package/package.json +13 -5
package/API.md CHANGED
@@ -77,6 +77,8 @@ Note that this does not approve a creditline in Huma's pools and an approve call
77
77
  ## Typedefs
78
78
 
79
79
  <dl>
80
+ <dt><a href="#IrysConstructorArgs">IrysConstructorArgs</a> : <code>Object</code></dt>
81
+ <dd><p>Represents the constructor arguments for the Irys service.</p></dd>
80
82
  <dt><a href="#ApprovalResult">ApprovalResult</a> : <code>Object</code></dt>
81
83
  <dd><p>Object representing the response to the underwriting approval request.</p></dd>
82
84
  <dt><a href="#EAPayload">EAPayload</a> : <code>Object</code></dt>
@@ -95,33 +97,33 @@ Note that this does not approve a creditline in Huma's pools and an approve call
95
97
  **Kind**: global namespace
96
98
 
97
99
  * [ARWeaveService](#ARWeaveService) : <code>object</code>
98
- * [.getBundlrNetworkConfig(chainId)](#ARWeaveService.getBundlrNetworkConfig) ⇒ <code>BundlrConfig</code>
99
- * [.getBundlrInstance(config, privateKey)](#ARWeaveService.getBundlrInstance) ⇒
100
- * [.prefundBundlr(config, privateKey, amount)](#ARWeaveService.prefundBundlr) ⇒ <code>Promise.&lt;FundResponse&gt;</code>
100
+ * [.getIrysNetworkConfig(chainId)](#ARWeaveService.getIrysNetworkConfig) ⇒ [<code>IrysConstructorArgs</code>](#IrysConstructorArgs)
101
+ * [.getIrysInstance(config, privateKey)](#ARWeaveService.getIrysInstance) ⇒
102
+ * [.prefundIrys(config, privateKey, amount)](#ARWeaveService.prefundIrys) ⇒ <code>Promise.&lt;FundResponse&gt;</code>
101
103
  * [.storeData(config, privateKey, data, tags, [lazyFund])](#ARWeaveService.storeData) ⇒ <code>Promise.&lt;UploadResponse&gt;</code>
102
104
  * [.queryForMetadata(chainId, sender, referenceId)](#ARWeaveService.queryForMetadata) ⇒ <code>Promise.&lt;any&gt;</code>
103
105
  * [.fetchMetadataFromUrl(url)](#ARWeaveService.fetchMetadataFromUrl) ⇒ <code>Promise.&lt;JSON&gt;</code>
104
106
  * [.getURIFromARWeaveId(arweaveId)](#ARWeaveService.getURIFromARWeaveId) ⇒ <code>string</code>
105
107
  * [.BundlrConfig](#ARWeaveService.BundlrConfig) : <code>Object</code>
106
108
 
107
- <a name="ARWeaveService.getBundlrNetworkConfig"></a>
109
+ <a name="ARWeaveService.getIrysNetworkConfig"></a>
108
110
 
109
- ### ARWeaveService.getBundlrNetworkConfig(chainId) ⇒ <code>BundlrConfig</code>
110
- <p>Get the configuration for Bundlr network given a chain ID</p>
111
+ ### ARWeaveService.getIrysNetworkConfig(chainId) ⇒ [<code>IrysConstructorArgs</code>](#IrysConstructorArgs)
112
+ <p>Get the configuration for the Irys network given a chain ID</p>
111
113
 
112
114
  **Kind**: static method of [<code>ARWeaveService</code>](#ARWeaveService)
113
- **Returns**: <code>BundlrConfig</code> - <ul>
114
- <li>The configuration for the Bundlr network.</li>
115
+ **Returns**: [<code>IrysConstructorArgs</code>](#IrysConstructorArgs) - <ul>
116
+ <li>The configuration for the Irys network.</li>
115
117
  </ul>
116
118
 
117
119
  | Param | Type | Description |
118
120
  | --- | --- | --- |
119
121
  | chainId | <code>number</code> | <p>The chain ID.</p> |
120
122
 
121
- <a name="ARWeaveService.getBundlrInstance"></a>
123
+ <a name="ARWeaveService.getIrysInstance"></a>
122
124
 
123
- ### ARWeaveService.getBundlrInstance(config, privateKey) ⇒
124
- <p>Get a Bundlr instance for a specific network</p>
125
+ ### ARWeaveService.getIrysInstance(config, privateKey) ⇒
126
+ <p>Get an Irys instance for a specific network</p>
125
127
 
126
128
  **Kind**: static method of [<code>ARWeaveService</code>](#ARWeaveService)
127
129
  **Returns**: <p>The Bundlr instance</p>
@@ -131,12 +133,12 @@ Note that this does not approve a creditline in Huma's pools and an approve call
131
133
  | config | <code>BundlrConfig</code> | <p>The configuration for the Bundlr network.</p> |
132
134
  | privateKey | <code>string</code> | <p>The private key of the wallet to use Bundlr with.</p> |
133
135
 
134
- <a name="ARWeaveService.prefundBundlr"></a>
136
+ <a name="ARWeaveService.prefundIrys"></a>
135
137
 
136
- ### ARWeaveService.prefundBundlr(config, privateKey, amount) ⇒ <code>Promise.&lt;FundResponse&gt;</code>
137
- <p>Prefund the Bundlr network with the specified amount. Required if not lazy funding.
138
+ ### ARWeaveService.prefundIrys(config, privateKey, amount) ⇒ <code>Promise.&lt;FundResponse&gt;</code>
139
+ <p>Prefund the Irys network with the specified amount. Required if not lazy funding.
138
140
  Important note: The amount is denominated in the base unit of currency for that network.
139
- If you want to upload 5 Matic to the Bundlr node, pass in an amount of 5.</p>
141
+ If you want to upload 5 Matic to the Irys node, pass in an amount of 5.</p>
140
142
 
141
143
  **Kind**: static method of [<code>ARWeaveService</code>](#ARWeaveService)
142
144
  **Returns**: <code>Promise.&lt;FundResponse&gt;</code> - <ul>
@@ -145,25 +147,25 @@ If you want to upload 5 Matic to the Bundlr node, pass in an amount of 5.</p>
145
147
 
146
148
  | Param | Type | Description |
147
149
  | --- | --- | --- |
148
- | config | <code>BundlrConfig</code> | <p>The configuration for the Bundlr network.</p> |
150
+ | config | [<code>IrysConstructorArgs</code>](#IrysConstructorArgs) | <p>The configuration for the Bundlr network.</p> |
149
151
  | privateKey | <code>string</code> | <p>The private key of the wallet to send funds from.</p> |
150
152
  | amount | <code>number</code> | <p>The amount to fund, denoted in whatever currency specified by the config (e.g. MATIC, ETH)</p> |
151
153
 
152
154
  <a name="ARWeaveService.storeData"></a>
153
155
 
154
156
  ### ARWeaveService.storeData(config, privateKey, data, tags, [lazyFund]) ⇒ <code>Promise.&lt;UploadResponse&gt;</code>
155
- <p>Store data on ARWeave using the Bundlr Network.</p>
157
+ <p>Store data on ARWeave using the Irys Network.</p>
156
158
 
157
159
  **Kind**: static method of [<code>ARWeaveService</code>](#ARWeaveService)
158
160
  **Returns**: <code>Promise.&lt;UploadResponse&gt;</code> - <p>Promise resolving with the upload response.</p>
159
161
 
160
162
  | Param | Type | Default | Description |
161
163
  | --- | --- | --- | --- |
162
- | config | <code>BundlrConfig</code> | | <p>Configuration object for the Bundlr instance.</p> |
163
- | privateKey | <code>string</code> | | <p>Private key used for interacting with the Bundlr instance.</p> |
164
- | data | <code>Record.&lt;string, unknown&gt;</code> | | <p>The data to store in the Bundlr instance.</p> |
164
+ | config | [<code>IrysConstructorArgs</code>](#IrysConstructorArgs) | | <p>Configuration object for the Irys instance.</p> |
165
+ | privateKey | <code>string</code> | | <p>Private key used for interacting with the Irys instance.</p> |
166
+ | data | <code>Record.&lt;string, unknown&gt;</code> | | <p>The data to store in the Irys instance.</p> |
165
167
  | tags | <code>Array.&lt;{name: string, value: string}&gt;</code> | | <p>Array of tag objects with <code>name</code> and <code>value</code> properties.</p> |
166
- | [lazyFund] | <code>boolean</code> | <code>true</code> | <p>Optional flag to fund the Bundlr instance lazily. If set to <code>false</code>, the Bundlr node should already be funded or else uploads will fail.</p> |
168
+ | [lazyFund] | <code>boolean</code> | <code>true</code> | <p>Optional flag to fund the Irys instance lazily. If set to <code>false</code>, the Irys node should already be funded or else uploads will fail.</p> |
167
169
 
168
170
  <a name="ARWeaveService.queryForMetadata"></a>
169
171
 
@@ -917,6 +919,22 @@ Note that this does not approve a creditline in Huma's pools and an approve call
917
919
  | poolName | <code>POOL\_NAME</code> | <p>The name of the pool.</p> |
918
920
  | poolType | <code>POOL\_TYPE</code> | <p>The type of the pool.</p> |
919
921
 
922
+ <a name="IrysConstructorArgs"></a>
923
+
924
+ ## IrysConstructorArgs : <code>Object</code>
925
+ <p>Represents the constructor arguments for the Irys service.</p>
926
+
927
+ **Kind**: global typedef
928
+ **Properties**
929
+
930
+ | Name | Type | Description |
931
+ | --- | --- | --- |
932
+ | [url] | <code>string</code> | <p>The URL of the Irys service.</p> |
933
+ | [network] | <code>Network</code> | <p>The network configuration for the Irys service. Can be mainnet or devnet.</p> |
934
+ | token | <code>string</code> | <p>The token for authentication.</p> |
935
+ | [key] | <code>string</code> | <p>The key for encryption.</p> |
936
+ | [config] | <code>IrysConfig</code> | <p>Additional configuration options for the Irys service.</p> |
937
+
920
938
  <a name="ApprovalResult"></a>
921
939
 
922
940
  ## ApprovalResult : <code>Object</code>
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSdk = void 0;
3
+ exports.getSdk = getSdk;
4
4
  const defaultWrapper = (action, _operationName, _operationType) => action();
5
5
  function getSdk(client, withWrapper = defaultWrapper) {
6
6
  return {};
7
7
  }
8
- exports.getSdk = getSdk;
9
8
  //# sourceMappingURL=generatedTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generatedTypes.js","sourceRoot":"","sources":["../../../src/graphql/generatedTypes.ts"],"names":[],"mappings":";;;AA8CA,MAAM,cAAc,GAAuB,CACzC,MAAM,EACN,cAAc,EACd,cAAc,EACd,EAAE,CAAC,MAAM,EAAE,CAAA;AAEb,SAAgB,MAAM,CACpB,MAAqB,EACrB,cAAkC,cAAc;IAEhD,OAAO,EAAE,CAAA;AACX,CAAC;AALD,wBAKC"}
1
+ {"version":3,"file":"generatedTypes.js","sourceRoot":"","sources":["../../../src/graphql/generatedTypes.ts"],"names":[],"mappings":";;AAoDA,wBAKC;AAXD,MAAM,cAAc,GAAuB,CACzC,MAAM,EACN,cAAc,EACd,cAAc,EACd,EAAE,CAAC,MAAM,EAAE,CAAA;AAEb,SAAgB,MAAM,CACpB,MAAqB,EACrB,cAAkC,cAAc;IAEhD,OAAO,EAAE,CAAA;AACX,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.approveERC20AllowanceIfInsufficient = void 0;
3
+ exports.approveERC20AllowanceIfInsufficient = approveERC20AllowanceIfInsufficient;
4
4
  const shared_1 = require("@huma-finance/shared");
5
5
  const utils_1 = require("../utils");
6
6
  /**
@@ -29,5 +29,4 @@ async function approveERC20AllowanceIfInsufficient(signer, tokenAddress, spender
29
29
  }
30
30
  return null;
31
31
  }
32
- exports.approveERC20AllowanceIfInsufficient = approveERC20AllowanceIfInsufficient;
33
32
  //# sourceMappingURL=ERC20ContractHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ERC20ContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/ERC20ContractHelper.ts"],"names":[],"mappings":";;;AACA,iDAAqE;AAErE,oCAAiE;AAEjE;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,mCAAmC,CACvD,MAAqB,EACrB,YAAoB,EACpB,cAAsB,EACtB,eAA6B,EAC7B,UAAqB,EAAE;IAEvB,MAAM,OAAO,GAAG,MAAM,IAAA,uCAA8B,EAAC,MAAM,CAAC,CAAA;IAE5D,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;IAED,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IAE5D,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,SAAS,CAC7C,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,cAAc,CACf,CAAA;IACD,IAAI,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE;QACjC,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACtD,OAAO,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;KACvE;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAzBD,kFAyBC"}
1
+ {"version":3,"file":"ERC20ContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/ERC20ContractHelper.ts"],"names":[],"mappings":";;AAkBA,kFAyBC;AA1CD,iDAAqE;AAErE,oCAAiE;AAEjE;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,mCAAmC,CACvD,MAAqB,EACrB,YAAoB,EACpB,cAAsB,EACtB,eAA6B,EAC7B,UAAqB,EAAE;IAEvB,MAAM,OAAO,GAAG,MAAM,IAAA,uCAA8B,EAAC,MAAM,CAAC,CAAA;IAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IAE5D,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,SAAS,CAC7C,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,cAAc,CACf,CAAA;IACD,IAAI,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACtD,OAAO,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getERC20TransferableReceivableContract = void 0;
3
+ exports.getERC20TransferableReceivableContract = getERC20TransferableReceivableContract;
4
4
  const shared_1 = require("@huma-finance/shared");
5
5
  const utils_1 = require("../utils");
6
6
  /**
@@ -18,5 +18,4 @@ function getERC20TransferableReceivableContract(signerOrProvider, chainId) {
18
18
  return null;
19
19
  return (0, utils_1.getContract)(erc20TransferableReceiable, shared_1.ERC20_TRANSFERABLE_RECEIVABLE_ABI, signerOrProvider);
20
20
  }
21
- exports.getERC20TransferableReceivableContract = getERC20TransferableReceivableContract;
22
21
  //# sourceMappingURL=ERC20TransferableReceivableContractHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ERC20TransferableReceivableContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/ERC20TransferableReceivableContractHelper.ts"],"names":[],"mappings":";;;AACA,iDAI6B;AAE7B,oCAAsC;AAEtC;;;;;;;GAOG;AACH,SAAgB,sCAAsC,CACpD,gBAA2D,EAC3D,OAAe;;IAEf,MAAM,0BAA0B,GAC9B,MAAA,kCAAyB,CAAC,OAAO,CAAC,0CAChC,+BAAsB,CAAC,2BAA2B,CACnD,CAAA;IAEH,IAAI,CAAC,0BAA0B;QAAE,OAAO,IAAI,CAAA;IAE5C,OAAO,IAAA,mBAAW,EAChB,0BAA0B,EAC1B,0CAAiC,EACjC,gBAAgB,CACjB,CAAA;AACH,CAAC;AAhBD,wFAgBC"}
1
+ {"version":3,"file":"ERC20TransferableReceivableContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/ERC20TransferableReceivableContractHelper.ts"],"names":[],"mappings":";;AAiBA,wFAgBC;AAhCD,iDAI6B;AAE7B,oCAAsC;AAEtC;;;;;;;GAOG;AACH,SAAgB,sCAAsC,CACpD,gBAA2D,EAC3D,OAAe;;IAEf,MAAM,0BAA0B,GAC9B,MAAA,kCAAyB,CAAC,OAAO,CAAC,0CAChC,+BAAsB,CAAC,2BAA2B,CACnD,CAAA;IAEH,IAAI,CAAC,0BAA0B;QAAE,OAAO,IAAI,CAAA;IAE5C,OAAO,IAAA,mBAAW,EAChB,0BAA0B,EAC1B,0CAAiC,EACjC,gBAAgB,CACjB,CAAA;AACH,CAAC"}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.approvePoolAllowance = exports.makePaymentToPool = exports.drawdownFromPool = exports.getTotalDue = exports.getCreditRecord = exports.getPoolContract = void 0;
3
+ exports.getPoolContract = getPoolContract;
4
+ exports.getCreditRecord = getCreditRecord;
5
+ exports.getTotalDue = getTotalDue;
6
+ exports.drawdownFromPool = drawdownFromPool;
7
+ exports.makePaymentToPool = makePaymentToPool;
8
+ exports.approvePoolAllowance = approvePoolAllowance;
4
9
  const utils_1 = require("../utils");
5
10
  const ERC20ContractHelper_1 = require("./ERC20ContractHelper");
6
11
  /**
@@ -18,7 +23,6 @@ function getPoolContract(signerOrProvider, chainId, poolName, poolType) {
18
23
  return null;
19
24
  return (0, utils_1.getContract)(poolInfo.pool, poolInfo.poolAbi, signerOrProvider);
20
25
  }
21
- exports.getPoolContract = getPoolContract;
22
26
  /**
23
27
  * Gets the credit record of a wallet in a Huma pool. Denominated in the ERC20 tokens of the pool.
24
28
  *
@@ -39,7 +43,6 @@ async function getCreditRecord(address, signerOrProvider, chainId, poolName, poo
39
43
  }
40
44
  return poolContract.creditRecordMapping(address);
41
45
  }
42
- exports.getCreditRecord = getCreditRecord;
43
46
  /**
44
47
  * Gets the total due for a Huma pool of the given wallet. Denominated in the ERC20 tokens of the pool.
45
48
  *
@@ -56,7 +59,6 @@ async function getTotalDue(address, signerOrProvider, chainId, poolName, poolTyp
56
59
  const creditRecord = await getCreditRecord(address, signerOrProvider, chainId, poolName, poolType);
57
60
  return creditRecord.totalDue;
58
61
  }
59
- exports.getTotalDue = getTotalDue;
60
62
  /**
61
63
  * Calls drawdown on a Huma pool contract
62
64
  *
@@ -78,7 +80,6 @@ async function drawdownFromPool(signer, chainId, poolName, poolType, drawdownAmo
78
80
  gasOpts = await (0, utils_1.getDefaultGasOptions)(gasOpts, chainId);
79
81
  return poolContract.drawdown(drawdownAmount, gasOpts);
80
82
  }
81
- exports.drawdownFromPool = drawdownFromPool;
82
83
  /**
83
84
  * Calls makePayment on a Huma pool contract. If the pool does not have sufficient allowance to complete the operation,
84
85
  * attempt to first increase the allowance of the pool.
@@ -110,7 +111,6 @@ async function makePaymentToPool(signer, chainId, poolName, poolType, paymentAmo
110
111
  }
111
112
  return poolContract.makePayment(await signer.getAddress(), paymentAmount, gasOpts);
112
113
  }
113
- exports.makePaymentToPool = makePaymentToPool;
114
114
  /**
115
115
  * Approves an allowance for a Huma pool contract, which is required to do certain actions (e.g. makePayment)
116
116
  *
@@ -137,5 +137,4 @@ async function approvePoolAllowance(signer, chainId, poolName, poolType, allowan
137
137
  gasOpts = await (0, utils_1.getDefaultGasOptions)(gasOpts, chainId);
138
138
  return poolTokenContract.approve(poolContract.address, allowanceAmount, gasOpts);
139
139
  }
140
- exports.approvePoolAllowance = approvePoolAllowance;
141
140
  //# sourceMappingURL=PoolContractHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PoolContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/PoolContractHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PoolContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/PoolContractHelper.ts"],"names":[],"mappings":";;AAsBA,0CAeC;AAmDD,0CAmBC;AAcD,kCAgBC;AAeD,4CAiBC;AAgBD,8CAqCC;AAeD,oDA6BC;AArQD,oCAKiB;AACjB,+DAA2E;AAE3E;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAC7B,gBAA2D,EAC3D,OAAe,EACf,QAAmB,EACnB,QAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEzD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,OAAO,IAAA,mBAAW,EAChB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,OAAO,EAChB,gBAAgB,CACjB,CAAA;AACH,CAAC;AAsCD;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,gBAA2D,EAC3D,OAAe,EACf,QAAmB,EACnB,QAAmB;IAEnB,MAAM,YAAY,GAAG,eAAe,CAClC,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,QAAQ,CACT,CAAA;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,gBAA2D,EAC3D,OAAe,EACf,QAAmB,EACnB,QAAmB;IAEnB,MAAM,YAAY,GAAG,MAAM,eAAe,CACxC,OAAO,EACP,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,QAAQ,CACT,CAAA;IAED,OAAO,YAAY,CAAC,QAAQ,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,OAAe,EACf,QAAmB,EACnB,QAAmB,EACnB,cAA4B,EAC5B,UAAqB,EAAE;IAEvB,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAEtD,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAqB,EACrB,OAAe,EACf,QAAmB,EACnB,QAAmB,EACnB,aAA2B,EAC3B,UAAqB,EAAE;IAEvB,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzD,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,CAAC,OAAO,CAAA,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACtD,MAAM,UAAU,GAAG,MAAM,IAAA,yDAAmC,EAC1D,MAAM,EACN,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,CAAC,OAAO,EACrC,YAAY,CAAC,OAAO,EACpB,aAAa,EACb,OAAO,CACR,CAAA;IAED,IAAI,UAAU,EAAE,CAAC;QACf,wEAAwE;QACxE,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,YAAY,CAAC,WAAW,CAC7B,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,aAAa,EACb,OAAO,CACR,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAqB,EACrB,OAAe,EACf,QAAmB,EACnB,QAAmB,EACnB,eAA6B,EAC7B,UAAqB,EAAE;IAEvB,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzD,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,CAAC,OAAO,CAAA,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EACxC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,CAAC,OAAO,EACrC,MAAM,CACP,CAAA;IACD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,GAAG,MAAM,IAAA,4BAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAEtD,OAAO,iBAAiB,CAAC,OAAO,CAC9B,YAAY,CAAC,OAAO,EACpB,eAAe,EACf,OAAO,CACR,CAAA;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRealWorldReceivableContract = void 0;
3
+ exports.getRealWorldReceivableContract = getRealWorldReceivableContract;
4
4
  const shared_1 = require("@huma-finance/shared");
5
5
  const utils_1 = require("../utils");
6
6
  /**
@@ -18,5 +18,4 @@ function getRealWorldReceivableContract(signerOrProvider, chainId) {
18
18
  return null;
19
19
  return (0, utils_1.getContract)(rwReceivableContract, shared_1.REAL_WORLD_RECEIVABLE_ABI, signerOrProvider);
20
20
  }
21
- exports.getRealWorldReceivableContract = getRealWorldReceivableContract;
22
21
  //# sourceMappingURL=RealWorldReceivableContractHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RealWorldReceivableContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/RealWorldReceivableContractHelper.ts"],"names":[],"mappings":";;;AACA,iDAI6B;AAE7B,oCAAsC;AAEtC;;;;;;;GAOG;AACH,SAAgB,8BAA8B,CAC5C,gBAA2D,EAC3D,OAAe;;IAEf,MAAM,oBAAoB,GACxB,MAAA,kCAAyB,CAAC,OAAO,CAAC,0CAChC,+BAAsB,CAAC,mBAAmB,CAC3C,CAAA;IAEH,IAAI,CAAC,oBAAoB;QAAE,OAAO,IAAI,CAAA;IAEtC,OAAO,IAAA,mBAAW,EAChB,oBAAoB,EACpB,kCAAyB,EACzB,gBAAgB,CACjB,CAAA;AACH,CAAC;AAhBD,wEAgBC"}
1
+ {"version":3,"file":"RealWorldReceivableContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/RealWorldReceivableContractHelper.ts"],"names":[],"mappings":";;AAiBA,wEAgBC;AAhCD,iDAI6B;AAE7B,oCAAsC;AAEtC;;;;;;;GAOG;AACH,SAAgB,8BAA8B,CAC5C,gBAA2D,EAC3D,OAAe;;IAEf,MAAM,oBAAoB,GACxB,MAAA,kCAAyB,CAAC,OAAO,CAAC,0CAChC,+BAAsB,CAAC,mBAAmB,CAC3C,CAAA;IAEH,IAAI,CAAC,oBAAoB;QAAE,OAAO,IAAI,CAAA;IAEtC,OAAO,IAAA,mBAAW,EAChB,oBAAoB,EACpB,kCAAyB,EACzB,gBAAgB,CACjB,CAAA;AACH,CAAC"}
@@ -4,3 +4,6 @@ export * from './PoolContractHelper';
4
4
  export * from './v2/ReceivableContractHelper';
5
5
  export * from './v2/ReceivableBackedCreditLineContractHelper';
6
6
  export * from './v2/CreditContractHelper';
7
+ export * from './solana/HumaSolanaProgramHelper';
8
+ export * from './solana/HumaSolanaReceivableHelper';
9
+ export * from './solana/HumaSolanaContext';
@@ -7,4 +7,7 @@ tslib_1.__exportStar(require("./PoolContractHelper"), exports);
7
7
  tslib_1.__exportStar(require("./v2/ReceivableContractHelper"), exports);
8
8
  tslib_1.__exportStar(require("./v2/ReceivableBackedCreditLineContractHelper"), exports);
9
9
  tslib_1.__exportStar(require("./v2/CreditContractHelper"), exports);
10
+ tslib_1.__exportStar(require("./solana/HumaSolanaProgramHelper"), exports);
11
+ tslib_1.__exportStar(require("./solana/HumaSolanaReceivableHelper"), exports);
12
+ tslib_1.__exportStar(require("./solana/HumaSolanaContext"), exports);
10
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":";;;AAAA,8EAAmD;AACnD,sFAA2D;AAC3D,+DAAoC;AACpC,wEAA6C;AAC7C,wFAA6D;AAC7D,oEAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":";;;AAAA,8EAAmD;AACnD,sFAA2D;AAC3D,+DAAoC;AACpC,wEAA6C;AAC7C,wFAA6D;AAC7D,oEAAyC;AACzC,2EAAgD;AAChD,8EAAmD;AACnD,qEAA0C"}
@@ -0,0 +1,19 @@
1
+ import { Connection, PublicKey } from '@solana/web3.js';
2
+ import { POOL_NAME, SolanaChainEnum } from '@huma-finance/shared';
3
+ export declare class HumaSolanaContext {
4
+ #private;
5
+ constructor({ publicKey, connection, chainId, poolName, }: {
6
+ publicKey: PublicKey;
7
+ connection: Connection;
8
+ chainId: SolanaChainEnum;
9
+ poolName: POOL_NAME;
10
+ });
11
+ get publicKey(): PublicKey;
12
+ set publicKey(value: PublicKey);
13
+ get connection(): Connection;
14
+ set connection(value: Connection);
15
+ get chainId(): SolanaChainEnum;
16
+ set chainId(value: SolanaChainEnum);
17
+ get poolName(): POOL_NAME;
18
+ set poolName(value: POOL_NAME);
19
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var _HumaSolanaContext_publicKey, _HumaSolanaContext_connection, _HumaSolanaContext_chainId, _HumaSolanaContext_poolName;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.HumaSolanaContext = void 0;
5
+ const tslib_1 = require("tslib");
6
+ class HumaSolanaContext {
7
+ constructor({ publicKey, connection, chainId, poolName, }) {
8
+ _HumaSolanaContext_publicKey.set(this, void 0);
9
+ _HumaSolanaContext_connection.set(this, void 0);
10
+ _HumaSolanaContext_chainId.set(this, void 0);
11
+ _HumaSolanaContext_poolName.set(this, void 0);
12
+ if (!publicKey || !connection || !chainId || !poolName) {
13
+ throw new Error('All parameters are required');
14
+ }
15
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaContext_publicKey, publicKey, "f");
16
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaContext_connection, connection, "f");
17
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaContext_chainId, chainId, "f");
18
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaContext_poolName, poolName, "f");
19
+ }
20
+ get publicKey() {
21
+ return tslib_1.__classPrivateFieldGet(this, _HumaSolanaContext_publicKey, "f");
22
+ }
23
+ set publicKey(value) {
24
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaContext_publicKey, value, "f");
25
+ }
26
+ get connection() {
27
+ return tslib_1.__classPrivateFieldGet(this, _HumaSolanaContext_connection, "f");
28
+ }
29
+ set connection(value) {
30
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaContext_connection, value, "f");
31
+ }
32
+ get chainId() {
33
+ return tslib_1.__classPrivateFieldGet(this, _HumaSolanaContext_chainId, "f");
34
+ }
35
+ set chainId(value) {
36
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaContext_chainId, value, "f");
37
+ }
38
+ get poolName() {
39
+ return tslib_1.__classPrivateFieldGet(this, _HumaSolanaContext_poolName, "f");
40
+ }
41
+ set poolName(value) {
42
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaContext_poolName, value, "f");
43
+ }
44
+ }
45
+ exports.HumaSolanaContext = HumaSolanaContext;
46
+ _HumaSolanaContext_publicKey = new WeakMap(), _HumaSolanaContext_connection = new WeakMap(), _HumaSolanaContext_chainId = new WeakMap(), _HumaSolanaContext_poolName = new WeakMap();
47
+ //# sourceMappingURL=HumaSolanaContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HumaSolanaContext.js","sourceRoot":"","sources":["../../../../src/helpers/solana/HumaSolanaContext.ts"],"names":[],"mappings":";;;;;AAGA,MAAa,iBAAiB;IAS5B,YAAY,EACV,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,GAMT;QAlBD,+CAAqB;QAErB,gDAAuB;QAEvB,6CAAyB;QAEzB,8CAAoB;QAalB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QAED,+BAAA,IAAI,gCAAc,SAAS,MAAA,CAAA;QAC3B,+BAAA,IAAI,iCAAe,UAAU,MAAA,CAAA;QAC7B,+BAAA,IAAI,8BAAY,OAAO,MAAA,CAAA;QACvB,+BAAA,IAAI,+BAAa,QAAQ,MAAA,CAAA;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,+BAAA,IAAI,oCAAW,CAAA;IACxB,CAAC;IAED,IAAI,SAAS,CAAC,KAAgB;QAC5B,+BAAA,IAAI,gCAAc,KAAK,MAAA,CAAA;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,+BAAA,IAAI,qCAAY,CAAA;IACzB,CAAC;IAED,IAAI,UAAU,CAAC,KAAiB;QAC9B,+BAAA,IAAI,iCAAe,KAAK,MAAA,CAAA;IAC1B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,+BAAA,IAAI,kCAAS,CAAA;IACtB,CAAC;IAED,IAAI,OAAO,CAAC,KAAsB;QAChC,+BAAA,IAAI,8BAAY,KAAK,MAAA,CAAA;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,+BAAA,IAAI,mCAAU,CAAA;IACvB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAgB;QAC3B,+BAAA,IAAI,+BAAa,KAAK,MAAA,CAAA;IACxB,CAAC;CACF;AA7DD,8CA6DC"}
@@ -0,0 +1,14 @@
1
+ import { Transaction } from '@solana/web3.js';
2
+ import { BN } from '@coral-xyz/anchor';
3
+ import { HumaSolanaContext } from './HumaSolanaContext';
4
+ export declare class HumaSolanaProgramHelper {
5
+ #private;
6
+ constructor({ solanaContext }: {
7
+ solanaContext: HumaSolanaContext;
8
+ });
9
+ buildSubmitReceivableTransaction(referenceId: string): Promise<Transaction>;
10
+ buildDrawdownTransaction(amount: BN): Promise<Transaction>;
11
+ buildPaymentTransaction(amount: BN, principalOnly?: boolean): Promise<Transaction>;
12
+ buildApproveAllowanceTransaction(): Promise<Transaction>;
13
+ getAccountInfo(): Promise<any>;
14
+ }
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ var _HumaSolanaProgramHelper_solanaContext;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.HumaSolanaProgramHelper = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const web3_js_1 = require("@solana/web3.js");
7
+ const anchor_1 = require("@coral-xyz/anchor");
8
+ const shared_1 = require("@huma-finance/shared");
9
+ const mpl_core_1 = require("@metaplex-foundation/mpl-core");
10
+ const spl_token_1 = require("@solana/spl-token");
11
+ const getReceivableReferenceAccount_1 = require("../../utils/solana/getReceivableReferenceAccount");
12
+ class HumaSolanaProgramHelper {
13
+ constructor({ solanaContext }) {
14
+ _HumaSolanaProgramHelper_solanaContext.set(this, void 0);
15
+ if (!solanaContext) {
16
+ throw new Error('All parameters are required');
17
+ }
18
+ tslib_1.__classPrivateFieldSet(this, _HumaSolanaProgramHelper_solanaContext, solanaContext, "f");
19
+ }
20
+ async buildSubmitReceivableTransaction(referenceId) {
21
+ const { publicKey, connection, chainId, poolName } = tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f");
22
+ const program = (0, shared_1.getHumaProgram)(chainId, connection);
23
+ const poolInfo = (0, shared_1.getSolanaPoolInfo)(chainId, poolName);
24
+ if (!poolInfo) {
25
+ throw new Error('Could not find pool');
26
+ }
27
+ const tx = new web3_js_1.Transaction();
28
+ const receivableReferenceData = await (0, getReceivableReferenceAccount_1.getReceivableReferenceData)(chainId, publicKey, connection, referenceId);
29
+ const { creditConfigAccount, creditStateAccount } = (0, shared_1.getCreditAccounts)(poolInfo, publicKey);
30
+ const programTx = await program.methods
31
+ .submitReceivable()
32
+ .accountsPartial({
33
+ borrower: publicKey,
34
+ asset: receivableReferenceData.asset,
35
+ humaConfig: poolInfo.humaConfig,
36
+ poolConfig: poolInfo.poolConfig,
37
+ poolState: poolInfo.poolState,
38
+ creditConfig: creditConfigAccount,
39
+ creditState: creditStateAccount,
40
+ mplCore: mpl_core_1.MPL_CORE_PROGRAM_ID,
41
+ logWrapper: null,
42
+ })
43
+ .transaction();
44
+ tx.add(programTx);
45
+ return tx;
46
+ }
47
+ async buildDrawdownTransaction(amount) {
48
+ var _a;
49
+ const { publicKey, connection, chainId, poolName } = tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f");
50
+ const program = (0, shared_1.getHumaProgram)(chainId, connection);
51
+ const poolInfo = (0, shared_1.getSolanaPoolInfo)(chainId, poolName);
52
+ if (!poolInfo) {
53
+ throw new Error('Could not find pool');
54
+ }
55
+ const tx = new web3_js_1.Transaction();
56
+ const { creditConfigAccount, creditStateAccount } = (0, shared_1.getCreditAccounts)(poolInfo, publicKey);
57
+ const { underlyingTokenATA: borrowerUnderlyingTokenAccountAddress } = (0, shared_1.getTokenAccounts)(poolInfo, publicKey);
58
+ const sentinelAddress = (0, shared_1.getSentinelAddress)(chainId);
59
+ let addApproveInstruction = false;
60
+ try {
61
+ const borrowerUnderlyingTokenAccountInfo = await (0, spl_token_1.getAccount)(connection, borrowerUnderlyingTokenAccountAddress, undefined, spl_token_1.TOKEN_2022_PROGRAM_ID);
62
+ if (new anchor_1.BN(borrowerUnderlyingTokenAccountInfo.delegatedAmount).lt(amount.muln(2)) ||
63
+ ((_a = borrowerUnderlyingTokenAccountInfo.delegate) === null || _a === void 0 ? void 0 : _a.toString()) !==
64
+ sentinelAddress) {
65
+ addApproveInstruction = true;
66
+ }
67
+ }
68
+ catch (error) {
69
+ if (error instanceof spl_token_1.TokenAccountNotFoundError) {
70
+ const createAccountInstruction = (0, spl_token_1.createAssociatedTokenAccountInstruction)(publicKey, borrowerUnderlyingTokenAccountAddress, publicKey, new web3_js_1.PublicKey(poolInfo.underlyingMint.address), spl_token_1.TOKEN_2022_PROGRAM_ID);
71
+ tx.add(createAccountInstruction);
72
+ addApproveInstruction = true;
73
+ }
74
+ }
75
+ if (addApproveInstruction) {
76
+ const approveInstruction = (0, spl_token_1.createApproveCheckedInstruction)(borrowerUnderlyingTokenAccountAddress, new web3_js_1.PublicKey(poolInfo.underlyingMint.address), new web3_js_1.PublicKey(sentinelAddress), // delegate
77
+ publicKey, // owner of the wallet
78
+ amount.muln(2), // amount
79
+ poolInfo.underlyingMint.decimals, undefined, // multiSigners
80
+ spl_token_1.TOKEN_2022_PROGRAM_ID);
81
+ tx.add(approveInstruction);
82
+ }
83
+ const programTx = await program.methods
84
+ .drawdown(amount)
85
+ .accountsPartial({
86
+ borrower: publicKey,
87
+ humaConfig: poolInfo.humaConfig,
88
+ poolConfig: poolInfo.poolConfig,
89
+ poolState: poolInfo.poolState,
90
+ creditConfig: creditConfigAccount,
91
+ creditState: creditStateAccount,
92
+ poolAuthority: poolInfo.poolAuthority,
93
+ underlyingMint: poolInfo.underlyingMint.address,
94
+ poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
95
+ borrowerUnderlyingToken: borrowerUnderlyingTokenAccountAddress,
96
+ tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
97
+ })
98
+ .transaction();
99
+ tx.add(programTx);
100
+ return tx;
101
+ }
102
+ async buildPaymentTransaction(amount, principalOnly = false) {
103
+ const { publicKey, chainId, poolName } = tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f");
104
+ const program = (0, shared_1.getHumaProgram)(chainId, tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f").connection);
105
+ const poolInfo = (0, shared_1.getSolanaPoolInfo)(chainId, poolName);
106
+ if (!poolInfo) {
107
+ throw new Error('Could not find pool');
108
+ }
109
+ const { creditConfigAccount, creditStateAccount } = (0, shared_1.getCreditAccounts)(poolInfo, publicKey);
110
+ const { underlyingTokenATA: borrowerUnderlyingTokenAcccount } = (0, shared_1.getTokenAccounts)(poolInfo, publicKey);
111
+ const accounts = {
112
+ humaConfig: poolInfo.humaConfig,
113
+ poolConfig: poolInfo.poolConfig,
114
+ poolState: poolInfo.poolState,
115
+ creditConfig: creditConfigAccount,
116
+ creditState: creditStateAccount,
117
+ poolAuthority: poolInfo.poolAuthority,
118
+ underlyingMint: poolInfo.underlyingMint.address,
119
+ poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
120
+ borrowerUnderlyingToken: borrowerUnderlyingTokenAcccount,
121
+ tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
122
+ };
123
+ let tx;
124
+ if (principalOnly) {
125
+ tx = await program.methods
126
+ .makePrincipalPayment(amount)
127
+ .accountsPartial(Object.assign(Object.assign({}, accounts), { borrower: publicKey }))
128
+ .transaction();
129
+ }
130
+ else {
131
+ tx = await program.methods
132
+ .makePayment(amount)
133
+ .accountsPartial(Object.assign(Object.assign({}, accounts), { signer: publicKey }))
134
+ .transaction();
135
+ }
136
+ return tx;
137
+ }
138
+ async buildApproveAllowanceTransaction() {
139
+ const { publicKey, chainId, poolName } = tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f");
140
+ const poolInfo = (0, shared_1.getSolanaPoolInfo)(chainId, poolName);
141
+ if (!poolInfo) {
142
+ throw new Error('Could not find pool');
143
+ }
144
+ const { underlyingTokenATA: borrowerUnderlyingTokenAcccount } = (0, shared_1.getTokenAccounts)(poolInfo, publicKey);
145
+ return new web3_js_1.Transaction().add((0, spl_token_1.createApproveCheckedInstruction)(borrowerUnderlyingTokenAcccount, new web3_js_1.PublicKey(poolInfo.underlyingMint.address), new web3_js_1.PublicKey((0, shared_1.getSentinelAddress)(chainId)), publicKey, shared_1.SolanaTokenUtils.parseUnits('100000000000', poolInfo.underlyingMint.decimals), poolInfo.underlyingMint.decimals, undefined, spl_token_1.TOKEN_2022_PROGRAM_ID));
146
+ }
147
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
148
+ async getAccountInfo() {
149
+ const { publicKey, chainId, poolName } = tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f");
150
+ const program = (0, shared_1.getHumaProgram)(chainId, tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f").connection);
151
+ const poolInfo = (0, shared_1.getSolanaPoolInfo)(chainId, poolName);
152
+ if (!poolInfo) {
153
+ throw new Error('Could not find pool');
154
+ }
155
+ const { creditConfigAccount, creditStateAccount } = (0, shared_1.getCreditAccounts)(poolInfo, publicKey);
156
+ const ccData = await program.account.creditConfig.fetchMultiple([
157
+ creditConfigAccount,
158
+ ]);
159
+ const ccInfo = ccData[0];
160
+ const csData = await program.account.creditState.fetchMultiple([
161
+ creditStateAccount,
162
+ ]);
163
+ const csInfo = csData[0];
164
+ if (!ccInfo || !csInfo) {
165
+ return null;
166
+ }
167
+ return {
168
+ creditConfig: ccInfo,
169
+ creditState: csInfo,
170
+ };
171
+ }
172
+ }
173
+ exports.HumaSolanaProgramHelper = HumaSolanaProgramHelper;
174
+ _HumaSolanaProgramHelper_solanaContext = new WeakMap();
175
+ //# sourceMappingURL=HumaSolanaProgramHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HumaSolanaProgramHelper.js","sourceRoot":"","sources":["../../../../src/helpers/solana/HumaSolanaProgramHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { BN } from '@coral-xyz/anchor';
2
+ import { Transaction, Keypair, PublicKey } from '@solana/web3.js';
3
+ import { HumaSolanaContext } from './HumaSolanaContext';
4
+ export type ReceivableState = 'deleted' | 'minted' | 'approved' | 'partiallyPaid' | 'paid' | 'rejected' | 'delayed' | 'defaulted';
5
+ export declare class HumaSolanaReceivableHelper {
6
+ #private;
7
+ constructor({ solanaContext }: {
8
+ solanaContext: HumaSolanaContext;
9
+ });
10
+ buildCreateReceivableTransaction(newAsset: Keypair, receivableArgs: {
11
+ name: string;
12
+ uri: string;
13
+ currencyCode: string;
14
+ receivableAmount: BN;
15
+ maturityDate: BN;
16
+ referenceId: string;
17
+ }): Promise<Transaction>;
18
+ buildDeclarePaymentTransaction(referenceId: string, paymentAmount: BN): Promise<Transaction>;
19
+ getReceivableInfo(referenceId: string): Promise<{
20
+ bump: number;
21
+ currencyCode: string;
22
+ receivableAmount: BN;
23
+ amountPaid: BN;
24
+ creationDate: BN;
25
+ maturityDate: BN;
26
+ creator: PublicKey;
27
+ state: ReceivableState;
28
+ } | null>;
29
+ }