@compass-labs/api-sdk 0.5.46 → 0.5.48
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 -0
- package/bin/mcp-server.js +470 -201
- package/bin/mcp-server.js.map +28 -24
- package/dist/commonjs/funcs/swapOdos.d.ts +25 -0
- package/dist/commonjs/funcs/swapOdos.d.ts.map +1 -0
- package/dist/commonjs/funcs/swapOdos.js +125 -0
- package/dist/commonjs/funcs/swapOdos.js.map +1 -0
- package/dist/commonjs/lib/config.d.ts +3 -3
- package/dist/commonjs/lib/config.js +3 -3
- package/dist/commonjs/mcp-server/mcp-server.js +1 -1
- package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
- package/dist/commonjs/mcp-server/server.js +3 -1
- package/dist/commonjs/mcp-server/server.js.map +1 -1
- package/dist/commonjs/mcp-server/tools/swapOdos.d.ts +8 -0
- package/dist/commonjs/mcp-server/tools/swapOdos.d.ts.map +1 -0
- package/dist/commonjs/mcp-server/tools/swapOdos.js +72 -0
- package/dist/commonjs/mcp-server/tools/swapOdos.js.map +1 -0
- package/dist/commonjs/models/components/index.d.ts +2 -0
- package/dist/commonjs/models/components/index.d.ts.map +1 -1
- package/dist/commonjs/models/components/index.js +2 -0
- package/dist/commonjs/models/components/index.js.map +1 -1
- package/dist/commonjs/models/components/odosswapparams.d.ts +122 -0
- package/dist/commonjs/models/components/odosswapparams.d.ts.map +1 -0
- package/dist/commonjs/models/components/odosswapparams.js +162 -0
- package/dist/commonjs/models/components/odosswapparams.js.map +1 -0
- package/dist/commonjs/models/components/odosswaprequest.d.ts +133 -0
- package/dist/commonjs/models/components/odosswaprequest.d.ts.map +1 -0
- package/dist/commonjs/models/components/odosswaprequest.js +167 -0
- package/dist/commonjs/models/components/odosswaprequest.js.map +1 -0
- package/dist/commonjs/models/components/setallowanceparams.d.ts +3 -0
- package/dist/commonjs/models/components/setallowanceparams.d.ts.map +1 -1
- package/dist/commonjs/models/components/setallowanceparams.js +1 -0
- package/dist/commonjs/models/components/setallowanceparams.js.map +1 -1
- package/dist/commonjs/models/components/setallowancerequest.d.ts +3 -0
- package/dist/commonjs/models/components/setallowancerequest.d.ts.map +1 -1
- package/dist/commonjs/models/components/setallowancerequest.js +1 -0
- package/dist/commonjs/models/components/setallowancerequest.js.map +1 -1
- package/dist/commonjs/models/components/tokenenum.d.ts +3 -0
- package/dist/commonjs/models/components/tokenenum.d.ts.map +1 -1
- package/dist/commonjs/models/components/tokenenum.js +1 -0
- package/dist/commonjs/models/components/tokenenum.js.map +1 -1
- package/dist/commonjs/models/components/useroperation.d.ts +9 -0
- package/dist/commonjs/models/components/useroperation.d.ts.map +1 -1
- package/dist/commonjs/models/components/useroperation.js +13 -0
- package/dist/commonjs/models/components/useroperation.js.map +1 -1
- package/dist/commonjs/models/operations/aaveavgrate.d.ts +3 -0
- package/dist/commonjs/models/operations/aaveavgrate.d.ts.map +1 -1
- package/dist/commonjs/models/operations/aaveavgrate.js +1 -0
- package/dist/commonjs/models/operations/aaveavgrate.js.map +1 -1
- package/dist/commonjs/models/operations/aaveliquiditychange.d.ts +3 -0
- package/dist/commonjs/models/operations/aaveliquiditychange.d.ts.map +1 -1
- package/dist/commonjs/models/operations/aaveliquiditychange.js +1 -0
- package/dist/commonjs/models/operations/aaveliquiditychange.js.map +1 -1
- package/dist/commonjs/models/operations/aaverate.d.ts +3 -0
- package/dist/commonjs/models/operations/aaverate.d.ts.map +1 -1
- package/dist/commonjs/models/operations/aaverate.js +1 -0
- package/dist/commonjs/models/operations/aaverate.js.map +1 -1
- package/dist/commonjs/models/operations/aavereserveoverview.d.ts +3 -0
- package/dist/commonjs/models/operations/aavereserveoverview.d.ts.map +1 -1
- package/dist/commonjs/models/operations/aavereserveoverview.js +1 -0
- package/dist/commonjs/models/operations/aavereserveoverview.js.map +1 -1
- package/dist/commonjs/models/operations/aavestdrate.d.ts +3 -0
- package/dist/commonjs/models/operations/aavestdrate.d.ts.map +1 -1
- package/dist/commonjs/models/operations/aavestdrate.js +1 -0
- package/dist/commonjs/models/operations/aavestdrate.js.map +1 -1
- package/dist/commonjs/models/operations/aavetokenprice.d.ts +3 -0
- package/dist/commonjs/models/operations/aavetokenprice.d.ts.map +1 -1
- package/dist/commonjs/models/operations/aavetokenprice.js +1 -0
- package/dist/commonjs/models/operations/aavetokenprice.js.map +1 -1
- package/dist/commonjs/models/operations/aaveuserpositionpertoken.d.ts +3 -0
- package/dist/commonjs/models/operations/aaveuserpositionpertoken.d.ts.map +1 -1
- package/dist/commonjs/models/operations/aaveuserpositionpertoken.js +1 -0
- package/dist/commonjs/models/operations/aaveuserpositionpertoken.js.map +1 -1
- package/dist/commonjs/models/operations/aerodromeslipstreampoolprice.d.ts +6 -0
- package/dist/commonjs/models/operations/aerodromeslipstreampoolprice.d.ts.map +1 -1
- package/dist/commonjs/models/operations/aerodromeslipstreampoolprice.js +2 -0
- package/dist/commonjs/models/operations/aerodromeslipstreampoolprice.js.map +1 -1
- package/dist/commonjs/models/operations/genericallowance.d.ts +3 -0
- package/dist/commonjs/models/operations/genericallowance.d.ts.map +1 -1
- package/dist/commonjs/models/operations/genericallowance.js +1 -0
- package/dist/commonjs/models/operations/genericallowance.js.map +1 -1
- package/dist/commonjs/models/operations/tokenaddress.d.ts +3 -0
- package/dist/commonjs/models/operations/tokenaddress.d.ts.map +1 -1
- package/dist/commonjs/models/operations/tokenaddress.js +1 -0
- package/dist/commonjs/models/operations/tokenaddress.js.map +1 -1
- package/dist/commonjs/models/operations/uniswappoolprice.d.ts +6 -0
- package/dist/commonjs/models/operations/uniswappoolprice.d.ts.map +1 -1
- package/dist/commonjs/models/operations/uniswappoolprice.js +2 -0
- package/dist/commonjs/models/operations/uniswappoolprice.js.map +1 -1
- package/dist/commonjs/models/operations/uniswapquotebuyexactly.d.ts +6 -0
- package/dist/commonjs/models/operations/uniswapquotebuyexactly.d.ts.map +1 -1
- package/dist/commonjs/models/operations/uniswapquotebuyexactly.js +2 -0
- package/dist/commonjs/models/operations/uniswapquotebuyexactly.js.map +1 -1
- package/dist/commonjs/models/operations/uniswapquotesellexactly.d.ts +6 -0
- package/dist/commonjs/models/operations/uniswapquotesellexactly.d.ts.map +1 -1
- package/dist/commonjs/models/operations/uniswapquotesellexactly.js +2 -0
- package/dist/commonjs/models/operations/uniswapquotesellexactly.js.map +1 -1
- package/dist/commonjs/sdk/sdk.d.ts +3 -0
- package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
- package/dist/commonjs/sdk/sdk.js +4 -0
- package/dist/commonjs/sdk/sdk.js.map +1 -1
- package/dist/commonjs/sdk/swap.d.ts +19 -0
- package/dist/commonjs/sdk/swap.d.ts.map +1 -0
- package/dist/commonjs/sdk/swap.js +29 -0
- package/dist/commonjs/sdk/swap.js.map +1 -0
- package/dist/esm/funcs/swapOdos.d.ts +25 -0
- package/dist/esm/funcs/swapOdos.d.ts.map +1 -0
- package/dist/esm/funcs/swapOdos.js +89 -0
- package/dist/esm/funcs/swapOdos.js.map +1 -0
- package/dist/esm/lib/config.d.ts +3 -3
- package/dist/esm/lib/config.js +3 -3
- package/dist/esm/mcp-server/mcp-server.js +1 -1
- package/dist/esm/mcp-server/server.d.ts.map +1 -1
- package/dist/esm/mcp-server/server.js +3 -1
- package/dist/esm/mcp-server/server.js.map +1 -1
- package/dist/esm/mcp-server/tools/swapOdos.d.ts +8 -0
- package/dist/esm/mcp-server/tools/swapOdos.d.ts.map +1 -0
- package/dist/esm/mcp-server/tools/swapOdos.js +36 -0
- package/dist/esm/mcp-server/tools/swapOdos.js.map +1 -0
- package/dist/esm/models/components/index.d.ts +2 -0
- package/dist/esm/models/components/index.d.ts.map +1 -1
- package/dist/esm/models/components/index.js +2 -0
- package/dist/esm/models/components/index.js.map +1 -1
- package/dist/esm/models/components/odosswapparams.d.ts +122 -0
- package/dist/esm/models/components/odosswapparams.d.ts.map +1 -0
- package/dist/esm/models/components/odosswapparams.js +118 -0
- package/dist/esm/models/components/odosswapparams.js.map +1 -0
- package/dist/esm/models/components/odosswaprequest.d.ts +133 -0
- package/dist/esm/models/components/odosswaprequest.d.ts.map +1 -0
- package/dist/esm/models/components/odosswaprequest.js +123 -0
- package/dist/esm/models/components/odosswaprequest.js.map +1 -0
- package/dist/esm/models/components/setallowanceparams.d.ts +3 -0
- package/dist/esm/models/components/setallowanceparams.d.ts.map +1 -1
- package/dist/esm/models/components/setallowanceparams.js +1 -0
- package/dist/esm/models/components/setallowanceparams.js.map +1 -1
- package/dist/esm/models/components/setallowancerequest.d.ts +3 -0
- package/dist/esm/models/components/setallowancerequest.d.ts.map +1 -1
- package/dist/esm/models/components/setallowancerequest.js +1 -0
- package/dist/esm/models/components/setallowancerequest.js.map +1 -1
- package/dist/esm/models/components/tokenenum.d.ts +3 -0
- package/dist/esm/models/components/tokenenum.d.ts.map +1 -1
- package/dist/esm/models/components/tokenenum.js +1 -0
- package/dist/esm/models/components/tokenenum.js.map +1 -1
- package/dist/esm/models/components/useroperation.d.ts +9 -0
- package/dist/esm/models/components/useroperation.d.ts.map +1 -1
- package/dist/esm/models/components/useroperation.js +13 -0
- package/dist/esm/models/components/useroperation.js.map +1 -1
- package/dist/esm/models/operations/aaveavgrate.d.ts +3 -0
- package/dist/esm/models/operations/aaveavgrate.d.ts.map +1 -1
- package/dist/esm/models/operations/aaveavgrate.js +1 -0
- package/dist/esm/models/operations/aaveavgrate.js.map +1 -1
- package/dist/esm/models/operations/aaveliquiditychange.d.ts +3 -0
- package/dist/esm/models/operations/aaveliquiditychange.d.ts.map +1 -1
- package/dist/esm/models/operations/aaveliquiditychange.js +1 -0
- package/dist/esm/models/operations/aaveliquiditychange.js.map +1 -1
- package/dist/esm/models/operations/aaverate.d.ts +3 -0
- package/dist/esm/models/operations/aaverate.d.ts.map +1 -1
- package/dist/esm/models/operations/aaverate.js +1 -0
- package/dist/esm/models/operations/aaverate.js.map +1 -1
- package/dist/esm/models/operations/aavereserveoverview.d.ts +3 -0
- package/dist/esm/models/operations/aavereserveoverview.d.ts.map +1 -1
- package/dist/esm/models/operations/aavereserveoverview.js +1 -0
- package/dist/esm/models/operations/aavereserveoverview.js.map +1 -1
- package/dist/esm/models/operations/aavestdrate.d.ts +3 -0
- package/dist/esm/models/operations/aavestdrate.d.ts.map +1 -1
- package/dist/esm/models/operations/aavestdrate.js +1 -0
- package/dist/esm/models/operations/aavestdrate.js.map +1 -1
- package/dist/esm/models/operations/aavetokenprice.d.ts +3 -0
- package/dist/esm/models/operations/aavetokenprice.d.ts.map +1 -1
- package/dist/esm/models/operations/aavetokenprice.js +1 -0
- package/dist/esm/models/operations/aavetokenprice.js.map +1 -1
- package/dist/esm/models/operations/aaveuserpositionpertoken.d.ts +3 -0
- package/dist/esm/models/operations/aaveuserpositionpertoken.d.ts.map +1 -1
- package/dist/esm/models/operations/aaveuserpositionpertoken.js +1 -0
- package/dist/esm/models/operations/aaveuserpositionpertoken.js.map +1 -1
- package/dist/esm/models/operations/aerodromeslipstreampoolprice.d.ts +6 -0
- package/dist/esm/models/operations/aerodromeslipstreampoolprice.d.ts.map +1 -1
- package/dist/esm/models/operations/aerodromeslipstreampoolprice.js +2 -0
- package/dist/esm/models/operations/aerodromeslipstreampoolprice.js.map +1 -1
- package/dist/esm/models/operations/genericallowance.d.ts +3 -0
- package/dist/esm/models/operations/genericallowance.d.ts.map +1 -1
- package/dist/esm/models/operations/genericallowance.js +1 -0
- package/dist/esm/models/operations/genericallowance.js.map +1 -1
- package/dist/esm/models/operations/tokenaddress.d.ts +3 -0
- package/dist/esm/models/operations/tokenaddress.d.ts.map +1 -1
- package/dist/esm/models/operations/tokenaddress.js +1 -0
- package/dist/esm/models/operations/tokenaddress.js.map +1 -1
- package/dist/esm/models/operations/uniswappoolprice.d.ts +6 -0
- package/dist/esm/models/operations/uniswappoolprice.d.ts.map +1 -1
- package/dist/esm/models/operations/uniswappoolprice.js +2 -0
- package/dist/esm/models/operations/uniswappoolprice.js.map +1 -1
- package/dist/esm/models/operations/uniswapquotebuyexactly.d.ts +6 -0
- package/dist/esm/models/operations/uniswapquotebuyexactly.d.ts.map +1 -1
- package/dist/esm/models/operations/uniswapquotebuyexactly.js +2 -0
- package/dist/esm/models/operations/uniswapquotebuyexactly.js.map +1 -1
- package/dist/esm/models/operations/uniswapquotesellexactly.d.ts +6 -0
- package/dist/esm/models/operations/uniswapquotesellexactly.d.ts.map +1 -1
- package/dist/esm/models/operations/uniswapquotesellexactly.js +2 -0
- package/dist/esm/models/operations/uniswapquotesellexactly.js.map +1 -1
- package/dist/esm/sdk/sdk.d.ts +3 -0
- package/dist/esm/sdk/sdk.d.ts.map +1 -1
- package/dist/esm/sdk/sdk.js +4 -0
- package/dist/esm/sdk/sdk.js.map +1 -1
- package/dist/esm/sdk/swap.d.ts +19 -0
- package/dist/esm/sdk/swap.d.ts.map +1 -0
- package/dist/esm/sdk/swap.js +25 -0
- package/dist/esm/sdk/swap.js.map +1 -0
- package/docs/sdks/swap/README.md +99 -0
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/funcs/swapOdos.ts +176 -0
- package/src/lib/config.ts +3 -3
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +3 -1
- package/src/mcp-server/tools/swapOdos.ts +45 -0
- package/src/models/components/index.ts +2 -0
- package/src/models/components/odosswapparams.ts +269 -0
- package/src/models/components/odosswaprequest.ts +286 -0
- package/src/models/components/setallowanceparams.ts +1 -0
- package/src/models/components/setallowancerequest.ts +1 -0
- package/src/models/components/tokenenum.ts +1 -0
- package/src/models/components/useroperation.ts +30 -0
- package/src/models/operations/aaveavgrate.ts +1 -0
- package/src/models/operations/aaveliquiditychange.ts +1 -0
- package/src/models/operations/aaverate.ts +1 -0
- package/src/models/operations/aavereserveoverview.ts +1 -0
- package/src/models/operations/aavestdrate.ts +1 -0
- package/src/models/operations/aavetokenprice.ts +1 -0
- package/src/models/operations/aaveuserpositionpertoken.ts +1 -0
- package/src/models/operations/aerodromeslipstreampoolprice.ts +2 -0
- package/src/models/operations/genericallowance.ts +1 -0
- package/src/models/operations/tokenaddress.ts +1 -0
- package/src/models/operations/uniswappoolprice.ts +2 -0
- package/src/models/operations/uniswapquotebuyexactly.ts +2 -0
- package/src/models/operations/uniswapquotesellexactly.ts +2 -0
- package/src/sdk/sdk.ts +6 -0
- package/src/sdk/swap.ts +34 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { CompassApiSDKCore } from "../core.js";
|
|
6
|
+
import { encodeJSON } from "../lib/encodings.js";
|
|
7
|
+
import * as M from "../lib/matchers.js";
|
|
8
|
+
import { compactMap } from "../lib/primitives.js";
|
|
9
|
+
import { safeParse } from "../lib/schemas.js";
|
|
10
|
+
import { RequestOptions } from "../lib/sdks.js";
|
|
11
|
+
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
12
|
+
import { pathToFunc } from "../lib/url.js";
|
|
13
|
+
import * as components from "../models/components/index.js";
|
|
14
|
+
import { CompassAPISDKError } from "../models/errors/compassapisdkerror.js";
|
|
15
|
+
import {
|
|
16
|
+
ConnectionError,
|
|
17
|
+
InvalidRequestError,
|
|
18
|
+
RequestAbortedError,
|
|
19
|
+
RequestTimeoutError,
|
|
20
|
+
UnexpectedClientError,
|
|
21
|
+
} from "../models/errors/httpclienterrors.js";
|
|
22
|
+
import * as errors from "../models/errors/index.js";
|
|
23
|
+
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
|
|
24
|
+
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
|
|
25
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
26
|
+
import { Result } from "../types/fp.js";
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Odos Swap
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* Swap between two tokens using Odos Smart Order Routing.
|
|
33
|
+
* <Info>
|
|
34
|
+
* **Required Allowances**
|
|
35
|
+
*
|
|
36
|
+
* In order to make this transaction, token allowances need to be set on the following contracts.
|
|
37
|
+
*
|
|
38
|
+
* - `OdosRouter`
|
|
39
|
+
* </Info>
|
|
40
|
+
*/
|
|
41
|
+
export function swapOdos(
|
|
42
|
+
client: CompassApiSDKCore,
|
|
43
|
+
request: components.OdosSwapRequest,
|
|
44
|
+
options?: RequestOptions,
|
|
45
|
+
): APIPromise<
|
|
46
|
+
Result<
|
|
47
|
+
components.TxResponse,
|
|
48
|
+
| errors.HTTPValidationError
|
|
49
|
+
| CompassAPISDKError
|
|
50
|
+
| ResponseValidationError
|
|
51
|
+
| ConnectionError
|
|
52
|
+
| RequestAbortedError
|
|
53
|
+
| RequestTimeoutError
|
|
54
|
+
| InvalidRequestError
|
|
55
|
+
| UnexpectedClientError
|
|
56
|
+
| SDKValidationError
|
|
57
|
+
>
|
|
58
|
+
> {
|
|
59
|
+
return new APIPromise($do(
|
|
60
|
+
client,
|
|
61
|
+
request,
|
|
62
|
+
options,
|
|
63
|
+
));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
async function $do(
|
|
67
|
+
client: CompassApiSDKCore,
|
|
68
|
+
request: components.OdosSwapRequest,
|
|
69
|
+
options?: RequestOptions,
|
|
70
|
+
): Promise<
|
|
71
|
+
[
|
|
72
|
+
Result<
|
|
73
|
+
components.TxResponse,
|
|
74
|
+
| errors.HTTPValidationError
|
|
75
|
+
| CompassAPISDKError
|
|
76
|
+
| ResponseValidationError
|
|
77
|
+
| ConnectionError
|
|
78
|
+
| RequestAbortedError
|
|
79
|
+
| RequestTimeoutError
|
|
80
|
+
| InvalidRequestError
|
|
81
|
+
| UnexpectedClientError
|
|
82
|
+
| SDKValidationError
|
|
83
|
+
>,
|
|
84
|
+
APICall,
|
|
85
|
+
]
|
|
86
|
+
> {
|
|
87
|
+
const parsed = safeParse(
|
|
88
|
+
request,
|
|
89
|
+
(value) => components.OdosSwapRequest$outboundSchema.parse(value),
|
|
90
|
+
"Input validation failed",
|
|
91
|
+
);
|
|
92
|
+
if (!parsed.ok) {
|
|
93
|
+
return [parsed, { status: "invalid" }];
|
|
94
|
+
}
|
|
95
|
+
const payload = parsed.value;
|
|
96
|
+
const body = encodeJSON("body", payload, { explode: true });
|
|
97
|
+
|
|
98
|
+
const path = pathToFunc("/v0/swap/odos")();
|
|
99
|
+
|
|
100
|
+
const headers = new Headers(compactMap({
|
|
101
|
+
"Content-Type": "application/json",
|
|
102
|
+
Accept: "application/json",
|
|
103
|
+
}));
|
|
104
|
+
|
|
105
|
+
const secConfig = await extractSecurity(client._options.apiKeyAuth);
|
|
106
|
+
const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
|
|
107
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
108
|
+
|
|
109
|
+
const context = {
|
|
110
|
+
options: client._options,
|
|
111
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
112
|
+
operationID: "swap_odos",
|
|
113
|
+
oAuth2Scopes: [],
|
|
114
|
+
|
|
115
|
+
resolvedSecurity: requestSecurity,
|
|
116
|
+
|
|
117
|
+
securitySource: client._options.apiKeyAuth,
|
|
118
|
+
retryConfig: options?.retries
|
|
119
|
+
|| client._options.retryConfig
|
|
120
|
+
|| { strategy: "none" },
|
|
121
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const requestRes = client._createRequest(context, {
|
|
125
|
+
security: requestSecurity,
|
|
126
|
+
method: "POST",
|
|
127
|
+
baseURL: options?.serverURL,
|
|
128
|
+
path: path,
|
|
129
|
+
headers: headers,
|
|
130
|
+
body: body,
|
|
131
|
+
userAgent: client._options.userAgent,
|
|
132
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
133
|
+
}, options);
|
|
134
|
+
if (!requestRes.ok) {
|
|
135
|
+
return [requestRes, { status: "invalid" }];
|
|
136
|
+
}
|
|
137
|
+
const req = requestRes.value;
|
|
138
|
+
|
|
139
|
+
const doResult = await client._do(req, {
|
|
140
|
+
context,
|
|
141
|
+
errorCodes: ["422", "4XX", "5XX"],
|
|
142
|
+
retryConfig: context.retryConfig,
|
|
143
|
+
retryCodes: context.retryCodes,
|
|
144
|
+
});
|
|
145
|
+
if (!doResult.ok) {
|
|
146
|
+
return [doResult, { status: "request-error", request: req }];
|
|
147
|
+
}
|
|
148
|
+
const response = doResult.value;
|
|
149
|
+
|
|
150
|
+
const responseFields = {
|
|
151
|
+
HttpMeta: { Response: response, Request: req },
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
const [result] = await M.match<
|
|
155
|
+
components.TxResponse,
|
|
156
|
+
| errors.HTTPValidationError
|
|
157
|
+
| CompassAPISDKError
|
|
158
|
+
| ResponseValidationError
|
|
159
|
+
| ConnectionError
|
|
160
|
+
| RequestAbortedError
|
|
161
|
+
| RequestTimeoutError
|
|
162
|
+
| InvalidRequestError
|
|
163
|
+
| UnexpectedClientError
|
|
164
|
+
| SDKValidationError
|
|
165
|
+
>(
|
|
166
|
+
M.json(200, components.TxResponse$inboundSchema),
|
|
167
|
+
M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
|
|
168
|
+
M.fail("4XX"),
|
|
169
|
+
M.fail("5XX"),
|
|
170
|
+
)(response, req, { extraFields: responseFields });
|
|
171
|
+
if (!result.ok) {
|
|
172
|
+
return [result, { status: "complete", request: req, response }];
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return [result, { status: "complete", request: req, response }];
|
|
176
|
+
}
|
package/src/lib/config.ts
CHANGED
|
@@ -61,8 +61,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
61
61
|
export const SDK_METADATA = {
|
|
62
62
|
language: "typescript",
|
|
63
63
|
openapiDocVersion: "0.0.1",
|
|
64
|
-
sdkVersion: "0.5.
|
|
65
|
-
genVersion: "2.
|
|
64
|
+
sdkVersion: "0.5.48",
|
|
65
|
+
genVersion: "2.657.1",
|
|
66
66
|
userAgent:
|
|
67
|
-
"speakeasy-sdk/typescript 0.5.
|
|
67
|
+
"speakeasy-sdk/typescript 0.5.48 2.657.1 0.0.1 @compass-labs/api-sdk",
|
|
68
68
|
} as const;
|
package/src/mcp-server/server.ts
CHANGED
|
@@ -65,6 +65,7 @@ import { tool$skyPosition } from "./tools/skyPosition.js";
|
|
|
65
65
|
import { tool$skySell } from "./tools/skySell.js";
|
|
66
66
|
import { tool$skyWithdraw } from "./tools/skyWithdraw.js";
|
|
67
67
|
import { tool$smartAccountAccountBatchedUserOperations } from "./tools/smartAccountAccountBatchedUserOperations.js";
|
|
68
|
+
import { tool$swapOdos } from "./tools/swapOdos.js";
|
|
68
69
|
import { tool$tokenAddress } from "./tools/tokenAddress.js";
|
|
69
70
|
import { tool$tokenBalance } from "./tools/tokenBalance.js";
|
|
70
71
|
import { tool$tokenPrice } from "./tools/tokenPrice.js";
|
|
@@ -101,7 +102,7 @@ export function createMCPServer(deps: {
|
|
|
101
102
|
}) {
|
|
102
103
|
const server = new McpServer({
|
|
103
104
|
name: "CompassApiSDK",
|
|
104
|
-
version: "0.5.
|
|
105
|
+
version: "0.5.48",
|
|
105
106
|
});
|
|
106
107
|
|
|
107
108
|
const client = new CompassApiSDKCore({
|
|
@@ -201,6 +202,7 @@ export function createMCPServer(deps: {
|
|
|
201
202
|
tool(tool$pendleRedeemYield);
|
|
202
203
|
tool(tool$pendleAddLiquidity);
|
|
203
204
|
tool(tool$pendleRemoveLiquidity);
|
|
205
|
+
tool(tool$swapOdos);
|
|
204
206
|
tool(tool$transactionBundlerBundlerAuthorization);
|
|
205
207
|
tool(tool$transactionBundlerBundlerExecute);
|
|
206
208
|
tool(tool$transactionBundlerBundlerAaveLoop);
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { swapOdos } from "../../funcs/swapOdos.js";
|
|
6
|
+
import * as components from "../../models/components/index.js";
|
|
7
|
+
import { formatResult, ToolDefinition } from "../tools.js";
|
|
8
|
+
|
|
9
|
+
const args = {
|
|
10
|
+
request: components.OdosSwapRequest$inboundSchema,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const tool$swapOdos: ToolDefinition<typeof args> = {
|
|
14
|
+
name: "swap-odos",
|
|
15
|
+
description: `Odos Swap
|
|
16
|
+
|
|
17
|
+
Swap between two tokens using Odos Smart Order Routing.
|
|
18
|
+
<Info>
|
|
19
|
+
**Required Allowances**
|
|
20
|
+
|
|
21
|
+
In order to make this transaction, token allowances need to be set on the following contracts.
|
|
22
|
+
|
|
23
|
+
- \`OdosRouter\`
|
|
24
|
+
</Info>
|
|
25
|
+
`,
|
|
26
|
+
args,
|
|
27
|
+
tool: async (client, args, ctx) => {
|
|
28
|
+
const [result, apiCall] = await swapOdos(
|
|
29
|
+
client,
|
|
30
|
+
args.request,
|
|
31
|
+
{ fetchOptions: { signal: ctx.signal } },
|
|
32
|
+
).$inspect();
|
|
33
|
+
|
|
34
|
+
if (!result.ok) {
|
|
35
|
+
return {
|
|
36
|
+
content: [{ type: "text", text: result.error.message }],
|
|
37
|
+
isError: true,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const value = result.value;
|
|
42
|
+
|
|
43
|
+
return formatResult(value, apiCall);
|
|
44
|
+
},
|
|
45
|
+
};
|
|
@@ -90,6 +90,8 @@ export * from "./movement10percent.js";
|
|
|
90
90
|
export * from "./multicallauthorizationrequest.js";
|
|
91
91
|
export * from "./multicallauthorizationresponse.js";
|
|
92
92
|
export * from "./multicallexecuterequest.js";
|
|
93
|
+
export * from "./odosswapparams.js";
|
|
94
|
+
export * from "./odosswaprequest.js";
|
|
93
95
|
export * from "./openposition.js";
|
|
94
96
|
export * from "./pendleaddliquidityparams.js";
|
|
95
97
|
export * from "./pendleaddliquidityrequest.js";
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod";
|
|
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
|
+
TokenEnum,
|
|
12
|
+
TokenEnum$inboundSchema,
|
|
13
|
+
TokenEnum$outboundSchema,
|
|
14
|
+
} from "./tokenenum.js";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The symbol or address of the token that is to be sold.
|
|
18
|
+
*/
|
|
19
|
+
export type OdosSwapParamsTokenIn = TokenEnum | string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The symbol or address of the token that is to be bought.
|
|
23
|
+
*/
|
|
24
|
+
export type OdosSwapParamsTokenOut = TokenEnum | string;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The amount of token_in to be sold.
|
|
28
|
+
*/
|
|
29
|
+
export type OdosSwapParamsAmount = number | string;
|
|
30
|
+
|
|
31
|
+
export type OdosSwapParams = {
|
|
32
|
+
actionType?: "ODOS_SWAP" | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* The symbol or address of the token that is to be sold.
|
|
35
|
+
*/
|
|
36
|
+
tokenIn: TokenEnum | string;
|
|
37
|
+
/**
|
|
38
|
+
* The symbol or address of the token that is to be bought.
|
|
39
|
+
*/
|
|
40
|
+
tokenOut: TokenEnum | string;
|
|
41
|
+
/**
|
|
42
|
+
* The amount of token_in to be sold.
|
|
43
|
+
*/
|
|
44
|
+
amount: number | string;
|
|
45
|
+
/**
|
|
46
|
+
* The maximum slippage allowed in percent. e.g. `1` means `1%` slippage allowed.
|
|
47
|
+
*/
|
|
48
|
+
maxSlippagePercent: number;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/** @internal */
|
|
52
|
+
export const OdosSwapParamsTokenIn$inboundSchema: z.ZodType<
|
|
53
|
+
OdosSwapParamsTokenIn,
|
|
54
|
+
z.ZodTypeDef,
|
|
55
|
+
unknown
|
|
56
|
+
> = z.union([TokenEnum$inboundSchema, z.string()]);
|
|
57
|
+
|
|
58
|
+
/** @internal */
|
|
59
|
+
export type OdosSwapParamsTokenIn$Outbound = string | string;
|
|
60
|
+
|
|
61
|
+
/** @internal */
|
|
62
|
+
export const OdosSwapParamsTokenIn$outboundSchema: z.ZodType<
|
|
63
|
+
OdosSwapParamsTokenIn$Outbound,
|
|
64
|
+
z.ZodTypeDef,
|
|
65
|
+
OdosSwapParamsTokenIn
|
|
66
|
+
> = z.union([TokenEnum$outboundSchema, z.string()]);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @internal
|
|
70
|
+
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
|
|
71
|
+
*/
|
|
72
|
+
export namespace OdosSwapParamsTokenIn$ {
|
|
73
|
+
/** @deprecated use `OdosSwapParamsTokenIn$inboundSchema` instead. */
|
|
74
|
+
export const inboundSchema = OdosSwapParamsTokenIn$inboundSchema;
|
|
75
|
+
/** @deprecated use `OdosSwapParamsTokenIn$outboundSchema` instead. */
|
|
76
|
+
export const outboundSchema = OdosSwapParamsTokenIn$outboundSchema;
|
|
77
|
+
/** @deprecated use `OdosSwapParamsTokenIn$Outbound` instead. */
|
|
78
|
+
export type Outbound = OdosSwapParamsTokenIn$Outbound;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function odosSwapParamsTokenInToJSON(
|
|
82
|
+
odosSwapParamsTokenIn: OdosSwapParamsTokenIn,
|
|
83
|
+
): string {
|
|
84
|
+
return JSON.stringify(
|
|
85
|
+
OdosSwapParamsTokenIn$outboundSchema.parse(odosSwapParamsTokenIn),
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export function odosSwapParamsTokenInFromJSON(
|
|
90
|
+
jsonString: string,
|
|
91
|
+
): SafeParseResult<OdosSwapParamsTokenIn, SDKValidationError> {
|
|
92
|
+
return safeParse(
|
|
93
|
+
jsonString,
|
|
94
|
+
(x) => OdosSwapParamsTokenIn$inboundSchema.parse(JSON.parse(x)),
|
|
95
|
+
`Failed to parse 'OdosSwapParamsTokenIn' from JSON`,
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/** @internal */
|
|
100
|
+
export const OdosSwapParamsTokenOut$inboundSchema: z.ZodType<
|
|
101
|
+
OdosSwapParamsTokenOut,
|
|
102
|
+
z.ZodTypeDef,
|
|
103
|
+
unknown
|
|
104
|
+
> = z.union([TokenEnum$inboundSchema, z.string()]);
|
|
105
|
+
|
|
106
|
+
/** @internal */
|
|
107
|
+
export type OdosSwapParamsTokenOut$Outbound = string | string;
|
|
108
|
+
|
|
109
|
+
/** @internal */
|
|
110
|
+
export const OdosSwapParamsTokenOut$outboundSchema: z.ZodType<
|
|
111
|
+
OdosSwapParamsTokenOut$Outbound,
|
|
112
|
+
z.ZodTypeDef,
|
|
113
|
+
OdosSwapParamsTokenOut
|
|
114
|
+
> = z.union([TokenEnum$outboundSchema, z.string()]);
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* @internal
|
|
118
|
+
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
|
|
119
|
+
*/
|
|
120
|
+
export namespace OdosSwapParamsTokenOut$ {
|
|
121
|
+
/** @deprecated use `OdosSwapParamsTokenOut$inboundSchema` instead. */
|
|
122
|
+
export const inboundSchema = OdosSwapParamsTokenOut$inboundSchema;
|
|
123
|
+
/** @deprecated use `OdosSwapParamsTokenOut$outboundSchema` instead. */
|
|
124
|
+
export const outboundSchema = OdosSwapParamsTokenOut$outboundSchema;
|
|
125
|
+
/** @deprecated use `OdosSwapParamsTokenOut$Outbound` instead. */
|
|
126
|
+
export type Outbound = OdosSwapParamsTokenOut$Outbound;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export function odosSwapParamsTokenOutToJSON(
|
|
130
|
+
odosSwapParamsTokenOut: OdosSwapParamsTokenOut,
|
|
131
|
+
): string {
|
|
132
|
+
return JSON.stringify(
|
|
133
|
+
OdosSwapParamsTokenOut$outboundSchema.parse(odosSwapParamsTokenOut),
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export function odosSwapParamsTokenOutFromJSON(
|
|
138
|
+
jsonString: string,
|
|
139
|
+
): SafeParseResult<OdosSwapParamsTokenOut, SDKValidationError> {
|
|
140
|
+
return safeParse(
|
|
141
|
+
jsonString,
|
|
142
|
+
(x) => OdosSwapParamsTokenOut$inboundSchema.parse(JSON.parse(x)),
|
|
143
|
+
`Failed to parse 'OdosSwapParamsTokenOut' from JSON`,
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/** @internal */
|
|
148
|
+
export const OdosSwapParamsAmount$inboundSchema: z.ZodType<
|
|
149
|
+
OdosSwapParamsAmount,
|
|
150
|
+
z.ZodTypeDef,
|
|
151
|
+
unknown
|
|
152
|
+
> = z.union([z.number(), z.string()]);
|
|
153
|
+
|
|
154
|
+
/** @internal */
|
|
155
|
+
export type OdosSwapParamsAmount$Outbound = number | string;
|
|
156
|
+
|
|
157
|
+
/** @internal */
|
|
158
|
+
export const OdosSwapParamsAmount$outboundSchema: z.ZodType<
|
|
159
|
+
OdosSwapParamsAmount$Outbound,
|
|
160
|
+
z.ZodTypeDef,
|
|
161
|
+
OdosSwapParamsAmount
|
|
162
|
+
> = z.union([z.number(), z.string()]);
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* @internal
|
|
166
|
+
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
|
|
167
|
+
*/
|
|
168
|
+
export namespace OdosSwapParamsAmount$ {
|
|
169
|
+
/** @deprecated use `OdosSwapParamsAmount$inboundSchema` instead. */
|
|
170
|
+
export const inboundSchema = OdosSwapParamsAmount$inboundSchema;
|
|
171
|
+
/** @deprecated use `OdosSwapParamsAmount$outboundSchema` instead. */
|
|
172
|
+
export const outboundSchema = OdosSwapParamsAmount$outboundSchema;
|
|
173
|
+
/** @deprecated use `OdosSwapParamsAmount$Outbound` instead. */
|
|
174
|
+
export type Outbound = OdosSwapParamsAmount$Outbound;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export function odosSwapParamsAmountToJSON(
|
|
178
|
+
odosSwapParamsAmount: OdosSwapParamsAmount,
|
|
179
|
+
): string {
|
|
180
|
+
return JSON.stringify(
|
|
181
|
+
OdosSwapParamsAmount$outboundSchema.parse(odosSwapParamsAmount),
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export function odosSwapParamsAmountFromJSON(
|
|
186
|
+
jsonString: string,
|
|
187
|
+
): SafeParseResult<OdosSwapParamsAmount, SDKValidationError> {
|
|
188
|
+
return safeParse(
|
|
189
|
+
jsonString,
|
|
190
|
+
(x) => OdosSwapParamsAmount$inboundSchema.parse(JSON.parse(x)),
|
|
191
|
+
`Failed to parse 'OdosSwapParamsAmount' from JSON`,
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/** @internal */
|
|
196
|
+
export const OdosSwapParams$inboundSchema: z.ZodType<
|
|
197
|
+
OdosSwapParams,
|
|
198
|
+
z.ZodTypeDef,
|
|
199
|
+
unknown
|
|
200
|
+
> = z.object({
|
|
201
|
+
action_type: z.literal("ODOS_SWAP").default("ODOS_SWAP"),
|
|
202
|
+
token_in: z.union([TokenEnum$inboundSchema, z.string()]),
|
|
203
|
+
token_out: z.union([TokenEnum$inboundSchema, z.string()]),
|
|
204
|
+
amount: z.union([z.number(), z.string()]),
|
|
205
|
+
max_slippage_percent: z.number(),
|
|
206
|
+
}).transform((v) => {
|
|
207
|
+
return remap$(v, {
|
|
208
|
+
"action_type": "actionType",
|
|
209
|
+
"token_in": "tokenIn",
|
|
210
|
+
"token_out": "tokenOut",
|
|
211
|
+
"max_slippage_percent": "maxSlippagePercent",
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
/** @internal */
|
|
216
|
+
export type OdosSwapParams$Outbound = {
|
|
217
|
+
action_type: "ODOS_SWAP";
|
|
218
|
+
token_in: string | string;
|
|
219
|
+
token_out: string | string;
|
|
220
|
+
amount: number | string;
|
|
221
|
+
max_slippage_percent: number;
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
/** @internal */
|
|
225
|
+
export const OdosSwapParams$outboundSchema: z.ZodType<
|
|
226
|
+
OdosSwapParams$Outbound,
|
|
227
|
+
z.ZodTypeDef,
|
|
228
|
+
OdosSwapParams
|
|
229
|
+
> = z.object({
|
|
230
|
+
actionType: z.literal("ODOS_SWAP").default("ODOS_SWAP" as const),
|
|
231
|
+
tokenIn: z.union([TokenEnum$outboundSchema, z.string()]),
|
|
232
|
+
tokenOut: z.union([TokenEnum$outboundSchema, z.string()]),
|
|
233
|
+
amount: z.union([z.number(), z.string()]),
|
|
234
|
+
maxSlippagePercent: z.number(),
|
|
235
|
+
}).transform((v) => {
|
|
236
|
+
return remap$(v, {
|
|
237
|
+
actionType: "action_type",
|
|
238
|
+
tokenIn: "token_in",
|
|
239
|
+
tokenOut: "token_out",
|
|
240
|
+
maxSlippagePercent: "max_slippage_percent",
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* @internal
|
|
246
|
+
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
|
|
247
|
+
*/
|
|
248
|
+
export namespace OdosSwapParams$ {
|
|
249
|
+
/** @deprecated use `OdosSwapParams$inboundSchema` instead. */
|
|
250
|
+
export const inboundSchema = OdosSwapParams$inboundSchema;
|
|
251
|
+
/** @deprecated use `OdosSwapParams$outboundSchema` instead. */
|
|
252
|
+
export const outboundSchema = OdosSwapParams$outboundSchema;
|
|
253
|
+
/** @deprecated use `OdosSwapParams$Outbound` instead. */
|
|
254
|
+
export type Outbound = OdosSwapParams$Outbound;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export function odosSwapParamsToJSON(odosSwapParams: OdosSwapParams): string {
|
|
258
|
+
return JSON.stringify(OdosSwapParams$outboundSchema.parse(odosSwapParams));
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export function odosSwapParamsFromJSON(
|
|
262
|
+
jsonString: string,
|
|
263
|
+
): SafeParseResult<OdosSwapParams, SDKValidationError> {
|
|
264
|
+
return safeParse(
|
|
265
|
+
jsonString,
|
|
266
|
+
(x) => OdosSwapParams$inboundSchema.parse(JSON.parse(x)),
|
|
267
|
+
`Failed to parse 'OdosSwapParams' from JSON`,
|
|
268
|
+
);
|
|
269
|
+
}
|