@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.
Files changed (70) hide show
  1. package/README.md +54 -0
  2. package/dist/cjs/base/StakingClient.js +328 -10
  3. package/dist/cjs/base/StakingClient.js.map +1 -1
  4. package/dist/cjs/base/VaultClient.js +57 -118
  5. package/dist/cjs/base/VaultClient.js.map +1 -1
  6. package/dist/cjs/base/vault/deposit/index.js +484 -0
  7. package/dist/cjs/base/vault/deposit/index.js.map +1 -0
  8. package/dist/cjs/base/vault/deposit/types.js +3 -0
  9. package/dist/cjs/base/vault/deposit/types.js.map +1 -0
  10. package/dist/cjs/base/vault/utils.js +432 -0
  11. package/dist/cjs/base/vault/utils.js.map +1 -0
  12. package/dist/cjs/base/vault/withdraw/index.js +155 -0
  13. package/dist/cjs/base/vault/withdraw/index.js.map +1 -0
  14. package/dist/cjs/base/vault/withdraw/types.js +3 -0
  15. package/dist/cjs/base/vault/withdraw/types.js.map +1 -0
  16. package/dist/cjs/client.js +5 -0
  17. package/dist/cjs/client.js.map +1 -1
  18. package/dist/cjs/const/chain.js +96 -0
  19. package/dist/cjs/const/chain.js.map +1 -0
  20. package/dist/cjs/const/network.js +801 -0
  21. package/dist/cjs/const/network.js.map +1 -0
  22. package/dist/cjs/const/protocol.js +84 -0
  23. package/dist/cjs/const/protocol.js.map +1 -0
  24. package/dist/esm/base/StakingClient.js +328 -10
  25. package/dist/esm/base/StakingClient.js.map +1 -1
  26. package/dist/esm/base/VaultClient.js +57 -118
  27. package/dist/esm/base/VaultClient.js.map +1 -1
  28. package/dist/esm/base/vault/deposit/index.js +480 -0
  29. package/dist/esm/base/vault/deposit/index.js.map +1 -0
  30. package/dist/esm/base/vault/deposit/types.js +2 -0
  31. package/dist/esm/base/vault/deposit/types.js.map +1 -0
  32. package/dist/esm/base/vault/utils.js +425 -0
  33. package/dist/esm/base/vault/utils.js.map +1 -0
  34. package/dist/esm/base/vault/withdraw/index.js +151 -0
  35. package/dist/esm/base/vault/withdraw/index.js.map +1 -0
  36. package/dist/esm/base/vault/withdraw/types.js +2 -0
  37. package/dist/esm/base/vault/withdraw/types.js.map +1 -0
  38. package/dist/esm/client.js +5 -0
  39. package/dist/esm/client.js.map +1 -1
  40. package/dist/esm/const/chain.js +93 -0
  41. package/dist/esm/const/chain.js.map +1 -0
  42. package/dist/esm/const/network.js +797 -0
  43. package/dist/esm/const/network.js.map +1 -0
  44. package/dist/esm/const/protocol.js +74 -0
  45. package/dist/esm/const/protocol.js.map +1 -0
  46. package/dist/types/base/StakingClient.d.ts +170 -7
  47. package/dist/types/base/StakingClient.d.ts.map +1 -1
  48. package/dist/types/base/VaultClient.d.ts +81 -16
  49. package/dist/types/base/VaultClient.d.ts.map +1 -1
  50. package/dist/types/base/vault/deposit/index.d.ts +74 -0
  51. package/dist/types/base/vault/deposit/index.d.ts.map +1 -0
  52. package/dist/types/base/vault/deposit/types.d.ts +42 -0
  53. package/dist/types/base/vault/deposit/types.d.ts.map +1 -0
  54. package/dist/types/base/vault/utils.d.ts +26 -0
  55. package/dist/types/base/vault/utils.d.ts.map +1 -0
  56. package/dist/types/base/vault/withdraw/index.d.ts +45 -0
  57. package/dist/types/base/vault/withdraw/index.d.ts.map +1 -0
  58. package/dist/types/base/vault/withdraw/types.d.ts +13 -0
  59. package/dist/types/base/vault/withdraw/types.d.ts.map +1 -0
  60. package/dist/types/client.d.ts +3 -0
  61. package/dist/types/client.d.ts.map +1 -1
  62. package/dist/types/const/chain.d.ts +88 -0
  63. package/dist/types/const/chain.d.ts.map +1 -0
  64. package/dist/types/const/network.d.ts +26 -0
  65. package/dist/types/const/network.d.ts.map +1 -0
  66. package/dist/types/const/protocol.d.ts +26 -0
  67. package/dist/types/const/protocol.d.ts.map +1 -0
  68. package/dist/types/types.d.ts +101 -1
  69. package/dist/types/types.d.ts.map +1 -1
  70. 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"}
@@ -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;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;OAGG;gBACS,MAAM,EAAE,WAAW;IA+B/B;;;;;;;;;;OAUG;IACU,cAAc,CAAC,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAa5D"}
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"}
@@ -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;AAE7D,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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steerprotocol/sdk",
3
- "version": "1.3.0",
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
  }