@compass-labs/api-sdk 2.1.14 → 2.1.15-rc.1
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 +20 -18
- package/codeSamples_typescript.yaml +8 -2
- package/dist/commonjs/funcs/earnEarnBundle.d.ts +31 -0
- package/dist/commonjs/funcs/earnEarnBundle.d.ts.map +1 -0
- package/dist/commonjs/funcs/earnEarnBundle.js +131 -0
- package/dist/commonjs/funcs/earnEarnBundle.js.map +1 -0
- package/dist/commonjs/lib/config.d.ts +2 -2
- package/dist/commonjs/lib/config.js +2 -2
- package/dist/commonjs/models/components/earnmanageparams.d.ts +63 -0
- package/dist/commonjs/models/components/earnmanageparams.d.ts.map +1 -0
- package/dist/commonjs/models/components/earnmanageparams.js +74 -0
- package/dist/commonjs/models/components/earnmanageparams.js.map +1 -0
- package/dist/commonjs/models/components/earnmanagerequest.d.ts +25 -13
- package/dist/commonjs/models/components/earnmanagerequest.d.ts.map +1 -1
- package/dist/commonjs/models/components/earnmanagerequest.js +9 -7
- package/dist/commonjs/models/components/earnmanagerequest.js.map +1 -1
- package/dist/commonjs/models/components/earnswapparams.d.ts +60 -0
- package/dist/commonjs/models/components/earnswapparams.d.ts.map +1 -0
- package/dist/commonjs/models/components/earnswapparams.js +73 -0
- package/dist/commonjs/models/components/earnswapparams.js.map +1 -0
- package/dist/commonjs/models/components/earnswaprequest.d.ts +26 -14
- package/dist/commonjs/models/components/earnswaprequest.d.ts.map +1 -1
- package/dist/commonjs/models/components/earnswaprequest.js +10 -8
- package/dist/commonjs/models/components/earnswaprequest.js.map +1 -1
- package/dist/commonjs/models/components/index.d.ts +5 -0
- package/dist/commonjs/models/components/index.d.ts.map +1 -1
- package/dist/commonjs/models/components/index.js +5 -0
- package/dist/commonjs/models/components/index.js.map +1 -1
- package/dist/commonjs/models/components/useroperation.d.ts +4 -4
- package/dist/commonjs/models/components/useroperation.d.ts.map +1 -1
- package/dist/commonjs/models/components/useroperation.js +5 -5
- package/dist/commonjs/models/components/useroperation.js.map +1 -1
- package/dist/commonjs/models/components/v2bundlerequest.d.ts +43 -0
- package/dist/commonjs/models/components/v2bundlerequest.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2bundlerequest.js +59 -0
- package/dist/commonjs/models/components/v2bundlerequest.js.map +1 -0
- package/dist/commonjs/models/components/v2bundleresponse.d.ts +31 -0
- package/dist/commonjs/models/components/v2bundleresponse.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2bundleresponse.js +61 -0
- package/dist/commonjs/models/components/v2bundleresponse.js.map +1 -0
- package/dist/commonjs/models/components/v2useroperation.d.ts +23 -0
- package/dist/commonjs/models/components/v2useroperation.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2useroperation.js +60 -0
- package/dist/commonjs/models/components/v2useroperation.js.map +1 -0
- package/dist/commonjs/sdk/earn.d.ts +20 -0
- package/dist/commonjs/sdk/earn.d.ts.map +1 -1
- package/dist/commonjs/sdk/earn.js +23 -0
- package/dist/commonjs/sdk/earn.js.map +1 -1
- package/dist/esm/funcs/earnEarnBundle.d.ts +31 -0
- package/dist/esm/funcs/earnEarnBundle.d.ts.map +1 -0
- package/dist/esm/funcs/earnEarnBundle.js +95 -0
- package/dist/esm/funcs/earnEarnBundle.js.map +1 -0
- package/dist/esm/lib/config.d.ts +2 -2
- package/dist/esm/lib/config.js +2 -2
- package/dist/esm/models/components/earnmanageparams.d.ts +63 -0
- package/dist/esm/models/components/earnmanageparams.d.ts.map +1 -0
- package/dist/esm/models/components/earnmanageparams.js +36 -0
- package/dist/esm/models/components/earnmanageparams.js.map +1 -0
- package/dist/esm/models/components/earnmanagerequest.d.ts +25 -13
- package/dist/esm/models/components/earnmanagerequest.d.ts.map +1 -1
- package/dist/esm/models/components/earnmanagerequest.js +7 -5
- package/dist/esm/models/components/earnmanagerequest.js.map +1 -1
- package/dist/esm/models/components/earnswapparams.d.ts +60 -0
- package/dist/esm/models/components/earnswapparams.d.ts.map +1 -0
- package/dist/esm/models/components/earnswapparams.js +34 -0
- package/dist/esm/models/components/earnswapparams.js.map +1 -0
- package/dist/esm/models/components/earnswaprequest.d.ts +26 -14
- package/dist/esm/models/components/earnswaprequest.d.ts.map +1 -1
- package/dist/esm/models/components/earnswaprequest.js +8 -6
- package/dist/esm/models/components/earnswaprequest.js.map +1 -1
- package/dist/esm/models/components/index.d.ts +5 -0
- package/dist/esm/models/components/index.d.ts.map +1 -1
- package/dist/esm/models/components/index.js +5 -0
- package/dist/esm/models/components/index.js.map +1 -1
- package/dist/esm/models/components/useroperation.d.ts +4 -4
- package/dist/esm/models/components/useroperation.d.ts.map +1 -1
- package/dist/esm/models/components/useroperation.js +3 -3
- package/dist/esm/models/components/useroperation.js.map +1 -1
- package/dist/esm/models/components/v2bundlerequest.d.ts +43 -0
- package/dist/esm/models/components/v2bundlerequest.d.ts.map +1 -0
- package/dist/esm/models/components/v2bundlerequest.js +22 -0
- package/dist/esm/models/components/v2bundlerequest.js.map +1 -0
- package/dist/esm/models/components/v2bundleresponse.d.ts +31 -0
- package/dist/esm/models/components/v2bundleresponse.d.ts.map +1 -0
- package/dist/esm/models/components/v2bundleresponse.js +24 -0
- package/dist/esm/models/components/v2bundleresponse.js.map +1 -0
- package/dist/esm/models/components/v2useroperation.d.ts +23 -0
- package/dist/esm/models/components/v2useroperation.d.ts.map +1 -0
- package/dist/esm/models/components/v2useroperation.js +22 -0
- package/dist/esm/models/components/v2useroperation.js.map +1 -0
- package/dist/esm/sdk/earn.d.ts +20 -0
- package/dist/esm/sdk/earn.d.ts.map +1 -1
- package/dist/esm/sdk/earn.js +23 -0
- package/dist/esm/sdk/earn.js.map +1 -1
- package/docs/models/components/earnmanageparams.md +31 -0
- package/docs/models/components/earnmanageparamsaction.md +17 -0
- package/docs/models/components/{venue.md → earnmanageparamsvenue.md} +1 -1
- package/docs/models/components/earnmanagerequest.md +12 -6
- package/docs/models/components/earnmanagerequestvenue.md +25 -0
- package/docs/models/components/earnswapparams.md +29 -0
- package/docs/models/components/earnswapparamsamountin.md +19 -0
- package/docs/models/components/{slippage.md → earnswapparamsslippage.md} +3 -3
- package/docs/models/components/earnswaprequest.md +10 -5
- package/docs/models/components/earnswaprequestslippage.md +19 -0
- package/docs/models/components/useroperation.md +3 -3
- package/docs/models/components/{body.md → useroperationbody.md} +1 -1
- package/docs/models/components/v2bundlerequest.md +52 -0
- package/docs/models/components/v2bundleresponse.md +24 -0
- package/docs/models/components/v2useroperation.md +27 -0
- package/docs/models/components/v2useroperationbody.md +31 -0
- package/docs/sdks/aavev3/README.md +0 -1
- package/docs/sdks/aerodromeslipstream/README.md +0 -1
- package/docs/sdks/bridge/README.md +0 -1
- package/docs/sdks/earn/README.md +148 -11
- package/docs/sdks/erc4626vaults/README.md +1 -2
- package/docs/sdks/ethena/README.md +0 -1
- package/docs/sdks/gassponsorship/README.md +0 -1
- package/docs/sdks/morpho/README.md +0 -1
- package/docs/sdks/pendle/README.md +0 -1
- package/docs/sdks/sky/README.md +0 -1
- package/docs/sdks/smartaccount/README.md +0 -1
- package/docs/sdks/swap/README.md +0 -1
- package/docs/sdks/token/README.md +0 -1
- package/docs/sdks/transactionbundler/README.md +0 -1
- package/docs/sdks/uniswapv3/README.md +0 -1
- package/docs/sdks/universal/README.md +0 -1
- package/docs/sdks/wildcat/README.md +0 -1
- package/package.json +1 -1
- package/src/funcs/earnEarnBundle.ts +182 -0
- package/src/lib/config.ts +2 -2
- package/src/models/components/earnmanageparams.ts +118 -0
- package/src/models/components/earnmanagerequest.ts +38 -18
- package/src/models/components/earnswapparams.ts +115 -0
- package/src/models/components/earnswaprequest.ts +38 -20
- package/src/models/components/index.ts +5 -0
- package/src/models/components/useroperation.ts +52 -45
- package/src/models/components/v2bundlerequest.ts +72 -0
- package/src/models/components/v2bundleresponse.ts +67 -0
- package/src/models/components/v2useroperation.ts +67 -0
- package/src/sdk/earn.ts +31 -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,34 @@ export class Earn extends ClientSDK {
|
|
|
182
183
|
options,
|
|
183
184
|
));
|
|
184
185
|
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Execute multiple earn actions
|
|
189
|
+
*
|
|
190
|
+
* @remarks
|
|
191
|
+
* This endpoint allows combining multiple actions (swaps, vault
|
|
192
|
+
* deposits/withdrawals, Aave deposits/withdrawals) into a single atomic transaction
|
|
193
|
+
* executed via the Earn account).
|
|
194
|
+
*
|
|
195
|
+
* **Example Use Case:** Swap USDC to AUSD, then deposit AUSD into a vault - all in one transaction.
|
|
196
|
+
*
|
|
197
|
+
* Actions are executed in the order they are provided. Each action type has its own parameters:
|
|
198
|
+
*
|
|
199
|
+
* - **V2_SWAP**: Swapping tokens within the Earn Account
|
|
200
|
+
* - **V2_MANAGE**: Manage positions - deposit/withdraw to ERC-4626 vaults or Aave lending pool
|
|
201
|
+
*
|
|
202
|
+
* The bundled transaction can be gas-sponsored by setting `gas_sponsorship=true`.
|
|
203
|
+
* This returns EIP-712 typed data that the owner must sign and submit to
|
|
204
|
+
* `/gas_sponsorship/prepare` for execution by a gas sponsor.
|
|
205
|
+
*/
|
|
206
|
+
async earnBundle(
|
|
207
|
+
request: components.V2BundleRequest,
|
|
208
|
+
options?: RequestOptions,
|
|
209
|
+
): Promise<components.V2BundleResponse> {
|
|
210
|
+
return unwrapAsync(earnEarnBundle(
|
|
211
|
+
this,
|
|
212
|
+
request,
|
|
213
|
+
options,
|
|
214
|
+
));
|
|
215
|
+
}
|
|
185
216
|
}
|