Update fill-scenarios for ZEIP-28
This commit is contained in:
committed by
Amir Bandeali
parent
9952de615a
commit
f5c215fe65
@@ -5,6 +5,10 @@
|
||||
{
|
||||
"note": "Use new `Order` structure with `domain` field",
|
||||
"pr": 1742
|
||||
},
|
||||
{
|
||||
"note": "Use arbitrary fee tokens instead of ZRX (ZEIP-28)",
|
||||
"pr": "TODO"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
export const constants = {
|
||||
AWAIT_TRANSACTION_MINED_MS: 0,
|
||||
NULL_ADDRESS: '0x0000000000000000000000000000000000000000',
|
||||
NULL_BYTES: '0x',
|
||||
};
|
||||
|
||||
@@ -13,14 +13,12 @@ export class FillScenarios {
|
||||
private readonly _web3Wrapper: Web3Wrapper;
|
||||
private readonly _userAddresses: string[];
|
||||
private readonly _coinbase: string;
|
||||
private readonly _zrxTokenAddress: string;
|
||||
private readonly _exchangeAddress: string;
|
||||
private readonly _erc20ProxyAddress: string;
|
||||
private readonly _erc721ProxyAddress: string;
|
||||
constructor(
|
||||
supportedProvider: SupportedProvider,
|
||||
userAddresses: string[],
|
||||
zrxTokenAddress: string,
|
||||
exchangeAddress: string,
|
||||
erc20ProxyAddress: string,
|
||||
erc721ProxyAddress: string,
|
||||
@@ -28,7 +26,6 @@ export class FillScenarios {
|
||||
this._web3Wrapper = new Web3Wrapper(supportedProvider);
|
||||
this._userAddresses = userAddresses;
|
||||
this._coinbase = userAddresses[0];
|
||||
this._zrxTokenAddress = zrxTokenAddress;
|
||||
this._exchangeAddress = exchangeAddress;
|
||||
this._erc20ProxyAddress = erc20ProxyAddress;
|
||||
this._erc721ProxyAddress = erc721ProxyAddress;
|
||||
@@ -54,6 +51,8 @@ export class FillScenarios {
|
||||
public async createFillableSignedOrderWithFeesAsync(
|
||||
makerAssetData: string,
|
||||
takerAssetData: string,
|
||||
makerFeeAssetData: string,
|
||||
takerFeeAssetData: string,
|
||||
makerFee: BigNumber,
|
||||
takerFee: BigNumber,
|
||||
makerAddress: string,
|
||||
@@ -66,6 +65,8 @@ export class FillScenarios {
|
||||
return this._createAsymmetricFillableSignedOrderWithFeesAsync(
|
||||
makerAssetData,
|
||||
takerAssetData,
|
||||
makerFeeAssetData,
|
||||
takerFeeAssetData,
|
||||
makerFee,
|
||||
takerFee,
|
||||
makerAddress,
|
||||
@@ -86,12 +87,16 @@ export class FillScenarios {
|
||||
takerFillableAmount: BigNumber,
|
||||
expirationTimeSeconds?: BigNumber,
|
||||
): Promise<SignedOrder> {
|
||||
const makerFeeAssetData = constants.NULL_BYTES;
|
||||
const takerFeeAssetData = constants.NULL_BYTES;
|
||||
const makerFee = new BigNumber(0);
|
||||
const takerFee = new BigNumber(0);
|
||||
const feeRecipientAddress = constants.NULL_ADDRESS;
|
||||
return this._createAsymmetricFillableSignedOrderWithFeesAsync(
|
||||
makerAssetData,
|
||||
takerAssetData,
|
||||
makerFeeAssetData,
|
||||
takerFeeAssetData,
|
||||
makerFee,
|
||||
takerFee,
|
||||
makerAddress,
|
||||
@@ -138,6 +143,8 @@ export class FillScenarios {
|
||||
private async _createAsymmetricFillableSignedOrderWithFeesAsync(
|
||||
makerAssetData: string,
|
||||
takerAssetData: string,
|
||||
makerFeeAssetData: string,
|
||||
takerFeeAssetData: string,
|
||||
makerFee: BigNumber,
|
||||
takerFee: BigNumber,
|
||||
makerAddress: string,
|
||||
@@ -152,8 +159,8 @@ export class FillScenarios {
|
||||
await this._increaseBalanceAndAllowanceWithAssetDataAsync(takerAssetData, takerAddress, takerFillableAmount);
|
||||
// Fees
|
||||
await Promise.all([
|
||||
this._increaseERC20BalanceAndAllowanceAsync(this._zrxTokenAddress, makerAddress, makerFee),
|
||||
this._increaseERC20BalanceAndAllowanceAsync(this._zrxTokenAddress, takerAddress, takerFee),
|
||||
this._increaseERC20BalanceAndAllowanceAsync(makerFeeAssetData, makerAddress, makerFee),
|
||||
this._increaseERC20BalanceAndAllowanceAsync(takerFeeAssetData, takerAddress, takerFee),
|
||||
]);
|
||||
const _senderAddress = senderAddress ? senderAddress : constants.NULL_ADDRESS;
|
||||
|
||||
@@ -168,6 +175,8 @@ export class FillScenarios {
|
||||
{
|
||||
takerAddress,
|
||||
senderAddress: _senderAddress,
|
||||
makerFeeAssetData,
|
||||
takerFeeAssetData,
|
||||
makerFee,
|
||||
takerFee,
|
||||
feeRecipientAddress,
|
||||
|
||||
Reference in New Issue
Block a user