@compass-labs/api-sdk 2.1.17 → 2.1.18-rc.1

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 (110) hide show
  1. package/README.md +5 -3
  2. package/codeSamples_typescript.yaml +7 -1
  3. package/dist/commonjs/funcs/earnEarnListAaveMarkets.d.ts +22 -0
  4. package/dist/commonjs/funcs/earnEarnListAaveMarkets.d.ts.map +1 -0
  5. package/dist/commonjs/funcs/earnEarnListAaveMarkets.js +125 -0
  6. package/dist/commonjs/funcs/earnEarnListAaveMarkets.js.map +1 -0
  7. package/dist/commonjs/funcs/earnEarnVaults.d.ts +3 -4
  8. package/dist/commonjs/funcs/earnEarnVaults.d.ts.map +1 -1
  9. package/dist/commonjs/funcs/earnEarnVaults.js +3 -4
  10. package/dist/commonjs/funcs/earnEarnVaults.js.map +1 -1
  11. package/dist/commonjs/models/components/aavemarketinfo.d.ts +28 -0
  12. package/dist/commonjs/models/components/aavemarketinfo.d.ts.map +1 -0
  13. package/dist/commonjs/models/components/aavemarketinfo.js +59 -0
  14. package/dist/commonjs/models/components/aavemarketinfo.js.map +1 -0
  15. package/dist/commonjs/models/components/chainaavemarkets.d.ts +21 -0
  16. package/dist/commonjs/models/components/chainaavemarkets.d.ts.map +1 -0
  17. package/dist/commonjs/models/components/chainaavemarkets.js +52 -0
  18. package/dist/commonjs/models/components/chainaavemarkets.js.map +1 -0
  19. package/dist/commonjs/models/components/index.d.ts +4 -0
  20. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  21. package/dist/commonjs/models/components/index.js +4 -0
  22. package/dist/commonjs/models/components/index.js.map +1 -1
  23. package/dist/commonjs/models/components/listaavemarketsresponse.d.ts +22 -0
  24. package/dist/commonjs/models/components/listaavemarketsresponse.d.ts.map +1 -0
  25. package/dist/commonjs/models/components/listaavemarketsresponse.js +58 -0
  26. package/dist/commonjs/models/components/listaavemarketsresponse.js.map +1 -0
  27. package/dist/commonjs/models/components/maxsupplyapymarket.d.ts +21 -0
  28. package/dist/commonjs/models/components/maxsupplyapymarket.d.ts.map +1 -0
  29. package/dist/commonjs/models/components/maxsupplyapymarket.js +52 -0
  30. package/dist/commonjs/models/components/maxsupplyapymarket.js.map +1 -0
  31. package/dist/commonjs/models/operations/index.d.ts +1 -0
  32. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  33. package/dist/commonjs/models/operations/index.js +1 -0
  34. package/dist/commonjs/models/operations/index.js.map +1 -1
  35. package/dist/commonjs/models/operations/v2earnlistaavemarkets.d.ts +16 -0
  36. package/dist/commonjs/models/operations/v2earnlistaavemarkets.d.ts.map +1 -0
  37. package/dist/commonjs/models/operations/v2earnlistaavemarkets.js +50 -0
  38. package/dist/commonjs/models/operations/v2earnlistaavemarkets.js.map +1 -0
  39. package/dist/commonjs/models/operations/v2earnvaults.d.ts +6 -10
  40. package/dist/commonjs/models/operations/v2earnvaults.d.ts.map +1 -1
  41. package/dist/commonjs/models/operations/v2earnvaults.js +3 -9
  42. package/dist/commonjs/models/operations/v2earnvaults.js.map +1 -1
  43. package/dist/commonjs/sdk/earn.d.ts +13 -4
  44. package/dist/commonjs/sdk/earn.d.ts.map +1 -1
  45. package/dist/commonjs/sdk/earn.js +16 -4
  46. package/dist/commonjs/sdk/earn.js.map +1 -1
  47. package/dist/esm/funcs/earnEarnListAaveMarkets.d.ts +22 -0
  48. package/dist/esm/funcs/earnEarnListAaveMarkets.d.ts.map +1 -0
  49. package/dist/esm/funcs/earnEarnListAaveMarkets.js +89 -0
  50. package/dist/esm/funcs/earnEarnListAaveMarkets.js.map +1 -0
  51. package/dist/esm/funcs/earnEarnVaults.d.ts +3 -4
  52. package/dist/esm/funcs/earnEarnVaults.d.ts.map +1 -1
  53. package/dist/esm/funcs/earnEarnVaults.js +3 -4
  54. package/dist/esm/funcs/earnEarnVaults.js.map +1 -1
  55. package/dist/esm/models/components/aavemarketinfo.d.ts +28 -0
  56. package/dist/esm/models/components/aavemarketinfo.d.ts.map +1 -0
  57. package/dist/esm/models/components/aavemarketinfo.js +22 -0
  58. package/dist/esm/models/components/aavemarketinfo.js.map +1 -0
  59. package/dist/esm/models/components/chainaavemarkets.d.ts +21 -0
  60. package/dist/esm/models/components/chainaavemarkets.d.ts.map +1 -0
  61. package/dist/esm/models/components/chainaavemarkets.js +15 -0
  62. package/dist/esm/models/components/chainaavemarkets.js.map +1 -0
  63. package/dist/esm/models/components/index.d.ts +4 -0
  64. package/dist/esm/models/components/index.d.ts.map +1 -1
  65. package/dist/esm/models/components/index.js +4 -0
  66. package/dist/esm/models/components/index.js.map +1 -1
  67. package/dist/esm/models/components/listaavemarketsresponse.d.ts +22 -0
  68. package/dist/esm/models/components/listaavemarketsresponse.d.ts.map +1 -0
  69. package/dist/esm/models/components/listaavemarketsresponse.js +21 -0
  70. package/dist/esm/models/components/listaavemarketsresponse.js.map +1 -0
  71. package/dist/esm/models/components/maxsupplyapymarket.d.ts +21 -0
  72. package/dist/esm/models/components/maxsupplyapymarket.d.ts.map +1 -0
  73. package/dist/esm/models/components/maxsupplyapymarket.js +15 -0
  74. package/dist/esm/models/components/maxsupplyapymarket.js.map +1 -0
  75. package/dist/esm/models/operations/index.d.ts +1 -0
  76. package/dist/esm/models/operations/index.d.ts.map +1 -1
  77. package/dist/esm/models/operations/index.js +1 -0
  78. package/dist/esm/models/operations/index.js.map +1 -1
  79. package/dist/esm/models/operations/v2earnlistaavemarkets.d.ts +16 -0
  80. package/dist/esm/models/operations/v2earnlistaavemarkets.d.ts.map +1 -0
  81. package/dist/esm/models/operations/v2earnlistaavemarkets.js +13 -0
  82. package/dist/esm/models/operations/v2earnlistaavemarkets.js.map +1 -0
  83. package/dist/esm/models/operations/v2earnvaults.d.ts +6 -10
  84. package/dist/esm/models/operations/v2earnvaults.d.ts.map +1 -1
  85. package/dist/esm/models/operations/v2earnvaults.js +2 -8
  86. package/dist/esm/models/operations/v2earnvaults.js.map +1 -1
  87. package/dist/esm/sdk/earn.d.ts +13 -4
  88. package/dist/esm/sdk/earn.d.ts.map +1 -1
  89. package/dist/esm/sdk/earn.js +16 -4
  90. package/dist/esm/sdk/earn.js.map +1 -1
  91. package/docs/models/components/aavemarketinfo.md +25 -0
  92. package/docs/models/components/chainaavemarkets.md +21 -0
  93. package/docs/models/components/listaavemarketsresponse.md +32 -0
  94. package/docs/models/components/maxsupplyapymarket.md +26 -0
  95. package/docs/models/operations/v2earnlistaavemarketsrequest.md +15 -0
  96. package/docs/models/operations/v2earnvaultsrequest.md +8 -9
  97. package/docs/sdks/earn/README.md +77 -6
  98. package/package.json +1 -1
  99. package/src/funcs/earnEarnListAaveMarkets.ts +178 -0
  100. package/src/funcs/earnEarnVaults.ts +3 -4
  101. package/src/models/components/aavemarketinfo.ts +58 -0
  102. package/src/models/components/chainaavemarkets.ts +46 -0
  103. package/src/models/components/index.ts +4 -0
  104. package/src/models/components/listaavemarketsresponse.ts +55 -0
  105. package/src/models/components/maxsupplyapymarket.ts +46 -0
  106. package/src/models/operations/index.ts +1 -0
  107. package/src/models/operations/v2earnlistaavemarkets.ts +37 -0
  108. package/src/models/operations/v2earnvaults.ts +7 -15
  109. package/src/sdk/earn.ts +24 -4
  110. package/docs/models/operations/v2earnvaultschain.md +0 -15
