private static Bytes hashSignature(final String signature) {
    return Hash.keccak256(Bytes.of(signature.getBytes(UTF_8))).slice(0, 4);
  }
Controller that can read from a smart contract that exposes the permissioning call
transactionAllowed(address,address,uint256,uint256,uint256,bytes)
ethereum/permissioning/src/main/java/org/hyperledger/besu/ethereum/permissioning/TransactionSmartContractPermissioningController.java