diff --git a/contracts/zero-ex/src/constants.ts b/contracts/zero-ex/src/constants.ts deleted file mode 100644 index 2c49072817..0000000000 --- a/contracts/zero-ex/src/constants.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* - * The pseudo-token address for ETH used by `tranformERC20()`. - */ -export const ETH_TOKEN_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'; diff --git a/contracts/zero-ex/src/index.ts b/contracts/zero-ex/src/index.ts index c2c9cebc48..84c5247934 100644 --- a/contracts/zero-ex/src/index.ts +++ b/contracts/zero-ex/src/index.ts @@ -41,6 +41,3 @@ export { TupleDataItem, StateMutability, } from 'ethereum-types'; - -export * from './constants'; -export * from './transformer_data_encoders'; diff --git a/contracts/zero-ex/src/transformer_data_encoders.ts b/contracts/zero-ex/src/transformer_data_encoders.ts deleted file mode 100644 index 00a7831f61..0000000000 --- a/contracts/zero-ex/src/transformer_data_encoders.ts +++ /dev/null @@ -1,187 +0,0 @@ -import { Order } from '@0x/types'; -import { AbiEncoder, BigNumber } from '@0x/utils'; - -const ORDER_ABI_COMPONENTS = [ - { name: 'makerAddress', type: 'address' }, - { name: 'takerAddress', type: 'address' }, - { name: 'feeRecipientAddress', type: 'address' }, - { name: 'senderAddress', type: 'address' }, - { name: 'makerAssetAmount', type: 'uint256' }, - { name: 'takerAssetAmount', type: 'uint256' }, - { name: 'makerFee', type: 'uint256' }, - { name: 'takerFee', type: 'uint256' }, - { name: 'expirationTimeSeconds', type: 'uint256' }, - { name: 'salt', type: 'uint256' }, - { name: 'makerAssetData', type: 'bytes' }, - { name: 'takerAssetData', type: 'bytes' }, - { name: 'makerFeeAssetData', type: 'bytes' }, - { name: 'takerFeeAssetData', type: 'bytes' }, -]; - -/** - * ABI encoder for `FillQuoteTransformer.TransformData` - */ -export const fillQuoteTransformerDataEncoder = AbiEncoder.create([ - { - name: 'data', - type: 'tuple', - components: [ - { name: 'side', type: 'uint8' }, - { name: 'sellToken', type: 'address' }, - { name: 'buyToken', type: 'address' }, - { - name: 'orders', - type: 'tuple[]', - components: ORDER_ABI_COMPONENTS, - }, - { name: 'signatures', type: 'bytes[]' }, - { name: 'maxOrderFillAmounts', type: 'uint256[]' }, - { name: 'fillAmount', type: 'uint256' }, - ], - }, -]); - -/** - * Market operation for `FillQuoteTransformerData`. - */ -export enum FillQuoteTransformerSide { - Sell, - Buy, -} - -/** - * `FillQuoteTransformer.TransformData` - */ -export interface FillQuoteTransformerData { - side: FillQuoteTransformerSide; - sellToken: string; - buyToken: string; - orders: Array>; - signatures: string[]; - maxOrderFillAmounts: BigNumber[]; - fillAmount: BigNumber; -} - -/** - * ABI-encode a `FillQuoteTransformer.TransformData` type. - */ -export function encodeFillQuoteTransformerData(data: FillQuoteTransformerData): string { - return fillQuoteTransformerDataEncoder.encode([data]); -} - -/** - * ABI-decode a `FillQuoteTransformer.TransformData` type. - */ -export function decodeFillQuoteTransformerData(encoded: string): FillQuoteTransformerData { - return fillQuoteTransformerDataEncoder.decode(encoded).data; -} - -/** - * ABI encoder for `WethTransformer.TransformData` - */ -export const wethTransformerDataEncoder = AbiEncoder.create([ - { - name: 'data', - type: 'tuple', - components: [{ name: 'token', type: 'address' }, { name: 'amount', type: 'uint256' }], - }, -]); - -/** - * `WethTransformer.TransformData` - */ -export interface WethTransformerData { - token: string; - amount: BigNumber; -} - -/** - * ABI-encode a `WethTransformer.TransformData` type. - */ -export function encodeWethTransformerData(data: WethTransformerData): string { - return wethTransformerDataEncoder.encode([data]); -} - -/** - * ABI-decode a `WethTransformer.TransformData` type. - */ -export function decodeWethTransformerData(encoded: string): WethTransformerData { - return wethTransformerDataEncoder.decode(encoded).data; -} - -/** - * ABI encoder for `PayTakerTransformer.TransformData` - */ -export const payTakerTransformerDataEncoder = AbiEncoder.create([ - { - name: 'data', - type: 'tuple', - components: [{ name: 'tokens', type: 'address[]' }, { name: 'amounts', type: 'uint256[]' }], - }, -]); - -/** - * `PayTakerTransformer.TransformData` - */ -export interface PayTakerTransformerData { - tokens: string[]; - amounts: BigNumber[]; -} - -/** - * ABI-encode a `PayTakerTransformer.TransformData` type. - */ -export function encodePayTakerTransformerData(data: PayTakerTransformerData): string { - return payTakerTransformerDataEncoder.encode([data]); -} - -/** - * ABI-decode a `PayTakerTransformer.TransformData` type. - */ -export function decodePayTakerTransformerData(encoded: string): PayTakerTransformerData { - return payTakerTransformerDataEncoder.decode(encoded).data; -} - -/** - * ABI encoder for `PayTakerTransformer.TransformData` - */ -export const affiliateFeeTransformerDataEncoder = AbiEncoder.create({ - name: 'data', - type: 'tuple', - components: [ - { - name: 'fees', - type: 'tuple[]', - components: [ - { name: 'token', type: 'address' }, - { name: 'amount', type: 'uint256' }, - { name: 'recipient', type: 'address' }, - ], - }, - ], -}); - -/** - * `AffiliateFeeTransformer.TransformData` - */ -export interface AffiliateFeeTransformerData { - fees: Array<{ - token: string; - amount: BigNumber; - recipient: string; - }>; -} - -/** - * ABI-encode a `AffiliateFeeTransformer.TransformData` type. - */ -export function encodeAffiliateFeeTransformerData(data: AffiliateFeeTransformerData): string { - return affiliateFeeTransformerDataEncoder.encode(data); -} - -/** - * ABI-decode a `AffiliateFeeTransformer.TransformData` type. - */ -export function decodeAffiliateFeeTransformerData(encoded: string): AffiliateFeeTransformerData { - return affiliateFeeTransformerDataEncoder.decode(encoded).data; -} diff --git a/contracts/zero-ex/test/features/transform_erc20_test.ts b/contracts/zero-ex/test/features/transform_erc20_test.ts index f1dcf79b70..57f0364cc5 100644 --- a/contracts/zero-ex/test/features/transform_erc20_test.ts +++ b/contracts/zero-ex/test/features/transform_erc20_test.ts @@ -8,9 +8,9 @@ import { randomAddress, verifyEventsFromLogs, } from '@0x/contracts-test-utils'; +import { ETH_TOKEN_ADDRESS } from '@0x/order-utils'; import { AbiEncoder, hexUtils, OwnableRevertErrors, ZeroExRevertErrors } from '@0x/utils'; -import { ETH_TOKEN_ADDRESS } from '../../src/constants'; import { artifacts } from '../artifacts'; import { abis } from '../utils/abis'; import { fullMigrateAsync } from '../utils/migration'; diff --git a/contracts/zero-ex/test/transformers/affiliate_fee_transformer_test.ts b/contracts/zero-ex/test/transformers/affiliate_fee_transformer_test.ts index a88eca5486..1b2b122afe 100644 --- a/contracts/zero-ex/test/transformers/affiliate_fee_transformer_test.ts +++ b/contracts/zero-ex/test/transformers/affiliate_fee_transformer_test.ts @@ -1,9 +1,8 @@ import { blockchainTests, constants, expect, getRandomInteger, randomAddress } from '@0x/contracts-test-utils'; +import { ETH_TOKEN_ADDRESS, encodeAffiliateFeeTransformerData } from '@0x/order-utils'; import { BigNumber, hexUtils } from '@0x/utils'; import * as _ from 'lodash'; -import { ETH_TOKEN_ADDRESS } from '../../src/constants'; -import { encodeAffiliateFeeTransformerData } from '../../src/transformer_data_encoders'; import { artifacts } from '../artifacts'; import { AffiliateFeeTransformerContract, diff --git a/contracts/zero-ex/test/transformers/fill_quote_transformer_test.ts b/contracts/zero-ex/test/transformers/fill_quote_transformer_test.ts index 34082f359c..7fcb1da8a2 100644 --- a/contracts/zero-ex/test/transformers/fill_quote_transformer_test.ts +++ b/contracts/zero-ex/test/transformers/fill_quote_transformer_test.ts @@ -7,16 +7,17 @@ import { Numberish, randomAddress, } from '@0x/contracts-test-utils'; -import { assetDataUtils } from '@0x/order-utils'; +import { + assetDataUtils, + encodeFillQuoteTransformerData, + FillQuoteTransformerData, + FillQuoteTransformerSide, + ETH_TOKEN_ADDRESS, +} from '@0x/order-utils'; import { Order } from '@0x/types'; import { BigNumber, hexUtils, ZeroExRevertErrors } from '@0x/utils'; import * as _ from 'lodash'; -import { - encodeFillQuoteTransformerData, - FillQuoteTransformerData, - FillQuoteTransformerSide, -} from '../../src/transformer_data_encoders'; import { artifacts } from '../artifacts'; import { FillQuoteTransformerContract, diff --git a/contracts/zero-ex/test/transformers/pay_taker_transformer_test.ts b/contracts/zero-ex/test/transformers/pay_taker_transformer_test.ts index 31f1edfdd2..f7570e7c62 100644 --- a/contracts/zero-ex/test/transformers/pay_taker_transformer_test.ts +++ b/contracts/zero-ex/test/transformers/pay_taker_transformer_test.ts @@ -1,9 +1,8 @@ import { blockchainTests, constants, expect, getRandomInteger, randomAddress } from '@0x/contracts-test-utils'; +import { encodePayTakerTransformerData, ETH_TOKEN_ADDRESS } from '@0x/order-utils'; import { BigNumber, hexUtils } from '@0x/utils'; import * as _ from 'lodash'; -import { ETH_TOKEN_ADDRESS } from '../../src/constants'; -import { encodePayTakerTransformerData } from '../../src/transformer_data_encoders'; import { artifacts } from '../artifacts'; import { PayTakerTransformerContract, TestMintableERC20TokenContract, TestTransformerHostContract } from '../wrappers'; diff --git a/contracts/zero-ex/test/transformers/weth_transformer_test.ts b/contracts/zero-ex/test/transformers/weth_transformer_test.ts index cda6809bee..fbabe1ddcc 100644 --- a/contracts/zero-ex/test/transformers/weth_transformer_test.ts +++ b/contracts/zero-ex/test/transformers/weth_transformer_test.ts @@ -2,8 +2,7 @@ import { blockchainTests, constants, expect, getRandomInteger, randomAddress } f import { BigNumber, ZeroExRevertErrors } from '@0x/utils'; import * as _ from 'lodash'; -import { ETH_TOKEN_ADDRESS } from '../../src/constants'; -import { encodeWethTransformerData } from '../../src/transformer_data_encoders'; +import { encodeWethTransformerData, ETH_TOKEN_ADDRESS } from '@0x/order-utils'; import { artifacts } from '../artifacts'; import { TestWethContract, TestWethTransformerHostContract, WethTransformerContract } from '../wrappers';