chore: Rename to TradeSurplus
This commit is contained in:
		| @@ -106,7 +106,7 @@ | |||||||
|         "./contracts/src/transformers/LibERC20Transformer.sol", |         "./contracts/src/transformers/LibERC20Transformer.sol", | ||||||
|         "./contracts/src/transformers/LogMetadataTransformer.sol", |         "./contracts/src/transformers/LogMetadataTransformer.sol", | ||||||
|         "./contracts/src/transformers/PayTakerTransformer.sol", |         "./contracts/src/transformers/PayTakerTransformer.sol", | ||||||
|         "./contracts/src/transformers/PositiveSlippageFeeTransformer.sol", |         "./contracts/src/transformers/TradeSurplusTransformer.sol", | ||||||
|         "./contracts/src/transformers/Transformer.sol", |         "./contracts/src/transformers/Transformer.sol", | ||||||
|         "./contracts/src/transformers/WethTransformer.sol", |         "./contracts/src/transformers/WethTransformer.sol", | ||||||
|         "./contracts/src/transformers/bridges/AbstractBridgeAdapter.sol", |         "./contracts/src/transformers/bridges/AbstractBridgeAdapter.sol", | ||||||
|   | |||||||
| @@ -23,8 +23,8 @@ import "../errors/LibTransformERC20RichErrors.sol"; | |||||||
| import "./Transformer.sol"; | import "./Transformer.sol"; | ||||||
| import "./LibERC20Transformer.sol"; | import "./LibERC20Transformer.sol"; | ||||||
| 
 | 
 | ||||||
