@compass-labs/api-sdk 0.1.5 → 0.1.7

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 (174) hide show
  1. package/README.md +7 -0
  2. package/bin/mcp-server.js +735 -308
  3. package/bin/mcp-server.js.map +21 -12
  4. package/dist/commonjs/funcs/pendleMarket.d.ts +18 -0
  5. package/dist/commonjs/funcs/pendleMarket.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/pendleMarket.js +122 -0
  7. package/dist/commonjs/funcs/pendleMarket.js.map +1 -0
  8. package/dist/commonjs/funcs/pendlePosition.d.ts +18 -0
  9. package/dist/commonjs/funcs/pendlePosition.d.ts.map +1 -0
  10. package/dist/commonjs/funcs/pendlePosition.js +122 -0
  11. package/dist/commonjs/funcs/pendlePosition.js.map +1 -0
  12. package/dist/commonjs/lib/config.d.ts +2 -2
  13. package/dist/commonjs/lib/config.js +2 -2
  14. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  15. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  16. package/dist/commonjs/mcp-server/server.js +5 -1
  17. package/dist/commonjs/mcp-server/server.js.map +1 -1
  18. package/dist/commonjs/mcp-server/tools/pendleMarket.d.ts +8 -0
  19. package/dist/commonjs/mcp-server/tools/pendleMarket.d.ts.map +1 -0
  20. package/dist/commonjs/mcp-server/tools/pendleMarket.js +64 -0
  21. package/dist/commonjs/mcp-server/tools/pendleMarket.js.map +1 -0
  22. package/dist/commonjs/mcp-server/tools/pendlePosition.d.ts +8 -0
  23. package/dist/commonjs/mcp-server/tools/pendlePosition.d.ts.map +1 -0
  24. package/dist/commonjs/mcp-server/tools/pendlePosition.js +64 -0
  25. package/dist/commonjs/mcp-server/tools/pendlePosition.js.map +1 -0
  26. package/dist/commonjs/models/components/contractname.d.ts +12 -0
  27. package/dist/commonjs/models/components/contractname.d.ts.map +1 -1
  28. package/dist/commonjs/models/components/contractname.js +4 -0
  29. package/dist/commonjs/models/components/contractname.js.map +1 -1
  30. package/dist/commonjs/models/components/erc20data.d.ts +33 -0
  31. package/dist/commonjs/models/components/erc20data.d.ts.map +1 -0
  32. package/dist/commonjs/models/components/erc20data.js +73 -0
  33. package/dist/commonjs/models/components/erc20data.js.map +1 -0
  34. package/dist/commonjs/models/components/increaseallowanceparams.d.ts +3 -0
  35. package/dist/commonjs/models/components/increaseallowanceparams.d.ts.map +1 -1
  36. package/dist/commonjs/models/components/increaseallowanceparams.js +1 -0
  37. package/dist/commonjs/models/components/increaseallowanceparams.js.map +1 -1
  38. package/dist/commonjs/models/components/increaseallowancerequest.d.ts +3 -0
  39. package/dist/commonjs/models/components/increaseallowancerequest.d.ts.map +1 -1
  40. package/dist/commonjs/models/components/increaseallowancerequest.js +1 -0
  41. package/dist/commonjs/models/components/increaseallowancerequest.js.map +1 -1
  42. package/dist/commonjs/models/components/index.d.ts +3 -0
  43. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  44. package/dist/commonjs/models/components/index.js +3 -0
  45. package/dist/commonjs/models/components/index.js.map +1 -1
  46. package/dist/commonjs/models/components/pendlegetmarketresponse.d.ts +46 -0
  47. package/dist/commonjs/models/components/pendlegetmarketresponse.d.ts.map +1 -0
  48. package/dist/commonjs/models/components/pendlegetmarketresponse.js +93 -0
  49. package/dist/commonjs/models/components/pendlegetmarketresponse.js.map +1 -0
  50. package/dist/commonjs/models/components/pendlegetuserpositionresponse.d.ts +67 -0
  51. package/dist/commonjs/models/components/pendlegetuserpositionresponse.d.ts.map +1 -0
  52. package/dist/commonjs/models/components/pendlegetuserpositionresponse.js +106 -0
  53. package/dist/commonjs/models/components/pendlegetuserpositionresponse.js.map +1 -0
  54. package/dist/commonjs/models/operations/genericallowance.d.ts +3 -0
  55. package/dist/commonjs/models/operations/genericallowance.d.ts.map +1 -1
  56. package/dist/commonjs/models/operations/genericallowance.js +1 -0
  57. package/dist/commonjs/models/operations/genericallowance.js.map +1 -1
  58. package/dist/commonjs/models/operations/index.d.ts +2 -0
  59. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  60. package/dist/commonjs/models/operations/index.js +2 -0
  61. package/dist/commonjs/models/operations/index.js.map +1 -1
  62. package/dist/commonjs/models/operations/pendlemarket.d.ts +77 -0
  63. package/dist/commonjs/models/operations/pendlemarket.d.ts.map +1 -0
  64. package/dist/commonjs/models/operations/pendlemarket.js +107 -0
  65. package/dist/commonjs/models/operations/pendlemarket.js.map +1 -0
  66. package/dist/commonjs/models/operations/pendleposition.d.ts +77 -0
  67. package/dist/commonjs/models/operations/pendleposition.d.ts.map +1 -0
  68. package/dist/commonjs/models/operations/pendleposition.js +107 -0
  69. package/dist/commonjs/models/operations/pendleposition.js.map +1 -0
  70. package/dist/commonjs/sdk/pendle.d.ts +20 -0
  71. package/dist/commonjs/sdk/pendle.d.ts.map +1 -0
  72. package/dist/commonjs/sdk/pendle.js +32 -0
  73. package/dist/commonjs/sdk/pendle.js.map +1 -0
  74. package/dist/commonjs/sdk/sdk.d.ts +3 -0
  75. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  76. package/dist/commonjs/sdk/sdk.js +4 -0
  77. package/dist/commonjs/sdk/sdk.js.map +1 -1
  78. package/dist/esm/funcs/pendleMarket.d.ts +18 -0
  79. package/dist/esm/funcs/pendleMarket.d.ts.map +1 -0
  80. package/dist/esm/funcs/pendleMarket.js +86 -0
  81. package/dist/esm/funcs/pendleMarket.js.map +1 -0
  82. package/dist/esm/funcs/pendlePosition.d.ts +18 -0
  83. package/dist/esm/funcs/pendlePosition.d.ts.map +1 -0
  84. package/dist/esm/funcs/pendlePosition.js +86 -0
  85. package/dist/esm/funcs/pendlePosition.js.map +1 -0
  86. package/dist/esm/lib/config.d.ts +2 -2
  87. package/dist/esm/lib/config.js +2 -2
  88. package/dist/esm/mcp-server/mcp-server.js +1 -1
  89. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  90. package/dist/esm/mcp-server/server.js +5 -1
  91. package/dist/esm/mcp-server/server.js.map +1 -1
  92. package/dist/esm/mcp-server/tools/pendleMarket.d.ts +8 -0
  93. package/dist/esm/mcp-server/tools/pendleMarket.d.ts.map +1 -0
  94. package/dist/esm/mcp-server/tools/pendleMarket.js +28 -0
  95. package/dist/esm/mcp-server/tools/pendleMarket.js.map +1 -0
  96. package/dist/esm/mcp-server/tools/pendlePosition.d.ts +8 -0
  97. package/dist/esm/mcp-server/tools/pendlePosition.d.ts.map +1 -0
  98. package/dist/esm/mcp-server/tools/pendlePosition.js +28 -0
  99. package/dist/esm/mcp-server/tools/pendlePosition.js.map +1 -0
  100. package/dist/esm/models/components/contractname.d.ts +12 -0
  101. package/dist/esm/models/components/contractname.d.ts.map +1 -1
  102. package/dist/esm/models/components/contractname.js +4 -0
  103. package/dist/esm/models/components/contractname.js.map +1 -1
  104. package/dist/esm/models/components/erc20data.d.ts +33 -0
  105. package/dist/esm/models/components/erc20data.d.ts.map +1 -0
  106. package/dist/esm/models/components/erc20data.js +35 -0
  107. package/dist/esm/models/components/erc20data.js.map +1 -0
  108. package/dist/esm/models/components/increaseallowanceparams.d.ts +3 -0
  109. package/dist/esm/models/components/increaseallowanceparams.d.ts.map +1 -1
  110. package/dist/esm/models/components/increaseallowanceparams.js +1 -0
  111. package/dist/esm/models/components/increaseallowanceparams.js.map +1 -1
  112. package/dist/esm/models/components/increaseallowancerequest.d.ts +3 -0
  113. package/dist/esm/models/components/increaseallowancerequest.d.ts.map +1 -1
  114. package/dist/esm/models/components/increaseallowancerequest.js +1 -0
  115. package/dist/esm/models/components/increaseallowancerequest.js.map +1 -1
  116. package/dist/esm/models/components/index.d.ts +3 -0
  117. package/dist/esm/models/components/index.d.ts.map +1 -1
  118. package/dist/esm/models/components/index.js +3 -0
  119. package/dist/esm/models/components/index.js.map +1 -1
  120. package/dist/esm/models/components/pendlegetmarketresponse.d.ts +46 -0
  121. package/dist/esm/models/components/pendlegetmarketresponse.d.ts.map +1 -0
  122. package/dist/esm/models/components/pendlegetmarketresponse.js +55 -0
  123. package/dist/esm/models/components/pendlegetmarketresponse.js.map +1 -0
  124. package/dist/esm/models/components/pendlegetuserpositionresponse.d.ts +67 -0
  125. package/dist/esm/models/components/pendlegetuserpositionresponse.d.ts.map +1 -0
  126. package/dist/esm/models/components/pendlegetuserpositionresponse.js +68 -0
  127. package/dist/esm/models/components/pendlegetuserpositionresponse.js.map +1 -0
  128. package/dist/esm/models/operations/genericallowance.d.ts +3 -0
  129. package/dist/esm/models/operations/genericallowance.d.ts.map +1 -1
  130. package/dist/esm/models/operations/genericallowance.js +1 -0
  131. package/dist/esm/models/operations/genericallowance.js.map +1 -1
  132. package/dist/esm/models/operations/index.d.ts +2 -0
  133. package/dist/esm/models/operations/index.d.ts.map +1 -1
  134. package/dist/esm/models/operations/index.js +2 -0
  135. package/dist/esm/models/operations/index.js.map +1 -1
  136. package/dist/esm/models/operations/pendlemarket.d.ts +77 -0
  137. package/dist/esm/models/operations/pendlemarket.d.ts.map +1 -0
  138. package/dist/esm/models/operations/pendlemarket.js +69 -0
  139. package/dist/esm/models/operations/pendlemarket.js.map +1 -0
  140. package/dist/esm/models/operations/pendleposition.d.ts +77 -0
  141. package/dist/esm/models/operations/pendleposition.d.ts.map +1 -0
  142. package/dist/esm/models/operations/pendleposition.js +69 -0
  143. package/dist/esm/models/operations/pendleposition.js.map +1 -0
  144. package/dist/esm/sdk/pendle.d.ts +20 -0
  145. package/dist/esm/sdk/pendle.d.ts.map +1 -0
  146. package/dist/esm/sdk/pendle.js +28 -0
  147. package/dist/esm/sdk/pendle.js.map +1 -0
  148. package/dist/esm/sdk/sdk.d.ts +3 -0
  149. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  150. package/dist/esm/sdk/sdk.js +4 -0
  151. package/dist/esm/sdk/sdk.js.map +1 -1
  152. package/docs/sdks/pendle/README.md +171 -0
  153. package/jsr.json +1 -1
  154. package/package.json +1 -1
  155. package/src/funcs/pendleMarket.ts +170 -0
  156. package/src/funcs/pendlePosition.ts +170 -0
  157. package/src/lib/config.ts +2 -2
  158. package/src/mcp-server/mcp-server.ts +1 -1
  159. package/src/mcp-server/server.ts +5 -1
  160. package/src/mcp-server/tools/pendleMarket.ts +37 -0
  161. package/src/mcp-server/tools/pendlePosition.ts +37 -0
  162. package/src/models/components/contractname.ts +4 -0
  163. package/src/models/components/erc20data.ts +70 -0
  164. package/src/models/components/increaseallowanceparams.ts +1 -0
  165. package/src/models/components/increaseallowancerequest.ts +1 -0
  166. package/src/models/components/index.ts +3 -0
  167. package/src/models/components/pendlegetmarketresponse.ts +113 -0
  168. package/src/models/components/pendlegetuserpositionresponse.ts +145 -0
  169. package/src/models/operations/genericallowance.ts +1 -0
  170. package/src/models/operations/index.ts +2 -0
  171. package/src/models/operations/pendlemarket.ts +135 -0
  172. package/src/models/operations/pendleposition.ts +135 -0
  173. package/src/sdk/pendle.ts +46 -0
  174. package/src/sdk/sdk.ts +6 -0
