outsmart 2.0.0-alpha.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.
- package/LICENSE +21 -0
- package/README.md +568 -0
- package/dist/cli.d.ts +44 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1251 -0
- package/dist/cli.js.map +1 -0
- package/dist/dex/byreal-clmm.d.ts +16 -0
- package/dist/dex/byreal-clmm.d.ts.map +1 -0
- package/dist/dex/byreal-clmm.js +39 -0
- package/dist/dex/byreal-clmm.js.map +1 -0
- package/dist/dex/dflow.d.ts +27 -0
- package/dist/dex/dflow.d.ts.map +1 -0
- package/dist/dex/dflow.js +200 -0
- package/dist/dex/dflow.js.map +1 -0
- package/dist/dex/fusion-amm.d.ts +44 -0
- package/dist/dex/fusion-amm.d.ts.map +1 -0
- package/dist/dex/fusion-amm.js +546 -0
- package/dist/dex/fusion-amm.js.map +1 -0
- package/dist/dex/futarchy-amm.d.ts +32 -0
- package/dist/dex/futarchy-amm.d.ts.map +1 -0
- package/dist/dex/futarchy-amm.js +443 -0
- package/dist/dex/futarchy-amm.js.map +1 -0
- package/dist/dex/futarchy-idl.d.ts +2568 -0
- package/dist/dex/futarchy-idl.d.ts.map +1 -0
- package/dist/dex/futarchy-idl.js +2570 -0
- package/dist/dex/futarchy-idl.js.map +1 -0
- package/dist/dex/futarchy-launchpad.d.ts +68 -0
- package/dist/dex/futarchy-launchpad.d.ts.map +1 -0
- package/dist/dex/futarchy-launchpad.js +377 -0
- package/dist/dex/futarchy-launchpad.js.map +1 -0
- package/dist/dex/index.d.ts +88 -0
- package/dist/dex/index.d.ts.map +1 -0
- package/dist/dex/index.js +159 -0
- package/dist/dex/index.js.map +1 -0
- package/dist/dex/jupiter-ultra.d.ts +27 -0
- package/dist/dex/jupiter-ultra.d.ts.map +1 -0
- package/dist/dex/jupiter-ultra.js +369 -0
- package/dist/dex/jupiter-ultra.js.map +1 -0
- package/dist/dex/meteora-damm-v1.d.ts +36 -0
- package/dist/dex/meteora-damm-v1.d.ts.map +1 -0
- package/dist/dex/meteora-damm-v1.js +314 -0
- package/dist/dex/meteora-damm-v1.js.map +1 -0
- package/dist/dex/meteora-damm-v2.d.ts +103 -0
- package/dist/dex/meteora-damm-v2.d.ts.map +1 -0
- package/dist/dex/meteora-damm-v2.js +1146 -0
- package/dist/dex/meteora-damm-v2.js.map +1 -0
- package/dist/dex/meteora-dbc.d.ts +38 -0
- package/dist/dex/meteora-dbc.d.ts.map +1 -0
- package/dist/dex/meteora-dbc.js +374 -0
- package/dist/dex/meteora-dbc.js.map +1 -0
- package/dist/dex/meteora-dlmm.d.ts +79 -0
- package/dist/dex/meteora-dlmm.d.ts.map +1 -0
- package/dist/dex/meteora-dlmm.js +735 -0
- package/dist/dex/meteora-dlmm.js.map +1 -0
- package/dist/dex/orca.d.ts +31 -0
- package/dist/dex/orca.d.ts.map +1 -0
- package/dist/dex/orca.js +536 -0
- package/dist/dex/orca.js.map +1 -0
- package/dist/dex/pancakeswap-clmm.d.ts +16 -0
- package/dist/dex/pancakeswap-clmm.d.ts.map +1 -0
- package/dist/dex/pancakeswap-clmm.js +39 -0
- package/dist/dex/pancakeswap-clmm.js.map +1 -0
- package/dist/dex/pumpfun-amm.d.ts +46 -0
- package/dist/dex/pumpfun-amm.d.ts.map +1 -0
- package/dist/dex/pumpfun-amm.js +692 -0
- package/dist/dex/pumpfun-amm.js.map +1 -0
- package/dist/dex/pumpfun.d.ts +41 -0
- package/dist/dex/pumpfun.d.ts.map +1 -0
- package/dist/dex/pumpfun.js +555 -0
- package/dist/dex/pumpfun.js.map +1 -0
- package/dist/dex/raydium-amm-v4.d.ts +11 -0
- package/dist/dex/raydium-amm-v4.d.ts.map +1 -0
- package/dist/dex/raydium-amm-v4.js +649 -0
- package/dist/dex/raydium-amm-v4.js.map +1 -0
- package/dist/dex/raydium-clmm.d.ts +12 -0
- package/dist/dex/raydium-clmm.d.ts.map +1 -0
- package/dist/dex/raydium-clmm.js +675 -0
- package/dist/dex/raydium-clmm.js.map +1 -0
- package/dist/dex/raydium-cpmm.d.ts +10 -0
- package/dist/dex/raydium-cpmm.d.ts.map +1 -0
- package/dist/dex/raydium-cpmm.js +613 -0
- package/dist/dex/raydium-cpmm.js.map +1 -0
- package/dist/dex/raydium-launchlab.d.ts +12 -0
- package/dist/dex/raydium-launchlab.d.ts.map +1 -0
- package/dist/dex/raydium-launchlab.js +530 -0
- package/dist/dex/raydium-launchlab.js.map +1 -0
- package/dist/dex/shared/clmm-base.d.ts +58 -0
- package/dist/dex/shared/clmm-base.d.ts.map +1 -0
- package/dist/dex/shared/clmm-base.js +891 -0
- package/dist/dex/shared/clmm-base.js.map +1 -0
- package/dist/dex/types.d.ts +601 -0
- package/dist/dex/types.d.ts.map +1 -0
- package/dist/dex/types.js +137 -0
- package/dist/dex/types.js.map +1 -0
- package/dist/dexscreener/index.d.ts +2 -0
- package/dist/dexscreener/index.d.ts.map +1 -0
- package/dist/dexscreener/index.js +18 -0
- package/dist/dexscreener/index.js.map +1 -0
- package/dist/dexscreener/info.d.ts +22 -0
- package/dist/dexscreener/info.d.ts.map +1 -0
- package/dist/dexscreener/info.js +104 -0
- package/dist/dexscreener/info.js.map +1 -0
- package/dist/helpers/check_balance.d.ts +10 -0
- package/dist/helpers/check_balance.d.ts.map +1 -0
- package/dist/helpers/check_balance.js +34 -0
- package/dist/helpers/check_balance.js.map +1 -0
- package/dist/helpers/config.d.ts +51 -0
- package/dist/helpers/config.d.ts.map +1 -0
- package/dist/helpers/config.js +118 -0
- package/dist/helpers/config.js.map +1 -0
- package/dist/helpers/index.d.ts +8 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +29 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/logger.d.ts +27 -0
- package/dist/helpers/logger.d.ts.map +1 -0
- package/dist/helpers/logger.js +39 -0
- package/dist/helpers/logger.js.map +1 -0
- package/dist/helpers/token-2022.d.ts +32 -0
- package/dist/helpers/token-2022.d.ts.map +1 -0
- package/dist/helpers/token-2022.js +48 -0
- package/dist/helpers/token-2022.js.map +1 -0
- package/dist/helpers/unwrap_sol.d.ts +2 -0
- package/dist/helpers/unwrap_sol.d.ts.map +1 -0
- package/dist/helpers/unwrap_sol.js +67 -0
- package/dist/helpers/unwrap_sol.js.map +1 -0
- package/dist/helpers/util.d.ts +698 -0
- package/dist/helpers/util.d.ts.map +1 -0
- package/dist/helpers/util.js +181 -0
- package/dist/helpers/util.js.map +1 -0
- package/dist/helpers/utils.d.ts +10 -0
- package/dist/helpers/utils.d.ts.map +1 -0
- package/dist/helpers/utils.js +97 -0
- package/dist/helpers/utils.js.map +1 -0
- package/dist/helpers/wrap_sol.d.ts +3 -0
- package/dist/helpers/wrap_sol.d.ts.map +1 -0
- package/dist/helpers/wrap_sol.js +88 -0
- package/dist/helpers/wrap_sol.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/transactions/bloXroute_tips_tx_executor.d.ts +4 -0
- package/dist/transactions/bloXroute_tips_tx_executor.d.ts.map +1 -0
- package/dist/transactions/bloXroute_tips_tx_executor.js +70 -0
- package/dist/transactions/bloXroute_tips_tx_executor.js.map +1 -0
- package/dist/transactions/index.d.ts +6 -0
- package/dist/transactions/index.d.ts.map +1 -0
- package/dist/transactions/index.js +30 -0
- package/dist/transactions/index.js.map +1 -0
- package/dist/transactions/jito_tips_tx_executor.d.ts +15 -0
- package/dist/transactions/jito_tips_tx_executor.d.ts.map +1 -0
- package/dist/transactions/jito_tips_tx_executor.js +99 -0
- package/dist/transactions/jito_tips_tx_executor.js.map +1 -0
- package/dist/transactions/landing/index.d.ts +30 -0
- package/dist/transactions/landing/index.d.ts.map +1 -0
- package/dist/transactions/landing/index.js +60 -0
- package/dist/transactions/landing/index.js.map +1 -0
- package/dist/transactions/landing/nonce-manager.d.ts +116 -0
- package/dist/transactions/landing/nonce-manager.d.ts.map +1 -0
- package/dist/transactions/landing/nonce-manager.js +393 -0
- package/dist/transactions/landing/nonce-manager.js.map +1 -0
- package/dist/transactions/landing/orchestrator.d.ts +104 -0
- package/dist/transactions/landing/orchestrator.d.ts.map +1 -0
- package/dist/transactions/landing/orchestrator.js +329 -0
- package/dist/transactions/landing/orchestrator.js.map +1 -0
- package/dist/transactions/landing/providers/astralane.d.ts +12 -0
- package/dist/transactions/landing/providers/astralane.d.ts.map +1 -0
- package/dist/transactions/landing/providers/astralane.js +132 -0
- package/dist/transactions/landing/providers/astralane.js.map +1 -0
- package/dist/transactions/landing/providers/blockrazor.d.ts +11 -0
- package/dist/transactions/landing/providers/blockrazor.d.ts.map +1 -0
- package/dist/transactions/landing/providers/blockrazor.js +134 -0
- package/dist/transactions/landing/providers/blockrazor.js.map +1 -0
- package/dist/transactions/landing/providers/bloxroute.d.ts +12 -0
- package/dist/transactions/landing/providers/bloxroute.d.ts.map +1 -0
- package/dist/transactions/landing/providers/bloxroute.js +102 -0
- package/dist/transactions/landing/providers/bloxroute.js.map +1 -0
- package/dist/transactions/landing/providers/flashblock.d.ts +10 -0
- package/dist/transactions/landing/providers/flashblock.d.ts.map +1 -0
- package/dist/transactions/landing/providers/flashblock.js +102 -0
- package/dist/transactions/landing/providers/flashblock.js.map +1 -0
- package/dist/transactions/landing/providers/helius-sender.d.ts +11 -0
- package/dist/transactions/landing/providers/helius-sender.d.ts.map +1 -0
- package/dist/transactions/landing/providers/helius-sender.js +101 -0
- package/dist/transactions/landing/providers/helius-sender.js.map +1 -0
- package/dist/transactions/landing/providers/jito.d.ts +16 -0
- package/dist/transactions/landing/providers/jito.d.ts.map +1 -0
- package/dist/transactions/landing/providers/jito.js +110 -0
- package/dist/transactions/landing/providers/jito.js.map +1 -0
- package/dist/transactions/landing/providers/nextblock.d.ts +11 -0
- package/dist/transactions/landing/providers/nextblock.d.ts.map +1 -0
- package/dist/transactions/landing/providers/nextblock.js +109 -0
- package/dist/transactions/landing/providers/nextblock.js.map +1 -0
- package/dist/transactions/landing/providers/node1.d.ts +11 -0
- package/dist/transactions/landing/providers/node1.d.ts.map +1 -0
- package/dist/transactions/landing/providers/node1.js +101 -0
- package/dist/transactions/landing/providers/node1.js.map +1 -0
- package/dist/transactions/landing/providers/nozomi.d.ts +11 -0
- package/dist/transactions/landing/providers/nozomi.d.ts.map +1 -0
- package/dist/transactions/landing/providers/nozomi.js +124 -0
- package/dist/transactions/landing/providers/nozomi.js.map +1 -0
- package/dist/transactions/landing/providers/soyas.d.ts +16 -0
- package/dist/transactions/landing/providers/soyas.d.ts.map +1 -0
- package/dist/transactions/landing/providers/soyas.js +192 -0
- package/dist/transactions/landing/providers/soyas.js.map +1 -0
- package/dist/transactions/landing/providers/stellium.d.ts +11 -0
- package/dist/transactions/landing/providers/stellium.d.ts.map +1 -0
- package/dist/transactions/landing/providers/stellium.js +102 -0
- package/dist/transactions/landing/providers/stellium.js.map +1 -0
- package/dist/transactions/landing/providers/zero-slot.d.ts +10 -0
- package/dist/transactions/landing/providers/zero-slot.d.ts.map +1 -0
- package/dist/transactions/landing/providers/zero-slot.js +92 -0
- package/dist/transactions/landing/providers/zero-slot.js.map +1 -0
- package/dist/transactions/landing/tip-accounts.d.ts +22 -0
- package/dist/transactions/landing/tip-accounts.d.ts.map +1 -0
- package/dist/transactions/landing/tip-accounts.js +140 -0
- package/dist/transactions/landing/tip-accounts.js.map +1 -0
- package/dist/transactions/landing/types.d.ts +98 -0
- package/dist/transactions/landing/types.d.ts.map +1 -0
- package/dist/transactions/landing/types.js +30 -0
- package/dist/transactions/landing/types.js.map +1 -0
- package/dist/transactions/nozomi/tx-submission.d.ts +14 -0
- package/dist/transactions/nozomi/tx-submission.d.ts.map +1 -0
- package/dist/transactions/nozomi/tx-submission.js +107 -0
- package/dist/transactions/nozomi/tx-submission.js.map +1 -0
- package/dist/transactions/send-rpc.d.ts +54 -0
- package/dist/transactions/send-rpc.d.ts.map +1 -0
- package/dist/transactions/send-rpc.js +126 -0
- package/dist/transactions/send-rpc.js.map +1 -0
- package/dist/transactions/simple_tx_executor.d.ts +10 -0
- package/dist/transactions/simple_tx_executor.d.ts.map +1 -0
- package/dist/transactions/simple_tx_executor.js +33 -0
- package/dist/transactions/simple_tx_executor.js.map +1 -0
- package/package.json +112 -0
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Byreal CLMM — IDexAdapter Implementation
|
|
3
|
+
*
|
|
4
|
+
* A CLMM (Concentrated Liquidity Market Maker) fork adapter using the shared
|
|
5
|
+
* CLMM base. Byreal uses the same CLMM instruction format and account layout
|
|
6
|
+
* as Raydium CLMM, with a different program ID.
|
|
7
|
+
*
|
|
8
|
+
* Program ID: REALQqNEomY6cQGZJUGwywTBD2UmDT32rZcNnfxQ5N2
|
|
9
|
+
*
|
|
10
|
+
* Source: 100x-algo-bots/trading-modules/byreal-clmm/
|
|
11
|
+
*/
|
|
12
|
+
import { ClmmBaseAdapter } from "./shared/clmm-base";
|
|
13
|
+
export declare class ByrealClmmAdapter extends ClmmBaseAdapter {
|
|
14
|
+
constructor();
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=byreal-clmm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byreal-clmm.d.ts","sourceRoot":"","sources":["../../src/dex/byreal-clmm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAerD,qBAAa,iBAAkB,SAAQ,eAAe;;CAQrD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Byreal CLMM — IDexAdapter Implementation
|
|
4
|
+
*
|
|
5
|
+
* A CLMM (Concentrated Liquidity Market Maker) fork adapter using the shared
|
|
6
|
+
* CLMM base. Byreal uses the same CLMM instruction format and account layout
|
|
7
|
+
* as Raydium CLMM, with a different program ID.
|
|
8
|
+
*
|
|
9
|
+
* Program ID: REALQqNEomY6cQGZJUGwywTBD2UmDT32rZcNnfxQ5N2
|
|
10
|
+
*
|
|
11
|
+
* Source: 100x-algo-bots/trading-modules/byreal-clmm/
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.ByrealClmmAdapter = void 0;
|
|
15
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
16
|
+
const clmm_base_1 = require("./shared/clmm-base");
|
|
17
|
+
const index_1 = require("./index");
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Constants
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
const BYREAL_CLMM_PROGRAM_ID = new web3_js_1.PublicKey("REALQqNEomY6cQGZJUGwywTBD2UmDT32rZcNnfxQ5N2");
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Adapter
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
class ByrealClmmAdapter extends clmm_base_1.ClmmBaseAdapter {
|
|
26
|
+
constructor() {
|
|
27
|
+
super({
|
|
28
|
+
name: "byreal-clmm",
|
|
29
|
+
protocol: "clmm",
|
|
30
|
+
programId: BYREAL_CLMM_PROGRAM_ID,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.ByrealClmmAdapter = ByrealClmmAdapter;
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Auto-register
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
(0, index_1.registerAdapter)(new ByrealClmmAdapter());
|
|
39
|
+
//# sourceMappingURL=byreal-clmm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byreal-clmm.js","sourceRoot":"","sources":["../../src/dex/byreal-clmm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,6CAA4C;AAC5C,kDAAqD;AACrD,mCAA0C;AAE1C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,sBAAsB,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAa,iBAAkB,SAAQ,2BAAe;IACpD;QACE,KAAK,CAAC;YACJ,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;IACL,CAAC;CACF;AARD,8CAQC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,IAAA,uBAAe,EAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DFlow — IDexAdapter Implementation
|
|
3
|
+
*
|
|
4
|
+
* Intent-based swap API. DFlow uses an aggregator API that returns
|
|
5
|
+
* server-generated transactions. The flow is:
|
|
6
|
+
* 1. Request intent (quote) from DFlow API
|
|
7
|
+
* 2. Sign the returned openTransaction
|
|
8
|
+
* 3. Submit the signed transaction back to DFlow's submit-intent endpoint
|
|
9
|
+
* 4. DFlow handles execution and order monitoring
|
|
10
|
+
*
|
|
11
|
+
* This adapter does NOT use our landing layer — DFlow manages TX submission.
|
|
12
|
+
* Similar to Jupiter Ultra in that the server generates the transaction.
|
|
13
|
+
*
|
|
14
|
+
* Source: 100x-algo-bots/trading-modules/DFlow/swap.ts
|
|
15
|
+
*
|
|
16
|
+
* Capabilities: canBuy, canSell (intent-based, no pool concept)
|
|
17
|
+
* API key from DFLOW_API_KEY env var.
|
|
18
|
+
*/
|
|
19
|
+
import { IDexAdapter, DexCapabilities, BuyParams, SellParams, SwapResult } from "./types";
|
|
20
|
+
export declare class DFlowAdapter implements IDexAdapter {
|
|
21
|
+
readonly name = "dflow";
|
|
22
|
+
readonly protocol = "intent";
|
|
23
|
+
readonly capabilities: DexCapabilities;
|
|
24
|
+
buy(params: BuyParams): Promise<SwapResult>;
|
|
25
|
+
sell(params: SellParams): Promise<SwapResult>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=dflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dflow.d.ts","sourceRoot":"","sources":["../../src/dex/dflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAcH,OAAO,EACL,WAAW,EACX,eAAe,EAEf,SAAS,EACT,UAAU,EACV,UAAU,EAKX,MAAM,SAAS,CAAC;AA2IjB,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,YAAY,EAAE,eAAe,CAInC;IAIG,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAgC3C,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAgEpD"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DFlow — IDexAdapter Implementation
|
|
4
|
+
*
|
|
5
|
+
* Intent-based swap API. DFlow uses an aggregator API that returns
|
|
6
|
+
* server-generated transactions. The flow is:
|
|
7
|
+
* 1. Request intent (quote) from DFlow API
|
|
8
|
+
* 2. Sign the returned openTransaction
|
|
9
|
+
* 3. Submit the signed transaction back to DFlow's submit-intent endpoint
|
|
10
|
+
* 4. DFlow handles execution and order monitoring
|
|
11
|
+
*
|
|
12
|
+
* This adapter does NOT use our landing layer — DFlow manages TX submission.
|
|
13
|
+
* Similar to Jupiter Ultra in that the server generates the transaction.
|
|
14
|
+
*
|
|
15
|
+
* Source: 100x-algo-bots/trading-modules/DFlow/swap.ts
|
|
16
|
+
*
|
|
17
|
+
* Capabilities: canBuy, canSell (intent-based, no pool concept)
|
|
18
|
+
* API key from DFLOW_API_KEY env var.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.DFlowAdapter = void 0;
|
|
22
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
23
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
24
|
+
const config_1 = require("../helpers/config");
|
|
25
|
+
const token_2022_1 = require("../helpers/token-2022");
|
|
26
|
+
const types_1 = require("./types");
|
|
27
|
+
const index_1 = require("./index");
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// Constants
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
const SOL_MINT = "So11111111111111111111111111111111111111112";
|
|
32
|
+
const AGGREGATOR_API_BASE_URL = "https://quote-api.dflow.net";
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Helpers
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
function getApiKey() {
|
|
37
|
+
const key = process.env.DFLOW_API_KEY;
|
|
38
|
+
if (!key) {
|
|
39
|
+
throw new Error("DFLOW_API_KEY not set. DFlow requires an API key. " +
|
|
40
|
+
"Get one at https://pond.dflow.net/build/api-key and set the DFLOW_API_KEY environment variable.");
|
|
41
|
+
}
|
|
42
|
+
return key;
|
|
43
|
+
}
|
|
44
|
+
function buildHeaders(includeContentType = false) {
|
|
45
|
+
const headers = {};
|
|
46
|
+
const apiKey = getApiKey();
|
|
47
|
+
if (apiKey) {
|
|
48
|
+
headers["x-api-key"] = apiKey;
|
|
49
|
+
}
|
|
50
|
+
if (includeContentType) {
|
|
51
|
+
headers["Content-Type"] = "application/json";
|
|
52
|
+
}
|
|
53
|
+
return headers;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parse API error response into a readable string.
|
|
57
|
+
*/
|
|
58
|
+
async function parseApiError(response, context) {
|
|
59
|
+
let errorText = "";
|
|
60
|
+
try {
|
|
61
|
+
errorText = await response.text();
|
|
62
|
+
try {
|
|
63
|
+
const errorJson = JSON.parse(errorText);
|
|
64
|
+
errorText = JSON.stringify(errorJson, null, 2);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Not JSON, use as-is
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
errorText = `Failed to read error response: ${e}`;
|
|
72
|
+
}
|
|
73
|
+
return `DFlow ${context} error (${response.status}): ${errorText || "No error message"}`;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Request an intent (quote + transaction) from DFlow API.
|
|
77
|
+
*/
|
|
78
|
+
async function requestIntent(inputMint, outputMint, amount, userPublicKey, slippageBps) {
|
|
79
|
+
const queryParams = new URLSearchParams();
|
|
80
|
+
queryParams.append("inputMint", inputMint);
|
|
81
|
+
queryParams.append("outputMint", outputMint);
|
|
82
|
+
queryParams.append("amount", amount);
|
|
83
|
+
queryParams.append("userPublicKey", userPublicKey);
|
|
84
|
+
queryParams.append("slippageBps", slippageBps.toString());
|
|
85
|
+
const response = await fetch(`${AGGREGATOR_API_BASE_URL}/intent?${queryParams.toString()}`, { headers: buildHeaders() });
|
|
86
|
+
if (!response.ok) {
|
|
87
|
+
const errMsg = await parseApiError(response, "intent");
|
|
88
|
+
throw new Error(errMsg);
|
|
89
|
+
}
|
|
90
|
+
return (await response.json());
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Sign the intent's openTransaction and submit it back to DFlow.
|
|
94
|
+
*/
|
|
95
|
+
async function signAndSubmitIntent(intentData) {
|
|
96
|
+
const wallet = (0, config_1.getWallet)();
|
|
97
|
+
// Decode and sign the transaction
|
|
98
|
+
const transactionBytes = Buffer.from(intentData.openTransaction, "base64");
|
|
99
|
+
const openTransaction = web3_js_1.Transaction.from(transactionBytes);
|
|
100
|
+
openTransaction.sign(wallet);
|
|
101
|
+
const signedTxBase64 = Buffer.from(openTransaction.serialize()).toString("base64");
|
|
102
|
+
// Submit the signed intent
|
|
103
|
+
const response = await fetch(`${AGGREGATOR_API_BASE_URL}/submit-intent`, {
|
|
104
|
+
method: "POST",
|
|
105
|
+
headers: buildHeaders(true),
|
|
106
|
+
body: JSON.stringify({
|
|
107
|
+
quoteResponse: intentData,
|
|
108
|
+
signedOpenTransaction: signedTxBase64,
|
|
109
|
+
}),
|
|
110
|
+
});
|
|
111
|
+
if (!response.ok) {
|
|
112
|
+
const errMsg = await parseApiError(response, "submit");
|
|
113
|
+
throw new Error(errMsg);
|
|
114
|
+
}
|
|
115
|
+
return (await response.json());
|
|
116
|
+
}
|
|
117
|
+
// ---------------------------------------------------------------------------
|
|
118
|
+
// Adapter
|
|
119
|
+
// ---------------------------------------------------------------------------
|
|
120
|
+
class DFlowAdapter {
|
|
121
|
+
name = "dflow";
|
|
122
|
+
protocol = "intent";
|
|
123
|
+
capabilities = (0, types_1.defaultCapabilities)({
|
|
124
|
+
canBuy: true,
|
|
125
|
+
canSell: true,
|
|
126
|
+
isAggregator: true,
|
|
127
|
+
});
|
|
128
|
+
// ----- Core: buy -----
|
|
129
|
+
async buy(params) {
|
|
130
|
+
const tokenMint = (0, types_1.requireTokenMint)(params, this.name);
|
|
131
|
+
const { amountSol, opts } = params;
|
|
132
|
+
const wallet = (0, config_1.getWallet)();
|
|
133
|
+
const slippageBps = opts?.slippageBps ?? types_1.DEFAULT_SLIPPAGE_BPS;
|
|
134
|
+
// Convert SOL to lamports
|
|
135
|
+
const amount = Math.floor(amountSol * 1_000_000_000).toString();
|
|
136
|
+
// Step 1: Request intent
|
|
137
|
+
const intentData = await requestIntent(SOL_MINT, tokenMint, amount, wallet.publicKey.toBase58(), slippageBps);
|
|
138
|
+
// Step 2: Sign and submit
|
|
139
|
+
const submitResponse = await signAndSubmitIntent(intentData);
|
|
140
|
+
return {
|
|
141
|
+
txSignature: submitResponse.orderAddress ?? "",
|
|
142
|
+
confirmed: !!submitResponse.orderAddress,
|
|
143
|
+
amountIn: amountSol,
|
|
144
|
+
amountInToken: SOL_MINT,
|
|
145
|
+
dex: this.name,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
// ----- Core: sell -----
|
|
149
|
+
async sell(params) {
|
|
150
|
+
const tokenMint = (0, types_1.requireTokenMint)(params, this.name);
|
|
151
|
+
const { percentage, opts } = params;
|
|
152
|
+
const connection = (0, config_1.getConnection)();
|
|
153
|
+
const wallet = (0, config_1.getWallet)();
|
|
154
|
+
const slippageBps = opts?.slippageBps ?? types_1.DEFAULT_SLIPPAGE_BPS;
|
|
155
|
+
// Validate percentage
|
|
156
|
+
if (percentage < 0 || percentage > 100) {
|
|
157
|
+
throw new Error("Sell percentage must be between 0 and 100");
|
|
158
|
+
}
|
|
159
|
+
// Get token info (supports Token-2022)
|
|
160
|
+
const mintPublicKey = new web3_js_1.PublicKey(tokenMint);
|
|
161
|
+
const tokenProgram = await (0, token_2022_1.getTokenProgram)(connection, mintPublicKey);
|
|
162
|
+
const mintInfo = await (0, spl_token_1.getMint)(connection, mintPublicKey, undefined, tokenProgram);
|
|
163
|
+
const tokenDecimals = mintInfo.decimals;
|
|
164
|
+
// Get user's token balance
|
|
165
|
+
const tokenAccount = await (0, spl_token_1.getAssociatedTokenAddress)(mintPublicKey, wallet.publicKey, false, tokenProgram);
|
|
166
|
+
let balance = 0;
|
|
167
|
+
try {
|
|
168
|
+
const balanceResponse = await connection.getTokenAccountBalance(tokenAccount);
|
|
169
|
+
balance = balanceResponse.value.uiAmount || 0;
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
balance = 0;
|
|
173
|
+
}
|
|
174
|
+
if (balance === 0) {
|
|
175
|
+
throw new Error("You have no balance of this token to sell");
|
|
176
|
+
}
|
|
177
|
+
// Calculate amount to sell based on percentage
|
|
178
|
+
const tokenAmount = (balance * percentage) / 100;
|
|
179
|
+
const amount = Math.floor(tokenAmount * Math.pow(10, tokenDecimals)).toString();
|
|
180
|
+
// Step 1: Request intent
|
|
181
|
+
const intentData = await requestIntent(tokenMint, SOL_MINT, amount, wallet.publicKey.toBase58(), slippageBps);
|
|
182
|
+
// Step 2: Sign and submit
|
|
183
|
+
const submitResponse = await signAndSubmitIntent(intentData);
|
|
184
|
+
return {
|
|
185
|
+
txSignature: submitResponse.orderAddress ?? "",
|
|
186
|
+
confirmed: !!submitResponse.orderAddress,
|
|
187
|
+
amountIn: tokenAmount,
|
|
188
|
+
amountInToken: tokenMint,
|
|
189
|
+
amountOut: undefined, // DFlow doesn't return exact output in submit response
|
|
190
|
+
amountOutToken: SOL_MINT,
|
|
191
|
+
dex: this.name,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
exports.DFlowAdapter = DFlowAdapter;
|
|
196
|
+
// ---------------------------------------------------------------------------
|
|
197
|
+
// Auto-register
|
|
198
|
+
// ---------------------------------------------------------------------------
|
|
199
|
+
(0, index_1.registerAdapter)(new DFlowAdapter());
|
|
200
|
+
//# sourceMappingURL=dflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dflow.js","sourceRoot":"","sources":["../../src/dex/dflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fusion AMM — IDexAdapter Implementation
|
|
3
|
+
*
|
|
4
|
+
* Wraps the @crypticdot/fusionamm-client and @crypticdot/fusionamm-core SDKs
|
|
5
|
+
* for buy/snipe/findPool/getPrice/buildSwapIxs on Fusion AMM pools.
|
|
6
|
+
*
|
|
7
|
+
* Key details:
|
|
8
|
+
* - Uses @solana/kit types (IInstruction, Address) — converted to @solana/web3.js
|
|
9
|
+
* TransactionInstruction via convertInstruction().
|
|
10
|
+
* - Token-2022 transfer fee awareness — reads mint extensions to detect fees.
|
|
11
|
+
* - Tick array handling — fetches or creates uninitialized tick arrays for swap quotes.
|
|
12
|
+
* - WSOL wrapping/unwrapping handled automatically for SOL-based swaps.
|
|
13
|
+
*
|
|
14
|
+
* Source: 100x-algo-bots/trading-modules/fusion-amm/
|
|
15
|
+
*/
|
|
16
|
+
import { IDexAdapter, DexCapabilities, BuyParams, SellParams, SnipeParams, SwapResult, PoolInfo, PriceInfo, BuildSwapIxsResult } from "./types";
|
|
17
|
+
export declare class FusionAmmAdapter implements IDexAdapter {
|
|
18
|
+
readonly name = "fusion-amm";
|
|
19
|
+
readonly protocol = "fusion-amm";
|
|
20
|
+
readonly capabilities: DexCapabilities;
|
|
21
|
+
buy(params: BuyParams): Promise<SwapResult>;
|
|
22
|
+
sell(params: SellParams): Promise<SwapResult>;
|
|
23
|
+
snipe(params: SnipeParams): Promise<SwapResult>;
|
|
24
|
+
buildSwapIxs(params: BuyParams | SellParams): Promise<BuildSwapIxsResult>;
|
|
25
|
+
findPool(baseMint: string, quoteMint?: string): Promise<PoolInfo | null>;
|
|
26
|
+
getPrice(poolAddress: string): Promise<PriceInfo>;
|
|
27
|
+
private doBuildSwapIxs;
|
|
28
|
+
/**
|
|
29
|
+
* Wrap swap instructions with WSOL create/transfer/sync/close if quote is SOL.
|
|
30
|
+
* Also prepends compute budget instructions.
|
|
31
|
+
*/
|
|
32
|
+
private wrapInstructionsWithWSOL;
|
|
33
|
+
/**
|
|
34
|
+
* Wrap sell swap instructions with WSOL output handling + compute budget.
|
|
35
|
+
* For sell: we're selling a token and receiving quote (potentially WSOL).
|
|
36
|
+
* If output is WSOL, create the WSOL ATA, swap, then close it to unwrap SOL.
|
|
37
|
+
*/
|
|
38
|
+
private wrapSellInstructionsWithWSOL;
|
|
39
|
+
/**
|
|
40
|
+
* Detect whether a mint uses Token-2022 or the standard Token program.
|
|
41
|
+
*/
|
|
42
|
+
private getTokenProgramForMint;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=fusion-amm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fusion-amm.d.ts","sourceRoot":"","sources":["../../src/dex/fusion-amm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkDH,OAAO,EACL,WAAW,EACX,eAAe,EAEf,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,kBAAkB,EASnB,MAAM,SAAS,CAAC;AA0SjB,qBAAa,gBAAiB,YAAW,WAAW;IAClD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,gBAAgB;IACjC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAMnC;IAIG,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA2C3C,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA6E7C,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA2C/C,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0DzE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAQxE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;YA4BzC,cAAc;IA8D5B;;;OAGG;YACW,wBAAwB;IA6DtC;;;;OAIG;YACW,4BAA4B;IAoD1C;;OAEG;YACW,sBAAsB;CAUrC"}
|