@compass-labs/api-sdk 2.1.20 → 2.1.21-rc.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.
Files changed (78) hide show
  1. package/README.md +3 -1
  2. package/codeSamples_typescript.yaml +6 -0
  3. package/dist/commonjs/funcs/aaveV3AaveSetUserEmode.d.ts +24 -0
  4. package/dist/commonjs/funcs/aaveV3AaveSetUserEmode.d.ts.map +1 -0
  5. package/dist/commonjs/funcs/aaveV3AaveSetUserEmode.js +124 -0
  6. package/dist/commonjs/funcs/aaveV3AaveSetUserEmode.js.map +1 -0
  7. package/dist/commonjs/lib/config.d.ts +2 -2
  8. package/dist/commonjs/lib/config.js +2 -2
  9. package/dist/commonjs/models/components/aavelooprequest.d.ts +5 -0
  10. package/dist/commonjs/models/components/aavelooprequest.d.ts.map +1 -1
  11. package/dist/commonjs/models/components/aavelooprequest.js +2 -0
  12. package/dist/commonjs/models/components/aavelooprequest.js.map +1 -1
  13. package/dist/commonjs/models/components/aavesetuseremodeparams.d.ts +17 -0
  14. package/dist/commonjs/models/components/aavesetuseremodeparams.d.ts.map +1 -0
  15. package/dist/commonjs/models/components/aavesetuseremodeparams.js +56 -0
  16. package/dist/commonjs/models/components/aavesetuseremodeparams.js.map +1 -0
  17. package/dist/commonjs/models/components/aavesetuseremoderequest.d.ts +38 -0
  18. package/dist/commonjs/models/components/aavesetuseremoderequest.d.ts.map +1 -0
  19. package/dist/commonjs/models/components/aavesetuseremoderequest.js +67 -0
  20. package/dist/commonjs/models/components/aavesetuseremoderequest.js.map +1 -0
  21. package/dist/commonjs/models/components/index.d.ts +2 -0
  22. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  23. package/dist/commonjs/models/components/index.js +2 -0
  24. package/dist/commonjs/models/components/index.js.map +1 -1
  25. package/dist/commonjs/models/components/useroperation.d.ts +5 -4
  26. package/dist/commonjs/models/components/useroperation.d.ts.map +1 -1
  27. package/dist/commonjs/models/components/useroperation.js +3 -0
  28. package/dist/commonjs/models/components/useroperation.js.map +1 -1
  29. package/dist/commonjs/sdk/aavev3.d.ts +13 -0
  30. package/dist/commonjs/sdk/aavev3.d.ts.map +1 -1
  31. package/dist/commonjs/sdk/aavev3.js +16 -0
  32. package/dist/commonjs/sdk/aavev3.js.map +1 -1
  33. package/dist/esm/funcs/aaveV3AaveSetUserEmode.d.ts +24 -0
  34. package/dist/esm/funcs/aaveV3AaveSetUserEmode.d.ts.map +1 -0
  35. package/dist/esm/funcs/aaveV3AaveSetUserEmode.js +88 -0
  36. package/dist/esm/funcs/aaveV3AaveSetUserEmode.js.map +1 -0
  37. package/dist/esm/lib/config.d.ts +2 -2
  38. package/dist/esm/lib/config.js +2 -2
  39. package/dist/esm/models/components/aavelooprequest.d.ts +5 -0
  40. package/dist/esm/models/components/aavelooprequest.d.ts.map +1 -1
  41. package/dist/esm/models/components/aavelooprequest.js +2 -0
  42. package/dist/esm/models/components/aavelooprequest.js.map +1 -1
  43. package/dist/esm/models/components/aavesetuseremodeparams.d.ts +17 -0
  44. package/dist/esm/models/components/aavesetuseremodeparams.d.ts.map +1 -0
  45. package/dist/esm/models/components/aavesetuseremodeparams.js +19 -0
  46. package/dist/esm/models/components/aavesetuseremodeparams.js.map +1 -0
  47. package/dist/esm/models/components/aavesetuseremoderequest.d.ts +38 -0
  48. package/dist/esm/models/components/aavesetuseremoderequest.d.ts.map +1 -0
  49. package/dist/esm/models/components/aavesetuseremoderequest.js +30 -0
  50. package/dist/esm/models/components/aavesetuseremoderequest.js.map +1 -0
  51. package/dist/esm/models/components/index.d.ts +2 -0
  52. package/dist/esm/models/components/index.d.ts.map +1 -1
  53. package/dist/esm/models/components/index.js +2 -0
  54. package/dist/esm/models/components/index.js.map +1 -1
  55. package/dist/esm/models/components/useroperation.d.ts +5 -4
  56. package/dist/esm/models/components/useroperation.d.ts.map +1 -1
  57. package/dist/esm/models/components/useroperation.js +3 -0
  58. package/dist/esm/models/components/useroperation.js.map +1 -1
  59. package/dist/esm/sdk/aavev3.d.ts +13 -0
  60. package/dist/esm/sdk/aavev3.d.ts.map +1 -1
  61. package/dist/esm/sdk/aavev3.js +16 -0
  62. package/dist/esm/sdk/aavev3.js.map +1 -1
  63. package/docs/models/components/aavelooprequest.md +1 -0
  64. package/docs/models/components/aavesetuseremodeparams.md +19 -0
  65. package/docs/models/components/aavesetuseremoderequest.md +23 -0
  66. package/docs/models/components/aavesetuseremoderequestchain.md +15 -0
  67. package/docs/models/components/useroperation.md +2 -2
  68. package/docs/models/components/useroperationbody.md +9 -0
  69. package/docs/sdks/aavev3/README.md +85 -0
  70. package/package.json +1 -1
  71. package/src/funcs/aaveV3AaveSetUserEmode.ts +175 -0
  72. package/src/lib/config.ts +2 -2
  73. package/src/models/components/aavelooprequest.ts +7 -0
  74. package/src/models/components/aavesetuseremodeparams.ts +43 -0
  75. package/src/models/components/aavesetuseremoderequest.ts +74 -0
  76. package/src/models/components/index.ts +2 -0
  77. package/src/models/components/useroperation.ts +11 -0
  78. package/src/sdk/aavev3.ts +24 -0
