From d509604b525e052c124d42a5be8ea46e5ac1eb5c Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Tue, 16 Feb 2021 16:17:08 -0500 Subject: [PATCH] `@0x/contracts-zero-ex`: Export `CurveLiquidityProviderContract` (#144) `@0x/asset-swapper`: Add deployed `CurveLiquidityProvider` addresses Co-authored-by: Lawrence Forman --- contracts/zero-ex/CHANGELOG.json | 4 +++ contracts/zero-ex/package.json | 2 +- contracts/zero-ex/src/artifacts.ts | 2 ++ contracts/zero-ex/src/wrappers.ts | 1 + contracts/zero-ex/tsconfig.json | 1 + packages/asset-swapper/CHANGELOG.json | 4 +++ .../utils/market_operation_utils/constants.ts | 32 +++++++++---------- 7 files changed, 29 insertions(+), 17 deletions(-) diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 163e05f6a0..7bb0aea28a 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -5,6 +5,10 @@ { "note": "Add `CurveLiquidityProvider` and misc refactors", "pr": 127 + }, + { + "note": "Export `CurveLiquidityProviderContract`", + "pr": 144 } ] }, diff --git a/contracts/zero-ex/package.json b/contracts/zero-ex/package.json index 7e82e923f8..93fa6e21d9 100644 --- a/contracts/zero-ex/package.json +++ b/contracts/zero-ex/package.json @@ -41,7 +41,7 @@ "rollback": "node ./lib/scripts/rollback.js" }, "config": { - "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IAllowanceTarget,IERC20Transformer,IOwnableFeature,ISimpleFunctionRegistryFeature,ITokenSpenderFeature,ITransformERC20Feature,FillQuoteTransformer,PayTakerTransformer,WethTransformer,OwnableFeature,SimpleFunctionRegistryFeature,TransformERC20Feature,TokenSpenderFeature,AffiliateFeeTransformer,MetaTransactionsFeature,LogMetadataTransformer,BridgeAdapter,LiquidityProviderFeature,ILiquidityProviderFeature,NativeOrdersFeature,INativeOrdersFeature,FeeCollectorController,FeeCollector", + "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IAllowanceTarget,IERC20Transformer,IOwnableFeature,ISimpleFunctionRegistryFeature,ITokenSpenderFeature,ITransformERC20Feature,FillQuoteTransformer,PayTakerTransformer,WethTransformer,OwnableFeature,SimpleFunctionRegistryFeature,TransformERC20Feature,TokenSpenderFeature,AffiliateFeeTransformer,MetaTransactionsFeature,LogMetadataTransformer,BridgeAdapter,LiquidityProviderFeature,ILiquidityProviderFeature,NativeOrdersFeature,INativeOrdersFeature,FeeCollectorController,FeeCollector,CurveLiquidityProvider", "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.", "abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|AllowanceTarget|BootstrapFeature|BridgeAdapter|BridgeSource|CurveLiquidityProvider|FeeCollector|FeeCollectorController|FillQuoteTransformer|FixinCommon|FixinEIP712|FixinProtocolFees|FixinReentrancyGuard|FixinTokenSpender|FlashWallet|FullMigration|IAllowanceTarget|IBootstrapFeature|IBridgeAdapter|IERC20Bridge|IERC20Transformer|IFeature|IFlashWallet|ILiquidityProvider|ILiquidityProviderFeature|ILiquidityProviderSandbox|IMetaTransactionsFeature|INativeOrdersFeature|IOwnableFeature|ISimpleFunctionRegistryFeature|IStaking|ITestSimpleFunctionRegistryFeature|ITokenSpenderFeature|ITransformERC20Feature|IUniswapFeature|IZeroEx|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC20Transformer|LibFeeCollector|LibLiquidityProviderRichErrors|LibMetaTransactionsRichErrors|LibMetaTransactionsStorage|LibMigrate|LibNativeOrder|LibNativeOrdersRichErrors|LibNativeOrdersStorage|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibReentrancyGuardStorage|LibSignature|LibSignatureRichErrors|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibSpenderRichErrors|LibStorage|LibTokenSpenderStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|LiquidityProviderFeature|LiquidityProviderSandbox|LogMetadataTransformer|MetaTransactionsFeature|MixinBalancer|MixinBancor|MixinCoFiX|MixinCryptoCom|MixinCurve|MixinDodo|MixinKyber|MixinMStable|MixinMooniswap|MixinOasis|MixinShell|MixinSushiswap|MixinUniswap|MixinUniswapV2|MixinZeroExBridge|NativeOrdersFeature|OwnableFeature|PayTakerTransformer|PermissionlessTransformerDeployer|SimpleFunctionRegistryFeature|TestBridge|TestCallTarget|TestCurve|TestDelegateCaller|TestFeeCollectorController|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFixinProtocolFees|TestFixinTokenSpender|TestFullMigration|TestInitialMigration|TestLibNativeOrder|TestLibSignature|TestLiquidityProvider|TestMetaTransactionsNativeOrdersFeature|TestMetaTransactionsTransformERC20Feature|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC20Token|TestNativeOrdersFeature|TestPermissionlessTransformerDeployerSuicidal|TestPermissionlessTransformerDeployerTransformer|TestRfqOriginRegistration|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestStaking|TestTokenSpender|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestWeth|TestWethTransformerHost|TestZeroExFeature|TokenSpenderFeature|TransformERC20Feature|Transformer|TransformerDeployer|UniswapFeature|WethTransformer|ZeroEx|ZeroExOptimized).json" }, diff --git a/contracts/zero-ex/src/artifacts.ts b/contracts/zero-ex/src/artifacts.ts index ad3ce1128a..c0455e1253 100644 --- a/contracts/zero-ex/src/artifacts.ts +++ b/contracts/zero-ex/src/artifacts.ts @@ -7,6 +7,7 @@ import { ContractArtifact } from 'ethereum-types'; import * as AffiliateFeeTransformer from '../generated-artifacts/AffiliateFeeTransformer.json'; import * as BridgeAdapter from '../generated-artifacts/BridgeAdapter.json'; +import * as CurveLiquidityProvider from '../generated-artifacts/CurveLiquidityProvider.json'; import * as FeeCollector from '../generated-artifacts/FeeCollector.json'; import * as FeeCollectorController from '../generated-artifacts/FeeCollectorController.json'; import * as FillQuoteTransformer from '../generated-artifacts/FillQuoteTransformer.json'; @@ -62,4 +63,5 @@ export const artifacts = { INativeOrdersFeature: INativeOrdersFeature as ContractArtifact, FeeCollectorController: FeeCollectorController as ContractArtifact, FeeCollector: FeeCollector as ContractArtifact, + CurveLiquidityProvider: CurveLiquidityProvider as ContractArtifact, }; diff --git a/contracts/zero-ex/src/wrappers.ts b/contracts/zero-ex/src/wrappers.ts index 27018a98ea..79048e1404 100644 --- a/contracts/zero-ex/src/wrappers.ts +++ b/contracts/zero-ex/src/wrappers.ts @@ -5,6 +5,7 @@ */ export * from '../generated-wrappers/affiliate_fee_transformer'; export * from '../generated-wrappers/bridge_adapter'; +export * from '../generated-wrappers/curve_liquidity_provider'; export * from '../generated-wrappers/fee_collector'; export * from '../generated-wrappers/fee_collector_controller'; export * from '../generated-wrappers/fill_quote_transformer'; diff --git a/contracts/zero-ex/tsconfig.json b/contracts/zero-ex/tsconfig.json index 1480799acc..4f30c90233 100644 --- a/contracts/zero-ex/tsconfig.json +++ b/contracts/zero-ex/tsconfig.json @@ -5,6 +5,7 @@ "files": [ "generated-artifacts/AffiliateFeeTransformer.json", "generated-artifacts/BridgeAdapter.json", + "generated-artifacts/CurveLiquidityProvider.json", "generated-artifacts/FeeCollector.json", "generated-artifacts/FeeCollectorController.json", "generated-artifacts/FillQuoteTransformer.json", diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index 342fb382f8..786cc88ec3 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -13,6 +13,10 @@ { "note": "Fix compiler error on `ILiquidityProvider` call", "pr": 127 + }, + { + "note": "Add deployed `CurveLiquidityProvider` addresses", + "pr": 144 } ] }, diff --git a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts index 39495c4cbf..110263b6a0 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts @@ -24,6 +24,19 @@ import { // tslint:disable: custom-no-magic-numbers no-bitwise +export const ERC20_PROXY_ID = '0xf47261b0'; +export const WALLET_SIGNATURE = '0x04'; +export const ONE_ETHER = new BigNumber(1e18); +export const NEGATIVE_INF = new BigNumber('-Infinity'); +export const POSITIVE_INF = new BigNumber('Infinity'); +export const ZERO_AMOUNT = new BigNumber(0); +export const MAX_UINT256 = new BigNumber(2).pow(256).minus(1); +export const ONE_HOUR_IN_SECONDS = 60 * 60; +export const ONE_SECOND_MS = 1000; +export const NULL_BYTES = '0x'; +export const NULL_ADDRESS = '0x0000000000000000000000000000000000000000'; +export const COMPARISON_PRICE_DECIMALS = 10; + /** * Valid sources for market sell. */ @@ -423,9 +436,9 @@ export const MAINNET_MOONISWAP_V2_1_REGISTRY = '0xbaf9a5d4b0052359326a6cdab54bab export const MAINNET_DODO_HELPER = '0x533da777aedce766ceae696bf90f8541a4ba80eb'; export const CURVE_LIQUIDITY_PROVIDER_BY_CHAIN_ID: { [id: string]: string } = { - '1': '0xe3a207e4225d459095491ea75d30b31968dff887', - '3': '0xe3a207e4225d459095491ea75d30b31968dff887', - '1337': '0xe3a207e4225d459095491ea75d30b31968dff887', + '1': '0x7a6F6a048fE2Dc1397ABa0bf7879d3eacF371C53', + '3': '0xAa213dcDFbF104e08cbAeC3d1628eD197553AfCc', + '1337': NULL_ADDRESS, }; export const MAINNET_SHELL_POOLS = { @@ -443,19 +456,6 @@ export const BALANCER_SUBGRAPH_URL = 'https://api.thegraph.com/subgraphs/name/ba export const BALANCER_TOP_POOLS_FETCHED = 250; export const BALANCER_MAX_POOLS_FETCHED = 3; -export const ERC20_PROXY_ID = '0xf47261b0'; -export const WALLET_SIGNATURE = '0x04'; -export const ONE_ETHER = new BigNumber(1e18); -export const NEGATIVE_INF = new BigNumber('-Infinity'); -export const POSITIVE_INF = new BigNumber('Infinity'); -export const ZERO_AMOUNT = new BigNumber(0); -export const MAX_UINT256 = new BigNumber(2).pow(256).minus(1); -export const ONE_HOUR_IN_SECONDS = 60 * 60; -export const ONE_SECOND_MS = 1000; -export const NULL_BYTES = '0x'; -export const NULL_ADDRESS = '0x0000000000000000000000000000000000000000'; -export const COMPARISON_PRICE_DECIMALS = 10; - const EMPTY_BRIDGE_ADDRESSES: BridgeContractAddresses = { uniswapBridge: NULL_ADDRESS, uniswapV2Bridge: NULL_ADDRESS,