genius-intents 0.20.3-develop.0 → 0.21.1-develop.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/direct-pools/pool-info/pool-info-orchestrator.service.d.ts.map +1 -1
  3. package/dist/direct-pools/pool-info/pool-info-orchestrator.service.js +0 -2
  4. package/dist/direct-pools/pool-info/pool-info-orchestrator.service.js.map +1 -1
  5. package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.d.ts +6 -1
  6. package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.d.ts.map +1 -1
  7. package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.js +28 -2
  8. package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.js.map +1 -1
  9. package/dist/direct-pools/pump-fun/pool-info/pump-pool-info.types.d.ts +5 -0
  10. package/dist/direct-pools/pump-fun/pool-info/pump-pool-info.types.d.ts.map +1 -1
  11. package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.d.ts +5 -1
  12. package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.d.ts.map +1 -1
  13. package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.js +32 -2
  14. package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.js.map +1 -1
  15. package/dist/direct-pools/pump-fun/txn-builder/pump-fun.service.d.ts.map +1 -1
  16. package/dist/direct-pools/pump-fun/txn-builder/pump-fun.service.js +25 -17
  17. package/dist/direct-pools/pump-fun/txn-builder/pump-fun.service.js.map +1 -1
  18. package/dist/direct-pools/pump-fun/txn-builder/pump-fun.types.d.ts +6 -0
  19. package/dist/direct-pools/pump-fun/txn-builder/pump-fun.types.d.ts.map +1 -1
  20. package/dist/direct-pools/pump-fun/txn-builder/pump-swap-amm.service.d.ts.map +1 -1
  21. package/dist/direct-pools/pump-fun/txn-builder/pump-swap-amm.service.js +47 -35
  22. package/dist/direct-pools/pump-fun/txn-builder/pump-swap-amm.service.js.map +1 -1
  23. package/dist/genius-intents.d.ts.map +1 -1
  24. package/dist/genius-intents.js +3 -0
  25. package/dist/genius-intents.js.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/dex/evm-direct-pool/evm-direct-pool.service.d.ts +72 -0
  31. package/dist/lib/dex/evm-direct-pool/evm-direct-pool.service.d.ts.map +1 -0
  32. package/dist/lib/dex/evm-direct-pool/evm-direct-pool.service.js +251 -0
  33. package/dist/lib/dex/evm-direct-pool/evm-direct-pool.service.js.map +1 -0
  34. package/dist/lib/dex/evm-direct-pool/evm-direct-pool.types.d.ts +22 -0
  35. package/dist/lib/dex/evm-direct-pool/evm-direct-pool.types.d.ts.map +1 -0
  36. package/dist/lib/dex/evm-direct-pool/evm-direct-pool.types.js +3 -0
  37. package/dist/lib/dex/evm-direct-pool/evm-direct-pool.types.js.map +1 -0
  38. package/dist/lib/dex/evm-direct-pool/index.d.ts +3 -0
  39. package/dist/lib/dex/evm-direct-pool/index.d.ts.map +1 -0
  40. package/dist/lib/dex/evm-direct-pool/index.js +21 -0
  41. package/dist/lib/dex/evm-direct-pool/index.js.map +1 -0
  42. package/dist/protocols/algebra/algebra.service.d.ts +2 -1
  43. package/dist/protocols/algebra/algebra.service.d.ts.map +1 -1
  44. package/dist/protocols/algebra/algebra.service.js +1 -0
  45. package/dist/protocols/algebra/algebra.service.js.map +1 -1
  46. package/dist/protocols/v2-dex/v2-dex.service.d.ts +5 -1
  47. package/dist/protocols/v2-dex/v2-dex.service.d.ts.map +1 -1
  48. package/dist/protocols/v2-dex/v2-dex.service.js +25 -22
  49. package/dist/protocols/v2-dex/v2-dex.service.js.map +1 -1
  50. package/dist/protocols/v2-dex/v2-dex.types.d.ts +9 -15
  51. package/dist/protocols/v2-dex/v2-dex.types.d.ts.map +1 -1
  52. package/dist/protocols/v2-dex/v2-dex.types.js +10 -1
  53. package/dist/protocols/v2-dex/v2-dex.types.js.map +1 -1
  54. package/dist/protocols/v3-dex/v3-dex.service.d.ts +2 -1
  55. package/dist/protocols/v3-dex/v3-dex.service.d.ts.map +1 -1
  56. package/dist/protocols/v3-dex/v3-dex.service.js +1 -0
  57. package/dist/protocols/v3-dex/v3-dex.service.js.map +1 -1
  58. package/dist/protocols/ve33/ve33.service.d.ts +2 -1
  59. package/dist/protocols/ve33/ve33.service.d.ts.map +1 -1
  60. package/dist/protocols/ve33/ve33.service.js +1 -0
  61. package/dist/protocols/ve33/ve33.service.js.map +1 -1
  62. package/dist/token-launches/pump-fun/pump-fun-launch.service.d.ts.map +1 -1
  63. package/dist/token-launches/pump-fun/pump-fun-launch.service.js +9 -6
  64. package/dist/token-launches/pump-fun/pump-fun-launch.service.js.map +1 -1
  65. package/dist/token-launches/pump-fun/pump-fun-launch.types.d.ts +1 -0
  66. package/dist/token-launches/pump-fun/pump-fun-launch.types.d.ts.map +1 -1
  67. package/dist/types/enums.d.ts +2 -1
  68. package/dist/types/enums.d.ts.map +1 -1
  69. package/dist/types/enums.js +1 -0
  70. package/dist/types/enums.js.map +1 -1
  71. package/dist/types/price-params.d.ts +2 -0
  72. package/dist/types/price-params.d.ts.map +1 -1
  73. package/dist/types/quote-execution-payload.d.ts +1 -0
  74. package/dist/types/quote-execution-payload.d.ts.map +1 -1
  75. package/package.json +3 -3
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EvmDirectPoolService = void 0;
4
+ const viem_1 = require("viem");
5
+ const logger_1 = require("../../../utils/logger");
6
+ const algebra_1 = require("../../../protocols/algebra");
7
+ const lfj_1 = require("../../../protocols/lfj");
8
+ const v2_dex_1 = require("../../../protocols/v2-dex");
9
+ const v3_dex_1 = require("../../../protocols/v3-dex");
10
+ const ve33_1 = require("../../../protocols/ve33");
11
+ const enums_1 = require("../../../types/enums");
12
+ const is_native_1 = require("../../../utils/is-native");
13
+ let logger;
14
+ class EvmDirectPoolService {
15
+ constructor(config) {
16
+ /**
17
+ * The protocol identifier for this service
18
+ */
19
+ this.protocol = enums_1.ProtocolEnum.EVM_DIRECT_POOL;
20
+ /**
21
+ * Service configuration flags
22
+ */
23
+ this.singleChain = true;
24
+ this.multiChain = false;
25
+ /**
26
+ * Gas limit for native token transfers
27
+ */
28
+ this._nativeTransferGasLimit = '30000';
29
+ /**
30
+ * Mapping of protocol to override parameter keys
31
+ */
32
+ this._overrideKeys = new Map([
33
+ [enums_1.ProtocolEnum.UNISWAP_V2, 'overrideParamsV2Dex'],
34
+ [enums_1.ProtocolEnum.UNISWAP_V3, 'overrideParamsV3Dex'],
35
+ [enums_1.ProtocolEnum.ALGEBRA, 'overrideParamsAlgebra'],
36
+ [enums_1.ProtocolEnum.VE_33, 'overrideParamsVe33'],
37
+ [enums_1.ProtocolEnum.LFJ, 'overrideParamsLfj'],
38
+ [enums_1.ProtocolEnum.FOUR_MEME, 'overrideParamsFourMeme'],
39
+ ]);
40
+ if (config?.debug) {
41
+ logger_1.LoggerFactory.configure(logger_1.LoggerFactory.createConsoleLogger({ level: logger_1.LogLevelEnum.DEBUG }));
42
+ }
43
+ // Use custom logger if provided
44
+ else if (config?.logger) {
45
+ logger_1.LoggerFactory.configure(config.logger);
46
+ }
47
+ logger = logger_1.LoggerFactory.getLogger();
48
+ const validRpcs = this._validateAndNormalizeRpcs(config?.rpcs);
49
+ const serviceConfig = { ...config, rpcs: validRpcs };
50
+ // Initialize all protocol services
51
+ const protocols = this._initializeProtocols(serviceConfig);
52
+ this.protocols = protocols;
53
+ // Build optimized lookup maps and arrays
54
+ const { protocolMap, overrideKeyMap, supportedDexes, allChains } = this._buildOptimizedMappings(protocols);
55
+ this._protocolMap = protocolMap;
56
+ this._overrideKeyMap = overrideKeyMap;
57
+ this.supportedDexes = supportedDexes;
58
+ this.chains = allChains;
59
+ }
60
+ isCorrectConfig(config) {
61
+ // This is a pass-through service, so we delegate to individual protocols
62
+ // For now, we accept any config as we validate rpcs in constructor
63
+ return config !== null && typeof config === 'object';
64
+ }
65
+ /**
66
+ * Validates and normalizes RPC configuration
67
+ */
68
+ _validateAndNormalizeRpcs(rpcs) {
69
+ if (!rpcs || Object.keys(rpcs).length === 0) {
70
+ throw new Error('RPC endpoints are required for EVM direct pool service');
71
+ }
72
+ const validRpcs = {};
73
+ for (const [chainId, rpc] of Object.entries(rpcs)) {
74
+ if (rpc) {
75
+ validRpcs[Number(chainId)] = rpc;
76
+ }
77
+ }
78
+ return validRpcs;
79
+ }
80
+ /**
81
+ * Initializes all protocol services with the given configuration
82
+ */
83
+ _initializeProtocols(serviceConfig) {
84
+ return [
85
+ new v2_dex_1.V2StyleDexService(serviceConfig),
86
+ new v3_dex_1.V3StyleDexService(serviceConfig),
87
+ new algebra_1.AlgebraService(serviceConfig),
88
+ new ve33_1.Ve33Service(serviceConfig),
89
+ new lfj_1.LFJService(serviceConfig),
90
+ ];
91
+ }
92
+ /**
93
+ * Builds optimized mappings for fast protocol and override key lookups
94
+ */
95
+ _buildOptimizedMappings(protocols) {
96
+ const protocolMapBuilder = new Map();
97
+ const overrideKeyMapBuilder = new Map();
98
+ const supportedDexesSet = new Set();
99
+ const allChainsSet = new Set();
100
+ // Process each protocol and build mappings
101
+ for (const protocol of protocols) {
102
+ const overrideKey = this._overrideKeys.get(protocol.protocol);
103
+ // Add chains
104
+ for (const chain of protocol.chains) {
105
+ allChainsSet.add(chain);
106
+ }
107
+ // Handle LFJ special case
108
+ if (protocol.protocol === enums_1.ProtocolEnum.LFJ) {
109
+ protocolMapBuilder.set(enums_1.ProtocolEnum.LFJ, protocol);
110
+ supportedDexesSet.add(enums_1.ProtocolEnum.LFJ);
111
+ if (overrideKey) {
112
+ overrideKeyMapBuilder.set(enums_1.ProtocolEnum.LFJ, overrideKey);
113
+ }
114
+ continue;
115
+ }
116
+ // Process supported dexes for other protocols (safely access supportedDexes)
117
+ const protocolWithDexes = protocol;
118
+ if (protocolWithDexes.supportedDexes) {
119
+ for (const dex of protocolWithDexes.supportedDexes) {
120
+ protocolMapBuilder.set(dex, protocol);
121
+ supportedDexesSet.add(dex);
122
+ if (overrideKey) {
123
+ overrideKeyMapBuilder.set(dex, overrideKey);
124
+ }
125
+ }
126
+ }
127
+ }
128
+ return {
129
+ protocolMap: new Map(protocolMapBuilder),
130
+ overrideKeyMap: new Map(overrideKeyMapBuilder),
131
+ supportedDexes: Array.from(supportedDexesSet),
132
+ allChains: Array.from(allChainsSet),
133
+ };
134
+ }
135
+ /**
136
+ * Validates and extracts parameters with optimized error messages
137
+ */
138
+ _validateAndExtractParams(p) {
139
+ const { params, requireFeeParams } = p;
140
+ const overrides = params?.overrideParamsEvmDirectPool;
141
+ if (!overrides) {
142
+ throw new Error('Missing override parameters for EVM direct pool');
143
+ }
144
+ const pairCandidate = overrides.pairCandidate;
145
+ if (!pairCandidate) {
146
+ throw new Error('Missing pair candidate for EVM direct pool');
147
+ }
148
+ if (requireFeeParams) {
149
+ const feeAmount = overrides.feeAmount;
150
+ const feeCollector = overrides.feeCollector;
151
+ if (!feeAmount) {
152
+ throw new Error('Missing fee amount for EVM direct pool');
153
+ }
154
+ if (!feeCollector) {
155
+ throw new Error('Missing fee collector for EVM direct pool');
156
+ }
157
+ return { overrides, pairCandidate, feeAmount, feeCollector };
158
+ }
159
+ return { overrides, pairCandidate };
160
+ }
161
+ /**
162
+ * Gets protocol and override key efficiently using pre-built maps
163
+ */
164
+ _getProtocolAndKey(dex) {
165
+ const protocol = this._protocolMap.get(dex);
166
+ if (!protocol) {
167
+ throw new Error(`Unsupported DEX: ${dex}`);
168
+ }
169
+ const overrideKey = this._overrideKeyMap.get(dex);
170
+ if (!overrideKey) {
171
+ throw new Error(`No override key found for DEX: ${dex}`);
172
+ }
173
+ return { protocol, overrideKey };
174
+ }
175
+ async fetchPrice(params) {
176
+ logger.debug('Fetching EVM direct pool price');
177
+ const { overrides, pairCandidate } = this._validateAndExtractParams({
178
+ params,
179
+ requireFeeParams: false,
180
+ });
181
+ const { protocol, overrideKey } = this._getProtocolAndKey(pairCandidate.dex);
182
+ return protocol.fetchPrice({ ...params, [overrideKey]: overrides });
183
+ }
184
+ async fetchQuote(params) {
185
+ const { overrides, pairCandidate, feeAmount, feeCollector } = this._validateAndExtractParams({
186
+ params,
187
+ requireFeeParams: true,
188
+ });
189
+ const { protocol, overrideKey } = this._getProtocolAndKey(pairCandidate.dex);
190
+ // Get price response efficiently
191
+ const priceResponse = params.priceResponse ?? (await this.fetchPrice(params));
192
+ logger.debug('Using price response for quote:', priceResponse);
193
+ const rawQuote = await protocol.fetchQuote({
194
+ ...params,
195
+ priceResponse,
196
+ [overrideKey]: overrides,
197
+ });
198
+ logger.debug('Raw quote received:', rawQuote);
199
+ const executionPayload = rawQuote.evmExecutionPayload;
200
+ if (!executionPayload) {
201
+ throw new Error('Missing execution payload for EVM direct pool quote');
202
+ }
203
+ const feeTransfer = this._buildFeeTransfer({
204
+ tokenIn: params.tokenIn,
205
+ tokenOut: params.tokenOut,
206
+ feeAmount: feeAmount,
207
+ feeCollector: feeCollector,
208
+ });
209
+ logger.debug('Built fee transfer transaction:', feeTransfer);
210
+ return {
211
+ ...rawQuote,
212
+ evmExecutionPayload: {
213
+ ...executionPayload,
214
+ feeTransfer,
215
+ },
216
+ };
217
+ }
218
+ /**
219
+ * Optimized fee transfer builder with improved logic and performance
220
+ */
221
+ _buildFeeTransfer(params) {
222
+ const { tokenIn, tokenOut, feeAmount, feeCollector } = params;
223
+ // Determine fee token efficiently - prefer tokenIn unless only tokenOut is native
224
+ const isNativeIn = (0, is_native_1.isNative)(tokenIn);
225
+ const isNativeOut = (0, is_native_1.isNative)(tokenOut);
226
+ const useTokenIn = isNativeIn || !isNativeOut;
227
+ const tokenForFee = useTokenIn ? tokenIn : tokenOut;
228
+ if ((0, is_native_1.isNative)(tokenForFee)) {
229
+ logger.debug('Building native token fee transfer');
230
+ return {
231
+ to: feeCollector,
232
+ data: '0x',
233
+ value: feeAmount,
234
+ gasLimit: this._nativeTransferGasLimit,
235
+ };
236
+ }
237
+ // Build ERC20 transfer transaction
238
+ logger.debug('Building ERC20 token fee transfer');
239
+ return {
240
+ to: tokenForFee,
241
+ data: (0, viem_1.encodeFunctionData)({
242
+ abi: viem_1.erc20Abi,
243
+ functionName: 'transfer',
244
+ args: [(0, viem_1.getAddress)(feeCollector), BigInt(feeAmount)],
245
+ }),
246
+ value: '0',
247
+ };
248
+ }
249
+ }
250
+ exports.EvmDirectPoolService = EvmDirectPoolService;
251
+ //# sourceMappingURL=evm-direct-pool.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-direct-pool.service.js","sourceRoot":"","sources":["../../../../src/lib/dex/evm-direct-pool/evm-direct-pool.service.ts"],"names":[],"mappings":";;;AAAA,+BAAgE;AAIhE,kDAA6E;AAQ7E,wDAA4D;AAC5D,gDAAoD;AACpD,sDAA8D;AAC9D,sDAA8D;AAC9D,kDAAsD;AACtD,gDAAiE;AAKjE,wDAAoD;AAEpD,IAAI,MAAe,CAAC;AAEpB,MAAa,oBAAoB;IA0C/B,YAAY,MAAqD;QAzCjE;;WAEG;QACa,aAAQ,GAAG,oBAAY,CAAC,eAAe,CAAC;QAExD;;WAEG;QACa,gBAAW,GAAG,IAAI,CAAC;QACnB,eAAU,GAAG,KAAK,CAAC;QASnC;;WAEG;QACK,4BAAuB,GAAG,OAAO,CAAC;QAE1C;;WAEG;QACK,kBAAa,GAAG,IAAI,GAAG,CAAuB;YACpD,CAAC,oBAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC;YAChD,CAAC,oBAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC;YAChD,CAAC,oBAAY,CAAC,OAAO,EAAE,uBAAuB,CAAC;YAC/C,CAAC,oBAAY,CAAC,KAAK,EAAE,oBAAoB,CAAC;YAC1C,CAAC,oBAAY,CAAC,GAAG,EAAE,mBAAmB,CAAC;YACvC,CAAC,oBAAY,CAAC,SAAS,EAAE,wBAAwB,CAAC;SACnD,CAAC,CAAC;QASD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,sBAAa,CAAC,SAAS,CAAC,sBAAa,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,qBAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,gCAAgC;aAC3B,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,sBAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,GAAG,sBAAa,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAErD,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,yCAAyC;QACzC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,GAC9D,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAEM,eAAe,CAAsC,MAE3D;QACC,yEAAyE;QACzE,mEAAmE;QACnE,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,yBAAyB,CAC/B,IAAsC;QAEtC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,IAAI,GAAG,EAAE,CAAC;gBACR,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,aAAwE;QAExE,OAAO;YACL,IAAI,0BAAiB,CAAC,aAAa,CAAC;YACpC,IAAI,0BAAiB,CAAC,aAAa,CAAC;YACpC,IAAI,wBAAc,CAAC,aAAa,CAAC;YACjC,IAAI,kBAAW,CAAC,aAAa,CAAC;YAC9B,IAAI,gBAAU,CAAC,aAAa,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,SAA4B;QAM1D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAsC,CAAC;QACzE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA6B,CAAC;QACnE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAqB,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;QAE5C,2CAA2C;QAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE9D,aAAa;YACb,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,0BAA0B;YAC1B,IAAI,QAAQ,CAAC,QAAQ,KAAK,oBAAY,CAAC,GAAG,EAAE,CAAC;gBAC3C,kBAAkB,CAAC,GAAG,CAAC,oBAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACnD,iBAAiB,CAAC,GAAG,CAAC,oBAAY,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,WAAW,EAAE,CAAC;oBAChB,qBAAqB,CAAC,GAAG,CAAC,oBAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBAC3D,CAAC;gBACD,SAAS;YACX,CAAC;YAED,6EAA6E;YAC7E,MAAM,iBAAiB,GAAG,QAEzB,CAAC;YACF,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;gBACrC,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;oBACnD,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBACtC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3B,IAAI,WAAW,EAAE,CAAC;wBAChB,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,WAAW,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC;YACxC,cAAc,EAAE,IAAI,GAAG,CAAC,qBAAqB,CAAC;YAC9C,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7C,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,yBAAyB,CAC/B,CAA2C;QAE3C,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,EAAE,2BAA2B,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YACtC,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;YAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAC/D,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAsB;QAI/C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAyB;QAC/C,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC/C,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAClE,MAAM;YACN,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;QAEH,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAE7E,OAAO,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAyB;QAC/C,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAC3F,MAAM;YACN,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAE7E,iCAAiC;QACjC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,aAAa,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC;YACzC,GAAG,MAAM;YACT,aAAa;YACb,CAAC,WAAW,CAAC,EAAE,SAAS;SACzB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,SAAU;YACrB,YAAY,EAAE,YAAa;SAC5B,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;QAE7D,OAAO;YACL,GAAG,QAAQ;YACX,mBAAmB,EAAE;gBACnB,GAAG,gBAAgB;gBACnB,WAAW;aACZ;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAKzB;QACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAE9D,kFAAkF;QAClF,MAAM,UAAU,GAAG,IAAA,oBAAQ,EAAC,OAAO,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAA,oBAAQ,EAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,WAAW,CAAC;QAC9C,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEpD,IAAI,IAAA,oBAAQ,EAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnD,OAAO;gBACL,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,IAAI,CAAC,uBAAuB;aACvC,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClD,OAAO;YACL,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAA,yBAAkB,EAAC;gBACvB,GAAG,EAAE,eAAQ;gBACb,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,IAAA,iBAAU,EAAC,YAAY,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;aACpD,CAAC;YACF,KAAK,EAAE,GAAG;SACX,CAAC;IACJ,CAAC;CACF;AA5TD,oDA4TC"}
@@ -0,0 +1,22 @@
1
+ import { IntentPriceParams } from '../../../types/price-params';
2
+ import { IntentQuoteParams } from '../../../types/quote-params';
3
+ import { EvmPairCandidate } from '../pair-discovery';
4
+ export type EvmDirectPoolConfig = {
5
+ rpcs: Partial<Record<number, string>>;
6
+ };
7
+ export type EvmDirectPoolOverrideParams = {
8
+ pairCandidate?: EvmPairCandidate;
9
+ feeAmount?: string;
10
+ feeCollector?: string;
11
+ };
12
+ export type ValidatedEvmDirectPoolParams = {
13
+ overrides: EvmDirectPoolOverrideParams;
14
+ pairCandidate: EvmPairCandidate;
15
+ feeAmount?: string;
16
+ feeCollector?: string;
17
+ };
18
+ export type ValidateAndExtractDirectPoolParamsParams = {
19
+ params: IntentPriceParams | IntentQuoteParams;
20
+ requireFeeParams: boolean;
21
+ };
22
+ //# sourceMappingURL=evm-direct-pool.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-direct-pool.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/evm-direct-pool/evm-direct-pool.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,2BAA2B,CAAC;IACvC,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAAG;IACrD,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IAC9C,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=evm-direct-pool.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-direct-pool.types.js","sourceRoot":"","sources":["../../../../src/lib/dex/evm-direct-pool/evm-direct-pool.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { EvmDirectPoolService } from './evm-direct-pool.service';
2
+ export * from './evm-direct-pool.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/evm-direct-pool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.EvmDirectPoolService = void 0;
18
+ var evm_direct_pool_service_1 = require("./evm-direct-pool.service");
19
+ Object.defineProperty(exports, "EvmDirectPoolService", { enumerable: true, get: function () { return evm_direct_pool_service_1.EvmDirectPoolService; } });
20
+ __exportStar(require("./evm-direct-pool.types"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/dex/evm-direct-pool/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA;AAC7B,0DAAwC"}
@@ -1,4 +1,4 @@
1
- import { AlgebraConfig, AlgebraDeployment } from './algebra.types';
1
+ import { AlgebraConfig, AlgebraDeployment, AlgebraDexTagEnum } from './algebra.types';
2
2
  import { ChainIdEnum, ProtocolEnum } from '../../types/enums';
3
3
  import { IntentPriceParams } from '../../types/price-params';
4
4
  import { GeniusIntentsSDKConfig } from '../../types/sdk-config';
@@ -44,6 +44,7 @@ export declare class AlgebraService implements IIntentProtocol {
44
44
  * Deployments by chain (user-supplied via config)
45
45
  */
46
46
  deployments: Partial<Record<ChainIdEnum, AlgebraDeployment[]>>;
47
+ supportedDexes: AlgebraDexTagEnum[];
47
48
  constructor(config?: GeniusIntentsSDKConfig & AlgebraConfig);
48
49
  isCorrectConfig<T extends {
49
50
  [key: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"algebra.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/algebra/algebra.service.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,aAAa,EACb,iBAAiB,EAQlB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAS7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAO3D;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD;;OAEG;IACI,QAAQ,EAAE,YAAY,CAAwB;IAErD;;OAEG;IACI,WAAW,UAAQ;IAE1B;;OAEG;IACI,UAAU,UAAS;IAE1B;;OAEG;IACI,MAAM,gBAAgD;IAE7D;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAkD;IAElE;;OAEG;IACI,WAAW,oDAAyB;gBAE/B,MAAM,CAAC,EAAE,sBAAsB,GAAG,aAAa;IA2CpD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,OAAO,EAAE;QACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,OAAO,IAAI,CAAC;IAMhB,iEAAiE;IACpD,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqL1E,gFAAgF;IACnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiK1E,OAAO,CAAC,4BAA4B;IA2EpC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,iBAAiB;YAoCX,+BAA+B;IA+H7C,OAAO,CAAC,gBAAgB;CAezB"}
1
+ {"version":3,"file":"algebra.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/algebra/algebra.service.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,aAAa,EACb,iBAAiB,EAOjB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAS7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAO3D;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD;;OAEG;IACI,QAAQ,EAAE,YAAY,CAAwB;IAErD;;OAEG;IACI,WAAW,UAAQ;IAE1B;;OAEG;IACI,UAAU,UAAS;IAE1B;;OAEG;IACI,MAAM,gBAAgD;IAE7D;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAkD;IAElE;;OAEG;IACI,WAAW,oDAAyB;IACpC,cAAc,sBAAoC;gBAE7C,MAAM,CAAC,EAAE,sBAAsB,GAAG,aAAa;IA2CpD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,OAAO,EAAE;QACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,OAAO,IAAI,CAAC;IAMhB,iEAAiE;IACpD,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqL1E,gFAAgF;IACnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiK1E,OAAO,CAAC,4BAA4B;IA2EpC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,iBAAiB;YAoCX,+BAA+B;IA+H7C,OAAO,CAAC,gBAAgB;CAezB"}
@@ -57,6 +57,7 @@ class AlgebraService {
57
57
  * Deployments by chain (user-supplied via config)
58
58
  */
59
59
  this.deployments = algebra_dex_deployments_1.algebraDexDeployments;
60
+ this.supportedDexes = Object.values(algebra_types_1.AlgebraDexTagEnum);
60
61
  if (config?.debug) {
61
62
  logger_1.LoggerFactory.configure(logger_1.LoggerFactory.createConsoleLogger({ level: logger_1.LogLevelEnum.DEBUG }));
62
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"algebra.service.js","sourceRoot":"","sources":["../../../src/protocols/algebra/algebra.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"algebra.service.js","sourceRoot":"","sources":["../../../src/protocols/algebra/algebra.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { UniV2Config, V2DexDeployments } from './v2-dex.types';
1
+ import { UniV2Config, UniswapV2StyleDexEnum, V2DexDeployments } from './v2-dex.types';
2
2
  import { IIntentProtocol } from '../../interfaces/intent-protocol';
3
3
  import { IntentPriceParams } from '../../types/price-params';
4
4
  import { PriceResponse } from '../../types/price-response';
@@ -45,6 +45,10 @@ export declare class V2StyleDexService implements IIntentProtocol {
45
45
  * The deployments of V2-style DEXes on various chains
46
46
  */
47
47
  static deployments: V2DexDeployments;
48
+ /**
49
+ * The supported DEXes for the protocol
50
+ */
51
+ supportedDexes: UniswapV2StyleDexEnum[];
48
52
  /**
49
53
  * Optional external _rpcs keyed by network/chain id
50
54
  * If not provided for a network, on-chain calls for that network will be skipped with a descriptive error.
@@ -1 +1 @@
1
- {"version":3,"file":"v2-dex.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2-dex/v2-dex.service.ts"],"names":[],"mappings":"AAUA,OAAO,EAQL,WAAW,EAIX,gBAAgB,EAKjB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAS5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAUhE;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD;;OAEG;IACI,QAAQ,eAA2B;IAE1C;;OAEG;IACI,WAAW,UAAQ;IAE1B;;OAEG;IACI,UAAU,UAAS;IAE1B;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;OAEG;IACI,MAAM,gBAAwB;IAErC;;OAEG;IACH,OAAc,WAAW,EAAE,gBAAgB,CAAuB;IAElE;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAoB;gBAErB,MAAM,CAAC,EAAE,sBAAsB,GAAG,WAAW;IAwDlD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,OAAO,EAAE;QACnE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,GAAG,OAAO,IAAI,CAAC;IAKH,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAwS7D,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqN1E,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,sBAAsB;YA4BhB,kCAAkC;IAyChD,OAAO,CAAC,4BAA4B;IAsDpC,OAAO,CAAC,iBAAiB;IA+CzB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,aAAa;CAMtB"}
1
+ {"version":3,"file":"v2-dex.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/v2-dex/v2-dex.service.ts"],"names":[],"mappings":"AAUA,OAAO,EAQL,WAAW,EAEX,qBAAqB,EAErB,gBAAgB,EAMjB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAS5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAUhE;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD;;OAEG;IACI,QAAQ,eAA2B;IAE1C;;OAEG;IACI,WAAW,UAAQ;IAE1B;;OAEG;IACI,UAAU,UAAS;IAE1B;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;OAEG;IACI,MAAM,gBAAwB;IAErC;;OAEG;IACH,OAAc,WAAW,EAAE,gBAAgB,CAAuB;IAElE;;OAEG;IACI,cAAc,0BAAwC;IAE7D;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAoB;gBAErB,MAAM,CAAC,EAAE,sBAAsB,GAAG,WAAW;IAwDlD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,OAAO,EAAE;QACnE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,GAAG,OAAO,IAAI,CAAC;IAKH,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IA6S7D,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAwN1E,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,sBAAsB;YA4BhB,kCAAkC;IAiChD,OAAO,CAAC,4BAA4B;IAsDpC,OAAO,CAAC,iBAAiB;IA+CzB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,aAAa;CAMtB"}
@@ -56,6 +56,10 @@ class V2StyleDexService {
56
56
  * The supported chains for the protocol
57
57
  */
58
58
  this.chains = v2_dex_deployments_1.uniV2SupportedChains;
59
+ /**
60
+ * The supported DEXes for the protocol
61
+ */
62
+ this.supportedDexes = Object.values(v2_dex_types_1.UniswapV2StyleDexEnum);
59
63
  /**
60
64
  * Optional external _rpcs keyed by network/chain id
61
65
  * If not provided for a network, on-chain calls for that network will be skipped with a descriptive error.
@@ -135,8 +139,10 @@ class V2StyleDexService {
135
139
  throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'amountIn must be greater than zero');
136
140
  }
137
141
  const overrideCandidate = overrides?.pairCandidate;
142
+ console.log(`OVERRIDE_CANDIDATE`, overrideCandidate);
138
143
  const overrideKey = overrideCandidate?.key;
139
144
  const overridePair = overrideCandidate?.pair;
145
+ console.log(`OVERRIDE_KEY`, overrideKey);
140
146
  const overrideExpectedAmountOut = overrideCandidate?.expectedAmountOut;
141
147
  const overrideAmountOutMin = overrideCandidate?.amountOutMin;
142
148
  const useFastRoute = overridePair && overrideKey && overrideAmountOutMin;
@@ -416,15 +422,18 @@ class V2StyleDexService {
416
422
  if (!overridePair) {
417
423
  throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'Override pair is required for quote building.');
418
424
  }
419
- const functionDetails = await this._decideUniV2SwapMethodWithOverride({
420
- factoryAddress: bestFactory,
421
- tokenIn: path[0],
422
- tokenOut: path[1],
423
- amountIn: amountInBig,
424
- provider,
425
- isNative: isNativeTokenIn,
426
- overridePair,
427
- });
425
+ const functionDetails = overridePair
426
+ ? {
427
+ decision: v2_dex_types_1.V2DexQuoteOverrideReasonEnum.SUPPORTING_FEE_ON_TRANSFER,
428
+ reason: v2_dex_types_1.V2DexQuoteOverrideReasonEnum.OVERRIDE_PAIR_PROVIDED,
429
+ }
430
+ : await this._decideUniV2SwapMethodWithOverride({
431
+ factoryAddress: bestFactory,
432
+ tokenIn: path[0],
433
+ tokenOut: path[1],
434
+ amountIn: amountInBig,
435
+ provider,
436
+ });
428
437
  const value = isNativeTokenIn ? amountInBig : BigInt(0);
429
438
  const fn = this._selectSwapFunction({
430
439
  deployment: bestDeployment.dex,
@@ -552,12 +561,9 @@ class V2StyleDexService {
552
561
  }
553
562
  async _decideUniV2SwapMethodWithOverride(params) {
554
563
  const { factoryAddress, tokenIn, // wrapped native when isNative === true
555
- tokenOut, amountIn, provider, isNative, overridePair, } = params;
564
+ tokenOut, amountIn, provider, } = params;
556
565
  if (tokenIn === constants_1.ZERO_ADDRESS || tokenOut === constants_1.ZERO_ADDRESS || amountIn <= 0n) {
557
- return { decision: 'unknown', reason: 'bad params' };
558
- }
559
- if (overridePair) {
560
- return { decision: 'supportingFeeOnTransfer', reason: 'override pair provided' };
566
+ return { decision: v2_dex_types_1.V2DexQuoteOverrideReasonEnum.UNKNOWN, reason: 'bad params' };
561
567
  }
562
568
  // Ensure the pair exists (tokenIn is wrapped native when isNative === true)
563
569
  const pair = await provider.readContract({
@@ -567,15 +573,12 @@ class V2StyleDexService {
567
573
  args: [tokenIn, tokenOut],
568
574
  });
569
575
  if (pair === constants_1.ZERO_ADDRESS) {
570
- return { decision: 'unknown', reason: 'no pair' };
571
- }
572
- // --------- Native input branch (no ERC20 allowance; value must be set) ----------
573
- if (isNative) {
574
- return { decision: 'supportingFeeOnTransfer', reason: 'native input' };
575
- }
576
- else {
577
- return { decision: 'supportingFeeOnTransfer', reason: 'erc20 input' };
576
+ return { decision: v2_dex_types_1.V2DexQuoteOverrideReasonEnum.UNKNOWN, reason: 'no pair' };
578
577
  }
578
+ return {
579
+ decision: v2_dex_types_1.V2DexQuoteOverrideReasonEnum.DEFAULT,
580
+ reason: 'default method',
581
+ };
579
582
  }
580
583
  _buildFastRoutePriceResponse(params) {
581
584
  const { networkIn, networkOut, tokenIn, tokenOut, amountIn, slippage, deployments, overrideDex, overrideExpectedAmountOut, overrideAmountOutMin, overridePair, } = params;