Added "unapproveForPool" on Terminus and...

made it so that Terminus Controller contract proxies `approveForPool`
and `unapproveForPool` calls through to its Terminus contract.
pull/58/head
Neeraj Kashyap 2022-07-29 05:49:14 -07:00
rodzic ac431c9a0e
commit a5dbb04a6e
3 zmienionych plików z 24 dodań i 0 usunięć

Wyświetl plik

@ -148,6 +148,11 @@ contract ERC1155WithTerminusStorage is
LibTerminus._approveForPool(poolID, operator);
}
function unapproveForPool(uint256 poolID, address operator) external {
LibTerminus.enforcePoolIsController(poolID, _msgSender());
LibTerminus._unapproveForPool(poolID, operator);
}
/**
* @dev See {IERC1155-safeTransferFrom}.
*/

Wyświetl plik

@ -123,4 +123,9 @@ library LibTerminus {
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();
ts.globalPoolOperatorApprovals[poolID][operator] = true;
}
function _unapproveForPool(uint256 poolID, address operator) internal {
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();
ts.globalPoolOperatorApprovals[poolID][operator] = false;
}
}

Wyświetl plik

@ -192,6 +192,20 @@ contract TerminusControllerFacet is TerminusPermissions, TokenDrainerFacet {
return terminusContract().terminusPoolSupply(poolID);
}
function approveForPool(uint256 poolID, address operator)
external
onlyMainAdmin
{
terminusContract().approveForPool(poolID, operator);
}
function unapproveForPool(uint256 poolID, address operator)
external
onlyMainAdmin
{
terminusContract().unapproveForPool(poolID, operator);
}
function _approvePoolCreationPayments() internal {
IERC20 paymentToken = IERC20(terminusContract().paymentToken());
uint256 fee = terminusContract().poolBasePrice();