@compass-labs/api-sdk 2.2.76-rc.1 → 2.2.76-rc.3

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 (150) hide show
  1. package/README.md +5 -3
  2. package/codeSamples_typescript.yaml +6 -0
  3. package/dist/commonjs/funcs/creditCreditLoop.d.ts +31 -0
  4. package/dist/commonjs/funcs/creditCreditLoop.d.ts.map +1 -0
  5. package/dist/commonjs/funcs/creditCreditLoop.js +132 -0
  6. package/dist/commonjs/funcs/creditCreditLoop.js.map +1 -0
  7. package/dist/commonjs/models/components/aavelooprequest.d.ts +16 -16
  8. package/dist/commonjs/models/components/aavelooprequest.d.ts.map +1 -1
  9. package/dist/commonjs/models/components/aavelooprequest.js +17 -17
  10. package/dist/commonjs/models/components/aavelooprequest.js.map +1 -1
  11. package/dist/commonjs/models/components/creditborrowparams.d.ts +5 -0
  12. package/dist/commonjs/models/components/creditborrowparams.d.ts.map +1 -1
  13. package/dist/commonjs/models/components/creditborrowparams.js +2 -0
  14. package/dist/commonjs/models/components/creditborrowparams.js.map +1 -1
  15. package/dist/commonjs/models/components/creditborrowrequest.d.ts +5 -0
  16. package/dist/commonjs/models/components/creditborrowrequest.d.ts.map +1 -1
  17. package/dist/commonjs/models/components/creditborrowrequest.js +2 -0
  18. package/dist/commonjs/models/components/creditborrowrequest.js.map +1 -1
  19. package/dist/commonjs/models/components/creditlooppreview.d.ts +45 -0
  20. package/dist/commonjs/models/components/creditlooppreview.d.ts.map +1 -0
  21. package/dist/commonjs/models/components/creditlooppreview.js +68 -0
  22. package/dist/commonjs/models/components/creditlooppreview.js.map +1 -0
  23. package/dist/commonjs/models/components/creditlooprequest.d.ts +125 -0
  24. package/dist/commonjs/models/components/creditlooprequest.d.ts.map +1 -0
  25. package/dist/commonjs/models/components/creditlooprequest.js +98 -0
  26. package/dist/commonjs/models/components/creditlooprequest.js.map +1 -0
  27. package/dist/commonjs/models/components/creditloopresponse.d.ts +27 -0
  28. package/dist/commonjs/models/components/creditloopresponse.d.ts.map +1 -0
  29. package/dist/commonjs/models/components/creditloopresponse.js +61 -0
  30. package/dist/commonjs/models/components/creditloopresponse.js.map +1 -0
  31. package/dist/commonjs/models/components/creditrepayparams.d.ts +5 -0
  32. package/dist/commonjs/models/components/creditrepayparams.d.ts.map +1 -1
  33. package/dist/commonjs/models/components/creditrepayparams.js +2 -0
  34. package/dist/commonjs/models/components/creditrepayparams.js.map +1 -1
  35. package/dist/commonjs/models/components/creditrepayrequest.d.ts +5 -0
  36. package/dist/commonjs/models/components/creditrepayrequest.d.ts.map +1 -1
  37. package/dist/commonjs/models/components/creditrepayrequest.js +2 -0
  38. package/dist/commonjs/models/components/creditrepayrequest.js.map +1 -1
  39. package/dist/commonjs/models/components/creditsupplyparams.d.ts +5 -0
  40. package/dist/commonjs/models/components/creditsupplyparams.d.ts.map +1 -1
  41. package/dist/commonjs/models/components/creditsupplyparams.js +2 -0
  42. package/dist/commonjs/models/components/creditsupplyparams.js.map +1 -1
  43. package/dist/commonjs/models/components/creditwithdrawparams.d.ts +5 -0
  44. package/dist/commonjs/models/components/creditwithdrawparams.d.ts.map +1 -1
  45. package/dist/commonjs/models/components/creditwithdrawparams.js +2 -0
  46. package/dist/commonjs/models/components/creditwithdrawparams.js.map +1 -1
  47. package/dist/commonjs/models/components/index.d.ts +4 -0
  48. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  49. package/dist/commonjs/models/components/index.js +4 -0
  50. package/dist/commonjs/models/components/index.js.map +1 -1
  51. package/dist/commonjs/models/components/looplegpreview.d.ts +24 -0
  52. package/dist/commonjs/models/components/looplegpreview.d.ts.map +1 -0
  53. package/dist/commonjs/models/components/looplegpreview.js +59 -0
  54. package/dist/commonjs/models/components/looplegpreview.js.map +1 -0
  55. package/dist/commonjs/sdk/credit.d.ts +20 -0
  56. package/dist/commonjs/sdk/credit.d.ts.map +1 -1
  57. package/dist/commonjs/sdk/credit.js +23 -0
  58. package/dist/commonjs/sdk/credit.js.map +1 -1
  59. package/dist/esm/funcs/creditCreditLoop.d.ts +31 -0
  60. package/dist/esm/funcs/creditCreditLoop.d.ts.map +1 -0
  61. package/dist/esm/funcs/creditCreditLoop.js +96 -0
  62. package/dist/esm/funcs/creditCreditLoop.js.map +1 -0
  63. package/dist/esm/models/components/aavelooprequest.d.ts +16 -16
  64. package/dist/esm/models/components/aavelooprequest.d.ts.map +1 -1
  65. package/dist/esm/models/components/aavelooprequest.js +12 -12
  66. package/dist/esm/models/components/aavelooprequest.js.map +1 -1
  67. package/dist/esm/models/components/creditborrowparams.d.ts +5 -0
  68. package/dist/esm/models/components/creditborrowparams.d.ts.map +1 -1
  69. package/dist/esm/models/components/creditborrowparams.js +2 -0
  70. package/dist/esm/models/components/creditborrowparams.js.map +1 -1
  71. package/dist/esm/models/components/creditborrowrequest.d.ts +5 -0
  72. package/dist/esm/models/components/creditborrowrequest.d.ts.map +1 -1
  73. package/dist/esm/models/components/creditborrowrequest.js +2 -0
  74. package/dist/esm/models/components/creditborrowrequest.js.map +1 -1
  75. package/dist/esm/models/components/creditlooppreview.d.ts +45 -0
  76. package/dist/esm/models/components/creditlooppreview.d.ts.map +1 -0
  77. package/dist/esm/models/components/creditlooppreview.js +31 -0
  78. package/dist/esm/models/components/creditlooppreview.js.map +1 -0
  79. package/dist/esm/models/components/creditlooprequest.d.ts +125 -0
  80. package/dist/esm/models/components/creditlooprequest.d.ts.map +1 -0
  81. package/dist/esm/models/components/creditlooprequest.js +57 -0
  82. package/dist/esm/models/components/creditlooprequest.js.map +1 -0
  83. package/dist/esm/models/components/creditloopresponse.d.ts +27 -0
  84. package/dist/esm/models/components/creditloopresponse.d.ts.map +1 -0
  85. package/dist/esm/models/components/creditloopresponse.js +24 -0
  86. package/dist/esm/models/components/creditloopresponse.js.map +1 -0
  87. package/dist/esm/models/components/creditrepayparams.d.ts +5 -0
  88. package/dist/esm/models/components/creditrepayparams.d.ts.map +1 -1
  89. package/dist/esm/models/components/creditrepayparams.js +2 -0
  90. package/dist/esm/models/components/creditrepayparams.js.map +1 -1
  91. package/dist/esm/models/components/creditrepayrequest.d.ts +5 -0
  92. package/dist/esm/models/components/creditrepayrequest.d.ts.map +1 -1
  93. package/dist/esm/models/components/creditrepayrequest.js +2 -0
  94. package/dist/esm/models/components/creditrepayrequest.js.map +1 -1
  95. package/dist/esm/models/components/creditsupplyparams.d.ts +5 -0
  96. package/dist/esm/models/components/creditsupplyparams.d.ts.map +1 -1
  97. package/dist/esm/models/components/creditsupplyparams.js +2 -0
  98. package/dist/esm/models/components/creditsupplyparams.js.map +1 -1
  99. package/dist/esm/models/components/creditwithdrawparams.d.ts +5 -0
  100. package/dist/esm/models/components/creditwithdrawparams.d.ts.map +1 -1
  101. package/dist/esm/models/components/creditwithdrawparams.js +2 -0
  102. package/dist/esm/models/components/creditwithdrawparams.js.map +1 -1
  103. package/dist/esm/models/components/index.d.ts +4 -0
  104. package/dist/esm/models/components/index.d.ts.map +1 -1
  105. package/dist/esm/models/components/index.js +4 -0
  106. package/dist/esm/models/components/index.js.map +1 -1
  107. package/dist/esm/models/components/looplegpreview.d.ts +24 -0
  108. package/dist/esm/models/components/looplegpreview.d.ts.map +1 -0
  109. package/dist/esm/models/components/looplegpreview.js +22 -0
  110. package/dist/esm/models/components/looplegpreview.js.map +1 -0
  111. package/dist/esm/sdk/credit.d.ts +20 -0
  112. package/dist/esm/sdk/credit.d.ts.map +1 -1
  113. package/dist/esm/sdk/credit.js +23 -0
  114. package/dist/esm/sdk/credit.js.map +1 -1
  115. package/docs/models/components/aavelooprequest.md +4 -4
  116. package/docs/models/components/{initialcollateralamount.md → aavelooprequestinitialcollateralamount.md} +1 -1
  117. package/docs/models/components/{loantovalue.md → aavelooprequestloantovalue.md} +1 -1
  118. package/docs/models/components/{maxslippagepercent.md → aavelooprequestmaxslippagepercent.md} +1 -1
  119. package/docs/models/components/{multiplier.md → aavelooprequestmultiplier.md} +1 -1
  120. package/docs/models/components/creditborrowparams.md +2 -1
  121. package/docs/models/components/creditborrowrequest.md +1 -0
  122. package/docs/models/components/creditlooppreview.md +33 -0
  123. package/docs/models/components/creditlooprequest.md +41 -0
  124. package/docs/models/components/creditlooprequestinitialcollateralamount.md +19 -0
  125. package/docs/models/components/creditlooprequestloantovalue.md +19 -0
  126. package/docs/models/components/creditlooprequestmaxslippagepercent.md +19 -0
  127. package/docs/models/components/creditlooprequestmultiplier.md +19 -0
  128. package/docs/models/components/creditloopresponse.md +30 -0
  129. package/docs/models/components/creditrepayparams.md +2 -1
  130. package/docs/models/components/creditrepayrequest.md +1 -0
  131. package/docs/models/components/creditsupplyparams.md +2 -1
  132. package/docs/models/components/creditwithdrawparams.md +2 -1
  133. package/docs/models/components/looplegpreview.md +21 -0
  134. package/docs/sdks/credit/README.md +106 -0
  135. package/openapi_prepped_for_speakeasy.json +408 -0
  136. package/package.json +1 -1
  137. package/src/funcs/creditCreditLoop.ts +184 -0
  138. package/src/models/components/aavelooprequest.ts +43 -30
  139. package/src/models/components/creditborrowparams.ts +7 -0
  140. package/src/models/components/creditborrowrequest.ts +7 -0
  141. package/src/models/components/creditlooppreview.ts +86 -0
  142. package/src/models/components/creditlooprequest.ts +235 -0
  143. package/src/models/components/creditloopresponse.ts +65 -0
  144. package/src/models/components/creditrepayparams.ts +7 -0
  145. package/src/models/components/creditrepayrequest.ts +7 -0
  146. package/src/models/components/creditsupplyparams.ts +7 -0
  147. package/src/models/components/creditwithdrawparams.ts +7 -0
  148. package/src/models/components/index.ts +4 -0
  149. package/src/models/components/looplegpreview.ts +54 -0
  150. package/src/sdk/credit.ts +31 -0
