genius-intents 0.18.0 → 0.18.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.
- package/CHANGELOG.md +28 -0
- package/dist/direct-pools/fourmeme/fourmeme-direct.service.d.ts +20 -41
- package/dist/direct-pools/fourmeme/fourmeme-direct.service.d.ts.map +1 -1
- package/dist/direct-pools/fourmeme/fourmeme-direct.service.js +203 -133
- package/dist/direct-pools/fourmeme/fourmeme-direct.service.js.map +1 -1
- package/dist/direct-pools/fourmeme/fourmeme-direct.types.d.ts +8 -1
- package/dist/direct-pools/fourmeme/fourmeme-direct.types.d.ts.map +1 -1
- package/dist/lib/dex/hyperswap/hyperswapV2-router.abi.d.ts +3 -0
- package/dist/lib/dex/hyperswap/hyperswapV2-router.abi.d.ts.map +1 -0
- package/dist/lib/dex/hyperswap/hyperswapV2-router.abi.js +249 -0
- package/dist/lib/dex/hyperswap/hyperswapV2-router.abi.js.map +1 -0
- package/dist/protocols/four-meme/four-meme.types.d.ts +3 -0
- package/dist/protocols/four-meme/four-meme.types.d.ts.map +1 -1
- package/dist/protocols/lifi/lifi.service.d.ts.map +1 -1
- package/dist/protocols/lifi/lifi.service.js +2 -0
- package/dist/protocols/lifi/lifi.service.js.map +1 -1
- package/dist/protocols/relay/relay.service.d.ts.map +1 -1
- package/dist/protocols/relay/relay.service.js +1 -0
- package/dist/protocols/relay/relay.service.js.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.service.d.ts +1 -0
- package/dist/protocols/v2-dex/v2-dex.service.d.ts.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.service.js +43 -67
- package/dist/protocols/v2-dex/v2-dex.service.js.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.types.d.ts +9 -2
- package/dist/protocols/v2-dex/v2-dex.types.d.ts.map +1 -1
- package/dist/protocols/v2-dex/v2-dex.types.js +1 -0
- package/dist/protocols/v2-dex/v2-dex.types.js.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.service.d.ts +1 -0
- package/dist/protocols/v3-dex/v3-dex.service.d.ts.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.service.js +73 -16
- package/dist/protocols/v3-dex/v3-dex.service.js.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.types.d.ts +2 -1
- package/dist/protocols/v3-dex/v3-dex.types.d.ts.map +1 -1
- package/dist/protocols/v3-dex/v3-dex.types.js +1 -0
- package/dist/protocols/v3-dex/v3-dex.types.js.map +1 -1
- package/dist/types/price-params.d.ts +2 -0
- package/dist/types/price-params.d.ts.map +1 -1
- package/dist/utils/check-vm.d.ts.map +1 -1
- package/dist/utils/check-vm.js +2 -1
- package/dist/utils/check-vm.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
## [0.18.1-develop.0] - 2025-10-13 (Beta)
|
|
2
|
+
|
|
3
|
+
🧪 **This is a beta release for testing purposes.**
|
|
4
|
+
|
|
5
|
+
### [0.18.1-develop.0](https://github.com/Genius-Foundation/genius-intents/compare/v0.18.0...v0.18.1-develop.0) (2025-10-13)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* Direct Pool FourMeme ([#113](https://github.com/Genius-Foundation/genius-intents/issues/113)) ([236bab1](https://github.com/Genius-Foundation/genius-intents/commit/236bab1ab94429f17b8796a3b3c1740afcf2c961))
|
|
11
|
+
* Improved HyperEVM support ([#114](https://github.com/Genius-Foundation/genius-intents/issues/114)) ([0ae045d](https://github.com/Genius-Foundation/genius-intents/commit/0ae045d94404aa00fff256f741791e23b3d9e771))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Documentation
|
|
15
|
+
|
|
16
|
+
* update CHANGELOG.md for v0.18.0 (beta) ([9c7e4d3](https://github.com/Genius-Foundation/genius-intents/commit/9c7e4d31ab9c4c6870de989ed4b1056d34fac675))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
⚠️ **Beta Release Notes:**
|
|
21
|
+
- This version is intended for testing and development
|
|
22
|
+
- May contain experimental features
|
|
23
|
+
- Not recommended for production use
|
|
24
|
+
- Feedback and bug reports are welcome
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
|
|
1
29
|
## [0.18.0] - 2025-10-10 (Beta)
|
|
2
30
|
|
|
3
31
|
🧪 **This is a beta release for testing purposes.**
|
|
@@ -3,57 +3,36 @@ import { FourMemeV2OptimisticQuoteProtocolResponse } from './fourmeme-direct.typ
|
|
|
3
3
|
import { ChainIdEnum, ProtocolEnum } from '../../types/enums';
|
|
4
4
|
import { IntentPriceParams } from '../../types/price-params';
|
|
5
5
|
export declare class FourMemeV2DirectService {
|
|
6
|
-
/**
|
|
7
|
-
* The supporting protocol
|
|
8
|
-
*/
|
|
9
6
|
readonly protocol = ProtocolEnum.FOUR_MEME;
|
|
10
|
-
/**
|
|
11
|
-
* The supported chains (BSC only for now)
|
|
12
|
-
*/
|
|
13
7
|
readonly chains: ChainIdEnum[];
|
|
14
|
-
/**
|
|
15
|
-
* Whether this service supports single-chain swaps
|
|
16
|
-
*/
|
|
17
8
|
readonly singleChain = true;
|
|
18
|
-
/**
|
|
19
|
-
* Whether this service supports multi-chain swaps
|
|
20
|
-
*/
|
|
21
9
|
readonly multiChain = false;
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
private readonly
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Gas limit for tx construction (safe upper bound)
|
|
32
|
-
*/
|
|
33
|
-
private readonly _gasLimit;
|
|
34
|
-
/**
|
|
35
|
-
* ABI fragment for TokenManager V2 (only buyTokenAMAP and sellToken)
|
|
36
|
-
*/
|
|
10
|
+
/** Fixed HelperV3 address (wrapper for ERC20-quoted + native BNB IO) */
|
|
11
|
+
private readonly _helperV3;
|
|
12
|
+
/** Gas hints */
|
|
13
|
+
private readonly _gasEstimateTM;
|
|
14
|
+
private readonly _gasLimitTM;
|
|
15
|
+
private readonly _gasEstimateHelper;
|
|
16
|
+
private readonly _gasLimitHelper;
|
|
17
|
+
/** ABIs */
|
|
37
18
|
private readonly _tokenManagerV2Abi;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
19
|
+
private readonly _helperV3TxAbi;
|
|
20
|
+
private readonly _tokenManagerV2SecondaryAbi;
|
|
21
|
+
private readonly _ifaceV2Secondary;
|
|
41
22
|
private readonly _ifaceV2;
|
|
42
|
-
|
|
43
|
-
fetchPrice(params: IntentPriceParams
|
|
44
|
-
|
|
45
|
-
}): PriceResponse;
|
|
46
|
-
/** QUOTE — unchanged (still reuses priceResponse if present) */
|
|
47
|
-
fetchQuote(params: IntentQuoteParams & {
|
|
48
|
-
minAmountOut: string;
|
|
49
|
-
}): QuoteResponse & {
|
|
23
|
+
private readonly _ifaceHelper;
|
|
24
|
+
fetchPrice(params: IntentPriceParams): PriceResponse;
|
|
25
|
+
fetchQuote(params: IntentQuoteParams): QuoteResponse & {
|
|
50
26
|
protocolResponse: FourMemeV2OptimisticQuoteProtocolResponse;
|
|
51
27
|
};
|
|
52
28
|
private _validatePriceParams;
|
|
53
29
|
private _isQuoteAddress;
|
|
54
|
-
private
|
|
55
|
-
|
|
56
|
-
|
|
30
|
+
private _isBnbish;
|
|
31
|
+
/** Convert float/decimal to 1e18 fixed-point bigint safely */
|
|
32
|
+
private _toScaled18;
|
|
33
|
+
/** Recover estimated (pre-slippage) from provided minOut */
|
|
34
|
+
private _reverseFromMin;
|
|
35
|
+
/** Align to GWEI for four.meme contracts (avoids GW/GWEI errors) */
|
|
57
36
|
private _formatAmount;
|
|
58
37
|
}
|
|
59
38
|
//# sourceMappingURL=fourmeme-direct.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fourmeme-direct.service.d.ts","sourceRoot":"","sources":["../../../src/direct-pools/fourmeme/fourmeme-direct.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5F,OAAO,
|
|
1
|
+
{"version":3,"file":"fourmeme-direct.service.d.ts","sourceRoot":"","sources":["../../../src/direct-pools/fourmeme/fourmeme-direct.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5F,OAAO,EAGL,yCAAyC,EAC1C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,qBAAa,uBAAuB;IAClC,SAAgB,QAAQ,0BAA0B;IAClD,SAAgB,MAAM,gBAAqB;IAC3C,SAAgB,WAAW,QAAQ;IACnC,SAAgB,UAAU,SAAS;IAEnC,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwD;IAElF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAY;IAE5C,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAGxB;IAEX,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;IAEF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAEjC;IAEX,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0D;IAC5F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiD;IAC1E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6C;IAGnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa;IAqFpD,UAAU,CACf,MAAM,EAAE,iBAAiB,GACxB,aAAa,GAAG;QAAE,gBAAgB,EAAE,yCAAyC,CAAA;KAAE;IA4KlF,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,SAAS;IAKjB,8DAA8D;IAC9D,OAAO,CAAC,WAAW;IASnB,4DAA4D;IAC5D,OAAO,CAAC,eAAe;IAQvB,oEAAoE;IACpE,OAAO,CAAC,aAAa;CAUtB"}
|
|
@@ -9,80 +9,85 @@ const is_native_1 = require("../../utils/is-native");
|
|
|
9
9
|
const utils_1 = require("../../utils");
|
|
10
10
|
class FourMemeV2DirectService {
|
|
11
11
|
constructor() {
|
|
12
|
-
/**
|
|
13
|
-
* The supporting protocol
|
|
14
|
-
*/
|
|
15
12
|
this.protocol = enums_1.ProtocolEnum.FOUR_MEME;
|
|
16
|
-
/**
|
|
17
|
-
* The supported chains (BSC only for now)
|
|
18
|
-
*/
|
|
19
13
|
this.chains = [enums_1.ChainIdEnum.BSC];
|
|
20
|
-
/**
|
|
21
|
-
* Whether this service supports single-chain swaps
|
|
22
|
-
*/
|
|
23
14
|
this.singleChain = true;
|
|
24
|
-
/**
|
|
25
|
-
* Whether this service supports multi-chain swaps
|
|
26
|
-
*/
|
|
27
15
|
this.multiChain = false;
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Gas limit for tx construction (safe upper bound)
|
|
38
|
-
*/
|
|
39
|
-
this._gasLimit = '220000';
|
|
40
|
-
/**
|
|
41
|
-
* ABI fragment for TokenManager V2 (only buyTokenAMAP and sellToken)
|
|
42
|
-
*/
|
|
16
|
+
/** Fixed HelperV3 address (wrapper for ERC20-quoted + native BNB IO) */
|
|
17
|
+
this._helperV3 = '0xF251F83e40a78868FcfA3FA4599Dad6494E46034';
|
|
18
|
+
/** Gas hints */
|
|
19
|
+
this._gasEstimateTM = '200000';
|
|
20
|
+
this._gasLimitTM = '220000';
|
|
21
|
+
this._gasEstimateHelper = '250000';
|
|
22
|
+
this._gasLimitHelper = '275000';
|
|
23
|
+
/** ABIs */
|
|
43
24
|
this._tokenManagerV2Abi = [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{ name: 'token', type: 'address' },
|
|
51
|
-
{ name: 'funds', type: 'uint256' }, // msg.value should match funds
|
|
52
|
-
{ name: 'minAmount', type: 'uint256' }, // min tokens out
|
|
53
|
-
],
|
|
54
|
-
outputs: [],
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
type: 'function',
|
|
58
|
-
name: 'sellToken',
|
|
59
|
-
stateMutability: 'nonpayable',
|
|
60
|
-
inputs: [
|
|
61
|
-
{ name: 'amountOut', type: 'uint256' }, // 0 = AMAP
|
|
62
|
-
{ name: 'token', type: 'address' },
|
|
63
|
-
{ name: 'expectedAmount', type: 'uint256' }, // tokens in
|
|
64
|
-
{ name: 'minAmount', type: 'uint256' }, // min quote (BNB) out
|
|
65
|
-
],
|
|
66
|
-
outputs: [],
|
|
67
|
-
},
|
|
25
|
+
'function buyTokenAMAP(uint256 amountOut,address token,uint256 funds,uint256 minAmount) payable',
|
|
26
|
+
'function sellToken(uint256 amountOut,address token,uint256 expectedAmount,uint256 minAmount)',
|
|
27
|
+
];
|
|
28
|
+
this._helperV3TxAbi = [
|
|
29
|
+
'function buyWithEth(uint256 origin,address token,address to,uint256 funds,uint256 minAmount) payable',
|
|
30
|
+
'function sellForEth(uint256 origin,address token,uint256 amount,uint256 minFunds,uint256 feeRate,address feeRecipient)',
|
|
68
31
|
];
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
32
|
+
this._tokenManagerV2SecondaryAbi = [
|
|
33
|
+
'function buyTokenAMAP(address token,uint256 funds,uint256 minAmount) payable',
|
|
34
|
+
];
|
|
35
|
+
this._ifaceV2Secondary = new ethers_1.ethers.Interface(this._tokenManagerV2SecondaryAbi);
|
|
72
36
|
this._ifaceV2 = new ethers_1.ethers.Interface(this._tokenManagerV2Abi);
|
|
37
|
+
this._ifaceHelper = new ethers_1.ethers.Interface(this._helperV3TxAbi);
|
|
73
38
|
}
|
|
74
|
-
|
|
39
|
+
// ========================= PRICE (no RPC) =========================
|
|
75
40
|
fetchPrice(params) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
41
|
+
this._validatePriceParams(params);
|
|
42
|
+
const ov = params.overrideParamsFourMemeDirect;
|
|
43
|
+
if (!ov?.quoteToken || !ov?.tokenManager || !ov?.minAmountOut) {
|
|
44
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'overrideParamsFourMemeDirect must include quoteToken, tokenManager, and minAmountOut');
|
|
45
|
+
}
|
|
46
|
+
const isBuying = this._isQuoteAddress(params.tokenIn) && !this._isQuoteAddress(params.tokenOut);
|
|
47
|
+
const nonQuoteToken = isBuying ? params.tokenOut : params.tokenIn;
|
|
48
|
+
const pairIsBnbish = this._isBnbish(ov.quoteToken);
|
|
49
|
+
const helperEligible = (!pairIsBnbish && isBuying && (0, is_native_1.isNative)(params.tokenIn)) ||
|
|
50
|
+
(!pairIsBnbish && !isBuying && (0, is_native_1.isNative)(params.tokenOut));
|
|
51
|
+
// For helper-eligible paths, require conversion inputs for UI/meta conversions
|
|
52
|
+
let quoteFundsWeiFromBnb;
|
|
53
|
+
let bnbFromQuoteWei;
|
|
54
|
+
if (helperEligible) {
|
|
55
|
+
if (ov.bnbUsdPrice == null || ov.quoteTokenPriceUsd == null) {
|
|
56
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'overrideParamsFourMemeDirect.bnbUsdPrice and quoteTokenPriceUsd are required for native↔ERC20-quoted conversions');
|
|
57
|
+
}
|
|
58
|
+
const bnbUsd18 = this._toScaled18(ov.bnbUsdPrice);
|
|
59
|
+
const quoteUsd18 = this._toScaled18(ov.quoteTokenPriceUsd);
|
|
60
|
+
if (isBuying) {
|
|
61
|
+
// Convert BNB wei -> QUOTE wei (for analytics/UI)
|
|
62
|
+
const bnbWei = BigInt(this._formatAmount(params.amountIn));
|
|
63
|
+
// quoteWei = bnbWei * (BNB/USD) / (QUOTE/USD)
|
|
64
|
+
quoteFundsWeiFromBnb = (bnbWei * bnbUsd18) / quoteUsd18;
|
|
65
|
+
}
|
|
66
|
+
else if ((0, is_native_1.isNative)(params.tokenOut)) {
|
|
67
|
+
// If we ever need to show "what is the BNB out equivalent of some QUOTE wei"
|
|
68
|
+
// bnbWei = quoteWei * (QUOTE/USD) / (BNB/USD)
|
|
69
|
+
// (we don't know quoteWei here unless you pass it; kept for symmetry)
|
|
70
|
+
// bnbFromQuoteWei = (quoteWei * quoteUsd18) / bnbUsd18;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// UI estimate from provided minOut (reverse slippage)
|
|
74
|
+
const estOut = this._reverseFromMin(BigInt(ov.minAmountOut), params.slippage ?? 0);
|
|
75
|
+
const willUseHelper = helperEligible;
|
|
76
|
+
const router = willUseHelper ? this._helperV3 : ov.tokenManager;
|
|
81
77
|
const protocolResponse = {
|
|
82
|
-
routerAddress:
|
|
83
|
-
pairTokens: [nonQuoteToken, quoteToken],
|
|
78
|
+
routerAddress: router,
|
|
79
|
+
pairTokens: [nonQuoteToken, ov.quoteToken],
|
|
84
80
|
version: '2',
|
|
85
81
|
rateMode: 'quotePerToken',
|
|
82
|
+
// Optional meta block for your UI/telemetry; types can allow optional fields
|
|
83
|
+
// @ts-ignore (if your type doesn't include this, add optional fields or index signature)
|
|
84
|
+
conversions: {
|
|
85
|
+
helperEligible: String(helperEligible),
|
|
86
|
+
quoteFundsWeiFromBnb: quoteFundsWeiFromBnb?.toString(),
|
|
87
|
+
bnbFromQuoteWei: bnbFromQuoteWei?.toString(),
|
|
88
|
+
bnbUsdPrice: ov.bnbUsdPrice,
|
|
89
|
+
quoteTokenPriceUsd: ov.quoteTokenPriceUsd,
|
|
90
|
+
},
|
|
86
91
|
};
|
|
87
92
|
return {
|
|
88
93
|
protocol: this.protocol,
|
|
@@ -91,67 +96,133 @@ class FourMemeV2DirectService {
|
|
|
91
96
|
tokenIn: params.tokenIn,
|
|
92
97
|
tokenOut: params.tokenOut,
|
|
93
98
|
amountIn: params.amountIn,
|
|
94
|
-
amountOut:
|
|
95
|
-
estimatedGas: this.
|
|
99
|
+
amountOut: estOut.toString(), // UI estimate; calldata uses ov.minAmountOut
|
|
100
|
+
estimatedGas: willUseHelper ? this._gasEstimateHelper : this._gasEstimateTM,
|
|
96
101
|
slippage: params.slippage,
|
|
97
102
|
protocolResponse,
|
|
98
103
|
};
|
|
99
104
|
}
|
|
100
|
-
|
|
105
|
+
// ========================= QUOTE (build calldata from overrides) =========================
|
|
101
106
|
fetchQuote(params) {
|
|
102
107
|
this._validatePriceParams(params);
|
|
103
|
-
// Reuse price if provided; else compute optimistic price once
|
|
104
108
|
let price = params.priceResponse;
|
|
105
109
|
if (!price)
|
|
106
110
|
price = this.fetchPrice(params);
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const
|
|
113
|
-
const
|
|
111
|
+
const ov = params.overrideParamsFourMemeDirect;
|
|
112
|
+
if (!ov?.quoteToken || !ov?.tokenManager || !ov?.minAmountOut) {
|
|
113
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'overrideParamsFourMemeDirect must include quoteToken, tokenManager, and minAmountOut');
|
|
114
|
+
}
|
|
115
|
+
const isBuying = this._isQuoteAddress(params.tokenIn) && !this._isQuoteAddress(params.tokenOut);
|
|
116
|
+
const nonQuoteToken = isBuying ? params.tokenOut : params.tokenIn;
|
|
117
|
+
const pairIsBnbish = this._isBnbish(ov.quoteToken);
|
|
118
|
+
const wantsBnbOut = (0, is_native_1.isNative)(params.tokenOut);
|
|
119
|
+
const isNativeIn = (0, is_native_1.isNative)(params.tokenIn);
|
|
120
|
+
const helperEligible = (!pairIsBnbish && isBuying && isNativeIn) || (!pairIsBnbish && !isBuying && wantsBnbOut);
|
|
121
|
+
// Conversions are only for UI parity, not calldata.
|
|
122
|
+
if (helperEligible && (ov.bnbUsdPrice == null || ov.quoteTokenPriceUsd == null)) {
|
|
123
|
+
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'overrideParamsFourMemeDirect.bnbUsdPrice and quoteTokenPriceUsd are required for native↔ERC20-quoted conversions');
|
|
124
|
+
}
|
|
125
|
+
const estOut = BigInt(ov.minAmountOut != null ? ov.minAmountOut : price.amountOut);
|
|
126
|
+
const minOut = BigInt(ov.minAmountOut);
|
|
114
127
|
let tx;
|
|
128
|
+
let router;
|
|
115
129
|
if (isBuying) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
const funds = this._formatAmount(params.amountIn);
|
|
131
|
+
if (helperEligible && isNativeIn) {
|
|
132
|
+
// HelperV3.buyWithEth (selector unchanged from pessimistic)
|
|
133
|
+
const toArg = params.receiver && params.receiver !== params.from ? params.receiver : constants_1.ZERO_ADDRESS;
|
|
134
|
+
const data = this._ifaceHelper.encodeFunctionData('buyWithEth', [
|
|
135
|
+
0n,
|
|
136
|
+
nonQuoteToken,
|
|
137
|
+
toArg,
|
|
138
|
+
BigInt(funds),
|
|
139
|
+
minOut,
|
|
140
|
+
]);
|
|
141
|
+
tx = {
|
|
142
|
+
to: this._helperV3,
|
|
143
|
+
data: data,
|
|
144
|
+
value: funds,
|
|
145
|
+
gasEstimate: this._gasEstimateHelper,
|
|
146
|
+
gasLimit: this._gasLimitHelper,
|
|
147
|
+
};
|
|
148
|
+
router = this._helperV3;
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
// TMv2.buyTokenAMAP — select the SAME selector as pessimistic does
|
|
152
|
+
const useSecondary = !(params.receiver && params.receiver !== params.from);
|
|
153
|
+
const data = useSecondary
|
|
154
|
+
? this._ifaceV2Secondary.encodeFunctionData('buyTokenAMAP', [
|
|
155
|
+
nonQuoteToken,
|
|
156
|
+
BigInt(funds),
|
|
157
|
+
minOut,
|
|
158
|
+
])
|
|
159
|
+
: this._ifaceV2.encodeFunctionData('buyTokenAMAP', [
|
|
160
|
+
0n, // AMAP
|
|
161
|
+
nonQuoteToken,
|
|
162
|
+
BigInt(funds),
|
|
163
|
+
minOut,
|
|
164
|
+
]);
|
|
165
|
+
tx = {
|
|
166
|
+
to: ov.tokenManager,
|
|
167
|
+
data: data,
|
|
168
|
+
value: isNativeIn ? funds : '0',
|
|
169
|
+
gasEstimate: this._gasEstimateTM,
|
|
170
|
+
gasLimit: this._gasLimitTM,
|
|
171
|
+
};
|
|
172
|
+
router = ov.tokenManager;
|
|
173
|
+
}
|
|
132
174
|
}
|
|
133
175
|
else {
|
|
134
|
-
//
|
|
176
|
+
// SELL
|
|
135
177
|
const tokenAmountIn = this._formatAmount(params.amountIn);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
178
|
+
if (helperEligible && wantsBnbOut) {
|
|
179
|
+
throw new Error('four.meme HelperV3.sellForEth not yet implemented');
|
|
180
|
+
// HelperV3.sellForEth (selector unchanged from pessimistic)
|
|
181
|
+
const data = this._ifaceHelper.encodeFunctionData('sellForEth', [
|
|
182
|
+
0n,
|
|
183
|
+
nonQuoteToken,
|
|
184
|
+
BigInt(tokenAmountIn),
|
|
185
|
+
minOut, // min BNB out
|
|
186
|
+
0n,
|
|
187
|
+
constants_1.ZERO_ADDRESS,
|
|
188
|
+
]);
|
|
189
|
+
tx = {
|
|
190
|
+
to: this._helperV3,
|
|
191
|
+
data: data,
|
|
192
|
+
value: '0',
|
|
193
|
+
gasEstimate: this._gasEstimateHelper,
|
|
194
|
+
gasLimit: this._gasLimitHelper,
|
|
195
|
+
};
|
|
196
|
+
router = this._helperV3;
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
// TMv2.sellToken
|
|
200
|
+
const data = this._ifaceV2.encodeFunctionData('sellToken', [
|
|
201
|
+
0n, // AMAP
|
|
202
|
+
nonQuoteToken,
|
|
203
|
+
BigInt(tokenAmountIn),
|
|
204
|
+
minOut, // min quote out
|
|
205
|
+
]);
|
|
206
|
+
tx = {
|
|
207
|
+
to: ov.tokenManager,
|
|
208
|
+
data: data,
|
|
209
|
+
value: '0',
|
|
210
|
+
gasEstimate: this._gasEstimateTM,
|
|
211
|
+
gasLimit: this._gasLimitTM,
|
|
212
|
+
};
|
|
213
|
+
router = ov.tokenManager;
|
|
214
|
+
}
|
|
150
215
|
}
|
|
216
|
+
// Approval parity with pessimistic:
|
|
217
|
+
// - Native-in BUY => no approval
|
|
218
|
+
// - Else => approve TokenManager (even for Helper SELL)
|
|
219
|
+
const needsApproval = !(isBuying && isNativeIn);
|
|
220
|
+
const approvalSpender = needsApproval ? ov.tokenManager : constants_1.ZERO_ADDRESS;
|
|
151
221
|
const protocolResponse = {
|
|
152
|
-
...
|
|
222
|
+
...price.protocolResponse,
|
|
223
|
+
routerAddress: router,
|
|
153
224
|
data: tx.data,
|
|
154
|
-
gas: tx.gasEstimate ??
|
|
225
|
+
gas: tx.gasEstimate ?? (helperEligible ? this._gasEstimateHelper : this._gasEstimateTM),
|
|
155
226
|
isBuying,
|
|
156
227
|
};
|
|
157
228
|
return {
|
|
@@ -159,35 +230,30 @@ class FourMemeV2DirectService {
|
|
|
159
230
|
tokenIn: params.tokenIn,
|
|
160
231
|
tokenOut: params.tokenOut,
|
|
161
232
|
amountIn: params.amountIn,
|
|
162
|
-
amountOut:
|
|
233
|
+
amountOut: estOut.toString(), // UI estimate only; calldata uses ov.minAmountOut
|
|
163
234
|
from: params.from,
|
|
164
235
|
receiver: params.receiver ?? params.from,
|
|
165
236
|
evmExecutionPayload: {
|
|
166
237
|
transactionData: tx,
|
|
167
238
|
approval: {
|
|
168
|
-
spender:
|
|
239
|
+
spender: approvalSpender,
|
|
169
240
|
token: params.tokenIn,
|
|
170
|
-
amount: params.amountIn,
|
|
241
|
+
amount: needsApproval ? params.amountIn : '0',
|
|
171
242
|
},
|
|
172
243
|
},
|
|
173
244
|
slippage: params.slippage,
|
|
174
245
|
networkIn: params.networkIn,
|
|
175
246
|
networkOut: params.networkOut,
|
|
176
|
-
estimatedGas: tx.gasEstimate,
|
|
177
247
|
protocolResponse,
|
|
178
248
|
};
|
|
179
249
|
}
|
|
180
|
-
//
|
|
250
|
+
// ========================= helpers =========================
|
|
181
251
|
_validatePriceParams(p) {
|
|
182
252
|
if (p.networkIn !== enums_1.ChainIdEnum.BSC || p.networkOut !== enums_1.ChainIdEnum.BSC) {
|
|
183
253
|
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'Only BSC single-chain supported');
|
|
184
254
|
}
|
|
185
255
|
const isInQuote = this._isQuoteAddress(p.tokenIn);
|
|
186
256
|
const isOutQuote = this._isQuoteAddress(p.tokenOut);
|
|
187
|
-
/**
|
|
188
|
-
* Only valid if exactly one side is a quote token
|
|
189
|
-
* (BNB/WBNB/CAKE/USDT/USD1/ASTER)
|
|
190
|
-
*/
|
|
191
257
|
if (isInQuote === isOutQuote) {
|
|
192
258
|
throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'Exactly one side must be a supported quote token (BNB/WBNB/CAKE/USDT/USD1/ASTER)');
|
|
193
259
|
}
|
|
@@ -201,25 +267,29 @@ class FourMemeV2DirectService {
|
|
|
201
267
|
a === fourmeme_direct_config_1.FourMemeQuoteTokensEnum.USD1.toLowerCase() ||
|
|
202
268
|
a === fourmeme_direct_config_1.FourMemeQuoteTokensEnum.ASTER.toLowerCase());
|
|
203
269
|
}
|
|
204
|
-
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
const
|
|
212
|
-
const
|
|
213
|
-
const
|
|
214
|
-
|
|
270
|
+
_isBnbish(addr) {
|
|
271
|
+
const a = addr.toLowerCase();
|
|
272
|
+
return a === constants_1.ZERO_ADDRESS.toLowerCase() || a === fourmeme_direct_config_1.FourMemeQuoteTokensEnum.WBNB.toLowerCase();
|
|
273
|
+
}
|
|
274
|
+
/** Convert float/decimal to 1e18 fixed-point bigint safely */
|
|
275
|
+
_toScaled18(val) {
|
|
276
|
+
const s = String(val);
|
|
277
|
+
const [i, f = ''] = s.split('.');
|
|
278
|
+
const DEC = 18n;
|
|
279
|
+
const ip = BigInt(i || '0');
|
|
280
|
+
const frac = f.slice(0, 18).padEnd(18, '0');
|
|
281
|
+
return ip * 10n ** DEC + BigInt(frac || '0');
|
|
215
282
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
const
|
|
219
|
-
|
|
220
|
-
|
|
283
|
+
/** Recover estimated (pre-slippage) from provided minOut */
|
|
284
|
+
_reverseFromMin(minOut, slippagePercent) {
|
|
285
|
+
const bps = BigInt(Math.floor((slippagePercent ?? 0) * 100));
|
|
286
|
+
if (bps === 0n)
|
|
287
|
+
return minOut;
|
|
288
|
+
const num = minOut * 10000n;
|
|
289
|
+
const den = 10000n - bps;
|
|
290
|
+
return (num + den - 1n) / den; // ceil
|
|
221
291
|
}
|
|
222
|
-
/** Align to GWEI
|
|
292
|
+
/** Align to GWEI for four.meme contracts (avoids GW/GWEI errors) */
|
|
223
293
|
_formatAmount(amountDecStr) {
|
|
224
294
|
const GWEI = 10n ** 9n;
|
|
225
295
|
let x = BigInt(amountDecStr);
|
|
@@ -228,7 +298,7 @@ class FourMemeV2DirectService {
|
|
|
228
298
|
const rem = x % GWEI;
|
|
229
299
|
if (rem === 0n)
|
|
230
300
|
return x.toString();
|
|
231
|
-
x
|
|
301
|
+
x -= rem; // floor to GWEI
|
|
232
302
|
if (x === 0n)
|
|
233
303
|
return GWEI.toString();
|
|
234
304
|
return x.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fourmeme-direct.service.js","sourceRoot":"","sources":["../../../src/direct-pools/fourmeme/fourmeme-direct.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fourmeme-direct.service.js","sourceRoot":"","sources":["../../../src/direct-pools/fourmeme/fourmeme-direct.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export type FourMemeDirectPoolPriceOverrideParams = {
|
|
2
|
+
quoteToken: string;
|
|
3
|
+
tokenManager: string;
|
|
4
|
+
bnbUsdPrice?: number;
|
|
5
|
+
quoteTokenPriceUsd?: number;
|
|
6
|
+
minAmountOut: string;
|
|
7
|
+
};
|
|
1
8
|
/** Protocol payload returned inside your PriceResponse.protocolResponse */
|
|
2
9
|
export type FourMemeV2OptimisticPriceProtocolResponse = {
|
|
3
10
|
/** TokenManager (V2) router */
|
|
@@ -5,7 +12,7 @@ export type FourMemeV2OptimisticPriceProtocolResponse = {
|
|
|
5
12
|
/** [nonQuoteToken, quoteToken] — quoteToken may be ZERO_ADDRESS for native BNB */
|
|
6
13
|
pairTokens: [string, string];
|
|
7
14
|
/** Always "2" for this service */
|
|
8
|
-
version:
|
|
15
|
+
version: string;
|
|
9
16
|
/**
|
|
10
17
|
* Orientation of lastPrice; this service assumes "quote per 1 token".
|
|
11
18
|
* - quotePerToken: lastPrice = quote_units / token_units (scaled by priceScale)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fourmeme-direct.types.d.ts","sourceRoot":"","sources":["../../../src/direct-pools/fourmeme/fourmeme-direct.types.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,MAAM,yCAAyC,GAAG;IACtD,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IAEtB,kFAAkF;IAClF,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,kCAAkC;IAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fourmeme-direct.types.d.ts","sourceRoot":"","sources":["../../../src/direct-pools/fourmeme/fourmeme-direct.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qCAAqC,GAAG;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,yCAAyC,GAAG;IACtD,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IAEtB,kFAAkF;IAClF,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,yCAAyC,GACnD,yCAAyC,GAAG;IAC1C,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,gDAAgD;IAChD,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEJ,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperswapV2-router.abi.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/hyperswap/hyperswapV2-router.abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3B,eAAO,MAAM,oBAAoB,EAAE,GAoPzB,CAAC"}
|