@@ -79,6 +79,10 @@ export type AaveLoopRequest = {
79
79
  * Loan To Value percentage of the loop
80
80
  */
81
81
  loanToValue: number | string;
82
+ /**
83
+ * Aave E-Mode category ID to set before executing the loop. If not provided, E-Mode will not be changed.
84
+ */
85
+ emodeCategory?: number | null | undefined;
82
86
  /**
83
87
  * Whether to use account abstraction for the transaction.
84
88
  */
@@ -166,6 +170,7 @@ export type AaveLoopRequest$Outbound = {
166
170
  multiplier: number | string;
167
171
  max_slippage_percent: number | string;
168
172
  loan_to_value: number | string;
173
+ emode_category?: number | null | undefined;
169
174
  is_account_abstraction?: boolean | undefined;
170
175
  };
171
176
 
@@ -186,6 +191,7 @@ export const AaveLoopRequest$outboundSchema: z.ZodType<
186
191
  multiplier: z.union([z.number(), z.string()]),
187
192
  maxSlippagePercent: z.union([z.number(), z.string()]),
188
193
  loanToValue: z.union([z.number(), z.string()]),
194
+ emodeCategory: z.nullable(z.number().int()).optional(),
189
195
  isAccountAbstraction: z.boolean().optional(),
190
196
  }).transform((v) => {
191
197
  return remap$(v, {
@@ -196,6 +202,7 @@ export const AaveLoopRequest$outboundSchema: z.ZodType<
196
202
  initialCollateralAmount: "initial_collateral_amount",
197
203
  maxSlippagePercent: "max_slippage_percent",
198
204
  loanToValue: "loan_to_value",
205
+ emodeCategory: "emode_category",
199
206
  isAccountAbstraction: "is_account_abstraction",
200
207
  });
201
208
  });
