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