@dhedge/v2-sdk 2.2.4 → 2.2.5
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/dist/config.d.ts +0 -9
- package/dist/v2-sdk.cjs.development.js +17 -34
- package/dist/v2-sdk.cjs.development.js.map +1 -1
- package/dist/v2-sdk.cjs.production.min.js +1 -1
- package/dist/v2-sdk.cjs.production.min.js.map +1 -1
- package/dist/v2-sdk.esm.js +17 -34
- package/dist/v2-sdk.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/config.ts +0 -10
- package/src/services/odos/index.ts +6 -21
- package/src/test/constants.ts +1 -1
- package/src/test/odos.test.ts +74 -34
package/dist/v2-sdk.esm.js
CHANGED
|
@@ -4623,7 +4623,7 @@ var Transaction;
|
|
|
4623
4623
|
Transaction["REMOVE_LIQUIDITY_UNSTAKE"] = "removeLiquidityAndUnstake";
|
|
4624
4624
|
})(Transaction || (Transaction = {}));
|
|
4625
4625
|
|
|
4626
|
-
var _factoryAddress, _Network$POLYGON, _Network$OPTIMISM, _Network$ARBITRUM, _Network$BASE, _Network$ETHEREUM, _Network$PLASMA, _Network$HYPERLIQUID, _routerAddress, _gpv2SettlementAddres, _Network$POLYGON2, _dappFactoryAddress, _Network$POLYGON3, _Network$OPTIMISM2, _Network$ARBITRUM2, _Network$BASE2, _stakingAddress, _Network$POLYGON4, _Network$OPTIMISM3, _Network$ARBITRUM3, _Network$BASE3, _Network$ETHEREUM2, _Network$PLASMA2, _aaveAddressProvider, _Network$POLYGON5, _Network$OPTIMISM4, _Network$ARBITRUM4, _Network$BASE4, _nonfungiblePositionM, _networkChainIdMap, _balancerSubgraph, _multiCallAddress, _lyraNetworkMap, _flatMoneyContractAdd, _limitOrderAddress,
|
|
4626
|
+
var _factoryAddress, _Network$POLYGON, _Network$OPTIMISM, _Network$ARBITRUM, _Network$BASE, _Network$ETHEREUM, _Network$PLASMA, _Network$HYPERLIQUID, _routerAddress, _gpv2SettlementAddres, _Network$POLYGON2, _dappFactoryAddress, _Network$POLYGON3, _Network$OPTIMISM2, _Network$ARBITRUM2, _Network$BASE2, _stakingAddress, _Network$POLYGON4, _Network$OPTIMISM3, _Network$ARBITRUM3, _Network$BASE3, _Network$ETHEREUM2, _Network$PLASMA2, _aaveAddressProvider, _Network$POLYGON5, _Network$OPTIMISM4, _Network$ARBITRUM4, _Network$BASE4, _nonfungiblePositionM, _networkChainIdMap, _balancerSubgraph, _multiCallAddress, _lyraNetworkMap, _flatMoneyContractAdd, _limitOrderAddress, _dytmContractAddresse;
|
|
4627
4627
|
|
|
4628
4628
|
require("dotenv").config();
|
|
4629
4629
|
/** dHEDGE PoolFactory proxy address per network — used by `Dhedge.createPool` and pool lookups. */
|
|
@@ -4685,7 +4685,6 @@ var flatMoneyContractAddresses = (_flatMoneyContractAdd = {}, _flatMoneyContract
|
|
|
4685
4685
|
/** Toros PoolLimitOrderManager address per network — used for stop-loss / take-profit orders. */
|
|
4686
4686
|
|
|
4687
4687
|
var limitOrderAddress = (_limitOrderAddress = {}, _limitOrderAddress[Network.POLYGON] = "0xB71410736d2C8F2DAf30dA9D332dA10534d2624d", _limitOrderAddress[Network.OPTIMISM] = "0x3bFE2a472d2964Ea4070725b7Fb0A868b3f08b63", _limitOrderAddress[Network.ARBITRUM] = "0x26a687e8244f1866E9Aa2D400c8b9957Aa8e6Ad4", _limitOrderAddress[Network.BASE] = "0xFcBEc28c43E356693971a24bf3F2Fd7D965E2ebA", _limitOrderAddress[Network.ETHEREUM] = "0x95B19De479bc693721cab39Da98FfECE062f5Ea4", _limitOrderAddress[Network.PLASMA] = "", _limitOrderAddress[Network.HYPERLIQUID] = "", _limitOrderAddress);
|
|
4688
|
-
var OdosSwapFeeRecipient = (_OdosSwapFeeRecipient = {}, _OdosSwapFeeRecipient[Network.POLYGON] = "0x090e7fbD87A673eE3D0B6ccACf0e1d94fB90DA59", _OdosSwapFeeRecipient[Network.OPTIMISM] = "0x813123A13d01d3F07d434673Fdc89cBBA523f14d", _OdosSwapFeeRecipient[Network.ARBITRUM] = "0xfbD2B4216f422DC1eEe1Cff4Fb64B726F099dEF5", _OdosSwapFeeRecipient[Network.BASE] = "0x5619AD05b0253a7e647Bd2E4C01c7f40CEaB0879", _OdosSwapFeeRecipient[Network.ETHEREUM] = "0xfbD2B4216f422DC1eEe1Cff4Fb64B726F099dEF5", _OdosSwapFeeRecipient[Network.PLASMA] = "", _OdosSwapFeeRecipient[Network.HYPERLIQUID] = "", _OdosSwapFeeRecipient);
|
|
4689
4688
|
var dytmContractAddresses = (_dytmContractAddresse = {}, _dytmContractAddresse[Network.ARBITRUM] = {
|
|
4690
4689
|
Periphery: ""
|
|
4691
4690
|
}, _dytmContractAddresse[Network.ETHEREUM] = {
|
|
@@ -26840,7 +26839,7 @@ function getOdosSwapTxData(_x, _x2, _x3, _x4, _x5) {
|
|
|
26840
26839
|
|
|
26841
26840
|
function _getOdosSwapTxData() {
|
|
26842
26841
|
_getOdosSwapTxData = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(pool, assetFrom, assetTo, amountIn, slippage) {
|
|
26843
|
-
var ODOS_API_KEY,
|
|
26842
|
+
var ODOS_API_KEY, quoteParams, quoteResult, assembleParams, assembleResult, txData, iface, decodedData, tokenInfo, pathDefinition, executor, referralInfo, FEE_DENOM, correctedFee, factor, correctedOutputQuote, correctedTxData;
|
|
26844
26843
|
return runtime_1.wrap(function _callee$(_context) {
|
|
26845
26844
|
while (1) {
|
|
26846
26845
|
switch (_context.prev = _context.next) {
|
|
@@ -26854,8 +26853,6 @@ function _getOdosSwapTxData() {
|
|
|
26854
26853
|
|
|
26855
26854
|
case 2:
|
|
26856
26855
|
ODOS_API_KEY = process.env.ODOS_API_KEY;
|
|
26857
|
-
referralFeeBips = 2; // 2 basis points = 0.02%
|
|
26858
|
-
|
|
26859
26856
|
quoteParams = {
|
|
26860
26857
|
chainId: networkChainIdMap[pool.network],
|
|
26861
26858
|
inputTokens: [{
|
|
@@ -26869,12 +26866,11 @@ function _getOdosSwapTxData() {
|
|
|
26869
26866
|
slippageLimitPercent: slippage,
|
|
26870
26867
|
userAddr: pool.address,
|
|
26871
26868
|
compact: false,
|
|
26872
|
-
|
|
26873
|
-
referralFee:
|
|
26874
|
-
|
|
26869
|
+
// OdosV3ContractGuard requires referral fee == 0
|
|
26870
|
+
referralFee: 0
|
|
26875
26871
|
};
|
|
26876
|
-
_context.prev =
|
|
26877
|
-
_context.next =
|
|
26872
|
+
_context.prev = 4;
|
|
26873
|
+
_context.next = 7;
|
|
26878
26874
|
return axios.post(odosBaseUrl + "/quote/v3", quoteParams, {
|
|
26879
26875
|
headers: {
|
|
26880
26876
|
"Content-Type": "application/json",
|
|
@@ -26882,13 +26878,13 @@ function _getOdosSwapTxData() {
|
|
|
26882
26878
|
}
|
|
26883
26879
|
});
|
|
26884
26880
|
|
|
26885
|
-
case
|
|
26881
|
+
case 7:
|
|
26886
26882
|
quoteResult = _context.sent;
|
|
26887
26883
|
assembleParams = {
|
|
26888
26884
|
pathId: quoteResult.data.pathId,
|
|
26889
26885
|
userAddr: pool.address
|
|
26890
26886
|
};
|
|
26891
|
-
_context.next =
|
|
26887
|
+
_context.next = 11;
|
|
26892
26888
|
return axios.post(odosBaseUrl + "/assemble", assembleParams, {
|
|
26893
26889
|
headers: {
|
|
26894
26890
|
"Content-Type": "application/json",
|
|
@@ -26896,7 +26892,7 @@ function _getOdosSwapTxData() {
|
|
|
26896
26892
|
}
|
|
26897
26893
|
});
|
|
26898
26894
|
|
|
26899
|
-
case
|
|
26895
|
+
case 11:
|
|
26900
26896
|
assembleResult = _context.sent;
|
|
26901
26897
|
txData = assembleResult.data.transaction.data; // Decode the transaction data
|
|
26902
26898
|
|
|
@@ -26907,25 +26903,12 @@ function _getOdosSwapTxData() {
|
|
|
26907
26903
|
tokenInfo = decodedData.args[0];
|
|
26908
26904
|
pathDefinition = decodedData.args[1];
|
|
26909
26905
|
executor = decodedData.args[2];
|
|
26910
|
-
referralInfo = decodedData.args[3];
|
|
26906
|
+
referralInfo = decodedData.args[3]; // Force referral fee to 0 and scale outputQuote up accordingly.
|
|
26911
26907
|
|
|
26912
|
-
if (!referralInfo.fee.lte(ethers.BigNumber.from(referralFeeBips * 1e18 / 10000))) {
|
|
26913
|
-
_context.next = 22;
|
|
26914
|
-
break;
|
|
26915
|
-
}
|
|
26916
|
-
|
|
26917
|
-
return _context.abrupt("return", {
|
|
26918
|
-
swapTxData: assembleResult.data.transaction.data,
|
|
26919
|
-
minAmountOut: assembleResult.data.outputTokens[0].amount
|
|
26920
|
-
});
|
|
26921
|
-
|
|
26922
|
-
case 22:
|
|
26923
26908
|
FEE_DENOM = new BigNumber(1e18);
|
|
26924
|
-
correctedFee = new BigNumber(
|
|
26909
|
+
correctedFee = new BigNumber(0);
|
|
26925
26910
|
factor = 1.1;
|
|
26926
|
-
correctedOutputQuote = new BigNumber(tokenInfo.outputQuote.toString()).times(FEE_DENOM.minus(correctedFee).div(FEE_DENOM.minus(referralInfo.fee.toString()))).times(factor);
|
|
26927
|
-
// Create corrected referral info
|
|
26928
|
-
|
|
26911
|
+
correctedOutputQuote = new BigNumber(tokenInfo.outputQuote.toString()).times(FEE_DENOM.minus(correctedFee).div(FEE_DENOM.minus(referralInfo.fee.toString()))).times(factor);
|
|
26929
26912
|
correctedTxData = iface.encodeFunctionData(decodedData.name, [_extends({}, tokenInfo, {
|
|
26930
26913
|
outputQuote: correctedOutputQuote.toFixed(0)
|
|
26931
26914
|
}), pathDefinition, executor, {
|
|
@@ -26938,18 +26921,18 @@ function _getOdosSwapTxData() {
|
|
|
26938
26921
|
minAmountOut: assembleResult.data.outputTokens[0].amount
|
|
26939
26922
|
});
|
|
26940
26923
|
|
|
26941
|
-
case
|
|
26942
|
-
_context.prev =
|
|
26943
|
-
_context.t0 = _context["catch"](
|
|
26924
|
+
case 27:
|
|
26925
|
+
_context.prev = 27;
|
|
26926
|
+
_context.t0 = _context["catch"](4);
|
|
26944
26927
|
console.error("Error in Odos API request:", _context.t0);
|
|
26945
26928
|
throw new ApiError("Swap api request of Odos failed");
|
|
26946
26929
|
|
|
26947
|
-
case
|
|
26930
|
+
case 31:
|
|
26948
26931
|
case "end":
|
|
26949
26932
|
return _context.stop();
|
|
26950
26933
|
}
|
|
26951
26934
|
}
|
|
26952
|
-
}, _callee, null, [[
|
|
26935
|
+
}, _callee, null, [[4, 27]]);
|
|
26953
26936
|
}));
|
|
26954
26937
|
return _getOdosSwapTxData.apply(this, arguments);
|
|
26955
26938
|
}
|