@@ -0,0 +1,43 @@
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
+
8
+ export type AaveSetUserEModeParams = {
9
+ actionType: "AAVE_SET_USER_EMODE";
10
+ /**
11
+ * The eMode category ID to set for the user. 0 = no eMode, 1+ = specific eMode category.
12
+ */
13
+ categoryId: number;
14
+ };
15
+
16
+ /** @internal */
17
+ export type AaveSetUserEModeParams$Outbound = {
18
+ action_type: "AAVE_SET_USER_EMODE";
19
+ category_id: number;
20
+ };
21
+
22
+ /** @internal */
23
+ export const AaveSetUserEModeParams$outboundSchema: z.ZodType<
24
+ AaveSetUserEModeParams$Outbound,
25
+ z.ZodTypeDef,
26
+ AaveSetUserEModeParams
27
+ > = z.object({
28
+ actionType: z.literal("AAVE_SET_USER_EMODE"),
29
+ categoryId: z.number().int(),
30
+ }).transform((v) => {
31
+ return remap$(v, {
32
+ actionType: "action_type",
33
+ categoryId: "category_id",
34
+ });
35
+ });
36
+
37
+ export function aaveSetUserEModeParamsToJSON(
38
+ aaveSetUserEModeParams: AaveSetUserEModeParams,
39
+ ): string {
40
+ return JSON.stringify(
41
+ AaveSetUserEModeParams$outboundSchema.parse(aaveSetUserEModeParams),
42
+ );
43
+ }
@@ -0,0 +1,74 @@
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 { ClosedEnum } from "../../types/enums.js";
8
+
9
+ export const AaveSetUserEModeRequestChain = {
10
+ Arbitrum: "arbitrum",
11
+ Base: "base",
12
+ Ethereum: "ethereum",
13
+ } as const;
14
+ export type AaveSetUserEModeRequestChain = ClosedEnum<
15
+ typeof AaveSetUserEModeRequestChain
16
+ >;
17
+
18
+ export type AaveSetUserEModeRequest = {
19
+ actionType?: "AAVE_SET_USER_EMODE" | undefined;
20
+ /**
21
+ * The eMode category ID to set for the user. 0 = no eMode, 1+ = specific eMode category.
22
+ */
23
+ categoryId: number;
24
+ chain: AaveSetUserEModeRequestChain;
25
+ /**
26
+ * The address of the transaction sender.
27
+ */
28
+ sender: string;
29
+ /**
30
+ * Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.
31
+ */
32
+ estimateGas?: boolean | undefined;
33
+ };
34
+
35
+ /** @internal */
36
+ export const AaveSetUserEModeRequestChain$outboundSchema: z.ZodNativeEnum<
37
+ typeof AaveSetUserEModeRequestChain
38
+ > = z.nativeEnum(AaveSetUserEModeRequestChain);
39
+
40
+ /** @internal */
41
+ export type AaveSetUserEModeRequest$Outbound = {
42
+ action_type?: "AAVE_SET_USER_EMODE" | undefined;
43
+ category_id: number;
44
+ chain: string;
45
+ sender: string;
46
+ estimate_gas?: boolean | undefined;
47
+ };
48
+
49
+ /** @internal */
50
+ export const AaveSetUserEModeRequest$outboundSchema: z.ZodType<
51
+ AaveSetUserEModeRequest$Outbound,
52
+ z.ZodTypeDef,
53
+ AaveSetUserEModeRequest
54
+ > = z.object({
55
+ actionType: z.literal("AAVE_SET_USER_EMODE").optional(),
56
+ categoryId: z.number().int(),
57
+ chain: AaveSetUserEModeRequestChain$outboundSchema,
58
+ sender: z.string(),
59
+ estimateGas: z.boolean().optional(),
60
+ }).transform((v) => {
61
+ return remap$(v, {
62
+ actionType: "action_type",
63
+ categoryId: "category_id",
64
+ estimateGas: "estimate_gas",
65
+ });
66
+ });
67
+
68
+ export function aaveSetUserEModeRequestToJSON(
69
+ aaveSetUserEModeRequest: AaveSetUserEModeRequest,
70
+ ): string {
71
+ return JSON.stringify(
72
+ AaveSetUserEModeRequest$outboundSchema.parse(aaveSetUserEModeRequest),
73
+ );
74
+ }
@@ -13,6 +13,8 @@ export * from "./aaverateresponse.js";
13
13
  export * from "./aaverepayparams.js";
14
14
  export * from "./aaverepayrequest.js";
15
15
  export * from "./aavereserveoverviewresponse.js";
16
+ export * from "./aavesetuseremodeparams.js";
17
+ export * from "./aavesetuseremoderequest.js";
16
18
  export * from "./aavestdrateresponse.js";
17
19
  export * from "./aavesupplyparams.js";
18
20
  export * from "./aavesupplyrequest.js";
@@ -13,6 +13,11 @@ import {
13
13
  AaveRepayParams$Outbound,
14
14
  AaveRepayParams$outboundSchema,
15
15
  } from "./aaverepayparams.js";
