@whisk/steakhouse 0.0.4 → 0.0.6

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 (156) hide show
  1. package/dist/client.d.ts +1 -12
  2. package/dist/client.js +1 -10
  3. package/dist/client.js.map +1 -1
  4. package/dist/index.d.ts +6 -5
  5. package/dist/index.js +1 -4
  6. package/dist/index.js.map +1 -1
  7. package/dist/metadata/generated/vaults.d.ts +7 -0
  8. package/dist/metadata/generated/vaults.js +468 -0
  9. package/dist/metadata/generated/vaults.js.map +1 -0
  10. package/dist/metadata/index.d.ts +3 -3
  11. package/dist/metadata/index.js +4 -8
  12. package/dist/metadata/index.js.map +1 -1
  13. package/dist/metadata/types.d.ts +10 -9
  14. package/dist/metadata/types.js +4 -0
  15. package/dist/metadata/types.js.map +1 -1
  16. package/dist/queries/fragments/vaultDetail.d.ts +265 -0
  17. package/dist/queries/fragments/vaultDetail.js +148 -0
  18. package/dist/queries/fragments/vaultDetail.js.map +1 -0
  19. package/dist/queries/getDetailedVault.d.ts +591 -0
  20. package/dist/queries/getDetailedVault.js +92 -0
  21. package/dist/queries/getDetailedVault.js.map +1 -0
  22. package/dist/queries/getVaults.d.ts +274 -13
  23. package/dist/queries/getVaults.js +34 -10
  24. package/dist/queries/getVaults.js.map +1 -1
  25. package/dist/queries/index.d.ts +6 -5
  26. package/dist/queries/index.js +6 -8
  27. package/dist/queries/index.js.map +1 -1
  28. package/dist/queries/steakhouseMetadata.d.ts +14 -0
  29. package/dist/queries/steakhouseMetadata.js +12 -0
  30. package/dist/queries/steakhouseMetadata.js.map +1 -0
  31. package/dist/queries/types.d.ts +2 -4
  32. package/dist/react/hooks/index.d.ts +8 -5
  33. package/dist/react/hooks/index.js +2 -0
  34. package/dist/react/hooks/index.js.map +1 -1
  35. package/dist/react/hooks/useDetailedVault.d.ts +12 -0
  36. package/dist/react/hooks/useDetailedVault.js +16 -0
  37. package/dist/react/hooks/useDetailedVault.js.map +1 -0
  38. package/dist/react/hooks/useSteakhouseQuery.d.ts +2 -4
  39. package/dist/react/hooks/useSteakhouseQuery.js +1 -1
  40. package/dist/react/hooks/useSteakhouseQuery.js.map +1 -1
  41. package/dist/react/hooks/useVaults.d.ts +7 -14
  42. package/dist/react/hooks/useVaults.js +3 -1
  43. package/dist/react/hooks/useVaults.js.map +1 -1
  44. package/dist/react/index.d.ts +8 -5
  45. package/dist/react/index.js +1 -8
  46. package/dist/react/index.js.map +1 -1
  47. package/dist/react/provider.d.ts +3 -5
  48. package/package.json +16 -8
  49. package/src/client.ts +3 -19
  50. package/src/index.ts +1 -2
  51. package/src/metadata/README.md +93 -0
  52. package/src/metadata/generated/vaults.ts +470 -0
  53. package/src/metadata/index.ts +5 -3
  54. package/src/metadata/types.ts +9 -10
  55. package/src/metadata/vaults/arbitrum/high-yield-turbo-usdc.md +6 -0
  56. package/src/metadata/vaults/arbitrum/high-yield-usdc-v1.md +6 -0
  57. package/src/metadata/vaults/arbitrum/high-yield-usdc-v2.md +6 -0
  58. package/src/metadata/vaults/arbitrum/high-yield-usdt-v2.md +6 -0
  59. package/src/metadata/vaults/base/deblock-eurc.md +6 -0
  60. package/src/metadata/vaults/base/eth-v1.md +6 -0
  61. package/src/metadata/vaults/base/eura.md +6 -0
  62. package/src/metadata/vaults/base/eurc-v1.md +6 -0
  63. package/src/metadata/vaults/base/high-yield-instant-usdc.md +6 -0
  64. package/src/metadata/vaults/base/high-yield-turbo-eth.md +6 -0
  65. package/src/metadata/vaults/base/high-yield-usdc-v1-1.md +6 -0
  66. package/src/metadata/vaults/base/high-yield-usdc.md +6 -0
  67. package/src/metadata/vaults/base/prime-instant-usdc.md +6 -0
  68. package/src/metadata/vaults/base/safe-x-eth-2.md +6 -0
  69. package/src/metadata/vaults/base/safe-x-eth.md +6 -0
  70. package/src/metadata/vaults/base/safe-x-usdc.md +6 -0
  71. package/src/metadata/vaults/base/smokehouse-usdc.md +6 -0
  72. package/src/metadata/vaults/base/susds.md +6 -0
  73. package/src/metadata/vaults/base/usda.md +6 -0
  74. package/src/metadata/vaults/base/usdc-rwa.md +6 -0
  75. package/src/metadata/vaults/base/usdc-v1.md +6 -0
  76. package/src/metadata/vaults/katana/high-yield-ausd.md +6 -0
  77. package/src/metadata/vaults/katana/high-yield-usdc.md +6 -0
  78. package/src/metadata/vaults/katana/prime-ausd.md +6 -0
  79. package/src/metadata/vaults/katana/prime-usdc.md +6 -0
  80. package/src/metadata/vaults/mainnet/3f-x-steakhouse.md +6 -0
  81. package/src/metadata/vaults/mainnet/coinshift-usdc.md +6 -0
  82. package/src/metadata/vaults/mainnet/coinshift-usdl.md +6 -0
  83. package/src/metadata/vaults/mainnet/eth-v1.md +6 -0
  84. package/src/metadata/vaults/mainnet/ethena-usdt.md +6 -0
  85. package/src/metadata/vaults/mainnet/ethena-usdtb.md +6 -0
  86. package/src/metadata/vaults/mainnet/eurcv-v1.md +6 -0
  87. package/src/metadata/vaults/mainnet/high-yield-instant-ausd-v2.md +6 -0
  88. package/src/metadata/vaults/mainnet/high-yield-instant-usdc-v2.md +6 -0
  89. package/src/metadata/vaults/mainnet/high-yield-instant-usdt-v2.md +6 -0
  90. package/src/metadata/vaults/mainnet/high-yield-term-usdc.md +6 -0
  91. package/src/metadata/vaults/mainnet/high-yield-turbo-cbbtc-v2.md +6 -0
  92. package/src/metadata/vaults/mainnet/high-yield-turbo-eth-v2.md +6 -0
  93. package/src/metadata/vaults/mainnet/high-yield-turbo-usdt-v2.md +6 -0
  94. package/src/metadata/vaults/mainnet/infinifi-usdc.md +6 -0
  95. package/src/metadata/vaults/mainnet/level-usdc.md +6 -0
  96. package/src/metadata/vaults/mainnet/m-v1.md +6 -0
  97. package/src/metadata/vaults/mainnet/paxg-v1.md +6 -0
  98. package/src/metadata/vaults/mainnet/peaty-usdc.md +6 -0
  99. package/src/metadata/vaults/mainnet/prime-instant-eth-v2.md +6 -0
  100. package/src/metadata/vaults/mainnet/prime-instant-eurcv-v2.md +6 -0
  101. package/src/metadata/vaults/mainnet/prime-instant-pyusd-v2.md +6 -0
  102. package/src/metadata/vaults/mainnet/prime-instant-usdc-v2.md +6 -0
  103. package/src/metadata/vaults/mainnet/prime-instant-usdt-v2.md +6 -0
  104. package/src/metadata/vaults/mainnet/pyusd-high-yield-instant.md +6 -0
  105. package/src/metadata/vaults/mainnet/pyusd-v1.md +6 -0
  106. package/src/metadata/vaults/mainnet/rusd-v1.md +6 -0
  107. package/src/metadata/vaults/mainnet/safe-x-eth.md +6 -0
  108. package/src/metadata/vaults/mainnet/safe-x-smokehouse-usdc.md +6 -0
  109. package/src/metadata/vaults/mainnet/safe-x-smokehouse-usdt.md +6 -0
  110. package/src/metadata/vaults/mainnet/safe-x-smokehouse-wbtc.md +6 -0
  111. package/src/metadata/vaults/mainnet/safe-x-smokehouse-wsteth.md +6 -0
  112. package/src/metadata/vaults/mainnet/safe-x-usdc.md +6 -0
  113. package/src/metadata/vaults/mainnet/safe-x-usdt.md +6 -0
  114. package/src/metadata/vaults/mainnet/smokehouse-cbbtc.md +6 -0
  115. package/src/metadata/vaults/mainnet/smokehouse-dai.md +6 -0
  116. package/src/metadata/vaults/mainnet/smokehouse-eth.md +6 -0
  117. package/src/metadata/vaults/mainnet/smokehouse-usdc.md +6 -0
  118. package/src/metadata/vaults/mainnet/smokehouse-usdt.md +6 -0
  119. package/src/metadata/vaults/mainnet/smokehouse-wsteth.md +6 -0
  120. package/src/metadata/vaults/mainnet/usdc-rwa.md +6 -0
  121. package/src/metadata/vaults/mainnet/usdc-v1.md +6 -0
  122. package/src/metadata/vaults/mainnet/usdq.md +6 -0
  123. package/src/metadata/vaults/mainnet/usdr.md +6 -0
  124. package/src/metadata/vaults/mainnet/usdt-lite.md +6 -0
  125. package/src/metadata/vaults/mainnet/usdt-v1.md +6 -0
  126. package/src/metadata/vaults/mainnet/vault-bridge-usdc.md +6 -0
  127. package/src/metadata/vaults/mainnet/wbtc-v1.md +6 -0
  128. package/src/metadata/vaults/monad/ausd-v2.md +6 -0
  129. package/src/metadata/vaults/monad/usdc-v2.md +6 -0
  130. package/src/metadata/vaults/unichain/eth.md +6 -0
  131. package/src/metadata/vaults/unichain/wsteth.md +6 -0
  132. package/src/queries/fragments/vaultDetail.ts +151 -0
  133. package/src/queries/getDetailedVault.test.ts +202 -0
  134. package/src/queries/getDetailedVault.ts +131 -0
  135. package/src/queries/getVaults.test.ts +167 -0
  136. package/src/queries/getVaults.ts +62 -13
  137. package/src/queries/index.ts +9 -7
  138. package/src/queries/steakhouseMetadata.ts +19 -0
  139. package/src/react/hooks/index.ts +1 -0
  140. package/src/react/hooks/useDetailedVault.ts +19 -0
  141. package/src/react/hooks/useSteakhouseQuery.ts +3 -3
  142. package/src/react/hooks/useVaults.ts +7 -2
  143. package/src/react/index.ts +1 -6
  144. package/dist/metadata/chains.d.ts +0 -7
  145. package/dist/metadata/chains.js +0 -15
  146. package/dist/metadata/chains.js.map +0 -1
  147. package/dist/metadata/vaults.d.ts +0 -7
  148. package/dist/metadata/vaults.js +0 -24
  149. package/dist/metadata/vaults.js.map +0 -1
  150. package/dist/queries/fragments/vault.d.ts +0 -19
  151. package/dist/queries/fragments/vault.js +0 -16
  152. package/dist/queries/fragments/vault.js.map +0 -1
  153. package/src/client.test.ts +0 -27
  154. package/src/metadata/chains.ts +0 -13
  155. package/src/metadata/vaults.ts +0 -27
  156. package/src/queries/fragments/vault.ts +0 -15
