@dhedge/v2-sdk 2.1.7 → 2.1.8
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 +1 -0
- package/dist/services/cowSwap/index.d.ts +10 -0
- package/dist/types.d.ts +2 -1
- package/dist/v2-sdk.cjs.development.js +247 -19
- 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 +247 -19
- package/dist/v2-sdk.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/config.ts +6 -1
- package/src/entities/pool.ts +57 -1
- package/src/services/cowSwap/index.ts +281 -0
- package/src/test/constants.ts +1 -1
- package/src/test/cowswap.test.ts +81 -0
- package/src/types.ts +2 -1
package/dist/config.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { AddressNetworkMap, Network, AddressDappNetworkMap, LyraNetworkMap } fro
|
|
|
2
2
|
import { NetworkChainIdMap } from ".";
|
|
3
3
|
export declare const factoryAddress: AddressNetworkMap;
|
|
4
4
|
export declare const routerAddress: AddressDappNetworkMap;
|
|
5
|
+
export declare const gpv2SettlementAddress: Partial<Record<Network, string>>;
|
|
5
6
|
export declare const dappFactoryAddress: AddressDappNetworkMap;
|
|
6
7
|
export declare const stakingAddress: AddressDappNetworkMap;
|
|
7
8
|
export declare const aaveAddressProvider: AddressDappNetworkMap;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import { Pool } from "../../entities";
|
|
3
|
+
export declare const KIND_SELL: string;
|
|
4
|
+
export declare const KIND_BUY: string;
|
|
5
|
+
export declare const BALANCE_ERC20: string;
|
|
6
|
+
export declare function getCowSwapTxData(pool: Pool, assetFrom: string, assetTo: string, amountIn: ethers.BigNumber | string, slippage: number, kind?: "sell" | "buy"): Promise<{
|
|
7
|
+
encodedTypedData: string;
|
|
8
|
+
preSignTxData: string;
|
|
9
|
+
minAmountOut: string;
|
|
10
|
+
}>;
|
package/dist/types.d.ts
CHANGED
|
@@ -33,7 +33,8 @@ export declare enum Dapp {
|
|
|
33
33
|
ODOS = "odos",
|
|
34
34
|
PENDLE = "pendle",
|
|
35
35
|
KYBERSWAP = "kyberswap",
|
|
36
|
-
HYPERLIQUID = "hyperliquid"
|
|
36
|
+
HYPERLIQUID = "hyperliquid",
|
|
37
|
+
COWSWAP = "cowswap"
|
|
37
38
|
}
|
|
38
39
|
export declare enum Transaction {
|
|
39
40
|
SWAP = "swapExactTokensForTokens",
|
|
@@ -4342,6 +4342,7 @@ var ManagerLogic = {
|
|
|
4342
4342
|
Dapp["PENDLE"] = "pendle";
|
|
4343
4343
|
Dapp["KYBERSWAP"] = "kyberswap";
|
|
4344
4344
|
Dapp["HYPERLIQUID"] = "hyperliquid";
|
|
4345
|
+
Dapp["COWSWAP"] = "cowswap";
|
|
4345
4346
|
})(exports.Dapp || (exports.Dapp = {}));
|
|
4346
4347
|
|
|
4347
4348
|
(function (Transaction) {
|
|
@@ -4366,12 +4367,13 @@ var ManagerLogic = {
|
|
|
4366
4367
|
Transaction["REMOVE_LIQUIDITY_UNSTAKE"] = "removeLiquidityAndUnstake";
|
|
4367
4368
|
})(exports.Transaction || (exports.Transaction = {}));
|
|
4368
4369
|
|
|
4369
|
-
var _factoryAddress, _Network$POLYGON, _Network$OPTIMISM, _Network$ARBITRUM, _Network$BASE, _Network$ETHEREUM, _Network$PLASMA, _Network$HYPERLIQUID, _routerAddress, _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, _OdosSwapFeeRecipient;
|
|
4370
|
+
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, _OdosSwapFeeRecipient;
|
|
4370
4371
|
|
|
4371
4372
|
require("dotenv").config();
|
|
4372
4373
|
|
|
4373
4374
|
var factoryAddress = (_factoryAddress = {}, _factoryAddress[exports.Network.POLYGON] = process.env.STAGING_CONTRACTS ? "0xDd87eCdB10cFF7004276AAbAbd30e7a08F69bb53" : "0xfdc7b8bFe0DD3513Cc669bB8d601Cb83e2F69cB0", _factoryAddress[exports.Network.OPTIMISM] = "0x5e61a079A178f0E5784107a4963baAe0c5a680c6", _factoryAddress[exports.Network.ARBITRUM] = "0xfffb5fb14606eb3a548c113026355020ddf27535", _factoryAddress[exports.Network.BASE] = "0x49Afe3abCf66CF09Fab86cb1139D8811C8afe56F", _factoryAddress[exports.Network.ETHEREUM] = "0x96D33bCF84DdE326014248E2896F79bbb9c13D6d", _factoryAddress[exports.Network.PLASMA] = "0xAec4975Fc8ad911464D2948D771488b30F6eEE87", _factoryAddress[exports.Network.HYPERLIQUID] = "0xe91505e2ab653dd128c71e9690eeefd28cc5b333", _factoryAddress);
|
|
4374
|
-
var routerAddress = (_routerAddress = {}, _routerAddress[exports.Network.POLYGON] = (_Network$POLYGON = {}, _Network$POLYGON[exports.Dapp.SUSHISWAP] = "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", _Network$POLYGON[exports.Dapp.AAVE] = "0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf", _Network$POLYGON[exports.Dapp.AAVEV3] = "0x794a61358D6845594F94dc1DB02A252b5b4814aD", _Network$POLYGON[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$POLYGON[exports.Dapp.QUICKSWAP] = "0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff", _Network$POLYGON[exports.Dapp.BALANCER] = "0xBA12222222228d8Ba445958a75a0704d566BF2C8", _Network$POLYGON[exports.Dapp.UNISWAPV3] = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", _Network$POLYGON[exports.Dapp.ARRAKIS] = "0xc73fb100a995b33f9fa181d420f4c8d74506df66", _Network$POLYGON[exports.Dapp.TOROS] = "0x45b90480D6F643dE2f128db091A357C3c90399f2", _Network$POLYGON[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$POLYGON[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$POLYGON), _routerAddress[exports.Network.OPTIMISM] = (_Network$OPTIMISM = {}, _Network$OPTIMISM[exports.Dapp.UNISWAPV3] = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", _Network$OPTIMISM[exports.Dapp.SYNTHETIX] = "0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4", _Network$OPTIMISM[exports.Dapp.AAVEV3] = "0x794a61358D6845594F94dc1DB02A252b5b4814aD", _Network$OPTIMISM[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$OPTIMISM[exports.Dapp.TOROS] = "0x2Ed1bd7f66e47113672f3870308b5E867C5bb743", _Network$OPTIMISM[exports.Dapp.VELODROME] = "0x9c12939390052919aF3155f41Bf4160Fd3666A6f", _Network$OPTIMISM[exports.Dapp.VELODROMEV2] = "0xa062ae8a9c5e11aaa026fc2670b0d65ccc8b2858", _Network$OPTIMISM[exports.Dapp.LYRA] = "0xCCE7819d65f348c64B7Beb205BA367b3fE33763B", _Network$OPTIMISM[exports.Dapp.ARRAKIS] = "0x9ce88a56d120300061593eF7AD074A1B710094d5", _Network$OPTIMISM[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$OPTIMISM[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$OPTIMISM[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$OPTIMISM), _routerAddress[exports.Network.ARBITRUM] = (_Network$ARBITRUM = {}, _Network$ARBITRUM[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$ARBITRUM[exports.Dapp.UNISWAPV3] = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", _Network$ARBITRUM[exports.Dapp.AAVEV3] = "0x794a61358D6845594F94dc1DB02A252b5b4814aD", _Network$ARBITRUM[exports.Dapp.BALANCER] = "0xBA12222222228d8Ba445958a75a0704d566BF2C8", _Network$ARBITRUM[exports.Dapp.RAMSES] = "0xaaa87963efeb6f7e0a2711f397663105acb1805e", _Network$ARBITRUM[exports.Dapp.TOROS] = "0xA5679C4272A056Bb83f039961fae7D99C48529F5", _Network$ARBITRUM[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$ARBITRUM[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$ARBITRUM[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$ARBITRUM), _routerAddress[exports.Network.BASE] = (_Network$BASE = {}, _Network$BASE[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$BASE[exports.Dapp.AERODROME] = "0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43", _Network$BASE[exports.Dapp.AAVEV3] = "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5", _Network$BASE[exports.Dapp.TOROS] = "0xf067575Eb60c7587C11e867907AA7284833704d1", _Network$BASE[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$BASE[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$BASE[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$BASE), _routerAddress[exports.Network.ETHEREUM] = (_Network$ETHEREUM = {}, _Network$ETHEREUM[exports.Dapp.AAVEV3] = "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2", _Network$ETHEREUM[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$ETHEREUM[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$ETHEREUM[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$ETHEREUM[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$ETHEREUM), _routerAddress[exports.Network.PLASMA] = (_Network$PLASMA = {}, _Network$PLASMA[exports.Dapp.AAVEV3] = "0x925a2A7214Ed92428B5b1B090F80b25700095e12", _Network$PLASMA[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$PLASMA[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$PLASMA), _routerAddress[exports.Network.HYPERLIQUID] = (_Network$HYPERLIQUID = {}, _Network$HYPERLIQUID[exports.Dapp.HYPERLIQUID] = "0x6b9e773128f453f5c2c60935ee2de2cbc5390a24", _Network$HYPERLIQUID), _routerAddress);
|
|
4375
|
+
var routerAddress = (_routerAddress = {}, _routerAddress[exports.Network.POLYGON] = (_Network$POLYGON = {}, _Network$POLYGON[exports.Dapp.SUSHISWAP] = "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", _Network$POLYGON[exports.Dapp.AAVE] = "0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf", _Network$POLYGON[exports.Dapp.AAVEV3] = "0x794a61358D6845594F94dc1DB02A252b5b4814aD", _Network$POLYGON[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$POLYGON[exports.Dapp.QUICKSWAP] = "0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff", _Network$POLYGON[exports.Dapp.BALANCER] = "0xBA12222222228d8Ba445958a75a0704d566BF2C8", _Network$POLYGON[exports.Dapp.UNISWAPV3] = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", _Network$POLYGON[exports.Dapp.ARRAKIS] = "0xc73fb100a995b33f9fa181d420f4c8d74506df66", _Network$POLYGON[exports.Dapp.TOROS] = "0x45b90480D6F643dE2f128db091A357C3c90399f2", _Network$POLYGON[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$POLYGON[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$POLYGON[exports.Dapp.COWSWAP] = "0x893223Be4e941fAA8A8DB93D0C097fCac37801ce", _Network$POLYGON), _routerAddress[exports.Network.OPTIMISM] = (_Network$OPTIMISM = {}, _Network$OPTIMISM[exports.Dapp.UNISWAPV3] = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", _Network$OPTIMISM[exports.Dapp.SYNTHETIX] = "0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4", _Network$OPTIMISM[exports.Dapp.AAVEV3] = "0x794a61358D6845594F94dc1DB02A252b5b4814aD", _Network$OPTIMISM[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$OPTIMISM[exports.Dapp.TOROS] = "0x2Ed1bd7f66e47113672f3870308b5E867C5bb743", _Network$OPTIMISM[exports.Dapp.VELODROME] = "0x9c12939390052919aF3155f41Bf4160Fd3666A6f", _Network$OPTIMISM[exports.Dapp.VELODROMEV2] = "0xa062ae8a9c5e11aaa026fc2670b0d65ccc8b2858", _Network$OPTIMISM[exports.Dapp.LYRA] = "0xCCE7819d65f348c64B7Beb205BA367b3fE33763B", _Network$OPTIMISM[exports.Dapp.ARRAKIS] = "0x9ce88a56d120300061593eF7AD074A1B710094d5", _Network$OPTIMISM[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$OPTIMISM[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$OPTIMISM[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$OPTIMISM), _routerAddress[exports.Network.ARBITRUM] = (_Network$ARBITRUM = {}, _Network$ARBITRUM[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$ARBITRUM[exports.Dapp.UNISWAPV3] = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", _Network$ARBITRUM[exports.Dapp.AAVEV3] = "0x794a61358D6845594F94dc1DB02A252b5b4814aD", _Network$ARBITRUM[exports.Dapp.BALANCER] = "0xBA12222222228d8Ba445958a75a0704d566BF2C8", _Network$ARBITRUM[exports.Dapp.RAMSES] = "0xaaa87963efeb6f7e0a2711f397663105acb1805e", _Network$ARBITRUM[exports.Dapp.TOROS] = "0xA5679C4272A056Bb83f039961fae7D99C48529F5", _Network$ARBITRUM[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$ARBITRUM[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$ARBITRUM[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$ARBITRUM), _routerAddress[exports.Network.BASE] = (_Network$BASE = {}, _Network$BASE[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$BASE[exports.Dapp.AERODROME] = "0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43", _Network$BASE[exports.Dapp.AAVEV3] = "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5", _Network$BASE[exports.Dapp.TOROS] = "0xf067575Eb60c7587C11e867907AA7284833704d1", _Network$BASE[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$BASE[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$BASE[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$BASE), _routerAddress[exports.Network.ETHEREUM] = (_Network$ETHEREUM = {}, _Network$ETHEREUM[exports.Dapp.AAVEV3] = "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2", _Network$ETHEREUM[exports.Dapp.ODOS] = "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05", _Network$ETHEREUM[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$ETHEREUM[exports.Dapp.ONEINCH] = "0x111111125421ca6dc452d289314280a0f8842a65", _Network$ETHEREUM[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$ETHEREUM), _routerAddress[exports.Network.PLASMA] = (_Network$PLASMA = {}, _Network$PLASMA[exports.Dapp.AAVEV3] = "0x925a2A7214Ed92428B5b1B090F80b25700095e12", _Network$PLASMA[exports.Dapp.PENDLE] = "0x888888888889758F76e7103c6CbF23ABbF58F946", _Network$PLASMA[exports.Dapp.KYBERSWAP] = "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5", _Network$PLASMA), _routerAddress[exports.Network.HYPERLIQUID] = (_Network$HYPERLIQUID = {}, _Network$HYPERLIQUID[exports.Dapp.HYPERLIQUID] = "0x6b9e773128f453f5c2c60935ee2de2cbc5390a24", _Network$HYPERLIQUID), _routerAddress);
|
|
4376
|
+
var gpv2SettlementAddress = (_gpv2SettlementAddres = {}, _gpv2SettlementAddres[exports.Network.POLYGON] = "0x9008D19f58AAbD9eD0D60971565AA8510560ab41", _gpv2SettlementAddres);
|
|
4375
4377
|
var dappFactoryAddress = (_dappFactoryAddress = {}, _dappFactoryAddress[exports.Network.POLYGON] = (_Network$POLYGON2 = {}, _Network$POLYGON2[exports.Dapp.SUSHISWAP] = "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", _Network$POLYGON2[exports.Dapp.QUICKSWAP] = "0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32", _Network$POLYGON2), _dappFactoryAddress[exports.Network.OPTIMISM] = {}, _dappFactoryAddress[exports.Network.ARBITRUM] = {}, _dappFactoryAddress[exports.Network.BASE] = {}, _dappFactoryAddress[exports.Network.ETHEREUM] = {}, _dappFactoryAddress[exports.Network.PLASMA] = {}, _dappFactoryAddress[exports.Network.HYPERLIQUID] = {}, _dappFactoryAddress);
|
|
4376
4378
|
var stakingAddress = (_stakingAddress = {}, _stakingAddress[exports.Network.POLYGON] = (_Network$POLYGON3 = {}, _Network$POLYGON3[exports.Dapp.SUSHISWAP] = "0x0769fd68dFb93167989C6f7254cd0D766Fb2841F", _Network$POLYGON3[exports.Dapp.BALANCER] = "0x0F3e0c4218b7b0108a3643cFe9D3ec0d4F57c54e", _Network$POLYGON3[exports.Dapp.AAVE] = "0x357D51124f59836DeD84c8a1730D72B749d8BC23", _Network$POLYGON3[exports.Dapp.AAVEV3] = "0x929EC64c34a17401F460460D4B9390518E5B473e", _Network$POLYGON3), _stakingAddress[exports.Network.OPTIMISM] = (_Network$OPTIMISM2 = {}, _Network$OPTIMISM2[exports.Dapp.AAVEV3] = "0x929EC64c34a17401F460460D4B9390518E5B473e", _Network$OPTIMISM2[exports.Dapp.COMPOUNDV3] = "0x443ea0340cb75a160f31a440722dec7b5bc3c2e9", _Network$OPTIMISM2), _stakingAddress[exports.Network.ARBITRUM] = (_Network$ARBITRUM2 = {}, _Network$ARBITRUM2[exports.Dapp.COMPOUNDV3] = "0x88730d254a2f7e6ac8388c3198afd694ba9f7fae", _Network$ARBITRUM2[exports.Dapp.PANCAKECL] = "0x5e09ACf80C0296740eC5d6F643005a4ef8DaA694", _Network$ARBITRUM2), _stakingAddress[exports.Network.BASE] = (_Network$BASE2 = {}, _Network$BASE2[exports.Dapp.PANCAKECL] = "0xC6A2Db661D5a5690172d8eB0a7DEA2d3008665A3", _Network$BASE2), _stakingAddress[exports.Network.ETHEREUM] = {}, _stakingAddress[exports.Network.PLASMA] = {}, _stakingAddress[exports.Network.HYPERLIQUID] = {}, _stakingAddress);
|
|
4377
4379
|
var aaveAddressProvider = (_aaveAddressProvider = {}, _aaveAddressProvider[exports.Network.POLYGON] = (_Network$POLYGON4 = {}, _Network$POLYGON4[exports.Dapp.AAVE] = "0xd05e3E715d945B59290df0ae8eF85c1BdB684744", _Network$POLYGON4[exports.Dapp.AAVEV3] = "0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb", _Network$POLYGON4), _aaveAddressProvider[exports.Network.OPTIMISM] = (_Network$OPTIMISM3 = {}, _Network$OPTIMISM3[exports.Dapp.AAVEV3] = "0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb", _Network$OPTIMISM3), _aaveAddressProvider[exports.Network.ARBITRUM] = (_Network$ARBITRUM3 = {}, _Network$ARBITRUM3[exports.Dapp.AAVEV3] = "0xa97684ead0e402dc232d5a977953df7ecbab3cdb", _Network$ARBITRUM3), _aaveAddressProvider[exports.Network.BASE] = (_Network$BASE3 = {}, _Network$BASE3[exports.Dapp.AAVEV3] = "0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB49777ad64D", _Network$BASE3), _aaveAddressProvider[exports.Network.ETHEREUM] = (_Network$ETHEREUM2 = {}, _Network$ETHEREUM2[exports.Dapp.AAVEV3] = "0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e", _Network$ETHEREUM2), _aaveAddressProvider[exports.Network.PLASMA] = (_Network$PLASMA2 = {}, _Network$PLASMA2[exports.Dapp.AAVEV3] = "0x061D8e131F26512348ee5FA42e2DF1bA9d6505E9", _Network$PLASMA2), _aaveAddressProvider[exports.Network.HYPERLIQUID] = {}, _aaveAddressProvider);
|
|
@@ -29810,6 +29812,188 @@ function _getKyberSwapTxData() {
|
|
|
29810
29812
|
return _getKyberSwapTxData.apply(this, arguments);
|
|
29811
29813
|
}
|
|
29812
29814
|
|
|
29815
|
+
var KIND_SELL = /*#__PURE__*/ethers.ethers.utils.keccak256( /*#__PURE__*/ethers.ethers.utils.toUtf8Bytes("sell"));
|
|
29816
|
+
var KIND_BUY = /*#__PURE__*/ethers.ethers.utils.keccak256( /*#__PURE__*/ethers.ethers.utils.toUtf8Bytes("buy"));
|
|
29817
|
+
var BALANCE_ERC20 = /*#__PURE__*/ethers.ethers.utils.keccak256( /*#__PURE__*/ethers.ethers.utils.toUtf8Bytes("erc20")); // Matches CowSwapOrderTypeHashLib.ORDER_TYPE_HASH exactly:
|
|
29818
|
+
// kind/sellTokenBalance/buyTokenBalance are "string" in the type string
|
|
29819
|
+
// but encoded as bytes32 values in abi.encode — must replicate this exactly
|
|
29820
|
+
|
|
29821
|
+
var ORDER_TYPE_HASH = /*#__PURE__*/ethers.ethers.utils.keccak256( /*#__PURE__*/ethers.ethers.utils.toUtf8Bytes("Order(" + "address sellToken," + "address buyToken," + "address receiver," + "uint256 sellAmount," + "uint256 buyAmount," + "uint32 validTo," + "bytes32 appData," + "uint256 feeAmount," + "string kind," + "bool partiallyFillable," + "string sellTokenBalance," + "string buyTokenBalance" + ")")); // Matches CowSwapOrderTypeHashLib.EIP712_DOMAIN_TYPEHASH
|
|
29822
|
+
|
|
29823
|
+
var EIP712_DOMAIN_TYPEHASH = /*#__PURE__*/ethers.ethers.utils.keccak256( /*#__PURE__*/ethers.ethers.utils.toUtf8Bytes("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"));
|
|
29824
|
+
var cowSwapApiNetworkMap = {
|
|
29825
|
+
polygon: "polygon"
|
|
29826
|
+
};
|
|
29827
|
+
var GPv2Settlement_ABI = ["function setPreSignature(bytes calldata orderUid, bool signed) external"]; // Replicates CowSwapOrderTypeHashLib.hashOrder
|
|
29828
|
+
|
|
29829
|
+
function hashOrder(order) {
|
|
29830
|
+
return ethers.ethers.utils.keccak256(ethers.ethers.utils.defaultAbiCoder.encode(["bytes32", "address", "address", "address", "uint256", "uint256", "uint32", "bytes32", "uint256", "bytes32", "bool", "bytes32", "bytes32"], [ORDER_TYPE_HASH, order.sellToken, order.buyToken, order.receiver, order.sellAmount, order.buyAmount, order.validTo, order.appData, order.feeAmount, order.kind, order.partiallyFillable, order.sellTokenBalance, order.buyTokenBalance]));
|
|
29831
|
+
} // Replicates CowSwapOrderTypeHashLib.domainSeparator
|
|
29832
|
+
|
|
29833
|
+
|
|
29834
|
+
function computeDomainSeparator(name, version, chainId, verifyingContract) {
|
|
29835
|
+
return ethers.ethers.utils.keccak256(ethers.ethers.utils.defaultAbiCoder.encode(["bytes32", "bytes32", "bytes32", "uint256", "address"], [EIP712_DOMAIN_TYPEHASH, ethers.ethers.utils.keccak256(ethers.ethers.utils.toUtf8Bytes(name)), ethers.ethers.utils.keccak256(ethers.ethers.utils.toUtf8Bytes(version)), chainId, verifyingContract]));
|
|
29836
|
+
} // Replicates CowSwapOrderTypeHashLib.getDigest
|
|
29837
|
+
|
|
29838
|
+
|
|
29839
|
+
function computeOrderDigest(domainSep, orderHash) {
|
|
29840
|
+
return ethers.ethers.utils.keccak256(ethers.ethers.utils.solidityPack(["bytes2", "bytes32", "bytes32"], ["0x1901", domainSep, orderHash]));
|
|
29841
|
+
}
|
|
29842
|
+
|
|
29843
|
+
function getCowSwapTxData(_x, _x2, _x3, _x4, _x5, _x6) {
|
|
29844
|
+
return _getCowSwapTxData.apply(this, arguments);
|
|
29845
|
+
}
|
|
29846
|
+
|
|
29847
|
+
function _getCowSwapTxData() {
|
|
29848
|
+
_getCowSwapTxData = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(pool, assetFrom, assetTo, amountIn, slippage, kind) {
|
|
29849
|
+
var chainId, network, gpv2Settlement, baseUrl, quoteResponse, quoteResult, _quoteResponse$quote, sellAmount, buyAmount, validTo, buyAmountWithSlippage, orderValues, domainSep, orderHash, orderDigest, orderUid, typedData, encodedTypedData, settlementIface, preSignTxData;
|
|
29850
|
+
|
|
29851
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
29852
|
+
while (1) {
|
|
29853
|
+
switch (_context.prev = _context.next) {
|
|
29854
|
+
case 0:
|
|
29855
|
+
if (kind === void 0) {
|
|
29856
|
+
kind = "sell";
|
|
29857
|
+
}
|
|
29858
|
+
|
|
29859
|
+
chainId = networkChainIdMap[pool.network];
|
|
29860
|
+
network = cowSwapApiNetworkMap[pool.network];
|
|
29861
|
+
|
|
29862
|
+
if (network) {
|
|
29863
|
+
_context.next = 5;
|
|
29864
|
+
break;
|
|
29865
|
+
}
|
|
29866
|
+
|
|
29867
|
+
throw new Error("CowSwap is not supported on network: " + pool.network);
|
|
29868
|
+
|
|
29869
|
+
case 5:
|
|
29870
|
+
gpv2Settlement = gpv2SettlementAddress[pool.network];
|
|
29871
|
+
|
|
29872
|
+
if (gpv2Settlement) {
|
|
29873
|
+
_context.next = 8;
|
|
29874
|
+
break;
|
|
29875
|
+
}
|
|
29876
|
+
|
|
29877
|
+
throw new Error("GPv2Settlement address not configured for network: " + pool.network);
|
|
29878
|
+
|
|
29879
|
+
case 8:
|
|
29880
|
+
baseUrl = "https://api.cow.fi/" + network + "/api/v1"; // 1. Get quote
|
|
29881
|
+
|
|
29882
|
+
_context.prev = 9;
|
|
29883
|
+
_context.next = 12;
|
|
29884
|
+
return axios.post(baseUrl + "/quote", _extends({
|
|
29885
|
+
sellToken: assetFrom,
|
|
29886
|
+
buyToken: assetTo
|
|
29887
|
+
}, kind === "sell" ? {
|
|
29888
|
+
sellAmountBeforeFee: amountIn.toString()
|
|
29889
|
+
} : {
|
|
29890
|
+
buyAmountAfterFee: amountIn.toString()
|
|
29891
|
+
}, {
|
|
29892
|
+
from: pool.address,
|
|
29893
|
+
receiver: pool.address,
|
|
29894
|
+
kind: kind,
|
|
29895
|
+
signingScheme: "presign",
|
|
29896
|
+
partiallyFillable: false,
|
|
29897
|
+
sellTokenBalance: "erc20",
|
|
29898
|
+
buyTokenBalance: "erc20"
|
|
29899
|
+
}));
|
|
29900
|
+
|
|
29901
|
+
case 12:
|
|
29902
|
+
quoteResult = _context.sent;
|
|
29903
|
+
quoteResponse = quoteResult.data;
|
|
29904
|
+
_context.next = 19;
|
|
29905
|
+
break;
|
|
29906
|
+
|
|
29907
|
+
case 16:
|
|
29908
|
+
_context.prev = 16;
|
|
29909
|
+
_context.t0 = _context["catch"](9);
|
|
29910
|
+
throw new ApiError("CowSwap quote request failed");
|
|
29911
|
+
|
|
29912
|
+
case 19:
|
|
29913
|
+
_quoteResponse$quote = quoteResponse.quote, sellAmount = _quoteResponse$quote.sellAmount, buyAmount = _quoteResponse$quote.buyAmount, validTo = _quoteResponse$quote.validTo;
|
|
29914
|
+
buyAmountWithSlippage = ethers.ethers.BigNumber.from(new BigNumber__default(buyAmount.toString()).times(new BigNumber__default(1).minus(new BigNumber__default(slippage).div(100))).toFixed(0, BigNumber__default.ROUND_DOWN));
|
|
29915
|
+
orderValues = {
|
|
29916
|
+
sellToken: assetFrom,
|
|
29917
|
+
buyToken: assetTo,
|
|
29918
|
+
receiver: pool.address,
|
|
29919
|
+
sellAmount: sellAmount,
|
|
29920
|
+
buyAmount: buyAmountWithSlippage.toString(),
|
|
29921
|
+
validTo: validTo,
|
|
29922
|
+
appData: ethers.ethers.constants.HashZero,
|
|
29923
|
+
feeAmount: "0",
|
|
29924
|
+
kind: kind === "sell" ? KIND_SELL : KIND_BUY,
|
|
29925
|
+
partiallyFillable: false,
|
|
29926
|
+
sellTokenBalance: BALANCE_ERC20,
|
|
29927
|
+
buyTokenBalance: BALANCE_ERC20
|
|
29928
|
+
}; // 2. Compute digest matching CowSwapOrderTypeHashLib.getDigest exactly
|
|
29929
|
+
|
|
29930
|
+
domainSep = computeDomainSeparator("Gnosis Protocol", "v2", chainId, gpv2Settlement);
|
|
29931
|
+
orderHash = hashOrder(orderValues);
|
|
29932
|
+
orderDigest = computeOrderDigest(domainSep, orderHash); // orderUid = abi.encodePacked(orderDigest, owner, validTo) — 32 + 20 + 4 = 56 bytes
|
|
29933
|
+
|
|
29934
|
+
orderUid = ethers.ethers.utils.solidityPack(["bytes32", "address", "uint32"], [orderDigest, pool.address, validTo]); // 3. Submit order to CowSwap API — solver waits for on-chain presign before executing
|
|
29935
|
+
|
|
29936
|
+
_context.prev = 26;
|
|
29937
|
+
_context.next = 29;
|
|
29938
|
+
return axios.post(baseUrl + "/orders", {
|
|
29939
|
+
sellToken: assetFrom,
|
|
29940
|
+
buyToken: assetTo,
|
|
29941
|
+
receiver: pool.address,
|
|
29942
|
+
sellAmount: sellAmount,
|
|
29943
|
+
buyAmount: buyAmountWithSlippage.toString(),
|
|
29944
|
+
validTo: validTo,
|
|
29945
|
+
appData: ethers.ethers.constants.HashZero,
|
|
29946
|
+
feeAmount: "0",
|
|
29947
|
+
kind: kind,
|
|
29948
|
+
partiallyFillable: false,
|
|
29949
|
+
signingScheme: "presign",
|
|
29950
|
+
signature: pool.address,
|
|
29951
|
+
sellTokenBalance: "erc20",
|
|
29952
|
+
buyTokenBalance: "erc20",
|
|
29953
|
+
from: pool.address,
|
|
29954
|
+
quoteId: quoteResponse.id
|
|
29955
|
+
});
|
|
29956
|
+
|
|
29957
|
+
case 29:
|
|
29958
|
+
_context.next = 34;
|
|
29959
|
+
break;
|
|
29960
|
+
|
|
29961
|
+
case 31:
|
|
29962
|
+
_context.prev = 31;
|
|
29963
|
+
_context.t1 = _context["catch"](26);
|
|
29964
|
+
throw new ApiError("CowSwap order submission failed");
|
|
29965
|
+
|
|
29966
|
+
case 34:
|
|
29967
|
+
// 4. Encode CowSwapTypedData for submit() on TypedStructuredDataValidator
|
|
29968
|
+
typedData = {
|
|
29969
|
+
domain: {
|
|
29970
|
+
name: "Gnosis Protocol",
|
|
29971
|
+
version: "v2",
|
|
29972
|
+
chainId: chainId,
|
|
29973
|
+
verifyingContract: gpv2Settlement
|
|
29974
|
+
},
|
|
29975
|
+
order: orderValues
|
|
29976
|
+
};
|
|
29977
|
+
encodedTypedData = ethers.ethers.utils.defaultAbiCoder.encode(["tuple(" + "tuple(string name, string version, uint256 chainId, address verifyingContract) domain," + "tuple(address sellToken, address buyToken, address receiver, uint256 sellAmount, uint256 buyAmount, uint32 validTo, bytes32 appData, uint256 feeAmount, bytes32 kind, bool partiallyFillable, bytes32 sellTokenBalance, bytes32 buyTokenBalance) order" + ")"], [typedData]); // 5. Encode setPreSignature() — guard checks isValidatedHash(pool, orderDigest)
|
|
29978
|
+
|
|
29979
|
+
settlementIface = new ethers.ethers.utils.Interface(GPv2Settlement_ABI);
|
|
29980
|
+
preSignTxData = settlementIface.encodeFunctionData("setPreSignature", [orderUid, true]);
|
|
29981
|
+
return _context.abrupt("return", {
|
|
29982
|
+
encodedTypedData: encodedTypedData,
|
|
29983
|
+
preSignTxData: preSignTxData,
|
|
29984
|
+
minAmountOut: buyAmountWithSlippage.toString()
|
|
29985
|
+
});
|
|
29986
|
+
|
|
29987
|
+
case 39:
|
|
29988
|
+
case "end":
|
|
29989
|
+
return _context.stop();
|
|
29990
|
+
}
|
|
29991
|
+
}
|
|
29992
|
+
}, _callee, null, [[9, 16], [26, 31]]);
|
|
29993
|
+
}));
|
|
29994
|
+
return _getCowSwapTxData.apply(this, arguments);
|
|
29995
|
+
}
|
|
29996
|
+
|
|
29813
29997
|
var ICoreDepositWalletAbi = [
|
|
29814
29998
|
{
|
|
29815
29999
|
inputs: [
|
|
@@ -30907,7 +31091,7 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30907
31091
|
/*#__PURE__*/
|
|
30908
31092
|
function () {
|
|
30909
31093
|
var _trade = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee10(dapp, assetFrom, assetTo, amountIn, slippage, options, sdkOptions) {
|
|
30910
|
-
var swapTxData, minAmountOut, _yield$getOneInchSwap, iSynthetix, assets, daoAddress, _yield$getOdosSwapTxD, _yield$getPendleSwapT, _yield$getKyberSwapTx, iUniswapV2Router, calculatedMinAmountOut, tx;
|
|
31094
|
+
var swapTxData, minAmountOut, _yield$getOneInchSwap, iSynthetix, assets, daoAddress, _yield$getOdosSwapTxD, _yield$getPendleSwapT, _yield$getKyberSwapTx, cowSwapEstimateGas, _yield$getCowSwapTxDa, encodedTypedData, preSignTxData, cowMinOut, validatorContract, submitTx, submitReceipt, iUniswapV2Router, calculatedMinAmountOut, tx;
|
|
30911
31095
|
|
|
30912
31096
|
return runtime_1.wrap(function _callee10$(_context10) {
|
|
30913
31097
|
while (1) {
|
|
@@ -30929,7 +31113,7 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30929
31113
|
|
|
30930
31114
|
minAmountOut = null;
|
|
30931
31115
|
_context10.t0 = dapp;
|
|
30932
|
-
_context10.next = _context10.t0 === exports.Dapp.ONEINCH ? 7 : _context10.t0 === exports.Dapp.BALANCER ? 13 : _context10.t0 === exports.Dapp.SYNTHETIX ? 17 : _context10.t0 === exports.Dapp.TOROS ? 24 : _context10.t0 === exports.Dapp.ODOS ? 28 : _context10.t0 === exports.Dapp.PENDLE ? 34 : _context10.t0 === exports.Dapp.KYBERSWAP ? 40 : 46;
|
|
31116
|
+
_context10.next = _context10.t0 === exports.Dapp.ONEINCH ? 7 : _context10.t0 === exports.Dapp.BALANCER ? 13 : _context10.t0 === exports.Dapp.SYNTHETIX ? 17 : _context10.t0 === exports.Dapp.TOROS ? 24 : _context10.t0 === exports.Dapp.ODOS ? 28 : _context10.t0 === exports.Dapp.PENDLE ? 34 : _context10.t0 === exports.Dapp.KYBERSWAP ? 40 : _context10.t0 === exports.Dapp.COWSWAP ? 46 : 65;
|
|
30933
31117
|
break;
|
|
30934
31118
|
|
|
30935
31119
|
case 7:
|
|
@@ -30940,7 +31124,7 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30940
31124
|
_yield$getOneInchSwap = _context10.sent;
|
|
30941
31125
|
swapTxData = _yield$getOneInchSwap.swapTxData;
|
|
30942
31126
|
minAmountOut = _yield$getOneInchSwap.dstAmount;
|
|
30943
|
-
return _context10.abrupt("break",
|
|
31127
|
+
return _context10.abrupt("break", 80);
|
|
30944
31128
|
|
|
30945
31129
|
case 13:
|
|
30946
31130
|
_context10.next = 15;
|
|
@@ -30948,7 +31132,7 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30948
31132
|
|
|
30949
31133
|
case 15:
|
|
30950
31134
|
swapTxData = _context10.sent;
|
|
30951
|
-
return _context10.abrupt("break",
|
|
31135
|
+
return _context10.abrupt("break", 80);
|
|
30952
31136
|
|
|
30953
31137
|
case 17:
|
|
30954
31138
|
iSynthetix = new ethers.ethers.utils.Interface(ISynthetix.abi);
|
|
@@ -30961,7 +31145,7 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30961
31145
|
case 21:
|
|
30962
31146
|
daoAddress = _context10.sent;
|
|
30963
31147
|
swapTxData = iSynthetix.encodeFunctionData(exports.Transaction.SWAP_SYNTHS, [assets[0], amountIn, assets[1], daoAddress, SYNTHETIX_TRACKING_CODE]);
|
|
30964
|
-
return _context10.abrupt("break",
|
|
31148
|
+
return _context10.abrupt("break", 80);
|
|
30965
31149
|
|
|
30966
31150
|
case 24:
|
|
30967
31151
|
_context10.next = 26;
|
|
@@ -30969,7 +31153,7 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30969
31153
|
|
|
30970
31154
|
case 26:
|
|
30971
31155
|
swapTxData = _context10.sent;
|
|
30972
|
-
return _context10.abrupt("break",
|
|
31156
|
+
return _context10.abrupt("break", 80);
|
|
30973
31157
|
|
|
30974
31158
|
case 28:
|
|
30975
31159
|
_context10.next = 30;
|
|
@@ -30979,7 +31163,7 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30979
31163
|
_yield$getOdosSwapTxD = _context10.sent;
|
|
30980
31164
|
swapTxData = _yield$getOdosSwapTxD.swapTxData;
|
|
30981
31165
|
minAmountOut = _yield$getOdosSwapTxD.minAmountOut;
|
|
30982
|
-
return _context10.abrupt("break",
|
|
31166
|
+
return _context10.abrupt("break", 80);
|
|
30983
31167
|
|
|
30984
31168
|
case 34:
|
|
30985
31169
|
_context10.next = 36;
|
|
@@ -30989,7 +31173,7 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30989
31173
|
_yield$getPendleSwapT = _context10.sent;
|
|
30990
31174
|
swapTxData = _yield$getPendleSwapT.swapTxData;
|
|
30991
31175
|
minAmountOut = _yield$getPendleSwapT.minAmountOut;
|
|
30992
|
-
return _context10.abrupt("break",
|
|
31176
|
+
return _context10.abrupt("break", 80);
|
|
30993
31177
|
|
|
30994
31178
|
case 40:
|
|
30995
31179
|
_context10.next = 42;
|
|
@@ -30999,14 +31183,58 @@ var Pool = /*#__PURE__*/function () {
|
|
|
30999
31183
|
_yield$getKyberSwapTx = _context10.sent;
|
|
31000
31184
|
swapTxData = _yield$getKyberSwapTx.swapTxData;
|
|
31001
31185
|
minAmountOut = _yield$getKyberSwapTx.minAmountOut;
|
|
31002
|
-
return _context10.abrupt("break",
|
|
31186
|
+
return _context10.abrupt("break", 80);
|
|
31003
31187
|
|
|
31004
31188
|
case 46:
|
|
31189
|
+
cowSwapEstimateGas = isSdkOptionsBoolean(sdkOptions) ? sdkOptions : sdkOptions.estimateGas;
|
|
31190
|
+
|
|
31191
|
+
if (!(cowSwapEstimateGas || !isSdkOptionsBoolean(sdkOptions) && sdkOptions.onlyGetTxData)) {
|
|
31192
|
+
_context10.next = 49;
|
|
31193
|
+
break;
|
|
31194
|
+
}
|
|
31195
|
+
|
|
31196
|
+
throw new Error("CowSwap requires two sequential transactions (submit + preSign) and does not support estimateGas or onlyGetTxData");
|
|
31197
|
+
|
|
31198
|
+
case 49:
|
|
31199
|
+
_context10.next = 51;
|
|
31200
|
+
return getCowSwapTxData(this, assetFrom, assetTo, amountIn, slippage);
|
|
31201
|
+
|
|
31202
|
+
case 51:
|
|
31203
|
+
_yield$getCowSwapTxDa = _context10.sent;
|
|
31204
|
+
encodedTypedData = _yield$getCowSwapTxDa.encodedTypedData;
|
|
31205
|
+
preSignTxData = _yield$getCowSwapTxDa.preSignTxData;
|
|
31206
|
+
cowMinOut = _yield$getCowSwapTxDa.minAmountOut;
|
|
31207
|
+
// Tx 1: manager calls submit() directly on TypedStructuredDataValidator (not via pool.execTransaction)
|
|
31208
|
+
validatorContract = new ethers.Contract(routerAddress[this.network][dapp], ["function submit(address _poolLogic, uint8 _dataType, bytes memory _structuredData) external"], this.signer);
|
|
31209
|
+
_context10.next = 58;
|
|
31210
|
+
return validatorContract.submit.apply(validatorContract, [this.address, 1
|
|
31211
|
+
/* COWSWAP_ORDER */
|
|
31212
|
+
, encodedTypedData].concat(options ? [options] : []));
|
|
31213
|
+
|
|
31214
|
+
case 58:
|
|
31215
|
+
submitTx = _context10.sent;
|
|
31216
|
+
_context10.next = 61;
|
|
31217
|
+
return submitTx.wait(3);
|
|
31218
|
+
|
|
31219
|
+
case 61:
|
|
31220
|
+
submitReceipt = _context10.sent;
|
|
31221
|
+
|
|
31222
|
+
if (!(submitReceipt.status === 0)) {
|
|
31223
|
+
_context10.next = 64;
|
|
31224
|
+
break;
|
|
31225
|
+
}
|
|
31226
|
+
|
|
31227
|
+
return _context10.abrupt("return", submitReceipt);
|
|
31228
|
+
|
|
31229
|
+
case 64:
|
|
31230
|
+
return _context10.abrupt("return", getPoolTxOrGasEstimate(this, [gpv2SettlementAddress[this.network], preSignTxData, options, cowMinOut], sdkOptions));
|
|
31231
|
+
|
|
31232
|
+
case 65:
|
|
31005
31233
|
iUniswapV2Router = new ethers.ethers.utils.Interface(IUniswapV2Router.abi);
|
|
31006
|
-
_context10.next =
|
|
31234
|
+
_context10.next = 68;
|
|
31007
31235
|
return this.utils.getMinAmountOut(dapp, assetFrom, assetTo, amountIn, slippage);
|
|
31008
31236
|
|
|
31009
|
-
case
|
|
31237
|
+
case 68:
|
|
31010
31238
|
calculatedMinAmountOut = _context10.sent;
|
|
31011
31239
|
_context10.t1 = iUniswapV2Router;
|
|
31012
31240
|
_context10.t2 = exports.Transaction.SWAP;
|
|
@@ -31014,23 +31242,23 @@ var Pool = /*#__PURE__*/function () {
|
|
|
31014
31242
|
_context10.t4 = calculatedMinAmountOut;
|
|
31015
31243
|
_context10.t5 = [assetFrom, assetTo];
|
|
31016
31244
|
_context10.t6 = this.address;
|
|
31017
|
-
_context10.next =
|
|
31245
|
+
_context10.next = 77;
|
|
31018
31246
|
return getDeadline(this);
|
|
31019
31247
|
|
|
31020
|
-
case
|
|
31248
|
+
case 77:
|
|
31021
31249
|
_context10.t7 = _context10.sent;
|
|
31022
31250
|
_context10.t8 = [_context10.t3, _context10.t4, _context10.t5, _context10.t6, _context10.t7];
|
|
31023
31251
|
swapTxData = _context10.t1.encodeFunctionData.call(_context10.t1, _context10.t2, _context10.t8);
|
|
31024
31252
|
|
|
31025
|
-
case
|
|
31026
|
-
_context10.next =
|
|
31253
|
+
case 80:
|
|
31254
|
+
_context10.next = 82;
|
|
31027
31255
|
return getPoolTxOrGasEstimate(this, [routerAddress[this.network][dapp], swapTxData, options, minAmountOut], sdkOptions);
|
|
31028
31256
|
|
|
31029
|
-
case
|
|
31257
|
+
case 82:
|
|
31030
31258
|
tx = _context10.sent;
|
|
31031
31259
|
return _context10.abrupt("return", tx);
|
|
31032
31260
|
|
|
31033
|
-
case
|
|
31261
|
+
case 84:
|
|
31034
31262
|
case "end":
|
|
31035
31263
|
return _context10.stop();
|
|
31036
31264
|
}
|