@huma-finance/permissionless-sdk 1.0.8-beta.20250915130422.cd6a470 → 1.0.9-beta.20250915162449.37b0c6c
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/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Huma Permissionless SDK
|
|
2
2
|
|
|
3
|
-
This is an [NPM Package](https://www.npmjs.com/package/@huma-finance/permissionless-sdk) that helps build deposit and withdrawal instructions for the various modes + lockups on Huma 2.0 (Permissionless), and check token prices, target APY, and
|
|
3
|
+
This is an [NPM Package](https://www.npmjs.com/package/@huma-finance/permissionless-sdk) that helps build deposit and withdrawal instructions for the various modes + lockups on Huma 2.0 (Permissionless), and check token prices, target APY, and balances.
|
|
4
4
|
|
|
5
5
|
## Current supported features
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ This is an [NPM Package](https://www.npmjs.com/package/@huma-finance/permissionl
|
|
|
8
8
|
- Withdraw from classic or maxi mode (redeem PST and mPST tokens)
|
|
9
9
|
- Check the current price of PST and mPST tokens
|
|
10
10
|
- Check the target APY for classic or maxi mode
|
|
11
|
-
- Check
|
|
11
|
+
- Check both locked and unlocked balances for a specific owner and mode
|
|
12
12
|
- Optionally specify a lockup on these tokens, in most cases you'll want to use the default NO_COMMIT option.
|
|
13
13
|
|
|
14
14
|
## Depositing
|
|
@@ -129,9 +129,9 @@ console.log(apy); // APY in basis points (e.g., 500 = 5.00%)
|
|
|
129
129
|
|
|
130
130
|
3. The APY is returned as a number representing the target APY in basis points. For example, if the target APY is 5.00%, it will be returned as 500.
|
|
131
131
|
|
|
132
|
-
## Checking
|
|
132
|
+
## Checking Balances
|
|
133
133
|
|
|
134
|
-
An example Node script integration in /examples/
|
|
134
|
+
An example Node script integration in /examples/getBalance.ts is provided in this repo.
|
|
135
135
|
|
|
136
136
|
1. Create a `PermissionlessClient` (same as depositing)
|
|
137
137
|
|
|
@@ -144,25 +144,21 @@ import {
|
|
|
144
144
|
new PermissionlessClient(connection, SolanaChainEnum.MAINNET);
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
-
2. Get
|
|
147
|
+
2. Get both unlocked and locked balances for a specific owner and mode
|
|
148
148
|
|
|
149
149
|
```
|
|
150
150
|
import {
|
|
151
151
|
DepositMode
|
|
152
152
|
} from "@huma-finance/permissionless-sdk";
|
|
153
153
|
|
|
154
|
-
const
|
|
155
|
-
publicKey,
|
|
156
|
-
DepositMode.CLASSIC
|
|
157
|
-
)
|
|
158
|
-
const lockedBalance = await client.getLockedBalance(
|
|
154
|
+
const balances = await client.getBalances(
|
|
159
155
|
publicKey,
|
|
160
156
|
DepositMode.CLASSIC
|
|
161
157
|
);
|
|
162
|
-
console.log(
|
|
163
|
-
console.log(
|
|
158
|
+
console.log(balances.lockedBalance.toString()); // Locked balance in smallest units
|
|
159
|
+
console.log(balances.unlockedBalance.toString()); // Unlocked balance in smallest units
|
|
164
160
|
```
|
|
165
161
|
|
|
166
|
-
3. The
|
|
162
|
+
3. The balances are returned as BNs representing the amount of tokens in the smallest units of the underlying mint. For example, if the locked balance is 1.5 PST, it will be returned as 1500000 (since PST has 6 decimals). The unlocked balance is calculated as the total token balance minus the locked balance, and will return 0 if the result would be negative.
|
|
167
163
|
|
|
168
164
|
**Note:** This endpoint is subject to rate limitations. You should only fetch when necessary.
|
|
@@ -11,13 +11,16 @@ export declare class PermissionlessClient {
|
|
|
11
11
|
constructor(connection: Connection, chain: SolanaChainEnum);
|
|
12
12
|
getModeTokenATA(owner: PublicKey, mode: DepositMode): PublicKey;
|
|
13
13
|
getModeTargetApy(mode: DepositMode): Promise<number>;
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
getBalances(owner: PublicKey, mode: DepositMode): Promise<{
|
|
15
|
+
unlockedBalance: BN;
|
|
16
|
+
lockedBalance: BN;
|
|
17
|
+
}>;
|
|
16
18
|
buildDepositTx(owner: PublicKey, amount: BN, mode: DepositMode, commitment?: DepositCommitment): Promise<Transaction>;
|
|
17
19
|
buildWithdrawTx(owner: PublicKey, amount: BN, mode: DepositMode): Promise<Transaction>;
|
|
18
20
|
getModeTokenPrice(mode: DepositMode): Promise<BN>;
|
|
19
21
|
private getCreateLenderStateAccountInstruction;
|
|
20
22
|
private getStagingPrefix;
|
|
23
|
+
private getLockedBalance;
|
|
21
24
|
private getPointsEndpoint;
|
|
22
25
|
}
|
|
23
26
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/permissionless/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAShE,OAAO,EAAE,EAAE,EAAwB,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe;IAQ1D,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS;IAMzD,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/permissionless/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAShE,OAAO,EAAE,EAAE,EAAwB,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe;IAQ1D,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS;IAMzD,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAcpD,WAAW,CACf,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC;QACT,eAAe,EAAE,EAAE,CAAC;QACpB,aAAa,EAAE,EAAE,CAAC;KACnB,CAAC;IAoBI,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,WAAW,EACjB,UAAU,GAAE,iBAA+C,GAC1D,OAAO,CAAC,WAAW,CAAC;IAuDjB,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,WAAW,CAAC;IAwCjB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC;YAkCzC,sCAAsC;IAsCpD,OAAO,CAAC,gBAAgB;YAaV,gBAAgB;IAuB9B,OAAO,CAAC,iBAAiB;CAK1B"}
|
|
@@ -34,37 +34,21 @@ class PermissionlessClient {
|
|
|
34
34
|
const modeConfig = await this.program.account.modeConfig.fetch(new web3_js_1.PublicKey(modeMetadata.config));
|
|
35
35
|
return modeConfig.targetApyBps;
|
|
36
36
|
}
|
|
37
|
-
// Fetches the unlocked balance of the given mode in the owner's wallet.
|
|
38
|
-
// This is the balance of the owner's wallet minus the locked balance.
|
|
37
|
+
// Fetches the unlocked and locked balance of the given mode in the owner's wallet.
|
|
39
38
|
// Notes:
|
|
40
39
|
// - If the mode token account is not found, this function will throw an error.
|
|
41
40
|
// - In rare cases, our API might be delayed and the unlocked balance might temporarily
|
|
42
|
-
// be less than 0. In these cases, we will return 0.
|
|
41
|
+
// be less than 0. In these cases, we will return an unlocked balance of 0.
|
|
43
42
|
// - This endpoint is subject to rate limitations. You should only fetch when necessary.
|
|
44
|
-
async
|
|
43
|
+
async getBalances(owner, mode) {
|
|
45
44
|
const lockedBalance = await this.getLockedBalance(owner, mode);
|
|
46
45
|
const modeMetadata = this.metadata[mode];
|
|
47
46
|
const modeBalance = await this.connection.getTokenAccountBalance((0, tokenAccount_1.getModeTokenATA)(owner, new web3_js_1.PublicKey(modeMetadata.mint)));
|
|
48
|
-
|
|
47
|
+
let unlockedBalance = new anchor_1.BN(modeBalance.value.amount).sub(lockedBalance);
|
|
49
48
|
if (unlockedBalance.isNeg()) {
|
|
50
|
-
|
|
49
|
+
unlockedBalance = new anchor_1.BN(0);
|
|
51
50
|
}
|
|
52
|
-
return unlockedBalance;
|
|
53
|
-
}
|
|
54
|
-
// Fetches the locked balance of the given mode in the owner's wallet.
|
|
55
|
-
// Notes:
|
|
56
|
-
// - This endpoint is subject to rate limitations. You should only fetch when necessary.
|
|
57
|
-
async getLockedBalance(owner, mode) {
|
|
58
|
-
const modeMetadata = this.metadata[mode];
|
|
59
|
-
const endpoint = this.getPointsEndpoint();
|
|
60
|
-
const response = await fetch(`${endpoint}/investment/locked_balance?owner=${owner.toString()}&mode_config=${modeMetadata.config}&chain_id=${chain_1.SolanaChainEnumToIds[this.chain]}`, {
|
|
61
|
-
method: "GET",
|
|
62
|
-
headers: {
|
|
63
|
-
"Content-Type": "application/json",
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
const data = (await response.json());
|
|
67
|
-
return new anchor_1.BN(data.data ?? 0);
|
|
51
|
+
return { unlockedBalance, lockedBalance };
|
|
68
52
|
}
|
|
69
53
|
// Returns a transaction with all the necessary instructions to deposit into
|
|
70
54
|
// Huma 2.0 for the given mode. Note that this transaction omits priority fees,
|
|
@@ -200,6 +184,18 @@ class PermissionlessClient {
|
|
|
200
184
|
throw new Error(`Invalid chain: ${this.chain}`);
|
|
201
185
|
}
|
|
202
186
|
}
|
|
187
|
+
async getLockedBalance(owner, mode) {
|
|
188
|
+
const modeMetadata = this.metadata[mode];
|
|
189
|
+
const endpoint = this.getPointsEndpoint();
|
|
190
|
+
const response = await fetch(`${endpoint}/investment/locked_balance?owner=${owner.toString()}&mode_config=${modeMetadata.config}&chain_id=${chain_1.SolanaChainEnumToIds[this.chain]}`, {
|
|
191
|
+
method: "GET",
|
|
192
|
+
headers: {
|
|
193
|
+
"Content-Type": "application/json",
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
const data = (await response.json());
|
|
197
|
+
return new anchor_1.BN(data.data ?? 0);
|
|
198
|
+
}
|
|
203
199
|
getPointsEndpoint() {
|
|
204
200
|
return `https://${this.getStagingPrefix()}${this.chain === chain_1.SolanaChainEnum.DEVNET ? "testnet" : "mainnet"}.permissionless-points.huma.finance`;
|
|
205
201
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/permissionless/client.ts"],"names":[],"mappings":";;;AAAA,6CAKyB;AACzB,0CAAuE;AACvE,gDAAgE;AAChE,gDAAgD;AAChD,iDAI2B;AAC3B,0DAAgE;AAEhE,8CAA6D;AAC7D,8CAAkD;AAClD,wDAAwD;AACxD,8CAAqD;AACrD,gFAA4E;AAE5E,MAAa,oBAAoB;IACvB,UAAU,CAAa;IACvB,KAAK,CAAkB;IACvB,QAAQ,CAAiB;IACzB,OAAO,CAA0B;IAEzC,YAAY,UAAsB,EAAE,KAAsB;QACxD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAA,wBAAc,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,0EAA0E;IAC1E,eAAe,CAAC,KAAgB,EAAE,IAAiB;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAA,8BAAe,EAAC,KAAK,EAAE,IAAI,mBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,gBAAgB,CAAC,IAAiB;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAC5D,IAAI,mBAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CACnC,CAAC;QACF,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/permissionless/client.ts"],"names":[],"mappings":"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"}
|
package/examples/getBalance.ts
CHANGED
|
@@ -13,21 +13,11 @@ async function main() {
|
|
|
13
13
|
new Uint8Array(JSON.parse(process.env.PRIVATE_KEY!))
|
|
14
14
|
);
|
|
15
15
|
|
|
16
|
-
console.log("Getting
|
|
17
|
-
const
|
|
18
|
-
key.publicKey,
|
|
19
|
-
DepositMode.CLASSIC
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
console.log(data.toString());
|
|
23
|
-
|
|
24
|
-
console.log("Getting unlocked balance for", key.publicKey.toString());
|
|
25
|
-
const unlockedData = await client.getUnlockedBalance(
|
|
26
|
-
key.publicKey,
|
|
27
|
-
DepositMode.CLASSIC
|
|
28
|
-
);
|
|
16
|
+
console.log("Getting balances for", key.publicKey.toString());
|
|
17
|
+
const balances = await client.getBalances(key.publicKey, DepositMode.CLASSIC);
|
|
29
18
|
|
|
30
|
-
console.log(
|
|
19
|
+
console.log("Locked balance:", balances.lockedBalance.toString());
|
|
20
|
+
console.log("Unlocked balance:", balances.unlockedBalance.toString());
|
|
31
21
|
}
|
|
32
22
|
|
|
33
23
|
main();
|
package/package.json
CHANGED