Add calculateAmtMinusFee in fee connector

This commit is contained in:
Mubaris NK 2021-03-21 18:15:29 +05:30
parent 7a35ef6d14
commit cad7ae4217
No known key found for this signature in database
GPG Key ID: 9AC09AD0F8D68561

View File

@ -6,6 +6,11 @@ import { Basic } from "../../common/basic.sol";
abstract contract FeeResolver is DSMath, Basic {
/**
* @dev Calculate fee
* @param amount token amount to caculate fee.
* @param fee fee percentage. Eg: 1% => 1e17, 100% => 1e18.
* @param getId Get token amount at this ID from `InstaMemory` Contract.
* @param setId Set total amount at this ID in `InstaMemory` Contract.
* @param setIdFee Set only fee amount at this ID in `InstaMemory` Contract.
*/
function calculateFee(
uint amount,
@ -23,6 +28,30 @@ abstract contract FeeResolver is DSMath, Basic {
setUint(setId, totalAmt);
setUint(setIdFee, feeAmt);
}
/**
* @dev Calculate amount minus fee
* @param amount token amount to caculate fee.
* @param fee fee percentage. Eg: 1% => 1e17, 100% => 1e18.
* @param getId Get token amount at this ID from `InstaMemory` Contract.
* @param setIdAmtMinusFee Set amount minus fee amount at this ID in `InstaMemory` Contract.
* @param setIdFee Set only fee amount at this ID in `InstaMemory` Contract.
*/
function calculateAmtMinusFee(
uint amount,
uint fee,
uint getId,
uint setIdAmtMinusFee,
uint setIdFee
) external payable {
uint _amt = getUint(getId, amount);
uint feeAmt = wmul(_amt, fee);
uint amountMinusFee = sub(_amt, feeAmt);
setUint(setIdAmtMinusFee, amountMinusFee);
setUint(setIdFee, feeAmt);
}
}
contract ConnectV2Fee is FeeResolver {