@huma-finance/soroban-sdk 0.0.15-beta.35 → 0.0.15-beta.37
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.
- package/API.md +3 -3
- package/dist/cjs/helpers/CreditContractHelper.d.ts +2 -2
- package/dist/cjs/helpers/CreditContractHelper.js +29 -39
- package/dist/cjs/helpers/CreditContractHelper.js.map +1 -1
- package/dist/cjs/helpers/Sep41ContractHelper.d.ts +3 -3
- package/dist/cjs/helpers/Sep41ContractHelper.js +49 -18
- package/dist/cjs/helpers/Sep41ContractHelper.js.map +1 -1
- package/dist/cjs/utils/common.d.ts +3 -0
- package/dist/cjs/utils/common.js +9 -0
- package/dist/cjs/utils/common.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/network.d.ts +2 -1
- package/dist/cjs/utils/network.js +5 -1
- package/dist/cjs/utils/network.js.map +1 -1
- package/dist/cjs/utils/transaction.js +1 -3
- package/dist/cjs/utils/transaction.js.map +1 -1
- package/dist/helpers/CreditContractHelper.d.ts +2 -2
- package/dist/helpers/CreditContractHelper.js +3 -13
- package/dist/helpers/CreditContractHelper.js.map +1 -1
- package/dist/helpers/Sep41ContractHelper.d.ts +3 -3
- package/dist/helpers/Sep41ContractHelper.js +50 -19
- package/dist/helpers/Sep41ContractHelper.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/utils/common.d.ts +3 -0
- package/dist/utils/common.js +9 -0
- package/dist/utils/common.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/network.d.ts +2 -1
- package/dist/utils/network.js +5 -1
- package/dist/utils/network.js.map +1 -1
- package/dist/utils/transaction.js +1 -3
- package/dist/utils/transaction.js.map +1 -1
- package/package.json +11 -11
package/API.md
CHANGED
|
@@ -18,7 +18,7 @@ associated with the given pool name on the current chain.</p></dd>
|
|
|
18
18
|
<dd><p>Draws down from a pool.</p></dd>
|
|
19
19
|
<dt><a href="#makePayment">makePayment(poolName, network, wallet, paymentAmount, principalOnly)</a> ⇒ <code>Promise.<SentTransaction></code></dt>
|
|
20
20
|
<dd><p>Makes a payment.</p></dd>
|
|
21
|
-
<dt><a href="#approveSep41AllowanceIfInsufficient">approveSep41AllowanceIfInsufficient(network, wallet,
|
|
21
|
+
<dt><a href="#approveSep41AllowanceIfInsufficient">approveSep41AllowanceIfInsufficient(poolName, network, wallet, spenderAddress, allowanceAmount)</a> ⇒ <code>Promise.<(SentTransaction.<null>|null)></code></dt>
|
|
22
22
|
<dd><p>Approves an Sep41 allowance for a spender address, if the current allowance is insufficient.
|
|
23
23
|
Allowance is required to do certain actions on the Huma protocol (e.g. makePayment for Autopay)</p></dd>
|
|
24
24
|
</dl>
|
|
@@ -135,7 +135,7 @@ associated with the given pool name on the current chain.</p>
|
|
|
135
135
|
|
|
136
136
|
<a name="approveSep41AllowanceIfInsufficient"></a>
|
|
137
137
|
|
|
138
|
-
## approveSep41AllowanceIfInsufficient(network, wallet,
|
|
138
|
+
## approveSep41AllowanceIfInsufficient(poolName, network, wallet, spenderAddress, allowanceAmount) ⇒ <code>Promise.<(SentTransaction.<null>\|null)></code>
|
|
139
139
|
<p>Approves an Sep41 allowance for a spender address, if the current allowance is insufficient.
|
|
140
140
|
Allowance is required to do certain actions on the Huma protocol (e.g. makePayment for Autopay)</p>
|
|
141
141
|
|
|
@@ -146,9 +146,9 @@ Allowance is required to do certain actions on the Huma protocol (e.g. makePayme
|
|
|
146
146
|
|
|
147
147
|
| Param | Type | Description |
|
|
148
148
|
| --- | --- | --- |
|
|
149
|
+
| poolName | <code>POOL\_NAME</code> | <p>The name of the credit pool to get the contract instance for.</p> |
|
|
149
150
|
| network | <code>StellarNetwork</code> | <p>The stellar network.</p> |
|
|
150
151
|
| wallet | <code>StellarWallet</code> | <p>The wallet used to send the transaction.</p> |
|
|
151
|
-
| tokenAddress | <code>string</code> | <p>The address of the Sep41 token to approve.</p> |
|
|
152
152
|
| spenderAddress | <code>string</code> | <p>The address of the spender to approve an allowance for.</p> |
|
|
153
153
|
| allowanceAmount | <code>bigint</code> | <p>The amount of tokens to approve, if applicable. Denominated in the Sep41 tokens.</p> |
|
|
154
154
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CreditRecord } from '@huma-finance/soroban-pool-credit';
|
|
2
2
|
import { SentTransaction } from '@stellar/stellar-sdk/lib/contract';
|
|
3
|
-
import { StellarWallet } from '../services
|
|
4
|
-
import { POOL_NAME, StellarNetwork } from '../utils
|
|
3
|
+
import { StellarWallet } from '../services';
|
|
4
|
+
import { POOL_NAME, StellarNetwork } from '../utils';
|
|
5
5
|
/**
|
|
6
6
|
* Returns the current pool balance available for borrowing
|
|
7
7
|
*
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makePayment = exports.drawdown = exports.approveAllowanceForSentinel = exports.getTotalDue = exports.getAvailableCreditForPool = exports.getCreditRecordForPool = exports.getAvailableBalanceForPool = void 0;
|
|
4
|
-
const
|
|
5
|
-
const common_1 = require("../utils/common");
|
|
6
|
-
const transaction_1 = require("../utils/transaction");
|
|
4
|
+
const utils_1 = require("../utils");
|
|
7
5
|
const Sep41ContractHelper_1 = require("./Sep41ContractHelper");
|
|
8
6
|
/**
|
|
9
7
|
* Returns the current pool balance available for borrowing
|
|
@@ -13,8 +11,8 @@ const Sep41ContractHelper_1 = require("./Sep41ContractHelper");
|
|
|
13
11
|
* @param {StellarWallet} wallet - The stellar wallet.
|
|
14
12
|
*/
|
|
15
13
|
async function getAvailableBalanceForPool(poolName, network, wallet) {
|
|
16
|
-
const poolStorageContext = new
|
|
17
|
-
const { result } = await (0,
|
|
14
|
+
const poolStorageContext = new utils_1.TransactionContext(poolName, network, wallet, 'poolStorage');
|
|
15
|
+
const { result } = await (0, utils_1.sendTransaction)({
|
|
18
16
|
context: poolStorageContext,
|
|
19
17
|
method: 'get_available_balance',
|
|
20
18
|
});
|
|
@@ -30,14 +28,14 @@ exports.getAvailableBalanceForPool = getAvailableBalanceForPool;
|
|
|
30
28
|
* @param {string} borrower - The address of the borrower to check the credit record for.
|
|
31
29
|
*/
|
|
32
30
|
async function getCreditRecordForPool(poolName, network, wallet, borrower) {
|
|
33
|
-
const creditStorageContext = new
|
|
34
|
-
const { result: creditHash } = await (0,
|
|
31
|
+
const creditStorageContext = new utils_1.TransactionContext(poolName, network, wallet, 'creditStorage');
|
|
32
|
+
const { result: creditHash } = await (0, utils_1.sendTransaction)({
|
|
35
33
|
context: creditStorageContext,
|
|
36
34
|
method: 'get_credit_hash',
|
|
37
35
|
params: [
|
|
38
36
|
{
|
|
39
37
|
name: 'borrower',
|
|
40
|
-
type:
|
|
38
|
+
type: utils_1.ScValType.address,
|
|
41
39
|
value: borrower,
|
|
42
40
|
},
|
|
43
41
|
],
|
|
@@ -45,13 +43,13 @@ async function getCreditRecordForPool(poolName, network, wallet, borrower) {
|
|
|
45
43
|
if (!creditHash) {
|
|
46
44
|
throw new Error('Could not find credit hash');
|
|
47
45
|
}
|
|
48
|
-
const { result: creditRecord } = await (0,
|
|
46
|
+
const { result: creditRecord } = await (0, utils_1.sendTransaction)({
|
|
49
47
|
context: creditStorageContext,
|
|
50
48
|
method: 'get_credit_record',
|
|
51
49
|
params: [
|
|
52
50
|
{
|
|
53
51
|
name: 'credit_hash',
|
|
54
|
-
type:
|
|
52
|
+
type: utils_1.ScValType.buffer,
|
|
55
53
|
value: creditHash,
|
|
56
54
|
},
|
|
57
55
|
],
|
|
@@ -73,14 +71,14 @@ exports.getCreditRecordForPool = getCreditRecordForPool;
|
|
|
73
71
|
* @param {string} borrower - The address of the borrower to check the available credit for.
|
|
74
72
|
*/
|
|
75
73
|
async function getAvailableCreditForPool(poolName, network, wallet, borrower) {
|
|
76
|
-
const creditStorageContext = new
|
|
77
|
-
const { result: creditHash } = await (0,
|
|
74
|
+
const creditStorageContext = new utils_1.TransactionContext(poolName, network, wallet, 'creditStorage');
|
|
75
|
+
const { result: creditHash } = await (0, utils_1.sendTransaction)({
|
|
78
76
|
context: creditStorageContext,
|
|
79
77
|
method: 'get_credit_hash',
|
|
80
78
|
params: [
|
|
81
79
|
{
|
|
82
80
|
name: 'borrower',
|
|
83
|
-
type:
|
|
81
|
+
type: utils_1.ScValType.address,
|
|
84
82
|
value: borrower,
|
|
85
83
|
},
|
|
86
84
|
],
|
|
@@ -90,15 +88,15 @@ async function getAvailableCreditForPool(poolName, network, wallet, borrower) {
|
|
|
90
88
|
}
|
|
91
89
|
const creditHashParam = {
|
|
92
90
|
name: 'credit_hash',
|
|
93
|
-
type:
|
|
91
|
+
type: utils_1.ScValType.buffer,
|
|
94
92
|
value: creditHash,
|
|
95
93
|
};
|
|
96
|
-
const { result: creditConfig } = await (0,
|
|
94
|
+
const { result: creditConfig } = await (0, utils_1.sendTransaction)({
|
|
97
95
|
context: creditStorageContext,
|
|
98
96
|
method: 'get_credit_config',
|
|
99
97
|
params: [creditHashParam],
|
|
100
98
|
});
|
|
101
|
-
const { result: creditRecord } = await (0,
|
|
99
|
+
const { result: creditRecord } = await (0, utils_1.sendTransaction)({
|
|
102
100
|
context: creditStorageContext,
|
|
103
101
|
method: 'get_credit_record',
|
|
104
102
|
params: [creditHashParam],
|
|
@@ -142,16 +140,12 @@ async function approveAllowanceForSentinel(poolName, network, wallet) {
|
|
|
142
140
|
if (totalDue === null) {
|
|
143
141
|
throw new Error('Could not find total due');
|
|
144
142
|
}
|
|
145
|
-
const poolStorageContext = new
|
|
146
|
-
const { result:
|
|
147
|
-
context: poolStorageContext,
|
|
148
|
-
method: 'get_underlying_token',
|
|
149
|
-
});
|
|
150
|
-
const { result: sentinel } = await (0, transaction_1.sendTransaction)({
|
|
143
|
+
const poolStorageContext = new utils_1.TransactionContext(poolName, network, wallet, 'poolStorage');
|
|
144
|
+
const { result: sentinel } = await (0, utils_1.sendTransaction)({
|
|
151
145
|
context: poolStorageContext,
|
|
152
146
|
method: 'get_sentinel',
|
|
153
147
|
});
|
|
154
|
-
const tx = await (0, Sep41ContractHelper_1.approveSep41AllowanceIfInsufficient)(network, wallet,
|
|
148
|
+
const tx = await (0, Sep41ContractHelper_1.approveSep41AllowanceIfInsufficient)(poolName, network, wallet, sentinel, totalDue);
|
|
155
149
|
return tx;
|
|
156
150
|
}
|
|
157
151
|
exports.approveAllowanceForSentinel = approveAllowanceForSentinel;
|
|
@@ -168,19 +162,19 @@ exports.approveAllowanceForSentinel = approveAllowanceForSentinel;
|
|
|
168
162
|
*/
|
|
169
163
|
async function drawdown(poolName, network, wallet, drawdownAmount) {
|
|
170
164
|
await approveAllowanceForSentinel(poolName, network, wallet);
|
|
171
|
-
const poolCreditContext = new
|
|
172
|
-
const result = await (0,
|
|
165
|
+
const poolCreditContext = new utils_1.TransactionContext(poolName, network, wallet, 'poolCredit');
|
|
166
|
+
const result = await (0, utils_1.sendTransaction)({
|
|
173
167
|
context: poolCreditContext,
|
|
174
168
|
method: 'drawdown',
|
|
175
169
|
params: [
|
|
176
170
|
{
|
|
177
171
|
name: 'borrower',
|
|
178
|
-
type:
|
|
172
|
+
type: utils_1.ScValType.address,
|
|
179
173
|
value: wallet.userInfo.publicKey,
|
|
180
174
|
},
|
|
181
175
|
{
|
|
182
176
|
name: 'amount',
|
|
183
|
-
type:
|
|
177
|
+
type: utils_1.ScValType.u128,
|
|
184
178
|
value: drawdownAmount,
|
|
185
179
|
},
|
|
186
180
|
],
|
|
@@ -203,37 +197,33 @@ exports.drawdown = drawdown;
|
|
|
203
197
|
*/
|
|
204
198
|
async function makePayment(poolName, network, wallet, paymentAmount, principalOnly) {
|
|
205
199
|
await approveAllowanceForSentinel(poolName, network, wallet);
|
|
206
|
-
const poolStorageContext = new
|
|
207
|
-
const { result:
|
|
208
|
-
context: poolStorageContext,
|
|
209
|
-
method: 'get_underlying_token',
|
|
210
|
-
});
|
|
211
|
-
const { result: sentinel } = await (0, transaction_1.sendTransaction)({
|
|
200
|
+
const poolStorageContext = new utils_1.TransactionContext(poolName, network, wallet, 'poolStorage');
|
|
201
|
+
const { result: sentinel } = await (0, utils_1.sendTransaction)({
|
|
212
202
|
context: poolStorageContext,
|
|
213
203
|
method: 'get_sentinel',
|
|
214
204
|
});
|
|
215
|
-
await (0, Sep41ContractHelper_1.approveSep41AllowanceIfInsufficient)(network, wallet,
|
|
216
|
-
const poolCreditContext = new
|
|
205
|
+
await (0, Sep41ContractHelper_1.approveSep41AllowanceIfInsufficient)(poolName, network, wallet, sentinel, paymentAmount);
|
|
206
|
+
const poolCreditContext = new utils_1.TransactionContext(poolName, network, wallet, 'poolCredit');
|
|
217
207
|
const params = [
|
|
218
208
|
{
|
|
219
209
|
name: 'borrower',
|
|
220
|
-
type:
|
|
210
|
+
type: utils_1.ScValType.address,
|
|
221
211
|
value: wallet.userInfo.publicKey,
|
|
222
212
|
},
|
|
223
213
|
{
|
|
224
214
|
name: 'amount',
|
|
225
|
-
type:
|
|
215
|
+
type: utils_1.ScValType.u128,
|
|
226
216
|
value: paymentAmount,
|
|
227
217
|
},
|
|
228
218
|
];
|
|
229
219
|
if (!principalOnly) {
|
|
230
220
|
params.unshift({
|
|
231
221
|
name: 'caller',
|
|
232
|
-
type:
|
|
222
|
+
type: utils_1.ScValType.address,
|
|
233
223
|
value: wallet.userInfo.publicKey,
|
|
234
224
|
});
|
|
235
225
|
}
|
|
236
|
-
const result = await (0,
|
|
226
|
+
const result = await (0, utils_1.sendTransaction)({
|
|
237
227
|
context: poolCreditContext,
|
|
238
228
|
method: principalOnly ? 'make_principal_payment' : 'make_payment',
|
|
239
229
|
params: params,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/CreditContractHelper.ts"],"names":[],"mappings":";;;AAKA,
|
|
1
|
+
{"version":3,"file":"CreditContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/CreditContractHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { SentTransaction } from '@stellar/stellar-sdk/lib/contract';
|
|
2
2
|
import { StellarWallet } from '../services';
|
|
3
|
-
import { StellarNetwork } from '../utils';
|
|
3
|
+
import { POOL_NAME, StellarNetwork } from '../utils';
|
|
4
4
|
/**
|
|
5
5
|
* Approves an Sep41 allowance for a spender address, if the current allowance is insufficient.
|
|
6
6
|
* Allowance is required to do certain actions on the Huma protocol (e.g. makePayment for Autopay)
|
|
7
7
|
*
|
|
8
8
|
* @async
|
|
9
9
|
* @function
|
|
10
|
+
* @param {POOL_NAME} poolName - The name of the credit pool to get the contract instance for.
|
|
10
11
|
* @param {StellarNetwork} network - The stellar network.
|
|
11
12
|
* @param {StellarWallet} wallet - The wallet used to send the transaction.
|
|
12
|
-
* @param {string} tokenAddress - The address of the Sep41 token to approve.
|
|
13
13
|
* @param {string} spenderAddress - The address of the spender to approve an allowance for.
|
|
14
14
|
* @param {bigint} allowanceAmount - The amount of tokens to approve, if applicable. Denominated in the Sep41 tokens.
|
|
15
15
|
* @returns {Promise<SentTransaction<null> | null>} - A Promise of the transaction response, or null if the allowance was already sufficient.
|
|
16
16
|
*/
|
|
17
|
-
export declare function approveSep41AllowanceIfInsufficient(network: StellarNetwork, wallet: StellarWallet,
|
|
17
|
+
export declare function approveSep41AllowanceIfInsufficient(poolName: POOL_NAME, network: StellarNetwork, wallet: StellarWallet, spenderAddress: string, allowanceAmount: bigint): Promise<SentTransaction<null> | null>;
|
|
@@ -8,35 +8,66 @@ const utils_1 = require("../utils");
|
|
|
8
8
|
*
|
|
9
9
|
* @async
|
|
10
10
|
* @function
|
|
11
|
+
* @param {POOL_NAME} poolName - The name of the credit pool to get the contract instance for.
|
|
11
12
|
* @param {StellarNetwork} network - The stellar network.
|
|
12
13
|
* @param {StellarWallet} wallet - The wallet used to send the transaction.
|
|
13
|
-
* @param {string} tokenAddress - The address of the Sep41 token to approve.
|
|
14
14
|
* @param {string} spenderAddress - The address of the spender to approve an allowance for.
|
|
15
15
|
* @param {bigint} allowanceAmount - The amount of tokens to approve, if applicable. Denominated in the Sep41 tokens.
|
|
16
16
|
* @returns {Promise<SentTransaction<null> | null>} - A Promise of the transaction response, or null if the allowance was already sufficient.
|
|
17
17
|
*/
|
|
18
|
-
async function approveSep41AllowanceIfInsufficient(network, wallet,
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
async function approveSep41AllowanceIfInsufficient(poolName, network, wallet, spenderAddress, allowanceAmount) {
|
|
19
|
+
const underlyingTokenContext = new utils_1.TransactionContext(poolName, network, wallet, 'underlyingToken');
|
|
20
|
+
const { result: allowance } = await (0, utils_1.sendTransaction)({
|
|
21
|
+
context: underlyingTokenContext,
|
|
22
|
+
method: 'allowance',
|
|
23
|
+
params: [
|
|
24
|
+
{
|
|
25
|
+
name: 'from',
|
|
26
|
+
type: utils_1.ScValType.address,
|
|
27
|
+
value: wallet.userInfo.publicKey,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'spender',
|
|
31
|
+
type: utils_1.ScValType.address,
|
|
32
|
+
value: spenderAddress,
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
});
|
|
36
|
+
const { result: decimals } = await (0, utils_1.sendTransaction)({
|
|
37
|
+
context: underlyingTokenContext,
|
|
38
|
+
method: 'decimals',
|
|
39
|
+
});
|
|
27
40
|
if (allowance < allowanceAmount) {
|
|
28
41
|
const latestLedger = await (0, utils_1.getLatestLedger)(network);
|
|
29
42
|
// @TODO find a better to advance the ledger number
|
|
30
43
|
const advanceLedgerNum = 3000000;
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
const result = await (0, utils_1.sendTransaction)({
|
|
45
|
+
context: underlyingTokenContext,
|
|
46
|
+
method: 'approve',
|
|
47
|
+
params: [
|
|
48
|
+
{
|
|
49
|
+
name: 'from',
|
|
50
|
+
type: utils_1.ScValType.address,
|
|
51
|
+
value: wallet.userInfo.publicKey,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'spender',
|
|
55
|
+
type: utils_1.ScValType.address,
|
|
56
|
+
value: spenderAddress,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'amount',
|
|
60
|
+
type: utils_1.ScValType.i128,
|
|
61
|
+
value: 1000000000 * Math.pow(10, Number(decimals)),
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'expiration_ledger',
|
|
65
|
+
type: utils_1.ScValType.u32,
|
|
66
|
+
value: latestLedger.sequence + advanceLedgerNum,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
shouldSignTransaction: true,
|
|
38
70
|
});
|
|
39
|
-
const result = await tx.signAndSend();
|
|
40
71
|
return result;
|
|
41
72
|
}
|
|
42
73
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sep41ContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/Sep41ContractHelper.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"Sep41ContractHelper.js","sourceRoot":"","sources":["../../../src/helpers/Sep41ContractHelper.ts"],"names":[],"mappings":";;;AAGA,oCAOiB;AAEjB;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,mCAAmC,CACvD,QAAmB,EACnB,OAAuB,EACvB,MAAqB,EACrB,cAAsB,EACtB,eAAuB;IAEvB,MAAM,sBAAsB,GAAG,IAAI,0BAAkB,CACnD,QAAQ,EACR,OAAO,EACP,MAAM,EACN,iBAAiB,CAClB,CAAA;IAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,uBAAe,EAAS;QAC1D,OAAO,EAAE,sBAAsB;QAC/B,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAS,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;aACjC;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,iBAAS,CAAC,OAAO;gBACvB,KAAK,EAAE,cAAc;aACtB;SACF;KACF,CAAC,CAAA;IACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,uBAAe,EAAS;QACzD,OAAO,EAAE,sBAAsB;QAC/B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAA;IAEF,IAAI,SAAS,GAAG,eAAe,EAAE;QAC/B,MAAM,YAAY,GAAG,MAAM,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAA;QACnD,mDAAmD;QACnD,MAAM,gBAAgB,GAAG,OAAS,CAAA;QAElC,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAe,EAAC;YACnC,OAAO,EAAE,sBAAsB;YAC/B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iBAAS,CAAC,OAAO;oBACvB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;iBACjC;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,iBAAS,CAAC,OAAO;oBACvB,KAAK,EAAE,cAAc;iBACtB;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,iBAAS,CAAC,IAAI;oBACpB,KAAK,EAAE,UAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACrD;gBACD;oBACE,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,iBAAS,CAAC,GAAG;oBACnB,KAAK,EAAE,YAAY,CAAC,QAAQ,GAAG,gBAAgB;iBAChD;aACF;YACD,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;KACd;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAxED,kFAwEC"}
|
package/dist/cjs/utils/common.js
CHANGED
|
@@ -9,6 +9,9 @@ var ScValType;
|
|
|
9
9
|
ScValType["u128"] = "u128";
|
|
10
10
|
ScValType["u64"] = "u64";
|
|
11
11
|
ScValType["u32"] = "u32";
|
|
12
|
+
ScValType["i128"] = "i128";
|
|
13
|
+
ScValType["i64"] = "i64";
|
|
14
|
+
ScValType["i32"] = "i32";
|
|
12
15
|
ScValType["bool"] = "bool";
|
|
13
16
|
ScValType["enum"] = "enum";
|
|
14
17
|
ScValType["buffer"] = "buffer";
|
|
@@ -25,6 +28,12 @@ value, type) => {
|
|
|
25
28
|
return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.u64 });
|
|
26
29
|
case ScValType.u32:
|
|
27
30
|
return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.u32 });
|
|
31
|
+
case ScValType.i128:
|
|
32
|
+
return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.i128 });
|
|
33
|
+
case ScValType.i64:
|
|
34
|
+
return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.i64 });
|
|
35
|
+
case ScValType.i32:
|
|
36
|
+
return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.i32 });
|
|
28
37
|
case ScValType.bool:
|
|
29
38
|
return stellar_sdk_1.xdr.ScVal.scvBool(value);
|
|
30
39
|
case ScValType.enum:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":";;;AAAA,sDAA8E;AAC9E,uCAIkB;AAElB,IAAY,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./client"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./common"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./network"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./transaction"), exports);
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,mDAAwB;AACxB,oDAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,mDAAwB;AACxB,oDAAyB;AACzB,wDAA6B"}
|
|
@@ -13,7 +13,7 @@ export declare enum StellarNetworkPassphrase {
|
|
|
13
13
|
humanet = "Standalone Network ; February 2017"
|
|
14
14
|
}
|
|
15
15
|
export declare enum StellarPublicRpcUrl {
|
|
16
|
-
mainnet = "https://
|
|
16
|
+
mainnet = "https://svc.blockdaemon.com/stellar/mainnet/native/soroban-rpc",
|
|
17
17
|
testnet = "https://soroban-testnet.stellar.org",
|
|
18
18
|
futurenet = "https://rpc-futurenet.stellar.org",
|
|
19
19
|
localnet = "http://localhost:8000/soroban/rpc",
|
|
@@ -38,6 +38,7 @@ export type PoolMetadata = {
|
|
|
38
38
|
creditStorage: string;
|
|
39
39
|
juniorTranche: string;
|
|
40
40
|
seniorTranche?: string;
|
|
41
|
+
underlyingToken: string;
|
|
41
42
|
};
|
|
42
43
|
borrowers: string[];
|
|
43
44
|
};
|
|
@@ -19,7 +19,7 @@ var StellarNetworkPassphrase;
|
|
|
19
19
|
})(StellarNetworkPassphrase = exports.StellarNetworkPassphrase || (exports.StellarNetworkPassphrase = {}));
|
|
20
20
|
var StellarPublicRpcUrl;
|
|
21
21
|
(function (StellarPublicRpcUrl) {
|
|
22
|
-
StellarPublicRpcUrl["mainnet"] = "https://
|
|
22
|
+
StellarPublicRpcUrl["mainnet"] = "https://svc.blockdaemon.com/stellar/mainnet/native/soroban-rpc";
|
|
23
23
|
StellarPublicRpcUrl["testnet"] = "https://soroban-testnet.stellar.org";
|
|
24
24
|
StellarPublicRpcUrl["futurenet"] = "https://rpc-futurenet.stellar.org";
|
|
25
25
|
StellarPublicRpcUrl["localnet"] = "http://localhost:8000/soroban/rpc";
|
|
@@ -52,6 +52,7 @@ exports.NetworkMetadatas = [
|
|
|
52
52
|
creditStorage: 'CCAGR4BX7NGUUVD55B7DCKH2ZY4ISYCHMWNVEA63AKUXAESHJTRNWDTB',
|
|
53
53
|
juniorTranche: 'CDHZGXZLW3Q2MJOC6RB4IYOSGI7P3T2AEE6DAIS4ATMOXYHHDQ5G5UWG',
|
|
54
54
|
seniorTranche: 'CAEGT76URZASBOLMWNASRDPMWM3TELHTH7CEZEMRJRTT3GO6HJCW4HSU',
|
|
55
|
+
underlyingToken: 'CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75',
|
|
55
56
|
},
|
|
56
57
|
borrowers: ['GBQ4MIGKASCJG4GNEOQ3G6Z6YDUXCAKYARB3MNJ7QOF54MNMYW7HP62V'],
|
|
57
58
|
},
|
|
@@ -74,6 +75,7 @@ exports.NetworkMetadatas = [
|
|
|
74
75
|
creditManager: 'CAF346JT7XMFUZWHX2QKDIHDBQMMZOUPVA7Q4C2PRP7HOO6SMOGPKC7F',
|
|
75
76
|
creditStorage: 'CDXG5THQJWEKY6XO6VH673J5KYUAU5Q2FPGLWO4YM2TXYMXEOEQOE4DZ',
|
|
76
77
|
juniorTranche: 'CCDCJ5PYATGWFBNSVISW5B4GMSOTJSMK2T7TOB6XLIUA66OCSGPKB3RV',
|
|
78
|
+
underlyingToken: 'CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA',
|
|
77
79
|
},
|
|
78
80
|
borrowers: ['GBK62KZMUVEKLGGB3UYCRUP2BVDUE6UEZWUHPUNJ54BKFDTW4CNSF6O7'],
|
|
79
81
|
},
|
|
@@ -97,6 +99,7 @@ exports.NetworkMetadatas = [
|
|
|
97
99
|
creditStorage: 'CCPTCRU7FUVQLNR4GGUBWQDHJCQTW3MXDZQYQQGB4OC2PNME7HNIV3R3',
|
|
98
100
|
juniorTranche: 'CD4TNCKN7PDNOBS2JHEXRXPHOL327EX4Z7EURDG2XFWBZ67XG5XW5Q7O',
|
|
99
101
|
seniorTranche: 'CDOB4BPE2AKSZYW27QP4IYVIIGVQD3C7E7YL6XRZ2ANM7MYJT2TKOVPC',
|
|
102
|
+
underlyingToken: '',
|
|
100
103
|
},
|
|
101
104
|
borrowers: [],
|
|
102
105
|
},
|
|
@@ -120,6 +123,7 @@ exports.NetworkMetadatas = [
|
|
|
120
123
|
creditStorage: 'CB7KFMFHVENKUMLB3QYRGMLFQMJ5IPIEBLKOMWXYLRY537EHNAON6U56',
|
|
121
124
|
juniorTranche: 'CBDPTKXAOUVRUCGPUJKRZGL3AKZVEOPUR5BFNRAHTJSI6WOUZLXU4KXP',
|
|
122
125
|
seniorTranche: 'CBM2QHAXIELWLDITPPXU4ILWOFKA6RLO4M5OSJJS4QJNWDU5L7CSKJUP',
|
|
126
|
+
underlyingToken: '',
|
|
123
127
|
},
|
|
124
128
|
borrowers: [],
|
|
125
129
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/utils/network.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;AACrB,CAAC,EANW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAMzB;AAED,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,sFAA0D,CAAA;IAC1D,yEAA6C,CAAA;IAC7C,gFAAoD,CAAA;IACpD,2EAA+C,CAAA;IAC/C,0EAA8C,CAAA;AAChD,CAAC,EANW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMnC;AAED,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/utils/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,9 @@ const network_1 = require("./network");
|
|
|
7
7
|
const handlePendingTransaction = async (sendResponse, server) => {
|
|
8
8
|
if (sendResponse.status === 'PENDING') {
|
|
9
9
|
let getResponse = await server.getTransaction(sendResponse.hash);
|
|
10
|
-
|
|
11
|
-
while (getResponse.status === 'NOT_FOUND' || retryCount < 90) {
|
|
10
|
+
while (getResponse.status === 'NOT_FOUND') {
|
|
12
11
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
13
12
|
getResponse = await server.getTransaction(sendResponse.hash);
|
|
14
|
-
retryCount++;
|
|
15
13
|
}
|
|
16
14
|
if (getResponse.status === 'SUCCESS') {
|
|
17
15
|
if (!getResponse.resultMetaXdr) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/utils/transaction.ts"],"names":[],"mappings":";;;AAAA,sDAO6B;AAK7B,qCAA6C;AAC7C,uCAIkB;AAElB,MAAM,wBAAwB,GAAG,KAAK,EACpC,YAAoD,EACpD,MAAyB,EACzB,EAAE;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE;QACrC,IAAI,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAChE,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/utils/transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CreditRecord } from '@huma-finance/soroban-pool-credit';
|
|
2
2
|
import { SentTransaction } from '@stellar/stellar-sdk/lib/contract';
|
|
3
|
-
import { StellarWallet } from '../services
|
|
4
|
-
import { POOL_NAME, StellarNetwork } from '../utils
|
|
3
|
+
import { StellarWallet } from '../services';
|
|
4
|
+
import { POOL_NAME, StellarNetwork } from '../utils';
|
|
5
5
|
/**
|
|
6
6
|
* Returns the current pool balance available for borrowing
|
|
7
7
|
*
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { TransactionContext } from '../utils
|
|
2
|
-
import { ScValType } from '../utils/common';
|
|
3
|
-
import { sendTransaction } from '../utils/transaction';
|
|
1
|
+
import { ScValType, sendTransaction, TransactionContext, } from '../utils';
|
|
4
2
|
import { approveSep41AllowanceIfInsufficient } from './Sep41ContractHelper';
|
|
5
3
|
/**
|
|
6
4
|
* Returns the current pool balance available for borrowing
|
|
@@ -136,15 +134,11 @@ export async function approveAllowanceForSentinel(poolName, network, wallet) {
|
|
|
136
134
|
throw new Error('Could not find total due');
|
|
137
135
|
}
|
|
138
136
|
const poolStorageContext = new TransactionContext(poolName, network, wallet, 'poolStorage');
|
|
139
|
-
const { result: underlyingToken } = await sendTransaction({
|
|
140
|
-
context: poolStorageContext,
|
|
141
|
-
method: 'get_underlying_token',
|
|
142
|
-
});
|
|
143
137
|
const { result: sentinel } = await sendTransaction({
|
|
144
138
|
context: poolStorageContext,
|
|
145
139
|
method: 'get_sentinel',
|
|
146
140
|
});
|
|
147
|
-
const tx = await approveSep41AllowanceIfInsufficient(network, wallet,
|
|
141
|
+
const tx = await approveSep41AllowanceIfInsufficient(poolName, network, wallet, sentinel, totalDue);
|
|
148
142
|
return tx;
|
|
149
143
|
}
|
|
150
144
|
/**
|
|
@@ -195,15 +189,11 @@ export async function drawdown(poolName, network, wallet, drawdownAmount) {
|
|
|
195
189
|
export async function makePayment(poolName, network, wallet, paymentAmount, principalOnly) {
|
|
196
190
|
await approveAllowanceForSentinel(poolName, network, wallet);
|
|
197
191
|
const poolStorageContext = new TransactionContext(poolName, network, wallet, 'poolStorage');
|
|
198
|
-
const { result: underlyingToken } = await sendTransaction({
|
|
199
|
-
context: poolStorageContext,
|
|
200
|
-
method: 'get_underlying_token',
|
|
201
|
-
});
|
|
202
192
|
const { result: sentinel } = await sendTransaction({
|
|
203
193
|
context: poolStorageContext,
|
|
204
194
|
method: 'get_sentinel',
|
|
205
195
|
});
|
|
206
|
-
await approveSep41AllowanceIfInsufficient(network, wallet,
|
|
196
|
+
await approveSep41AllowanceIfInsufficient(poolName, network, wallet, sentinel, paymentAmount);
|
|
207
197
|
const poolCreditContext = new TransactionContext(poolName, network, wallet, 'poolCredit');
|
|
208
198
|
const params = [
|
|
209
199
|
{
|