@@ -0,0 +1,145 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
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
+
11
+ export type PendleGetUserPositionResponse = {
12
+ /**
13
+ * The amount of yield that can be claimed in the underlying token.
14
+ */
15
+ claimableYield: string;
16
+ /**
17
+ * The amount of SY tokens the user currently holds.
18
+ */
19
+ syBalance: string;
20
+ /**
21
+ * The amount of PT tokens the user currently holds.
22
+ */
23
+ ptBalance: string;
24
+ /**
25
+ * The amount of YT tokens the user currently holds.
26
+ */
27
+ ytBalance: string;
28
+ /**
29
+ * The amount of underlying tokens the user currently holds.
30
+ */
31
+ underlyingTokenBalance: string;
32
+ /**
33
+ * The name of the underlying token.
34
+ */
35
+ underlyingTokenName: string;
36
+ /**
37
+ * The symbol of the underlying token.
38
+ */
39
+ underlyingTokenSymbol: string;
40
+ /**
41
+ * The maturity date of the market. ISO 8601 format. UTC timezone.
42
+ */
43
+ maturityDate: Date;
44
+ };
45
+
46
+ /** @internal */
47
+ export const PendleGetUserPositionResponse$inboundSchema: z.ZodType<
48
+ PendleGetUserPositionResponse,
49
+ z.ZodTypeDef,
50
+ unknown
51
+ > = z.object({
52
+ claimable_yield: z.string(),
53
+ sy_balance: z.string(),
54
+ pt_balance: z.string(),
55
+ yt_balance: z.string(),
56
+ underlying_token_balance: z.string(),
57
+ underlying_token_name: z.string(),
58
+ underlying_token_symbol: z.string(),
59
+ maturity_date: z.string().datetime({ offset: true }).transform(v =>
60
+ new Date(v)
61
+ ),
62
+ }).transform((v) => {
63
+ return remap$(v, {
64
+ "claimable_yield": "claimableYield",
65
+ "sy_balance": "syBalance",
66
+ "pt_balance": "ptBalance",
67
+ "yt_balance": "ytBalance",
68
+ "underlying_token_balance": "underlyingTokenBalance",
69
+ "underlying_token_name": "underlyingTokenName",
70
+ "underlying_token_symbol": "underlyingTokenSymbol",
71
+ "maturity_date": "maturityDate",
72
+ });
73
+ });
74
+
75
+ /** @internal */
76
+ export type PendleGetUserPositionResponse$Outbound = {
77
+ claimable_yield: string;
78
+ sy_balance: string;
79
+ pt_balance: string;
80
+ yt_balance: string;
81
+ underlying_token_balance: string;
82
+ underlying_token_name: string;
83
+ underlying_token_symbol: string;
84
+ maturity_date: string;
85
+ };
86
+
87
+ /** @internal */
88
+ export const PendleGetUserPositionResponse$outboundSchema: z.ZodType<
89
+ PendleGetUserPositionResponse$Outbound,
90
+ z.ZodTypeDef,
91
+ PendleGetUserPositionResponse
92
+ > = z.object({
93
+ claimableYield: z.string(),
94
+ syBalance: z.string(),
95
+ ptBalance: z.string(),
96
+ ytBalance: z.string(),
97
+ underlyingTokenBalance: z.string(),
98
+ underlyingTokenName: z.string(),
99
+ underlyingTokenSymbol: z.string(),
100
+ maturityDate: z.date().transform(v => v.toISOString()),
101
+ }).transform((v) => {
102
+ return remap$(v, {
103
+ claimableYield: "claimable_yield",
104
+ syBalance: "sy_balance",
105
+ ptBalance: "pt_balance",
106
+ ytBalance: "yt_balance",
107
+ underlyingTokenBalance: "underlying_token_balance",
108
+ underlyingTokenName: "underlying_token_name",
109
+ underlyingTokenSymbol: "underlying_token_symbol",
110
+ maturityDate: "maturity_date",
111
+ });
112
+ });
113
+
114
+ /**
115
+ * @internal
116
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
117
+ */
118
+ export namespace PendleGetUserPositionResponse$ {
119
+ /** @deprecated use `PendleGetUserPositionResponse$inboundSchema` instead. */
120
+ export const inboundSchema = PendleGetUserPositionResponse$inboundSchema;
121
+ /** @deprecated use `PendleGetUserPositionResponse$outboundSchema` instead. */
122
+ export const outboundSchema = PendleGetUserPositionResponse$outboundSchema;
123
+ /** @deprecated use `PendleGetUserPositionResponse$Outbound` instead. */
124
+ export type Outbound = PendleGetUserPositionResponse$Outbound;
125
+ }
126
+
127
+ export function pendleGetUserPositionResponseToJSON(
128
+ pendleGetUserPositionResponse: PendleGetUserPositionResponse,
129
+ ): string {
130
+ return JSON.stringify(
131
+ PendleGetUserPositionResponse$outboundSchema.parse(
132
+ pendleGetUserPositionResponse,
133
+ ),
134
+ );
135
+ }
136
+
137
+ export function pendleGetUserPositionResponseFromJSON(
138
+ jsonString: string,
139
+ ): SafeParseResult<PendleGetUserPositionResponse, SDKValidationError> {
140
+ return safeParse(
141
+ jsonString,
142
+ (x) => PendleGetUserPositionResponse$inboundSchema.parse(JSON.parse(x)),
143
+ `Failed to parse 'PendleGetUserPositionResponse' from JSON`,
144
+ );
145
+ }
@@ -101,6 +101,7 @@ export const ContractName = {
101
101
  SkyDaiUsdsConverter: "SkyDaiUsdsConverter",
102
102
  SkyUsdcUsdsConverter: "SkyUsdcUsdsConverter",
103
103
  SkyUsdsVault: "SkyUsdsVault",
104
+ PendleRouter: "PendleRouter",
104
105
  } as const;
