@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.
- package/dist/client.d.ts +1 -12
- package/dist/client.js +1 -10
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/metadata/generated/vaults.d.ts +7 -0
- package/dist/metadata/generated/vaults.js +468 -0
- package/dist/metadata/generated/vaults.js.map +1 -0
- package/dist/metadata/index.d.ts +3 -3
- package/dist/metadata/index.js +4 -8
- package/dist/metadata/index.js.map +1 -1
- package/dist/metadata/types.d.ts +10 -9
- package/dist/metadata/types.js +4 -0
- package/dist/metadata/types.js.map +1 -1
- package/dist/queries/fragments/vaultDetail.d.ts +265 -0
- package/dist/queries/fragments/vaultDetail.js +148 -0
- package/dist/queries/fragments/vaultDetail.js.map +1 -0
- package/dist/queries/getDetailedVault.d.ts +591 -0
- package/dist/queries/getDetailedVault.js +92 -0
- package/dist/queries/getDetailedVault.js.map +1 -0
- package/dist/queries/getVaults.d.ts +274 -13
- package/dist/queries/getVaults.js +34 -10
- package/dist/queries/getVaults.js.map +1 -1
- package/dist/queries/index.d.ts +6 -5
- package/dist/queries/index.js +6 -8
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/steakhouseMetadata.d.ts +14 -0
- package/dist/queries/steakhouseMetadata.js +12 -0
- package/dist/queries/steakhouseMetadata.js.map +1 -0
- package/dist/queries/types.d.ts +2 -4
- package/dist/react/hooks/index.d.ts +8 -5
- package/dist/react/hooks/index.js +2 -0
- package/dist/react/hooks/index.js.map +1 -1
- package/dist/react/hooks/useDetailedVault.d.ts +12 -0
- package/dist/react/hooks/useDetailedVault.js +16 -0
- package/dist/react/hooks/useDetailedVault.js.map +1 -0
- package/dist/react/hooks/useSteakhouseQuery.d.ts +2 -4
- package/dist/react/hooks/useSteakhouseQuery.js +1 -1
- package/dist/react/hooks/useSteakhouseQuery.js.map +1 -1
- package/dist/react/hooks/useVaults.d.ts +7 -14
- package/dist/react/hooks/useVaults.js +3 -1
- package/dist/react/hooks/useVaults.js.map +1 -1
- package/dist/react/index.d.ts +8 -5
- package/dist/react/index.js +1 -8
- package/dist/react/index.js.map +1 -1
- package/dist/react/provider.d.ts +3 -5
- package/package.json +16 -8
- package/src/client.ts +3 -19
- package/src/index.ts +1 -2
- package/src/metadata/README.md +93 -0
- package/src/metadata/generated/vaults.ts +470 -0
- package/src/metadata/index.ts +5 -3
- package/src/metadata/types.ts +9 -10
- package/src/metadata/vaults/arbitrum/high-yield-turbo-usdc.md +6 -0
- package/src/metadata/vaults/arbitrum/high-yield-usdc-v1.md +6 -0
- package/src/metadata/vaults/arbitrum/high-yield-usdc-v2.md +6 -0
- package/src/metadata/vaults/arbitrum/high-yield-usdt-v2.md +6 -0
- package/src/metadata/vaults/base/deblock-eurc.md +6 -0
- package/src/metadata/vaults/base/eth-v1.md +6 -0
- package/src/metadata/vaults/base/eura.md +6 -0
- package/src/metadata/vaults/base/eurc-v1.md +6 -0
- package/src/metadata/vaults/base/high-yield-instant-usdc.md +6 -0
- package/src/metadata/vaults/base/high-yield-turbo-eth.md +6 -0
- package/src/metadata/vaults/base/high-yield-usdc-v1-1.md +6 -0
- package/src/metadata/vaults/base/high-yield-usdc.md +6 -0
- package/src/metadata/vaults/base/prime-instant-usdc.md +6 -0
- package/src/metadata/vaults/base/safe-x-eth-2.md +6 -0
- package/src/metadata/vaults/base/safe-x-eth.md +6 -0
- package/src/metadata/vaults/base/safe-x-usdc.md +6 -0
- package/src/metadata/vaults/base/smokehouse-usdc.md +6 -0
- package/src/metadata/vaults/base/susds.md +6 -0
- package/src/metadata/vaults/base/usda.md +6 -0
- package/src/metadata/vaults/base/usdc-rwa.md +6 -0
- package/src/metadata/vaults/base/usdc-v1.md +6 -0
- package/src/metadata/vaults/katana/high-yield-ausd.md +6 -0
- package/src/metadata/vaults/katana/high-yield-usdc.md +6 -0
- package/src/metadata/vaults/katana/prime-ausd.md +6 -0
- package/src/metadata/vaults/katana/prime-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/3f-x-steakhouse.md +6 -0
- package/src/metadata/vaults/mainnet/coinshift-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/coinshift-usdl.md +6 -0
- package/src/metadata/vaults/mainnet/eth-v1.md +6 -0
- package/src/metadata/vaults/mainnet/ethena-usdt.md +6 -0
- package/src/metadata/vaults/mainnet/ethena-usdtb.md +6 -0
- package/src/metadata/vaults/mainnet/eurcv-v1.md +6 -0
- package/src/metadata/vaults/mainnet/high-yield-instant-ausd-v2.md +6 -0
- package/src/metadata/vaults/mainnet/high-yield-instant-usdc-v2.md +6 -0
- package/src/metadata/vaults/mainnet/high-yield-instant-usdt-v2.md +6 -0
- package/src/metadata/vaults/mainnet/high-yield-term-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/high-yield-turbo-cbbtc-v2.md +6 -0
- package/src/metadata/vaults/mainnet/high-yield-turbo-eth-v2.md +6 -0
- package/src/metadata/vaults/mainnet/high-yield-turbo-usdt-v2.md +6 -0
- package/src/metadata/vaults/mainnet/infinifi-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/level-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/m-v1.md +6 -0
- package/src/metadata/vaults/mainnet/paxg-v1.md +6 -0
- package/src/metadata/vaults/mainnet/peaty-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/prime-instant-eth-v2.md +6 -0
- package/src/metadata/vaults/mainnet/prime-instant-eurcv-v2.md +6 -0
- package/src/metadata/vaults/mainnet/prime-instant-pyusd-v2.md +6 -0
- package/src/metadata/vaults/mainnet/prime-instant-usdc-v2.md +6 -0
- package/src/metadata/vaults/mainnet/prime-instant-usdt-v2.md +6 -0
- package/src/metadata/vaults/mainnet/pyusd-high-yield-instant.md +6 -0
- package/src/metadata/vaults/mainnet/pyusd-v1.md +6 -0
- package/src/metadata/vaults/mainnet/rusd-v1.md +6 -0
- package/src/metadata/vaults/mainnet/safe-x-eth.md +6 -0
- package/src/metadata/vaults/mainnet/safe-x-smokehouse-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/safe-x-smokehouse-usdt.md +6 -0
- package/src/metadata/vaults/mainnet/safe-x-smokehouse-wbtc.md +6 -0
- package/src/metadata/vaults/mainnet/safe-x-smokehouse-wsteth.md +6 -0
- package/src/metadata/vaults/mainnet/safe-x-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/safe-x-usdt.md +6 -0
- package/src/metadata/vaults/mainnet/smokehouse-cbbtc.md +6 -0
- package/src/metadata/vaults/mainnet/smokehouse-dai.md +6 -0
- package/src/metadata/vaults/mainnet/smokehouse-eth.md +6 -0
- package/src/metadata/vaults/mainnet/smokehouse-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/smokehouse-usdt.md +6 -0
- package/src/metadata/vaults/mainnet/smokehouse-wsteth.md +6 -0
- package/src/metadata/vaults/mainnet/usdc-rwa.md +6 -0
- package/src/metadata/vaults/mainnet/usdc-v1.md +6 -0
- package/src/metadata/vaults/mainnet/usdq.md +6 -0
- package/src/metadata/vaults/mainnet/usdr.md +6 -0
- package/src/metadata/vaults/mainnet/usdt-lite.md +6 -0
- package/src/metadata/vaults/mainnet/usdt-v1.md +6 -0
- package/src/metadata/vaults/mainnet/vault-bridge-usdc.md +6 -0
- package/src/metadata/vaults/mainnet/wbtc-v1.md +6 -0
- package/src/metadata/vaults/monad/ausd-v2.md +6 -0
- package/src/metadata/vaults/monad/usdc-v2.md +6 -0
- package/src/metadata/vaults/unichain/eth.md +6 -0
- package/src/metadata/vaults/unichain/wsteth.md +6 -0
- package/src/queries/fragments/vaultDetail.ts +151 -0
- package/src/queries/getDetailedVault.test.ts +202 -0
- package/src/queries/getDetailedVault.ts +131 -0
- package/src/queries/getVaults.test.ts +167 -0
- package/src/queries/getVaults.ts +62 -13
- package/src/queries/index.ts +9 -7
- package/src/queries/steakhouseMetadata.ts +19 -0
- package/src/react/hooks/index.ts +1 -0
- package/src/react/hooks/useDetailedVault.ts +19 -0
- package/src/react/hooks/useSteakhouseQuery.ts +3 -3
- package/src/react/hooks/useVaults.ts +7 -2
- package/src/react/index.ts +1 -6
- package/dist/metadata/chains.d.ts +0 -7
- package/dist/metadata/chains.js +0 -15
- package/dist/metadata/chains.js.map +0 -1
- package/dist/metadata/vaults.d.ts +0 -7
- package/dist/metadata/vaults.js +0 -24
- package/dist/metadata/vaults.js.map +0 -1
- package/dist/queries/fragments/vault.d.ts +0 -19
- package/dist/queries/fragments/vault.js +0 -16
- package/dist/queries/fragments/vault.js.map +0 -1
- package/src/client.test.ts +0 -27
- package/src/metadata/chains.ts +0 -13
- package/src/metadata/vaults.ts +0 -27
- package/src/queries/fragments/vault.ts +0 -15
package/dist/react/provider.d.ts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import '@urql/core';
|
|
4
|
-
import '@whisk/client';
|
|
2
|
+
import { WhiskClient } from '@whisk/client';
|
|
5
3
|
|
|
6
4
|
interface SteakhouseContextValue {
|
|
7
|
-
client:
|
|
5
|
+
client: WhiskClient;
|
|
8
6
|
}
|
|
9
7
|
declare function useSteakhouse(): SteakhouseContextValue;
|
|
10
8
|
interface SteakhouseProviderProps extends PropsWithChildren {
|
|
11
|
-
client:
|
|
9
|
+
client: WhiskClient;
|
|
12
10
|
}
|
|
13
11
|
declare function SteakhouseProvider({ children, client, }: SteakhouseProviderProps): React.JSX.Element;
|
|
14
12
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whisk/steakhouse",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/office-supply-ventures/whisk-sdk.git",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@urql/core": "6.0.1",
|
|
38
38
|
"gql.tada": "1.9.0",
|
|
39
|
-
"@whisk/client": "0.0.
|
|
40
|
-
"@whisk/graphql": "0.0.
|
|
39
|
+
"@whisk/client": "0.0.10",
|
|
40
|
+
"@whisk/graphql": "0.0.10"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
+
"@tanstack/react-query": ">=5",
|
|
43
44
|
"graphql": ">=16",
|
|
44
45
|
"react": ">=18",
|
|
45
|
-
"react-dom": ">=18"
|
|
46
|
-
"@tanstack/react-query": ">=5"
|
|
46
|
+
"react-dom": ">=18"
|
|
47
47
|
},
|
|
48
48
|
"peerDependenciesMeta": {
|
|
49
49
|
"react": {
|
|
@@ -57,14 +57,22 @@
|
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
+
"@tanstack/react-query": "5.90.10",
|
|
60
61
|
"@types/react": "^19.2.0",
|
|
61
62
|
"@types/react-dom": "^19.2.0",
|
|
63
|
+
"chokidar-cli": "^3.0.0",
|
|
64
|
+
"concurrently": "^9.2.1",
|
|
65
|
+
"gray-matter": "^4.0.3",
|
|
62
66
|
"react": "19.2.0",
|
|
63
67
|
"react-dom": "19.2.0",
|
|
64
|
-
"
|
|
68
|
+
"tsx": "^4.20.6",
|
|
69
|
+
"viem": "^2.0.0",
|
|
70
|
+
"zod": "^3.24.0"
|
|
65
71
|
},
|
|
66
72
|
"scripts": {
|
|
67
|
-
"
|
|
68
|
-
"
|
|
73
|
+
"generate:vaults": "tsx scripts/generate-vaults.ts",
|
|
74
|
+
"generate:vaults:watch": "chokidar \"src/metadata/vaults/**/*.md\" --initial -c \"pnpm generate:vaults\"",
|
|
75
|
+
"build": "pnpm generate:vaults && tsup",
|
|
76
|
+
"dev": "concurrently -n vaults,tsup -c blue,green \"pnpm generate:vaults:watch\" \"tsup --watch\""
|
|
69
77
|
}
|
|
70
78
|
}
|
package/src/client.ts
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export interface SteakhouseClientConfig extends WhiskClientConfig {}
|
|
5
|
-
|
|
6
|
-
export class SteakhouseClient {
|
|
7
|
-
private readonly client: WhiskClient
|
|
8
|
-
|
|
9
|
-
constructor(config: SteakhouseClientConfig) {
|
|
10
|
-
this.client = new WhiskClient(config)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public async query<TValue, TVariables extends AnyVariables>(
|
|
14
|
-
document: TypedDocumentNode<TValue, TVariables>,
|
|
15
|
-
variables: TVariables,
|
|
16
|
-
): Promise<TValue> {
|
|
17
|
-
return this.client.query(document, variables)
|
|
18
|
-
}
|
|
19
|
-
}
|
|
1
|
+
// Re-export from @whisk/client
|
|
2
|
+
export type { WhiskClientConfig as SteakhouseClientConfig } from "@whisk/client"
|
|
3
|
+
export { WhiskClient as SteakhouseClient } from "@whisk/client"
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Vault Metadata
|
|
2
|
+
|
|
3
|
+
Steakhouse vault metadata is defined in markdown files with YAML frontmatter, which are compiled into TypeScript at build time.
|
|
4
|
+
|
|
5
|
+
## Adding a New Vault
|
|
6
|
+
|
|
7
|
+
1. Create a `.md` file in `vaults/{chain}/`:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
vaults/mainnet/my-vault.md
|
|
11
|
+
vaults/base/my-vault.md
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
2. Add YAML frontmatter:
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
---
|
|
18
|
+
chainId: 1
|
|
19
|
+
vaultAddress: 0x...
|
|
20
|
+
protocol: morpho_v2
|
|
21
|
+
type: Prime
|
|
22
|
+
---
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Optionally override the on-chain name or add a description:
|
|
26
|
+
|
|
27
|
+
```yaml
|
|
28
|
+
---
|
|
29
|
+
chainId: 1
|
|
30
|
+
vaultAddress: 0x...
|
|
31
|
+
protocol: morpho_v2
|
|
32
|
+
type: Prime
|
|
33
|
+
name: Custom Display Name
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
Custom description in markdown. Supports **formatting**, links, etc.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
3. Regenerate and commit:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pnpm generate:vaults
|
|
43
|
+
git add src/metadata/generated/vaults.ts
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
4. Verify the vault appears in `generated/vaults.ts` and commit the changes
|
|
47
|
+
|
|
48
|
+
## Frontmatter Fields
|
|
49
|
+
|
|
50
|
+
| Field | Required | Description |
|
|
51
|
+
| -------------- | -------- | ------------------------------------------------- |
|
|
52
|
+
| `chainId` | Yes | Chain ID (1 for mainnet, 8453 for Base, etc.) |
|
|
53
|
+
| `vaultAddress` | Yes | Ethereum address, no quotes needed (checksummed automatically) |
|
|
54
|
+
| `protocol` | Yes | `morpho_v1`, `morpho_v2`, `generic`, or `box` |
|
|
55
|
+
| `type` | No | `Prime`, `High Yield`, `Turbo`, or `Term` |
|
|
56
|
+
| `name` | No | Override display name (defaults to on-chain name) |
|
|
57
|
+
|
|
58
|
+
The markdown body after the frontmatter becomes the `description` field (optional, defaults to morpho metadata).
|
|
59
|
+
|
|
60
|
+
## Validation
|
|
61
|
+
|
|
62
|
+
The build script validates:
|
|
63
|
+
|
|
64
|
+
- Required fields are present
|
|
65
|
+
- Valid Ethereum address format (checksummed automatically via viem)
|
|
66
|
+
- Valid protocol enum value (from `@whisk/graphql`)
|
|
67
|
+
- Valid type enum value (if provided)
|
|
68
|
+
- No duplicate chainId + vaultAddress combinations
|
|
69
|
+
|
|
70
|
+
If validation fails, the build will error with details about which file and field failed.
|
|
71
|
+
|
|
72
|
+
## File Naming
|
|
73
|
+
|
|
74
|
+
Use descriptive slugs that identify the vault:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
vaults/
|
|
78
|
+
mainnet/
|
|
79
|
+
steakhouse-usdc.md
|
|
80
|
+
steakhouse-eth.md
|
|
81
|
+
base/
|
|
82
|
+
steakhouse-usdc.md
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
The filename doesn't affect the generated code - it's just for organization.
|
|
86
|
+
|
|
87
|
+
## Generated Output
|
|
88
|
+
|
|
89
|
+
The generator creates `src/metadata/generated/vaults.ts` with:
|
|
90
|
+
|
|
91
|
+
- `STEAKHOUSE_VAULTS` - array of all vault configurations
|
|
92
|
+
|
|
93
|
+
This file is committed to git for security auditability. CI verifies the committed file matches regenerated output.
|
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
// THIS FILE IS AUTO-GENERATED. DO NOT EDIT DIRECTLY.
|
|
2
|
+
// Run `pnpm generate:vaults` to regenerate.
|
|
3
|
+
|
|
4
|
+
import type { VaultConfig } from "../types.js"
|
|
5
|
+
|
|
6
|
+
/** All Steakhouse vault configurations */
|
|
7
|
+
export const STEAKHOUSE_VAULTS: readonly VaultConfig[] = [
|
|
8
|
+
{
|
|
9
|
+
chainId: 42161,
|
|
10
|
+
address: "0xBEEFFF13dD098De415e07F033daE65205B31A894",
|
|
11
|
+
protocol: "morpho_v2",
|
|
12
|
+
type: "Turbo",
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
chainId: 42161,
|
|
16
|
+
address: "0x5c0C306Aaa9F877de636f4d5822cA9F2E81563BA",
|
|
17
|
+
protocol: "morpho_v1",
|
|
18
|
+
type: "High Yield",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
chainId: 42161,
|
|
22
|
+
address: "0xbeeff1D5dE8F79ff37a151681100B039661da518",
|
|
23
|
+
protocol: "morpho_v2",
|
|
24
|
+
type: "High Yield",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
chainId: 42161,
|
|
28
|
+
address: "0xbeeff77CE5C059445714E6A3490E273fE7F2492F",
|
|
29
|
+
protocol: "morpho_v2",
|
|
30
|
+
type: "High Yield",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
chainId: 8453,
|
|
34
|
+
address: "0xBeEFDebfaea8350Ce8C4b3a6B7E5FE629c9e27A8",
|
|
35
|
+
protocol: "morpho_v2",
|
|
36
|
+
type: "Prime",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
chainId: 8453,
|
|
40
|
+
address: "0xbEEf050a7485865A7a8d8Ca0CC5f7536b7a3443e",
|
|
41
|
+
protocol: "morpho_v1",
|
|
42
|
+
type: "Prime",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
chainId: 8453,
|
|
46
|
+
address: "0xBEeFA28D5e56d41D35df760AB53B94D9FfD7051F",
|
|
47
|
+
protocol: "morpho_v1",
|
|
48
|
+
type: "High Yield",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
chainId: 8453,
|
|
52
|
+
address: "0xBeEF086b8807Dc5E5A1740C5E3a7C4c366eA6ab5",
|
|
53
|
+
protocol: "morpho_v1",
|
|
54
|
+
type: "Prime",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
chainId: 8453,
|
|
58
|
+
address: "0xbeeff7aE5E00Aae3Db302e4B0d8C883810a58100",
|
|
59
|
+
protocol: "morpho_v2",
|
|
60
|
+
type: "High Yield",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
chainId: 8453,
|
|
64
|
+
address: "0xBEEFFFdeADc2c172130Ac4C5Ae48c8D4708BFb40",
|
|
65
|
+
protocol: "morpho_v2",
|
|
66
|
+
type: "Turbo",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
chainId: 8453,
|
|
70
|
+
address: "0xBEEFA7B88064FeEF0cEe02AAeBBd95D30df3878F",
|
|
71
|
+
protocol: "morpho_v1",
|
|
72
|
+
type: "High Yield",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
chainId: 8453,
|
|
76
|
+
address: "0xCBeeF01994E24a60f7DCB8De98e75AD8BD4Ad60d",
|
|
77
|
+
protocol: "morpho_v1",
|
|
78
|
+
type: "High Yield",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
chainId: 8453,
|
|
82
|
+
address: "0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9",
|
|
83
|
+
protocol: "morpho_v2",
|
|
84
|
+
type: "Prime",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
chainId: 8453,
|
|
88
|
+
address: "0xBEEFE94c8aD530842bfE7d8B397938fFc1cb83b2",
|
|
89
|
+
protocol: "morpho_v1",
|
|
90
|
+
type: "Prime",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
chainId: 8453,
|
|
94
|
+
address: "0xBeef2dc30633221Fa51A1C3e5299BFf8C69fc0A8",
|
|
95
|
+
protocol: "morpho_v1",
|
|
96
|
+
type: "Prime",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
chainId: 8453,
|
|
100
|
+
address: "0xbeEFe1372c0A384aCEcBe8a0Adf3c94c389F6704",
|
|
101
|
+
protocol: "morpho_v1",
|
|
102
|
+
type: "Prime",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
chainId: 8453,
|
|
106
|
+
address: "0xBeeFa74640a5f7c28966cbA82466EED5609444E0",
|
|
107
|
+
protocol: "morpho_v1",
|
|
108
|
+
type: "High Yield",
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
chainId: 8453,
|
|
112
|
+
address: "0xB17B070A56043e1a5a1AB7443AfAFDEbcc1168D7",
|
|
113
|
+
protocol: "morpho_v1",
|
|
114
|
+
type: "High Yield",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
chainId: 8453,
|
|
118
|
+
address: "0xbEEfa1aBfEbE621DF50ceaEF9f54FdB73648c92C",
|
|
119
|
+
protocol: "morpho_v1",
|
|
120
|
+
type: "High Yield",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
chainId: 8453,
|
|
124
|
+
address: "0xbEefc4aDBE58173FCa2C042097Fe33095E68C3D6",
|
|
125
|
+
protocol: "morpho_v1",
|
|
126
|
+
type: "High Yield",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
chainId: 8453,
|
|
130
|
+
address: "0xbeeF010f9cb27031ad51e3333f9aF9C6B1228183",
|
|
131
|
+
protocol: "morpho_v1",
|
|
132
|
+
type: "Prime",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
chainId: 747474,
|
|
136
|
+
address: "0xdE6a4F28Acfe431DD1CfA2D9c7A3d8301624a841",
|
|
137
|
+
protocol: "morpho_v1",
|
|
138
|
+
type: "High Yield",
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
chainId: 747474,
|
|
142
|
+
address: "0x1445A01a57D7B7663CfD7B4EE0a8Ec03B379aabD",
|
|
143
|
+
protocol: "morpho_v1",
|
|
144
|
+
type: "High Yield",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
chainId: 747474,
|
|
148
|
+
address: "0x82c4C641CCc38719ae1f0FBd16A64808d838fDfD",
|
|
149
|
+
protocol: "morpho_v1",
|
|
150
|
+
type: "Prime",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
chainId: 747474,
|
|
154
|
+
address: "0x61D4F9D3797BA4dA152238c53a6f93Fb665C3c1d",
|
|
155
|
+
protocol: "morpho_v1",
|
|
156
|
+
type: "Prime",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
chainId: 1,
|
|
160
|
+
address: "0xBEEf3f3A04e28895f3D5163d910474901981183D",
|
|
161
|
+
protocol: "morpho_v2",
|
|
162
|
+
type: "High Yield",
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
chainId: 1,
|
|
166
|
+
address: "0x7204B7Dbf9412567835633B6F00C3Edc3a8D6330",
|
|
167
|
+
protocol: "morpho_v1",
|
|
168
|
+
type: "Prime",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
chainId: 1,
|
|
172
|
+
address: "0xbEeFc011e94f43b8B7b455eBaB290C7Ab4E216f1",
|
|
173
|
+
protocol: "morpho_v1",
|
|
174
|
+
type: "Prime",
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
chainId: 1,
|
|
178
|
+
address: "0xBEEf050ecd6a16c4e7bfFbB52Ebba7846C4b8cD4",
|
|
179
|
+
protocol: "morpho_v1",
|
|
180
|
+
type: "Prime",
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
chainId: 1,
|
|
184
|
+
address: "0xbeEfdDbd3bef4726bCF9627a9BA3B901D4958745",
|
|
185
|
+
protocol: "morpho_v1",
|
|
186
|
+
type: "High Yield",
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
chainId: 1,
|
|
190
|
+
address: "0xBeEFC1CDAfc5b4a649b54D07AFc6bF0f75C6F4E2",
|
|
191
|
+
protocol: "morpho_v1",
|
|
192
|
+
type: "Prime",
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
chainId: 1,
|
|
196
|
+
address: "0x75741A12B36D181f44F389E0c6B1E0210311e3Ff",
|
|
197
|
+
protocol: "morpho_v1",
|
|
198
|
+
type: "Prime",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
chainId: 1,
|
|
202
|
+
address: "0xbEeFf89ABb7815cCD5182BD1FF82C4a4F8FCb13D",
|
|
203
|
+
protocol: "morpho_v2",
|
|
204
|
+
type: "High Yield",
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
chainId: 1,
|
|
208
|
+
address: "0xbeeff2C5bF38f90e3482a8b19F12E5a6D2FCa757",
|
|
209
|
+
protocol: "morpho_v2",
|
|
210
|
+
type: "High Yield",
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
chainId: 1,
|
|
214
|
+
address: "0xbeeff07d991C04CD640DE9F15C08ba59c4FEDEb7",
|
|
215
|
+
protocol: "morpho_v2",
|
|
216
|
+
type: "High Yield",
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
chainId: 1,
|
|
220
|
+
address: "0xBEEFFFC57A26fD8D3b693Ba025ead597DbECEBfe",
|
|
221
|
+
protocol: "morpho_v2",
|
|
222
|
+
type: "Term",
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
chainId: 1,
|
|
226
|
+
address: "0xBEEFFF506B52B3323c48aFE0Cb405A284F0f9cF2",
|
|
227
|
+
protocol: "morpho_v2",
|
|
228
|
+
type: "Turbo",
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
chainId: 1,
|
|
232
|
+
address: "0xBEEFFFcbA46C49A24cfBfFc19166e8f089B59300",
|
|
233
|
+
protocol: "morpho_v2",
|
|
234
|
+
type: "Turbo",
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
chainId: 1,
|
|
238
|
+
address: "0xBEEFFF4716a49418D69c251cab8759bB107e57C8",
|
|
239
|
+
protocol: "morpho_v2",
|
|
240
|
+
type: "Turbo",
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
chainId: 1,
|
|
244
|
+
address: "0xBEeF1f5Bd88285E5B239B6AAcb991d38ccA23Ac9",
|
|
245
|
+
protocol: "morpho_v1",
|
|
246
|
+
type: "High Yield",
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
chainId: 1,
|
|
250
|
+
address: "0xbEEf11C63d7173BdCC2037e7220eE9Bd0cCDA862",
|
|
251
|
+
protocol: "morpho_v1",
|
|
252
|
+
type: "High Yield",
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
chainId: 1,
|
|
256
|
+
address: "0xa5aA40F27DAeDE9748822ef836170f202e196B5A",
|
|
257
|
+
protocol: "morpho_v1",
|
|
258
|
+
type: "Prime",
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
chainId: 1,
|
|
262
|
+
address: "0xBeeF7959aE71D4e45e1863dae0B94C35244AF816",
|
|
263
|
+
protocol: "morpho_v1",
|
|
264
|
+
type: "Prime",
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
chainId: 1,
|
|
268
|
+
address: "0xdcdCEa96147672Fe3B56dCb1AA5608332B67Ff84",
|
|
269
|
+
protocol: "morpho_v2",
|
|
270
|
+
type: "Term",
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
chainId: 1,
|
|
274
|
+
address: "0xbeef0046fcab1dE47E41fB75BB3dC4Dfc94108E3",
|
|
275
|
+
protocol: "morpho_v2",
|
|
276
|
+
type: "Prime",
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
chainId: 1,
|
|
280
|
+
address: "0xbeef0C075Da5D01112AE5cF34d257074fB5DDB2f",
|
|
281
|
+
protocol: "morpho_v2",
|
|
282
|
+
type: "Prime",
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
chainId: 1,
|
|
286
|
+
address: "0xbeef00B5d83C1188F07A5184230a805639c39f04",
|
|
287
|
+
protocol: "morpho_v2",
|
|
288
|
+
type: "Prime",
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
chainId: 1,
|
|
292
|
+
address: "0xbeef088055857739C12CD3765F20b7679Def0f51",
|
|
293
|
+
protocol: "morpho_v2",
|
|
294
|
+
type: "Prime",
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
chainId: 1,
|
|
298
|
+
address: "0xbeef003C68896c7D2c3c60d363e8d71a49Ab2bf9",
|
|
299
|
+
protocol: "morpho_v2",
|
|
300
|
+
type: "Prime",
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
chainId: 1,
|
|
304
|
+
address: "0xd8A6511979D9C5D387c819E9F8ED9F3a5C6c5379",
|
|
305
|
+
protocol: "morpho_v2",
|
|
306
|
+
type: "High Yield",
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
chainId: 1,
|
|
310
|
+
address: "0xbEEF02e5E13584ab96848af90261f0C8Ee04722a",
|
|
311
|
+
protocol: "morpho_v1",
|
|
312
|
+
type: "Prime",
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
chainId: 1,
|
|
316
|
+
address: "0xBeEf11eCb698f4B5378685C05A210bdF71093521",
|
|
317
|
+
protocol: "morpho_v1",
|
|
318
|
+
type: "Prime",
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
chainId: 1,
|
|
322
|
+
address: "0xBeEFB45B6F9acB175e70acF16dC20D6120044c70",
|
|
323
|
+
protocol: "morpho_v1",
|
|
324
|
+
type: "Prime",
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
chainId: 1,
|
|
328
|
+
address: "0xbEEf390D2e65d6E43A67875106d4A48f700F2832",
|
|
329
|
+
protocol: "morpho_v1",
|
|
330
|
+
type: "High Yield",
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
chainId: 1,
|
|
334
|
+
address: "0xbEEf0c18715ACDdC14a3123a608F491319F1C28C",
|
|
335
|
+
protocol: "morpho_v1",
|
|
336
|
+
type: "High Yield",
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
chainId: 1,
|
|
340
|
+
address: "0xBEEFF900ec6faB1465252D2fBe731db8d1Ad5FD9",
|
|
341
|
+
protocol: "morpho_v1",
|
|
342
|
+
type: "High Yield",
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
chainId: 1,
|
|
346
|
+
address: "0xbEEffF79FFA3EE2D1bfcC32dE9cFd8129528D0E4",
|
|
347
|
+
protocol: "morpho_v1",
|
|
348
|
+
type: "High Yield",
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
chainId: 1,
|
|
352
|
+
address: "0xbEeFCe6c76C7D7A8066562Fe9FF0e343a52dD92F",
|
|
353
|
+
protocol: "morpho_v1",
|
|
354
|
+
type: "Prime",
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
chainId: 1,
|
|
358
|
+
address: "0xBEeF47b9F76C9672B967A7b88d0afFf245Be13ad",
|
|
359
|
+
protocol: "morpho_v1",
|
|
360
|
+
type: "Prime",
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
chainId: 1,
|
|
364
|
+
address: "0xbEEF8DF2Ce4BaB5420123F9BF80dea4c65673257",
|
|
365
|
+
protocol: "morpho_v1",
|
|
366
|
+
type: "High Yield",
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
chainId: 1,
|
|
370
|
+
address: "0xbeeFfF68CC520D68f82641EFF84330C631E2490E",
|
|
371
|
+
protocol: "morpho_v1",
|
|
372
|
+
type: "High Yield",
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
chainId: 1,
|
|
376
|
+
address: "0xbEEF36A5C1372F8D7d211527FCE9f83FE02d8A73",
|
|
377
|
+
protocol: "morpho_v1",
|
|
378
|
+
type: "High Yield",
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
chainId: 1,
|
|
382
|
+
address: "0xBEeFFF209270748ddd194831b3fa287a5386f5bC",
|
|
383
|
+
protocol: "morpho_v1",
|
|
384
|
+
type: "High Yield",
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
chainId: 1,
|
|
388
|
+
address: "0xA0804346780b4c2e3bE118ac957D1DB82F9d7484",
|
|
389
|
+
protocol: "morpho_v1",
|
|
390
|
+
type: "High Yield",
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
chainId: 1,
|
|
394
|
+
address: "0x833AdaeF212c5cD3f78906B44bBfb18258F238F0",
|
|
395
|
+
protocol: "morpho_v1",
|
|
396
|
+
type: "High Yield",
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
chainId: 1,
|
|
400
|
+
address: "0x6D4e530B8431a52FFDA4516BA4Aadc0951897F8C",
|
|
401
|
+
protocol: "morpho_v1",
|
|
402
|
+
type: "High Yield",
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
chainId: 1,
|
|
406
|
+
address: "0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB",
|
|
407
|
+
protocol: "morpho_v1",
|
|
408
|
+
type: "Prime",
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
chainId: 1,
|
|
412
|
+
address: "0xA1b60d96e5C50dA627095B9381dc5a46AF1a9a42",
|
|
413
|
+
protocol: "morpho_v1",
|
|
414
|
+
type: "Prime",
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
chainId: 1,
|
|
418
|
+
address: "0x30881Baa943777f92DC934d53D3bFdF33382cab3",
|
|
419
|
+
protocol: "morpho_v1",
|
|
420
|
+
type: "Prime",
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
chainId: 1,
|
|
424
|
+
address: "0x097FFEDb80d4b2Ca6105a07a4D90eB739C45A666",
|
|
425
|
+
protocol: "morpho_v1",
|
|
426
|
+
type: "Prime",
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
chainId: 1,
|
|
430
|
+
address: "0xbEef047a543E45807105E51A8BBEFCc5950fcfBa",
|
|
431
|
+
protocol: "morpho_v1",
|
|
432
|
+
type: "Prime",
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
chainId: 1,
|
|
436
|
+
address: "0xBEefb9f61CC44895d8AEc381373555a64191A9c4",
|
|
437
|
+
protocol: "morpho_v1",
|
|
438
|
+
type: "Prime",
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
chainId: 1,
|
|
442
|
+
address: "0xbeEf094333AEdD535c130958c204E84f681FD9FA",
|
|
443
|
+
protocol: "morpho_v1",
|
|
444
|
+
type: "Prime",
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
chainId: 143,
|
|
448
|
+
address: "0xbeeffeA75cFC4128ebe10C8D7aE22016D215060D",
|
|
449
|
+
protocol: "morpho_v2",
|
|
450
|
+
type: "High Yield",
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
chainId: 143,
|
|
454
|
+
address: "0xbeEFf443C3CbA3E369DA795002243BeaC311aB83",
|
|
455
|
+
protocol: "morpho_v2",
|
|
456
|
+
type: "High Yield",
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
chainId: 130,
|
|
460
|
+
address: "0x0993Ae24a988c6925d80aD61344a76B81aA0D34c",
|
|
461
|
+
protocol: "morpho_v1",
|
|
462
|
+
type: "Prime",
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
chainId: 130,
|
|
466
|
+
address: "0x9E111aCef0CF3bd8C38715B88e78BE31C1109F8a",
|
|
467
|
+
protocol: "morpho_v1",
|
|
468
|
+
type: "Prime",
|
|
469
|
+
},
|
|
470
|
+
] as const
|
package/src/metadata/index.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
export {
|
|
1
|
+
export { STEAKHOUSE_VAULTS } from "./generated/vaults.js"
|
|
2
|
+
|
|
3
|
+
export type { Address, VaultConfig, VaultProtocol, VaultType } from "./types.js"
|
|
4
|
+
|
|
5
|
+
export { VAULT_TYPES } from "./types.js"
|
package/src/metadata/types.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
import type { VaultProtocol } from "@whisk/graphql"
|
|
2
2
|
|
|
3
|
-
export type VaultProtocol
|
|
3
|
+
export type { VaultProtocol }
|
|
4
|
+
export type Address = `0x${string}`
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
/** Valid vault types for categorization */
|
|
7
|
+
export const VAULT_TYPES = ["Prime", "High Yield", "Turbo", "Term"] as const
|
|
8
|
+
export type VaultType = (typeof VAULT_TYPES)[number]
|
|
6
9
|
|
|
10
|
+
/** Vault configuration with metadata */
|
|
7
11
|
export interface VaultConfig {
|
|
12
|
+
readonly chainId: number
|
|
8
13
|
readonly address: Address
|
|
9
14
|
readonly protocol: VaultProtocol
|
|
10
15
|
readonly name?: string
|
|
11
16
|
readonly description?: string
|
|
12
|
-
readonly
|
|
13
|
-
readonly isHidden?: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface ChainConfig {
|
|
17
|
-
readonly id: number
|
|
18
|
-
readonly name: string
|
|
17
|
+
readonly type?: VaultType
|
|
19
18
|
}
|