genius-intents 0.32.0 → 0.34.1-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/evm-transaction-safety/evm-transaction-safety.service.d.ts +33 -0
  7. package/dist/lib/evm-transaction-safety/evm-transaction-safety.service.d.ts.map +1 -0
  8. package/dist/lib/evm-transaction-safety/evm-transaction-safety.service.js +181 -0
  9. package/dist/lib/evm-transaction-safety/evm-transaction-safety.service.js.map +1 -0
  10. package/dist/lib/evm-transaction-safety/evm-transaction-safety.types.d.ts +22 -0
  11. package/dist/lib/evm-transaction-safety/evm-transaction-safety.types.d.ts.map +1 -0
  12. package/dist/lib/evm-transaction-safety/evm-transaction-safety.types.js +3 -0
  13. package/dist/lib/evm-transaction-safety/evm-transaction-safety.types.js.map +1 -0
  14. package/dist/protocols/debridge/debridge.service.d.ts.map +1 -1
  15. package/dist/protocols/debridge/debridge.service.js +22 -0
  16. package/dist/protocols/debridge/debridge.service.js.map +1 -1
  17. package/dist/protocols/four-meme/four-meme.service.d.ts.map +1 -1
  18. package/dist/protocols/four-meme/four-meme.service.js +31 -8
  19. package/dist/protocols/four-meme/four-meme.service.js.map +1 -1
  20. package/dist/protocols/kyberswap/kyberswap.service.d.ts.map +1 -1
  21. package/dist/protocols/kyberswap/kyberswap.service.js +21 -0
  22. package/dist/protocols/kyberswap/kyberswap.service.js.map +1 -1
  23. package/dist/protocols/lifi/lifi.service.d.ts.map +1 -1
  24. package/dist/protocols/lifi/lifi.service.js +24 -0
  25. package/dist/protocols/lifi/lifi.service.js.map +1 -1
  26. package/dist/protocols/odos/odos.service.d.ts.map +1 -1
  27. package/dist/protocols/odos/odos.service.js +36 -14
  28. package/dist/protocols/odos/odos.service.js.map +1 -1
  29. package/dist/protocols/okx/okx.service.d.ts.map +1 -1
  30. package/dist/protocols/okx/okx.service.js +21 -0
  31. package/dist/protocols/okx/okx.service.js.map +1 -1
  32. package/dist/protocols/openocean/openocean.service.d.ts.map +1 -1
  33. package/dist/protocols/openocean/openocean.service.js +22 -0
  34. package/dist/protocols/openocean/openocean.service.js.map +1 -1
  35. package/dist/protocols/relay/relay.service.d.ts.map +1 -1
  36. package/dist/protocols/relay/relay.service.js +21 -0
  37. package/dist/protocols/relay/relay.service.js.map +1 -1
  38. package/dist/protocols/tessera/tessera.service.js +1 -1
  39. package/dist/protocols/tessera/tessera.service.js.map +1 -1
  40. package/dist/protocols/v2-dex/v2-dex.service.d.ts.map +1 -1
  41. package/dist/protocols/v2-dex/v2-dex.service.js +12 -0
  42. package/dist/protocols/v2-dex/v2-dex.service.js.map +1 -1
  43. package/dist/protocols/v3-dex/v3-dex.service.d.ts.map +1 -1
  44. package/dist/protocols/v3-dex/v3-dex.service.js +13 -0
  45. package/dist/protocols/v3-dex/v3-dex.service.js.map +1 -1
  46. package/dist/protocols/zeroX/zeroX.service.d.ts.map +1 -1
  47. package/dist/protocols/zeroX/zeroX.service.js +37 -14
  48. package/dist/protocols/zeroX/zeroX.service.js.map +1 -1
  49. package/dist/utils/min-amount-out.d.ts +6 -0
  50. package/dist/utils/min-amount-out.d.ts.map +1 -1
  51. package/dist/utils/min-amount-out.js +8 -0
  52. package/dist/utils/min-amount-out.js.map +1 -1
  53. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,47 @@
