@oobe-protocol-labs/sap-mcp-server 0.9.36 → 0.9.38

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 (71) hide show
  1. package/.env.example +14 -0
  2. package/CHANGELOG.md +101 -0
  3. package/README.md +3 -3
  4. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
  5. package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
  6. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
  7. package/dist/config/env.d.ts +32 -0
  8. package/dist/config/env.d.ts.map +1 -1
  9. package/dist/config/env.js +24 -1
  10. package/dist/config/env.js.map +1 -1
  11. package/dist/core/constants.d.ts +1 -1
  12. package/dist/core/constants.js +1 -1
  13. package/dist/core/logger.js +1 -1
  14. package/dist/payments/monetization-gate.d.ts.map +1 -1
  15. package/dist/payments/monetization-gate.js +4 -0
  16. package/dist/payments/monetization-gate.js.map +1 -1
  17. package/dist/payments/pricing.d.ts.map +1 -1
  18. package/dist/payments/pricing.js +39 -1
  19. package/dist/payments/pricing.js.map +1 -1
  20. package/dist/perps/adrena/adrena-builder.d.ts +301 -0
  21. package/dist/perps/adrena/adrena-builder.d.ts.map +1 -0
  22. package/dist/perps/adrena/adrena-builder.js +1148 -0
  23. package/dist/perps/adrena/adrena-builder.js.map +1 -0
  24. package/dist/perps/adrena/adrena-constants.d.ts +135 -0
  25. package/dist/perps/adrena/adrena-constants.d.ts.map +1 -0
  26. package/dist/perps/adrena/adrena-constants.js +100 -0
  27. package/dist/perps/adrena/adrena-constants.js.map +1 -0
  28. package/dist/perps/adrena/adrena-data-api.d.ts +180 -0
  29. package/dist/perps/adrena/adrena-data-api.d.ts.map +1 -0
  30. package/dist/perps/adrena/adrena-data-api.js +169 -0
  31. package/dist/perps/adrena/adrena-data-api.js.map +1 -0
  32. package/dist/perps/adrena/adrena-pda.d.ts +146 -0
  33. package/dist/perps/adrena/adrena-pda.d.ts.map +1 -0
  34. package/dist/perps/adrena/adrena-pda.js +215 -0
  35. package/dist/perps/adrena/adrena-pda.js.map +1 -0
  36. package/dist/perps/adrena/index.d.ts +11 -0
  37. package/dist/perps/adrena/index.d.ts.map +1 -0
  38. package/dist/perps/adrena/index.js +11 -0
  39. package/dist/perps/adrena/index.js.map +1 -0
  40. package/dist/server/server-metadata.d.ts +2 -0
  41. package/dist/server/server-metadata.d.ts.map +1 -1
  42. package/dist/server/server-metadata.js +3 -1
  43. package/dist/server/server-metadata.js.map +1 -1
  44. package/dist/tools/adrena-tools.d.ts +67 -0
  45. package/dist/tools/adrena-tools.d.ts.map +1 -0
  46. package/dist/tools/adrena-tools.js +1062 -0
  47. package/dist/tools/adrena-tools.js.map +1 -0
  48. package/dist/tools/client-sdk-tools.d.ts +15 -0
  49. package/dist/tools/client-sdk-tools.d.ts.map +1 -1
  50. package/dist/tools/client-sdk-tools.js +63 -8
  51. package/dist/tools/client-sdk-tools.js.map +1 -1
  52. package/dist/tools/estimate-tool-cost.d.ts.map +1 -1
  53. package/dist/tools/estimate-tool-cost.js +16 -61
  54. package/dist/tools/estimate-tool-cost.js.map +1 -1
  55. package/dist/tools/perp-tools.d.ts +150 -7
  56. package/dist/tools/perp-tools.d.ts.map +1 -1
  57. package/dist/tools/perp-tools.js +787 -212
  58. package/dist/tools/perp-tools.js.map +1 -1
  59. package/dist/tools/quick-context-tool.js +1 -0
  60. package/dist/tools/quick-context-tool.js.map +1 -1
  61. package/dist/tools/register-tools.d.ts.map +1 -1
  62. package/dist/tools/register-tools.js +4 -0
  63. package/dist/tools/register-tools.js.map +1 -1
  64. package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
  65. package/docs/10_OPERATIONS_RELEASE_AND_PM2.md +54 -6
  66. package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
  67. package/docs/BRANCH_AND_CI.md +2 -2
  68. package/package.json +3 -3
  69. package/server.json +3 -3
  70. package/skills/sap-defi/SKILL.md +93 -22
  71. package/skills/sap-mcp/TOOL_REFERENCE.md +39 -4