@@ -1,28 +1,77 @@
1
- import { graphql, type ResultOf } from "@whisk/graphql"
2
- import type { VariablesOf } from "gql.tada"
1
+ import { graphql } from "@whisk/graphql"
3
2
  import type { SteakhouseClient } from "../client.js"
4
- import { vaultFragment } from "./fragments/vault.js"
3
+ import { STEAKHOUSE_VAULTS } from "../metadata/generated/vaults.js"
4
+ import type { Address, VaultConfig } from "../metadata/types.js"
5
+ import { type VaultDetail, vaultDetailFragment } from "./fragments/vaultDetail.js"
6
+ import { buildSteakhouseMetadata, type SteakhouseMetadata } from "./steakhouseMetadata.js"
5
7
 
6
- export const vaultQuery = graphql(
8
+ /** GraphQL query for fetching Steakhouse vaults */
9
+ export const vaultsQuery = graphql(
7
10
  `
8
- query GetVaults($limit: Int!) {
9
- morphoVaults(limit: $limit) {
11
+ query GetVaults($where: Erc4626VaultFilter, $limit: Int) {
12
+ erc4626Vaults(where: $where, limit: $limit) {
10
13
  items {
11
- ...VaultFragment
14
+ ...VaultDetailFragment
12
15
  }
13
16
  }
14
17
  }
15
18
  `,
16
- [vaultFragment],
19
+ [vaultDetailFragment],
17
20
  )
18
21
 
19
- export type GetVaultsVariables = VariablesOf<typeof vaultQuery>
20
- export type GetVaultsResult = ResultOf<typeof vaultQuery>["morphoVaults"]["items"]
22
+ export type GetVaultsVariables = {
23
+ /** Filter by chain ID */
24
+ chainId?: number
25
+ }
26
+
27
+ /** Vault with Steakhouse metadata */
28
+ export type VaultWithMetadata = VaultDetail & {
29
+ steakhouseMetadata?: SteakhouseMetadata
30
+ }
21
31
 
32
+ export type GetVaultsResult = VaultWithMetadata[]
33
+
34
+ /**
35
+ * Get all Steakhouse-curated vaults.
36
+ * Results are filtered to the SDK whitelist and augmented with Steakhouse metadata.
37
+ */
22
38
  export async function getVaults(
23
39
  client: SteakhouseClient,
24
- variables: GetVaultsVariables,
40
+ variables: GetVaultsVariables = {},
25
41
  ): Promise<GetVaultsResult> {
26
- const result = await client.query(vaultQuery, variables)
27
- return result.morphoVaults.items
42
+ const { chainId } = variables
43
+
44
+ const filteredVaults = chainId
45
+ ? STEAKHOUSE_VAULTS.filter((v) => v.chainId === chainId)
46
+ : STEAKHOUSE_VAULTS
47
+
48
+ if (filteredVaults.length === 0) {
49
+ return []
50
+ }
51
+
52
+ // Build keys array for erc4626Vaults filter
53
+ const keys = filteredVaults.map((v) => ({
54
+ chainId: v.chainId,
55
+ vaultAddress: v.address,
56
+ protocol: v.protocol,
57
+ }))
58
+
59
+ const result = await client.query(vaultsQuery, {
60
+ where: { keys },
61
+ limit: keys.length,
62
+ })
63
+
64
+ const metadataMap = new Map<Address, VaultConfig>(
65
+ filteredVaults.map((v) => [v.address.toLowerCase() as Address, v]),
66
+ )
67
+
68
+ return result.erc4626Vaults.items
69
+ .filter((vault): vault is NonNullable<typeof vault> => vault !== null)
70
+ .map((vault) => {
71
+ const config = metadataMap.get(vault.vaultAddress.toLowerCase() as Address)
72
+ if (config) {
73
+ return { ...vault, steakhouseMetadata: buildSteakhouseMetadata(config) }
74
+ }
75
+ return vault
76
+ })
28
77
  }
@@ -1,8 +1,10 @@
1
- export { type Vault, vaultFragment } from "./fragments/vault.js"
2
- export {
3
- type GetVaultsResult,
4
- type GetVaultsVariables,
5
- getVaults,
6
- vaultQuery,
7
- } from "./getVaults.js"
1
+ // Fragments
2
+ export { type VaultDetail, vaultDetailFragment } from "./fragments/vaultDetail.js"
3
+ // Queries
4
+ export * from "./getDetailedVault.js"
5
+ export * from "./getVaults.js"
6
+ // Shared
7
+ export { buildSteakhouseMetadata, type SteakhouseMetadata } from "./steakhouseMetadata.js"
8
+
9
+ // Types
8
10
  export type { SteakhouseQueryFn } from "./types.js"
@@ -0,0 +1,19 @@
1
+ import type { VaultConfig } from "../metadata/types.js"
2
+
3
+ /** Steakhouse-specific metadata augmented onto vault data */
4
+ export type SteakhouseMetadata = {
5
+ name?: string
6
+ description?: string
7
+ type?: VaultConfig["type"]
8
+ protocol: VaultConfig["protocol"]
9
+ }
10
+
11
+ /** Build metadata object from vault config */
12
+ export function buildSteakhouseMetadata(config: VaultConfig): SteakhouseMetadata {
13
+ return {
14
+ protocol: config.protocol,
15
+ ...(config.name !== undefined && { name: config.name }),
16
+ ...(config.description !== undefined && { description: config.description }),
17
+ ...(config.type !== undefined && { type: config.type }),
18
+ }
19
+ }
@@ -1,2 +1,3 @@
1
+ export { useDetailedVault } from "./useDetailedVault.js"
1
2
  export { useSteakhouseQuery } from "./useSteakhouseQuery.js"
2
3
  export { useVaults } from "./useVaults.js"
@@ -0,0 +1,19 @@
1
+ "use client"
2
+
3
+ import type { UseQueryResult } from "@tanstack/react-query"
4
+ import {
5
+ type GetDetailedVaultResult,
6
+ type GetDetailedVaultVariables,
7
+ getDetailedVault,
8
+ } from "../../queries/getDetailedVault.js"
9
+ import { useSteakhouseQuery } from "./useSteakhouseQuery.js"
10
+
11
+ export function useDetailedVault(
12
+ variables: GetDetailedVaultVariables,
13
+ ): UseQueryResult<GetDetailedVaultResult, Error> {
14
+ return useSteakhouseQuery({
15
+ queryName: "detailedVault",
16
+ queryFn: getDetailedVault,
17
+ variables,
18
+ })
19
+ }
@@ -1,6 +1,6 @@
1
1
  "use client"
2
2
 
3
- import { useQuery } from "@tanstack/react-query"
3
+ import { type UseQueryResult, useQuery } from "@tanstack/react-query"
4
4
  import type { SteakhouseQueryFn } from "../../queries/types.js"
5
5
  import { useSteakhouse } from "../provider.js"
6
6
 
@@ -8,10 +8,10 @@ export function useSteakhouseQuery<TData, TVariables>(options: {
8
8
  queryName: string
9
9
  queryFn: SteakhouseQueryFn<TData, TVariables>
10
10
  variables: TVariables
11
- }) {
11
+ }): UseQueryResult<TData, Error> {
12
12
  const { client } = useSteakhouse()
13
13
  return useQuery({
14
- queryKey: [options.queryName, options.variables],
14
+ queryKey: ["steakhouse", options.queryName, options.variables],
15
15
  queryFn: () => options.queryFn(client, options.variables),
16
16
  })
17
17
  }