@@ -8,6 +8,7 @@ export * from "./aaveborrowrequest.js";
8
8
  export * from "./aavehistoricaltransactionsresponse.js";
9
9
  export * from "./aaveliquiditychangeresponse.js";
10
10
  export * from "./aavelooprequest.js";
11
+ export * from "./aavemarketinfo.js";
11
12
  export * from "./aaveposition.js";
12
13
  export * from "./aaverateresponse.js";
13
14
  export * from "./aaverepayparams.js";
@@ -49,6 +50,7 @@ export * from "./batcheduseroperationsresponse.js";
49
50
  export * from "./borrow.js";
50
51
  export * from "./bundlertransactionresponse.js";
51
52
  export * from "./chain.js";
53
+ export * from "./chainaavemarkets.js";
52
54
  export * from "./chaininfo.js";
53
55
  export * from "./chainratedata.js";
54
56
  export * from "./compassapibackendv1modelsgenericreadresponseportfoliotokenbalance.js";
@@ -106,11 +108,13 @@ export * from "./fee.js";
106
108
  export * from "./feeenum.js";
107
109
  export * from "./interestratemode.js";
108
110
  export * from "./liquidationcall.js";
111
+ export * from "./listaavemarketsresponse.js";
109
112
  export * from "./lpbalance.js";
