@gearbox-protocol/sdk 8.11.1 → 8.12.1
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/dev/AccountOpener.js +9 -3
- package/dist/cjs/sdk/chain/chains.js +4 -1
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/normal.js +15 -0
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/token.js +4 -1
- package/dist/cjs/sdk/sdk-legacy/tokens/tokenData.js +2 -1
- package/dist/esm/dev/AccountOpener.js +9 -3
- package/dist/esm/sdk/chain/chains.js +4 -1
- package/dist/esm/sdk/sdk-gov-legacy/tokens/normal.js +15 -0
- package/dist/esm/sdk/sdk-gov-legacy/tokens/token.js +4 -1
- package/dist/esm/sdk/sdk-legacy/tokens/tokenData.js +2 -1
- package/dist/types/sdk/chain/chains.d.ts +1 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/normal.d.ts +1 -1
- package/package.json +3 -3
|
@@ -30,6 +30,7 @@ var import_sdk = require("../sdk/index.js");
|
|
|
30
30
|
var import_abi = require("./abi.js");
|
|
31
31
|
var import_claimFromFaucet = require("./claimFromFaucet.js");
|
|
32
32
|
var import_createAnvilClient = require("./createAnvilClient.js");
|
|
33
|
+
const DIRECT_TRANSFERS_QUOTA = (0, import_viem.parseEther)("10000", "wei");
|
|
33
34
|
class OpenTxRevertedError extends import_viem.BaseError {
|
|
34
35
|
txHash;
|
|
35
36
|
constructor(txHash) {
|
|
@@ -189,7 +190,7 @@ class AccountOpener extends import_sdk.SDKConstruct {
|
|
|
189
190
|
};
|
|
190
191
|
}
|
|
191
192
|
async prepareOpen(input) {
|
|
192
|
-
const { creditManager, target, slippage = 50 } = input;
|
|
193
|
+
const { creditManager, target, slippage = 50, directTransfer = [] } = input;
|
|
193
194
|
const borrower = await this.#getBorrower();
|
|
194
195
|
const cm = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
195
196
|
const symbol = this.sdk.tokensMeta.symbol(target);
|
|
@@ -248,6 +249,10 @@ class AccountOpener extends import_sdk.SDKConstruct {
|
|
|
248
249
|
debt,
|
|
249
250
|
logger
|
|
250
251
|
);
|
|
252
|
+
for (const token of directTransfer) {
|
|
253
|
+
averageQuota.push({ token, balance: DIRECT_TRANSFERS_QUOTA });
|
|
254
|
+
minQuota.push({ token, balance: DIRECT_TRANSFERS_QUOTA });
|
|
255
|
+
}
|
|
251
256
|
logger?.debug({ averageQuota, minQuota }, "calculated quotas");
|
|
252
257
|
const { tx, calls } = await this.#service.openCA({
|
|
253
258
|
creditManager: cm.creditManager.address,
|
|
@@ -535,7 +540,6 @@ class AccountOpener extends import_sdk.SDKConstruct {
|
|
|
535
540
|
publicClient: this.#anvil,
|
|
536
541
|
wallet: this.#anvil,
|
|
537
542
|
faucet: this.faucet,
|
|
538
|
-
amountUSD: (minAmountUSD) => minAmountUSD * BigInt(targets.length),
|
|
539
543
|
claimer: distributor,
|
|
540
544
|
role: "reward token distributor",
|
|
541
545
|
logger: this.#logger
|
|
@@ -555,7 +559,9 @@ class AccountOpener extends import_sdk.SDKConstruct {
|
|
|
555
559
|
for (let i = 0; i < tokensArr.length; i++) {
|
|
556
560
|
const token = tokensArr[i];
|
|
557
561
|
const balance = actualBalances[i];
|
|
558
|
-
this.#logger?.debug(
|
|
562
|
+
this.#logger?.debug(
|
|
563
|
+
`${this.labelAddress(token)} balance: ${this.sdk.tokensMeta.formatBN(token, balance)}`
|
|
564
|
+
);
|
|
559
565
|
}
|
|
560
566
|
for (const { account, input } of targets) {
|
|
561
567
|
if (!account) {
|
|
@@ -70,6 +70,9 @@ const chains = {
|
|
|
70
70
|
"0xc168343c791d56dd1da4b4b8b0cc1c1ec1a16e6b": "cp0x",
|
|
71
71
|
"0x3b56538833fc02f4f0e75609390f26ded0c32e42": "Re7"
|
|
72
72
|
},
|
|
73
|
+
testMarketConfigurators: {
|
|
74
|
+
"0x7a133fbd01736fd076158307c9476cc3877f1af5": "Invariant Group"
|
|
75
|
+
},
|
|
73
76
|
isPublic: true,
|
|
74
77
|
wellKnownToken: {
|
|
75
78
|
address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
@@ -265,7 +268,7 @@ const chains = {
|
|
|
265
268
|
network: "Hemi",
|
|
266
269
|
defaultMarketConfigurators: {},
|
|
267
270
|
testMarketConfigurators: {
|
|
268
|
-
"0xc9961b8a0c763779690577f2c76962c086af2fe3": "Invariant"
|
|
271
|
+
"0xc9961b8a0c763779690577f2c76962c086af2fe3": "Invariant Group"
|
|
269
272
|
},
|
|
270
273
|
isPublic: false,
|
|
271
274
|
wellKnownToken: {
|
|
@@ -535,6 +535,21 @@ const normalTokens = {
|
|
|
535
535
|
name: "bfBTC",
|
|
536
536
|
symbol: "bfBTC",
|
|
537
537
|
type: { AllNetworks: import_tokenType.TokenType.NORMAL_TOKEN }
|
|
538
|
+
},
|
|
539
|
+
sUSDf: {
|
|
540
|
+
name: "sUSDf",
|
|
541
|
+
symbol: "sUSDf",
|
|
542
|
+
type: { AllNetworks: import_tokenType.TokenType.NORMAL_TOKEN }
|
|
543
|
+
},
|
|
544
|
+
PT_sUSDf_25SEP2025: {
|
|
545
|
+
name: "Pendle PT sUSDf 25 September 2025 expiry",
|
|
546
|
+
symbol: "PT_sUSDf_25SEP2025",
|
|
547
|
+
type: { AllNetworks: import_tokenType.TokenType.NORMAL_TOKEN }
|
|
548
|
+
},
|
|
549
|
+
stkcvxUSDCUSDf: {
|
|
550
|
+
name: "Convex stkcvxUSDCUSDf",
|
|
551
|
+
symbol: "stkcvxUSDCUSDf",
|
|
552
|
+
type: { AllNetworks: import_tokenType.TokenType.NORMAL_TOKEN }
|
|
538
553
|
}
|
|
539
554
|
};
|
|
540
555
|
const isNormalToken = (t) => typeof t === "string" && !!normalTokens[t];
|
|
@@ -351,7 +351,10 @@ const tokenDataByNetwork = {
|
|
|
351
351
|
PT_sUSDX_1SEP2025: import_constants.NOT_DEPLOYED,
|
|
352
352
|
lskETH: import_constants.NOT_DEPLOYED,
|
|
353
353
|
hemiBTC: import_constants.NOT_DEPLOYED,
|
|
354
|
-
bfBTC: import_constants.NOT_DEPLOYED
|
|
354
|
+
bfBTC: import_constants.NOT_DEPLOYED,
|
|
355
|
+
PT_sUSDf_25SEP2025: "0xAB365C0879024481E4ad3b47bd6FeA9c10014FbC",
|
|
356
|
+
sUSDf: "0xc8CF6D7991f15525488b2A83Df53468D682Ba4B0",
|
|
357
|
+
stkcvxUSDCUSDf: "0xa327D7f665AFE9Ecb0963B5561C84C48C7EC71AB"
|
|
355
358
|
},
|
|
356
359
|
///
|
|
357
360
|
///
|
|
@@ -40,7 +40,8 @@ const ALIASES = {
|
|
|
40
40
|
PT_sUSDe_29MAY2025: "p.sUSDe(29.05.25)",
|
|
41
41
|
PT_beraSTONE_10APR2025: "p.beraSTONE(10.04.25)",
|
|
42
42
|
PT_uptBTC_14AUG2025: "p.uptBTC(14.08.25)",
|
|
43
|
-
PT_sUSDX_1SEP2025: "p.sUSDX(1.09.25)"
|
|
43
|
+
PT_sUSDX_1SEP2025: "p.sUSDX(1.09.25)",
|
|
44
|
+
PT_sUSDf_25SEP2025: "p.sUSDf(1.09.25)"
|
|
44
45
|
};
|
|
45
46
|
class TokenData {
|
|
46
47
|
address;
|
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
import { iDegenNftv2Abi } from "./abi.js";
|
|
23
23
|
import { claimFromFaucet } from "./claimFromFaucet.js";
|
|
24
24
|
import { createAnvilClient } from "./createAnvilClient.js";
|
|
25
|
+
const DIRECT_TRANSFERS_QUOTA = parseEther("10000", "wei");
|
|
25
26
|
class OpenTxRevertedError extends BaseError {
|
|
26
27
|
txHash;
|
|
27
28
|
constructor(txHash) {
|
|
@@ -181,7 +182,7 @@ class AccountOpener extends SDKConstruct {
|
|
|
181
182
|
};
|
|
182
183
|
}
|
|
183
184
|
async prepareOpen(input) {
|
|
184
|
-
const { creditManager, target, slippage = 50 } = input;
|
|
185
|
+
const { creditManager, target, slippage = 50, directTransfer = [] } = input;
|
|
185
186
|
const borrower = await this.#getBorrower();
|
|
186
187
|
const cm = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
187
188
|
const symbol = this.sdk.tokensMeta.symbol(target);
|
|
@@ -240,6 +241,10 @@ class AccountOpener extends SDKConstruct {
|
|
|
240
241
|
debt,
|
|
241
242
|
logger
|
|
242
243
|
);
|
|
244
|
+
for (const token of directTransfer) {
|
|
245
|
+
averageQuota.push({ token, balance: DIRECT_TRANSFERS_QUOTA });
|
|
246
|
+
minQuota.push({ token, balance: DIRECT_TRANSFERS_QUOTA });
|
|
247
|
+
}
|
|
243
248
|
logger?.debug({ averageQuota, minQuota }, "calculated quotas");
|
|
244
249
|
const { tx, calls } = await this.#service.openCA({
|
|
245
250
|
creditManager: cm.creditManager.address,
|
|
@@ -527,7 +532,6 @@ class AccountOpener extends SDKConstruct {
|
|
|
527
532
|
publicClient: this.#anvil,
|
|
528
533
|
wallet: this.#anvil,
|
|
529
534
|
faucet: this.faucet,
|
|
530
|
-
amountUSD: (minAmountUSD) => minAmountUSD * BigInt(targets.length),
|
|
531
535
|
claimer: distributor,
|
|
532
536
|
role: "reward token distributor",
|
|
533
537
|
logger: this.#logger
|
|
@@ -547,7 +551,9 @@ class AccountOpener extends SDKConstruct {
|
|
|
547
551
|
for (let i = 0; i < tokensArr.length; i++) {
|
|
548
552
|
const token = tokensArr[i];
|
|
549
553
|
const balance = actualBalances[i];
|
|
550
|
-
this.#logger?.debug(
|
|
554
|
+
this.#logger?.debug(
|
|
555
|
+
`${this.labelAddress(token)} balance: ${this.sdk.tokensMeta.formatBN(token, balance)}`
|
|
556
|
+
);
|
|
551
557
|
}
|
|
552
558
|
for (const { account, input } of targets) {
|
|
553
559
|
if (!account) {
|
|
@@ -56,6 +56,9 @@ const chains = {
|
|
|
56
56
|
"0xc168343c791d56dd1da4b4b8b0cc1c1ec1a16e6b": "cp0x",
|
|
57
57
|
"0x3b56538833fc02f4f0e75609390f26ded0c32e42": "Re7"
|
|
58
58
|
},
|
|
59
|
+
testMarketConfigurators: {
|
|
60
|
+
"0x7a133fbd01736fd076158307c9476cc3877f1af5": "Invariant Group"
|
|
61
|
+
},
|
|
59
62
|
isPublic: true,
|
|
60
63
|
wellKnownToken: {
|
|
61
64
|
address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
@@ -251,7 +254,7 @@ const chains = {
|
|
|
251
254
|
network: "Hemi",
|
|
252
255
|
defaultMarketConfigurators: {},
|
|
253
256
|
testMarketConfigurators: {
|
|
254
|
-
"0xc9961b8a0c763779690577f2c76962c086af2fe3": "Invariant"
|
|
257
|
+
"0xc9961b8a0c763779690577f2c76962c086af2fe3": "Invariant Group"
|
|
255
258
|
},
|
|
256
259
|
isPublic: false,
|
|
257
260
|
wellKnownToken: {
|
|
@@ -511,6 +511,21 @@ const normalTokens = {
|
|
|
511
511
|
name: "bfBTC",
|
|
512
512
|
symbol: "bfBTC",
|
|
513
513
|
type: { AllNetworks: TokenType.NORMAL_TOKEN }
|
|
514
|
+
},
|
|
515
|
+
sUSDf: {
|
|
516
|
+
name: "sUSDf",
|
|
517
|
+
symbol: "sUSDf",
|
|
518
|
+
type: { AllNetworks: TokenType.NORMAL_TOKEN }
|
|
519
|
+
},
|
|
520
|
+
PT_sUSDf_25SEP2025: {
|
|
521
|
+
name: "Pendle PT sUSDf 25 September 2025 expiry",
|
|
522
|
+
symbol: "PT_sUSDf_25SEP2025",
|
|
523
|
+
type: { AllNetworks: TokenType.NORMAL_TOKEN }
|
|
524
|
+
},
|
|
525
|
+
stkcvxUSDCUSDf: {
|
|
526
|
+
name: "Convex stkcvxUSDCUSDf",
|
|
527
|
+
symbol: "stkcvxUSDCUSDf",
|
|
528
|
+
type: { AllNetworks: TokenType.NORMAL_TOKEN }
|
|
514
529
|
}
|
|
515
530
|
};
|
|
516
531
|
const isNormalToken = (t) => typeof t === "string" && !!normalTokens[t];
|
|
@@ -324,7 +324,10 @@ const tokenDataByNetwork = {
|
|
|
324
324
|
PT_sUSDX_1SEP2025: NOT_DEPLOYED,
|
|
325
325
|
lskETH: NOT_DEPLOYED,
|
|
326
326
|
hemiBTC: NOT_DEPLOYED,
|
|
327
|
-
bfBTC: NOT_DEPLOYED
|
|
327
|
+
bfBTC: NOT_DEPLOYED,
|
|
328
|
+
PT_sUSDf_25SEP2025: "0xAB365C0879024481E4ad3b47bd6FeA9c10014FbC",
|
|
329
|
+
sUSDf: "0xc8CF6D7991f15525488b2A83Df53468D682Ba4B0",
|
|
330
|
+
stkcvxUSDCUSDf: "0xa327D7f665AFE9Ecb0963B5561C84C48C7EC71AB"
|
|
328
331
|
},
|
|
329
332
|
///
|
|
330
333
|
///
|
|
@@ -17,7 +17,8 @@ const ALIASES = {
|
|
|
17
17
|
PT_sUSDe_29MAY2025: "p.sUSDe(29.05.25)",
|
|
18
18
|
PT_beraSTONE_10APR2025: "p.beraSTONE(10.04.25)",
|
|
19
19
|
PT_uptBTC_14AUG2025: "p.uptBTC(14.08.25)",
|
|
20
|
-
PT_sUSDX_1SEP2025: "p.sUSDX(1.09.25)"
|
|
20
|
+
PT_sUSDX_1SEP2025: "p.sUSDX(1.09.25)",
|
|
21
|
+
PT_sUSDf_25SEP2025: "p.sUSDf(1.09.25)"
|
|
21
22
|
};
|
|
22
23
|
class TokenData {
|
|
23
24
|
address;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Address, Chain } from "viem";
|
|
2
2
|
import { z } from "zod/v4";
|
|
3
|
-
export type Curator = "Chaos Labs" | "K3" | "cp0x" | "Re7" | "Invariant";
|
|
3
|
+
export type Curator = "Chaos Labs" | "K3" | "cp0x" | "Re7" | "Invariant Group";
|
|
4
4
|
export interface GearboxChain extends Chain {
|
|
5
5
|
network: NetworkType;
|
|
6
6
|
defaultMarketConfigurators: Record<Address, Curator>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { TokenBase } from "./token.js";
|
|
2
2
|
import type { TokenNetwork } from "./tokenType.js";
|
|
3
3
|
import { TokenType } from "./tokenType.js";
|
|
4
|
-
export type NormalToken = "1INCH" | "AAVE" | "CRV" | "LINK" | "SNX" | "UNI" | "USDT" | "DOLA" | "USDC" | "USDC_e" | "DAI" | "WETH" | "WBTC" | "tBTC" | "YFI" | "WLD" | "OP" | "STETH" | "CVX" | "FRAX" | "FXS" | "LDO" | "LUSD" | "sUSD" | "GUSD" | "LQTY" | "GMX" | "ARB" | "BAL" | "ARB" | "MKR" | "RPL" | "APE" | "rETH" | "AURA" | "LBTC" | "eBTC" | "solvBTC" | "pumpBTC" | "osETH" | "weETH" | "SWISE" | "ezETH" | "rsETH" | "PENDLE" | "frxETH" | "cbETH" | "rswETH" | "USDe" | "GHO" | "pufETH" | "wstETH" | "USDS" | "SKY" | "beraSTONE" | "wS" | "stS" | "scUSD" | "T" | "tETH" | "USDL" | "wUSDL" | "csUSDL" | "RLUSD" | "MORPHO" | "steakLRT" | "Re7LRT" | "amphrETH" | "rstETH" | "pzETH" | "DVstETH" | "waEthLidowstETH" | "PT_rsETH_26SEP2024" | "PT_sUSDe_26DEC2024" | "PT_eETH_26DEC2024" | "PT_ezETH_26DEC2024" | "PT_eBTC_26DEC2024" | "PT_LBTC_27MAR2025" | "PT_corn_solvBTC_BBN_26DEC2024" | "PT_corn_pumpBTC_26DEC2024" | "PT_cornLBTC_26DEC2024" | "PT_corn_eBTC_27MAR2025" | "PT_sUSDe_27MAR2025" | "PT_sUSDe_29MAY2025" | "PT_beraSTONE_10APR2025" | "PT_sUSDX_1SEP2025" | "rstETH_Lido_wstETH" | "DVstETH_Prime_wstETH" | "SHIB" | "crvUSD" | "WBNB" | "BTCB" | "USD1" | "USDX" | "cp0xLRT" | "uptBTC" | "PT_uptBTC_14AUG2025" | "WXTZ" | "mTBILL" | "mBASIS" | "lskETH" | "hemiBTC" | "bfBTC";
|
|
4
|
+
export type NormalToken = "1INCH" | "AAVE" | "CRV" | "LINK" | "SNX" | "UNI" | "USDT" | "DOLA" | "USDC" | "USDC_e" | "DAI" | "WETH" | "WBTC" | "tBTC" | "YFI" | "WLD" | "OP" | "STETH" | "CVX" | "FRAX" | "FXS" | "LDO" | "LUSD" | "sUSD" | "GUSD" | "LQTY" | "GMX" | "ARB" | "BAL" | "ARB" | "MKR" | "RPL" | "APE" | "rETH" | "AURA" | "LBTC" | "eBTC" | "solvBTC" | "pumpBTC" | "osETH" | "weETH" | "SWISE" | "ezETH" | "rsETH" | "PENDLE" | "frxETH" | "cbETH" | "rswETH" | "USDe" | "GHO" | "pufETH" | "wstETH" | "USDS" | "SKY" | "beraSTONE" | "wS" | "stS" | "scUSD" | "T" | "tETH" | "USDL" | "wUSDL" | "csUSDL" | "RLUSD" | "MORPHO" | "steakLRT" | "Re7LRT" | "amphrETH" | "rstETH" | "pzETH" | "DVstETH" | "waEthLidowstETH" | "PT_rsETH_26SEP2024" | "PT_sUSDe_26DEC2024" | "PT_eETH_26DEC2024" | "PT_ezETH_26DEC2024" | "PT_eBTC_26DEC2024" | "PT_LBTC_27MAR2025" | "PT_corn_solvBTC_BBN_26DEC2024" | "PT_corn_pumpBTC_26DEC2024" | "PT_cornLBTC_26DEC2024" | "PT_corn_eBTC_27MAR2025" | "PT_sUSDe_27MAR2025" | "PT_sUSDe_29MAY2025" | "PT_beraSTONE_10APR2025" | "PT_sUSDX_1SEP2025" | "rstETH_Lido_wstETH" | "DVstETH_Prime_wstETH" | "SHIB" | "crvUSD" | "WBNB" | "BTCB" | "USD1" | "USDX" | "cp0xLRT" | "uptBTC" | "PT_uptBTC_14AUG2025" | "WXTZ" | "mTBILL" | "mBASIS" | "lskETH" | "hemiBTC" | "bfBTC" | "sUSDf" | "PT_sUSDf_25SEP2025" | "stkcvxUSDCUSDf";
|
|
5
5
|
export type NormalTokenData = {
|
|
6
6
|
symbol: NormalToken;
|
|
7
7
|
type: Partial<Record<TokenNetwork, TokenType.NORMAL_TOKEN>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gearbox-protocol/sdk",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.12.1",
|
|
4
4
|
"description": "Gearbox SDK",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/cjs/sdk/index.js",
|
|
@@ -63,12 +63,12 @@
|
|
|
63
63
|
"zod": "^4.0.5"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"@biomejs/biome": "^2.1.
|
|
66
|
+
"@biomejs/biome": "^2.1.2",
|
|
67
67
|
"@commitlint/cli": "^19.8.1",
|
|
68
68
|
"@commitlint/config-conventional": "^19.8.1",
|
|
69
69
|
"@gearbox-protocol/biome-config": "^1.0.0",
|
|
70
70
|
"@types/cross-spawn": "^6.0.6",
|
|
71
|
-
"axios": "^1.
|
|
71
|
+
"axios": "^1.11.0",
|
|
72
72
|
"cross-spawn": "^7.0.6",
|
|
73
73
|
"husky": "^9.1.7",
|
|
74
74
|
"lint-staged": "^16.1.2",
|