@huma-finance/soroban-sdk 0.0.15-beta.39 → 0.0.15
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/dist/cjs/helpers/CreditContractHelper.d.ts +13 -3
- package/dist/cjs/helpers/CreditContractHelper.js +91 -107
- package/dist/cjs/helpers/CreditContractHelper.js.map +1 -1
- package/dist/cjs/helpers/Sep41ContractHelper.d.ts +3 -3
- package/dist/cjs/helpers/Sep41ContractHelper.js +18 -49
- package/dist/cjs/helpers/Sep41ContractHelper.js.map +1 -1
- package/dist/cjs/services/StellarWallet.d.ts +1 -3
- package/dist/cjs/services/StellarWallet.js +3 -10
- package/dist/cjs/services/StellarWallet.js.map +1 -1
- package/dist/cjs/utils/client.d.ts +3 -12
- package/dist/cjs/utils/client.js +4 -58
- package/dist/cjs/utils/client.js.map +1 -1
- package/dist/cjs/utils/common.d.ts +1 -14
- package/dist/cjs/utils/common.js +1 -41
- package/dist/cjs/utils/common.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +0 -1
- package/dist/cjs/utils/index.js +0 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/network.d.ts +2 -5
- package/dist/cjs/utils/network.js +19 -48
- package/dist/cjs/utils/network.js.map +1 -1
- package/dist/helpers/CreditContractHelper.d.ts +13 -3
- package/dist/helpers/CreditContractHelper.js +89 -106
- package/dist/helpers/CreditContractHelper.js.map +1 -1
- package/dist/helpers/Sep41ContractHelper.d.ts +3 -3
- package/dist/helpers/Sep41ContractHelper.js +19 -50
- package/dist/helpers/Sep41ContractHelper.js.map +1 -1
- package/dist/services/StellarWallet.d.ts +1 -3
- package/dist/services/StellarWallet.js +3 -10
- package/dist/services/StellarWallet.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/utils/client.d.ts +3 -12
- package/dist/utils/client.js +3 -56
- package/dist/utils/client.js.map +1 -1
- package/dist/utils/common.d.ts +1 -14
- package/dist/utils/common.js +1 -40
- package/dist/utils/common.js.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/network.d.ts +2 -5
- package/dist/utils/network.js +19 -48
- package/dist/utils/network.js.map +1 -1
- package/package.json +11 -11
- package/dist/cjs/utils/transaction.d.ts +0 -25
- package/dist/cjs/utils/transaction.js +0 -125
- package/dist/cjs/utils/transaction.js.map +0 -1
- package/dist/utils/transaction.d.ts +0 -25
- package/dist/utils/transaction.js +0 -117
- package/dist/utils/transaction.js.map +0 -1
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
import { SorobanRpc
|
|
1
|
+
import { SorobanRpc } from '@stellar/stellar-sdk';
|
|
2
2
|
import { StellarNetwork } from './network';
|
|
3
|
-
export declare enum ScValType {
|
|
4
|
-
address = "address",
|
|
5
|
-
u128 = "u128",
|
|
6
|
-
u64 = "u64",
|
|
7
|
-
u32 = "u32",
|
|
8
|
-
i128 = "i128",
|
|
9
|
-
i64 = "i64",
|
|
10
|
-
i32 = "i32",
|
|
11
|
-
bool = "bool",
|
|
12
|
-
enum = "enum",
|
|
13
|
-
buffer = "buffer"
|
|
14
|
-
}
|
|
15
|
-
export declare const toScVal: (value: any, type: ScValType) => xdr.ScVal;
|
|
16
3
|
export declare const findPoolMetadata: (network: StellarNetwork, poolName: string) => import("./network").PoolMetadata | undefined;
|
|
17
4
|
export declare const getLatestLedger: (network: StellarNetwork) => Promise<SorobanRpc.Api.GetLatestLedgerResponse>;
|
package/dist/cjs/utils/common.js
CHANGED
|
@@ -1,48 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLatestLedger = exports.findPoolMetadata =
|
|
3
|
+
exports.getLatestLedger = exports.findPoolMetadata = void 0;
|
|
4
4
|
const stellar_sdk_1 = require("@stellar/stellar-sdk");
|
|
5
5
|
const network_1 = require("./network");
|
|
6
|
-
var ScValType;
|
|
7
|
-
(function (ScValType) {
|
|
8
|
-
ScValType["address"] = "address";
|
|
9
|
-
ScValType["u128"] = "u128";
|
|
10
|
-
ScValType["u64"] = "u64";
|
|
11
|
-
ScValType["u32"] = "u32";
|
|
12
|
-
ScValType["i128"] = "i128";
|
|
13
|
-
ScValType["i64"] = "i64";
|
|
14
|
-
ScValType["i32"] = "i32";
|
|
15
|
-
ScValType["bool"] = "bool";
|
|
16
|
-
ScValType["enum"] = "enum";
|
|
17
|
-
ScValType["buffer"] = "buffer";
|
|
18
|
-
})(ScValType = exports.ScValType || (exports.ScValType = {}));
|
|
19
|
-
const toScVal = (
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
|
-
value, type) => {
|
|
22
|
-
switch (type) {
|
|
23
|
-
case ScValType.address:
|
|
24
|
-
return stellar_sdk_1.Address.fromString(value).toScVal();
|
|
25
|
-
case ScValType.u128:
|
|
26
|
-
return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.u128 });
|
|
27
|
-
case ScValType.u64:
|
|
28
|
-
return (0, stellar_sdk_1.nativeToScVal)(value, { type: ScValType.u64 });
|
|
29
|
-
case ScValType.u32:
|
|
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 });
|
|
37
|
-
case ScValType.bool:
|
|
38
|
-
return stellar_sdk_1.xdr.ScVal.scvBool(value);
|
|
39
|
-
case ScValType.enum:
|
|
40
|
-
return stellar_sdk_1.xdr.ScVal.scvVec([stellar_sdk_1.xdr.ScVal.scvSymbol(value)]);
|
|
41
|
-
case ScValType.buffer:
|
|
42
|
-
return stellar_sdk_1.xdr.ScVal.scvBytes(value);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
exports.toScVal = toScVal;
|
|
46
6
|
const findPoolMetadata = (network, poolName) => {
|
|
47
7
|
const selectedNetworkMetadata = network_1.NetworkMetadatas.find((metadata) => metadata.network === network);
|
|
48
8
|
if (selectedNetworkMetadata) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AACjD,uCAIkB;AAEX,MAAM,gBAAgB,GAAG,CAAC,OAAuB,EAAE,QAAgB,EAAE,EAAE;IAC5E,MAAM,uBAAuB,GAAG,0BAAgB,CAAC,IAAI,CACnD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,OAAO,CAC3C,CAAA;IACD,IAAI,uBAAuB,EAAE;QAC3B,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CACrC,CAAA;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAVY,QAAA,gBAAgB,oBAU5B;AAEM,MAAM,eAAe,GAAG,KAAK,EAAE,OAAuB,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAI,wBAAU,CAAC,MAAM,CAAC,6BAAmB,CAAC,OAAO,CAAC,EAAE;QACjE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,eAAe,EAAE,CAAA;AACjC,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -4,5 +4,4 @@ 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);
|
|
8
7
|
//# 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"}
|
|
@@ -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://horizon.stellar.org",
|
|
17
17
|
testnet = "https://soroban-testnet.stellar.org",
|
|
18
18
|
futurenet = "https://rpc-futurenet.stellar.org",
|
|
19
19
|
localnet = "http://localhost:8000/soroban/rpc",
|
|
@@ -36,13 +36,10 @@ export type PoolMetadata = {
|
|
|
36
36
|
poolCredit: string;
|
|
37
37
|
creditManager: string;
|
|
38
38
|
creditStorage: string;
|
|
39
|
+
seniorTranche: string;
|
|
39
40
|
juniorTranche: string;
|
|
40
|
-
seniorTranche?: string;
|
|
41
|
-
underlyingToken: string;
|
|
42
41
|
};
|
|
43
|
-
borrowers: string[];
|
|
44
42
|
};
|
|
45
|
-
export type ContractType = keyof PoolMetadata['contracts'];
|
|
46
43
|
export type NetworkMetadata = {
|
|
47
44
|
network: StellarNetwork;
|
|
48
45
|
networkPassphrase: StellarNetworkPassphrase;
|
|
@@ -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://horizon.stellar.org";
|
|
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";
|
|
@@ -34,30 +34,6 @@ var POOL_TYPE;
|
|
|
34
34
|
POOL_TYPE["Creditline"] = "Creditline";
|
|
35
35
|
})(POOL_TYPE = exports.POOL_TYPE || (exports.POOL_TYPE = {}));
|
|
36
36
|
exports.NetworkMetadatas = [
|
|
37
|
-
{
|
|
38
|
-
network: StellarNetwork.mainnet,
|
|
39
|
-
networkPassphrase: StellarNetworkPassphrase.mainnet,
|
|
40
|
-
rpcUrl: StellarPublicRpcUrl.mainnet,
|
|
41
|
-
pools: [
|
|
42
|
-
{
|
|
43
|
-
poolName: POOL_NAME.Arf,
|
|
44
|
-
poolType: POOL_TYPE.Creditline,
|
|
45
|
-
contracts: {
|
|
46
|
-
humaConfig: 'CCAIHLSVRKOU4XM2UWLBXRTWX3C2SFKZTCZ7ZDWSOWPHRAL4LVONLZSF',
|
|
47
|
-
poolStorage: 'CDETZGJWZZFLXSO5AJ5S5EWUQPJUKS2KSYIWTQNH5ZADJMSYXQVE6Z6Y',
|
|
48
|
-
pool: 'CCIH4TXFY32NM4CN5G5MVJHLIMLUZUJ72TUH3PWO7T7RDMYFIS6ME6LI',
|
|
49
|
-
poolManager: 'CCM4GBO7FW3EABFPLYBPU4GW6IPCSDUEET6WFW253IQIJ4MXYLUCXVAF',
|
|
50
|
-
poolCredit: 'CAJ6TKKHCE7Y7LIMPNTG5XZYYK7IZYAWRT2BOSZCKOZZCPX3RBZONPFJ',
|
|
51
|
-
creditManager: 'CCV47GK54O67WKCV4SQ6ZRCCQFZAUBKBOIYC6GENWDMCOJE7K2VYGVPI',
|
|
52
|
-
creditStorage: 'CCAGR4BX7NGUUVD55B7DCKH2ZY4ISYCHMWNVEA63AKUXAESHJTRNWDTB',
|
|
53
|
-
juniorTranche: 'CDHZGXZLW3Q2MJOC6RB4IYOSGI7P3T2AEE6DAIS4ATMOXYHHDQ5G5UWG',
|
|
54
|
-
seniorTranche: 'CAEGT76URZASBOLMWNASRDPMWM3TELHTH7CEZEMRJRTT3GO6HJCW4HSU',
|
|
55
|
-
underlyingToken: 'CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75',
|
|
56
|
-
},
|
|
57
|
-
borrowers: ['GBQ4MIGKASCJG4GNEOQ3G6Z6YDUXCAKYARB3MNJ7QOF54MNMYW7HP62V'],
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
37
|
{
|
|
62
38
|
network: StellarNetwork.testnet,
|
|
63
39
|
networkPassphrase: StellarNetworkPassphrase.testnet,
|
|
@@ -67,17 +43,16 @@ exports.NetworkMetadatas = [
|
|
|
67
43
|
poolName: POOL_NAME.Arf,
|
|
68
44
|
poolType: POOL_TYPE.Creditline,
|
|
69
45
|
contracts: {
|
|
70
|
-
humaConfig: '
|
|
71
|
-
poolStorage: '
|
|
72
|
-
pool: '
|
|
73
|
-
poolManager: '
|
|
74
|
-
poolCredit: '
|
|
75
|
-
creditManager: '
|
|
76
|
-
creditStorage: '
|
|
77
|
-
juniorTranche: '
|
|
78
|
-
|
|
46
|
+
humaConfig: 'CDEH36NMZK6AV5I675A2BSRIWLJGBVXWN5HHABKJKHNIGKSKJQVXPXFB',
|
|
47
|
+
poolStorage: 'CBHY4NM3DVEBX3QTL3X5XEOAKHDMP44HDP7SBDTCOAMFU7LFIBMFEV4N',
|
|
48
|
+
pool: 'CAI6UQAXZ6ICE5QQ4WFEEDQLZORGMYBCL2RB2NVY6AGMH4XT6PCH7IPX',
|
|
49
|
+
poolManager: 'CCTCNYWWKPVFNPJDQUMJM6GFBU6IJSZH6CHPM5COJTBMWO64A4XVCXNV',
|
|
50
|
+
poolCredit: 'CCYWDOW34SPB3FCR6A633B5GS5DPRRQKTTCT4DU7YYFDRT7XBOA2HYYY',
|
|
51
|
+
creditManager: 'CDHYIC3ISV3F3RL7FROC3SI2GW65ZOJHMA2AMZJYLIRLWSDELFF3CR23',
|
|
52
|
+
creditStorage: 'CBZHE4LD4FYGELCFDVRNBLNO4743X4UJDIDC7CGYS3MLJ3CIHC4SGLHC',
|
|
53
|
+
juniorTranche: 'CAJZ4V2N5TOJ6GVOJOKTJSP3QYDNVC6O6TDO2V64GULQGZNRRFM5AS7V',
|
|
54
|
+
seniorTranche: 'CBQV4USFV4MBZTKK6W6SM576GVBZGZZHEHT7Y2OVIKNYG45L57LDL6SA',
|
|
79
55
|
},
|
|
80
|
-
borrowers: ['GBK62KZMUVEKLGGB3UYCRUP2BVDUE6UEZWUHPUNJ54BKFDTW4CNSF6O7'],
|
|
81
56
|
},
|
|
82
57
|
],
|
|
83
58
|
},
|
|
@@ -99,9 +74,7 @@ exports.NetworkMetadatas = [
|
|
|
99
74
|
creditStorage: 'CCPTCRU7FUVQLNR4GGUBWQDHJCQTW3MXDZQYQQGB4OC2PNME7HNIV3R3',
|
|
100
75
|
juniorTranche: 'CD4TNCKN7PDNOBS2JHEXRXPHOL327EX4Z7EURDG2XFWBZ67XG5XW5Q7O',
|
|
101
76
|
seniorTranche: 'CDOB4BPE2AKSZYW27QP4IYVIIGVQD3C7E7YL6XRZ2ANM7MYJT2TKOVPC',
|
|
102
|
-
underlyingToken: '',
|
|
103
77
|
},
|
|
104
|
-
borrowers: [],
|
|
105
78
|
},
|
|
106
79
|
],
|
|
107
80
|
},
|
|
@@ -114,18 +87,16 @@ exports.NetworkMetadatas = [
|
|
|
114
87
|
poolName: POOL_NAME.Arf,
|
|
115
88
|
poolType: POOL_TYPE.Creditline,
|
|
116
89
|
contracts: {
|
|
117
|
-
humaConfig: '
|
|
118
|
-
poolStorage: '
|
|
119
|
-
pool: '
|
|
120
|
-
poolManager: '
|
|
121
|
-
poolCredit: '
|
|
122
|
-
creditManager: '
|
|
123
|
-
creditStorage: '
|
|
124
|
-
juniorTranche: '
|
|
125
|
-
seniorTranche: '
|
|
126
|
-
underlyingToken: '',
|
|
90
|
+
humaConfig: 'CD35X6V3O5BVFWYGETHIHRWPJIWYIA3MYHHULBUJLMD4INX6Y34DW3EG',
|
|
91
|
+
poolStorage: 'CARX3M7LZM4QPPR65OGGY36GKEVD2LNV6I7IMB5EHE77XUAQXZHTKX6S',
|
|
92
|
+
pool: 'CBB6RMWO2YBVSV66ZTBXZWEWKEFTFDP4K5YPV6KEMVZN26DNDXQI3JEO',
|
|
93
|
+
poolManager: 'CB6OOMIMGLDYYPI7QEJFKMNZEBMAZG5IF2SK7VTL5B4KE2KJVYKIIZOS',
|
|
94
|
+
poolCredit: 'CBB2X44GZCH2NMW7HQ53PAURLKQT2DOZVIQ3PWYY3YGQIOOUNAV5QACI',
|
|
95
|
+
creditManager: 'CBN6JIEPA4QQKANLMEUICLK24NBEWIG7TPIRGEXDT32WHYLBNHQU67CR',
|
|
96
|
+
creditStorage: 'CBXVWUFZU65MJZWFDMZSRSA6LPRVAUSOYCMVC3YJJXX32TH35MXUZJTN',
|
|
97
|
+
juniorTranche: 'CBWSIQMVG5VVUBTRFGAAXNZQ4AMRVYK2VN3346EP3JYPDZXT6VEOQEK2',
|
|
98
|
+
seniorTranche: 'CBSPGT3IW3PS2CIKVHZKPNA2KZP6EAXFZ3AH4LQ6HN252GGJKBNSIUAW',
|
|
127
99
|
},
|
|
128
|
-
borrowers: [],
|
|
129
100
|
},
|
|
130
101
|
],
|
|
131
102
|
},
|
|
@@ -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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"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
import { CreditRecord } from '@huma-finance/soroban-pool-credit';
|
|
1
|
+
import { Client as PoolCreditClient, 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/StellarWallet';
|
|
4
|
+
import { POOL_NAME, StellarNetwork } from '../utils/network';
|
|
5
|
+
/**
|
|
6
|
+
* Returns an soroban contract client instance for the credit line contract
|
|
7
|
+
* associated with the given pool name on the current chain.
|
|
8
|
+
*
|
|
9
|
+
* @param {POOL_NAME} poolName - The name of the credit pool to get the contract instance for.
|
|
10
|
+
* @param {StellarNetwork} network - The stellar network.
|
|
11
|
+
* @param {StellarWallet} wallet - The stellar wallet.
|
|
12
|
+
* @returns {PoolCreditClient | undefined} A contract client instance for the CreditLine contract or undefined if it could not be found.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getCreditLineClient(poolName: POOL_NAME, network: StellarNetwork, wallet: StellarWallet): PoolCreditClient | undefined;
|
|
5
15
|
/**
|
|
6
16
|
* Returns the current pool balance available for borrowing
|
|
7
17
|
*
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getCreditStorageClient, getPoolCreditClient, getPoolStorageClient, } from '../utils/client';
|
|
2
2
|
import { approveSep41AllowanceIfInsufficient } from './Sep41ContractHelper';
|
|
3
|
+
/**
|
|
4
|
+
* Returns an soroban contract client instance for the credit line contract
|
|
5
|
+
* associated with the given pool name on the current chain.
|
|
6
|
+
*
|
|
7
|
+
* @param {POOL_NAME} poolName - The name of the credit pool to get the contract instance for.
|
|
8
|
+
* @param {StellarNetwork} network - The stellar network.
|
|
9
|
+
* @param {StellarWallet} wallet - The stellar wallet.
|
|
10
|
+
* @returns {PoolCreditClient | undefined} A contract client instance for the CreditLine contract or undefined if it could not be found.
|
|
11
|
+
*/
|
|
12
|
+
export function getCreditLineClient(poolName, network, wallet) {
|
|
13
|
+
return getPoolCreditClient(poolName, network, wallet);
|
|
14
|
+
}
|
|
3
15
|
/**
|
|
4
16
|
* Returns the current pool balance available for borrowing
|
|
5
17
|
*
|
|
@@ -8,11 +20,11 @@ import { approveSep41AllowanceIfInsufficient } from './Sep41ContractHelper';
|
|
|
8
20
|
* @param {StellarWallet} wallet - The stellar wallet.
|
|
9
21
|
*/
|
|
10
22
|
export async function getAvailableBalanceForPool(poolName, network, wallet) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
});
|
|
23
|
+
const poolStorageClient = getPoolStorageClient(poolName, network, wallet);
|
|
24
|
+
if (!poolStorageClient) {
|
|
25
|
+
throw new Error('Could not find credit contract for pool');
|
|
26
|
+
}
|
|
27
|
+
const { result } = await poolStorageClient.get_available_balance();
|
|
16
28
|
return result;
|
|
17
29
|
}
|
|
18
30
|
/**
|
|
@@ -24,31 +36,18 @@ export async function getAvailableBalanceForPool(poolName, network, wallet) {
|
|
|
24
36
|
* @param {string} borrower - The address of the borrower to check the credit record for.
|
|
25
37
|
*/
|
|
26
38
|
export async function getCreditRecordForPool(poolName, network, wallet, borrower) {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
name: 'borrower',
|
|
34
|
-
type: ScValType.address,
|
|
35
|
-
value: borrower,
|
|
36
|
-
},
|
|
37
|
-
],
|
|
39
|
+
const creditStorageClient = getCreditStorageClient(poolName, network, wallet);
|
|
40
|
+
if (!creditStorageClient) {
|
|
41
|
+
throw new Error('Could not find credit storage contract for pool');
|
|
42
|
+
}
|
|
43
|
+
const { result: creditHash } = await creditStorageClient.get_credit_hash({
|
|
44
|
+
borrower,
|
|
38
45
|
});
|
|
39
46
|
if (!creditHash) {
|
|
40
47
|
throw new Error('Could not find credit hash');
|
|
41
48
|
}
|
|
42
|
-
const { result: creditRecord } = await
|
|
43
|
-
|
|
44
|
-
method: 'get_credit_record',
|
|
45
|
-
params: [
|
|
46
|
-
{
|
|
47
|
-
name: 'credit_hash',
|
|
48
|
-
type: ScValType.buffer,
|
|
49
|
-
value: creditHash,
|
|
50
|
-
},
|
|
51
|
-
],
|
|
49
|
+
const { result: creditRecord } = await creditStorageClient.get_credit_record({
|
|
50
|
+
credit_hash: creditHash,
|
|
52
51
|
});
|
|
53
52
|
if (!creditRecord) {
|
|
54
53
|
throw new Error('Could not find credit record');
|
|
@@ -66,36 +65,24 @@ export async function getCreditRecordForPool(poolName, network, wallet, borrower
|
|
|
66
65
|
* @param {string} borrower - The address of the borrower to check the available credit for.
|
|
67
66
|
*/
|
|
68
67
|
export async function getAvailableCreditForPool(poolName, network, wallet, borrower) {
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
name: 'borrower',
|
|
76
|
-
type: ScValType.address,
|
|
77
|
-
value: borrower,
|
|
78
|
-
},
|
|
79
|
-
],
|
|
68
|
+
const creditStorageClient = getCreditStorageClient(poolName, network, wallet);
|
|
69
|
+
if (!creditStorageClient) {
|
|
70
|
+
throw new Error('Could not find credit storage contract for pool');
|
|
71
|
+
}
|
|
72
|
+
const { result: creditHash } = await creditStorageClient.get_credit_hash({
|
|
73
|
+
borrower,
|
|
80
74
|
});
|
|
81
75
|
if (!creditHash) {
|
|
82
76
|
throw new Error('Could not find credit hash');
|
|
83
77
|
}
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
params: [creditHashParam],
|
|
93
|
-
});
|
|
94
|
-
const { result: creditRecord } = await sendTransaction({
|
|
95
|
-
context: creditStorageContext,
|
|
96
|
-
method: 'get_credit_record',
|
|
97
|
-
params: [creditHashParam],
|
|
98
|
-
});
|
|
78
|
+
const [{ result: creditConfig }, { result: creditRecord }] = await Promise.all([
|
|
79
|
+
creditStorageClient.get_credit_config({
|
|
80
|
+
credit_hash: creditHash,
|
|
81
|
+
}),
|
|
82
|
+
creditStorageClient.get_credit_record({
|
|
83
|
+
credit_hash: creditHash,
|
|
84
|
+
}),
|
|
85
|
+
]);
|
|
99
86
|
if (!creditConfig || !creditRecord) {
|
|
100
87
|
throw new Error('Could not find credit config or credit record');
|
|
101
88
|
}
|
|
@@ -133,12 +120,15 @@ export async function approveAllowanceForSentinel(poolName, network, wallet) {
|
|
|
133
120
|
if (totalDue === null) {
|
|
134
121
|
throw new Error('Could not find total due');
|
|
135
122
|
}
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
|
|
123
|
+
const poolStorageClient = getPoolStorageClient(poolName, network, wallet);
|
|
124
|
+
if (!poolStorageClient) {
|
|
125
|
+
throw new Error('Could not find pool storage contract for pool');
|
|
126
|
+
}
|
|
127
|
+
const [{ result: underlyingToken }, { result: sentinel }] = await Promise.all([
|
|
128
|
+
poolStorageClient.get_underlying_token(),
|
|
129
|
+
poolStorageClient.get_sentinel(),
|
|
130
|
+
]);
|
|
131
|
+
const tx = await approveSep41AllowanceIfInsufficient(network, wallet, underlyingToken, sentinel, totalDue);
|
|
142
132
|
return tx;
|
|
143
133
|
}
|
|
144
134
|
/**
|
|
@@ -153,25 +143,18 @@ export async function approveAllowanceForSentinel(poolName, network, wallet) {
|
|
|
153
143
|
* @returns {Promise<SentTransaction>} - A Promise of the SentTransaction.
|
|
154
144
|
*/
|
|
155
145
|
export async function drawdown(poolName, network, wallet, drawdownAmount) {
|
|
146
|
+
const poolCreditClient = getPoolCreditClient(poolName, network, wallet);
|
|
147
|
+
if (!poolCreditClient) {
|
|
148
|
+
throw new Error('Could not find credit contract for pool');
|
|
149
|
+
}
|
|
156
150
|
await approveAllowanceForSentinel(poolName, network, wallet);
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
{
|
|
163
|
-
name: 'borrower',
|
|
164
|
-
type: ScValType.address,
|
|
165
|
-
value: wallet.userInfo.publicKey,
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
name: 'amount',
|
|
169
|
-
type: ScValType.u128,
|
|
170
|
-
value: drawdownAmount,
|
|
171
|
-
},
|
|
172
|
-
],
|
|
173
|
-
shouldSignTransaction: true,
|
|
151
|
+
const tx = await poolCreditClient.drawdown({
|
|
152
|
+
borrower: wallet.userInfo.publicKey,
|
|
153
|
+
amount: drawdownAmount,
|
|
154
|
+
}, {
|
|
155
|
+
timeoutInSeconds: 30,
|
|
174
156
|
});
|
|
157
|
+
const result = await tx.signAndSend();
|
|
175
158
|
return result;
|
|
176
159
|
}
|
|
177
160
|
/**
|
|
@@ -187,39 +170,39 @@ export async function drawdown(poolName, network, wallet, drawdownAmount) {
|
|
|
187
170
|
* @returns {Promise<SentTransaction>} - A Promise of the SentTransaction.
|
|
188
171
|
*/
|
|
189
172
|
export async function makePayment(poolName, network, wallet, paymentAmount, principalOnly) {
|
|
173
|
+
const poolCreditClient = getPoolCreditClient(poolName, network, wallet);
|
|
174
|
+
if (!poolCreditClient) {
|
|
175
|
+
throw new Error('Could not find credit contract for pool');
|
|
176
|
+
}
|
|
177
|
+
const poolStorageClient = getPoolStorageClient(poolName, network, wallet);
|
|
178
|
+
if (!poolStorageClient) {
|
|
179
|
+
throw new Error('Could not find pool storage contract for pool');
|
|
180
|
+
}
|
|
190
181
|
await approveAllowanceForSentinel(poolName, network, wallet);
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
await approveSep41AllowanceIfInsufficient(
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
name: 'amount',
|
|
206
|
-
type: ScValType.u128,
|
|
207
|
-
value: paymentAmount,
|
|
208
|
-
},
|
|
209
|
-
];
|
|
210
|
-
if (!principalOnly) {
|
|
211
|
-
params.unshift({
|
|
212
|
-
name: 'caller',
|
|
213
|
-
type: ScValType.address,
|
|
214
|
-
value: wallet.userInfo.publicKey,
|
|
182
|
+
const [{ result: underlyingToken }, { result: sentinel }] = await Promise.all([
|
|
183
|
+
poolStorageClient.get_underlying_token(),
|
|
184
|
+
poolStorageClient.get_sentinel(),
|
|
185
|
+
]);
|
|
186
|
+
let tx;
|
|
187
|
+
tx = await approveSep41AllowanceIfInsufficient(network, wallet, underlyingToken, sentinel, paymentAmount);
|
|
188
|
+
if (principalOnly) {
|
|
189
|
+
tx = await poolCreditClient.make_principal_payment({
|
|
190
|
+
borrower: wallet.userInfo.publicKey,
|
|
191
|
+
amount: paymentAmount,
|
|
192
|
+
}, {
|
|
193
|
+
timeoutInSeconds: 30,
|
|
215
194
|
});
|
|
216
195
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
196
|
+
else {
|
|
197
|
+
tx = await poolCreditClient.make_payment({
|
|
198
|
+
caller: wallet.userInfo.publicKey,
|
|
199
|
+
borrower: wallet.userInfo.publicKey,
|
|
200
|
+
amount: paymentAmount,
|
|
201
|
+
}, {
|
|
202
|
+
timeoutInSeconds: 30,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
const result = await tx.signAndSend();
|
|
223
206
|
return result;
|
|
224
207
|
}
|
|
225
208
|
//# sourceMappingURL=CreditContractHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditContractHelper.js","sourceRoot":"","sources":["../../src/helpers/CreditContractHelper.ts"],"names":[],"mappings":"
|
|
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 {
|
|
3
|
+
import { 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.
|
|
11
10
|
* @param {StellarNetwork} network - The stellar network.
|
|
12
11
|
* @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(
|
|
17
|
+
export declare function approveSep41AllowanceIfInsufficient(network: StellarNetwork, wallet: StellarWallet, tokenAddress: string, spenderAddress: string, allowanceAmount: bigint): Promise<SentTransaction<null> | null>;
|