@@ -1,9 +1,14 @@
1
1
  "use client"
2
2
 
3
- import { type GetVaultsVariables, getVaults } from "../../queries/getVaults.js"
3
+ import type { UseQueryResult } from "@tanstack/react-query"
4
+ import {
5
+ type GetVaultsResult,
6
+ type GetVaultsVariables,
7
+ getVaults,
8
+ } from "../../queries/getVaults.js"
4
9
  import { useSteakhouseQuery } from "./useSteakhouseQuery.js"
5
10
 
6
- export function useVaults(variables: GetVaultsVariables) {
11
+ export function useVaults(variables: GetVaultsVariables): UseQueryResult<GetVaultsResult, Error> {
7
12
  return useSteakhouseQuery({
8
13
  queryName: "vaults",
9
14
  queryFn: getVaults,
@@ -1,7 +1,2 @@
1
1
  export * from "./hooks/index.js"
2
- export {
3
- type SteakhouseContextValue,
4
- SteakhouseProvider,
5
- type SteakhouseProviderProps,
6
- useSteakhouse,
7
- } from "./provider.js"
2
+ export * from "./provider.js"
@@ -1,7 +0,0 @@
1
- import { ChainConfig } from './types.js';
2
-
3
- declare const MAINNET: ChainConfig;
4
- declare const BASE: ChainConfig;
5
- declare const SUPPORTED_CHAINS: readonly [ChainConfig, ChainConfig];
6
-
7
- export { BASE, MAINNET, SUPPORTED_CHAINS };
@@ -1,15 +0,0 @@
1
- const MAINNET = {
2
- id: 1,
3
- name: "Ethereum Mainnet"
4
- };
5
- const BASE = {
6
- id: 8453,
7
- name: "Base"
8
- };
9
- const SUPPORTED_CHAINS = [MAINNET, BASE];
10
- export {
11
- BASE,
12
- MAINNET,
13
- SUPPORTED_CHAINS
14
- };
15
- //# sourceMappingURL=chains.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/metadata/chains.ts"],"sourcesContent":["import type { ChainConfig } from \"./types.js\"\n\nexport const MAINNET: ChainConfig = {\n id: 1,\n name: \"Ethereum Mainnet\",\n}\n\nexport const BASE: ChainConfig = {\n id: 8453,\n name: \"Base\",\n}\n\nexport const SUPPORTED_CHAINS = [MAINNET, BASE] as const\n"],"mappings":"AAEO,MAAM,UAAuB;AAAA,EAClC,IAAI;AAAA,EACJ,MAAM;AACR;AAEO,MAAM,OAAoB;AAAA,EAC/B,IAAI;AAAA,EACJ,MAAM;AACR;AAEO,MAAM,mBAAmB,CAAC,SAAS,IAAI;","names":[]}
@@ -1,7 +0,0 @@
1
- import { VaultConfig } from './types.js';
2
-
3
- declare const MAINNET_VAULTS: readonly VaultConfig[];
4
- declare const BASE_VAULTS: readonly VaultConfig[];
5
- declare const ALL_VAULTS: readonly VaultConfig[];
6
-
7
- export { ALL_VAULTS, BASE_VAULTS, MAINNET_VAULTS };
@@ -1,24 +0,0 @@
1
- const MAINNET_VAULTS = [
2
- // Example placeholder vault
3
- // {
4
- // address: "0x...",
5
- // protocol: "steakhouse",
6
- // name: "Steakhouse USDC Vault",
7
- // tag: "featured",
8
- // },
9
- ];
10
- const BASE_VAULTS = [
11
- // Example placeholder vault
12
- // {
13
- // address: "0x...",
14
- // protocol: "steakhouse",
15
- // name: "Steakhouse USDC Vault",
16
- // },
17
- ];
18
- const ALL_VAULTS = [...MAINNET_VAULTS, ...BASE_VAULTS];
19
- export {
20
- ALL_VAULTS,
21
- BASE_VAULTS,
22
- MAINNET_VAULTS
23
- };
24
- //# sourceMappingURL=vaults.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/metadata/vaults.ts"],"sourcesContent":["import type { VaultConfig } from \"./types.js\"\n\n// Mainnet vault configurations\n// TODO: Add real Steakhouse vault addresses\nexport const MAINNET_VAULTS: readonly VaultConfig[] = [\n // Example placeholder vault\n // {\n // address: \"0x...\",\n // protocol: \"steakhouse\",\n // name: \"Steakhouse USDC Vault\",\n // tag: \"featured\",\n // },\n] as const\n\n// Base vault configurations\n// TODO: Add real Steakhouse vault addresses\nexport const BASE_VAULTS: readonly VaultConfig[] = [\n // Example placeholder vault\n // {\n // address: \"0x...\",\n // protocol: \"steakhouse\",\n // name: \"Steakhouse USDC Vault\",\n // },\n] as const\n\n// All vaults across all chains\nexport const ALL_VAULTS = [...MAINNET_VAULTS, ...BASE_VAULTS] as const\n"],"mappings":"AAIO,MAAM,iBAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQtD;AAIO,MAAM,cAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOnD;AAGO,MAAM,aAAa,CAAC,GAAG,gBAAgB,GAAG,WAAW;","names":[]}
@@ -1,19 +0,0 @@
1
- import * as gql_tada from 'gql.tada';
2
- import { FragmentOf } from '@whisk/graphql';
3
-
4
- declare const vaultFragment: gql_tada.TadaDocumentNode<{
5
- chain: {
6
- id: number;
7
- };
8
- vaultAddress: `0x${string}`;
9
- totalSupplied: {
10
- raw: bigint;
11
- };
12
- }, {}, {
13
- fragment: "VaultFragment";
14
- on: "MorphoVault";
15
- masked: false;
16
- }>;
17
- type Vault = FragmentOf<typeof vaultFragment>;
18
-
19
- export { type Vault, vaultFragment };
@@ -1,16 +0,0 @@
1
- import { graphql } from "@whisk/graphql";
2
- const vaultFragment = graphql(`
3
- fragment VaultFragment on MorphoVault {
4
- chain {
5
- id
6
- }
7
- vaultAddress
8
- totalSupplied {
9
- raw
10
- }
11
- }
12
- `);
13
- export {
14
- vaultFragment
15
- };
16
- //# sourceMappingURL=vault.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/queries/fragments/vault.ts"],"sourcesContent":["import { type FragmentOf, graphql } from \"@whisk/graphql\"\n\nexport const vaultFragment = graphql(`\n fragment VaultFragment on MorphoVault {\n chain {\n id\n }\n vaultAddress\n totalSupplied {\n raw\n }\n }\n`)\n\nexport type Vault = FragmentOf<typeof vaultFragment>\n"],"mappings":"AAAA,SAA0B,eAAe;AAElC,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAUpC;","names":[]}
@@ -1,27 +0,0 @@
1
- import { describe, expect, it } from "vitest"
2
- import { SteakhouseClient } from "./client.js"
3
-
4
- describe("SteakhouseClient", () => {
5
- it("creates client with config", () => {
6
- const client = new SteakhouseClient({
7
- apiKey: "test-key",
8
- })
9
- expect(client).toBeDefined()
10
- })
11
-
12
- it("creates client with custom url", () => {
13
- const client = new SteakhouseClient({
14
- apiKey: "test-key",
15
- url: "https://custom.api.example.com/graphql",
16
- })
17
- expect(client).toBeDefined()
18
- })
19
-
20
- it("creates client with debug mode", () => {
21
- const client = new SteakhouseClient({
22
- apiKey: "test-key",
23
- debug: true,
24
- })
25
- expect(client).toBeDefined()
26
- })
27
- })
@@ -1,13 +0,0 @@
1
- import type { ChainConfig } from "./types.js"
2
-
3
- export const MAINNET: ChainConfig = {
4
- id: 1,
5
- name: "Ethereum Mainnet",
6
- }
7
-
8
- export const BASE: ChainConfig = {
9
- id: 8453,
10
- name: "Base",
11
- }
12
-
13
- export const SUPPORTED_CHAINS = [MAINNET, BASE] as const
@@ -1,27 +0,0 @@
1
- import type { VaultConfig } from "./types.js"
2
-
3
- // Mainnet vault configurations
4
- // TODO: Add real Steakhouse vault addresses
5
- export const MAINNET_VAULTS: readonly VaultConfig[] = [
6
- // Example placeholder vault
7
- // {
8
- // address: "0x...",
9
- // protocol: "steakhouse",
10
- // name: "Steakhouse USDC Vault",
11
- // tag: "featured",
12
- // },
13
- ] as const
14
-
15
- // Base vault configurations
16
- // TODO: Add real Steakhouse vault addresses
17
- export const BASE_VAULTS: readonly VaultConfig[] = [
18
- // Example placeholder vault
19
- // {
20
- // address: "0x...",
21
- // protocol: "steakhouse",
22
- // name: "Steakhouse USDC Vault",
23
- // },
24
- ] as const
25
-
26
- // All vaults across all chains
27
- export const ALL_VAULTS = [...MAINNET_VAULTS, ...BASE_VAULTS] as const
@@ -1,15 +0,0 @@
1
- import { type FragmentOf, graphql } from "@whisk/graphql"
2
-
3
- export const vaultFragment = graphql(`
4
- fragment VaultFragment on MorphoVault {
5
- chain {
6
- id
7
- }
8
- vaultAddress
9
- totalSupplied {
10
- raw
11
- }
12
- }
13
- `)
14
-
15
- export type Vault = FragmentOf<typeof vaultFragment>