| /// @dev A transformer that transfers tokens to arbitrary addresses. | /// @dev A transformer that transfers token surplus to arbitrary addresses. | ||||||
| contract PositiveSlippageFeeTransformer is Transformer { | contract TradeSurplusTransformer is Transformer { | ||||||
|     using LibRichErrorsV06 for bytes; |     using LibRichErrorsV06 for bytes; | ||||||
|     using LibSafeMathV06 for uint256; |     using LibSafeMathV06 for uint256; | ||||||
|     using LibERC20Transformer for IERC20TokenV06; |     using LibERC20Transformer for IERC20TokenV06; | ||||||
| @@ -36,9 +36,9 @@ | |||||||
|         "typechain": "typechain --target=ethers-v5 --out-dir='typechain-wrappers'  './foundry-artifacts/**/*.json'" |         "typechain": "typechain --target=ethers-v5 --out-dir='typechain-wrappers'  './foundry-artifacts/**/*.json'" | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|         "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IERC20Transformer,IOwnableFeature,ISimpleFunctionRegistryFeature,ITransformERC20Feature,FillQuoteTransformer,PayTakerTransformer,PositiveSlippageFeeTransformer,WethTransformer,OwnableFeature,SimpleFunctionRegistryFeature,TransformERC20Feature,AffiliateFeeTransformer,MetaTransactionsFeature,LogMetadataTransformer,LiquidityProviderFeature,ILiquidityProviderFeature,NativeOrdersFeature,INativeOrdersFeature,FeeCollectorController,FeeCollector,CurveLiquidityProvider,BatchFillNativeOrdersFeature,IBatchFillNativeOrdersFeature,MultiplexFeature,IMultiplexFeature,OtcOrdersFeature,IOtcOrdersFeature,AvalancheBridgeAdapter,BSCBridgeAdapter,CeloBridgeAdapter,EthereumBridgeAdapter,FantomBridgeAdapter,OptimismBridgeAdapter,PolygonBridgeAdapter", |         "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IERC20Transformer,IOwnableFeature,ISimpleFunctionRegistryFeature,ITransformERC20Feature,FillQuoteTransformer,PayTakerTransformer,TradeSurplusTransformer,WethTransformer,OwnableFeature,SimpleFunctionRegistryFeature,TransformERC20Feature,AffiliateFeeTransformer,MetaTransactionsFeature,LogMetadataTransformer,LiquidityProviderFeature,ILiquidityProviderFeature,NativeOrdersFeature,INativeOrdersFeature,FeeCollectorController,FeeCollector,CurveLiquidityProvider,BatchFillNativeOrdersFeature,IBatchFillNativeOrdersFeature,MultiplexFeature,IMultiplexFeature,OtcOrdersFeature,IOtcOrdersFeature,AvalancheBridgeAdapter,BSCBridgeAdapter,CeloBridgeAdapter,EthereumBridgeAdapter,FantomBridgeAdapter,OptimismBridgeAdapter,PolygonBridgeAdapter", | ||||||
|         "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.", |         "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.", | ||||||
|         "abis": "./test/generated-artifacts/@(AbstractBridgeAdapter|AffiliateFeeTransformer|ArbitrumBridgeAdapter|AvalancheBridgeAdapter|BSCBridgeAdapter|BatchFillNativeOrdersFeature|BootstrapFeature|BridgeProtocols|CeloBridgeAdapter|CurveLiquidityProvider|ERC1155OrdersFeature|ERC165Feature|ERC721OrdersFeature|EthereumBridgeAdapter|FantomBridgeAdapter|FeeCollector|FeeCollectorController|FillQuoteTransformer|FixinCommon|FixinEIP712|FixinERC1155Spender|FixinERC721Spender|FixinProtocolFees|FixinReentrancyGuard|FixinTokenSpender|FlashWallet|FullMigration|FundRecoveryFeature|IBatchFillNativeOrdersFeature|IBootstrapFeature|IBridgeAdapter|IERC1155OrdersFeature|IERC1155Token|IERC165Feature|IERC20Bridge|IERC20Transformer|IERC721OrdersFeature|IERC721Token|IFeature|IFeeRecipient|IFlashWallet|IFundRecoveryFeature|ILiquidityProvider|ILiquidityProviderFeature|ILiquidityProviderSandbox|IMetaTransactionsFeature|IMooniswapPool|IMultiplexFeature|INativeOrdersEvents|INativeOrdersFeature|IOtcOrdersFeature|IOwnableFeature|IPancakeSwapFeature|IPropertyValidator|ISimpleFunctionRegistryFeature|IStaking|ITakerCallback|ITestSimpleFunctionRegistryFeature|ITokenSpenderFeature|ITransformERC20Feature|IUniswapFeature|IUniswapV2Pair|IUniswapV3Feature|IUniswapV3Pool|IZeroEx|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC1155OrdersStorage|LibERC20Transformer|LibERC721OrdersStorage|LibFeeCollector|LibLiquidityProviderRichErrors|LibMetaTransactionsRichErrors|LibMetaTransactionsStorage|LibMigrate|LibNFTOrder|LibNFTOrdersRichErrors|LibNativeOrder|LibNativeOrdersRichErrors|LibNativeOrdersStorage|LibOtcOrdersStorage|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibReentrancyGuardStorage|LibSignature|LibSignatureRichErrors|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|LiquidityProviderFeature|LiquidityProviderSandbox|LogMetadataTransformer|MetaTransactionsFeature|MixinAaveV2|MixinBalancer|MixinBalancerV2Batch|MixinBancor|MixinBancorV3|MixinCompound|MixinCryptoCom|MixinCurve|MixinCurveV2|MixinDodo|MixinDodoV2|MixinGMX|MixinKyberDmm|MixinLido|MixinMStable|MixinMakerPSM|MixinMooniswap|MixinNerve|MixinPlatypus|MixinShell|MixinSolidly|MixinSynthetix|MixinUniswap|MixinUniswapV2|MixinUniswapV3|MixinZeroExBridge|MooniswapLiquidityProvider|MultiplexFeature|MultiplexLiquidityProvider|MultiplexOtc|MultiplexRfq|MultiplexTransformERC20|MultiplexUniswapV2|MultiplexUniswapV3|NFTOrders|NativeOrdersCancellation|NativeOrdersFeature|NativeOrdersInfo|NativeOrdersProtocolFees|NativeOrdersSettlement|OptimismBridgeAdapter|OtcOrdersFeature|OwnableFeature|PancakeSwapFeature|PayTakerTransformer|PermissionlessTransformerDeployer|PolygonBridgeAdapter|PositiveSlippageFeeTransformer|SimpleFunctionRegistryFeature|TestCurve|TestDelegateCaller|TestFeeCollectorController|TestFeeRecipient|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFixinProtocolFees|TestFixinTokenSpender|TestFullMigration|TestInitialMigration|TestLibNativeOrder|TestLibSignature|TestLiquidityProvider|TestMetaTransactionsNativeOrdersFeature|TestMetaTransactionsTransformERC20Feature|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC1155Token|TestMintableERC20Token|TestMintableERC721Token|TestMooniswap|TestNFTOrderPresigner|TestNativeOrdersFeature|TestNoEthRecipient|TestOrderSignerRegistryWithContractWallet|TestPermissionlessTransformerDeployerSuicidal|TestPermissionlessTransformerDeployerTransformer|TestPropertyValidator|TestRfqOriginRegistration|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestStaking|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestUniswapV2Factory|TestUniswapV2Pool|TestUniswapV3Factory|TestUniswapV3Feature|TestUniswapV3Pool|TestWeth|TestWethTransformerHost|TransformERC20Feature|Transformer|TransformerDeployer|UniswapFeature|UniswapV3Feature|WethTransformer|ZeroEx|ZeroExOptimized).json" |         "abis": "./test/generated-artifacts/@(AbstractBridgeAdapter|AffiliateFeeTransformer|ArbitrumBridgeAdapter|AvalancheBridgeAdapter|BSCBridgeAdapter|BatchFillNativeOrdersFeature|BootstrapFeature|BridgeProtocols|CeloBridgeAdapter|CurveLiquidityProvider|ERC1155OrdersFeature|ERC165Feature|ERC721OrdersFeature|EthereumBridgeAdapter|FantomBridgeAdapter|FeeCollector|FeeCollectorController|FillQuoteTransformer|FixinCommon|FixinEIP712|FixinERC1155Spender|FixinERC721Spender|FixinProtocolFees|FixinReentrancyGuard|FixinTokenSpender|FlashWallet|FullMigration|FundRecoveryFeature|IBatchFillNativeOrdersFeature|IBootstrapFeature|IBridgeAdapter|IERC1155OrdersFeature|IERC1155Token|IERC165Feature|IERC20Bridge|IERC20Transformer|IERC721OrdersFeature|IERC721Token|IFeature|IFeeRecipient|IFlashWallet|IFundRecoveryFeature|ILiquidityProvider|ILiquidityProviderFeature|ILiquidityProviderSandbox|IMetaTransactionsFeature|IMooniswapPool|IMultiplexFeature|INativeOrdersEvents|INativeOrdersFeature|IOtcOrdersFeature|IOwnableFeature|IPancakeSwapFeature|IPropertyValidator|ISimpleFunctionRegistryFeature|IStaking|ITakerCallback|ITestSimpleFunctionRegistryFeature|ITokenSpenderFeature|ITransformERC20Feature|IUniswapFeature|IUniswapV2Pair|IUniswapV3Feature|IUniswapV3Pool|IZeroEx|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC1155OrdersStorage|LibERC20Transformer|LibERC721OrdersStorage|LibFeeCollector|LibLiquidityProviderRichErrors|LibMetaTransactionsRichErrors|LibMetaTransactionsStorage|LibMigrate|LibNFTOrder|LibNFTOrdersRichErrors|LibNativeOrder|LibNativeOrdersRichErrors|LibNativeOrdersStorage|LibOtcOrdersStorage|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibReentrancyGuardStorage|LibSignature|LibSignatureRichErrors|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|LiquidityProviderFeature|LiquidityProviderSandbox|LogMetadataTransformer|MetaTransactionsFeature|MixinAaveV2|MixinBalancer|MixinBalancerV2Batch|MixinBancor|MixinBancorV3|MixinCompound|MixinCryptoCom|MixinCurve|MixinCurveV2|MixinDodo|MixinDodoV2|MixinGMX|MixinKyberDmm|MixinLido|MixinMStable|MixinMakerPSM|MixinMooniswap|MixinNerve|MixinPlatypus|MixinShell|MixinSolidly|MixinSynthetix|MixinUniswap|MixinUniswapV2|MixinUniswapV3|MixinZeroExBridge|MooniswapLiquidityProvider|MultiplexFeature|MultiplexLiquidityProvider|MultiplexOtc|MultiplexRfq|MultiplexTransformERC20|MultiplexUniswapV2|MultiplexUniswapV3|NFTOrders|NativeOrdersCancellation|NativeOrdersFeature|NativeOrdersInfo|NativeOrdersProtocolFees|NativeOrdersSettlement|OptimismBridgeAdapter|OtcOrdersFeature|OwnableFeature|PancakeSwapFeature|PayTakerTransformer|PermissionlessTransformerDeployer|PolygonBridgeAdapter|SimpleFunctionRegistryFeature|TestCurve|TestDelegateCaller|TestFeeCollectorController|TestFeeRecipient|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFixinProtocolFees|TestFixinTokenSpender|TestFullMigration|TestInitialMigration|TestLibNativeOrder|TestLibSignature|TestLiquidityProvider|TestMetaTransactionsNativeOrdersFeature|TestMetaTransactionsTransformERC20Feature|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC1155Token|TestMintableERC20Token|TestMintableERC721Token|TestMooniswap|TestNFTOrderPresigner|TestNativeOrdersFeature|TestNoEthRecipient|TestOrderSignerRegistryWithContractWallet|TestPermissionlessTransformerDeployerSuicidal|TestPermissionlessTransformerDeployerTransformer|TestPropertyValidator|TestRfqOriginRegistration|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestStaking|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestUniswapV2Factory|TestUniswapV2Pool|TestUniswapV3Factory|TestUniswapV3Feature|TestUniswapV3Pool|TestWeth|TestWethTransformerHost|TradeSurplusTransformer|TransformERC20Feature|Transformer|TransformerDeployer|UniswapFeature|UniswapV3Feature|WethTransformer|ZeroEx|ZeroExOptimized).json" | ||||||
|     }, |     }, | ||||||
|     "repository": { |     "repository": { | ||||||
|         "type": "git", |         "type": "git", | ||||||
|   | |||||||
| @@ -39,8 +39,8 @@ import * as OtcOrdersFeature from '../generated-artifacts/OtcOrdersFeature.json' | |||||||
| import * as OwnableFeature from '../generated-artifacts/OwnableFeature.json'; | import * as OwnableFeature from '../generated-artifacts/OwnableFeature.json'; | ||||||
| import * as PayTakerTransformer from '../generated-artifacts/PayTakerTransformer.json'; | import * as PayTakerTransformer from '../generated-artifacts/PayTakerTransformer.json'; | ||||||
| import * as PolygonBridgeAdapter from '../generated-artifacts/PolygonBridgeAdapter.json'; | import * as PolygonBridgeAdapter from '../generated-artifacts/PolygonBridgeAdapter.json'; | ||||||
| import * as PositiveSlippageFeeTransformer from '../generated-artifacts/PositiveSlippageFeeTransformer.json'; |  | ||||||
| import * as SimpleFunctionRegistryFeature from '../generated-artifacts/SimpleFunctionRegistryFeature.json'; | import * as SimpleFunctionRegistryFeature from '../generated-artifacts/SimpleFunctionRegistryFeature.json'; | ||||||
|  | import * as TradeSurplusTransformer from '../generated-artifacts/TradeSurplusTransformer.json'; | ||||||
| import * as TransformERC20Feature from '../generated-artifacts/TransformERC20Feature.json'; | import * as TransformERC20Feature from '../generated-artifacts/TransformERC20Feature.json'; | ||||||
| import * as WethTransformer from '../generated-artifacts/WethTransformer.json'; | import * as WethTransformer from '../generated-artifacts/WethTransformer.json'; | ||||||
| import * as ZeroEx from '../generated-artifacts/ZeroEx.json'; | import * as ZeroEx from '../generated-artifacts/ZeroEx.json'; | ||||||
| @@ -56,7 +56,7 @@ export const artifacts = { | |||||||
|     ITransformERC20Feature: ITransformERC20Feature as ContractArtifact, |     ITransformERC20Feature: ITransformERC20Feature as ContractArtifact, | ||||||
|     FillQuoteTransformer: FillQuoteTransformer as ContractArtifact, |     FillQuoteTransformer: FillQuoteTransformer as ContractArtifact, | ||||||
|     PayTakerTransformer: PayTakerTransformer as ContractArtifact, |     PayTakerTransformer: PayTakerTransformer as ContractArtifact, | ||||||
|     PositiveSlippageFeeTransformer: PositiveSlippageFeeTransformer as ContractArtifact, |     TradeSurplusTransformer: TradeSurplusTransformer as ContractArtifact, | ||||||
|     WethTransformer: WethTransformer as ContractArtifact, |     WethTransformer: WethTransformer as ContractArtifact, | ||||||
|     OwnableFeature: OwnableFeature as ContractArtifact, |     OwnableFeature: OwnableFeature as ContractArtifact, | ||||||
|     SimpleFunctionRegistryFeature: SimpleFunctionRegistryFeature as ContractArtifact, |     SimpleFunctionRegistryFeature: SimpleFunctionRegistryFeature as ContractArtifact, | ||||||
|   | |||||||
| @@ -52,7 +52,7 @@ export { | |||||||
|     OptimismBridgeAdapterContract, |     OptimismBridgeAdapterContract, | ||||||
|     PayTakerTransformerContract, |     PayTakerTransformerContract, | ||||||
|     PolygonBridgeAdapterContract, |     PolygonBridgeAdapterContract, | ||||||
|     PositiveSlippageFeeTransformerContract, |     TradeSurplusTransformerContract, | ||||||
|     TransformERC20FeatureContract, |     TransformERC20FeatureContract, | ||||||
|     WethTransformerContract, |     WethTransformerContract, | ||||||
|     ZeroExContract, |     ZeroExContract, | ||||||
|   | |||||||
| @@ -37,8 +37,8 @@ export * from '../generated-wrappers/otc_orders_feature'; | |||||||
| export * from '../generated-wrappers/ownable_feature'; | export * from '../generated-wrappers/ownable_feature'; | ||||||
| export * from '../generated-wrappers/pay_taker_transformer'; | export * from '../generated-wrappers/pay_taker_transformer'; | ||||||
| export * from '../generated-wrappers/polygon_bridge_adapter'; | export * from '../generated-wrappers/polygon_bridge_adapter'; | ||||||
| export * from '../generated-wrappers/positive_slippage_fee_transformer'; |  | ||||||
| export * from '../generated-wrappers/simple_function_registry_feature'; | export * from '../generated-wrappers/simple_function_registry_feature'; | ||||||
|  | export * from '../generated-wrappers/trade_surplus_transformer'; | ||||||
| export * from '../generated-wrappers/transform_erc20_feature'; | export * from '../generated-wrappers/transform_erc20_feature'; | ||||||
| export * from '../generated-wrappers/weth_transformer'; | export * from '../generated-wrappers/weth_transformer'; | ||||||
| export * from '../generated-wrappers/zero_ex'; | export * from '../generated-wrappers/zero_ex'; | ||||||
|   | |||||||
| @@ -151,7 +151,6 @@ import * as PancakeSwapFeature from '../test/generated-artifacts/PancakeSwapFeat | |||||||
| import * as PayTakerTransformer from '../test/generated-artifacts/PayTakerTransformer.json'; | import * as PayTakerTransformer from '../test/generated-artifacts/PayTakerTransformer.json'; | ||||||
| import * as PermissionlessTransformerDeployer from '../test/generated-artifacts/PermissionlessTransformerDeployer.json'; | import * as PermissionlessTransformerDeployer from '../test/generated-artifacts/PermissionlessTransformerDeployer.json'; | ||||||
| import * as PolygonBridgeAdapter from '../test/generated-artifacts/PolygonBridgeAdapter.json'; | import * as PolygonBridgeAdapter from '../test/generated-artifacts/PolygonBridgeAdapter.json'; | ||||||
| import * as PositiveSlippageFeeTransformer from '../test/generated-artifacts/PositiveSlippageFeeTransformer.json'; |  | ||||||
| import * as SimpleFunctionRegistryFeature from '../test/generated-artifacts/SimpleFunctionRegistryFeature.json'; | import * as SimpleFunctionRegistryFeature from '../test/generated-artifacts/SimpleFunctionRegistryFeature.json'; | ||||||
| import * as TestCurve from '../test/generated-artifacts/TestCurve.json'; | import * as TestCurve from '../test/generated-artifacts/TestCurve.json'; | ||||||
| import * as TestDelegateCaller from '../test/generated-artifacts/TestDelegateCaller.json'; | import * as TestDelegateCaller from '../test/generated-artifacts/TestDelegateCaller.json'; | ||||||
| @@ -198,6 +197,7 @@ import * as TestUniswapV3Feature from '../test/generated-artifacts/TestUniswapV3 | |||||||
| import * as TestUniswapV3Pool from '../test/generated-artifacts/TestUniswapV3Pool.json'; | import * as TestUniswapV3Pool from '../test/generated-artifacts/TestUniswapV3Pool.json'; | ||||||
| import * as TestWeth from '../test/generated-artifacts/TestWeth.json'; | import * as TestWeth from '../test/generated-artifacts/TestWeth.json'; | ||||||
| import * as TestWethTransformerHost from '../test/generated-artifacts/TestWethTransformerHost.json'; | import * as TestWethTransformerHost from '../test/generated-artifacts/TestWethTransformerHost.json'; | ||||||
|  | import * as TradeSurplusTransformer from '../test/generated-artifacts/TradeSurplusTransformer.json'; | ||||||
| import * as Transformer from '../test/generated-artifacts/Transformer.json'; | import * as Transformer from '../test/generated-artifacts/Transformer.json'; | ||||||
| import * as TransformERC20Feature from '../test/generated-artifacts/TransformERC20Feature.json'; | import * as TransformERC20Feature from '../test/generated-artifacts/TransformERC20Feature.json'; | ||||||
| import * as TransformerDeployer from '../test/generated-artifacts/TransformerDeployer.json'; | import * as TransformerDeployer from '../test/generated-artifacts/TransformerDeployer.json'; | ||||||
| @@ -311,7 +311,7 @@ export const artifacts = { | |||||||
|     LibERC20Transformer: LibERC20Transformer as ContractArtifact, |     LibERC20Transformer: LibERC20Transformer as ContractArtifact, | ||||||
|     LogMetadataTransformer: LogMetadataTransformer as ContractArtifact, |     LogMetadataTransformer: LogMetadataTransformer as ContractArtifact, | ||||||
|     PayTakerTransformer: PayTakerTransformer as ContractArtifact, |     PayTakerTransformer: PayTakerTransformer as ContractArtifact, | ||||||
|     PositiveSlippageFeeTransformer: PositiveSlippageFeeTransformer as ContractArtifact, |     TradeSurplusTransformer: TradeSurplusTransformer as ContractArtifact, | ||||||
|     Transformer: Transformer as ContractArtifact, |     Transformer: Transformer as ContractArtifact, | ||||||
|     WethTransformer: WethTransformer as ContractArtifact, |     WethTransformer: WethTransformer as ContractArtifact, | ||||||
|     AbstractBridgeAdapter: AbstractBridgeAdapter as ContractArtifact, |     AbstractBridgeAdapter: AbstractBridgeAdapter as ContractArtifact, | ||||||
|   | |||||||
| @@ -149,7 +149,6 @@ export * from '../test/generated-wrappers/pancake_swap_feature'; | |||||||
| export * from '../test/generated-wrappers/pay_taker_transformer'; | export * from '../test/generated-wrappers/pay_taker_transformer'; | ||||||
| export * from '../test/generated-wrappers/permissionless_transformer_deployer'; | export * from '../test/generated-wrappers/permissionless_transformer_deployer'; | ||||||
| export * from '../test/generated-wrappers/polygon_bridge_adapter'; | export * from '../test/generated-wrappers/polygon_bridge_adapter'; | ||||||
| export * from '../test/generated-wrappers/positive_slippage_fee_transformer'; |  | ||||||
| export * from '../test/generated-wrappers/simple_function_registry_feature'; | export * from '../test/generated-wrappers/simple_function_registry_feature'; | ||||||
| export * from '../test/generated-wrappers/test_curve'; | export * from '../test/generated-wrappers/test_curve'; | ||||||
| export * from '../test/generated-wrappers/test_delegate_caller'; | export * from '../test/generated-wrappers/test_delegate_caller'; | ||||||
| @@ -196,6 +195,7 @@ export * from '../test/generated-wrappers/test_uniswap_v3_feature'; | |||||||
| export * from '../test/generated-wrappers/test_uniswap_v3_pool'; | export * from '../test/generated-wrappers/test_uniswap_v3_pool'; | ||||||
| export * from '../test/generated-wrappers/test_weth'; | export * from '../test/generated-wrappers/test_weth'; | ||||||
| export * from '../test/generated-wrappers/test_weth_transformer_host'; | export * from '../test/generated-wrappers/test_weth_transformer_host'; | ||||||
|  | export * from '../test/generated-wrappers/trade_surplus_transformer'; | ||||||
| export * from '../test/generated-wrappers/transform_erc20_feature'; | export * from '../test/generated-wrappers/transform_erc20_feature'; | ||||||
| export * from '../test/generated-wrappers/transformer'; | export * from '../test/generated-wrappers/transformer'; | ||||||
| export * from '../test/generated-wrappers/transformer_deployer'; | export * from '../test/generated-wrappers/transformer_deployer'; | ||||||
|   | |||||||
| @@ -18,24 +18,24 @@ pragma experimental ABIEncoderV2; | |||||||
| import "@0x/contracts-erc20/contracts/src/v06/WETH9V06.sol"; | import "@0x/contracts-erc20/contracts/src/v06/WETH9V06.sol"; | ||||||
| 
 | 
 | ||||||
| import "utils/BaseTest.sol"; | import "utils/BaseTest.sol"; | ||||||
| import "../../contracts/src/transformers/PositiveSlippageFeeTransformer.sol"; | import "../../contracts/src/transformers/TradeSurplusTransformer.sol"; | ||||||
| import "../../contracts/src/transformers/IERC20Transformer.sol"; | import "../../contracts/src/transformers/IERC20Transformer.sol"; | ||||||
| 
 | 
 | ||||||
| contract PositiveSlippageFeeTransformerTest is BaseTest { | contract TradeSurplusTransformerTest is BaseTest { | ||||||
|     address public owner = account1; |     address public owner = account1; | ||||||
|     address public feeRecipient = account2; |     address public feeRecipient = account2; | ||||||
|     WETH9V06 weth = new WETH9V06(); |     WETH9V06 weth = new WETH9V06(); | ||||||
|     IERC20TokenV06 token1 = IERC20TokenV06(address(weth)); |     IERC20TokenV06 token1 = IERC20TokenV06(address(weth)); | ||||||
| 
 | 
 | ||||||
|     PositiveSlippageFeeTransformer target = new PositiveSlippageFeeTransformer(); |     TradeSurplusTransformer target = new TradeSurplusTransformer(); | ||||||
| 
 | 
 | ||||||
|     function setUp() public { |     function setUp() public { | ||||||
|         vm.deal(address(this), 1e19); |         vm.deal(address(this), 1e19); | ||||||
|         weth.deposit{value: 10}(); |         weth.deposit{value: 10}(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     function test_positiveSlippageFee() public { |     function test_tradeSurplus() public { | ||||||
|         // Send positive slippage to contract which executes PositiveSlippageFeeTransformer |         // Send trade surplus to contract which executes TradeSurplusTransformer | ||||||
|         weth.transfer(address(target), 10); |         weth.transfer(address(target), 10); | ||||||
|         uint256 bestCaseAmount = 1; |         uint256 bestCaseAmount = 1; | ||||||
| 
 | 
 | ||||||
| @@ -44,7 +44,7 @@ contract PositiveSlippageFeeTransformerTest is BaseTest { | |||||||
|                 sender: payable(address(this)), |                 sender: payable(address(this)), | ||||||
|                 recipient: payable(address(this)), |                 recipient: payable(address(this)), | ||||||
|                 data: abi.encode( |                 data: abi.encode( | ||||||
|                     PositiveSlippageFeeTransformer.TokenFee({ |                     TradeSurplusTransformer.TokenFee({ | ||||||
|                         token: IERC20TokenV06(token1), |                         token: IERC20TokenV06(token1), | ||||||
|                         bestCaseAmount: bestCaseAmount, |                         bestCaseAmount: bestCaseAmount, | ||||||
|                         recipient: payable(feeRecipient) |                         recipient: payable(feeRecipient) | ||||||
| @@ -56,7 +56,7 @@ contract PositiveSlippageFeeTransformerTest is BaseTest { | |||||||
|         assertEq(result, LibERC20Transformer.TRANSFORMER_SUCCESS); |         assertEq(result, LibERC20Transformer.TRANSFORMER_SUCCESS); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     function test_positiveSlippageFee_bestCaseEqualsAmount() public { |     function test_tradeSurplus_bestCaseEqualsAmount() public { | ||||||
|         uint256 bestCaseAmount = 10; |         uint256 bestCaseAmount = 10; | ||||||
|         weth.transfer(address(target), 10); |         weth.transfer(address(target), 10); | ||||||
| 
 | 
 | ||||||
| @@ -65,7 +65,7 @@ contract PositiveSlippageFeeTransformerTest is BaseTest { | |||||||
|                 sender: payable(address(this)), |                 sender: payable(address(this)), | ||||||
|                 recipient: payable(address(this)), |                 recipient: payable(address(this)), | ||||||
|                 data: abi.encode( |                 data: abi.encode( | ||||||
|                     PositiveSlippageFeeTransformer.TokenFee({ |                     TradeSurplusTransformer.TokenFee({ | ||||||
|                         token: IERC20TokenV06(token1), |                         token: IERC20TokenV06(token1), | ||||||
|                         bestCaseAmount: bestCaseAmount, |                         bestCaseAmount: bestCaseAmount, | ||||||
|                         recipient: payable(feeRecipient) |                         recipient: payable(feeRecipient) | ||||||
| @@ -77,7 +77,7 @@ contract PositiveSlippageFeeTransformerTest is BaseTest { | |||||||
|         assertEq(result, LibERC20Transformer.TRANSFORMER_SUCCESS); |         assertEq(result, LibERC20Transformer.TRANSFORMER_SUCCESS); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     function test_positiveSlippageFee_bestCaseGreaterThanAmount() public { |     function test_tradeSurplus_bestCaseGreaterThanAmount() public { | ||||||
|         uint256 bestCaseAmount = 10; |         uint256 bestCaseAmount = 10; | ||||||
|         weth.transfer(address(target), 1); |         weth.transfer(address(target), 1); | ||||||
| 
 | 
 | ||||||
| @@ -86,7 +86,7 @@ contract PositiveSlippageFeeTransformerTest is BaseTest { | |||||||
|                 sender: payable(address(this)), |                 sender: payable(address(this)), | ||||||
|                 recipient: payable(address(this)), |                 recipient: payable(address(this)), | ||||||
|                 data: abi.encode( |                 data: abi.encode( | ||||||
|                     PositiveSlippageFeeTransformer.TokenFee({ |                     TradeSurplusTransformer.TokenFee({ | ||||||
|                         token: IERC20TokenV06(token1), |                         token: IERC20TokenV06(token1), | ||||||
|                         bestCaseAmount: bestCaseAmount, |                         bestCaseAmount: bestCaseAmount, | ||||||
|                         recipient: payable(feeRecipient) |                         recipient: payable(feeRecipient) | ||||||
| @@ -38,7 +38,7 @@ import "src/transformers/WethTransformer.sol"; | |||||||
| import "src/transformers/FillQuoteTransformer.sol"; | import "src/transformers/FillQuoteTransformer.sol"; | ||||||
| import "src/transformers/PayTakerTransformer.sol"; | import "src/transformers/PayTakerTransformer.sol"; | ||||||
| import "src/transformers/AffiliateFeeTransformer.sol"; | import "src/transformers/AffiliateFeeTransformer.sol"; | ||||||
| import "src/transformers/PositiveSlippageFeeTransformer.sol"; | import "src/transformers/TradeSurplusTransformer.sol"; | ||||||
| import "src/transformers/bridges/IBridgeAdapter.sol"; | import "src/transformers/bridges/IBridgeAdapter.sol"; | ||||||
| import "src/transformers/bridges/EthereumBridgeAdapter.sol"; | import "src/transformers/bridges/EthereumBridgeAdapter.sol"; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -37,8 +37,8 @@ | |||||||
|         "generated-artifacts/OwnableFeature.json", |         "generated-artifacts/OwnableFeature.json", | ||||||
|         "generated-artifacts/PayTakerTransformer.json", |         "generated-artifacts/PayTakerTransformer.json", | ||||||
|         "generated-artifacts/PolygonBridgeAdapter.json", |         "generated-artifacts/PolygonBridgeAdapter.json", | ||||||
|         "generated-artifacts/PositiveSlippageFeeTransformer.json", |  | ||||||
|         "generated-artifacts/SimpleFunctionRegistryFeature.json", |         "generated-artifacts/SimpleFunctionRegistryFeature.json", | ||||||
|  |         "generated-artifacts/TradeSurplusTransformer.json", | ||||||
|         "generated-artifacts/TransformERC20Feature.json", |         "generated-artifacts/TransformERC20Feature.json", | ||||||
|         "generated-artifacts/WethTransformer.json", |         "generated-artifacts/WethTransformer.json", | ||||||
|         "generated-artifacts/ZeroEx.json", |         "generated-artifacts/ZeroEx.json", | ||||||
| @@ -188,7 +188,6 @@ | |||||||
|         "test/generated-artifacts/PayTakerTransformer.json", |         "test/generated-artifacts/PayTakerTransformer.json", | ||||||
|         "test/generated-artifacts/PermissionlessTransformerDeployer.json", |         "test/generated-artifacts/PermissionlessTransformerDeployer.json", | ||||||
|         "test/generated-artifacts/PolygonBridgeAdapter.json", |         "test/generated-artifacts/PolygonBridgeAdapter.json", | ||||||
|         "test/generated-artifacts/PositiveSlippageFeeTransformer.json", |  | ||||||
|         "test/generated-artifacts/SimpleFunctionRegistryFeature.json", |         "test/generated-artifacts/SimpleFunctionRegistryFeature.json", | ||||||
|         "test/generated-artifacts/TestCurve.json", |         "test/generated-artifacts/TestCurve.json", | ||||||
|         "test/generated-artifacts/TestDelegateCaller.json", |         "test/generated-artifacts/TestDelegateCaller.json", | ||||||
| @@ -235,6 +234,7 @@ | |||||||
|         "test/generated-artifacts/TestUniswapV3Pool.json", |         "test/generated-artifacts/TestUniswapV3Pool.json", | ||||||
|         "test/generated-artifacts/TestWeth.json", |         "test/generated-artifacts/TestWeth.json", | ||||||
|         "test/generated-artifacts/TestWethTransformerHost.json", |         "test/generated-artifacts/TestWethTransformerHost.json", | ||||||
|  |         "test/generated-artifacts/TradeSurplusTransformer.json", | ||||||
|         "test/generated-artifacts/TransformERC20Feature.json", |         "test/generated-artifacts/TransformERC20Feature.json", | ||||||
|         "test/generated-artifacts/Transformer.json", |         "test/generated-artifacts/Transformer.json", | ||||||
|         "test/generated-artifacts/TransformerDeployer.json", |         "test/generated-artifacts/TransformerDeployer.json", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user