@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 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", 61);
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", 61);
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", 61);
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", 61);
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", 61);
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", 61);
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", 61);
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 = 49;
31234
+ _context10.next = 68;
31007
31235
  return this.utils.getMinAmountOut(dapp, assetFrom, assetTo, amountIn, slippage);
31008
31236
 
31009
- case 49:
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 = 58;
31245
+ _context10.next = 77;
31018
31246
  return getDeadline(this);
31019
31247
 
31020
- case 58:
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 61:
31026
- _context10.next = 63;
31253
+ case 80:
31254
+ _context10.next = 82;
31027
31255
  return getPoolTxOrGasEstimate(this, [routerAddress[this.network][dapp], swapTxData, options, minAmountOut], sdkOptions);
31028
31256
 
31029
- case 63:
31257
+ case 82:
31030
31258
  tx = _context10.sent;
31031
31259
  return _context10.abrupt("return", tx);
31032
31260
 
31033
- case 65:
31261
+ case 84:
31034
31262
  case "end":
31035
31263
  return _context10.stop();
31036
31264
  }