@gearbox-protocol/sdk 3.0.0-next.201 → 3.0.0-next.203
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/lib/contracts/contractsRegister.d.ts +2 -2
- package/lib/contracts/contractsRegister.js +4 -1
- package/lib/core/creditAccount.d.ts +1 -1
- package/lib/core/creditAccount.js +5 -1
- package/lib/core/pool.d.ts +1 -0
- package/lib/core/pool.js +2 -0
- package/lib/core/transactions.d.ts +28 -1
- package/lib/core/transactions.js +59 -1
- package/lib/payload/pool.d.ts +1 -0
- package/lib/tokens/tokenData.js +4 -4
- package/package.json +2 -2
|
@@ -5,7 +5,7 @@ type MainnetCreditManagersV2 = "DAI_V2" | "USDC_V2" | "WETH_V2" | "WSTETH_V2" |
|
|
|
5
5
|
type MainnetCreditManagersV2_1 = "WETH_V2_1";
|
|
6
6
|
type MainnetCreditManagersV3 = "USDC_V3_TRADE_TIER_1" | "USDC_V3_TRADE_TIER_2" | "USDC_V3_TRADE_TIER_3" | "WBTC_V3_TRADE_TIER_1" | "WBTC_V3_TRADE_TIER_2" | "WBTC_V3_TRADE_TIER_3" | "WETH_V3_TRADE_TIER_1" | "WETH_V3_TRADE_TIER_2" | "WETH_V3_TRADE_TIER_3" | "USDC_V3_FARM" | "WETH_V3_FARM" | "WETH_V3_RESTAKING" | "USDT_V3_TIER_1_BROKEN" | "GHO_V3_TIER_1" | "DAI_V3_TIER_1" | "USDT_V3_TIER_1" | "CRVUSD_V3_TIER_1";
|
|
7
7
|
export type MainnetCreditManagers = MainnetCreditManagersV1 | MainnetCreditManagersV2 | MainnetCreditManagersV2_1 | MainnetCreditManagersV3;
|
|
8
|
-
export type ArbitrumCreditManagers = "USDC_E_V3_TRADE_TIER_1" | "USDC_E_V3_TRADE_TIER_2" | "WETH_V3_TRADE_TIER_1" | "WETH_V3_TRADE_TIER_2";
|
|
8
|
+
export type ArbitrumCreditManagers = "USDC_E_V3_TRADE_TIER_1" | "USDC_E_V3_TRADE_TIER_2" | "USDC_V3_TRADE_TIER_1" | "USDC_V3_TRADE_TIER_2" | "WETH_V3_TRADE_TIER_1" | "WETH_V3_TRADE_TIER_2";
|
|
9
9
|
export type OptimismCreditManagers = "USDC_E_V3_TIER_1" | "USDC_E_V3_TIER_2" | "WETH_V3_TIER_1" | "WETH_V3_TRADE_TIER_2";
|
|
10
10
|
export type BaseCreditManagers = never;
|
|
11
11
|
type CreditManagersListType = {
|
|
@@ -17,7 +17,7 @@ export declare const creditManagerByAddress: Record<string, SupportedCreditManag
|
|
|
17
17
|
export type MainnetPoolsV1 = "DAI_V1" | "USDC_V1" | "WETH_V1" | "WBTC_V1" | "WSTETH_V1" | "FRAX_V1";
|
|
18
18
|
export type MainnetPoolsV3 = "USDC_V3_TRADE" | "WETH_V3_TRADE" | "WBTC_V3_TRADE" | "USDT_V3_BROKEN" | "GHO_V3" | "DAI_V3" | "USDT_V3" | "CRVUSD_V3";
|
|
19
19
|
export type MainnetPools = MainnetPoolsV1 | MainnetPoolsV3;
|
|
20
|
-
export type ArbitrumPools = "USDC_V3" | "WETH_V3";
|
|
20
|
+
export type ArbitrumPools = "USDC_V3" | "USDC_e_V3" | "WETH_V3";
|
|
21
21
|
export type OptimismPools = "USDC_V3" | "WETH_V3";
|
|
22
22
|
export type BasePools = never;
|
|
23
23
|
type PoolsListType = {
|
|
@@ -42,6 +42,8 @@ exports.creditManagerByNetwork = {
|
|
|
42
42
|
Arbitrum: {
|
|
43
43
|
USDC_E_V3_TRADE_TIER_1: "0x75bc0fef1c93723be3d73b2000b5ba139a0c680c".toLowerCase(),
|
|
44
44
|
USDC_E_V3_TRADE_TIER_2: "0xb4bc02c0859b372c61abccfa5df91b1ccaa4dd1f".toLowerCase(),
|
|
45
|
+
USDC_V3_TRADE_TIER_1: "0xe5e2d4bb15d26a6036805fce666c5488367623e2".toLowerCase(),
|
|
46
|
+
USDC_V3_TRADE_TIER_2: "0xb780dd9cec259a0bbf7b32587802f33730353e86".toLowerCase(),
|
|
45
47
|
WETH_V3_TRADE_TIER_1: "0xcedaa4b4a42c0a771f6c24a3745c3ca3ed73f17a".toLowerCase(),
|
|
46
48
|
WETH_V3_TRADE_TIER_2: "0x3ab1d35500d2da4216f5863229a7b81e2f6ff976".toLowerCase(),
|
|
47
49
|
},
|
|
@@ -77,7 +79,8 @@ exports.poolByNetwork = {
|
|
|
77
79
|
CRVUSD_V3: "0x8ef73f036feec873d0b2fd20892215df5b8bdd72".toLowerCase(),
|
|
78
80
|
},
|
|
79
81
|
Arbitrum: {
|
|
80
|
-
|
|
82
|
+
USDC_e_V3: "0xa76c604145d7394dec36c49af494c144ff327861".toLowerCase(),
|
|
83
|
+
USDC_V3: "0x890a69ef363c9c7bdd5e36eb95ceb569f63acbf6".toLowerCase(),
|
|
81
84
|
WETH_V3: "0x04419d3509f13054f60d253e0c79491d9e683399".toLowerCase(),
|
|
82
85
|
},
|
|
83
86
|
Optimism: {
|
|
@@ -120,7 +120,7 @@ export declare class CreditAccountData {
|
|
|
120
120
|
setDeleteInProgress(d: boolean): void;
|
|
121
121
|
static sortBalances(balances: Record<string, bigint>, prices: Record<string, bigint>, tokens: Record<string, TokenData>): Array<[string, bigint]>;
|
|
122
122
|
static sortAssets(balances: Array<Asset>, prices: Record<string, bigint>, tokens: Record<string, TokenData>): Asset[];
|
|
123
|
-
static tokensAbcComparator(t1?: TokenData, t2?: TokenData): 1 | -1;
|
|
123
|
+
static tokensAbcComparator(t1?: TokenData, t2?: TokenData): 0 | 1 | -1;
|
|
124
124
|
static amountAbcComparator(t1: bigint, t2: bigint): 1 | -1;
|
|
125
125
|
isForbidden(token: string): boolean;
|
|
126
126
|
isQuoted(token: string): boolean;
|
|
@@ -140,7 +140,11 @@ class CreditAccountData {
|
|
|
140
140
|
static tokensAbcComparator(t1, t2) {
|
|
141
141
|
const { symbol: symbol1 = "" } = t1 || {};
|
|
142
142
|
const { symbol: symbol2 = "" } = t2 || {};
|
|
143
|
-
|
|
143
|
+
const symbol1LC = symbol1.toLowerCase();
|
|
144
|
+
const symbol2LC = symbol2.toLowerCase();
|
|
145
|
+
if (symbol1LC === symbol2LC)
|
|
146
|
+
return 0;
|
|
147
|
+
return symbol1LC > symbol2LC ? 1 : -1;
|
|
144
148
|
}
|
|
145
149
|
static amountAbcComparator(t1, t2) {
|
|
146
150
|
return t1 > t2 ? -1 : 1;
|
package/lib/core/pool.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare class PoolData {
|
|
|
9
9
|
readonly underlyingToken: string;
|
|
10
10
|
readonly dieselToken: string;
|
|
11
11
|
readonly stakedDieselToken: Array<string>;
|
|
12
|
+
readonly stakedDieselToken_old: Array<string>;
|
|
12
13
|
readonly isPaused: boolean;
|
|
13
14
|
readonly version: number;
|
|
14
15
|
readonly poolQuotaKeeper: string;
|
package/lib/core/pool.js
CHANGED
|
@@ -10,6 +10,7 @@ class PoolData {
|
|
|
10
10
|
underlyingToken;
|
|
11
11
|
dieselToken;
|
|
12
12
|
stakedDieselToken;
|
|
13
|
+
stakedDieselToken_old;
|
|
13
14
|
isPaused;
|
|
14
15
|
version;
|
|
15
16
|
poolQuotaKeeper;
|
|
@@ -43,6 +44,7 @@ class PoolData {
|
|
|
43
44
|
this.underlyingToken = payload.underlying.toLowerCase();
|
|
44
45
|
this.dieselToken = payload.dieselToken.toLowerCase();
|
|
45
46
|
this.stakedDieselToken = (extra.stakedDieselToken || []).map(t => t.toLowerCase());
|
|
47
|
+
this.stakedDieselToken_old = (extra.stakedDieselToken_old || []).map(t => t.toLowerCase());
|
|
46
48
|
this.isPaused = payload.isPaused;
|
|
47
49
|
this.version = Number(payload.version);
|
|
48
50
|
this.poolQuotaKeeper = payload.poolQuotaKeeper.toLowerCase();
|
|
@@ -10,7 +10,7 @@ interface PoolEvent {
|
|
|
10
10
|
readonly poolName?: string;
|
|
11
11
|
}
|
|
12
12
|
export interface TxSerialized {
|
|
13
|
-
type: "TxAddLiquidity" | "TxRemoveLiquidity" | "TxSwap" | "TxAddCollateral" | "TxIncreaseBorrowAmount" | "TxDecreaseBorrowAmount" | "TxOpenAccount" | "TxRepayAccount" | "TxCloseAccount" | "TxApprove" | "TxOpenMultitokenAccount" | "TxClaimReward" | "TxClaimNFT" | "TxClaimRewards" | "TxEnableTokens" | "TxUpdateQuota" | "TxGaugeStake" | "TxGaugeUnstake" | "TxGaugeClaim" | "TxGaugeVote" | "TxWithdrawCollateral" | "TxAddBot" | "TxRemoveBot" | "TxLiquidateAccount";
|
|
13
|
+
type: "TxAddLiquidity" | "TxRemoveLiquidity" | "TxSwap" | "TxAddCollateral" | "TxIncreaseBorrowAmount" | "TxDecreaseBorrowAmount" | "TxOpenAccount" | "TxRepayAccount" | "TxCloseAccount" | "TxApprove" | "TxOpenMultitokenAccount" | "TxClaimReward" | "TxClaimNFT" | "TxClaimRewards" | "TxEnableTokens" | "TxUpdateQuota" | "TxGaugeStake" | "TxGaugeUnstake" | "TxGaugeClaim" | "TxGaugeVote" | "TxWithdrawCollateral" | "TxAddBot" | "TxRemoveBot" | "TxLiquidateAccount" | "TxStakeDiesel" | "TxUnstakeDiesel";
|
|
14
14
|
content: string;
|
|
15
15
|
}
|
|
16
16
|
export declare class TxSerializer {
|
|
@@ -47,6 +47,33 @@ export declare class TxRemoveLiquidity extends EVMTx implements PoolEvent {
|
|
|
47
47
|
toString(): string;
|
|
48
48
|
serialize(): TxSerialized;
|
|
49
49
|
}
|
|
50
|
+
interface TxStakeDieselProps extends EVMTxProps {
|
|
51
|
+
amount: bigint;
|
|
52
|
+
from: string;
|
|
53
|
+
to: string;
|
|
54
|
+
pool: string;
|
|
55
|
+
poolName?: string;
|
|
56
|
+
}
|
|
57
|
+
export declare class TxStakeDiesel extends EVMTx implements PoolEvent {
|
|
58
|
+
readonly amount: bigint;
|
|
59
|
+
readonly from: string;
|
|
60
|
+
readonly to: string;
|
|
61
|
+
readonly pool: string;
|
|
62
|
+
readonly poolName?: string;
|
|
63
|
+
constructor(opts: TxStakeDieselProps);
|
|
64
|
+
toString(): string;
|
|
65
|
+
serialize(): TxSerialized;
|
|
66
|
+
}
|
|
67
|
+
export declare class TxUnstakeDiesel extends EVMTx implements PoolEvent {
|
|
68
|
+
readonly amount: bigint;
|
|
69
|
+
readonly from: string;
|
|
70
|
+
readonly to: string;
|
|
71
|
+
readonly pool: string;
|
|
72
|
+
readonly poolName?: string;
|
|
73
|
+
constructor(opts: TxStakeDieselProps);
|
|
74
|
+
toString(): string;
|
|
75
|
+
serialize(): TxSerialized;
|
|
76
|
+
}
|
|
50
77
|
interface SwapProps extends EVMTxProps {
|
|
51
78
|
protocol: string;
|
|
52
79
|
operation: string;
|
package/lib/core/transactions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TxRemoveBot = exports.TxAddBot = exports.TxWithdrawCollateral = exports.TxGaugeVote = exports.TxGaugeClaim = exports.TxGaugeUnstake = exports.TxGaugeStake = exports.TxUpdateQuota = exports.TxEnableTokens = exports.TxApprove = exports.TxCloseAccount = exports.TxLiquidateAccount = exports.TxRepayAccount = exports.TxClaimRewards = exports.TxClaimNFT = exports.TxClaimReward = exports.TxOpenMultitokenAccount = exports.TxOpenAccount = exports.TxDecreaseBorrowAmount = exports.TxIncreaseBorrowAmount = exports.TxAddCollateral = exports.TXSwap = exports.TxRemoveLiquidity = exports.TxAddLiquidity = exports.TxSerializer = void 0;
|
|
3
|
+
exports.TxRemoveBot = exports.TxAddBot = exports.TxWithdrawCollateral = exports.TxGaugeVote = exports.TxGaugeClaim = exports.TxGaugeUnstake = exports.TxGaugeStake = exports.TxUpdateQuota = exports.TxEnableTokens = exports.TxApprove = exports.TxCloseAccount = exports.TxLiquidateAccount = exports.TxRepayAccount = exports.TxClaimRewards = exports.TxClaimNFT = exports.TxClaimReward = exports.TxOpenMultitokenAccount = exports.TxOpenAccount = exports.TxDecreaseBorrowAmount = exports.TxIncreaseBorrowAmount = exports.TxAddCollateral = exports.TXSwap = exports.TxUnstakeDiesel = exports.TxStakeDiesel = exports.TxRemoveLiquidity = exports.TxAddLiquidity = exports.TxSerializer = void 0;
|
|
4
4
|
const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
|
|
5
5
|
const contractsRegister_1 = require("../contracts/contractsRegister");
|
|
6
6
|
const math_1 = require("../utils/math");
|
|
@@ -61,6 +61,10 @@ class TxSerializer {
|
|
|
61
61
|
return new TxRemoveBot(params);
|
|
62
62
|
case "TxLiquidateAccount":
|
|
63
63
|
return new TxLiquidateAccount(params);
|
|
64
|
+
case "TxStakeDiesel":
|
|
65
|
+
return new TxStakeDiesel(params);
|
|
66
|
+
case "TxUnstakeDiesel":
|
|
67
|
+
return new TxUnstakeDiesel(params);
|
|
64
68
|
default:
|
|
65
69
|
throw new Error(`Unknown transaction for parsing: ${e.type}`);
|
|
66
70
|
}
|
|
@@ -116,6 +120,60 @@ class TxRemoveLiquidity extends eventOrTx_1.EVMTx {
|
|
|
116
120
|
}
|
|
117
121
|
}
|
|
118
122
|
exports.TxRemoveLiquidity = TxRemoveLiquidity;
|
|
123
|
+
class TxStakeDiesel extends eventOrTx_1.EVMTx {
|
|
124
|
+
amount;
|
|
125
|
+
from;
|
|
126
|
+
to;
|
|
127
|
+
pool;
|
|
128
|
+
poolName;
|
|
129
|
+
constructor(opts) {
|
|
130
|
+
super(opts);
|
|
131
|
+
this.amount = opts.amount;
|
|
132
|
+
this.from = opts.from;
|
|
133
|
+
this.to = opts.to;
|
|
134
|
+
this.pool = opts.pool;
|
|
135
|
+
this.poolName = opts.poolName;
|
|
136
|
+
}
|
|
137
|
+
toString() {
|
|
138
|
+
const [fromSymbol, fromDecimals] = (0, sdk_gov_1.extractTokenData)(this.from);
|
|
139
|
+
const [toSymbol] = (0, sdk_gov_1.extractTokenData)(this.to);
|
|
140
|
+
return `${this.poolName || (0, contractsRegister_1.getContractName)(this.pool)}: Stake ${(0, sdk_gov_1.formatBN)(this.amount, fromDecimals || 18)} ${fromSymbol} => ${toSymbol}`;
|
|
141
|
+
}
|
|
142
|
+
serialize() {
|
|
143
|
+
return {
|
|
144
|
+
type: "TxStakeDiesel",
|
|
145
|
+
content: JSON.stringify(this),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.TxStakeDiesel = TxStakeDiesel;
|
|
150
|
+
class TxUnstakeDiesel extends eventOrTx_1.EVMTx {
|
|
151
|
+
amount;
|
|
152
|
+
from;
|
|
153
|
+
to;
|
|
154
|
+
pool;
|
|
155
|
+
poolName;
|
|
156
|
+
constructor(opts) {
|
|
157
|
+
super(opts);
|
|
158
|
+
this.amount = opts.amount;
|
|
159
|
+
this.from = opts.from;
|
|
160
|
+
this.to = opts.to;
|
|
161
|
+
this.pool = opts.pool;
|
|
162
|
+
this.poolName = opts.poolName;
|
|
163
|
+
}
|
|
164
|
+
toString() {
|
|
165
|
+
const [fromSymbol, fromDecimals] = (0, sdk_gov_1.extractTokenData)(this.from);
|
|
166
|
+
const [toSymbol] = (0, sdk_gov_1.extractTokenData)(this.to);
|
|
167
|
+
return `${this.poolName || (0, contractsRegister_1.getContractName)(this.pool)}: Unstake ${(0, sdk_gov_1.formatBN)(this.amount, fromDecimals || 18)} ${fromSymbol} => ${toSymbol}`;
|
|
168
|
+
}
|
|
169
|
+
serialize() {
|
|
170
|
+
return {
|
|
171
|
+
type: "TxUnstakeDiesel",
|
|
172
|
+
content: JSON.stringify(this),
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
exports.TxUnstakeDiesel = TxUnstakeDiesel;
|
|
119
177
|
class TXSwap extends eventOrTx_1.EVMTx {
|
|
120
178
|
protocol;
|
|
121
179
|
operation;
|
package/lib/payload/pool.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type PoolDataPayload = Omit<ExcludeArrayProps<PoolDataStructOutput>, "zap
|
|
|
7
7
|
};
|
|
8
8
|
export interface PoolDataExtraPayload {
|
|
9
9
|
stakedDieselToken: Array<string>;
|
|
10
|
+
stakedDieselToken_old: Array<string>;
|
|
10
11
|
supplyAPY7D: number | undefined;
|
|
11
12
|
}
|
|
12
13
|
export type LinearModel = Omit<ExcludeArrayProps<LinearModelStructOutput>, "version"> & {
|
package/lib/tokens/tokenData.js
CHANGED
|
@@ -4,6 +4,9 @@ exports.TokenData = void 0;
|
|
|
4
4
|
const config_1 = require("../config");
|
|
5
5
|
const ALIASES = {
|
|
6
6
|
USDC_e: "USDC.e",
|
|
7
|
+
dUSDC_eV3: "dUSDC.eV3",
|
|
8
|
+
sdUSDC_eV3: "sdUSDC.eV3",
|
|
9
|
+
sdWETHV3_OLD: "sdWETHV3 Old",
|
|
7
10
|
};
|
|
8
11
|
const NETWROK_DEPENDENT_ALIASES = {
|
|
9
12
|
Mainnet: {},
|
|
@@ -11,10 +14,7 @@ const NETWROK_DEPENDENT_ALIASES = {
|
|
|
11
14
|
dUSDCV3: "dUSDC.eV3",
|
|
12
15
|
sdUSDCV3: "sdUSDC.eV3",
|
|
13
16
|
},
|
|
14
|
-
Arbitrum: {
|
|
15
|
-
dUSDCV3: "dUSDC.eV3",
|
|
16
|
-
sdUSDCV3: "sdUSDC.eV3",
|
|
17
|
-
},
|
|
17
|
+
Arbitrum: {},
|
|
18
18
|
Base: {},
|
|
19
19
|
};
|
|
20
20
|
class TokenData {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gearbox-protocol/sdk",
|
|
3
|
-
"version": "3.0.0-next.
|
|
3
|
+
"version": "3.0.0-next.203",
|
|
4
4
|
"description": "Gearbox SDK",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@gearbox-protocol/bots-v3": "^1.5.1",
|
|
34
|
-
"@gearbox-protocol/sdk-gov": "^2.
|
|
34
|
+
"@gearbox-protocol/sdk-gov": "^2.8.1",
|
|
35
35
|
"axios": "^1.2.6",
|
|
36
36
|
"decimal.js-light": "^2.5.1",
|
|
37
37
|
"deep-eql": "^4.1.0",
|