@huma-finance/permissionless-sdk 1.0.9-beta.20250915162449.37b0c6c → 1.0.9
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 balances.
|
|
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 locked 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 the locked balance 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 Locked Balance
|
|
133
133
|
|
|
134
|
-
An example Node script integration in /examples/
|
|
134
|
+
An example Node script integration in /examples/getLockedBalance.ts is provided in this repo.
|
|
135
135
|
|
|
136
136
|
1. Create a `PermissionlessClient` (same as depositing)
|
|
137
137
|
|
|
@@ -144,21 +144,25 @@ import {
|
|
|
144
144
|
new PermissionlessClient(connection, SolanaChainEnum.MAINNET);
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
-
2. Get
|
|
147
|
+
2. Get the unlocked/locked balance 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
|
|
154
|
+
const unlockedBalance = await client.getUnlockedBalance(
|
|
155
|
+
publicKey,
|
|
156
|
+
DepositMode.CLASSIC
|
|
157
|
+
)
|
|
158
|
+
const lockedBalance = await client.getLockedBalance(
|
|
155
159
|
publicKey,
|
|
156
160
|
DepositMode.CLASSIC
|
|
157
161
|
);
|
|
158
|
-
console.log(
|
|
159
|
-
console.log(
|
|
162
|
+
console.log(unlockedBalance.toString()); // Unlocked balance in smallest units
|
|
163
|
+
console.log(lockedBalance.toString()); // Locked balance in smallest units
|
|
160
164
|
```
|
|
161
165
|
|
|
162
|
-
3. The
|
|
166
|
+
3. The balance is returned as a BN representing the amount of tokens locked 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).
|
|
163
167
|
|
|
164
168
|
**Note:** This endpoint is subject to rate limitations. You should only fetch when necessary.
|
|
@@ -11,16 +11,13 @@ 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
|
-
|
|
16
|
-
lockedBalance: BN;
|
|
17
|
-
}>;
|
|
14
|
+
getUnlockedBalance(owner: PublicKey, mode: DepositMode): Promise<BN>;
|
|
15
|
+
getLockedBalance(owner: PublicKey, mode: DepositMode): Promise<BN>;
|
|
18
16
|
buildDepositTx(owner: PublicKey, amount: BN, mode: DepositMode, commitment?: DepositCommitment): Promise<Transaction>;
|
|
19
17
|
buildWithdrawTx(owner: PublicKey, amount: BN, mode: DepositMode): Promise<Transaction>;
|
|
20
18
|
getModeTokenPrice(mode: DepositMode): Promise<BN>;
|
|
21
19
|
private getCreateLenderStateAccountInstruction;
|
|
22
20
|
private getStagingPrefix;
|
|
23
|
-
private getLockedBalance;
|
|
24
21
|
private getPointsEndpoint;
|
|
25
22
|
}
|
|
26
23
|
//# 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;IAepD,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC;IAiBpE,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC;IAyBlE,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;IAaxB,OAAO,CAAC,iBAAiB;CAK1B"}
|
|
@@ -34,21 +34,37 @@ 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
|
|
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.
|
|
38
39
|
// Notes:
|
|
39
40
|
// - If the mode token account is not found, this function will throw an error.
|
|
40
41
|
// - In rare cases, our API might be delayed and the unlocked balance might temporarily
|
|
41
|
-
// be less than 0. In these cases, we will return
|
|
42
|
+
// be less than 0. In these cases, we will return 0.
|
|
42
43
|
// - This endpoint is subject to rate limitations. You should only fetch when necessary.
|
|
43
|
-
async
|
|
44
|
+
async getUnlockedBalance(owner, mode) {
|
|
44
45
|
const lockedBalance = await this.getLockedBalance(owner, mode);
|
|
45
46
|
const modeMetadata = this.metadata[mode];
|
|
46
47
|
const modeBalance = await this.connection.getTokenAccountBalance((0, tokenAccount_1.getModeTokenATA)(owner, new web3_js_1.PublicKey(modeMetadata.mint)));
|
|
47
|
-
|
|
48
|
+
const unlockedBalance = new anchor_1.BN(modeBalance.value.amount).sub(lockedBalance);
|
|
48
49
|
if (unlockedBalance.isNeg()) {
|
|
49
|
-
|
|
50
|
+
return new anchor_1.BN(0);
|
|
50
51
|
}
|
|
51
|
-
return
|
|
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);
|
|
52
68
|
}
|
|
53
69
|
// Returns a transaction with all the necessary instructions to deposit into
|
|
54
70
|
// Huma 2.0 for the given mode. Note that this transaction omits priority fees,
|
|
@@ -184,18 +200,6 @@ class PermissionlessClient {
|
|
|
184
200
|
throw new Error(`Invalid chain: ${this.chain}`);
|
|
185
201
|
}
|
|
186
202
|
}
|
|
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
|
-
}
|
|
199
203
|
getPointsEndpoint() {
|
|
200
204
|
return `https://${this.getStagingPrefix()}${this.chain === chain_1.SolanaChainEnum.DEVNET ? "testnet" : "mainnet"}.permissionless-points.huma.finance`;
|
|
201
205
|
}
|
|
@@ -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,11 +13,21 @@ async function main() {
|
|
|
13
13
|
new Uint8Array(JSON.parse(process.env.PRIVATE_KEY!))
|
|
14
14
|
);
|
|
15
15
|
|
|
16
|
-
console.log("Getting
|
|
17
|
-
const
|
|
16
|
+
console.log("Getting locked balance for", key.publicKey.toString());
|
|
17
|
+
const data = await client.getLockedBalance(
|
|
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
|
+
);
|
|
18
29
|
|
|
19
|
-
console.log(
|
|
20
|
-
console.log("Unlocked balance:", balances.unlockedBalance.toString());
|
|
30
|
+
console.log(unlockedData.toString());
|
|
21
31
|
}
|
|
22
32
|
|
|
23
33
|
main();
|
package/package.json
CHANGED