@compass-labs/api-sdk 2.1.14 → 2.1.15-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 (140) hide show
  1. package/README.md +20 -18
  2. package/codeSamples_typescript.yaml +8 -2
  3. package/dist/commonjs/funcs/earnEarnBundle.d.ts +33 -0
  4. package/dist/commonjs/funcs/earnEarnBundle.d.ts.map +1 -0
  5. package/dist/commonjs/funcs/earnEarnBundle.js +133 -0
  6. package/dist/commonjs/funcs/earnEarnBundle.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/earnmanageparams.d.ts +63 -0
  10. package/dist/commonjs/models/components/earnmanageparams.d.ts.map +1 -0
  11. package/dist/commonjs/models/components/earnmanageparams.js +74 -0
  12. package/dist/commonjs/models/components/earnmanageparams.js.map +1 -0
  13. package/dist/commonjs/models/components/earnmanagerequest.d.ts +25 -13
  14. package/dist/commonjs/models/components/earnmanagerequest.d.ts.map +1 -1
  15. package/dist/commonjs/models/components/earnmanagerequest.js +9 -7
  16. package/dist/commonjs/models/components/earnmanagerequest.js.map +1 -1
  17. package/dist/commonjs/models/components/earnswapparams.d.ts +60 -0
  18. package/dist/commonjs/models/components/earnswapparams.d.ts.map +1 -0
  19. package/dist/commonjs/models/components/earnswapparams.js +73 -0
  20. package/dist/commonjs/models/components/earnswapparams.js.map +1 -0
  21. package/dist/commonjs/models/components/earnswaprequest.d.ts +26 -14
  22. package/dist/commonjs/models/components/earnswaprequest.d.ts.map +1 -1
  23. package/dist/commonjs/models/components/earnswaprequest.js +10 -8
  24. package/dist/commonjs/models/components/earnswaprequest.js.map +1 -1
  25. package/dist/commonjs/models/components/index.d.ts +5 -0
  26. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  27. package/dist/commonjs/models/components/index.js +5 -0
  28. package/dist/commonjs/models/components/index.js.map +1 -1
  29. package/dist/commonjs/models/components/useroperation.d.ts +4 -4
  30. package/dist/commonjs/models/components/useroperation.d.ts.map +1 -1
  31. package/dist/commonjs/models/components/useroperation.js +5 -5
  32. package/dist/commonjs/models/components/useroperation.js.map +1 -1
  33. package/dist/commonjs/models/components/v2bundlerequest.d.ts +43 -0
  34. package/dist/commonjs/models/components/v2bundlerequest.d.ts.map +1 -0
  35. package/dist/commonjs/models/components/v2bundlerequest.js +59 -0
  36. package/dist/commonjs/models/components/v2bundlerequest.js.map +1 -0
  37. package/dist/commonjs/models/components/v2bundleresponse.d.ts +31 -0
  38. package/dist/commonjs/models/components/v2bundleresponse.d.ts.map +1 -0
  39. package/dist/commonjs/models/components/v2bundleresponse.js +61 -0
  40. package/dist/commonjs/models/components/v2bundleresponse.js.map +1 -0
  41. package/dist/commonjs/models/components/v2useroperation.d.ts +23 -0
  42. package/dist/commonjs/models/components/v2useroperation.d.ts.map +1 -0
  43. package/dist/commonjs/models/components/v2useroperation.js +60 -0
  44. package/dist/commonjs/models/components/v2useroperation.js.map +1 -0
  45. package/dist/commonjs/sdk/earn.d.ts +22 -0
  46. package/dist/commonjs/sdk/earn.d.ts.map +1 -1
  47. package/dist/commonjs/sdk/earn.js +25 -0
  48. package/dist/commonjs/sdk/earn.js.map +1 -1
  49. package/dist/esm/funcs/earnEarnBundle.d.ts +33 -0
  50. package/dist/esm/funcs/earnEarnBundle.d.ts.map +1 -0
  51. package/dist/esm/funcs/earnEarnBundle.js +97 -0
  52. package/dist/esm/funcs/earnEarnBundle.js.map +1 -0
  53. package/dist/esm/lib/config.d.ts +2 -2
  54. package/dist/esm/lib/config.js +2 -2
  55. package/dist/esm/models/components/earnmanageparams.d.ts +63 -0
  56. package/dist/esm/models/components/earnmanageparams.d.ts.map +1 -0
  57. package/dist/esm/models/components/earnmanageparams.js +36 -0
  58. package/dist/esm/models/components/earnmanageparams.js.map +1 -0
  59. package/dist/esm/models/components/earnmanagerequest.d.ts +25 -13
  60. package/dist/esm/models/components/earnmanagerequest.d.ts.map +1 -1
  61. package/dist/esm/models/components/earnmanagerequest.js +7 -5
  62. package/dist/esm/models/components/earnmanagerequest.js.map +1 -1
  63. package/dist/esm/models/components/earnswapparams.d.ts +60 -0
  64. package/dist/esm/models/components/earnswapparams.d.ts.map +1 -0
  65. package/dist/esm/models/components/earnswapparams.js +34 -0
  66. package/dist/esm/models/components/earnswapparams.js.map +1 -0
  67. package/dist/esm/models/components/earnswaprequest.d.ts +26 -14
  68. package/dist/esm/models/components/earnswaprequest.d.ts.map +1 -1
  69. package/dist/esm/models/components/earnswaprequest.js +8 -6
  70. package/dist/esm/models/components/earnswaprequest.js.map +1 -1
  71. package/dist/esm/models/components/index.d.ts +5 -0
  72. package/dist/esm/models/components/index.d.ts.map +1 -1
  73. package/dist/esm/models/components/index.js +5 -0
  74. package/dist/esm/models/components/index.js.map +1 -1
  75. package/dist/esm/models/components/useroperation.d.ts +4 -4
  76. package/dist/esm/models/components/useroperation.d.ts.map +1 -1
  77. package/dist/esm/models/components/useroperation.js +3 -3
  78. package/dist/esm/models/components/useroperation.js.map +1 -1
  79. package/dist/esm/models/components/v2bundlerequest.d.ts +43 -0
  80. package/dist/esm/models/components/v2bundlerequest.d.ts.map +1 -0
  81. package/dist/esm/models/components/v2bundlerequest.js +22 -0
  82. package/dist/esm/models/components/v2bundlerequest.js.map +1 -0
  83. package/dist/esm/models/components/v2bundleresponse.d.ts +31 -0
  84. package/dist/esm/models/components/v2bundleresponse.d.ts.map +1 -0
  85. package/dist/esm/models/components/v2bundleresponse.js +24 -0
  86. package/dist/esm/models/components/v2bundleresponse.js.map +1 -0
  87. package/dist/esm/models/components/v2useroperation.d.ts +23 -0
  88. package/dist/esm/models/components/v2useroperation.d.ts.map +1 -0
  89. package/dist/esm/models/components/v2useroperation.js +22 -0
  90. package/dist/esm/models/components/v2useroperation.js.map +1 -0
  91. package/dist/esm/sdk/earn.d.ts +22 -0
  92. package/dist/esm/sdk/earn.d.ts.map +1 -1
  93. package/dist/esm/sdk/earn.js +25 -0
  94. package/dist/esm/sdk/earn.js.map +1 -1
  95. package/docs/models/components/earnmanageparams.md +31 -0
  96. package/docs/models/components/earnmanageparamsaction.md +17 -0
  97. package/docs/models/components/{venue.md → earnmanageparamsvenue.md} +1 -1
  98. package/docs/models/components/earnmanagerequest.md +12 -6
  99. package/docs/models/components/earnmanagerequestvenue.md +25 -0
  100. package/docs/models/components/earnswapparams.md +29 -0
  101. package/docs/models/components/earnswapparamsamountin.md +19 -0
  102. package/docs/models/components/{slippage.md → earnswapparamsslippage.md} +3 -3
  103. package/docs/models/components/earnswaprequest.md +10 -5
  104. package/docs/models/components/earnswaprequestslippage.md +19 -0
  105. package/docs/models/components/useroperation.md +3 -3
  106. package/docs/models/components/{body.md → useroperationbody.md} +1 -1
  107. package/docs/models/components/v2bundlerequest.md +52 -0
  108. package/docs/models/components/v2bundleresponse.md +24 -0
  109. package/docs/models/components/v2useroperation.md +27 -0
  110. package/docs/models/components/v2useroperationbody.md +31 -0
  111. package/docs/sdks/aavev3/README.md +0 -1
  112. package/docs/sdks/aerodromeslipstream/README.md +0 -1
  113. package/docs/sdks/bridge/README.md +0 -1
  114. package/docs/sdks/earn/README.md +150 -11
  115. package/docs/sdks/erc4626vaults/README.md +1 -2
  116. package/docs/sdks/ethena/README.md +0 -1
  117. package/docs/sdks/gassponsorship/README.md +0 -1
  118. package/docs/sdks/morpho/README.md +0 -1
  119. package/docs/sdks/pendle/README.md +0 -1
  120. package/docs/sdks/sky/README.md +0 -1
  121. package/docs/sdks/smartaccount/README.md +0 -1
  122. package/docs/sdks/swap/README.md +0 -1
  123. package/docs/sdks/token/README.md +0 -1
  124. package/docs/sdks/transactionbundler/README.md +0 -1
  125. package/docs/sdks/uniswapv3/README.md +0 -1
  126. package/docs/sdks/universal/README.md +0 -1
  127. package/docs/sdks/wildcat/README.md +0 -1
  128. package/package.json +1 -1
  129. package/src/funcs/earnEarnBundle.ts +184 -0
  130. package/src/lib/config.ts +2 -2
  131. package/src/models/components/earnmanageparams.ts +118 -0
  132. package/src/models/components/earnmanagerequest.ts +38 -18
  133. package/src/models/components/earnswapparams.ts +115 -0
  134. package/src/models/components/earnswaprequest.ts +38 -20
  135. package/src/models/components/index.ts +5 -0
  136. package/src/models/components/useroperation.ts +52 -45
  137. package/src/models/components/v2bundlerequest.ts +72 -0
  138. package/src/models/components/v2bundleresponse.ts +67 -0
  139. package/src/models/components/v2useroperation.ts +67 -0
  140. package/src/sdk/earn.ts +33 -0