@@ -45,6 +45,10 @@ export type CreditWithdrawParams = {
45
45
  * Euler only: the EVK collateral vault to withdraw from. Required when protocol=EULER.
46
46
  */
47
47
  collateralVault?: string | null | undefined;
48
+ /**
49
+ * Morpho only: the bytes32 market id (from /v2/credit/morpho_markets). Required when protocol=MORPHO.
50
+ */
51
+ marketId?: string | null | undefined;
48
52
  };
49
53
 
50
54
  /** @internal */
@@ -72,6 +76,7 @@ export type CreditWithdrawParams$Outbound = {
72
76
  amount: number | string;
73
77
  protocol?: string | undefined;
74
78
  collateral_vault?: string | null | undefined;
79
+ market_id?: string | null | undefined;
75
80
  };
76
81
 
77
82
  /** @internal */
@@ -85,10 +90,12 @@ export const CreditWithdrawParams$outboundSchema: z.ZodType<
85
90
  amount: z.union([z.number(), z.string()]),
86
91
  protocol: CreditProtocol$outboundSchema.optional(),
87
92
  collateralVault: z.nullable(z.string()).optional(),
93
+ marketId: z.nullable(z.string()).optional(),
88
94
  }).transform((v) => {
89
95
  return remap$(v, {
90
96
  actionType: "action_type",
91
97
  collateralVault: "collateral_vault",
98
+ marketId: "market_id",
92
99
  });
93
100
  });