110
113
  export * from "./market.js";
111
114
  export * from "./marketposition.js";
112
115
  export * from "./markettokens.js";
113
116
  export * from "./maxsupplyapydata.js";
117
+ export * from "./maxsupplyapymarket.js";
114
118
  export * from "./mintpreparecompletedresponse.js";
115
119
  export * from "./mintpreparependingresponse.js";
116
120
  export * from "./mintpreparereadyresponse.js";
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ ChainAaveMarkets,
12
+ ChainAaveMarkets$inboundSchema,
13
+ } from "./chainaavemarkets.js";
14
+ import {
15
+ MaxSupplyApyMarket,
16
+ MaxSupplyApyMarket$inboundSchema,
17
+ } from "./maxsupplyapymarket.js";
18
+
19
+ /**
20
+ * Response containing Aave market rates for all tokens across chains.
21
+ */
22
+ export type ListAaveMarketsResponse = {
23
+ /**
24
+ * List of chains with their Aave market data.
25
+ */
26
+ chains: Array<ChainAaveMarkets>;
27
+ /**
28
+ * The market with the highest supply APY across all queried chains. Only included when multiple chains are queried.
29
+ */
30
+ maxSupplyApy?: MaxSupplyApyMarket | null | undefined;
31
+ };
32
+
33
+ /** @internal */
34
+ export const ListAaveMarketsResponse$inboundSchema: z.ZodType<
35
+ ListAaveMarketsResponse,
36
+ z.ZodTypeDef,
37
+ unknown
38
+ > = z.object({
39
+ chains: z.array(ChainAaveMarkets$inboundSchema),
40
+ max_supply_apy: z.nullable(MaxSupplyApyMarket$inboundSchema).optional(),
41
+ }).transform((v) => {
42
+ return remap$(v, {
43
+ "max_supply_apy": "maxSupplyApy",
44
+ });
45
+ });
46
+
47
+ export function listAaveMarketsResponseFromJSON(
48
+ jsonString: string,
49
+ ): SafeParseResult<ListAaveMarketsResponse, SDKValidationError> {
50
+ return safeParse(
51
+ jsonString,
52
+ (x) => ListAaveMarketsResponse$inboundSchema.parse(JSON.parse(x)),
53
+ `Failed to parse 'ListAaveMarketsResponse' from JSON`,
54
+ );
55
+ }
@@ -0,0 +1,46 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+ import {
10
+ AaveMarketInfo,
11
+ AaveMarketInfo$inboundSchema,
12
+ } from "./aavemarketinfo.js";
13
+
14
+ /**
15
+ * Information about the market with the highest supply APY.
16
+ */
17
+ export type MaxSupplyApyMarket = {
18
+ /**
19
+ * Chain name where this market exists.
20
+ */
21
+ chain: string;
22
+ /**
23
+ * Rate information for a single token on Aave.
24
+ */
25
+ market: AaveMarketInfo;
26
+ };
27
+
28
+ /** @internal */
29
+ export const MaxSupplyApyMarket$inboundSchema: z.ZodType<
30
+ MaxSupplyApyMarket,
31
+ z.ZodTypeDef,
32
+ unknown
33
+ > = z.object({
34
+ chain: z.string(),
35
+ market: AaveMarketInfo$inboundSchema,
36
+ });
37
+
38
+ export function maxSupplyApyMarketFromJSON(
39
+ jsonString: string,
40
+ ): SafeParseResult<MaxSupplyApyMarket, SDKValidationError> {
41
+ return safeParse(
42
+ jsonString,
43
+ (x) => MaxSupplyApyMarket$inboundSchema.parse(JSON.parse(x)),
44
+ `Failed to parse 'MaxSupplyApyMarket' from JSON`,
45
+ );
46
+ }
@@ -42,5 +42,6 @@ export * from "./v1vaultsvault.js";
42
42
  export * from "./v1wildcatmarket.js";
