@steerprotocol/sdk 1.3.0 → 1.5.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 +328 -10
- package/dist/cjs/base/StakingClient.js.map +1 -1
- 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/client.js +5 -0
- package/dist/cjs/client.js.map +1 -1
- 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 +84 -0
- package/dist/cjs/const/protocol.js.map +1 -0
- package/dist/esm/base/StakingClient.js +328 -10
- package/dist/esm/base/StakingClient.js.map +1 -1
- 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/client.js +5 -0
- package/dist/esm/client.js.map +1 -1
- 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 +74 -0
- package/dist/esm/const/protocol.js.map +1 -0
- package/dist/types/base/StakingClient.d.ts +170 -7
- package/dist/types/base/StakingClient.d.ts.map +1 -1
- 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/client.d.ts +3 -0
- package/dist/types/client.d.ts.map +1 -1
- 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 +26 -0
- package/dist/types/const/protocol.d.ts.map +1 -0
- 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,45 @@
|
|
|
1
|
+
import { Address, Hash, PublicClient, WalletClient } from 'viem';
|
|
2
|
+
import { VaultWithdrawParams, TokensFromLpResponse } from './types';
|
|
3
|
+
import { SteerResponse } from '../../../types';
|
|
4
|
+
export declare class VaultWithdrawClient {
|
|
5
|
+
protected readonly publicClient: PublicClient;
|
|
6
|
+
protected readonly walletClient: WalletClient;
|
|
7
|
+
constructor(publicClient: PublicClient, walletClient: WalletClient);
|
|
8
|
+
/**
|
|
9
|
+
* Withdraws tokens from a vault
|
|
10
|
+
* @param params The withdrawal parameters
|
|
11
|
+
*/
|
|
12
|
+
withdraw(params: VaultWithdrawParams): Promise<SteerResponse<Hash>>;
|
|
13
|
+
/**
|
|
14
|
+
* Prepares the transaction data for withdrawing tokens from a vault without executing it
|
|
15
|
+
* @param params The withdrawal parameters
|
|
16
|
+
*/
|
|
17
|
+
prepareWithdrawTx(params: VaultWithdrawParams): Promise<SteerResponse<{
|
|
18
|
+
address: Address;
|
|
19
|
+
abi: {
|
|
20
|
+
type: string;
|
|
21
|
+
inputs: {
|
|
22
|
+
name: string;
|
|
23
|
+
internalType: string;
|
|
24
|
+
type: string;
|
|
25
|
+
}[];
|
|
26
|
+
name: string;
|
|
27
|
+
outputs: never[];
|
|
28
|
+
stateMutability: string;
|
|
29
|
+
}[];
|
|
30
|
+
functionName: string;
|
|
31
|
+
args: readonly [
|
|
32
|
+
bigint,
|
|
33
|
+
bigint,
|
|
34
|
+
bigint,
|
|
35
|
+
Address
|
|
36
|
+
];
|
|
37
|
+
}>>;
|
|
38
|
+
/**
|
|
39
|
+
* Calculates the amount of tokens that would be received for a given amount of LP tokens
|
|
40
|
+
* @param vaultAddress The vault address
|
|
41
|
+
* @param lpToken The amount of LP tokens to calculate for
|
|
42
|
+
*/
|
|
43
|
+
getTokensFromLp(vaultAddress: Address, lpToken: bigint): Promise<SteerResponse<TokensFromLpResponse>>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/base/vault/withdraw/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,aAAa,EAAqC,MAAM,gBAAgB,CAAC;AAOlF,qBAAa,mBAAmB;IAE5B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;IAC7C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAD1B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAG/C;;;OAGG;IACU,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAqChF;;;OAGG;IACU,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;QACjF,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC;gBACb,YAAY,EAAE,MAAM,CAAC;gBACrB,IAAI,EAAE,MAAM,CAAC;aACd,EAAE,CAAC;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,CAAC;YACjB,eAAe,EAAE,MAAM,CAAC;SACzB,EAAE,CAAC;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,SAAS;YACb,MAAM;YACN,MAAM;YACN,MAAM;YACN,OAAO;SACR,CAAC;KACH,CAAC,CAAC;IA0CH;;;;OAIG;IACU,eAAe,CAC1B,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;CAqDhD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
export interface VaultWithdrawParams {
|
|
3
|
+
vaultAddress: Address;
|
|
4
|
+
shares: bigint;
|
|
5
|
+
amount0Min: bigint;
|
|
6
|
+
amount1Min: bigint;
|
|
7
|
+
to?: Address;
|
|
8
|
+
}
|
|
9
|
+
export interface TokensFromLpResponse {
|
|
10
|
+
token0Val: bigint;
|
|
11
|
+
token1Val: bigint;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/base/vault/withdraw/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/types/client.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { SteerConfig, SteerResponse } from './types';
|
|
|
2
2
|
import { SubgraphClient } from './base/SubgraphClient';
|
|
3
3
|
import { VaultClient } from './base/VaultClient';
|
|
4
4
|
import { SmartRewardsClient } from './base/SmartRewardClient';
|
|
5
|
+
import { StakingClient } from './base/StakingClient';
|
|
5
6
|
/**
|
|
6
7
|
* The main client for interacting with the Steer Protocol.
|
|
7
8
|
* This client provides access to vault operations and smart rewards functionality.
|
|
@@ -47,6 +48,8 @@ export declare class SteerClient extends SubgraphClient {
|
|
|
47
48
|
readonly vaults: VaultClient;
|
|
48
49
|
/** The rewards client instance for interacting with Smart Rewards */
|
|
49
50
|
readonly rewards: SmartRewardsClient;
|
|
51
|
+
/** The staking client instance for interacting with staking pools */
|
|
52
|
+
readonly staking: StakingClient;
|
|
50
53
|
/**
|
|
51
54
|
* Creates a new instance of the SteerClient
|
|
52
55
|
* @param config - The configuration object for the client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,WAAY,SAAQ,cAAc;IAC7C,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAE3D,kEAAkE;IAClE,SAAgB,MAAM,EAAE,WAAW,CAAC;IAEpC,qEAAqE;IACrE,SAAgB,OAAO,EAAE,kBAAkB,CAAC;IAE5C,qEAAqE;IACrE,SAAgB,OAAO,EAAE,aAAa,CAAC;IAEvC;;;OAGG;gBACS,MAAM,EAAE,WAAW;IAqC/B;;;;;;;;;;OAUG;IACU,cAAc,CAAC,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAa5D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export declare enum Chain {
|
|
2
|
+
Polygon = "Polygon",
|
|
3
|
+
Arbitrum = "Arbitrum",
|
|
4
|
+
Optimism = "Optimism",
|
|
5
|
+
BSC = "BSC",
|
|
6
|
+
Evmos = "Evmos",
|
|
7
|
+
Metis = "Metis",
|
|
8
|
+
Thundercore = "Thundercore",
|
|
9
|
+
Base = "Base",
|
|
10
|
+
Avalanche = "Avalanche",
|
|
11
|
+
zkEVM = "Polygon zkEVM",
|
|
12
|
+
Celo = "Celo",
|
|
13
|
+
Kava = "Kava",
|
|
14
|
+
Linea = "Linea Mainnet",
|
|
15
|
+
Scroll = "Scroll",
|
|
16
|
+
Manta = "Manta",
|
|
17
|
+
Astar = "Astar",
|
|
18
|
+
Fantom = "Fantom",
|
|
19
|
+
OkxTestnet = "X1 Testnet",
|
|
20
|
+
Mantle = "Mantle",
|
|
21
|
+
AstarZkevm = "AstarZkevm",
|
|
22
|
+
Blast = "Blast",
|
|
23
|
+
Mode = "Mode",
|
|
24
|
+
XLayer = "XLayer",
|
|
25
|
+
Telos = "Telos",
|
|
26
|
+
Rootstock = "Rootstock",
|
|
27
|
+
Taiko = "Taiko",
|
|
28
|
+
ZklinkNova = "ZklinkNova",
|
|
29
|
+
Flare = "Flare",
|
|
30
|
+
BeraChainBartio = "BeraChainBartio",
|
|
31
|
+
Filecoin = "Filecoin",
|
|
32
|
+
Apechain = "Apechain",
|
|
33
|
+
Zircuit = "Zircuit",
|
|
34
|
+
Moonbeam = "Moonbeam",
|
|
35
|
+
Sei = "Sei",
|
|
36
|
+
Sonic = "Sonic",
|
|
37
|
+
Zeta = "Zeta",
|
|
38
|
+
Soneium = "Soneium"
|
|
39
|
+
}
|
|
40
|
+
export declare enum Protocol {
|
|
41
|
+
QuickSwap = "QuickSwap",
|
|
42
|
+
Uniswap = "Uniswap",
|
|
43
|
+
Sushi = "Sushi",
|
|
44
|
+
Forge = "Forge",
|
|
45
|
+
PancakeSwap = "PancakeSwap",
|
|
46
|
+
Maia = "Maia",
|
|
47
|
+
Retro = "Retro",
|
|
48
|
+
Kinetix = "Kinetix",
|
|
49
|
+
MetaVault = "MetaVault",
|
|
50
|
+
QuickSwapUniv3 = "QuickSwapUniv3",
|
|
51
|
+
Camelot = "Camelot",
|
|
52
|
+
Lynex = "Lynex",
|
|
53
|
+
Thena = "Thena",
|
|
54
|
+
Horiza = "Horiza",
|
|
55
|
+
BaseX = "BaseX",
|
|
56
|
+
ArthSwap = "ArthSwap",
|
|
57
|
+
Hercules = "Hercules",
|
|
58
|
+
Thick = "Thick",
|
|
59
|
+
Crust = "Crust",
|
|
60
|
+
Thruster = "Thruster",
|
|
61
|
+
FusionX = "FusionX",
|
|
62
|
+
SupSwap = "SupSwap",
|
|
63
|
+
SwapMode = "SwapMode",
|
|
64
|
+
BaseSwap = "BaseSwap",
|
|
65
|
+
PoolShark = "PoolShark",
|
|
66
|
+
Kim = "Kim",
|
|
67
|
+
Swapsicle = "Swapsicle",
|
|
68
|
+
Equilibre = "Equilibre",
|
|
69
|
+
QuickSwapAlgebra = "QuickSwapAlgebra",
|
|
70
|
+
Fenix = "Fenix",
|
|
71
|
+
LineHub = "LineHub",
|
|
72
|
+
Henjin = "Henjin",
|
|
73
|
+
NovaSwap = "NovaSwap",
|
|
74
|
+
Spark = "Spark",
|
|
75
|
+
Spark32 = "Spark32",
|
|
76
|
+
Kodiak = "Kodiak",
|
|
77
|
+
Ocelex = "Ocelex",
|
|
78
|
+
StellaSwap = "StellaSwap",
|
|
79
|
+
BeamSwap = "BeamSwap",
|
|
80
|
+
DragonSwap = "DragonSwap",
|
|
81
|
+
SpookySwap = "SpookySwap",
|
|
82
|
+
SilverSwap = "SilverSwap",
|
|
83
|
+
ThickV2 = "ThickV2",
|
|
84
|
+
Beam = "Beam",
|
|
85
|
+
QuickSwapIntegral = "QuickSwapIntegral",
|
|
86
|
+
Kyo = "Kyo"
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/const/chain.ts"],"names":[],"mappings":"AACA,oBAAY,KAAK;IAEf,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,KAAK,kBAAkB;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,kBAAkB;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAGD,oBAAY,QAAQ;IAChB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,gBAAgB,qBAAqB;IACrC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,iBAAiB,sBAAsB;IACvC,GAAG,QAAQ;CACZ"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface Contract {
|
|
2
|
+
address: string;
|
|
3
|
+
startBlock?: number;
|
|
4
|
+
}
|
|
5
|
+
interface NetworkConfig {
|
|
6
|
+
chainId: number;
|
|
7
|
+
transactionType: number;
|
|
8
|
+
KeeperRegistry: Contract;
|
|
9
|
+
Orchestrator: Contract;
|
|
10
|
+
StrategyRegistry: Contract;
|
|
11
|
+
VaultRegistry: Contract;
|
|
12
|
+
BundleRegistry: Contract;
|
|
13
|
+
SteerToken?: Contract;
|
|
14
|
+
SteerPeriphery: Contract;
|
|
15
|
+
DynamicJobs?: Contract;
|
|
16
|
+
GasVault: Contract;
|
|
17
|
+
StaticJobs?: Contract;
|
|
18
|
+
RunnerRegistry?: Contract;
|
|
19
|
+
PoolHelper?: Contract;
|
|
20
|
+
WhitelistRegistry?: Contract;
|
|
21
|
+
}
|
|
22
|
+
export type ContractName = keyof NetworkConfig;
|
|
23
|
+
export declare function getContractAddressByChainIdAndContractName(chainId: number, contractName: ContractName): string | undefined;
|
|
24
|
+
export declare function getPoolHelperByChainId(chainId: number): Contract | undefined;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/const/network.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,QAAQ,CAAC;IACzB,YAAY,EAAE,QAAQ,CAAC;IACvB,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,aAAa,EAAE,QAAQ,CAAC;IACxB,cAAc,EAAE,QAAQ,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,cAAc,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,iBAAiB,CAAC,EAAE,QAAQ,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC;AAwyB/C,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,GACzB,MAAM,GAAG,SAAS,CASpB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAU5E"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SupportedProtocol } from '../types';
|
|
2
|
+
import { Protocol } from './chain';
|
|
3
|
+
export declare enum StakingProtocol {
|
|
4
|
+
Forge = "Forge",
|
|
5
|
+
Kinetix = "Kinetix",
|
|
6
|
+
Uniswap = "Uniswap",
|
|
7
|
+
SushiSwap = "SushiSwap",
|
|
8
|
+
QuickSwapV3 = "QuickSwapV3",
|
|
9
|
+
ArthSwap = "ArthSwap",
|
|
10
|
+
arthswap = "arthswap",
|
|
11
|
+
Swapsicle = "Swapsicle",
|
|
12
|
+
Spark = "Spark",
|
|
13
|
+
Spark32 = "Spark32"
|
|
14
|
+
}
|
|
15
|
+
export declare function isValidStakingProtocol(protocol: string): protocol is StakingProtocol;
|
|
16
|
+
export declare function normalizeProtocol(protocol: string): StakingProtocol;
|
|
17
|
+
export declare const ALGEBRA_PROTOCOLS: Protocol[];
|
|
18
|
+
export declare const DIRECTIONAL_ALGEBRA_PROTOCOLS: Protocol[];
|
|
19
|
+
export declare const POOLSHARK_PROTOCOLS: Protocol[];
|
|
20
|
+
export declare const ALGEBRA_INTEGRAL_PROTOCOLS: Protocol[];
|
|
21
|
+
export declare const isAlgebraProtocol: (protocol: SupportedProtocol) => boolean;
|
|
22
|
+
export declare const isThickV2Protocol: (protocol: SupportedProtocol) => boolean;
|
|
23
|
+
export declare const isAlgebraDirectionProtocol: (protocol: SupportedProtocol) => boolean;
|
|
24
|
+
export declare const isAlgebraIntegralProtocol: (protocol: SupportedProtocol) => boolean;
|
|
25
|
+
export declare const isPoolSharkProtocol: (protocol: SupportedProtocol) => boolean;
|
|
26
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/const/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAGD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,eAAe,CAIpF;AAGD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAMnE;AAED,eAAO,MAAM,iBAAiB,YAiB7B,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAAwC,CAAC;AAEnF,eAAO,MAAM,mBAAmB,YAAuB,CAAC;AAExD,eAAO,MAAM,0BAA0B,YAQtC,CAAC;AAIF,eAAO,MAAM,iBAAiB,aAAc,iBAAiB,YAE5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAAc,iBAAiB,YAE5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAAc,iBAAiB,YAErE,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,iBAAiB,YAEpE,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,YAE9D,CAAC"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Client, TestClient, WalletClient } from 'viem';
|
|
1
|
+
import type { Address, Client, TestClient, WalletClient } from 'viem';
|
|
2
|
+
import { Protocol } from './const/chain';
|
|
2
3
|
export interface SteerConfig {
|
|
3
4
|
environment?: 'production' | 'development';
|
|
4
5
|
client: Client | TestClient;
|
|
@@ -10,4 +11,103 @@ export interface SteerResponse<T> {
|
|
|
10
11
|
success: boolean;
|
|
11
12
|
error?: string;
|
|
12
13
|
}
|
|
14
|
+
export interface BaseVaultDetails {
|
|
15
|
+
vaultType: string;
|
|
16
|
+
token0: Address;
|
|
17
|
+
token1: Address;
|
|
18
|
+
name: string;
|
|
19
|
+
symbol: string;
|
|
20
|
+
decimals: bigint;
|
|
21
|
+
token0Name: string;
|
|
22
|
+
token1Name: string;
|
|
23
|
+
token0Symbol: string;
|
|
24
|
+
token1Symbol: string;
|
|
25
|
+
token0Decimals: bigint;
|
|
26
|
+
token1Decimals: bigint;
|
|
27
|
+
totalLPTokensIssued: bigint;
|
|
28
|
+
token0Balance: bigint;
|
|
29
|
+
token1Balance: bigint;
|
|
30
|
+
vaultCreator: Address;
|
|
31
|
+
}
|
|
32
|
+
export interface VaultDetails extends BaseVaultDetails {
|
|
33
|
+
feeTier: bigint;
|
|
34
|
+
}
|
|
35
|
+
export interface AlgebraVaultDetails extends BaseVaultDetails {
|
|
36
|
+
}
|
|
37
|
+
export interface VaultDetailsResponse {
|
|
38
|
+
details: VaultDetails | AlgebraVaultDetails;
|
|
39
|
+
ratio: number | bigint | string;
|
|
40
|
+
}
|
|
41
|
+
export interface TokenData {
|
|
42
|
+
id: Address;
|
|
43
|
+
decimals: string;
|
|
44
|
+
symbol: string;
|
|
45
|
+
name: string;
|
|
46
|
+
}
|
|
47
|
+
export interface PoolData {
|
|
48
|
+
id: Address;
|
|
49
|
+
token0: TokenData;
|
|
50
|
+
token1: TokenData;
|
|
51
|
+
chainId: number;
|
|
52
|
+
feeTier: number;
|
|
53
|
+
tickSpacing: number | bigint;
|
|
54
|
+
}
|
|
55
|
+
export interface Slot0 {
|
|
56
|
+
price?: bigint;
|
|
57
|
+
sqrtPriceX96?: bigint;
|
|
58
|
+
tick: number;
|
|
59
|
+
observationIndex: number | bigint;
|
|
60
|
+
observationCardinality: number;
|
|
61
|
+
observationCardinalityNext: number;
|
|
62
|
+
feeProtocol: number;
|
|
63
|
+
unlocked: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface PoolsharkStructs {
|
|
66
|
+
samples: {
|
|
67
|
+
index: number;
|
|
68
|
+
count: number;
|
|
69
|
+
countMax: number;
|
|
70
|
+
};
|
|
71
|
+
feeGrowthGlobal0: bigint;
|
|
72
|
+
feeGrowthGlobal1: bigint;
|
|
73
|
+
secondsPerLiquidityAccum: bigint;
|
|
74
|
+
price: bigint;
|
|
75
|
+
liquidity: bigint;
|
|
76
|
+
tickSecondsAccum: number;
|
|
77
|
+
tickAtPrice: number;
|
|
78
|
+
protocolSwapFee0: number;
|
|
79
|
+
protocolSwapFee1: number;
|
|
80
|
+
}
|
|
81
|
+
export interface LimitPoolState {
|
|
82
|
+
price: bigint;
|
|
83
|
+
liquidity: bigint;
|
|
84
|
+
protocolFees: bigint;
|
|
85
|
+
protocolFillFee: number;
|
|
86
|
+
tickAtPrice: number;
|
|
87
|
+
}
|
|
88
|
+
export interface PoolSharkGlobalState {
|
|
89
|
+
pool: PoolsharkStructs;
|
|
90
|
+
pool0: LimitPoolState;
|
|
91
|
+
pool1: LimitPoolState;
|
|
92
|
+
liquidityGlobal: bigint;
|
|
93
|
+
positionIdNext: number;
|
|
94
|
+
epoch: number;
|
|
95
|
+
unlocked: number;
|
|
96
|
+
}
|
|
97
|
+
export interface GlobalStateABI {
|
|
98
|
+
price: bigint;
|
|
99
|
+
tick: number;
|
|
100
|
+
prevInitializedTick?: number;
|
|
101
|
+
fee?: number;
|
|
102
|
+
feeZto?: number;
|
|
103
|
+
feeOtz?: number;
|
|
104
|
+
timepointIndex: number;
|
|
105
|
+
communityFee?: number;
|
|
106
|
+
communityFeeToken0?: number;
|
|
107
|
+
communityFeeToken1?: number;
|
|
108
|
+
unlocked: boolean;
|
|
109
|
+
}
|
|
110
|
+
export type SupportedProtocol = keyof {
|
|
111
|
+
[chain in Protocol]: string;
|
|
112
|
+
};
|
|
13
113
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAC3C,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAE5D;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,YAAY,GAAG,mBAAmB,CAAC;IAC5C,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,MAAM,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM;KAAG,KAAK,IAAI,QAAQ,GAAG,MAAM;CAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steerprotocol/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Steer Protocol SDK",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -44,31 +44,31 @@
|
|
|
44
44
|
"viem": "^2.22.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
+
"@commitlint/cli": "^18.4.3",
|
|
48
|
+
"@commitlint/config-conventional": "^18.4.3",
|
|
49
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
50
|
+
"@semantic-release/git": "^10.0.1",
|
|
51
|
+
"@semantic-release/github": "^9.2.3",
|
|
52
|
+
"@semantic-release/npm": "^11.0.1",
|
|
47
53
|
"@steerprotocol/contracts": "^3.1.7",
|
|
48
54
|
"@types/jest": "^29.5.11",
|
|
49
55
|
"@types/node": "^20.10.6",
|
|
50
56
|
"@typescript-eslint/eslint-plugin": "^6.17.0",
|
|
51
57
|
"@typescript-eslint/parser": "^6.17.0",
|
|
58
|
+
"commitizen": "^4.3.0",
|
|
59
|
+
"cz-conventional-changelog": "^3.3.0",
|
|
52
60
|
"eslint": "^8.56.0",
|
|
53
61
|
"eslint-config-prettier": "^9.1.0",
|
|
62
|
+
"husky": "^8.0.3",
|
|
54
63
|
"jest": "^29.7.0",
|
|
55
64
|
"prettier": "^3.4.2",
|
|
56
65
|
"rimraf": "^5.0.5",
|
|
66
|
+
"semantic-release": "^22.0.8",
|
|
57
67
|
"ts-jest": "^29.2.5",
|
|
58
68
|
"tsx": "^4.19.2",
|
|
59
69
|
"typedoc": "^0.27.6",
|
|
60
70
|
"typescript": "^5.3.3",
|
|
61
|
-
"viem": "^2.22.0"
|
|
62
|
-
"@semantic-release/changelog": "^6.0.3",
|
|
63
|
-
"@semantic-release/git": "^10.0.1",
|
|
64
|
-
"@semantic-release/github": "^9.2.3",
|
|
65
|
-
"@semantic-release/npm": "^11.0.1",
|
|
66
|
-
"semantic-release": "^22.0.8",
|
|
67
|
-
"@commitlint/cli": "^18.4.3",
|
|
68
|
-
"@commitlint/config-conventional": "^18.4.3",
|
|
69
|
-
"commitizen": "^4.3.0",
|
|
70
|
-
"cz-conventional-changelog": "^3.3.0",
|
|
71
|
-
"husky": "^8.0.3"
|
|
71
|
+
"viem": "^2.22.0"
|
|
72
72
|
},
|
|
73
73
|
"engines": {
|
|
74
74
|
"node": ">=18.0.0"
|
|
@@ -77,6 +77,7 @@
|
|
|
77
77
|
"access": "public"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@steerprotocol/api-sdk": "^1.0.2"
|
|
80
|
+
"@steerprotocol/api-sdk": "^1.0.2",
|
|
81
|
+
"decimal.js": "^10.5.0"
|
|
81
82
|
}
|
|
82
83
|
}
|