@@ -0,0 +1,67 @@
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
+ BatchedSafeOperationsResponseOutput,
12
+ BatchedSafeOperationsResponseOutput$inboundSchema,
13
+ } from "./batchedsafeoperationsresponseoutput.js";
14
+ import {
15
+ UnsignedTransaction,
16
+ UnsignedTransaction$inboundSchema,
17
+ } from "./unsignedtransaction.js";
18
+
19
+ /**
20
+ * Response model for V2 bundle execution.
21
+ *
22
+ * @remarks
23
+ *
24
+ * Returns either an unsigned transaction (for direct execution) or EIP-712 typed data
25
+ * (for gas-sponsored execution).
26
+ */
27
+ export type V2BundleResponse = {
28
+ /**
29
+ * Unsigned transaction for direct execution by the owner. Present when gas_sponsorship=false.
30
+ */
31
+ transaction?: UnsignedTransaction | null | undefined;
32
+ /**
33
+ * EIP-712 typed data for gas-sponsored execution. Present when gas_sponsorship=true. Owner must sign and submit to /gas_sponsorship/prepare.
34
+ */
35
+ eip712?: BatchedSafeOperationsResponseOutput | null | undefined;
36
+ /**
37
+ * Number of individual transactions bundled in this execution.
38
+ */
39
+ actionsCount: number;
40
+ };
41
+
42
+ /** @internal */
43
+ export const V2BundleResponse$inboundSchema: z.ZodType<
44
+ V2BundleResponse,
45
+ z.ZodTypeDef,
46
+ unknown
47
+ > = z.object({
48
+ transaction: z.nullable(UnsignedTransaction$inboundSchema).optional(),
49
+ eip_712: z.nullable(BatchedSafeOperationsResponseOutput$inboundSchema)
50
+ .optional(),
51
+ actions_count: z.number().int(),
52
+ }).transform((v) => {
53
+ return remap$(v, {
54
+ "eip_712": "eip712",
55
+ "actions_count": "actionsCount",
56
+ });
57
+ });
58
+
59
+ export function v2BundleResponseFromJSON(
60
+ jsonString: string,
61
+ ): SafeParseResult<V2BundleResponse, SDKValidationError> {
62
+ return safeParse(
63
+ jsonString,
64
+ (x) => V2BundleResponse$inboundSchema.parse(JSON.parse(x)),
65
+ `Failed to parse 'V2BundleResponse' from JSON`,
66
+ );
67
+ }
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import {
7
+ EarnManageParams,
8
+ EarnManageParams$Outbound,
9
+ EarnManageParams$outboundSchema,
10
+ } from "./earnmanageparams.js";
11
+ import {
12
+ EarnSwapParams,
13
+ EarnSwapParams$Outbound,
14
+ EarnSwapParams$outboundSchema,
15
+ } from "./earnswapparams.js";
16
+
17
+ export type V2UserOperationBody = EarnManageParams | EarnSwapParams;
18
+
19
+ /**
20
+ * A single operation in a V2 bundle.
21
+ */
22
+ export type V2UserOperation = {
23
+ body: EarnManageParams | EarnSwapParams;
24
+ };
25
+
26
+ /** @internal */
27
+ export type V2UserOperationBody$Outbound =
28
+ | EarnManageParams$Outbound
29
+ | EarnSwapParams$Outbound;
30
+
31
+ /** @internal */
32
+ export const V2UserOperationBody$outboundSchema: z.ZodType<
33
+ V2UserOperationBody$Outbound,
34
+ z.ZodTypeDef,
35
+ V2UserOperationBody
36
+ > = z.union([EarnManageParams$outboundSchema, EarnSwapParams$outboundSchema]);
37
+
38
+ export function v2UserOperationBodyToJSON(
39
+ v2UserOperationBody: V2UserOperationBody,
40
+ ): string {
41
+ return JSON.stringify(
42
+ V2UserOperationBody$outboundSchema.parse(v2UserOperationBody),
43
+ );
44
+ }
45
+
46
+ /** @internal */
47
+ export type V2UserOperation$Outbound = {
48
+ body: EarnManageParams$Outbound | EarnSwapParams$Outbound;
49
+ };
50
+
51
+ /** @internal */
52
+ export const V2UserOperation$outboundSchema: z.ZodType<
53
+ V2UserOperation$Outbound,
54
+ z.ZodTypeDef,
55
+ V2UserOperation
56
+ > = z.object({
57
+ body: z.union([
58
+ EarnManageParams$outboundSchema,
59
+ EarnSwapParams$outboundSchema,
60
+ ]),
61
+ });
62
+
63
+ export function v2UserOperationToJSON(
64
+ v2UserOperation: V2UserOperation,
65
+ ): string {
66
+ return JSON.stringify(V2UserOperation$outboundSchema.parse(v2UserOperation));
67
+ }
package/src/sdk/earn.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  */
4
4
 
