@steerprotocol/sdk 1.2.0 → 1.4.0
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 +54 -0
- package/dist/cjs/base/StakingClient.js +345 -0
- package/dist/cjs/base/StakingClient.js.map +1 -0
- package/dist/cjs/base/VaultClient.js +57 -118
- package/dist/cjs/base/VaultClient.js.map +1 -1
- package/dist/cjs/base/vault/deposit/index.js +484 -0
- package/dist/cjs/base/vault/deposit/index.js.map +1 -0
- package/dist/cjs/base/vault/deposit/types.js +3 -0
- package/dist/cjs/base/vault/deposit/types.js.map +1 -0
- package/dist/cjs/base/vault/utils.js +432 -0
- package/dist/cjs/base/vault/utils.js.map +1 -0
- package/dist/cjs/base/vault/withdraw/index.js +155 -0
- package/dist/cjs/base/vault/withdraw/index.js.map +1 -0
- package/dist/cjs/base/vault/withdraw/types.js +3 -0
- package/dist/cjs/base/vault/withdraw/types.js.map +1 -0
- package/dist/cjs/const/chain.js +96 -0
- package/dist/cjs/const/chain.js.map +1 -0
- package/dist/cjs/const/network.js +801 -0
- package/dist/cjs/const/network.js.map +1 -0
- package/dist/cjs/const/protocol.js +55 -0
- package/dist/cjs/const/protocol.js.map +1 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/base/StakingClient.js +341 -0
- package/dist/esm/base/StakingClient.js.map +1 -0
- package/dist/esm/base/VaultClient.js +57 -118
- package/dist/esm/base/VaultClient.js.map +1 -1
- package/dist/esm/base/vault/deposit/index.js +480 -0
- package/dist/esm/base/vault/deposit/index.js.map +1 -0
- package/dist/esm/base/vault/deposit/types.js +2 -0
- package/dist/esm/base/vault/deposit/types.js.map +1 -0
- package/dist/esm/base/vault/utils.js +425 -0
- package/dist/esm/base/vault/utils.js.map +1 -0
- package/dist/esm/base/vault/withdraw/index.js +151 -0
- package/dist/esm/base/vault/withdraw/index.js.map +1 -0
- package/dist/esm/base/vault/withdraw/types.js +2 -0
- package/dist/esm/base/vault/withdraw/types.js.map +1 -0
- package/dist/esm/const/chain.js +93 -0
- package/dist/esm/const/chain.js.map +1 -0
- package/dist/esm/const/network.js +797 -0
- package/dist/esm/const/network.js.map +1 -0
- package/dist/esm/const/protocol.js +47 -0
- package/dist/esm/const/protocol.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/base/StakingClient.d.ts +81 -0
- package/dist/types/base/StakingClient.d.ts.map +1 -0
- package/dist/types/base/VaultClient.d.ts +81 -16
- package/dist/types/base/VaultClient.d.ts.map +1 -1
- package/dist/types/base/vault/deposit/index.d.ts +74 -0
- package/dist/types/base/vault/deposit/index.d.ts.map +1 -0
- package/dist/types/base/vault/deposit/types.d.ts +42 -0
- package/dist/types/base/vault/deposit/types.d.ts.map +1 -0
- package/dist/types/base/vault/utils.d.ts +26 -0
- package/dist/types/base/vault/utils.d.ts.map +1 -0
- package/dist/types/base/vault/withdraw/index.d.ts +45 -0
- package/dist/types/base/vault/withdraw/index.d.ts.map +1 -0
- package/dist/types/base/vault/withdraw/types.d.ts +13 -0
- package/dist/types/base/vault/withdraw/types.d.ts.map +1 -0
- package/dist/types/const/chain.d.ts +88 -0
- package/dist/types/const/chain.d.ts.map +1 -0
- package/dist/types/const/network.d.ts +26 -0
- package/dist/types/const/network.d.ts.map +1 -0
- package/dist/types/const/protocol.d.ts +12 -0
- package/dist/types/const/protocol.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types.d.ts +101 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +14 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/const/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPoolSharkProtocol = exports.isAlgebraIntegralProtocol = exports.isAlgebraDirectionProtocol = exports.isThickV2Protocol = exports.isAlgebraProtocol = exports.ALGEBRA_INTEGRAL_PROTOCOLS = exports.POOLSHARK_PROTOCOLS = exports.DIRECTIONAL_ALGEBRA_PROTOCOLS = exports.ALGEBRA_PROTOCOLS = void 0;
|
|
4
|
+
const chain_1 = require("./chain");
|
|
5
|
+
exports.ALGEBRA_PROTOCOLS = [
|
|
6
|
+
chain_1.Protocol.QuickSwap,
|
|
7
|
+
chain_1.Protocol.Beam,
|
|
8
|
+
chain_1.Protocol.QuickSwapIntegral,
|
|
9
|
+
chain_1.Protocol.SilverSwap,
|
|
10
|
+
chain_1.Protocol.Ocelex,
|
|
11
|
+
chain_1.Protocol.Henjin,
|
|
12
|
+
chain_1.Protocol.Camelot,
|
|
13
|
+
chain_1.Protocol.Ocelex,
|
|
14
|
+
chain_1.Protocol.Lynex,
|
|
15
|
+
chain_1.Protocol.Thena,
|
|
16
|
+
chain_1.Protocol.Hercules,
|
|
17
|
+
chain_1.Protocol.QuickSwapAlgebra,
|
|
18
|
+
chain_1.Protocol.Kim,
|
|
19
|
+
chain_1.Protocol.Swapsicle,
|
|
20
|
+
chain_1.Protocol.Fenix,
|
|
21
|
+
chain_1.Protocol.StellaSwap,
|
|
22
|
+
];
|
|
23
|
+
exports.DIRECTIONAL_ALGEBRA_PROTOCOLS = [chain_1.Protocol.Camelot, chain_1.Protocol.Hercules];
|
|
24
|
+
exports.POOLSHARK_PROTOCOLS = [chain_1.Protocol.PoolShark];
|
|
25
|
+
exports.ALGEBRA_INTEGRAL_PROTOCOLS = [
|
|
26
|
+
chain_1.Protocol.Kim,
|
|
27
|
+
chain_1.Protocol.Swapsicle,
|
|
28
|
+
chain_1.Protocol.QuickSwapIntegral,
|
|
29
|
+
chain_1.Protocol.Fenix,
|
|
30
|
+
chain_1.Protocol.Henjin,
|
|
31
|
+
chain_1.Protocol.SilverSwap,
|
|
32
|
+
chain_1.Protocol.Beam,
|
|
33
|
+
];
|
|
34
|
+
const THICK_PROTOCOLS = [chain_1.Protocol.ThickV2];
|
|
35
|
+
const isAlgebraProtocol = (protocol) => {
|
|
36
|
+
return exports.ALGEBRA_PROTOCOLS.includes(protocol);
|
|
37
|
+
};
|
|
38
|
+
exports.isAlgebraProtocol = isAlgebraProtocol;
|
|
39
|
+
const isThickV2Protocol = (protocol) => {
|
|
40
|
+
return THICK_PROTOCOLS.includes(protocol);
|
|
41
|
+
};
|
|
42
|
+
exports.isThickV2Protocol = isThickV2Protocol;
|
|
43
|
+
const isAlgebraDirectionProtocol = (protocol) => {
|
|
44
|
+
return exports.DIRECTIONAL_ALGEBRA_PROTOCOLS.includes(protocol);
|
|
45
|
+
};
|
|
46
|
+
exports.isAlgebraDirectionProtocol = isAlgebraDirectionProtocol;
|
|
47
|
+
const isAlgebraIntegralProtocol = (protocol) => {
|
|
48
|
+
return exports.ALGEBRA_INTEGRAL_PROTOCOLS.includes(protocol);
|
|
49
|
+
};
|
|
50
|
+
exports.isAlgebraIntegralProtocol = isAlgebraIntegralProtocol;
|
|
51
|
+
const isPoolSharkProtocol = (protocol) => {
|
|
52
|
+
return exports.POOLSHARK_PROTOCOLS.includes(protocol);
|
|
53
|
+
};
|
|
54
|
+
exports.isPoolSharkProtocol = isPoolSharkProtocol;
|
|
55
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/const/protocol.ts"],"names":[],"mappings":";;;AACA,mCAAmC;AAItB,QAAA,iBAAiB,GAAG;IAC/B,gBAAQ,CAAC,SAAS;IAClB,gBAAQ,CAAC,IAAI;IACb,gBAAQ,CAAC,iBAAiB;IAC1B,gBAAQ,CAAC,UAAU;IACnB,gBAAQ,CAAC,MAAM;IACf,gBAAQ,CAAC,MAAM;IACf,gBAAQ,CAAC,OAAO;IAChB,gBAAQ,CAAC,MAAM;IACf,gBAAQ,CAAC,KAAK;IACd,gBAAQ,CAAC,KAAK;IACd,gBAAQ,CAAC,QAAQ;IACjB,gBAAQ,CAAC,gBAAgB;IACzB,gBAAQ,CAAC,GAAG;IACZ,gBAAQ,CAAC,SAAS;IAClB,gBAAQ,CAAC,KAAK;IACd,gBAAQ,CAAC,UAAU;CACpB,CAAC;AAEW,QAAA,6BAA6B,GAAG,CAAC,gBAAQ,CAAC,OAAO,EAAE,gBAAQ,CAAC,QAAQ,CAAC,CAAC;AAEtE,QAAA,mBAAmB,GAAG,CAAC,gBAAQ,CAAC,SAAS,CAAC,CAAC;AAE3C,QAAA,0BAA0B,GAAG;IACxC,gBAAQ,CAAC,GAAG;IACZ,gBAAQ,CAAC,SAAS;IAClB,gBAAQ,CAAC,iBAAiB;IAC1B,gBAAQ,CAAC,KAAK;IACd,gBAAQ,CAAC,MAAM;IACf,gBAAQ,CAAC,UAAU;IACnB,gBAAQ,CAAC,IAAI;CACd,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,gBAAQ,CAAC,OAAO,CAAC,CAAC;AAEpC,MAAM,iBAAiB,GAAG,CAAC,QAA2B,EAAE,EAAE;IAC/D,OAAO,yBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,iBAAiB,GAAG,CAAC,QAA2B,EAAE,EAAE;IAC/D,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,0BAA0B,GAAG,CAAC,QAA2B,EAAE,EAAE;IACxE,OAAO,qCAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,0BAA0B,8BAErC;AAEK,MAAM,yBAAyB,GAAG,CAAC,QAA2B,EAAE,EAAE;IACvE,OAAO,kCAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC,CAAC;AAFW,QAAA,yBAAyB,6BAEpC;AAEK,MAAM,mBAAmB,GAAG,CAAC,QAA2B,EAAE,EAAE;IACjE,OAAO,2BAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -20,6 +20,9 @@ __exportStar(require("./types"), exports);
|
|
|
20
20
|
__exportStar(require("./const"), exports);
|
|
21
21
|
__exportStar(require("./const/subgraph"), exports);
|
|
22
22
|
__exportStar(require("./const/api"), exports);
|
|
23
|
+
__exportStar(require("./base/VaultClient"), exports);
|
|
24
|
+
__exportStar(require("./base/SubgraphClient"), exports);
|
|
25
|
+
__exportStar(require("./base/StakingClient"), exports);
|
|
23
26
|
/**
|
|
24
27
|
* @packageDocumentation
|
|
25
28
|
*
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;AAC5B,qDAAmC;AACnC,wDAAsC;AACtC,uDAAqC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG"}
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
import { SubgraphClient } from './SubgraphClient';
|
|
2
|
+
// ABIs for staking contracts
|
|
3
|
+
const SINGLE_REWARD_ABI = [
|
|
4
|
+
{
|
|
5
|
+
"inputs": [],
|
|
6
|
+
"name": "lastTimeRewardApplicable",
|
|
7
|
+
"outputs": [{ "type": "uint256" }],
|
|
8
|
+
"stateMutability": "view",
|
|
9
|
+
"type": "function"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [{ "type": "address" }],
|
|
13
|
+
"name": "earned",
|
|
14
|
+
"outputs": [{ "type": "uint256" }],
|
|
15
|
+
"stateMutability": "view",
|
|
16
|
+
"type": "function"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"inputs": [],
|
|
20
|
+
"name": "totalSupply",
|
|
21
|
+
"outputs": [{ "type": "uint256" }],
|
|
22
|
+
"stateMutability": "view",
|
|
23
|
+
"type": "function"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"inputs": [{ "type": "address" }],
|
|
27
|
+
"name": "balanceOf",
|
|
28
|
+
"outputs": [{ "type": "uint256" }],
|
|
29
|
+
"stateMutability": "view",
|
|
30
|
+
"type": "function"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"inputs": [{ "type": "uint256" }],
|
|
34
|
+
"name": "stake",
|
|
35
|
+
"outputs": [],
|
|
36
|
+
"stateMutability": "nonpayable",
|
|
37
|
+
"type": "function"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"inputs": [{ "type": "uint256" }],
|
|
41
|
+
"name": "withdraw",
|
|
42
|
+
"outputs": [],
|
|
43
|
+
"stateMutability": "nonpayable",
|
|
44
|
+
"type": "function"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"inputs": [],
|
|
48
|
+
"name": "getReward",
|
|
49
|
+
"outputs": [],
|
|
50
|
+
"stateMutability": "nonpayable",
|
|
51
|
+
"type": "function"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputs": [],
|
|
55
|
+
"name": "exit",
|
|
56
|
+
"outputs": [],
|
|
57
|
+
"stateMutability": "nonpayable",
|
|
58
|
+
"type": "function"
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
const DUAL_REWARD_ABI = [
|
|
62
|
+
...SINGLE_REWARD_ABI,
|
|
63
|
+
{
|
|
64
|
+
"inputs": [{ "type": "address" }],
|
|
65
|
+
"name": "earnedA",
|
|
66
|
+
"outputs": [{ "type": "uint256" }],
|
|
67
|
+
"stateMutability": "view",
|
|
68
|
+
"type": "function"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"inputs": [{ "type": "address" }],
|
|
72
|
+
"name": "earnedB",
|
|
73
|
+
"outputs": [{ "type": "uint256" }],
|
|
74
|
+
"stateMutability": "view",
|
|
75
|
+
"type": "function"
|
|
76
|
+
}
|
|
77
|
+
];
|
|
78
|
+
export class StakingClient extends SubgraphClient {
|
|
79
|
+
constructor(client) {
|
|
80
|
+
super(client);
|
|
81
|
+
this.stakingPoolsEndpoint = 'https://9i52h964s3.execute-api.us-east-1.amazonaws.com/dev/staking-pools';
|
|
82
|
+
this.publicClient = client;
|
|
83
|
+
this.walletClient = client;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Fetches staking pool data from the API
|
|
87
|
+
* @param chainId Optional chain ID to filter pools
|
|
88
|
+
* @param protocol Optional protocol name to filter pools
|
|
89
|
+
*/
|
|
90
|
+
async getStakingPools(chainId, protocol) {
|
|
91
|
+
try {
|
|
92
|
+
const response = await fetch(this.stakingPoolsEndpoint);
|
|
93
|
+
if (!response.ok) {
|
|
94
|
+
throw new Error('Failed to fetch staking pools');
|
|
95
|
+
}
|
|
96
|
+
let pools = await response.json();
|
|
97
|
+
// Apply filters if provided
|
|
98
|
+
if (chainId) {
|
|
99
|
+
pools = pools.filter(pool => pool.chainId === chainId);
|
|
100
|
+
}
|
|
101
|
+
if (protocol) {
|
|
102
|
+
pools = pools.filter(pool => pool.protocol === protocol);
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
data: pools,
|
|
106
|
+
status: 200,
|
|
107
|
+
success: true,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
return {
|
|
112
|
+
data: null,
|
|
113
|
+
status: 500,
|
|
114
|
+
success: false,
|
|
115
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Stakes tokens in a staking pool
|
|
121
|
+
* @param params The staking parameters
|
|
122
|
+
*/
|
|
123
|
+
async stake(params) {
|
|
124
|
+
try {
|
|
125
|
+
const account = await this.walletClient.getAddresses();
|
|
126
|
+
if (!account[0])
|
|
127
|
+
throw new Error('No account found');
|
|
128
|
+
const { request } = await this.publicClient.simulateContract({
|
|
129
|
+
address: params.stakingPool,
|
|
130
|
+
abi: SINGLE_REWARD_ABI,
|
|
131
|
+
functionName: 'stake',
|
|
132
|
+
args: [params.amount],
|
|
133
|
+
account: account[0],
|
|
134
|
+
});
|
|
135
|
+
const hash = await this.walletClient.writeContract(request);
|
|
136
|
+
return {
|
|
137
|
+
data: hash,
|
|
138
|
+
status: 200,
|
|
139
|
+
success: true,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
return {
|
|
144
|
+
data: null,
|
|
145
|
+
status: 500,
|
|
146
|
+
success: false,
|
|
147
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Withdraws tokens from a staking pool
|
|
153
|
+
* @param params The withdrawal parameters
|
|
154
|
+
*/
|
|
155
|
+
async withdraw(params) {
|
|
156
|
+
try {
|
|
157
|
+
const account = await this.walletClient.getAddresses();
|
|
158
|
+
if (!account[0])
|
|
159
|
+
throw new Error('No account found');
|
|
160
|
+
const { request } = await this.publicClient.simulateContract({
|
|
161
|
+
address: params.stakingPool,
|
|
162
|
+
abi: SINGLE_REWARD_ABI,
|
|
163
|
+
functionName: 'withdraw',
|
|
164
|
+
args: [params.amount],
|
|
165
|
+
account: account[0],
|
|
166
|
+
});
|
|
167
|
+
const hash = await this.walletClient.writeContract(request);
|
|
168
|
+
return {
|
|
169
|
+
data: hash,
|
|
170
|
+
status: 200,
|
|
171
|
+
success: true,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
return {
|
|
176
|
+
data: null,
|
|
177
|
+
status: 500,
|
|
178
|
+
success: false,
|
|
179
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Claims rewards from a staking pool
|
|
185
|
+
* @param params The reward claim parameters
|
|
186
|
+
*/
|
|
187
|
+
async getReward(params) {
|
|
188
|
+
try {
|
|
189
|
+
const account = await this.walletClient.getAddresses();
|
|
190
|
+
if (!account[0])
|
|
191
|
+
throw new Error('No account found');
|
|
192
|
+
const { request } = await this.publicClient.simulateContract({
|
|
193
|
+
address: params.stakingPool,
|
|
194
|
+
abi: SINGLE_REWARD_ABI,
|
|
195
|
+
functionName: 'getReward',
|
|
196
|
+
args: [],
|
|
197
|
+
account: account[0],
|
|
198
|
+
});
|
|
199
|
+
const hash = await this.walletClient.writeContract(request);
|
|
200
|
+
return {
|
|
201
|
+
data: hash,
|
|
202
|
+
status: 200,
|
|
203
|
+
success: true,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
return {
|
|
208
|
+
data: null,
|
|
209
|
+
status: 500,
|
|
210
|
+
success: false,
|
|
211
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Gets the earned rewards for an account in a staking pool
|
|
217
|
+
* @param stakingPool The staking pool address
|
|
218
|
+
* @param account The account to check rewards for
|
|
219
|
+
*/
|
|
220
|
+
async earned(stakingPool, account) {
|
|
221
|
+
try {
|
|
222
|
+
// First try to read as single reward
|
|
223
|
+
try {
|
|
224
|
+
const reward = await this.publicClient.readContract({
|
|
225
|
+
address: stakingPool,
|
|
226
|
+
abi: SINGLE_REWARD_ABI,
|
|
227
|
+
functionName: 'earned',
|
|
228
|
+
args: [account],
|
|
229
|
+
});
|
|
230
|
+
return {
|
|
231
|
+
data: { rewardA: reward },
|
|
232
|
+
status: 200,
|
|
233
|
+
success: true,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
// If single reward fails, try dual rewards
|
|
238
|
+
const [rewardA, rewardB] = await Promise.all([
|
|
239
|
+
this.publicClient.readContract({
|
|
240
|
+
address: stakingPool,
|
|
241
|
+
abi: DUAL_REWARD_ABI,
|
|
242
|
+
functionName: 'earnedA',
|
|
243
|
+
args: [account],
|
|
244
|
+
}),
|
|
245
|
+
this.publicClient.readContract({
|
|
246
|
+
address: stakingPool,
|
|
247
|
+
abi: DUAL_REWARD_ABI,
|
|
248
|
+
functionName: 'earnedB',
|
|
249
|
+
args: [account],
|
|
250
|
+
}),
|
|
251
|
+
]);
|
|
252
|
+
return {
|
|
253
|
+
data: { rewardA, rewardB },
|
|
254
|
+
status: 200,
|
|
255
|
+
success: true,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
return {
|
|
261
|
+
data: null,
|
|
262
|
+
status: 500,
|
|
263
|
+
success: false,
|
|
264
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Gets the total supply of staked tokens in a pool
|
|
270
|
+
* @param stakingPool The staking pool address
|
|
271
|
+
*/
|
|
272
|
+
async totalSupply(stakingPool) {
|
|
273
|
+
try {
|
|
274
|
+
const totalSupply = await this.publicClient.readContract({
|
|
275
|
+
address: stakingPool,
|
|
276
|
+
abi: SINGLE_REWARD_ABI,
|
|
277
|
+
functionName: 'totalSupply',
|
|
278
|
+
});
|
|
279
|
+
return {
|
|
280
|
+
data: totalSupply,
|
|
281
|
+
status: 200,
|
|
282
|
+
success: true,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
return {
|
|
287
|
+
data: null,
|
|
288
|
+
status: 500,
|
|
289
|
+
success: false,
|
|
290
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Gets the staked balance of an account in a pool
|
|
296
|
+
* @param stakingPool The staking pool address
|
|
297
|
+
* @param account The account to check balance for
|
|
298
|
+
*/
|
|
299
|
+
async balanceOf(stakingPool, account) {
|
|
300
|
+
try {
|
|
301
|
+
const balance = await this.publicClient.readContract({
|
|
302
|
+
address: stakingPool,
|
|
303
|
+
abi: SINGLE_REWARD_ABI,
|
|
304
|
+
functionName: 'balanceOf',
|
|
305
|
+
args: [account],
|
|
306
|
+
});
|
|
307
|
+
return {
|
|
308
|
+
data: balance,
|
|
309
|
+
status: 200,
|
|
310
|
+
success: true,
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
catch (error) {
|
|
314
|
+
return {
|
|
315
|
+
data: null,
|
|
316
|
+
status: 500,
|
|
317
|
+
success: false,
|
|
318
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Calculates the APR for a staking pool
|
|
324
|
+
* @param pool The staking pool data
|
|
325
|
+
* @param rewardTokenPriceUSD The price of the reward token in USD
|
|
326
|
+
* @param totalStakedUSD The total value staked in USD
|
|
327
|
+
*/
|
|
328
|
+
calculateAPR(pool, rewardTokenPriceUSD, totalStakedUSD) {
|
|
329
|
+
if (totalStakedUSD === 0) {
|
|
330
|
+
return 0;
|
|
331
|
+
}
|
|
332
|
+
const dailyRewardUSD = pool.dailyEmissionRewardA * rewardTokenPriceUSD;
|
|
333
|
+
let apr = (dailyRewardUSD * 365 * 100) / totalStakedUSD;
|
|
334
|
+
if (pool.isDualFactory && pool.dailyEmissionRewardB) {
|
|
335
|
+
const dailyRewardBUSD = pool.dailyEmissionRewardB * rewardTokenPriceUSD;
|
|
336
|
+
apr += (dailyRewardBUSD * 365 * 100) / totalStakedUSD;
|
|
337
|
+
}
|
|
338
|
+
return apr;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
//# sourceMappingURL=StakingClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StakingClient.js","sourceRoot":"","sources":["../../../src/base/StakingClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { SubgraphClient } from './SubgraphClient';
|
|
2
1
|
import { abis } from '../const/deployments/abis';
|
|
3
|
-
import {
|
|
2
|
+
import { SubgraphClient } from './SubgraphClient';
|
|
3
|
+
import { VaultDepositClient } from './vault/deposit';
|
|
4
|
+
import { VaultWithdrawClient } from './vault/withdraw';
|
|
4
5
|
const VAULT_ABI = abis.QuickSwapUniv3MultiPositionLiquidityManager;
|
|
5
|
-
const PERIPHERY_ABI = abis.SteerPeriphery;
|
|
6
6
|
export class VaultClient extends SubgraphClient {
|
|
7
7
|
constructor(client) {
|
|
8
8
|
super(client);
|
|
9
9
|
this.publicClient = client;
|
|
10
10
|
this.walletClient = client;
|
|
11
|
+
this.depositClient = new VaultDepositClient(client, client);
|
|
12
|
+
this.withdrawClient = new VaultWithdrawClient(client, client);
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Gets the latest vaults from the subgraph
|
|
@@ -45,94 +47,30 @@ export class VaultClient extends SubgraphClient {
|
|
|
45
47
|
* @param params The deposit parameters
|
|
46
48
|
*/
|
|
47
49
|
async deposit(params) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
address: params.vaultAddress,
|
|
57
|
-
abi: PERIPHERY_ABI,
|
|
58
|
-
functionName: 'deposit',
|
|
59
|
-
args: [
|
|
60
|
-
params.vaultAddress,
|
|
61
|
-
params.amount0Desired,
|
|
62
|
-
params.amount1Desired,
|
|
63
|
-
amount0Min,
|
|
64
|
-
amount1Min,
|
|
65
|
-
params.to ?? account[0]
|
|
66
|
-
],
|
|
67
|
-
account: account[0],
|
|
68
|
-
});
|
|
69
|
-
const hash = await this.walletClient.writeContract(request);
|
|
70
|
-
return {
|
|
71
|
-
data: hash,
|
|
72
|
-
status: 200,
|
|
73
|
-
success: true,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
return {
|
|
78
|
-
data: null,
|
|
79
|
-
status: 500,
|
|
80
|
-
success: false,
|
|
81
|
-
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
82
|
-
};
|
|
83
|
-
}
|
|
50
|
+
return this.depositClient.deposit(params);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Prepares the transaction data for depositing tokens into a vault without executing it
|
|
54
|
+
* @param params The deposit parameters
|
|
55
|
+
*/
|
|
56
|
+
async prepareDepositTx(params) {
|
|
57
|
+
return this.depositClient.prepareDepositTx(params);
|
|
84
58
|
}
|
|
85
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Gets the deposit ratio for a vault
|
|
61
|
+
* @param vaultAddress The vault address
|
|
62
|
+
*/
|
|
63
|
+
async getDepositRatio(vaultAddress, zeroForOne) {
|
|
86
64
|
try {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
abi: PERIPHERY_ABI,
|
|
91
|
-
functionName: 'vaultDetailsByAddress',
|
|
92
|
-
args: [vaultAddress]
|
|
93
|
-
});
|
|
94
|
-
const token0Balance = vaultDetails.token0Balance;
|
|
95
|
-
const token1Balance = vaultDetails.token1Balance;
|
|
96
|
-
const token0Decimals = vaultDetails.token0Decimals;
|
|
97
|
-
const token1Decimals = vaultDetails.token1Decimals;
|
|
98
|
-
// Case 1: No liquidity in the vault
|
|
99
|
-
if (token0Balance === 0n && token1Balance === 0n) {
|
|
100
|
-
// Get the pool contract to fetch current price
|
|
101
|
-
const pool = await this.pool(vaultAddress);
|
|
102
|
-
if (!pool.data)
|
|
103
|
-
throw new Error('Failed to retrieve pool for ratio calculation');
|
|
104
|
-
// Get current sqrtPriceX96
|
|
105
|
-
const [sqrtPriceX96] = await this.publicClient.readContract({
|
|
106
|
-
address: pool.data,
|
|
107
|
-
abi: UniswapV3PoolABI,
|
|
108
|
-
functionName: 'slot0'
|
|
109
|
-
});
|
|
110
|
-
// Calculate price = (sqrtPriceX96^2) / 2^192
|
|
111
|
-
const price = (sqrtPriceX96 * sqrtPriceX96) / (2n ** 192n);
|
|
112
|
-
// Adjust for decimal differences
|
|
113
|
-
const decimalAdjustment = 10n ** BigInt(token1Decimals - token0Decimals);
|
|
114
|
-
const nativeTokenRatio = price / decimalAdjustment;
|
|
115
|
-
return {
|
|
116
|
-
data: nativeTokenRatio,
|
|
117
|
-
status: 200,
|
|
118
|
-
success: true
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
// Case 2: Vault has liquidity
|
|
122
|
-
// If token1Balance is 0, return token0Balance
|
|
123
|
-
if (token1Balance === 0n) {
|
|
124
|
-
return {
|
|
125
|
-
data: token0Balance,
|
|
126
|
-
status: 200,
|
|
127
|
-
success: true
|
|
128
|
-
};
|
|
65
|
+
const ratioResponse = await this.depositClient.getDepositRatio(vaultAddress, zeroForOne);
|
|
66
|
+
if (!ratioResponse.success || !ratioResponse.data) {
|
|
67
|
+
throw new Error(ratioResponse.error || 'Failed to get deposit ratio');
|
|
129
68
|
}
|
|
130
|
-
// Calculate ratio = token0Balance / token1Balance
|
|
131
|
-
// Adjust for decimal precision
|
|
132
|
-
const decimalAdjustment = 10n ** BigInt(token1Decimals - token0Decimals);
|
|
133
|
-
const ratio = (token0Balance * decimalAdjustment) / token1Balance;
|
|
134
69
|
return {
|
|
135
|
-
data:
|
|
70
|
+
data: {
|
|
71
|
+
details: ratioResponse.data.vaultDetails,
|
|
72
|
+
ratio: ratioResponse.data.ratio,
|
|
73
|
+
},
|
|
136
74
|
status: 200,
|
|
137
75
|
success: true
|
|
138
76
|
};
|
|
@@ -151,37 +89,22 @@ export class VaultClient extends SubgraphClient {
|
|
|
151
89
|
* @param params The withdrawal parameters
|
|
152
90
|
*/
|
|
153
91
|
async withdraw(params) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
const hash = await this.walletClient.writeContract(request);
|
|
171
|
-
return {
|
|
172
|
-
data: hash,
|
|
173
|
-
status: 200,
|
|
174
|
-
success: true,
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
catch (error) {
|
|
178
|
-
return {
|
|
179
|
-
data: null,
|
|
180
|
-
status: 500,
|
|
181
|
-
success: false,
|
|
182
|
-
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
183
|
-
};
|
|
184
|
-
}
|
|
92
|
+
return this.withdrawClient.withdraw(params);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Prepares the transaction data for withdrawing tokens from a vault without executing it
|
|
96
|
+
* @param params The withdrawal parameters
|
|
97
|
+
*/
|
|
98
|
+
async prepareWithdrawTx(params) {
|
|
99
|
+
return this.withdrawClient.prepareWithdrawTx(params);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Calculates the amount of tokens that would be received for a given amount of LP tokens
|
|
103
|
+
* @param vaultAddress The vault address
|
|
104
|
+
* @param lpToken The amount of LP tokens to calculate for
|
|
105
|
+
*/
|
|
106
|
+
async getTokensFromLp(vaultAddress, lpToken) {
|
|
107
|
+
return this.withdrawClient.getTokensFromLp(vaultAddress, lpToken);
|
|
185
108
|
}
|
|
186
109
|
/**
|
|
187
110
|
* Approves spending of tokens for a vault
|
|
@@ -395,5 +318,21 @@ export class VaultClient extends SubgraphClient {
|
|
|
395
318
|
};
|
|
396
319
|
}
|
|
397
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* Gets a pool instance for a vault
|
|
323
|
+
* @param params The pool instance parameters
|
|
324
|
+
*/
|
|
325
|
+
async getPoolInstance(params) {
|
|
326
|
+
return this.depositClient.getPoolInstance(params);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Gets the corresponding token amount based on the provided token amount and ratio
|
|
330
|
+
* @param vaultAddress The vault address
|
|
331
|
+
* @param amount The amount of token to calculate the corresponding amount for
|
|
332
|
+
* @param zeroForOne If true, calculates token1 amount for given token0, if false calculates token0 amount for given token1
|
|
333
|
+
*/
|
|
334
|
+
async getCorrespondingTokenAmount(vaultAddress, amount, zeroForOne) {
|
|
335
|
+
return this.depositClient.getCorrespondingTokenAmount(vaultAddress, amount, zeroForOne);
|
|
336
|
+
}
|
|
398
337
|
}
|
|
399
338
|
//# sourceMappingURL=VaultClient.js.map
|