@@ -0,0 +1,301 @@
1
+ /**
2
+ * @name perps/adrena/adrena-builder
3
+ * @description Local unsigned transaction builder for the Adrena perps protocol.
4
+ *
5
+ * Uses the vendored Adrena Anchor IDL (release/39) to build real on-chain
6
+ * instructions via `@coral-xyz/anchor`, then wraps them in unsigned
7
+ * `@solana/web3.js` transactions for local signing via
8
+ * `sap_payments_finalize_transaction`.
9
+ *
10
+ * This module NEVER signs transactions. It only constructs unsigned
11
+ * transactions and returns them as base64-serialized bytes.
12
+ *
13
+ * @module perps/adrena/adrena-builder
14
+ */
15
+ import { PublicKey, Connection } from '@solana/web3.js';
16
+ /** Side of a perp position. */
17
+ export type PositionSide = 'long' | 'short';
18
+ /** Pool identifier. */
19
+ export type AdrenaPool = 'main-pool' | 'commodities-pool';
20
+ /** Result of building an unsigned transaction. */
21
+ export interface UnsignedTransactionResult {
22
+ /** Base64-serialized unsigned transaction. */
23
+ transactionBase64: string;
24
+ /** Transaction encoding. */
25
+ encoding: 'base64';
26
+ /** Fee payer public key. */
27
+ feePayer: string;
28
+ /** Description of the instructions included. */
29
+ instructions: string[];
30
+ /** The position PDA if relevant. */
31
+ positionAddress?: string;
32
+ /** Next tool to call for signing. */
33
+ nextTool: 'sap_payments_finalize_transaction';
34
+ /** Arguments to pass to the finalize tool. */
35
+ finalizeArgs: {
36
+ transactionBase64: string;
37
+ submit: boolean;
38
+ };
39
+ }
40
+ /**
41
+ * @name buildOpenPositionLong
42
+ * @description Build an unsigned transaction to open a long position on Adrena.
43
+ *
44
+ * @param connection — Solana RPC connection.
45
+ * @param owner — Position owner and fee payer.
46
+ * @param principalToken — Asset to trade (e.g. "JITOSOL").
47
+ * @param collateralToken — Collateral token (must match principal for longs).
48
+ * @param collateralAmount — Collateral amount in human-readable units (e.g. 10 = 10 JITOSOL).
49
+ * @param leverage — Leverage multiplier.
50
+ * @param price — Price in USD (scaled by 10^10), or null for market order.
51
+ * @returns Unsigned transaction result.
52
+ */
53
+ export declare function buildOpenPositionLong(connection: Connection, owner: PublicKey, principalToken: string, collateralToken: string, collateralAmount: number, leverage: number, price: bigint | null): Promise<UnsignedTransactionResult>;
54
+ /**
55
+ * @name buildOpenPositionShort
56
+ * @description Build an unsigned transaction to open a short position on Adrena.
57
+ *
58
+ * @param connection — Solana RPC connection.
59
+ * @param owner — Position owner and fee payer.
60
+ * @param principalToken — Asset to short (e.g. "JITOSOL").
61
+ * @param collateralToken — Collateral token (must be USDC for shorts).
62
+ * @param collateralAmount — Collateral amount in human-readable units.
63
+ * @param leverage — Leverage multiplier.
64
+ * @param price — Price in USD (scaled by 10^10), or null for market order.
65
+ * @returns Unsigned transaction result.
66
+ */
67
+ export declare function buildOpenPositionShort(connection: Connection, owner: PublicKey, principalToken: string, collateralToken: string, collateralAmount: number, leverage: number, price: bigint | null): Promise<UnsignedTransactionResult>;
68
+ /**
69
+ * @name buildClosePositionLong
70
+ * @description Build an unsigned transaction to close a long position on Adrena.
71
+ *
72
+ * @param connection — Solana RPC connection.
73
+ * @param owner — Position owner and fee payer.
74
+ * @param principalToken — Asset of the position.
75
+ * @param price — Optional close price (scaled by 10^10), null for market close.
76
+ * @param percentage — Percentage to close (1_000_000 = 100%).
77
+ * @returns Unsigned transaction result.
78
+ */
79
+ export declare function buildClosePositionLong(connection: Connection, owner: PublicKey, principalToken: string, price: bigint | null, percentage?: bigint): Promise<UnsignedTransactionResult>;
80
+ /**
81
+ * @name buildClosePositionShort
82
+ * @description Build an unsigned transaction to close a short position on Adrena.
83
+ *
84
+ * @param connection — Solana RPC connection.
85
+ * @param owner — Position owner and fee payer.
86
+ * @param principalToken — Asset of the position.
87
+ * @param collateralToken — Collateral token (USDC for shorts).
88
+ * @param price — Optional close price (scaled by 10^10), null for market close.
89
+ * @param percentage — Percentage to close (1_000_000 = 100%).
90
+ * @returns Unsigned transaction result.
91
+ */
92
+ export declare function buildClosePositionShort(connection: Connection, owner: PublicKey, principalToken: string, collateralToken: string, price: bigint | null, percentage?: bigint): Promise<UnsignedTransactionResult>;
93
+ /**
94
+ * @name buildSetStopLoss
95
+ * @description Build an unsigned transaction to set stop loss on a position.
96
+ *
97
+ * @param connection — Solana RPC connection.
98
+ * @param owner — Position owner and fee payer.
99
+ * @param principalToken — Asset of the position.
100
+ * @param side — Position side.
101
+ * @param stopLossLimitPrice — Stop loss trigger price (scaled by 10^10).
102
+ * @param closePositionPrice — Optional close position price (scaled by 10^10).
103
+ * @returns Unsigned transaction result.
104
+ */
105
+ export declare function buildSetStopLoss(connection: Connection, owner: PublicKey, principalToken: string, side: PositionSide, stopLossLimitPrice: bigint, closePositionPrice: bigint | null): Promise<UnsignedTransactionResult>;
106
+ /**
107
+ * @name buildSetTakeProfit
108
+ * @description Build an unsigned transaction to set take profit on a position.
109
+ *
110
+ * @param connection — Solana RPC connection.
111
+ * @param owner — Position owner and fee payer.
112
+ * @param principalToken — Asset of the position.
113
+ * @param side — Position side.
114
+ * @param takeProfitLimitPrice — Take profit trigger price (scaled by 10^10).
115
+ * @returns Unsigned transaction result.
116
+ */
117
+ export declare function buildSetTakeProfit(connection: Connection, owner: PublicKey, principalToken: string, side: PositionSide, takeProfitLimitPrice: bigint): Promise<UnsignedTransactionResult>;
118
+ /**
119
+ * @name buildCancelStopLoss
120
+ * @description Build an unsigned transaction to cancel stop loss on a position.
121
+ * @param connection — Solana RPC connection.
122
+ * @param owner — Position owner and fee payer.
123
+ * @param principalToken — Asset of the position.
124
+ * @param side — Position side.
125
+ * @returns Unsigned transaction result.
126
+ */
127
+ export declare function buildCancelStopLoss(connection: Connection, owner: PublicKey, principalToken: string, side: PositionSide): Promise<UnsignedTransactionResult>;
128
+ /**
129
+ * @name buildCancelTakeProfit
130
+ * @description Build an unsigned transaction to cancel take profit on a position.
131
+ * @param connection — Solana RPC connection.
132
+ * @param owner — Position owner and fee payer.
133
+ * @param principalToken — Asset of the position.
134
+ * @param side — Position side.
135
+ * @returns Unsigned transaction result.
136
+ */
137
+ export declare function buildCancelTakeProfit(connection: Connection, owner: PublicKey, principalToken: string, side: PositionSide): Promise<UnsignedTransactionResult>;
138
+ /**
139
+ * @name buildAddLimitOrder
140
+ * @description Build an unsigned transaction to place a limit order on Adrena.
141
+ *
142
+ * @param connection — Solana RPC connection.
143
+ * @param owner — Order owner and fee payer.
144
+ * @param principalToken — Asset to trade.
145
+ * @param collateralToken — Collateral token.
146
+ * @param collateralAmount — Collateral amount in human-readable units.
147
+ * @param leverage — Leverage multiplier.
148
+ * @param side — Order side: long or short.
149
+ * @param triggerPrice — Trigger price (scaled by 10^10).
150
+ * @param limitPrice — Optional limit price (scaled by 10^10), null for market at fill.
151
+ * @returns Unsigned transaction result.
152
+ */
153
+ export declare function buildAddLimitOrder(connection: Connection, owner: PublicKey, principalToken: string, collateralToken: string, collateralAmount: number, leverage: number, side: PositionSide, triggerPrice: bigint, limitPrice: bigint | null): Promise<UnsignedTransactionResult>;
154
+ /**
155
+ * @name buildCancelLimitOrder
156
+ * @description Build an unsigned transaction to cancel a limit order on Adrena.
157
+ *
158
+ * @param connection — Solana RPC connection.
159
+ * @param owner — Order owner and fee payer.
160
+ * @param collateralToken — Collateral token.
161
+ * @param orderId — Limit order ID.
162
+ * @returns Unsigned transaction result.
163
+ */
164
+ export declare function buildCancelLimitOrder(connection: Connection, owner: PublicKey, collateralToken: string, orderId: bigint): Promise<UnsignedTransactionResult>;
165
+ /**
166
+ * @name buildAddLiquidity
167
+ * @description Build an unsigned transaction to add liquidity to an Adrena pool.
168
+ *
169
+ * @param connection — Solana RPC connection.
170
+ * @param owner — Liquidity provider and fee payer.
171
+ * @param collateralToken — Collateral token to deposit.
172
+ * @param amountIn — Amount in human-readable units.
173
+ * @param minLpAmountOut — Minimum LP tokens to receive (0 for no slippage protection).
174
+ * @param poolName — Pool to add liquidity to.
175
+ * @returns Unsigned transaction result.
176
+ */
177
+ export declare function buildAddLiquidity(connection: Connection, owner: PublicKey, collateralToken: string, amountIn: number, minLpAmountOut?: bigint, poolName?: AdrenaPool): Promise<UnsignedTransactionResult>;
178
+ /**
179
+ * @name buildRemoveLiquidity
180
+ * @description Build an unsigned transaction to remove liquidity from an Adrena pool.
181
+ *
182
+ * @param connection — Solana RPC connection.
183
+ * @param owner — Liquidity provider and fee payer.
184
+ * @param collateralToken — Collateral token to receive.
185
+ * @param lpAmountIn — LP tokens to burn (raw, 6 decimals).
186
+ * @param minAmountOut — Minimum collateral to receive (raw, 0 for no slippage protection).
187
+ * @param poolName — Pool to remove liquidity from.
188
+ * @returns Unsigned transaction result.
189
+ */
190
+ export declare function buildRemoveLiquidity(connection: Connection, owner: PublicKey, collateralToken: string, lpAmountIn: bigint, minAmountOut?: bigint, poolName?: AdrenaPool): Promise<UnsignedTransactionResult>;
191
+ /**
192
+ * @name buildSwap
193
+ * @description Build an unsigned transaction to swap tokens through an Adrena pool.
194
+ *
195
+ * @param connection — Solana RPC connection.
196
+ * @param owner — Swapper and fee payer.
197
+ * @param fromToken — Token to swap from.
198
+ * @param toToken — Token to swap to.
199
+ * @param amountIn — Amount in human-readable units.
200
+ * @param minAmountOut — Minimum amount to receive (raw, 0 for no slippage protection).
201
+ * @returns Unsigned transaction result.
202
+ */
203
+ export declare function buildSwap(connection: Connection, owner: PublicKey, fromToken: string, toToken: string, amountIn: number, minAmountOut?: bigint): Promise<UnsignedTransactionResult>;
204
+ /**
205
+ * @name buildInitUserStaking
206
+ * @description Build an unsigned transaction to initialize user staking account.
207
+ * @param connection — Solana RPC connection.
208
+ * @param owner — Staker and fee payer.
209
+ * @returns Unsigned transaction result.
210
+ */
211
+ export declare function buildInitUserStaking(connection: Connection, owner: PublicKey): Promise<UnsignedTransactionResult>;
212
+ /**
213
+ * @name buildAddLiquidStake
214
+ * @description Build an unsigned transaction to add a liquid stake (LP tokens).
215
+ * @param connection — Solana RPC connection.
216
+ * @param owner — Staker and fee payer.
217
+ * @param amount — Amount of LP tokens to stake (raw, 6 decimals).
218
+ * @returns Unsigned transaction result.
219
+ */
220
+ export declare function buildAddLiquidStake(connection: Connection, owner: PublicKey, amount: bigint): Promise<UnsignedTransactionResult>;
221
+ /**
222
+ * @name buildRemoveLiquidStake
223
+ * @description Build an unsigned transaction to remove a liquid stake.
224
+ * @param connection — Solana RPC connection.
225
+ * @param owner — Staker and fee payer.
226
+ * @param amount — Amount of staked LP tokens to withdraw (raw, 6 decimals).
227
+ * @returns Unsigned transaction result.
228
+ */
229
+ export declare function buildRemoveLiquidStake(connection: Connection, owner: PublicKey, amount: bigint): Promise<UnsignedTransactionResult>;
230
+ /**
231
+ * @name buildAddLockedStake
232
+ * @description Build an unsigned transaction to add a locked stake.
233
+ * @param connection — Solana RPC connection.
234
+ * @param owner — Staker and fee payer.
235
+ * @param amount — Amount of LP tokens to lock (raw, 6 decimals).
236
+ * @param lockedDays — Lock duration in days.
237
+ * @returns Unsigned transaction result.
238
+ */
239
+ export declare function buildAddLockedStake(connection: Connection, owner: PublicKey, amount: bigint, lockedDays: number): Promise<UnsignedTransactionResult>;
240
+ /**
241
+ * @name buildClaimStakes
242
+ * @description Build an unsigned transaction to claim staking rewards.
243
+ * @param connection — Solana RPC connection.
244
+ * @param owner — Staker and fee payer.
245
+ * @param lockedStakeIndexes — Optional array of locked stake indexes to claim.
246
+ * @returns Unsigned transaction result.
247
+ */
248
+ export declare function buildClaimStakes(connection: Connection, owner: PublicKey, lockedStakeIndexes: number[] | null): Promise<UnsignedTransactionResult>;
249
+ /**
250
+ * @name buildOpenCommodityLong
251
+ * @description Build an unsigned transaction to open a long position on a commodity (XAU, XAG, WTI).
252
+ * Uses the commodities pool.
253
+ *
254
+ * @param connection — Solana RPC connection.
255
+ * @param owner — Position owner and fee payer.
256
+ * @param principalToken — Commodity symbol (XAU, XAG, WTI).
257
+ * @param collateralAmount — USDC collateral amount in human-readable units.
258
+ * @param leverage — Leverage multiplier.
259
+ * @param price — Price in USD (scaled by 10^10), or null for market order.
260
+ * @returns Unsigned transaction result.
261
+ */
262
+ export declare function buildOpenCommodityLong(connection: Connection, owner: PublicKey, principalToken: string, collateralAmount: number, leverage: number, price: bigint | null): Promise<UnsignedTransactionResult>;
263
+ /**
264
+ * @name buildOpenCommodityShort
265
+ * @description Build an unsigned transaction to open a short position on a commodity.
266
+ * Uses the commodities pool.
267
+ *
268
+ * @param connection — Solana RPC connection.
269
+ * @param owner — Position owner and fee payer.
270
+ * @param principalToken — Commodity symbol (XAU, XAG, WTI).
271
+ * @param collateralAmount — USDC collateral amount in human-readable units.
272
+ * @param leverage — Leverage multiplier.
273
+ * @param price — Price in USD (scaled by 10^10), or null for market order.
274
+ * @returns Unsigned transaction result.
275
+ */
276
+ export declare function buildOpenCommodityShort(connection: Connection, owner: PublicKey, principalToken: string, collateralAmount: number, leverage: number, price: bigint | null): Promise<UnsignedTransactionResult>;
277
+ /**
278
+ * @name buildCloseCommodityLong
279
+ * @description Build an unsigned transaction to close a long commodity position.
280
+ * @param connection — Solana RPC connection.
281
+ * @param owner — Position owner and fee payer.
282
+ * @param principalToken — Commodity symbol.
283
+ * @param price — Optional close price.
284
+ * @param percentage — Percentage to close.
285
+ * @returns Unsigned transaction result.
286
+ */
287
+ export declare function buildCloseCommodityLong(connection: Connection, owner: PublicKey, principalToken: string, price: bigint | null, percentage?: bigint): Promise<UnsignedTransactionResult>;
288
+ /**
289
+ * @name buildCloseCommodityShort
290
+ * @description Build an unsigned transaction to close a short commodity position.
291
+ * @param connection — Solana RPC connection.
292
+ * @param owner — Position owner and fee payer.
293
+ * @param principalToken — Commodity symbol.
294
+ * @param price — Optional close price.
295
+ * @param percentage — Percentage to close.
296
+ * @returns Unsigned transaction result.
297
+ */
298
+ export declare function buildCloseCommodityShort(connection: Connection, owner: PublicKey, principalToken: string, price: bigint | null, percentage?: bigint): Promise<UnsignedTransactionResult>;
299
+ export { ADRENA_CUSTODIES, ADRENA_TOKEN_MINTS, ADRENA_PROGRAM_ID, ADRENA_MAIN_POOL_ADDRESS, ADRENA_COMMODITIES_POOL_ADDRESS, } from './adrena-constants.js';
300
+ export { deriveCortexPda, deriveOraclePda, deriveTransferAuthorityPda, deriveUserProfilePda, derivePositionPda, deriveCustodyTokenAccountPda, deriveLimitOrderBookPda, deriveCollateralEscrowPda, deriveLpTokenMintPda, deriveStakingPda, deriveUserStakingPda, deriveGenesisLockPda, deriveLmTokenTreasuryPda, deriveLmTokenMintPda, deriveGovernanceTokenMintPda, deriveStakingStakedTokenVaultPda, deriveStakingRewardTokenVaultPda, deriveStakingLmRewardTokenVaultPda, deriveAta, } from './adrena-pda.js';
301
+ //# sourceMappingURL=adrena-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adrena-builder.d.ts","sourceRoot":"","sources":["../../../src/perps/adrena/adrena-builder.ts"],"names":[],"mappings":"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"}