5
5
  import { earnEarnAaveTokenRates } from "../funcs/earnEarnAaveTokenRates.js";
6
+ import { earnEarnBundle } from "../funcs/earnEarnBundle.js";
6
7
  import { earnEarnCreateAccount } from "../funcs/earnEarnCreateAccount.js";
7
8
  import { earnEarnManage } from "../funcs/earnEarnManage.js";
8
9
  import { earnEarnPositions } from "../funcs/earnEarnPositions.js";
@@ -182,4 +183,36 @@ export class Earn extends ClientSDK {
182
183
  options,
183
184
  ));
184
185
  }
186
+
187
+ /**
188
+ * Bundle multiple actions into a single transaction
189
+ *
190
+ * @remarks
191
+ * Bundle multiple earn actions into a single atomic Safe transaction.
192
+ *
193
+ * This endpoint allows combining multiple actions (swaps, vault deposits/withdrawals,
194
+ * Aave deposits/withdrawals) into a single atomic transaction executed via the
195
+ * owner's Safe smart account (Earn Account).
196
+ *
197
+ * **Example Use Case:** Swap USDC to AUSD, then deposit AUSD into a vault - all in one transaction.
198
+ *
199
+ * Actions are executed in the order they are provided. Each action type has its own parameters:
200
+ *
201
+ * - **V2_SWAP**: Swap between tokens using 1inch aggregator
202
+ * - **V2_MANAGE**: Manage positions - deposit/withdraw to ERC-4626 vaults or Aave lending pool
203
+ *
204
+ * The bundled transaction can be gas-sponsored by setting `gas_sponsorship=true`.
205
+ * This returns EIP-712 typed data that the owner must sign and submit to
206
+ * `/gas_sponsorship/prepare` for execution by a gas sponsor.
207
+ */
208
+ async earnBundle(
209
+ request: components.V2BundleRequest,
210
+ options?: RequestOptions,
211
+ ): Promise<components.V2BundleResponse> {
212
+ return unwrapAsync(earnEarnBundle(
213
+ this,
214
+ request,
215
+ options,
216
+ ));
217
+ }
185
218
  }