16
+ import {
17
+ AaveSetUserEModeParams,
18
+ AaveSetUserEModeParams$Outbound,
19
+ AaveSetUserEModeParams$outboundSchema,
20
+ } from "./aavesetuseremodeparams.js";
16
21
  import {
17
22
  AaveSupplyParams,
18
23
  AaveSupplyParams$Outbound,
@@ -202,6 +207,7 @@ import {
202
207
  export type UserOperationBody =
203
208
  | AaveBorrowParams
204
209
  | AaveRepayParams
210
+ | AaveSetUserEModeParams
205
211
  | AaveSupplyParams
206
212
  | AaveWithdrawParams
207
213
  | AerodromeSlipstreamBuyExactlyParams
@@ -244,6 +250,7 @@ export type UserOperation = {
244
250
  body:
245
251
  | AaveBorrowParams
246
252
  | AaveRepayParams
253
+ | AaveSetUserEModeParams
247
254
  | AaveSupplyParams
248
255
  | AaveWithdrawParams
249
256
  | AerodromeSlipstreamBuyExactlyParams
@@ -287,6 +294,7 @@ export type UserOperation = {
287
294
  export type UserOperationBody$Outbound =
288
295
  | AaveBorrowParams$Outbound
289
296
  | AaveRepayParams$Outbound
297
+ | AaveSetUserEModeParams$Outbound
290
298
  | AaveSupplyParams$Outbound
291
299
  | AaveWithdrawParams$Outbound
292
300
  | AerodromeSlipstreamBuyExactlyParams$Outbound
@@ -333,6 +341,7 @@ export const UserOperationBody$outboundSchema: z.ZodType<
333
341
  > = z.union([
334
342
  AaveBorrowParams$outboundSchema,
335
343
  AaveRepayParams$outboundSchema,
344
+ AaveSetUserEModeParams$outboundSchema,
336
345
  AaveSupplyParams$outboundSchema,
337
346
  AaveWithdrawParams$outboundSchema,
338
347
  AerodromeSlipstreamBuyExactlyParams$outboundSchema,
@@ -385,6 +394,7 @@ export type UserOperation$Outbound = {
385
394
  body:
386
395
  | AaveBorrowParams$Outbound
387
396
  | AaveRepayParams$Outbound
397
+ | AaveSetUserEModeParams$Outbound
388
398
  | AaveSupplyParams$Outbound
389
399
  | AaveWithdrawParams$Outbound
390
400
  | AerodromeSlipstreamBuyExactlyParams$Outbound
@@ -433,6 +443,7 @@ export const UserOperation$outboundSchema: z.ZodType<
433
443
  body: z.union([
434
444
  AaveBorrowParams$outboundSchema,
435
445
  AaveRepayParams$outboundSchema,
446
+ AaveSetUserEModeParams$outboundSchema,
436
447
  AaveSupplyParams$outboundSchema,
437
448
  AaveWithdrawParams$outboundSchema,
438
449
  AerodromeSlipstreamBuyExactlyParams$outboundSchema,
package/src/sdk/aavev3.ts CHANGED
@@ -10,6 +10,7 @@ import { aaveV3AaveLiquidityChange } from "../funcs/aaveV3AaveLiquidityChange.js
10
10
  import { aaveV3AaveRate } from "../funcs/aaveV3AaveRate.js";
11
11
  import { aaveV3AaveRepay } from "../funcs/aaveV3AaveRepay.js";
12
12
  import { aaveV3AaveReserveOverview } from "../funcs/aaveV3AaveReserveOverview.js";
13
+ import { aaveV3AaveSetUserEmode } from "../funcs/aaveV3AaveSetUserEmode.js";
13
14
  import { aaveV3AaveStdRate } from "../funcs/aaveV3AaveStdRate.js";
14
15
  import { aaveV3AaveSupply } from "../funcs/aaveV3AaveSupply.js";
15
16
  import { aaveV3AaveTokenPrice } from "../funcs/aaveV3AaveTokenPrice.js";
@@ -379,4 +380,27 @@ export class AaveV3 extends ClientSDK {
379
380
  options,
380
381
  ));
381
382
  }
383
+
384
+ /**
385
+ * Set User eMode
386
+ *
387
+ * @remarks
388
+ * Set the user's efficiency mode (eMode) category on Aave.
389
+ *
390
+ * Efficiency mode (eMode) allows borrowers to extract the highest borrowing power when
391
+ * collateral and borrowed assets are correlated in price, particularly for stablecoin
392
+ * pairs. Each eMode category has specific LTV and liquidation threshold settings.
393
+ * Setting category_id to 0 disables eMode, while other values enable specific eMode
394
+ * categories defined by the protocol.
395
+ */
396
+ async aaveSetUserEmode(
397
+ request: components.AaveSetUserEModeRequest,
398
+ options?: RequestOptions,
399
+ ): Promise<components.TransactionResponse> {
400
+ return unwrapAsync(aaveV3AaveSetUserEmode(
401
+ this,
402
+ request,
403
+ options,
404
+ ));
405
+ }
382
406
  }