mirror of
https://github.com/Instadapp/dsa-connectors.git
synced 2024-07-29 22:37:00 +00:00
38 lines
1.1 KiB
Solidity
38 lines
1.1 KiB
Solidity
pragma solidity ^0.7.0;
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
import {InstaAccessControl} from "./InstaAccessControl.sol";
|
|
|
|
contract InstaMappings is InstaAccessControl {
|
|
function getMappingContractRole(address mappingContract)
|
|
public
|
|
pure
|
|
returns (bytes32 role)
|
|
{
|
|
bytes memory encoded = abi.encode(mappingContract);
|
|
assembly {
|
|
role := mload(add(encoded, 32))
|
|
}
|
|
}
|
|
|
|
function hasRole(address mappingAddr, address account)
|
|
public
|
|
view
|
|
returns (bool)
|
|
{
|
|
return super.hasRole(getMappingContractRole(mappingAddr), account);
|
|
}
|
|
|
|
function grantRole(address mappingAddr, address account) public {
|
|
super.grantRole(getMappingContractRole(mappingAddr), account);
|
|
}
|
|
|
|
function revokeRole(address mappingAddr, address account) public {
|
|
super.revokeRole(getMappingContractRole(mappingAddr), account);
|
|
}
|
|
|
|
function renounceRole(address mappingAddr, address account) public {
|
|
super.renounceRole(getMappingContractRole(mappingAddr), account);
|
|
}
|
|
}
|