94
101
 
@@ -102,6 +102,9 @@ export * from "./creditbundleresponse.js";
102
102
  export * from "./creditenablecollateralparams.js";
103
103
  export * from "./creditevent.js";
104
104
  export * from "./creditfee.js";
105
+ export * from "./creditlooppreview.js";
106
+ export * from "./creditlooprequest.js";
107
+ export * from "./creditloopresponse.js";
105
108
  export * from "./creditpositionsresponse.js";
106
109
  export * from "./creditprotocol.js";
107
110
  export * from "./creditrepayparams.js";
@@ -182,6 +185,7 @@ export * from "./globalmarketsperpswithdrawrequest.js";
182
185
  export * from "./interestratemode.js";
183
186
  export * from "./liquidationcall.js";
184
187
  export * from "./listaavemarketsresponse.js";
188
+ export * from "./looplegpreview.js";
185
189
  export * from "./lpbalance.js";
186
190
  export * from "./marketallocation.js";
187
191
  export * from "./marketdetail.js";
@@ -0,0 +1,54 @@
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
+
11
+ /**
12
+ * One planned loop iteration.
13
+ */
14
+ export type LoopLegPreview = {
15
+ /**
16
+ * Collateral supplied this iteration (token units).
17
+ */
18
+ supplyAmount: string | null;
19
+ /**
20
+ * Loan borrowed this iteration; null on the final supply-only iteration.
21
+ */
22
+ borrowAmount?: string | null | undefined;
23
+ /**
24
+ * Guaranteed swap output (collateral units) — the next iteration's supply. Enforced on-chain by the swap's minimum-return.
25
+ */
26
+ minSwapOut?: string | null | undefined;
27
+ };
28
+
29
+ /** @internal */
30
+ export const LoopLegPreview$inboundSchema: z.ZodType<
31
+ LoopLegPreview,
32
+ z.ZodTypeDef,
33
+ unknown
34
+ > = z.object({
35
+ supply_amount: z.nullable(z.string()),
36
+ borrow_amount: z.nullable(z.string()).optional(),
37
+ min_swap_out: z.nullable(z.string()).optional(),
38
+ }).transform((v) => {
39
+ return remap$(v, {
40
+ "supply_amount": "supplyAmount",
41
+ "borrow_amount": "borrowAmount",
42
+ "min_swap_out": "minSwapOut",
43
+ });
44
+ });
45
+
46
+ export function loopLegPreviewFromJSON(
47
+ jsonString: string,
48
+ ): SafeParseResult<LoopLegPreview, SDKValidationError> {
49
+ return safeParse(
50
+ jsonString,
51
+ (x) => LoopLegPreview$inboundSchema.parse(JSON.parse(x)),
52
+ `Failed to parse 'LoopLegPreview' from JSON`,
53
+ );
54
+ }
package/src/sdk/credit.ts CHANGED
@@ -7,6 +7,7 @@ import { creditCreditBorrow } from "../funcs/creditCreditBorrow.js";
7
7
  import { creditCreditBundle } from "../funcs/creditCreditBundle.js";