105
106
  /**
106
107
  * The name of the contract to check allowance for.
@@ -25,6 +25,8 @@ export * from "./morphouserposition.js";
25
25
  export * from "./morphovault.js";
26
26
  export * from "./morphovaultposition.js";
27
27
  export * from "./morphovaults.js";
28
+ export * from "./pendlemarket.js";
29
+ export * from "./pendleposition.js";
28
30
  export * from "./skyposition.js";
29
31
  export * from "./tokenaddress.js";
30
32
  export * from "./tokenbalance.js";
@@ -0,0 +1,135 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { ClosedEnum } from "../../types/enums.js";
9
+ import { Result as SafeParseResult } from "../../types/fp.js";
10
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
11
+
12
+ /**
13
+ * The chain to use.
14
+ */
15
+ export const PendleMarketChain = {
16
+ BaseMainnet: "base:mainnet",
17
+ EthereumMainnet: "ethereum:mainnet",
18
+ ArbitrumMainnet: "arbitrum:mainnet",
19
+ } as const;
20
+ /**
21
+ * The chain to use.
22
+ */
23
+ export type PendleMarketChain = ClosedEnum<typeof PendleMarketChain>;
24
+
25
+ export type PendleMarketRequest = {
26
+ /**
27
+ * The chain to use.
28
+ */
29
+ chain?: PendleMarketChain | undefined;
30
+ /**
31
+ * The user address of the desired position.
32
+ */
33
+ userAddress?: string | undefined;
34
+ /**
35
+ * The market address of the desired position.
36
+ */
37
+ marketAddress?: string | undefined;
38
+ };
39
+
40
+ /** @internal */
41
+ export const PendleMarketChain$inboundSchema: z.ZodNativeEnum<
42
+ typeof PendleMarketChain
43
+ > = z.nativeEnum(PendleMarketChain);
44
+
45
+ /** @internal */
46
+ export const PendleMarketChain$outboundSchema: z.ZodNativeEnum<
47
+ typeof PendleMarketChain
48
+ > = PendleMarketChain$inboundSchema;
49
+
50
+ /**
51
+ * @internal
52
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
53
+ */
54
+ export namespace PendleMarketChain$ {
55
+ /** @deprecated use `PendleMarketChain$inboundSchema` instead. */
56
+ export const inboundSchema = PendleMarketChain$inboundSchema;
57
+ /** @deprecated use `PendleMarketChain$outboundSchema` instead. */
58
+ export const outboundSchema = PendleMarketChain$outboundSchema;
59
+ }
60
+
61
+ /** @internal */
62
+ export const PendleMarketRequest$inboundSchema: z.ZodType<
63
+ PendleMarketRequest,
64
+ z.ZodTypeDef,
65
+ unknown
66
+ > = z.object({
67
+ chain: PendleMarketChain$inboundSchema.default("ethereum:mainnet"),
68
+ user_address: z.string().default(
69
+ "0xa829B388A3DF7f581cE957a95edbe419dd146d1B",
70
+ ),
71
+ market_address: z.string().default(
72
+ "0xdace1121e10500e9e29d071f01593fd76b000f08",
73
+ ),
74
+ }).transform((v) => {
75
+ return remap$(v, {
76
+ "user_address": "userAddress",
77
+ "market_address": "marketAddress",
78
+ });
79
+ });
80
+
81
+ /** @internal */
82
+ export type PendleMarketRequest$Outbound = {
83
+ chain: string;
84
+ user_address: string;
85
+ market_address: string;
86
+ };
87
+
88
+ /** @internal */
89
+ export const PendleMarketRequest$outboundSchema: z.ZodType<
90
+ PendleMarketRequest$Outbound,
91
+ z.ZodTypeDef,
92
+ PendleMarketRequest
93
+ > = z.object({
94
+ chain: PendleMarketChain$outboundSchema.default("ethereum:mainnet"),
95
+ userAddress: z.string().default("0xa829B388A3DF7f581cE957a95edbe419dd146d1B"),
96
+ marketAddress: z.string().default(
97
+ "0xdace1121e10500e9e29d071f01593fd76b000f08",
98
+ ),
99
+ }).transform((v) => {
100
+ return remap$(v, {
101
+ userAddress: "user_address",
102
+ marketAddress: "market_address",
103
+ });
104
+ });
105
+
106
+ /**
107
+ * @internal
108
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
109
+ */
110
+ export namespace PendleMarketRequest$ {
111
+ /** @deprecated use `PendleMarketRequest$inboundSchema` instead. */
112
+ export const inboundSchema = PendleMarketRequest$inboundSchema;
113
+ /** @deprecated use `PendleMarketRequest$outboundSchema` instead. */
114
+ export const outboundSchema = PendleMarketRequest$outboundSchema;
115
+ /** @deprecated use `PendleMarketRequest$Outbound` instead. */
116
+ export type Outbound = PendleMarketRequest$Outbound;
117
+ }
118
+
119
+ export function pendleMarketRequestToJSON(
120
+ pendleMarketRequest: PendleMarketRequest,
121
+ ): string {
122
+ return JSON.stringify(
123
+ PendleMarketRequest$outboundSchema.parse(pendleMarketRequest),
124
+ );
125
+ }
126
+
127
+ export function pendleMarketRequestFromJSON(
128
+ jsonString: string,
129
+ ): SafeParseResult<PendleMarketRequest, SDKValidationError> {
130
+ return safeParse(
131
+ jsonString,
132
+ (x) => PendleMarketRequest$inboundSchema.parse(JSON.parse(x)),
133
+ `Failed to parse 'PendleMarketRequest' from JSON`,
134
+ );
135
+ }
@@ -0,0 +1,135 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { ClosedEnum } from "../../types/enums.js";
9
+ import { Result as SafeParseResult } from "../../types/fp.js";
10
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
11
+
12
+ /**
13
+ * The chain to use.
14
+ */
15
+ export const PendlePositionChain = {
16
+ BaseMainnet: "base:mainnet",
17
+ EthereumMainnet: "ethereum:mainnet",
18
+ ArbitrumMainnet: "arbitrum:mainnet",
19
+ } as const;
20
+ /**
21
+ * The chain to use.
22
+ */
23
+ export type PendlePositionChain = ClosedEnum<typeof PendlePositionChain>;
24
+
25
+ export type PendlePositionRequest = {
26
+ /**
27
+ * The chain to use.
28
+ */
29
+ chain?: PendlePositionChain | undefined;
30
+ /**
31
+ * The user address of the desired position.
32
+ */
33
+ userAddress?: string | undefined;
34
+ /**
35
+ * The market address of the desired position.
36
+ */
37
+ marketAddress?: string | undefined;
38
+ };
39
+
40
+ /** @internal */
41
+ export const PendlePositionChain$inboundSchema: z.ZodNativeEnum<
42
+ typeof PendlePositionChain
43
+ > = z.nativeEnum(PendlePositionChain);
44
+
45
+ /** @internal */
46
+ export const PendlePositionChain$outboundSchema: z.ZodNativeEnum<
47
+ typeof PendlePositionChain
48
+ > = PendlePositionChain$inboundSchema;
49
+
50
+ /**
51
+ * @internal
52
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
53
+ */
54
+ export namespace PendlePositionChain$ {
55
+ /** @deprecated use `PendlePositionChain$inboundSchema` instead. */
56
+ export const inboundSchema = PendlePositionChain$inboundSchema;
57
+ /** @deprecated use `PendlePositionChain$outboundSchema` instead. */
58
+ export const outboundSchema = PendlePositionChain$outboundSchema;
59
+ }
60
+
61
+ /** @internal */
62
+ export const PendlePositionRequest$inboundSchema: z.ZodType<
63
+ PendlePositionRequest,
64
+ z.ZodTypeDef,
65
+ unknown
66
+ > = z.object({
67
+ chain: PendlePositionChain$inboundSchema.default("ethereum:mainnet"),
68
+ user_address: z.string().default(
69
+ "0xa829B388A3DF7f581cE957a95edbe419dd146d1B",
70
+ ),
71
+ market_address: z.string().default(
72
+ "0xdace1121e10500e9e29d071f01593fd76b000f08",
73
+ ),
74
+ }).transform((v) => {
75
+ return remap$(v, {
76
+ "user_address": "userAddress",
77
+ "market_address": "marketAddress",
78
+ });
79
+ });
80
+
81
+ /** @internal */
82
+ export type PendlePositionRequest$Outbound = {
83
+ chain: string;
84
+ user_address: string;
85
+ market_address: string;
86
+ };
87
+
88
+ /** @internal */
89
+ export const PendlePositionRequest$outboundSchema: z.ZodType<
90
+ PendlePositionRequest$Outbound,
91
+ z.ZodTypeDef,
92
+ PendlePositionRequest
93
+ > = z.object({
94
+ chain: PendlePositionChain$outboundSchema.default("ethereum:mainnet"),
95
+ userAddress: z.string().default("0xa829B388A3DF7f581cE957a95edbe419dd146d1B"),
96
+ marketAddress: z.string().default(
97
+ "0xdace1121e10500e9e29d071f01593fd76b000f08",
98
+ ),
99
+ }).transform((v) => {
100
+ return remap$(v, {
101
+ userAddress: "user_address",
102
+ marketAddress: "market_address",
103
+ });
104
+ });
105
+
106
+ /**
107
+ * @internal
108
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
109
+ */
110
+ export namespace PendlePositionRequest$ {
111
+ /** @deprecated use `PendlePositionRequest$inboundSchema` instead. */
112
+ export const inboundSchema = PendlePositionRequest$inboundSchema;
113
+ /** @deprecated use `PendlePositionRequest$outboundSchema` instead. */
114
+ export const outboundSchema = PendlePositionRequest$outboundSchema;
115
+ /** @deprecated use `PendlePositionRequest$Outbound` instead. */
116
+ export type Outbound = PendlePositionRequest$Outbound;
117
+ }
118
+
119
+ export function pendlePositionRequestToJSON(
120
+ pendlePositionRequest: PendlePositionRequest,
121
+ ): string {
122
+ return JSON.stringify(
123
+ PendlePositionRequest$outboundSchema.parse(pendlePositionRequest),
124
+ );
125
+ }
126
+
127
+ export function pendlePositionRequestFromJSON(
128
+ jsonString: string,
129
+ ): SafeParseResult<PendlePositionRequest, SDKValidationError> {
130
+ return safeParse(
131
+ jsonString,
132
+ (x) => PendlePositionRequest$inboundSchema.parse(JSON.parse(x)),
133
+ `Failed to parse 'PendlePositionRequest' from JSON`,
134
+ );
135
+ }
@@ -0,0 +1,46 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { pendleMarket } from "../funcs/pendleMarket.js";
6
+ import { pendlePosition } from "../funcs/pendlePosition.js";
7
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
8
+ import * as components from "../models/components/index.js";
9
+ import * as operations from "../models/operations/index.js";
10
+ import { unwrapAsync } from "../types/fp.js";
11
+
12
+ export class Pendle extends ClientSDK {
13
+ /**
14
+ * Check User's Market Position
15
+ *
16
+ * @remarks
17
+ * Check the SY, PT, and YT positions for a given market.
18
+ */
19
+ async position(
20
+ request: operations.PendlePositionRequest,
21
+ options?: RequestOptions,
22
+ ): Promise<components.PendleGetUserPositionResponse> {
23
+ return unwrapAsync(pendlePosition(
24
+ this,
25
+ request,
26
+ options,
27
+ ));
28
+ }
29
+
30
+ /**
31
+ * Get Market Data
32
+ *
33
+ * @remarks
34
+ * Get market data.
35
+ */
36
+ async market(
37
+ request: operations.PendleMarketRequest,
38
+ options?: RequestOptions,
39
+ ): Promise<components.PendleGetMarketResponse> {
40
+ return unwrapAsync(pendleMarket(
41
+ this,
42
+ request,
43
+ options,
44
+ ));
45
+ }
46
+ }
package/src/sdk/sdk.ts CHANGED
@@ -6,6 +6,7 @@ import { ClientSDK } from "../lib/sdks.js";
6
6
  import { AaveV3 } from "./aavev3.js";
7
7
  import { AerodromeSlipstream } from "./aerodromeslipstream.js";
8
8
  import { Morpho } from "./morpho.js";
9
+ import { Pendle } from "./pendle.js";
9
10
  import { Sky } from "./sky.js";
10
11
  import { SmartAccount } from "./smartaccount.js";
11
12
  import { Token } from "./token.js";
@@ -51,6 +52,11 @@ export class CompassApiSDK extends ClientSDK {
51
52
  return (this._universal ??= new Universal(this._options));
52
53
  }
53
54
 
55
+ private _pendle?: Pendle;
56
+ get pendle(): Pendle {
57
+ return (this._pendle ??= new Pendle(this._options));
58
+ }
59
+
54
60
  private _transactionBatching?: TransactionBatching;
55
61
  get transactionBatching(): TransactionBatching {
56
62
  return (this._transactionBatching ??= new TransactionBatching(