@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:
@@ -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
|
||||
|
@@ -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';
|
||||
|
@@ -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);
|
||||
});
|
||||
});
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user