@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