43
43
  export * from "./v2cctpmint.js";
44
44
  export * from "./v2earnaavetokenrates.js";
45
+ export * from "./v2earnlistaavemarkets.js";
45
46
  export * from "./v2earnpositions.js";
46
47
  export * from "./v2earnvaults.js";
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import * as components from "../components/index.js";
7
+
8
+ export type V2EarnListAaveMarketsRequest = {
9
+ /**
10
+ * Optional chain filter. If not provided, returns rates for all chains.
11
+ */
12
+ chain?: components.Chain | null | undefined;
13
+ };
14
+
15
+ /** @internal */
16
+ export type V2EarnListAaveMarketsRequest$Outbound = {
17
+ chain?: string | null | undefined;
18
+ };
19
+
20
+ /** @internal */
21
+ export const V2EarnListAaveMarketsRequest$outboundSchema: z.ZodType<
22
+ V2EarnListAaveMarketsRequest$Outbound,
23
+ z.ZodTypeDef,
24
+ V2EarnListAaveMarketsRequest
25
+ > = z.object({
26
+ chain: z.nullable(components.Chain$outboundSchema).optional(),
27
+ });
28
+
29
+ export function v2EarnListAaveMarketsRequestToJSON(
30
+ v2EarnListAaveMarketsRequest: V2EarnListAaveMarketsRequest,
31
+ ): string {
32
+ return JSON.stringify(
33
+ V2EarnListAaveMarketsRequest$outboundSchema.parse(
34
+ v2EarnListAaveMarketsRequest,
35
+ ),
36
+ );
37
+ }
@@ -5,6 +5,7 @@
5
5
  import * as z from "zod/v3";
6
6
  import { remap as remap$ } from "../../lib/primitives.js";
7
7
  import { ClosedEnum } from "../../types/enums.js";
8
+ import * as components from "../components/index.js";
8
9
 
9
10
  /**
10
11
  * The direction to order the results by.
@@ -18,13 +19,6 @@ export const Direction = {
18
19
  */
19
20
  export type Direction = ClosedEnum<typeof Direction>;
20
21
 
