@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.
- package/README.md +5 -3
- package/codeSamples_typescript.yaml +6 -0
- package/dist/commonjs/funcs/creditCreditLoop.d.ts +31 -0
- package/dist/commonjs/funcs/creditCreditLoop.d.ts.map +1 -0
- package/dist/commonjs/funcs/creditCreditLoop.js +132 -0
- package/dist/commonjs/funcs/creditCreditLoop.js.map +1 -0
- package/dist/commonjs/models/components/aavelooprequest.d.ts +16 -16
- package/dist/commonjs/models/components/aavelooprequest.d.ts.map +1 -1
- package/dist/commonjs/models/components/aavelooprequest.js +17 -17
- package/dist/commonjs/models/components/aavelooprequest.js.map +1 -1
- package/dist/commonjs/models/components/creditborrowparams.d.ts +5 -0
- package/dist/commonjs/models/components/creditborrowparams.d.ts.map +1 -1
- package/dist/commonjs/models/components/creditborrowparams.js +2 -0
- package/dist/commonjs/models/components/creditborrowparams.js.map +1 -1
- package/dist/commonjs/models/components/creditborrowrequest.d.ts +5 -0
- package/dist/commonjs/models/components/creditborrowrequest.d.ts.map +1 -1
- package/dist/commonjs/models/components/creditborrowrequest.js +2 -0
- package/dist/commonjs/models/components/creditborrowrequest.js.map +1 -1
- package/dist/commonjs/models/components/creditlooppreview.d.ts +45 -0
- package/dist/commonjs/models/components/creditlooppreview.d.ts.map +1 -0
- package/dist/commonjs/models/components/creditlooppreview.js +68 -0
- package/dist/commonjs/models/components/creditlooppreview.js.map +1 -0
- package/dist/commonjs/models/components/creditlooprequest.d.ts +125 -0
- package/dist/commonjs/models/components/creditlooprequest.d.ts.map +1 -0
- package/dist/commonjs/models/components/creditlooprequest.js +98 -0
- package/dist/commonjs/models/components/creditlooprequest.js.map +1 -0
- package/dist/commonjs/models/components/creditloopresponse.d.ts +27 -0
- package/dist/commonjs/models/components/creditloopresponse.d.ts.map +1 -0
- package/dist/commonjs/models/components/creditloopresponse.js +61 -0
- package/dist/commonjs/models/components/creditloopresponse.js.map +1 -0
- package/dist/commonjs/models/components/creditrepayparams.d.ts +5 -0
- package/dist/commonjs/models/components/creditrepayparams.d.ts.map +1 -1
- package/dist/commonjs/models/components/creditrepayparams.js +2 -0
- package/dist/commonjs/models/components/creditrepayparams.js.map +1 -1
- package/dist/commonjs/models/components/creditrepayrequest.d.ts +5 -0
- package/dist/commonjs/models/components/creditrepayrequest.d.ts.map +1 -1
- package/dist/commonjs/models/components/creditrepayrequest.js +2 -0
- package/dist/commonjs/models/components/creditrepayrequest.js.map +1 -1
- package/dist/commonjs/models/components/creditsupplyparams.d.ts +5 -0
- package/dist/commonjs/models/components/creditsupplyparams.d.ts.map +1 -1
- package/dist/commonjs/models/components/creditsupplyparams.js +2 -0
- package/dist/commonjs/models/components/creditsupplyparams.js.map +1 -1
- package/dist/commonjs/models/components/creditwithdrawparams.d.ts +5 -0
- package/dist/commonjs/models/components/creditwithdrawparams.d.ts.map +1 -1
- package/dist/commonjs/models/components/creditwithdrawparams.js +2 -0
- package/dist/commonjs/models/components/creditwithdrawparams.js.map +1 -1
- package/dist/commonjs/models/components/index.d.ts +4 -0
- package/dist/commonjs/models/components/index.d.ts.map +1 -1
- package/dist/commonjs/models/components/index.js +4 -0
- package/dist/commonjs/models/components/index.js.map +1 -1
- package/dist/commonjs/models/components/looplegpreview.d.ts +24 -0
- package/dist/commonjs/models/components/looplegpreview.d.ts.map +1 -0
- package/dist/commonjs/models/components/looplegpreview.js +59 -0
- package/dist/commonjs/models/components/looplegpreview.js.map +1 -0
- package/dist/commonjs/sdk/credit.d.ts +20 -0
- package/dist/commonjs/sdk/credit.d.ts.map +1 -1
- package/dist/commonjs/sdk/credit.js +23 -0
- package/dist/commonjs/sdk/credit.js.map +1 -1
- package/dist/esm/funcs/creditCreditLoop.d.ts +31 -0
- package/dist/esm/funcs/creditCreditLoop.d.ts.map +1 -0
- package/dist/esm/funcs/creditCreditLoop.js +96 -0
- package/dist/esm/funcs/creditCreditLoop.js.map +1 -0
- package/dist/esm/models/components/aavelooprequest.d.ts +16 -16
- package/dist/esm/models/components/aavelooprequest.d.ts.map +1 -1
- package/dist/esm/models/components/aavelooprequest.js +12 -12
- package/dist/esm/models/components/aavelooprequest.js.map +1 -1
- package/dist/esm/models/components/creditborrowparams.d.ts +5 -0
- package/dist/esm/models/components/creditborrowparams.d.ts.map +1 -1
- package/dist/esm/models/components/creditborrowparams.js +2 -0
- package/dist/esm/models/components/creditborrowparams.js.map +1 -1
- package/dist/esm/models/components/creditborrowrequest.d.ts +5 -0
- package/dist/esm/models/components/creditborrowrequest.d.ts.map +1 -1
- package/dist/esm/models/components/creditborrowrequest.js +2 -0
- package/dist/esm/models/components/creditborrowrequest.js.map +1 -1
- package/dist/esm/models/components/creditlooppreview.d.ts +45 -0
- package/dist/esm/models/components/creditlooppreview.d.ts.map +1 -0
- package/dist/esm/models/components/creditlooppreview.js +31 -0
- package/dist/esm/models/components/creditlooppreview.js.map +1 -0
- package/dist/esm/models/components/creditlooprequest.d.ts +125 -0
- package/dist/esm/models/components/creditlooprequest.d.ts.map +1 -0
- package/dist/esm/models/components/creditlooprequest.js +57 -0
- package/dist/esm/models/components/creditlooprequest.js.map +1 -0
- package/dist/esm/models/components/creditloopresponse.d.ts +27 -0
- package/dist/esm/models/components/creditloopresponse.d.ts.map +1 -0
- package/dist/esm/models/components/creditloopresponse.js +24 -0
- package/dist/esm/models/components/creditloopresponse.js.map +1 -0
- package/dist/esm/models/components/creditrepayparams.d.ts +5 -0
- package/dist/esm/models/components/creditrepayparams.d.ts.map +1 -1
- package/dist/esm/models/components/creditrepayparams.js +2 -0
- package/dist/esm/models/components/creditrepayparams.js.map +1 -1
- package/dist/esm/models/components/creditrepayrequest.d.ts +5 -0
- package/dist/esm/models/components/creditrepayrequest.d.ts.map +1 -1
- package/dist/esm/models/components/creditrepayrequest.js +2 -0
- package/dist/esm/models/components/creditrepayrequest.js.map +1 -1
- package/dist/esm/models/components/creditsupplyparams.d.ts +5 -0
- package/dist/esm/models/components/creditsupplyparams.d.ts.map +1 -1
- package/dist/esm/models/components/creditsupplyparams.js +2 -0
- package/dist/esm/models/components/creditsupplyparams.js.map +1 -1
- package/dist/esm/models/components/creditwithdrawparams.d.ts +5 -0
- package/dist/esm/models/components/creditwithdrawparams.d.ts.map +1 -1
- package/dist/esm/models/components/creditwithdrawparams.js +2 -0
- package/dist/esm/models/components/creditwithdrawparams.js.map +1 -1
- package/dist/esm/models/components/index.d.ts +4 -0
- package/dist/esm/models/components/index.d.ts.map +1 -1
- package/dist/esm/models/components/index.js +4 -0
- package/dist/esm/models/components/index.js.map +1 -1
- package/dist/esm/models/components/looplegpreview.d.ts +24 -0
- package/dist/esm/models/components/looplegpreview.d.ts.map +1 -0
- package/dist/esm/models/components/looplegpreview.js +22 -0
- package/dist/esm/models/components/looplegpreview.js.map +1 -0
- package/dist/esm/sdk/credit.d.ts +20 -0
- package/dist/esm/sdk/credit.d.ts.map +1 -1
- package/dist/esm/sdk/credit.js +23 -0
- package/dist/esm/sdk/credit.js.map +1 -1
- package/docs/models/components/aavelooprequest.md +4 -4
- package/docs/models/components/{initialcollateralamount.md → aavelooprequestinitialcollateralamount.md} +1 -1
- package/docs/models/components/{loantovalue.md → aavelooprequestloantovalue.md} +1 -1
- package/docs/models/components/{maxslippagepercent.md → aavelooprequestmaxslippagepercent.md} +1 -1
- package/docs/models/components/{multiplier.md → aavelooprequestmultiplier.md} +1 -1
- package/docs/models/components/creditborrowparams.md +2 -1
- package/docs/models/components/creditborrowrequest.md +1 -0
- package/docs/models/components/creditlooppreview.md +33 -0
- package/docs/models/components/creditlooprequest.md +41 -0
- package/docs/models/components/creditlooprequestinitialcollateralamount.md +19 -0
- package/docs/models/components/creditlooprequestloantovalue.md +19 -0
- package/docs/models/components/creditlooprequestmaxslippagepercent.md +19 -0
- package/docs/models/components/creditlooprequestmultiplier.md +19 -0
- package/docs/models/components/creditloopresponse.md +30 -0
- package/docs/models/components/creditrepayparams.md +2 -1
- package/docs/models/components/creditrepayrequest.md +1 -0
- package/docs/models/components/creditsupplyparams.md +2 -1
- package/docs/models/components/creditwithdrawparams.md +2 -1
- package/docs/models/components/looplegpreview.md +21 -0
- package/docs/sdks/credit/README.md +106 -0
- package/openapi_prepped_for_speakeasy.json +408 -0
- package/package.json +1 -1
- package/src/funcs/creditCreditLoop.ts +184 -0
- package/src/models/components/aavelooprequest.ts +43 -30
- package/src/models/components/creditborrowparams.ts +7 -0
- package/src/models/components/creditborrowrequest.ts +7 -0
- package/src/models/components/creditlooppreview.ts +86 -0
- package/src/models/components/creditlooprequest.ts +235 -0
- package/src/models/components/creditloopresponse.ts +65 -0
- package/src/models/components/creditrepayparams.ts +7 -0
- package/src/models/components/creditrepayrequest.ts +7 -0
- package/src/models/components/creditsupplyparams.ts +7 -0
- package/src/models/components/creditwithdrawparams.ts +7 -0
- package/src/models/components/index.ts +4 -0
- package/src/models/components/looplegpreview.ts +54 -0
- 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
|
*
|