1
+ ## [0.34.1-develop.1] - 2026-02-27 (Beta)
2
+
3
+ 🧪 **This is a beta release for testing purposes.**
4
+
5
+ ### [0.34.1-develop.1](https://github.com/Genius-Foundation/genius-intents/compare/v0.34.0...v0.34.1-develop.1) (2026-02-27)
6
+
7
+
8
+
9
+ ⚠️ **Beta Release Notes:**
10
+ - This version is intended for testing and development
11
+ - May contain experimental features
12
+ - Not recommended for production use
13
+ - Feedback and bug reports are welcome
14
+
15
+ ---
16
+
17
+
18
+ ## [0.33.0] - 2026-02-24 (Beta)
19
+
20
+ 🧪 **This is a beta release for testing purposes.**
21
+
22
+ ## [0.33.0](https://github.com/Genius-Foundation/genius-intents/compare/v0.32.0...v0.33.0) (2026-02-24)
23
+
24
+
25
+ ### Features
26
+
27
+ * **tessera:** squash branch changes ([#226](https://github.com/Genius-Foundation/genius-intents/issues/226)) ([bd2e410](https://github.com/Genius-Foundation/genius-intents/commit/bd2e410d642a5a1a5e3184eb7550fee5af80059a))
28
+
29
+
30
+ ### Documentation
31
+
32
+ * update CHANGELOG.md for v0.32.0 (beta) ([a9296c5](https://github.com/Genius-Foundation/genius-intents/commit/a9296c55d6b1c1d0e6b4df22de9582530d61203f))
33
+
34
+
35
+
36
+ ⚠️ **Beta Release Notes:**
37
+ - This version is intended for testing and development
38
+ - May contain experimental features
39
+ - Not recommended for production use
40
+ - Feedback and bug reports are welcome
41
+
42
+ ---
43
+
44
+
1
45
  ## [0.32.0] - 2026-02-23 (Beta)
2
46
 
3
47
  🧪 **This is a beta release for testing purposes.**
package/dist/index.d.ts CHANGED
@@ -29,6 +29,7 @@ export * as Algebra from './protocols/algebra';
29
29
  export * as Lfj from './protocols/lfj';
30
30
  export * as LiquidMesh from './protocols/liquid-mesh';
31
31
  export * as EvmDirectPool from './lib/dex/evm-direct-pool';
32
+ export * as Tessera from './protocols/tessera';
32
33
  export { EvmDirectPoolService } from './lib/dex/evm-direct-pool';
33
34
  export * as GeniusIntentsUtils from './utils';
34
35
  export * as EvmDirectPoolDiscovery from './lib/dex/pair-discovery';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.NoOpLogger = exports.ConsoleLogger = exports.LoggerFactory = exports.LogLevelEnum = exports.ChainVmTypeEnum = exports.SdkErrorEnum = exports.ProtocolEnum = exports.ChainIdEnum = exports.GeniusIntents = exports.determineTokenInTransferTax = exports.EvmDirectPoolDiscovery = exports.GeniusIntentsUtils = exports.EvmDirectPoolService = exports.EvmDirectPool = exports.LiquidMesh = exports.Lfj = exports.Algebra = exports.Ve33 = exports.DirectPoolInfo = exports.DirectPoolPumpFun = exports.DirectPoolWhirlpools = exports.DirectPoolRaydium = exports.DirectPoolMeteora = exports.Pumpswap = exports.Relay = exports.Cetus = exports.PumpFun = exports.DFlow = exports.Lifinity = exports.Lifi = exports.V3Dex = exports.V2Dex = exports.FourMeme = exports.Across = exports.GeniusBridge = exports.DeBridge = exports.ZeroX = exports.Aftermath = exports.OpenOcean = exports.Kyberswap = exports.Odos = exports.Raydium = exports.Okx = exports.Jupiter = void 0;
36
+ exports.NoOpLogger = exports.ConsoleLogger = exports.LoggerFactory = exports.LogLevelEnum = exports.ChainVmTypeEnum = exports.SdkErrorEnum = exports.ProtocolEnum = exports.ChainIdEnum = exports.GeniusIntents = exports.determineTokenInTransferTax = exports.EvmDirectPoolDiscovery = exports.GeniusIntentsUtils = exports.EvmDirectPoolService = exports.Tessera = exports.EvmDirectPool = exports.LiquidMesh = exports.Lfj = exports.Algebra = exports.Ve33 = exports.DirectPoolInfo = exports.DirectPoolPumpFun = exports.DirectPoolWhirlpools = exports.DirectPoolRaydium = exports.DirectPoolMeteora = exports.Pumpswap = exports.Relay = exports.Cetus = exports.PumpFun = exports.DFlow = exports.Lifinity = exports.Lifi = exports.V3Dex = exports.V2Dex = exports.FourMeme = exports.Across = exports.GeniusBridge = exports.DeBridge = exports.ZeroX = exports.Aftermath = exports.OpenOcean = exports.Kyberswap = exports.Odos = exports.Raydium = exports.Okx = exports.Jupiter = void 0;
37
37
  // Protocol imports from their index files
38
38
  exports.Jupiter = __importStar(require("./protocols/jupiter"));
39
39
  exports.Okx = __importStar(require("./protocols/okx"));
@@ -66,6 +66,7 @@ exports.Algebra = __importStar(require("./protocols/algebra"));
66
66
  exports.Lfj = __importStar(require("./protocols/lfj"));
67
67
  exports.LiquidMesh = __importStar(require("./protocols/liquid-mesh"));
68
68
  exports.EvmDirectPool = __importStar(require("./lib/dex/evm-direct-pool"));
69
+ exports.Tessera = __importStar(require("./protocols/tessera"));
69
70
  var evm_direct_pool_1 = require("./lib/dex/evm-direct-pool");
70
71
  Object.defineProperty(exports, "EvmDirectPoolService", { enumerable: true, get: function () { return evm_direct_pool_1.EvmDirectPoolService; } });
71
72
  exports.GeniusIntentsUtils = __importStar(require("./utils"));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA0C;AAC1C,+DAA+C;AAC/C,uDAAuC;AACvC,+DAA+C;AAC/C,yDAAyC;AACzC,mEAAmD;AACnD,mEAAmD;AACnD,mEAAmD;AACnD,2DAA2C;AAC3C,iEAAiD;AACjD,0EAA0D;AAC1D,6DAA6C;AAC7C,kEAAkD;AAClD,4DAA4C;AAC5C,4DAA4C;AAC5C,yDAAyC;AACzC,iEAAiD;AACjD,2DAA2C;AAC3C,+DAA+C;AAC/C,2DAA2C;AAC3C,2DAA2C;AAC3C,iEAAiD;AACjD,4EAA4D;AAC5D,4EAA4D;AAC5D,kFAAkE;AAClE,6EAA6D;AAC7D,2EAA2D;AAC3D,yDAAyC;AACzC,+DAA+C;AAC/C,uDAAuC;AACvC,sEAAsD;AACtD,2EAA2D;AAC3D,6DAAiE;AAAxD,uHAAA,oBAAoB,OAAA;AAE7B,8DAA8C;AAC9C,mFAAmE;AACnE,gFAAuF;AAA9E,kIAAA,2BAA2B,OAAA;AAEpC,2BAA2B;AAC3B,yCAAyF;AAqDvF,4FArDO,mBAAW,OAqDP;AACX,6FAtDoB,oBAAY,OAsDpB;AACZ,6FAvDkC,oBAAY,OAuDlC;AACZ,gGAxDgD,uBAAe,OAwDhD;AAlDjB,qDAAiD;AAmB/C,8FAnBO,8BAAa,OAmBP;AAJf,2CAAiG;AAoC/F,6FApCgB,qBAAY,OAoChB;AAOZ,8FA3C8B,sBAAa,OA2C9B;AACb,8FA5C6C,sBAAa,OA4C7C;AACb,2FA7C4D,mBAAU,OA6C5D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA0C;AAC1C,+DAA+C;AAC/C,uDAAuC;AACvC,+DAA+C;AAC/C,yDAAyC;AACzC,mEAAmD;AACnD,mEAAmD;AACnD,mEAAmD;AACnD,2DAA2C;AAC3C,iEAAiD;AACjD,0EAA0D;AAC1D,6DAA6C;AAC7C,kEAAkD;AAClD,4DAA4C;AAC5C,4DAA4C;AAC5C,yDAAyC;AACzC,iEAAiD;AACjD,2DAA2C;AAC3C,+DAA+C;AAC/C,2DAA2C;AAC3C,2DAA2C;AAC3C,iEAAiD;AACjD,4EAA4D;AAC5D,4EAA4D;AAC5D,kFAAkE;AAClE,6EAA6D;AAC7D,2EAA2D;AAC3D,yDAAyC;AACzC,+DAA+C;AAC/C,uDAAuC;AACvC,sEAAsD;AACtD,2EAA2D;AAC3D,+DAA+C;AAC/C,6DAAiE;AAAxD,uHAAA,oBAAoB,OAAA;AAE7B,8DAA8C;AAC9C,mFAAmE;AACnE,gFAAuF;AAA9E,kIAAA,2BAA2B,OAAA;AAEpC,2BAA2B;AAC3B,yCAAyF;AAqDvF,4FArDO,mBAAW,OAqDP;AACX,6FAtDoB,oBAAY,OAsDpB;AACZ,6FAvDkC,oBAAY,OAuDlC;AACZ,gGAxDgD,uBAAe,OAwDhD;AAlDjB,qDAAiD;AAmB/C,8FAnBO,8BAAa,OAmBP;AAJf,2CAAiG;AAoC/F,6FApCgB,qBAAY,OAoChB;AAOZ,8FA3C8B,sBAAa,OA2C9B;AACb,8FA5C6C,sBAAa,OA4C7C;AACb,2FA7C4D,mBAAU,OA6C5D"}
@@ -0,0 +1,33 @@
1
+ import { ValidateEvmErc20InputCalldataParams, ValidateEvmNativeCalldataParams, ValidateEvmTransactionParams } from './evm-transaction-safety.types';
2
+ /**
3
+ * Generic calldata fuzzing and transaction safety checks for EVM-based chains.
4
+ * This service can be extended to implement more specific safety checks on a
5
+ * protocol by protocol basis
6
+ */
7
+ export declare class EvmTransactionSafetyService {
8
+ private static readonly _uint256Max;
9
+ private static readonly _zeroAddress;
10
+ private static readonly _nativePlaceholderAddress;
11
+ private static readonly _maxCalldataBytes;
12
+ private static _parseUint256;
13
+ private static _normalizeAndValidateAddress;
14
+ private static _resolveTokenAddressForCalldata;
15
+ private static _toAbiAddressWord;
16
+ private static _getCalldataWords;
17
+ private static _normalizeAndValidateCalldata;
18
+ private static _toAbiUint256Word;
19
+ private static _assertCalldataContainsWord;
20
+ /**
21
+ * Wrapper function for both native and ERC20 input transactions
22
+ */
23
+ static validateEvmTransaction(params: ValidateEvmTransactionParams): void;
24
+ /**
25
+ * Validates the calldata for a native EVM transaction.
26
+ */
27
+ static validateNativeTransaction(params: ValidateEvmNativeCalldataParams): void;
28
+ /**
29
+ * Validates calldata for an ERC20-input EVM transaction.
30
+ */
31
+ static validateErc20InputTransaction(params: ValidateEvmErc20InputCalldataParams): void;
32
+ }
33
+ //# sourceMappingURL=evm-transaction-safety.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-transaction-safety.service.d.ts","sourceRoot":"","sources":["../../../src/lib/evm-transaction-safety/evm-transaction-safety.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAGxC;;;;GAIG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAgD;IACpF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAgD;IACjG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAEnD,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAc3C,OAAO,CAAC,MAAM,CAAC,+BAA+B;IA8B9C,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAWhC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAiB5C,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAU1C;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI;IAczE;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,+BAA+B,GAAG,IAAI;IAyE/E;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAAC,MAAM,EAAE,mCAAmC,GAAG,IAAI;CAoFxF"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EvmTransactionSafetyService = void 0;
4
+ const wrapped_native_1 = require("../../utils/wrapped-native");
5
+ /**
6
+ * Generic calldata fuzzing and transaction safety checks for EVM-based chains.
7
+ * This service can be extended to implement more specific safety checks on a
8
+ * protocol by protocol basis
9
+ */
10
+ class EvmTransactionSafetyService {
11
+ static _parseUint256(value, fieldName) {
12
+ if (!/^\d+$/.test(value)) {
13
+ throw new Error(`${fieldName} must be a non-negative integer string`);
14
+ }
15
+ const parsedValue = BigInt(value);
16
+ if (parsedValue > EvmTransactionSafetyService._uint256Max) {
17
+ throw new Error(`${fieldName} exceeds uint256 max value`);
18
+ }
19
+ return parsedValue;
20
+ }
21
+ static _normalizeAndValidateAddress(address, fieldName) {
22
+ const normalizedAddress = address.toLowerCase();
23
+ if (!/^0x[0-9a-f]{40}$/.test(normalizedAddress)) {
24
+ throw new Error(`${fieldName} must be a valid EVM address`);
25
+ }
26
+ if (normalizedAddress === EvmTransactionSafetyService._zeroAddress) {
27
+ throw new Error(`${fieldName} cannot be zero address`);
28
+ }
29
+ return normalizedAddress;
30
+ }
31
+ static _resolveTokenAddressForCalldata(tokenAddress, network, fieldName) {
32
+ const normalizedTokenAddress = tokenAddress.toLowerCase();
33
+ const isNativePlaceholderAddress = normalizedTokenAddress === EvmTransactionSafetyService._zeroAddress ||
34
+ normalizedTokenAddress === EvmTransactionSafetyService._nativePlaceholderAddress;
35
+ if (!isNativePlaceholderAddress) {
36
+ return EvmTransactionSafetyService._normalizeAndValidateAddress(tokenAddress, fieldName);
37
+ }
38
+ if (network === undefined) {
39
+ throw new Error(`${fieldName} uses native placeholder but network is required`);
40
+ }
41
+ const wrappedNativeAddress = wrapped_native_1.wrappedNativeTokens[network];
42
+ if (!wrappedNativeAddress) {
43
+ throw new Error(`Wrapped native token is not configured for network ${network}`);
44
+ }
45
+ return EvmTransactionSafetyService._normalizeAndValidateAddress(wrappedNativeAddress, fieldName);
46
+ }
47
+ static _toAbiAddressWord(address) {
48
+ return `000000000000000000000000${address.replace(/^0x/, '')}`;
49
+ }
50
+ static _getCalldataWords(normalizedCalldata) {
51
+ const calldataWithoutSelector = normalizedCalldata.slice(8);
52
+ const words = [];
53
+ for (let index = 0; index + 64 <= calldataWithoutSelector.length; index += 64) {
54
+ words.push(calldataWithoutSelector.slice(index, index + 64));
55
+ }
56
+ return words;
57
+ }
58
+ static _normalizeAndValidateCalldata(calldata) {
59
+ if (!calldata || calldata === '0x') {
60
+ throw new Error('Calldata cannot be empty');
61
+ }
62
+ if (!/^0x[0-9a-fA-F]+$/.test(calldata) || calldata.length % 2 !== 0) {
63
+ throw new Error('Calldata must be valid hex data');
64
+ }
65
+ const calldataBytes = (calldata.length - 2) / 2;
66
+ if (calldataBytes > EvmTransactionSafetyService._maxCalldataBytes) {
67
+ throw new Error('Calldata exceeds maximum allowed size');
68
+ }
69
+ return calldata.toLowerCase().replace(/^0x/, '');
70
+ }
71
+ static _toAbiUint256Word(value) {
72
+ return value.toString(16).padStart(64, '0');
73
+ }
74
+ static _assertCalldataContainsWord(calldataWords, expectedWord, fieldName) {
75
+ if (!calldataWords.includes(expectedWord)) {
76
+ throw new Error(`Calldata does not contain expected ${fieldName}`);
77
+ }
78
+ }
79
+ /**
80
+ * Wrapper function for both native and ERC20 input transactions
81
+ */
82
+ static validateEvmTransaction(params) {
83
+ const hasTokenIn = 'tokenIn' in params && params.tokenIn !== undefined;
84
+ if (hasTokenIn) {
85
+ EvmTransactionSafetyService.validateErc20InputTransaction(params);
86
+ }
87
+ else {
88
+ EvmTransactionSafetyService.validateNativeTransaction(params);
89
+ }
90
+ }
91
+ /**
92
+ * Validates the calldata for a native EVM transaction.
93
+ */
94
+ static validateNativeTransaction(params) {
95
+ EvmTransactionSafetyService._normalizeAndValidateAddress(params.from, 'From address');
96
+ const stdRecipient = EvmTransactionSafetyService._normalizeAndValidateAddress(params.recipient, 'Recipient address');
97
+ EvmTransactionSafetyService._normalizeAndValidateAddress(params.to, 'To address');
98
+ const stdTokenOut = EvmTransactionSafetyService._resolveTokenAddressForCalldata(params.tokenOut, params.network, 'TokenOut address');
99
+ const amountIn = EvmTransactionSafetyService._parseUint256(params.amountIn, 'amountIn');
100
+ const minAmountOut = EvmTransactionSafetyService._parseUint256(params.minAmountOut, 'minAmountOut');
101
+ const value = EvmTransactionSafetyService._parseUint256(params.value, 'value');
102
+ /**
103
+ * Validate that the value matches the amountIn
104
+ */
105
+ if (value !== amountIn) {
106
+ throw new Error('Value does not match the amountIn');
107
+ }
108
+ if (amountIn <= 0n) {
109
+ throw new Error('amountIn must be greater than 0');
110
+ }
111
+ if (minAmountOut <= 0n) {
112
+ throw new Error('minAmountOut must be greater than 0');
113
+ }
114
+ const normalizedCalldata = EvmTransactionSafetyService._normalizeAndValidateCalldata(params.calldata);
115
+ /**
116
+ * Fuzz calldata to validate that minAmountOut is present in the calldata
117
+ */
118
+ const calldataWords = EvmTransactionSafetyService._getCalldataWords(normalizedCalldata);
119
+ const paddedMinAmountOutHex = EvmTransactionSafetyService._toAbiUint256Word(minAmountOut);
120
+ EvmTransactionSafetyService._assertCalldataContainsWord(calldataWords, paddedMinAmountOutHex, 'minAmountOut');
121
+ /**
122
+ * Check that calldata includes the recipient address
123
+ */
124
+ const recipientWord = EvmTransactionSafetyService._toAbiAddressWord(stdRecipient);
125
+ EvmTransactionSafetyService._assertCalldataContainsWord(calldataWords, recipientWord, 'recipient address');
126
+ /**
127
+ * Check that calldata includes the tokenOut address
128
+ */
129
+ const tokenOutWord = EvmTransactionSafetyService._toAbiAddressWord(stdTokenOut);
130
+ EvmTransactionSafetyService._assertCalldataContainsWord(calldataWords, tokenOutWord, 'tokenOut address');
131
+ }
132
+ /**
133
+ * Validates calldata for an ERC20-input EVM transaction.
134
+ */
135
+ static validateErc20InputTransaction(params) {
136
+ EvmTransactionSafetyService._normalizeAndValidateAddress(params.from, 'From address');
137
+ const stdRecipient = EvmTransactionSafetyService._normalizeAndValidateAddress(params.recipient, 'Recipient address');
138
+ EvmTransactionSafetyService._normalizeAndValidateAddress(params.to, 'To address');
139
+ const stdTokenIn = EvmTransactionSafetyService._resolveTokenAddressForCalldata(params.tokenIn, params.network, 'TokenIn address');
140
+ const stdTokenOut = EvmTransactionSafetyService._resolveTokenAddressForCalldata(params.tokenOut, params.network, 'TokenOut address');
141
+ const amountIn = EvmTransactionSafetyService._parseUint256(params.amountIn, 'amountIn');
142
+ const minAmountOut = EvmTransactionSafetyService._parseUint256(params.minAmountOut, 'minAmountOut');
143
+ const value = EvmTransactionSafetyService._parseUint256(params.value, 'value');
144
+ /**
145
+ * Validate no native value is sent for ERC20-input transaction
146
+ */
147
+ if (value !== 0n) {
148
+ throw new Error('Value must be 0 for ERC20-input transactions');
149
+ }
150
+ if (amountIn <= 0n) {
151
+ throw new Error('amountIn must be greater than 0');
152
+ }
153
+ if (minAmountOut <= 0n) {
154
+ throw new Error('minAmountOut must be greater than 0');
155
+ }
156
+ const normalizedCalldata = EvmTransactionSafetyService._normalizeAndValidateCalldata(params.calldata);
157
+ const calldataWords = EvmTransactionSafetyService._getCalldataWords(normalizedCalldata);
158
+ /**
159
+ * Check that calldata includes amountIn and minAmountOut as uint256 words
160
+ */
161
+ const amountInWord = EvmTransactionSafetyService._toAbiUint256Word(amountIn);
162
+ const minAmountOutWord = EvmTransactionSafetyService._toAbiUint256Word(minAmountOut);
163
+ EvmTransactionSafetyService._assertCalldataContainsWord(calldataWords, amountInWord, 'amountIn');
164
+ EvmTransactionSafetyService._assertCalldataContainsWord(calldataWords, minAmountOutWord, 'minAmountOut');
165
+ /**
166
+ * Check that calldata includes recipient, tokenIn and tokenOut as ABI address words
167
+ */
168
+ const recipientWord = EvmTransactionSafetyService._toAbiAddressWord(stdRecipient);
169
+ const tokenInWord = EvmTransactionSafetyService._toAbiAddressWord(stdTokenIn);
170
+ const tokenOutWord = EvmTransactionSafetyService._toAbiAddressWord(stdTokenOut);
171
+ EvmTransactionSafetyService._assertCalldataContainsWord(calldataWords, recipientWord, 'recipient address');
172
+ EvmTransactionSafetyService._assertCalldataContainsWord(calldataWords, tokenInWord, 'tokenIn address');
173
+ EvmTransactionSafetyService._assertCalldataContainsWord(calldataWords, tokenOutWord, 'tokenOut address');
174
+ }
175
+ }
176
+ exports.EvmTransactionSafetyService = EvmTransactionSafetyService;
177
+ EvmTransactionSafetyService._uint256Max = (1n << 256n) - 1n;
178
+ EvmTransactionSafetyService._zeroAddress = '0x0000000000000000000000000000000000000000';
179
+ EvmTransactionSafetyService._nativePlaceholderAddress = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
180
+ EvmTransactionSafetyService._maxCalldataBytes = 16384;
181
+ //# sourceMappingURL=evm-transaction-safety.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-transaction-safety.service.js","sourceRoot":"","sources":["../../../src/lib/evm-transaction-safety/evm-transaction-safety.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { ChainIdEnum } from '../../types/enums';
2
+ export type ValidateEvmTransactionParams = ValidateEvmErc20InputCalldataParams | ValidateEvmNativeCalldataParams;
3
+ export type ValidateEvmErc20InputCalldataParams = BaseValidateEvmTransactionParams & {
4
+ tokenIn: string;
5
+ tokenOut: string;
6
+ };
7
+ export type ValidateEvmNativeCalldataParams = BaseValidateEvmTransactionParams & {
8
+ tokenIn?: never;
9
+ tokenOut: string;
10
+ };
11
+ export type ValidateErc20TransactionParams = ValidateEvmErc20InputCalldataParams;
12
+ export type BaseValidateEvmTransactionParams = {
13
+ network?: ChainIdEnum;
14
+ amountIn: string;
15
+ minAmountOut: string;
16
+ recipient: string;
17
+ to: string;
18
+ from: string;
19
+ value: string;
20
+ calldata: string;
21
+ };
22
+ //# sourceMappingURL=evm-transaction-safety.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-transaction-safety.types.d.ts","sourceRoot":"","sources":["../../../src/lib/evm-transaction-safety/evm-transaction-safety.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,MAAM,4BAA4B,GACpC,mCAAmC,GACnC,+BAA+B,CAAC;AAEpC,MAAM,MAAM,mCAAmC,GAAG,gCAAgC,GAAG;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,gCAAgC,GAAG;IAC/E,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,mCAAmC,CAAC;AAEjF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=evm-transaction-safety.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-transaction-safety.types.js","sourceRoot":"","sources":["../../../src/lib/evm-transaction-safety/evm-transaction-safety.types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"debridge.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/debridge/debridge.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debridge.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/debridge/debridge.service.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ const address_validation_1 = require("../../utils/address-validation");
16
16
  const constants_1 = require("../../utils/constants");
17
17
  const enums_1 = require("../../types/enums");
18
18
  const is_native_1 = require("../../utils/is-native");
19
+ const evm_transaction_safety_service_1 = require("../../lib/evm-transaction-safety/evm-transaction-safety.service");
20
+ const min_amount_out_1 = require("../../utils/min-amount-out");
19
21
  let logger;
20
22
  /**
21
23
  * The `DeBridgeService` class implements the IIntentProtocol interface for cross-chain
@@ -221,6 +223,26 @@ class DeBridgeService {
221
223
  const solanaExecutionPayload = isSourceSolana
222
224
  ? [await this.formatSolanaTransaction(dlnQuote.tx.data)]
223
225
  : undefined;
226
+ /**
227
+ * Perform the transaction safety checks for EVM transactions.
228
+ */
229
+ if ((0, check_vm_1.isEVMNetwork)(params.networkIn)) {
230
+ const minAmountOut = (0, min_amount_out_1.resolveMinAmountOut)({
231
+ amountOut: dlnQuote.estimation.dstChainTokenOut.amount,
232
+ slippage: params.slippage,
233
+ });
234
+ evm_transaction_safety_service_1.EvmTransactionSafetyService.validateEvmTransaction({
235
+ tokenIn: params.tokenIn,
236
+ tokenOut: params.tokenOut,
237
+ amountIn: params.amountIn,
238
+ minAmountOut,
239
+ recipient: params.receiver || params.from,
240
+ to: dlnQuote.tx.to || '',
241
+ from: params.from,
242
+ value: dlnQuote.tx.value || '0',
243
+ calldata: dlnQuote.tx.data,
244
+ });
245
+ }
224
246
  const response = {
225
247
  protocol: this.protocol,
226
248
  networkIn: params.networkIn,
@@ -1 +1 @@
1
- {"version":3,"file":"debridge.service.js","sourceRoot":"","sources":["../../../src/protocols/debridge/debridge.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debridge.service.js","sourceRoot":"","sources":["../../../src/protocols/debridge/debridge.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"four-meme.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/four-meme/four-meme.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,cAAc,EAId,qBAAqB,EAGtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAK3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAM7D;;;;;;;GAOG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,SAAgB,cAAc,iBAA4B;IAC1D,SAAgB,QAAQ,0BAA0B;IAClD,SAAgB,MAAM,gBAAqB;IAC3C,SAAgB,WAAW,QAAQ;IACnC,SAAgB,UAAU,SAAS;IAEnC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgD;IAEtF,OAAO,CAAC,KAAK,CAAgB;IAE7B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAIjC;IAEF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAGjC;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAE1C;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IAEtD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAM9B;gBAEU,MAAM,EAAE,sBAAsB,GAAG,cAAc;IAiBpD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE;QAClE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,GAAG,MAAM,IAAI,CAAC;IAMF,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAgQ7D,UAAU,CACrB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,aAAa,GAAG;QAAE,gBAAgB,EAAE,qBAAqB,CAAA;KAAE,CAAC;IAmRvE;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAkC9D,OAAO,CAAC,oBAAoB;CAI7B"}
1
+ {"version":3,"file":"four-meme.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/four-meme/four-meme.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,cAAc,EAId,qBAAqB,EAGtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAK3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAS7D;;;;;;;GAOG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,SAAgB,cAAc,iBAA4B;IAC1D,SAAgB,QAAQ,0BAA0B;IAClD,SAAgB,MAAM,gBAAqB;IAC3C,SAAgB,WAAW,QAAQ;IACnC,SAAgB,UAAU,SAAS;IAEnC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgD;IAEtF,OAAO,CAAC,KAAK,CAAgB;IAE7B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAIjC;IAEF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAGjC;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAE1C;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IAEtD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAM9B;gBAEU,MAAM,EAAE,sBAAsB,GAAG,cAAc;IAiBpD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE;QAClE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,GAAG,MAAM,IAAI,CAAC;IAMF,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAgQ7D,UAAU,CACrB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,aAAa,GAAG;QAAE,gBAAgB,EAAE,qBAAqB,CAAA;KAAE,CAAC;IA2SvE;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAkC9D,OAAO,CAAC,oBAAoB;CAI7B"}
@@ -11,6 +11,8 @@ const throw_error_1 = require("../../utils/throw-error");
11
11
  const constants_1 = require("../../utils/constants");
12
12
  const fourmeme_direct_config_1 = require("../../direct-pools/fourmeme/fourmeme-direct.config");
13
13
  const fourmeme_v3_helper_abi_1 = require("../../lib/dex/fourmeme/fourmeme-v3-helper.abi");
14
+ const evm_transaction_safety_service_1 = require("../../lib/evm-transaction-safety/evm-transaction-safety.service");
15
+ const min_amount_out_1 = require("../../utils/min-amount-out");
14
16
  let logger;
15
17
  /**
16
18
  * The `FourMemeService` class implements the IIntentProtocol interface for token swaps
@@ -515,6 +517,34 @@ class FourMemeService {
515
517
  tokenManagerVersion: String(version),
516
518
  isBuying,
517
519
  };
520
+ const evmExecutionPayload = {
521
+ transactionData,
522
+ approval: {
523
+ spender: tokenManager, // unchanged legacy spender
524
+ token: params.tokenIn,
525
+ amount: params.amountIn,
526
+ },
527
+ };
528
+ /**
529
+ * Perform the transaction safety checks for EVM transactions.
530
+ */
531
+ const minAmountOut = (0, min_amount_out_1.resolveMinAmountOut)({
532
+ minAmountOut: minOutFromQuote,
533
+ amountOut: fourMemeQuoteResponse.amountOut,
534
+ slippage: params.slippage,
535
+ });
536
+ evm_transaction_safety_service_1.EvmTransactionSafetyService.validateEvmTransaction({
537
+ network: params.networkIn,
538
+ tokenOut: params.tokenOut,
539
+ tokenIn: params.tokenIn,
540
+ amountIn: params.amountIn,
541
+ minAmountOut,
542
+ recipient: params.receiver || params.from,
543
+ to: fourMemeQuoteResponse.routerAddress,
544
+ from: params.from,
545
+ value: transactionData.value || '0',
546
+ calldata: transactionData.data,
547
+ });
518
548
  return {
519
549
  protocol: this.protocol,
520
550
  tokenIn: params.tokenIn,
@@ -523,14 +553,7 @@ class FourMemeService {
523
553
  amountOut,
524
554
  from: params.from,
525
555
  receiver: params.receiver || params.from,
526
- evmExecutionPayload: {
527
- transactionData,
528
- approval: {
529
- spender: tokenManager, // unchanged legacy spender
530
- token: params.tokenIn,
531
- amount: params.amountIn,
532
- },
533
- },
556
+ evmExecutionPayload,
534
557
  slippage: params.slippage,
535
558
  networkIn: params.networkIn,
536
559
  networkOut: params.networkOut,