21
- export const V2EarnVaultsChain = {
22
- Arbitrum: "arbitrum",
23
- Base: "base",
24
- Ethereum: "ethereum",
25
- } as const;
26
- export type V2EarnVaultsChain = ClosedEnum<typeof V2EarnVaultsChain>;
27
-
28
22
  export type V2EarnVaultsRequest = {
29
23
  /**
30
24
  * The field to order the results by.
@@ -42,7 +36,10 @@ export type V2EarnVaultsRequest = {
42
36
  * The number of items to return.
43
37
  */
44
38
  limit?: number | undefined;
45
- chain: V2EarnVaultsChain;
39
+ /**
40
+ * Optional chain filter. If not provided, returns vaults for all chains.
41
+ */
42
+ chain?: components.Chain | null | undefined;
46
43
  /**
47
44
  * Filter vaults by underlying asset symbol (e.g., 'USDC', 'WETH').
48
45
  */
@@ -53,18 +50,13 @@ export type V2EarnVaultsRequest = {
53
50
  export const Direction$outboundSchema: z.ZodNativeEnum<typeof Direction> = z
54
51
  .nativeEnum(Direction);
55
52
 
56
- /** @internal */
57
- export const V2EarnVaultsChain$outboundSchema: z.ZodNativeEnum<
58
- typeof V2EarnVaultsChain
59
- > = z.nativeEnum(V2EarnVaultsChain);
60
-
61
53
  /** @internal */
62
54
  export type V2EarnVaultsRequest$Outbound = {
63
55
  order_by: string;
64
56
  direction?: string | undefined;
65
57
  offset?: number | undefined;
66
58
  limit?: number | undefined;
67
- chain: string;
59
+ chain?: string | null | undefined;
68
60
  asset_symbol?: string | null | undefined;
69
61
  };
70
62
 
@@ -78,7 +70,7 @@ export const V2EarnVaultsRequest$outboundSchema: z.ZodType<
78
70
  direction: Direction$outboundSchema.optional(),
79
71
  offset: z.number().int().optional(),
80
72
  limit: z.number().int().optional(),
81
- chain: V2EarnVaultsChain$outboundSchema,
73
+ chain: z.nullable(components.Chain$outboundSchema).optional(),
82
74
  assetSymbol: z.nullable(z.string()).optional(),
83
75
  }).transform((v) => {
84
76
  return remap$(v, {
package/src/sdk/earn.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  import { earnEarnAaveTokenRates } from "../funcs/earnEarnAaveTokenRates.js";
6
6
  import { earnEarnBundle } from "../funcs/earnEarnBundle.js";
7
7
  import { earnEarnCreateAccount } from "../funcs/earnEarnCreateAccount.js";
8
+ import { earnEarnListAaveMarkets } from "../funcs/earnEarnListAaveMarkets.js";
8
9
  import { earnEarnManage } from "../funcs/earnEarnManage.js";
9
10
  import { earnEarnPositions } from "../funcs/earnEarnPositions.js";
10
11
  import { earnEarnSwap } from "../funcs/earnEarnSwap.js";
@@ -34,13 +35,12 @@ export class Earn extends ClientSDK {
34
35
  }
35
36
 
36
37
  /**
37
- * List Vaults
38
+ * List vaults
38
39
  *
39
40
  * @remarks
40
- * Fetch ERC-4626 vaults from the database with TVL and APY stats.
41
+ * List information about 4626 vaults.
41
42
  *
42
- * Returns a paginated list of ERC-4626 vaults indexed from various chains, joined with
43
- * their current statistics (TVL in USD, 7d/30d/90d APY).
43
+ * These are earn opportunities for protocols like morpho.
44
44
  */
45
45
  async earnVaults(
46
46
  request: operations.V2EarnVaultsRequest,
@@ -70,6 +70,26 @@ export class Earn extends ClientSDK {
70
70
  ));
71
71
  }
72
72
 
73
+ /**
74
+ * List all Aave markets with rates
75
+ *
76
+ * @remarks
77
+ * List all Aave markets with their supply and borrow rates.
78
+ *
79
+ * Returns rates for all supported tokens across Ethereum, Base, and Arbitrum.
80
+ * Optionally filter by chain. Uses batch_multicall for efficient RPC usage.
81
+ */
82
+ async earnListAaveMarkets(
83
+ request: operations.V2EarnListAaveMarketsRequest,
84
+ options?: RequestOptions,
85
+ ): Promise<components.ListAaveMarketsResponse> {
86
+ return unwrapAsync(earnEarnListAaveMarkets(
87
+ this,
88
+ request,
89
+ options,
90
+ ));
91
+ }
92
+
73
93
  /**
74
94
  * Create earn account
75
95
  *
@@ -1,15 +0,0 @@
1
- # V2EarnVaultsChain
2
-
3
- ## Example Usage
4
-
5
- ```typescript
6
- import { V2EarnVaultsChain } from "@compass-labs/api-sdk/models/operations";
7
-
8
- let value: V2EarnVaultsChain = "ethereum";
9
- ```
10
-
11
- ## Values
12
-
13
- ```typescript
14
- "arbitrum" | "base" | "ethereum"
15
- ```