@whisk/steakhouse 0.3.8 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +5 -0
- package/dist/metadata/generated/vaults.js +2 -2
- package/dist/metadata/generated/vaults.js.map +1 -1
- package/dist/queries/fragments.d.ts +687 -0
- package/dist/queries/fragments.js +158 -0
- package/dist/queries/fragments.js.map +1 -0
- package/dist/queries/getStats.d.ts +1 -1
- package/dist/queries/getVault.d.ts +1108 -0
- package/dist/queries/getVault.js +197 -0
- package/dist/queries/getVault.js.map +1 -0
- package/dist/queries/getVaultHistory.d.ts +15 -0
- package/dist/queries/getVaultHistory.js +55 -0
- package/dist/queries/getVaultHistory.js.map +1 -0
- package/dist/queries/getVaults.d.ts +429 -0
- package/dist/queries/getVaults.js +49 -0
- package/dist/queries/getVaults.js.map +1 -0
- package/dist/queries/index.d.ts +5 -0
- package/dist/queries/index.js +3 -0
- package/dist/queries/index.js.map +1 -1
- package/package.json +1 -1
- package/src/metadata/generated/vaults.ts +2 -2
- package/src/metadata/vaults/mainnet/ausd-high-tield-term.md +1 -1
- package/src/metadata/vaults/mainnet/usdc-high-yield-term.md +1 -1
- package/src/queries/fragments.ts +163 -0
- package/src/queries/getVault.ts +222 -0
- package/src/queries/getVaultHistory.ts +72 -0
- package/src/queries/getVaults.ts +64 -0
- package/src/queries/index.ts +3 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { graphql } from "@whisk/graphql";
|
|
2
|
+
import { isAddressEqual } from "viem";
|
|
3
|
+
import { STEAKHOUSE_VAULTS } from "../metadata/generated/vaults.js";
|
|
4
|
+
function resolveVaultConfig(variables) {
|
|
5
|
+
return STEAKHOUSE_VAULTS.find(
|
|
6
|
+
(v) => v.chainId === variables.chainId && isAddressEqual(v.address, variables.vaultAddress)
|
|
7
|
+
);
|
|
8
|
+
}
|
|
9
|
+
const chainFragment = graphql(`
|
|
10
|
+
fragment ChainFields on Chain {
|
|
11
|
+
id
|
|
12
|
+
name
|
|
13
|
+
icon
|
|
14
|
+
}
|
|
15
|
+
`);
|
|
16
|
+
const erc20Fragment = graphql(`
|
|
17
|
+
fragment Erc20Fields on Erc20 {
|
|
18
|
+
address
|
|
19
|
+
name
|
|
20
|
+
symbol
|
|
21
|
+
decimals
|
|
22
|
+
icon
|
|
23
|
+
priceUsd
|
|
24
|
+
}
|
|
25
|
+
`);
|
|
26
|
+
const tokenAmountFragment = graphql(`
|
|
27
|
+
fragment TokenAmountFields on TokenAmount {
|
|
28
|
+
raw
|
|
29
|
+
formatted
|
|
30
|
+
usd
|
|
31
|
+
}
|
|
32
|
+
`);
|
|
33
|
+
const riskAssessmentFragment = graphql(`
|
|
34
|
+
fragment RiskAssessmentFields on RiskAssessment {
|
|
35
|
+
steakhouse {
|
|
36
|
+
score
|
|
37
|
+
rating
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
`);
|
|
41
|
+
const apyFragment = graphql(
|
|
42
|
+
`
|
|
43
|
+
fragment ApyFields on Apy {
|
|
44
|
+
base
|
|
45
|
+
rewards {
|
|
46
|
+
asset {
|
|
47
|
+
...Erc20Fields
|
|
48
|
+
}
|
|
49
|
+
apr
|
|
50
|
+
}
|
|
51
|
+
fee
|
|
52
|
+
total
|
|
53
|
+
}
|
|
54
|
+
`,
|
|
55
|
+
[erc20Fragment]
|
|
56
|
+
);
|
|
57
|
+
const morphoMarketAllocationFragment = graphql(
|
|
58
|
+
`
|
|
59
|
+
fragment MorphoMarketAllocationFields on MorphoMarket {
|
|
60
|
+
marketId
|
|
61
|
+
name
|
|
62
|
+
loanAsset {
|
|
63
|
+
...Erc20Fields
|
|
64
|
+
}
|
|
65
|
+
collateralAsset {
|
|
66
|
+
...Erc20Fields
|
|
67
|
+
yield {
|
|
68
|
+
intrinsicApy
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
lltv {
|
|
72
|
+
raw
|
|
73
|
+
formatted
|
|
74
|
+
}
|
|
75
|
+
riskAssessment {
|
|
76
|
+
...RiskAssessmentFields
|
|
77
|
+
}
|
|
78
|
+
supplyApy {
|
|
79
|
+
...ApyFields
|
|
80
|
+
}
|
|
81
|
+
supplyApy1d {
|
|
82
|
+
...ApyFields
|
|
83
|
+
}
|
|
84
|
+
supplyApy7d {
|
|
85
|
+
...ApyFields
|
|
86
|
+
}
|
|
87
|
+
supplyApy30d {
|
|
88
|
+
...ApyFields
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
`,
|
|
92
|
+
[erc20Fragment, riskAssessmentFragment, apyFragment]
|
|
93
|
+
);
|
|
94
|
+
const morphoVaultHistoricalEntryFragment = graphql(
|
|
95
|
+
`
|
|
96
|
+
fragment MorphoVaultHistoricalEntryFields on MorphoVaultHistoricalEntry {
|
|
97
|
+
bucketTimestamp
|
|
98
|
+
totalSupplied {
|
|
99
|
+
...TokenAmountFields
|
|
100
|
+
}
|
|
101
|
+
supplyApy1d {
|
|
102
|
+
...ApyFields
|
|
103
|
+
}
|
|
104
|
+
supplyApy7d {
|
|
105
|
+
...ApyFields
|
|
106
|
+
}
|
|
107
|
+
supplyApy30d {
|
|
108
|
+
...ApyFields
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
`,
|
|
112
|
+
[tokenAmountFragment, apyFragment]
|
|
113
|
+
);
|
|
114
|
+
const vaultSummaryFragment = graphql(
|
|
115
|
+
`
|
|
116
|
+
fragment VaultSummaryFields on Erc4626Vault {
|
|
117
|
+
__typename
|
|
118
|
+
chain {
|
|
119
|
+
...ChainFields
|
|
120
|
+
}
|
|
121
|
+
...Erc20Fields
|
|
122
|
+
asset {
|
|
123
|
+
...Erc20Fields
|
|
124
|
+
}
|
|
125
|
+
totalAssets {
|
|
126
|
+
...TokenAmountFields
|
|
127
|
+
}
|
|
128
|
+
apyInstant: apy(timeframe: instant) {
|
|
129
|
+
...ApyFields
|
|
130
|
+
}
|
|
131
|
+
apy1d: apy(timeframe: one_day) {
|
|
132
|
+
...ApyFields
|
|
133
|
+
}
|
|
134
|
+
apy7d: apy(timeframe: seven_days) {
|
|
135
|
+
...ApyFields
|
|
136
|
+
}
|
|
137
|
+
apy30d: apy(timeframe: thirty_days) {
|
|
138
|
+
...ApyFields
|
|
139
|
+
}
|
|
140
|
+
riskAssessment {
|
|
141
|
+
...RiskAssessmentFields
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
`,
|
|
145
|
+
[chainFragment, erc20Fragment, tokenAmountFragment, apyFragment, riskAssessmentFragment]
|
|
146
|
+
);
|
|
147
|
+
export {
|
|
148
|
+
apyFragment,
|
|
149
|
+
chainFragment,
|
|
150
|
+
erc20Fragment,
|
|
151
|
+
morphoMarketAllocationFragment,
|
|
152
|
+
morphoVaultHistoricalEntryFragment,
|
|
153
|
+
resolveVaultConfig,
|
|
154
|
+
riskAssessmentFragment,
|
|
155
|
+
tokenAmountFragment,
|
|
156
|
+
vaultSummaryFragment
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=fragments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/queries/fragments.ts"],"sourcesContent":["import { graphql } from \"@whisk/graphql\"\nimport { isAddressEqual } from \"viem\"\nimport { STEAKHOUSE_VAULTS } from \"../metadata/generated/vaults.js\"\nimport type { VaultConfig } from \"../metadata/types.js\"\n\nexport type Prettify<T> = { [K in keyof T]: T[K] } & {}\n\nexport interface VaultKeyVariables {\n chainId: number\n vaultAddress: `0x${string}`\n}\n\nexport function resolveVaultConfig(variables: VaultKeyVariables): VaultConfig | undefined {\n return STEAKHOUSE_VAULTS.find(\n (v) => v.chainId === variables.chainId && isAddressEqual(v.address, variables.vaultAddress),\n )\n}\n\nexport const chainFragment = graphql(`\n fragment ChainFields on Chain {\n id\n name\n icon\n }\n`)\n\nexport const erc20Fragment = graphql(`\n fragment Erc20Fields on Erc20 {\n address\n name\n symbol\n decimals\n icon\n priceUsd\n }\n`)\n\nexport const tokenAmountFragment = graphql(`\n fragment TokenAmountFields on TokenAmount {\n raw\n formatted\n usd\n }\n`)\n\nexport const riskAssessmentFragment = graphql(`\n fragment RiskAssessmentFields on RiskAssessment {\n steakhouse {\n score\n rating\n }\n }\n`)\n\nexport const apyFragment = graphql(\n `\n fragment ApyFields on Apy {\n base\n rewards {\n asset {\n ...Erc20Fields\n }\n apr\n }\n fee\n total\n }\n`,\n [erc20Fragment],\n)\n\nexport const morphoMarketAllocationFragment = graphql(\n `\n fragment MorphoMarketAllocationFields on MorphoMarket {\n marketId\n name\n loanAsset {\n ...Erc20Fields\n }\n collateralAsset {\n ...Erc20Fields\n yield {\n intrinsicApy\n }\n }\n lltv {\n raw\n formatted\n }\n riskAssessment {\n ...RiskAssessmentFields\n }\n supplyApy {\n ...ApyFields\n }\n supplyApy1d {\n ...ApyFields\n }\n supplyApy7d {\n ...ApyFields\n }\n supplyApy30d {\n ...ApyFields\n }\n }\n`,\n [erc20Fragment, riskAssessmentFragment, apyFragment],\n)\n\nexport const morphoVaultHistoricalEntryFragment = graphql(\n `\n fragment MorphoVaultHistoricalEntryFields on MorphoVaultHistoricalEntry {\n bucketTimestamp\n totalSupplied {\n ...TokenAmountFields\n }\n supplyApy1d {\n ...ApyFields\n }\n supplyApy7d {\n ...ApyFields\n }\n supplyApy30d {\n ...ApyFields\n }\n }\n`,\n [tokenAmountFragment, apyFragment],\n)\n\nexport const vaultSummaryFragment = graphql(\n `\n fragment VaultSummaryFields on Erc4626Vault {\n __typename\n chain {\n ...ChainFields\n }\n ...Erc20Fields\n asset {\n ...Erc20Fields\n }\n totalAssets {\n ...TokenAmountFields\n }\n apyInstant: apy(timeframe: instant) {\n ...ApyFields\n }\n apy1d: apy(timeframe: one_day) {\n ...ApyFields\n }\n apy7d: apy(timeframe: seven_days) {\n ...ApyFields\n }\n apy30d: apy(timeframe: thirty_days) {\n ...ApyFields\n }\n riskAssessment {\n ...RiskAssessmentFields\n }\n }\n`,\n [chainFragment, erc20Fragment, tokenAmountFragment, apyFragment, riskAssessmentFragment],\n)\n"],"mappings":"AAAA,SAAS,eAAe;AACxB,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAU3B,SAAS,mBAAmB,WAAuD;AACxF,SAAO,kBAAkB;AAAA,IACvB,CAAC,MAAM,EAAE,YAAY,UAAU,WAAW,eAAe,EAAE,SAAS,UAAU,YAAY;AAAA,EAC5F;AACF;AAEO,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAMpC;AAEM,MAAM,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CASpC;AAEM,MAAM,sBAAsB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAM1C;AAEM,MAAM,yBAAyB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAO7C;AAEM,MAAM,cAAc;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,CAAC,aAAa;AAChB;AAEO,MAAM,iCAAiC;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkCA,CAAC,eAAe,wBAAwB,WAAW;AACrD;AAEO,MAAM,qCAAqC;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,CAAC,qBAAqB,WAAW;AACnC;AAEO,MAAM,uBAAuB;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8BA,CAAC,eAAe,eAAe,qBAAqB,aAAa,sBAAsB;AACzF;","names":[]}
|