@0x:contracts-staking Updated payProtocolFee trivially to fix the build.

This is not a real to update to `payProtocolFee`. Rather, the interface
was updated to it's finished state. This will be addressed in my next
PR.
This commit is contained in:
Alex Towle
2019-08-28 16:15:00 -07:00
parent df4282fb34
commit 3432083343
5 changed files with 18 additions and 5 deletions

View File

@@ -59,7 +59,11 @@ contract MixinExchangeFees is
/// @dev Pays a protocol fee in ETH.
/// Only a known 0x exchange can call this method. See (MixinExchangeManager).
/// @param makerAddress The address of the order's maker.
function payProtocolFee(address makerAddress)
function payProtocolFee(
address makerAddress,
address payerAddress,
uint256 protocolFeePaid
)
external
payable
onlyExchange

View File

@@ -29,8 +29,8 @@ import * as MixinScheduler from '../generated-artifacts/MixinScheduler.json';
import * as MixinStake from '../generated-artifacts/MixinStake.json';
import * as MixinStakeBalances from '../generated-artifacts/MixinStakeBalances.json';
import * as MixinStakingPool from '../generated-artifacts/MixinStakingPool.json';
import * as MixinStakingPoolRewardVault from '../generated-artifacts/MixinStakingPoolRewardVault.json';
import * as MixinStakingPoolRewards from '../generated-artifacts/MixinStakingPoolRewards.json';
import * as MixinStakingPoolRewardVault from '../generated-artifacts/MixinStakingPoolRewardVault.json';
import * as MixinStorage from '../generated-artifacts/MixinStorage.json';
import * as MixinTimeLockedStake from '../generated-artifacts/MixinTimeLockedStake.json';
import * as MixinVaultCore from '../generated-artifacts/MixinVaultCore.json';

View File

@@ -333,8 +333,9 @@ blockchainTests('End-To-End Simulations', env => {
it('Should not be able to record a protocol fee from an unknown exchange', async () => {
const makerAddress = users[1];
const protocolFee = new BigNumber(1);
// TODO(jalextowle) I need to update this test when I make my PR on adding protocol fees to the Staking contracts
const revertError = new StakingRevertErrors.OnlyCallableByExchangeError(owner);
const tx = stakingWrapper.payProtocolFeeAsync(makerAddress, protocolFee, owner);
const tx = stakingWrapper.payProtocolFeeAsync(makerAddress, makerAddress, protocolFee, protocolFee, owner);
await expect(tx).to.revertWith(revertError);
});
});

View File

@@ -189,7 +189,9 @@ export class Simulation {
const maker = this._makers[i];
const makerAddress = maker.getOwner();
const feeAmount = p.protocolFeesByMaker[i];
await this._stakingWrapper.payProtocolFeeAsync(makerAddress, feeAmount, p.exchangeAddress);
// TODO(jalextowle): I'll need to fix this once I make my PR on protocol fees. The arguments
// I'm adding are just placeholders for now.
await this._stakingWrapper.payProtocolFeeAsync(makerAddress, makerAddress, feeAmount, feeAmount, p.exchangeAddress);
}
// validate fees per pool
let expectedTotalFeesThisEpoch = new BigNumber(0);

View File

@@ -499,10 +499,16 @@ export class StakingWrapper {
///// PROTOCOL FEES /////
public async payProtocolFeeAsync(
makerAddress: string,
payerAddress: string,
protocolFeePaid: BigNumber,
amount: BigNumber,
exchangeAddress: string,
): Promise<TransactionReceiptWithDecodedLogs> {
const calldata = this.getStakingContract().payProtocolFee.getABIEncodedTransactionData(makerAddress);
const calldata = this.getStakingContract().payProtocolFee.getABIEncodedTransactionData(
makerAddress,
payerAddress,
protocolFeePaid,
);
const txReceipt = await this._executeTransactionAsync(calldata, exchangeAddress, amount);
return txReceipt;
}