@0x/contracts-zero-ex: Use transformer utils from order-utils.
				
					
				
			This commit is contained in:
		@@ -1,4 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 * The pseudo-token address for ETH used by `tranformERC20()`.
 | 
			
		||||
 */
 | 
			
		||||
export const ETH_TOKEN_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
 | 
			
		||||
@@ -41,6 +41,3 @@ export {
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 | 
			
		||||
export * from './constants';
 | 
			
		||||
export * from './transformer_data_encoders';
 | 
			
		||||
 
 | 
			
		||||
@@ -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<Exclude<Order, ['signature', 'exchangeAddress', 'chainId']>>;
 | 
			
		||||
    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;
 | 
			
		||||
}
 | 
			
		||||
@@ -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';
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
@@ -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';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user