8
8
  import { creditCreditCreateAccount } from "../funcs/creditCreditCreateAccount.js";
9
9
  import { creditCreditEulerMarkets } from "../funcs/creditCreditEulerMarkets.js";
10
+ import { creditCreditLoop } from "../funcs/creditCreditLoop.js";
10
11
  import { creditCreditMorphoMarkets } from "../funcs/creditCreditMorphoMarkets.js";
11
12
  import { creditCreditPositions } from "../funcs/creditCreditPositions.js";
12
13
  import { creditCreditRepay } from "../funcs/creditCreditRepay.js";
@@ -150,6 +151,36 @@ export class Credit extends ClientSDK {
150
151
  ));
151
152
  }
152
153
 
154
+ /**
155
+ * Open a leveraged loop
156
+ *
157
+ * @remarks
158
+ * Open a leveraged loop into an Aave or Morpho market in ONE atomic transaction.
159
+ *
160
+ * Repeatedly supplies collateral, borrows at the requested loan-to-value, and
161
+ * swaps the borrow back to collateral. Each iteration's supply uses the swap's
162
+ * GUARANTEED minimum output (enforced on-chain), so a fill anywhere within the
163
+ * slippage tolerance can never break a later step; any positive surplus stays
164
+ * in the Credit Account (the preview reports the bound as estimated_max_dust).
165
+ * Very large loops relative to pool depth can still exceed the slippage
166
+ * tolerance through their own cumulative price impact — size accordingly or
167
+ * raise max_slippage_percent.
168
+ *
169
+ * The Credit Account must already hold initial_collateral_amount of
170
+ * collateral_token. For protocol=MORPHO pass a market_id from
171
+ * /v2/credit/morpho_markets.
172
+ */
173
+ async creditLoop(
174
+ request: components.CreditLoopRequest,
175
+ options?: RequestOptions,
176
+ ): Promise<components.CreditLoopResponse> {
177
+ return unwrapAsync(creditCreditLoop(
178
+ this,
179
+ request,
180
+ options,
181
+ ));
182
+ }
183
+
153
184
  /**
154
185
  * Transfer tokens to/from Credit Account
155
186
  *